Files
openairinterface5g/radio/emulator
Robert Schmidt 19813283fb Avoid T error on radio libraries
These libraries have an (indirect) dependency on T, either by using the
logging module (which in turn depends on T), or through other includes.

The easiest is to depend on the logging module, which will fulfil also
the T dependency.

It would equally be feasible to use the utils target (which in turn
depends on log_headers), but this would necessitate to compile, and does
not seem to be necessary.
2025-09-29 09:04:02 +02:00
..
2025-08-21 10:53:03 +02:00

RF emulator library

The RF emulator is a simple network stack terminator on the RF side.
It is meant to run the network stack without real radio and without RF simulation. It simply drops TX signal and generate noise as an RX signal. It can be used in phy-test mode to simply benchmark the network stack in a determined scenario.
It synchronizes the network stack on the real time clock of the host to guarantee a realistic behavior of the network stack. It detects and report late samples reads and writes to assess the real time behavior of the network stack.

Building

librf_emulator.so is built by default by the build_oai.sh script.
It is then located in the root build directory (usually cmake_targets/ran_build/build).

Usage

Enabling rf_emulator

Use the option --device.name rf_emulator of the softmodem to use the RF emulator.

Options

Two options are available to configure the RF emulator:

  • --rf_emulator.enable_noise <enable> Enables (enable = 1) or disables (enable = 0) noise generation on RX. By default noise generation is enabled.
  • --rf_emulator.noise_level_dBFS <noise_level> Sets the level of noise generated in dB. If omitted no noise is generated.