fix debug output for DEBUG_DLSCH_MAPPING

This commit is contained in:
Thomas Schlichter
2024-09-26 13:21:32 +02:00
parent 42ab4b4a0c
commit ed7750aba2
+22 -18
View File
@@ -339,8 +339,8 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
dmrs_Type)) { dmrs_Type)) {
txdataF_precoding[layer][l_symbol][k] = c16mulRealShift(tx_layer[cur_re], amp, 15); txdataF_precoding[layer][l_symbol][k] = c16mulRealShift(tx_layer[cur_re], amp, 15);
#ifdef DEBUG_DLSCH_MAPPING #ifdef DEBUG_DLSCH_MAPPING
printf("m %u\t l %d \t k %d \t txdataF: %d %d\n", printf("re %u\t l %d \t k %d \t txdataF: %d %d\n",
m, cur_re,
l_symbol, l_symbol,
k, k,
txdataF_precoding[layer][l_symbol][k].r, txdataF_precoding[layer][l_symbol][k].r,
@@ -392,13 +392,13 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
const simde__m128i txL = simde_mm_loadu_si128(txl + i); const simde__m128i txL = simde_mm_loadu_si128(txl + i);
simde_mm_storeu_si128(txF + i, simde_mm_mulhrs_epi16(amp64, txL)); simde_mm_storeu_si128(txF + i, simde_mm_mulhrs_epi16(amp64, txL));
#ifdef DEBUG_DLSCH_MAPPING #ifdef DEBUG_DLSCH_MAPPING
if ((i&1) > 0) for (int j = 0; j < 4; j++)
printf("m %u\t l %d \t k %d \t txdataF: %d %d\n", printf("re %u\t l %d \t k %d \t txdataF: %d %d\n",
m, cur_re + 4 * i + j,
l_symbol, l_symbol,
start_sc + (i >> 1), start_sc + 4 * i + j,
txdataF_precoding[layer][l_symbol][start_sc].r, txdataF_precoding[layer][l_symbol][start_sc + 4 * i + j].r,
txdataF_precoding[layer][l_symbol][start_sc].i); txdataF_precoding[layer][l_symbol][start_sc + 4 * i + j].i);
#endif #endif
/* handle this, mute RE */ /* handle this, mute RE */
/*else { /*else {
@@ -412,6 +412,9 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
for (i = (upper_limit >> 2) << 2; i < upper_limit; i++) { for (i = (upper_limit >> 2) << 2; i < upper_limit; i++) {
txFc[i].r = (((txlc[i].r * amp) >> 14) + 1) >> 1; txFc[i].r = (((txlc[i].r * amp) >> 14) + 1) >> 1;
txFc[i].i = (((txlc[i].i * amp) >> 14) + 1) >> 1; txFc[i].i = (((txlc[i].i * amp) >> 14) + 1) >> 1;
#ifdef DEBUG_DLSCH_MAPPING
printf("re %u\t l %d \t k %d \t txdataF: %d %d\n", cur_re + i, l_symbol, start_sc + i, txFc[i].r, txFc[i].i);
#endif
} }
} }
cur_re += upper_limit; cur_re += upper_limit;
@@ -422,15 +425,14 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
for (i = 0; i < (remaining_re >> 2); i++) { for (i = 0; i < (remaining_re >> 2); i++) {
const simde__m128i txL = simde_mm_loadu_si128(txl + i); const simde__m128i txL = simde_mm_loadu_si128(txl + i);
simde_mm_storeu_si128(txF + i, simde_mm_mulhrs_epi16(amp64, txL)); simde_mm_storeu_si128(txF + i, simde_mm_mulhrs_epi16(amp64, txL));
#ifdef DEBUG_DLSCH_MAPPING #ifdef DEBUG_DLSCH_MAPPING
if ((i&1) > 0) for (int j = 0; j < 4; j++)
printf("m %u\t l %d \t k %d \t txdataF: %d %d\n", printf("re %u\t l %d \t k %d \t txdataF: %d %d\n",
m, cur_re + 4 * i + j,
l_symbol, l_symbol,
i >> 1, 4 * i + j,
txdataF_precoding[layer][l_symbol][i >> 1].r, txdataF_precoding[layer][l_symbol][4 * i + j].r,
txdataF_precoding[layer][l_symbol][i >> 1].i); txdataF_precoding[layer][l_symbol][4 * i + j].i);
#endif #endif
/* handle this, mute RE */ /* handle this, mute RE */
/*else { /*else {
@@ -444,6 +446,9 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
for (i = (remaining_re >> 2) << 2; i < remaining_re; i++) { for (i = (remaining_re >> 2) << 2; i < remaining_re; i++) {
txFc[i].r = (((txlc[i].r * amp) >> 14) + 1) >> 1; txFc[i].r = (((txlc[i].r * amp) >> 14) + 1) >> 1;
txFc[i].i = (((txlc[i].i * amp) >> 14) + 1) >> 1; txFc[i].i = (((txlc[i].i * amp) >> 14) + 1) >> 1;
#ifdef DEBUG_DLSCH_MAPPING
printf("re %u\t l %d \t k %d \t txdataF: %d %d\n", cur_re + i, l_symbol, i, txFc[i].r, txFc[i].i);
#endif
} }
} }
} // remaining_re > 0 } // remaining_re > 0
@@ -537,8 +542,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
re_cnt, re_cnt,
&txdataF[ant][txdataF_offset_per_symbol]); &txdataF[ant][txdataF_offset_per_symbol]);
subCarrier += re_cnt; subCarrier += re_cnt;
} } else { // crossing ofdm_symbol_size, use simple arithmetic operations
else{ // crossing ofdm_symbol_size, use simple arithmetic operations
for (int i = 0; i < re_cnt; i++) { for (int i = 0; i < re_cnt; i++) {
txdataF[ant][txdataF_offset_per_symbol + subCarrier] = txdataF[ant][txdataF_offset_per_symbol + subCarrier] =
nr_layer_precoder_cm(rel15->nrOfLayers, nr_layer_precoder_cm(rel15->nrOfLayers,
@@ -552,7 +556,7 @@ void nr_generate_pdsch(processingData_L1tx_t *msgTx, int frame, int slot)
#ifdef DEBUG_DLSCH_MAPPING #ifdef DEBUG_DLSCH_MAPPING
printf("antenna %d\t l %d \t subCarrier %d \t txdataF: %d %d\n", printf("antenna %d\t l %d \t subCarrier %d \t txdataF: %d %d\n",
ant, ant,
symbol, l_symbol,
subCarrier, subCarrier,
txdataF[ant][l_symbol * frame_parms->ofdm_symbol_size + subCarrier + txdataF_offset].r, txdataF[ant][l_symbol * frame_parms->ofdm_symbol_size + subCarrier + txdataF_offset].r,
txdataF[ant][l_symbol * frame_parms->ofdm_symbol_size + subCarrier + txdataF_offset].i); txdataF[ant][l_symbol * frame_parms->ofdm_symbol_size + subCarrier + txdataF_offset].i);