diff --git a/openair1/PHY/MODULATION/ofdm_mod.c b/openair1/PHY/MODULATION/ofdm_mod.c index 7392b7a86aaf9252cbb9cd2d8731a05501eb7678..74aebcacd2297b152e54f0f01857140631de367a 100644 --- a/openair1/PHY/MODULATION/ofdm_mod.c +++ b/openair1/PHY/MODULATION/ofdm_mod.c @@ -58,6 +58,22 @@ void normal_prefix_mod(int32_t *txdataF,int32_t *txdata,uint8_t nsymb,LTE_DL_FRA } +void nr_normal_prefix_mod(int32_t *txdataF,int32_t *txdata,uint8_t nsymb,NR_DL_FRAME_PARMS *frame_parms) +{ + PHY_ofdm_mod(txdataF, // input + txdata, // output + frame_parms->ofdm_symbol_size, + 1, // number of symbols + frame_parms->nb_prefix_samples0, // number of prefix samples + CYCLIC_PREFIX); + PHY_ofdm_mod(txdataF+frame_parms->ofdm_symbol_size, // input + txdata+OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES0, // output + frame_parms->ofdm_symbol_size, + nsymb - 1, + frame_parms->nb_prefix_samples, // number of prefix samples + CYCLIC_PREFIX); +} + void PHY_ofdm_mod(int *input, /// pointer to complex input int *output, /// pointer to complex output int fftsize, /// FFT_SIZE diff --git a/openair1/SCHED_NR/nr_ru_procedures.c b/openair1/SCHED_NR/nr_ru_procedures.c index e6269989678a6f8fa0ec655401b5bb820dae8b92..103d612b302d3581cd515b67c5f6ec9a50bb14f2 100644 --- a/openair1/SCHED_NR/nr_ru_procedures.c +++ b/openair1/SCHED_NR/nr_ru_procedures.c @@ -236,7 +236,7 @@ void nr_feptx_ofdm(RU_t *ru) { fp); // if S-subframe generate first slot only if (subframe_select(fp,subframe) == SF_DL) - normal_prefix_mod(&ru->common.txdataF_BF[aa][slot_offset_F+slot_sizeF], + nr_normal_prefix_mod(&ru->common.txdataF_BF[aa][slot_offset_F+slot_sizeF], dummy_tx_b+(fp->samples_per_subframe / fp->slots_per_subframe), 14, fp);