Commit a8fa1b0e authored by Robert Schmidt's avatar Robert Schmidt

Merge remote-tracking branch 'origin/develop-pucch-power' into integration_2023_w40

parents 16e15b33 31341918
...@@ -256,6 +256,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB, ...@@ -256,6 +256,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
int32_t rp[frame_parms->nb_antennas_rx][pucch_pdu->nr_of_symbols][nb_re_pucch]; int32_t rp[frame_parms->nb_antennas_rx][pucch_pdu->nr_of_symbols][nb_re_pucch];
memset(rp, 0, sizeof(rp)); memset(rp, 0, sizeof(rp));
int32_t *tmp_rp = NULL; int32_t *tmp_rp = NULL;
int signal_energy = 0;
for (int l=0; l<pucch_pdu->nr_of_symbols; l++) { for (int l=0; l<pucch_pdu->nr_of_symbols; l++) {
uint8_t l2 = l + pucch_pdu->start_symbol_index; uint8_t l2 = l + pucch_pdu->start_symbol_index;
...@@ -286,9 +287,13 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB, ...@@ -286,9 +287,13 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
#endif #endif
} }
signal_energy += signal_energy_nodc((int32_t *)r, nb_re_pucch);
} }
} }
signal_energy /= (pucch_pdu->nr_of_symbols * frame_parms->nb_antennas_rx);
int pucch_power_dBtimes10 = 10 * dB_fixed(signal_energy);
//int32_t no_corr = 0; //int32_t no_corr = 0;
int seq_index = 0; int seq_index = 0;
int64_t temp; int64_t temp;
...@@ -377,7 +382,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB, ...@@ -377,7 +382,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
int SNRtimes10,sigenergy=0; int SNRtimes10,sigenergy=0;
for (int aa=0;aa<frame_parms->nb_antennas_rx;aa++) for (int aa=0;aa<frame_parms->nb_antennas_rx;aa++)
sigenergy += signal_energy_nodc(rp[aa][0],12); sigenergy += signal_energy_nodc(rp[aa][0],12);
SNRtimes10 = xrtmag_dBtimes10-(10*max_n0); SNRtimes10 = pucch_power_dBtimes10 - (10 * max_n0);
int cqi; int cqi;
if (SNRtimes10 < -640) cqi=0; if (SNRtimes10 < -640) cqi=0;
else if (SNRtimes10 > 635) cqi=255; else if (SNRtimes10 > 635) cqi=255;
...@@ -421,7 +426,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB, ...@@ -421,7 +426,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu->harq.harq_confidence_level = no_conf; uci_pdu->harq.harq_confidence_level = no_conf;
uci_pdu->harq.harq_list[0].harq_value = !(index&0x01); uci_pdu->harq.harq_list[0].harq_value = !(index&0x01);
LOG_D(PHY, LOG_D(PHY,
"[DLSCH/PDSCH/PUCCH] %d.%d HARQ %s with confidence level %s xrt_mag %d xrt_mag_next %d n0 %d (%d,%d) pucch0_thres %d, " "[DLSCH/PDSCH/PUCCH] %d.%d HARQ %s with confidence level %s xrt_mag %d xrt_mag_next %d pucch_power_dBtimes10 %d n0 %d (%d,%d) pucch0_thres %d, "
"cqi %d, SNRtimes10 %d, energy %f\n", "cqi %d, SNRtimes10 %d, energy %f\n",
frame, frame,
slot, slot,
...@@ -429,6 +434,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB, ...@@ -429,6 +434,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu->harq.harq_confidence_level == 0 ? "good" : "bad", uci_pdu->harq.harq_confidence_level == 0 ? "good" : "bad",
xrtmag_dBtimes10, xrtmag_dBtimes10,
xrtmag_next_dBtimes10, xrtmag_next_dBtimes10,
pucch_power_dBtimes10,
max_n0, max_n0,
uci_stats->pucch0_n00, uci_stats->pucch0_n00,
uci_stats->pucch0_n01, uci_stats->pucch0_n01,
...@@ -454,7 +460,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB, ...@@ -454,7 +460,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu->harq.harq_list[1].harq_value = !(index&0x01); uci_pdu->harq.harq_list[1].harq_value = !(index&0x01);
uci_pdu->harq.harq_list[0].harq_value = !((index>>1)&0x01); uci_pdu->harq.harq_list[0].harq_value = !((index>>1)&0x01);
LOG_D(PHY, LOG_D(PHY,
"[DLSCH/PDSCH/PUCCH] %d.%d HARQ values (%s, %s) with confidence level %s, xrt_mag %d xrt_mag_next %d n0 %d (%d,%d) " "[DLSCH/PDSCH/PUCCH] %d.%d HARQ values (%s, %s) with confidence level %s, xrt_mag %d xrt_mag_next %d pucch_power_dBtimes10 %d n0 %d (%d,%d) "
"pucch0_thres %d, cqi %d, SNRtimes10 %d\n", "pucch0_thres %d, cqi %d, SNRtimes10 %d\n",
frame, frame,
slot, slot,
...@@ -463,6 +469,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB, ...@@ -463,6 +469,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu->harq.harq_confidence_level == 0 ? "good" : "bad", uci_pdu->harq.harq_confidence_level == 0 ? "good" : "bad",
xrtmag_dBtimes10, xrtmag_dBtimes10,
xrtmag_next_dBtimes10, xrtmag_next_dBtimes10,
pucch_power_dBtimes10,
max_n0, max_n0,
uci_stats->pucch0_n00, uci_stats->pucch0_n00,
uci_stats->pucch0_n01, uci_stats->pucch0_n01,
......
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