Commit 4f2854f9 authored by Roberto Louro Magueta's avatar Roberto Louro Magueta

Fix UL channel estimation for 4 layers

parent 1694e1b0
......@@ -1331,7 +1331,7 @@
-n100 -s5 -Z -U 2 0 2
-n100 -m19 -s10 -S15 -z2
-n100 -m9 -r106 -s10 -W2 -y2 -z2
-n100 -m9 -r106 -s13 -W4 -y4 -z4</main_exec_args>
-n100 -m9 -r106 -s20 -W4 -y4 -z4</main_exec_args>
<tags>nr_ulsim.test1 nr_ulsim.test2 nr_ulsim.test3 nr_ulsim.test4 nr_ulsim.test5 nr_ulsim.test6 nr_ulsim.test7 nr_ulsim.test8 nr_ulsim.test9 nr_ulsim.test10 nr_ulsim.test11 nr_ulsim.test12 nr_ulsim.test13 nr_ulsim.test14 nr_ulsim.test15 nr_ulsim.test16 nr_ulsim.test17</tags>
<search_expr_true>PUSCH test OK</search_expr_true>
......
......@@ -233,21 +233,19 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
// where k' is 0 or 1, and delta is in Table 6.4.1.1.3-1 from TS 38.211
pilot_cnt = 0;
int delta = nr_pusch_dmrs_delta(pusch_dmrs_type1, p);
for (int n = 0; n < 3*nb_rb_pusch; n++) {
// LS estimation
ch[0] = 0;
ch[1] = 0;
for (int p2 = 0; p2<pusch_pdu->nrOfLayers; p2+=2) {
int delta2 = nr_pusch_dmrs_delta(pusch_dmrs_type1, p2);
for (int k_line = 0; k_line <= 1; k_line++) {
re_offset = (k0 + (n << 2) + (k_line << 1) + delta2) % gNB->frame_parms.ofdm_symbol_size;
rxF = (int16_t *) &rxdataF[aarx][(soffset + symbol_offset + re_offset)];
ch[0] += (int16_t) (((int32_t) pil[0] * rxF[0] - (int32_t) pil[1] * rxF[1]) >> (15+b_shift));
ch[1] += (int16_t) (((int32_t) pil[0] * rxF[1] + (int32_t) pil[1] * rxF[0]) >> (15+b_shift));
pil += 2;
}
for (int k_line = 0; k_line <= 1; k_line++) {
re_offset = (k0 + (n << 2) + (k_line << 1) + delta) % gNB->frame_parms.ofdm_symbol_size;
rxF = (int16_t *) &rxdataF[aarx][(soffset + symbol_offset + re_offset)];
ch[0] += (int16_t) (((int32_t) pil[0] * rxF[0] - (int32_t) pil[1] * rxF[1]) >> (15+b_shift));
ch[1] += (int16_t) (((int32_t) pil[0] * rxF[1] + (int32_t) pil[1] * rxF[0]) >> (15+b_shift));
pil += 2;
}
// Channel interpolation
......
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