diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index b340d101f9..41ee3910ca 100755 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1334,11 +1334,11 @@ -n100 -s5 -Z -r75 -n50 -s5 -Z -r216 -R217 -n50 -s5 -Z -r270 -R273 + -n100 -s5 -Z -U 4 0 2 1 2 -n100 -m19 -s10 -S15 -z2 -n100 -m9 -r106 -s10 -W2 -y2 -z2 -n100 -m9 -r106 -s20 -W4 -y4 -z4 - -n100 -s5 -Z -U 4 0 2 1 2 - -n100 -m16 -s10 -z2 + -n100 -u0 -m0 -R25 -r25 -i 2 1 0 -m16 -r106 -s8.8 -S9.4 -z2 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0 -m16 -r106 -s5.4 -S6 -z4 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0 -m16 -r106 -s3.4 -S3.8 -z8 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0 diff --git a/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c b/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c index f151614e20..4b8315e1ce 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c +++ b/openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c @@ -1890,92 +1890,6 @@ uint8_t nr_ulsch_zero_forcing_rx_2layers(int **rxdataF_comp, //============================================================================================== -int get_first_dmrs_symbol(uint16_t dmrs_bitmap, - uint8_t start_symbol, - uint8_t num_symbols) -{ - for (int i=start_symbol; i> i) & 0x01) return i; - - return -1; -} - -void nr_chest_time_domain_avg(NR_DL_FRAME_PARMS *frame_parms, - int **ul_ch, - uint8_t num_symbols, - uint8_t start_symbol, - uint16_t dmrs_bitmap, - uint16_t num_rbs) -{ - __m128i *ul_ch128_0; - __m128i *ul_ch128_1; - int16_t *ul_ch16_0; - int total_symbols = start_symbol + num_symbols; - int num_dmrs_symb = get_dmrs_symbols_in_slot(dmrs_bitmap, total_symbols); - int first_dmrs_symb = get_first_dmrs_symbol(dmrs_bitmap, start_symbol, num_symbols); - AssertFatal(first_dmrs_symb > -1, "No DMRS symbol present in this slot\n"); - for (int aarx = 0; aarx < frame_parms->nb_antennas_rx; aarx++) { - for (int symb = first_dmrs_symb+1; symb < total_symbols; symb++) { - ul_ch128_0 = (__m128i *)&ul_ch[aarx][first_dmrs_symb*frame_parms->ofdm_symbol_size]; - if ((dmrs_bitmap >> symb) & 0x01) { - ul_ch128_1 = (__m128i *)&ul_ch[aarx][symb*frame_parms->ofdm_symbol_size]; - for (int rbIdx = 0; rbIdx < num_rbs; rbIdx++) { - ul_ch128_0[0] = _mm_adds_epi16(ul_ch128_0[0], ul_ch128_1[0]); - ul_ch128_0[1] = _mm_adds_epi16(ul_ch128_0[1], ul_ch128_1[1]); - ul_ch128_0[2] = _mm_adds_epi16(ul_ch128_0[2], ul_ch128_1[2]); - ul_ch128_0 += 3; - ul_ch128_1 += 3; - } - } - } - ul_ch128_0 = (__m128i *)&ul_ch[aarx][first_dmrs_symb*frame_parms->ofdm_symbol_size]; - if (num_dmrs_symb == 2) { - for (int rbIdx = 0; rbIdx < num_rbs; rbIdx++) { - ul_ch128_0[0] = _mm_srai_epi16(ul_ch128_0[0], 1); - ul_ch128_0[1] = _mm_srai_epi16(ul_ch128_0[1], 1); - ul_ch128_0[2] = _mm_srai_epi16(ul_ch128_0[2], 1); - ul_ch128_0 += 3; - } - } else if (num_dmrs_symb == 4) { - for (int rbIdx = 0; rbIdx < num_rbs; rbIdx++) { - ul_ch128_0[0] = _mm_srai_epi16(ul_ch128_0[0], 2); - ul_ch128_0[1] = _mm_srai_epi16(ul_ch128_0[1], 2); - ul_ch128_0[2] = _mm_srai_epi16(ul_ch128_0[2], 2); - ul_ch128_0 += 3; - } - } else if (num_dmrs_symb == 3) { - ul_ch16_0 = (int16_t *)&ul_ch[aarx][first_dmrs_symb*frame_parms->ofdm_symbol_size]; - for (int rbIdx = 0; rbIdx < num_rbs; rbIdx++) { - ul_ch16_0[0] /= 3; - ul_ch16_0[1] /= 3; - ul_ch16_0[2] /= 3; - ul_ch16_0[3] /= 3; - ul_ch16_0[4] /= 3; - ul_ch16_0[5] /= 3; - ul_ch16_0[6] /= 3; - ul_ch16_0[7] /= 3; - ul_ch16_0[8] /= 3; - ul_ch16_0[9] /= 3; - ul_ch16_0[10] /= 3; - ul_ch16_0[11] /= 3; - ul_ch16_0[12] /= 3; - ul_ch16_0[13] /= 3; - ul_ch16_0[14] /= 3; - ul_ch16_0[15] /= 3; - ul_ch16_0[16] /= 3; - ul_ch16_0[17] /= 3; - ul_ch16_0[18] /= 3; - ul_ch16_0[19] /= 3; - ul_ch16_0[20] /= 3; - ul_ch16_0[21] /= 3; - ul_ch16_0[22] /= 3; - ul_ch16_0[23] /= 3; - ul_ch16_0 += 24; - } - } else AssertFatal((num_dmrs_symb < 5) && (num_dmrs_symb > 0), "Illegal number of DMRS symbols in the slot\n"); - } -} - /* Main Function */ int nr_rx_pusch(PHY_VARS_gNB *gNB, uint8_t ulsch_id,