Commit 62003822 authored by Sakthivel Velumani's avatar Sakthivel Velumani

Fixed a bug in channel estimation; and updated a dlsim test case

parent e6360d13
...@@ -1088,7 +1088,7 @@ ...@@ -1088,7 +1088,7 @@
(Test7: 106 PRB 51 PDSCH-Offset), (Test7: 106 PRB 51 PDSCH-Offset),
(Test8: 217 PRB 100 PDSCH-PRBs), (Test8: 217 PRB 100 PDSCH-PRBs),
(Test9: 217 PRB 80 PDSCH-Offset), (Test9: 217 PRB 80 PDSCH-Offset),
(Test10: 217 PRB 100 PDSCH-PRBs 80 PDSCH-Offset), (Test10: 217 PRB 100 PDSCH-PRBs 110 PDSCH-Offset),
(Test11: 106 PRBs 50 PDSCH-PRBs MCS Index 28</desc> (Test11: 106 PRBs 50 PDSCH-PRBs MCS Index 28</desc>
<pre_compile_prog></pre_compile_prog> <pre_compile_prog></pre_compile_prog>
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog>
...@@ -1105,7 +1105,7 @@ ...@@ -1105,7 +1105,7 @@
-n100 -R106 -a51 -n100 -R106 -a51
-n100 -R217 -b100 -n100 -R217 -b100
-n100 -R217 -a80 -n100 -R217 -a80
-n100 -R217 -a80 -b100 -n100 -R217 -a110 -b100
-n100 -e28</main_exec_args> -n100 -e28</main_exec_args>
<tags>nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 <tags>nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7
nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11</tags> nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11</tags>
......
...@@ -267,7 +267,8 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, ...@@ -267,7 +267,8 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
// check if PRB crosses DC and improve estimates around DC // check if PRB crosses DC and improve estimates around DC
if ((bwp_start_subcarrier >= gNB->frame_parms.ofdm_symbol_size/2) && (bwp_start_subcarrier+nb_rb_pusch*12 >= gNB->frame_parms.ofdm_symbol_size)) { uint16_t ofdm_symb_size = gNB->frame_parms.ofdm_symbol_size;
if ((bwp_start_subcarrier%ofdm_symb_size >= ofdm_symb_size/2) && ((bwp_start_subcarrier+nb_rb_pusch*12)%ofdm_symb_size >= ofdm_symb_size)) {
ul_ch = (int16_t *)&ul_ch_estimates[aarx][ch_offset]; ul_ch = (int16_t *)&ul_ch_estimates[aarx][ch_offset];
uint16_t idxDC = 2*(gNB->frame_parms.ofdm_symbol_size - bwp_start_subcarrier); uint16_t idxDC = 2*(gNB->frame_parms.ofdm_symbol_size - bwp_start_subcarrier);
uint16_t idxPil = idxDC/2; uint16_t idxPil = idxDC/2;
......
...@@ -874,7 +874,8 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue, ...@@ -874,7 +874,8 @@ int nr_pdsch_channel_estimation(PHY_VARS_NR_UE *ue,
//} //}
// check if PRB crosses DC and improve estimates around DC // check if PRB crosses DC and improve estimates around DC
if ((bwp_start_subcarrier >= ue->frame_parms.ofdm_symbol_size/2) && (bwp_start_subcarrier+nb_rb_pdsch*12 >= ue->frame_parms.ofdm_symbol_size)) { uint16_t ofdm_symb_size = ue->frame_parms.ofdm_symbol_size;
if ((bwp_start_subcarrier%ofdm_symb_size >= ofdm_symb_size/2) && ((bwp_start_subcarrier+nb_rb_pdsch*12)%ofdm_symb_size >= ofdm_symb_size)) {
dl_ch = (int16_t *)&dl_ch_estimates[aarx][ch_offset]; dl_ch = (int16_t *)&dl_ch_estimates[aarx][ch_offset];
uint16_t idxDC = 2*(ue->frame_parms.ofdm_symbol_size - bwp_start_subcarrier); uint16_t idxDC = 2*(ue->frame_parms.ofdm_symbol_size - bwp_start_subcarrier);
uint16_t idxPil = idxDC/2; uint16_t idxPil = idxDC/2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment