- start_rb was set to 30, and nb_rb was set to 50 with NB_RB_DL = 106.
- When the DC subcarrier is included in the RB allocation,
this causes errors in FFT/IFFT operations arounf the DC subcarrier
- This leads to errors in unscrambling and decoding
- TBS calculation was performed 2 times. Once in "phy_procedures_nrUE_TX" and
another in "nr_ue_ulsch_procedures". The TBS calculation was wrong in "phy_procedures_nrUE_TX"
and correct in "nr_ue_ulsch_procedures".
- The data generation was performed in "phy_procedures_nrUE_TX" with a wrongly
calculated TBS because "ulsch_ue->nb_re_dmrs" wasn't set to a value, so the calculated
TBS would be more than it should be. This doesn't create a problem in the test because
the comparison between the TX and RX data is made using the correctly calculated TBS
which is smaller.
- Solution was to perform data generation in "nr_ue_ulsch_procedures", and remove TBS calculation
in "phy_procedures_nrUE_TX"
- removing "Nsymb_pusch" and "Nsc_pusch" from "NR_UE_ULSCH_t"
- using "number_of_symbols" from "NR_UL_UE_HARQ_t" instead
- removing "generate_ue_ulsch_params"
Added the following folder:
- ../openair1/PHY/NR_ESTIMATION/
Added the following file to CMakelists.txt:
- ../openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
Added the following functions:
- nr_pusch_dmrs_rx
- nr_gold_pusch
- nr_ulsch_channel_level
- nr_ulsch_channel_compensation
- nr_ulsch_scale_channel is commented out (I think only used for downlink)
Changes from Khalid Ahmed Mahmoud Mohamed:
- nr_pusch_channel_estimation is used
- nr_ulsch_scale_channel is used
- nr_ulsch_channel_level is used
- nr_ulsch_channel_compensation is used
- multiple logging options for channel and signal magnitude
- removed gNB RT from "ru_procedures.c" to "nr_ru_procedures"
- added a new thread "nr_feprx_thread"
- added some functionalities for fep for rx in "nr_ru_procedures.c"