From 550350e3d11a21f458964cd363dd134980e34a04 Mon Sep 17 00:00:00 2001 From: "Florian Kaltenberger (Italie)" Date: Thu, 13 Jun 2019 15:37:30 +0200 Subject: [PATCH] adding 3/4 sampling support to UE --- executables/nr-uesoftmodem.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index b4b0b711dc..1f0cc9c068 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -542,6 +542,7 @@ void init_openair0(void) { for (card=0; cardthreequarter_fs; if(frame_parms[0]->N_RB_DL == 106) { if (numerology==0) { @@ -557,13 +558,21 @@ void init_openair0(void) { openair0_cfg[card].rx_bw = 10e6; } } else if (numerology==1) { - openair0_cfg[card].sample_rate=61.44e6; - openair0_cfg[card].samples_per_frame = 307200; - openair0_cfg[card].tx_bw = 20e6; - openair0_cfg[card].rx_bw = 20e6; + if (frame_parms[0]->threequarter_fs) { + openair0_cfg[card].sample_rate=46.08e6; + openair0_cfg[card].samples_per_frame = 480800; + openair0_cfg[card].tx_bw = 20e6; + openair0_cfg[card].rx_bw = 20e6; + } + else { + openair0_cfg[card].sample_rate=61.44e6; + openair0_cfg[card].samples_per_frame = 614400; + openair0_cfg[card].tx_bw = 20e6; + openair0_cfg[card].rx_bw = 20e6; + } } else if (numerology==2) { openair0_cfg[card].sample_rate=122.88e6; - openair0_cfg[card].samples_per_frame = 307200; + openair0_cfg[card].samples_per_frame = 1228800; openair0_cfg[card].tx_bw = 40e6; openair0_cfg[card].rx_bw = 40e6; } else { @@ -586,6 +595,10 @@ void init_openair0(void) { openair0_cfg[card].tx_bw = 1.5e6; openair0_cfg[card].rx_bw = 1.5e6; } + else { + LOG_E(PHY,"Unknown NB_RB %d!\n",frame_parms[0]->N_RB_DL); + exit(-1); + } if (frame_parms[0]->frame_type==TDD) openair0_cfg[card].duplex_mode = duplex_mode_TDD; @@ -698,6 +711,7 @@ int main( int argc, char **argv ) { frame_parms[CC_id]->nb_antennas_tx = nb_antenna_tx; frame_parms[CC_id]->nb_antennas_rx = nb_antenna_rx; frame_parms[CC_id]->nb_antenna_ports_eNB = 1; //initial value overwritten by initial sync later + frame_parms[CC_id]->threequarter_fs = threequarter_fs; LOG_I(PHY,"Set nb_rx_antenna %d , nb_tx_antenna %d \n",frame_parms[CC_id]->nb_antennas_rx, frame_parms[CC_id]->nb_antennas_tx); get_band(downlink_frequency[CC_id][0], &frame_parms[CC_id]->eutra_band, &uplink_frequency_offset[CC_id][0], &frame_parms[CC_id]->frame_type); }