Roberto Louro Magueta (ed671f37) at 23 Oct 16:03
Clean up previous BWP switching implementation that was not F1 comp...
... and 86 more commits
Your comment will be addressed this week.
Roberto Louro Magueta (1085d335) at 17 Oct 12:42
Call __builtin_popcountll function to count the number of bits set ...
... and 22 more commits
@velumani Yes, we are able to reproduce the issue that you reported. We got these values:
PDCCH encoding: 67.999 us; 425; 143.720 us;
We did a first proposal for optimization in !2396 (merged) . Now we have:
PDCCH encoding: 3.565 us; 12129; 26.368 us;
Can you please check in your setup, as well? Thanks for your feedback.
Thank you by suggestion. We already did the change.
Roberto Louro Magueta (056540e2) at 16 Oct 13:43
Call __builtin_popcountll function to count the number of bits set ...
Call __builtin_popcountll function to count the number of bits set in uint64_t variable for polar codes.
Before this MR, we got these values:
PDCCH encoding: 67.999 us; 425; 143.720 us;
Now we have:
PDCCH encoding: 3.565 us; 12129; 26.368 us;
Roberto Louro Magueta (2aaed0d1) at 16 Oct 12:51
Add optimized function to count the number of bits set in uint64_t ...
It is correct. PRBs allocated for PUSCH are chosen later, in the nr_rx_pusch_tp().
The MR2339 was merged. I don't know if you can draw a conclusion with that MR's fix.
gNB_I0_measurements()
is called in phy_procedures_gNB_uespec_RX()
function, which is inside of if (rx_slot_type == NR_UPLINK_SLOT || rx_slot_type == NR_MIXED_SLOT)
. Specifically for ULSCH, we compute like for noise, i.e., in gNB_I0_measurements()
we compute the power for each RB, and then we take the values of RBs that we used in nr_rx_pusch_tp()
when we do:
for (int rb = 0; rb < rel15_ul->rb_size; rb++) {
pusch_vars->ulsch_power[aarx] +=
ulsch_power[aarx][rel15_ul->bwp_start + rel15_ul->rb_start + rb] / rel15_ul->rb_size;
pusch_vars->ulsch_noise_power[aarx] +=
n0_subband_power[aarx][rel15_ul->bwp_start + rel15_ul->rb_start + rb] / rel15_ul->rb_size;
}
4th MR related to the sequence of handover MRs (MR !2111)
In the code, we have this LOG:
LOG_D(NR_RRC, "[%s][Nid_cell %i] Received %s measurements: RSRP = %i (dBm)\n",
NR_RRC_MAC_MEAS_DATA_IND(msg_p).is_neighboring_cell == 0 ? "Active cell" : "Neighboring cell",
NR_RRC_MAC_MEAS_DATA_IND(msg_p).Nid_cell,
NR_RRC_MAC_MEAS_DATA_IND(msg_p).meas_type == 0 ? "SS" : "CSI",
NR_RRC_MAC_MEAS_DATA_IND(msg_p).rsrp_dBm-157);
Which, if activated, puts LOGs in the UE terminal like:
[NR_RRC] [Neighboring cell][Nid_cell 1] Received SS measurements: RSRP = -44 (dBm)
[NR_RRC] [Active cell][Nid_cell 0] Received SS measurements: RSRP = -44 (dBm)
[NR_RRC] [Active cell][Nid_cell 0] Received CSI measurements: RSRP = -44 (dBm)
For a detailed debug of measurements in the PHY layer, the following line can be uncommented:
//#define DEBUG_MEAS_NEIGHBORING_CELL
3rd MR related to the sequence of handover MRs (MR !2111)
With this MR, we are able to, in the next MR, measure the RSRP of 2 different DUs.
Roberto Louro Magueta (67e90af0) at 09 Oct 16:42
Move nr_ue_meas_neighboring_cell() function to a new thread
... and 10 more commits
Roberto Louro Magueta (3cc61718) at 03 Oct 16:44
ULSCH power computation in a different way
... and 149 more commits
Roberto Louro Magueta (31341918) at 03 Oct 16:15
PUCCH power computation in a different way
... and 149 more commits
Roberto Louro Magueta (522e295c) at 03 Oct 16:06
Noise power estimation and MMSE computation for DL at UE side
... and 150 more commits
Roberto Louro Magueta (6e79abc3) at 02 Oct 10:49
Fix Msg3 MAC CE C-RNTI
Clean up previous BWP switching implementation that was not F1 compliant