Support beam index in OAI 7.2 Fronthaul Interface
This branch supports beam index in OAI 7.2 Fronthaul Interface.
- For CP DL (PDSCH), nBeamIndex of the corresponding prbMapElm is set when sending IQ data in oran_fh_if4p5_south_out. nBeamIndex of the corresponding prbMapElm is set when sending IQ data in oran_fh_if4p5_south_out.
- For CP UL (PUSCH and PRACH), nBeamIndex of the corresponding prbMapElm is set in oran_fh_if4p5_south_out.
In addition, it fixes a couple of issues
- XRAN hardcodes nBeamIndex of PRACH to zero. Hack XRAN to support setting of nBeamIndex of PRACH and create a patch.
- Fix the bug in calculating fh_config->neAxc where num_beams_period is multiplified twice. (Commit 12bb1fa3)
To test this branch.
- There is a bug in xran lib that hardcodes beam_id to 0. cmake_targets/tools/oran_fhi_integration_patches/F/oaioran_F.patch has been updated.
- An example of testing command: sudo LD_LIBRARY_PATH=.:$DPDK_INST/lib/x86_64-linux-gnu/ ./nr-softmodem -O /home/joang/gnb.sa.band77.273prb.fhi72.4x4-benetel550_c0_abf_org_1beam4tx.conf -thread-pool 21,22,23,24,25,26,27,28
- For OAI L1, please set set_analog_beamforming to 1. set_analog_beamforming = 1 beams_duration = 1; beams_per_period = 1; beam_weights = [11, 12, 13, 14]; // single SSB -> one analog beam
Testing methodology: Use Benetel O_RU for testing even though it does not support beamforming. With successful registration and data transfer, one could check the pcap on the fronthaul interface to see if CP packets are with the right beam index.
Results:
- Verified that CP-packets for SSB, DCI, PDSCH, PRACH, PDSCH, PUSCH, CSI-RS and SRS are with the right beam index
- Verified that there is no side-effect on Benetel O_RU. UE could register properly.
- Verified 4 SSB with ssb_PositionsInBurst_Bitmap = 85. Could see SSB and PRACH with 4 different indices.
Edited by Mario Joa-Ng