4472b9d82a79f3b49f604f6969e91bcbbd74369f
Fix Delta MCS mode, reimplement UL power control This change set fixes the "delta-MCS" mode, and reimplements the UL power control loops at gNB, i.e., for PUSCH and PUCCH. It further adds new T traces to log PUSCH/PUCCH power infrmation, and cleans up code. The "delta-MCS" mode in OAI refers to configuring a UE with deltaMCS in the PUSCH-PowerControl IE (see TS 38.331). In this mode, the UE adjusts the PUSCH power for transmissions to take into account for MCS (see TS 38.213 Sec. 7.1). In other words, the target SNR can be set to a somewhat low value, and the UE will still use the right power for UL transmissions. Note that the spec only foresees this adjustment of UL power when using one layer. In contrast, in the "normal" mode, the gNB sends TPC commands to keep a UE at a fixed target SNR (default: 20dB), regardless of the MCS or number of layers. Future work is planned to completely remove this fixed target SNR, which is not done in this MR yet. Further, there is a new power control loop implementation. Prior to this MR, on each UL transmissions, the gNB uses the SNR to decide about TPC sent to a UE in the next transmissions. The new implementation relies on averaging the SNR, and a "TPC in flight" average to account for the slow reaction of the average SNR. The sum of both quantities is the current SNR that is used by the UE. See the commit messages or documentation for more information. Further cleanup to group data (e.g., power control configuration, refactoring of code to save space, ...) is done. Two new T traces GNB_MAC_PUSCH_POWER_CONTROL and GNB_MAC_PUCCH_POWER_CONTROL are added; documentation exists to explain how to graphically plot corresponding graphs.
Merge remote-tracking branch 'origin/oran_beamforming_static_weights' into integration_2026_w13 (!3681)
Merge remote-tracking branch 'origin/fix-ssPBCH_BlockPower-config' into integration_2026_w12 (!3909)
OpenAirInterface License
It is distributed under OAI Public License V1.1.
The license information is distributed under LICENSE file in the same directory.
Please see NOTICE file for third party software that is included in the sources.
Where to Start
- General overview of documentation
- The implemented features
- System Requirements for Using OAI Stack
- How to build
- How to run the modems
Not all information is available in a central place, and information for specific sub-systems might be available in the corresponding sub-directories. To find all READMEs, this command might be handy:
find . -iname "readme*"
RAN repository structure
The OpenAirInterface (OAI) software is composed of the following parts:
openairinterface5g
├── charts
├── ci-scripts : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI.
├── CMakeLists.txt : Top-level CMakeLists.txt for building
├── cmake_targets : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files.
├── common : Some common OAI utilities, some other tools can be found at openair2/UTILS.
├── doc : Documentation
├── docker : Dockerfiles to build for Ubuntu and RHEL
├── executables : Top-level executable source files (gNB, eNB, ...)
├── maketags : Script to generate emacs tags.
├── nfapi : (n)FAPI code for MAC-PHY interface
├── openair1 : Layer 1 (3GPP LTE Rel-10/12 PHY, NR Rel-15 PHY)
├── openair2 : Layer 2 (3GPP LTE Rel-10 MAC/RLC/PDCP/RRC/X2AP, LTE Rel-14 M2AP, NR Rel-15+ MAC/RLC/PDCP/SDAP/RRC/X2AP/F1AP/E1AP), E2AP
├── openair3 : Layer 3 (3GPP LTE Rel-10 S1AP/GTP, NR Rel-15 NGAP/GTP)
├── openshift : OpenShift helm charts for some deployment options of OAI
├── radio : Drivers for various radios such as USRP, AW2S, RFsim, 7.2 FHI, ...
├── targets : Some configuration files; only historical relevance, and might be deleted in the future
└── tools : Tools for use by the developers/ci machines: code analysis and formatting
How to get support from the OAI Community
You can ask your question on the mailing lists.
Your email should contain below information:
- A clear subject in your email.
- For all the queries there should be [Query] in the subject of the email and for problems there should be [Problem].
- In case of a problem, add a small description.
- Do not share any photos unless you want to share a diagram.
- OAI gNB/DU/CU/CU-CP/CU-UP configuration file in
.confformat only. - Logs of OAI gNB/DU/CU/CU-CP/CU-UP in
.logor.txtformat only. - In case your question is related to performance, include a small description of the machine (Operating System, Kernel version, CPU, RAM and networking card) and diagram of your testing environment.
- Known/open issues are present on GitLab, so keep checking.
Always remember a structured email will help us understand your issues quickly.
Languages
C
91.8%
CMake
2.9%
C++
1.9%
TeX
1%
Python
1%
Other
1.1%
