Files
openairinterface5g/doc
Jaroslava Fiedlerova 4472b9d82a Merge remote-tracking branch 'origin/fix-delta-mcs' into integration_2026_w13 (!3912)
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.
2026-03-26 13:57:27 +01:00
..
2025-04-14 11:39:08 +02:00
2026-02-26 11:00:37 +01:00

OpenAirInterface documentation overview

This is the general overview page of the OpenAirInterface documentation. This page groups links to general information, tutorials, design documents, radio integration, and special-purpose libraries.

IMPORTANT NOTE: Before reading this documentation, we strongly advise you to keep your own repository rebased on develop or at least to checkout the documentation on the version of the repository you are using. Then the documentation will better reflect the features available in your repository so that you may avoid some errors. Beware if you previously pulled the develop branch that your repository may be now behind develop.

[[TOC]]

General

There is some general information in the OpenAirInterface Gitlab Wiki

Tutorials

Legacy unmaintained files:

Designs

Building and running from images

Libraries

General

Radios

Some directories under radio contain READMEs:

The other SDRs (AW2S, LimeSDR, ...) have no READMEs.

Special-purpose libraries

  • OAI has two scopes: one based on Xforms and one based on imgui, described in this README
  • OAI comes with an integrated telnet server to monitor and control
  • OAI comes with an integrated web server

Testing

  • UnitTests.md explains the unit testing setup
  • Component tests are under tests/. Currently, the following component tests are supported
    • A simple CU-UP tester, see the corresponding README.md.
    • A CU-NRPPA tester, see the corresponding README.md.
    • A UE NAS tester, see the corresponding README.md.
  • TESTBenches.md lists the CI setup and links to pipelines
  • The CI setup uses a custom framework to run end-to-end tests.

Developer tools