diff --git a/openair1/PHY/INIT/nr_parms.c b/openair1/PHY/INIT/nr_parms.c index 5416e9444af06380af4013beaa8ba5fab62adc4c..6693efd0b4b08d65f77f33558b5b16dd2ca9676b 100644 --- a/openair1/PHY/INIT/nr_parms.c +++ b/openair1/PHY/INIT/nr_parms.c @@ -66,11 +66,20 @@ int nr_init_frame_parms(LTE_DL_FRAME_PARMS *frame_parms) case 189: case 217: //80 MHz - frame_parms->ofdm_symbol_size = 4096; - frame_parms->samples_per_tti = 61440; - frame_parms->first_carrier_offset = 2794; //4096 - 1302 - frame_parms->nb_prefix_samples0 = 320; - frame_parms->nb_prefix_samples = 288; + if (frame_parms->threequarter_fs) { + frame_parms->ofdm_symbol_size = 3072; + frame_parms->samples_per_tti = 46080; + frame_parms->first_carrier_offset = 1770; //3072 - 1302 + frame_parms->nb_prefix_samples0 = 240; + frame_parms->nb_prefix_samples = 216; + } + else { + frame_parms->ofdm_symbol_size = 4096; + frame_parms->samples_per_tti = 61440; + frame_parms->first_carrier_offset = 2794; //4096 - 1302 + frame_parms->nb_prefix_samples0 = 320; + frame_parms->nb_prefix_samples = 288; + } break; case 245: diff --git a/openair1/PHY/MODULATION/ofdm_mod.c b/openair1/PHY/MODULATION/ofdm_mod.c index 37d1a483119cda97b5e455787d51bada349b83fc..7392b7a86aaf9252cbb9cd2d8731a05501eb7678 100644 --- a/openair1/PHY/MODULATION/ofdm_mod.c +++ b/openair1/PHY/MODULATION/ofdm_mod.c @@ -67,7 +67,7 @@ void PHY_ofdm_mod(int *input, /// pointer to complex input ) { - short temp[2048*4] __attribute__((aligned(32))); + short temp[4096*4] __attribute__((aligned(32))); unsigned short i,j; short k; @@ -101,6 +101,12 @@ void PHY_ofdm_mod(int *input, /// pointer to complex input idft = idft2048; break; + case 3072: + idft = idft3072; + + case 4096: + idft = idft4096; + default: idft = idft512; break;