NR UE PHY Refactor
This MR is a major refactor in the physical layer of the UE. Samples of one OFDM symbol are received from the radio and processed before receiving the next symbol. All RX PHY channel functions are segmented to first process frequency domain data, then in the last symbol the remaining processing is done.
The refactor gives more time to process PUSCH as the TX thread is started immediately after the last PDCCH symbol. Also, at the end of the slot only the PDSCH decoding is done in contrast to develop where all the PHY channel processing is done at the end of the slot. This improved the real time performance with DURATION_RX_TO_TX = 2
and k1, k2 = 2 compared to develop. There is also a 20% reduction in PDSCH processing time compared to develop.
New PDSCH stats:
L1 TX processing: 50.914 us; 37968; 135.803 us;
ULSCH encoding: 13.566 us; 18572; 46.810 us;
UL Indication: 7.857 us; 37968; 15.356 us;
PDSCH symbol receiver: 17.747 us; 39687; 0.501 us; <===
PDSCH last symbol receiver: 245.668 us; 39687; 849.306 us; <===
PDSCH decoding: 176.516 us; 39687; 724.542 us;
-> Deinterleive: 5.737 us; 86255; 142.174 us;
-> Rate Unmatch: 6.325 us; 86255; 27.547 us;
-> LDPC Decode: 144.148 us; 86255; 692.277 us;
PDSCH unscrambling: 1.599 us; 39687; 5.810 us;
Develop PDSCH stats:
L1 TX processing: 52.088 us; 28968; 176.877 us;
ULSCH encoding: 12.302 us; 15940; 78.455 us;
L1 RX processing: 332.034 us; 77249; 1261.602 us;
UL Indication: 8.147 us; 28968; 22.080 us;
PDSCH receiver: 301.437 us; 32856; 870.468 us; <===
PDSCH decoding: 210.813 us; 32856; 669.498 us;
-> Deinterleive: 6.506 us; 71553; 141.580 us;
-> Rate Unmatch: 7.558 us; 71553; 138.606 us;
-> LDPC Decode: 170.131 us; 71553; 781.438 us;
PDSCH unscrambling: 1.644 us; 32856; 4.095 us;
Merge request reports
Activity
changed milestone to %REVIEW_CAN_START
added 5G-NR label
requested review from @lthomas
assigned to @schmidtr
OAI RAN-Container-Parent build (9647): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/9647/)
List of failing test stages:
OAI RAN-Container-Parent build (9660): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/9660/)
List of failing test stages:
added 317 commits
-
3eed15a8...ba2d7aad - 304 commits from branch
develop
- ba2d7aad...cf2732e3 - 3 earlier commits
- 85e62628 - Fix resetting of dci_ind for every SS calls
- 5e94e8aa - Adding const and code clean-up
- 50fc1a65 - Refactor PBCH & PSBCH UE procedures
- 1b82ebc7 - Refactor UE PDSCH reception procedure
- 8f3ad09a - Refactor UE PRS procedure
- e92eefad - Refactor UE CSI procedures
- 9a7514b7 - Refactor UE_thread to process symbol by symbol
- 6fe02bd5 - Fix check for k1, k2
- 6f31332d - Change NR_UE_CAPABILITY_SLOT_RX_TO_TX to 2
- 4632910c - Parallel rx slot processing
Toggle commit list-
3eed15a8...ba2d7aad - 304 commits from branch
OAI RAN-Container-Parent build (10214): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/10214/)
List of failing test stages:
added 8 commits
- c660a9e4 - Refactor PBCH & PSBCH UE procedures
- ea6f696c - Refactor UE PDSCH reception procedure
- 9e564936 - Refactor UE PRS procedure
- 3bc0c0e7 - Refactor UE CSI procedures
- b2984b3b - Refactor UE_thread to process symbol by symbol
- a43b93c2 - Fix check for k1, k2
- 9741aa78 - Change NR_UE_CAPABILITY_SLOT_RX_TO_TX to 2
- 737594c6 - Parallel rx slot processing
Toggle commit listOAI RAN-Container-Parent build (10219): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/10219/)
List of failing test stages:
OAI RAN-Container-Parent build (10242): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/10242/)
List of failing test stages:
mentioned in merge request !3116