ra_dl: fix TDD reference symbol extraction

reported/provided by user softdev86 in https://github.com/srsLTE/srsLTE/issues/566

author tested with local 4 port cell. I am not able to verify locally but
it looks ok, we'll revise later if needed.
master
Andre Puschmann 4 years ago
parent f67a152a2a
commit 723ca2dd48

@ -134,21 +134,29 @@ static uint32_t ra_re_x_prb(const srslte_cell_t* cell, srslte_dl_sf_cfg_t* sf, u
switch (cell->nof_ports) { switch (cell->nof_ports) {
case 1: case 1:
case 2: case 2:
if (nof_symbols >= 5) { if ((cp_ == SRSLTE_CP_NORM && nof_symbols >= 5) || (cp_ == SRSLTE_CP_EXT && nof_symbols >= 4)) {
re -= 2 * (slot + 1) * cell->nof_ports; re -= 2 * (slot + 1) * cell->nof_ports;
} else if (slot == 1) { } else if (slot == 1) {
if (nof_symbols >= 1) {
re -= 2 * cell->nof_ports; re -= 2 * cell->nof_ports;
} }
}
break; break;
case 4: case 4:
if (slot == 1) { if (slot == 1) {
if ((cp_ == SRSLTE_CP_NORM && nof_symbols >= 5) || (cp_ == SRSLTE_CP_EXT && nof_symbols >= 4)) {
re -= 12; re -= 12;
} else if (nof_symbols >= 2) {
re -= 8;
}
} else { } else {
if ((cp_ == SRSLTE_CP_NORM && nof_symbols >= 5) || (cp_ == SRSLTE_CP_EXT && nof_symbols >= 4)) {
re -= 4; re -= 4;
if (nof_ctrl_symbols == 1) { if (nof_ctrl_symbols == 1) {
re -= 4; re -= 4;
} }
} }
}
break; break;
} }
} }

Loading…
Cancel
Save