Files
openairinterface5g/radio/zmq/README.md
Bartosz Podrygajlo 46c120651f ZMQ radio
This commit introduces ZMQ-based radio library. Each pair of RX/TX antennas is
represented by a ZMQ REQ/REP socket pair which streams continuous IQ samples
from radio start until stop.

Usage:
Simplest configuration is to connect OAI NR UE to OAI GNB with the same number
of antennas - by inverting the RX and TX channels in ZMQ radio configuration the
gNBs TX is mapped to UEs RX antennas and vice versa.
2026-04-22 22:34:02 +02:00

1.5 KiB

Overview

This library implements ZMQ-based radio driver

Architecture

The radio simulates RX/TX pairs between different processes over network or on the same machine as ZMQ REQ/REP socket pairs. All the antennas have to be configured and connected before the simulation can start.

Limitations

You cannot reconnect a device once the simulation has started. The simulation has to be restarted from scratch in order to add devices or restart a process.

Requirements

Depends on zmq library being installed in the system. On ubuntu: libzmq3-dev, on RHEL/Fedora: zeromq-devel

Usage

Simple 1-to-1 antenna mapping

Add --device.name oai_zmqdevif to load the library in UE / gNB process. Add --zmq.[0].tx_channels <channels> and --zmq.[0].rx_channels <channels> to define ZMQ REQ/REP pairs.

On the opposite side, load the library like specified above but invert the rx and tx channels. This way all antennas of UE will be directly mapped to all antennas of the gNB.

Example:

sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --device.name oai_zmqdevif --zmq.[0].tx_channels tcp://127.0.0.1:4557 --zmq.[0].rx_channels tcp://127.0.0.1:4556 --ssb 516
sudo ./nr-softmodem -O ../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --device.name oai_zmqdevif --zmq.[0].tx_channels tcp://127.0.0.1:4556 --zmq.[0].rx_channels tcp://127.0.0.1:4557