Skip to content

ULSCH power computation

Roberto Louro Magueta requested to merge develop-ul-power into develop

When the UE does not transmit the ULSCH, the measured power values at gNB in develop are:

[NR_PHY]   PUSCH not detected in 166.17 (232,309,50)
[NR_PHY]   PUSCH not detected in 166.17 (240,309,50)

where:

LOG_I(NR_PHY,
      "PUSCH detected in %d.%d (%d,%d,%d)\n",
      frame_rx,
      slot_rx,
      dB_fixed_x10(pusch_vars->ulsch_power_tot),
      dB_fixed_x10(pusch_vars->ulsch_noise_power_tot),
      gNB->pusch_thres);

This does not make sense as everything is noise and therefore ulsch_power_tot should be approximately equal to ulsch_noise_power_tot. With this MR, we get LOGs like these:

[NR_PHY]   PUSCH not detected in 104.17 (307,307,50)
[NR_PHY]   PUSCH not detected in 105.17 (310,312,50)
[NR_PHY]   PUSCH not detected in 106.17 (310,313,50)
[NR_PHY]   PUSCH not detected in 106.17 (313,316,50)
[NR_PHY]   PUSCH not detected in 107.17 (308,304,50)
[NR_PHY]   PUSCH not detected in 107.18 (308,309,50)

In the develop version, ul_ch_estimates is used to calculate the power. However, when the ULSCH is not received, the ul_ch_estimates is just noise that has been shifted, and therefore gives a low value. In this MR, the total ULSCH power is calculated using the same method that is used to calculate noise power, i.e., directly using the rxdataF. In addition to the values presented above relative to when the UE does not transmit anything, the values of the method used in this MR are approximately equal to the values obtained in develop, when there is ULSCH.

Edited by Roberto Louro Magueta

Merge request reports