58 Commits
Author SHA1 Message Date
Robert Schmidt b9043d990a Doc: correctly link to non-indexed files in doc/README.md 2025-10-15 08:29:41 +02:00
calvin_peyron 23e0f50af0 Change D2D emulator documentation format 2025-10-01 16:22:46 +02:00
calvin_peyron e7a45a304b Remove unused and outdated documentation 2025-10-01 16:22:46 +02:00
Laurent THOMAS a0d8baf323 update and rename TESTING_GNB_W_COTS_UE.md to describe actual content 2025-10-01 16:22:46 +02:00
Robert Schmidt 8ccd944db2 Merge remote-tracking branch 'origin/rf_emulator_and_timers_fix' into integration_2025_w34 (!3589)
RF emulator and improvements of the timers

RF emulator:
Add an RF library emulating a real device without the need of a real
device.  This is thought to enable using phy-test without requiring a
radio device or channel simulation.  The library synchronizes on the
real time clock, drops TX and generate noise on RX.  Noise generation
can be disabled and the noise level configured.

Timers improvements:
- Fix standard deviation for merged timers
- Add display of ULSCH decoding timers
- Add decoding timer in AAL
2025-08-21 15:22:44 +02:00
Romain Beurdouche 42ad189bf3 feat(rf_emulator): documentation 2025-08-21 10:53:03 +02:00
Robert Schmidt 9f5ea8beba Merge remote-tracking branch 'origin/cleanup-build-oai-speedup-cluster' into integration_2025_w33 (!3579)
CI: speed up and simplify build, remove unnecessary Python code, remove --eNB* parameter list

This cleans up the CI framework for running end-to-end tests, and
improves the integration with OAI code. Specifically

- cleanup build_oai and helpers to output all text, which is captured
  better by the CI
- build some images in the Cluster-Build in parallel to increase speed
- remove all --eNB{,1,2}{IPAddress,UserName,Password} variables. Those
  were indexed through "instance" and "server ID" and are replaced with
  the actual node name. I consider further cleanup to introduce a
  "global" XML file node name so we don't need this in each step and
  instead define this once.
- individual cleanup
2025-08-14 16:45:52 +02:00
Robert Schmidt 5b8d66bbac Write simple CI documentation and add sample script 2025-08-14 14:55:23 +02:00
Calvin Peyron 3a1be4895f Rename ubuntuXX to ubuntu 2025-08-11 17:11:21 +02:00
Jaroslava Fiedlerova 5ca59d0f48 Merge remote-tracking branch 'origin/ldpc-aal' into integration_2025_w32 (!3344)
LDPC BBDEV/AAL rework

This branch aims to generalize the existing LDPC T2 implementation to support
other DPDK BBDEV accelerators, e.g., Intel ACC100/200.

Differences from the current T2 implementation include:
  1. relax CMakeLists.txt checking for custom dpdk-t2 implementation,
     technically, any DPDK BBDEV should work
  2. BBDEV capability checks during init
  3. llr_scaling to scale the input llr accordingly for better decoding
     performance on the Intel ACC100/200
  4. self-managed harq buffers for the ACC200, as internal harq memory is not
     available

Tested BBDEV devices:
  1. Intel ACC100
  2. Intel ACC200/VRB1
2025-08-07 12:17:11 +02:00
Robert SchmidtandXin Zhe Khooi c0d797ec0e Rename libldpc_t2 to libldpc_aal
Rename the library to reflect that it's more a generic AAL driver than
specifically for AAL. To this end, rename some documentation.

As of this commit, the options are still called nrLDPC_coding_t2. The
next commit will correct this.

Co-authored-by: Xin Zhe Khooi <khooixz@comp.nus.edu.sg>
2025-08-05 18:38:16 +02:00
Robert Schmidt 07629e29d6 Add CU-UP load tester and documentation
This is a simple CU-UP load tester. It sets up a configurable number of UEs in the
CU-UP, then sends GTP traffic in downlink/uplink in the N3-F1/F1-N3
direction at the CU-UP. It then compares the sent and received data.

Additional parameters, such as amount of traffic, test length, packet
size, and IP addresses/ports are configurable.

To run:

    mkdir build && cd build && cmake .. -GNinja && ninja nr-cuup nr-cuup-load-test params_libconfig
    ./tests/nr-cuup/nr-cuup-load-test
    ./nr-cuup -O ../tests/nr-cuup/load-test.conf

The tester should be able to detect lost and reordered packets.

Example lost: Receive order 2,3,5,6 (lost packet 4)
=> on packet 2, expected 2, next=expected+1=3
=> on packet 3, expected 3, next=expected+1=4
=> on packet 5, expected 4, diff=5-4=1 (lost 1), next=payload+1=6
=> on packet 6, expected 6
=> 1 lost

Example reordered: Receiver order 2,5,3,6 (lost packet 4)
=> on packet 2, expected 2, next=expected+1=3
=> on packet 5, expected 3, diff=5-3=2 (lost 2), next=payload+1=6
=> on packet 3, expected 6, (reduce lost by 1 to 1), next=expected=6
=> on packet 6, expected 6
=> 1 lost

Example reordered: Receiver order 2,5,3,4,6 (no losses)
2025-08-04 12:31:05 +02:00
Rúben Soares Silva 8d7f2a8fbd Add documentation for different VNF/PNF transport
Add a section in nfapi.md related to the different transport mechanisms available for VNF/PNF communication
Edit NR_NFAPI_archi.md to describe the VNF and PNF processing logic, as well as adding a flowchart for each of the components execution
Add the necessary patch to install the WLS library in the system
2025-07-15 13:00:03 +01:00
Guido Casati 1b84bd8b65 Update README.md 2025-05-27 08:46:41 +02:00
Cedric Roux 59be08e3e6 add link to time management module to the main readme 2025-04-18 09:02:55 +02:00
Bartosz Podrygajlo c5c2e87810 Rename shm_radio to vrtsim 2025-03-26 16:54:22 +01:00
Bartosz Podrygajlo 1a69a4efe1 Shared memory realtime radio simulation
Realtime and near-realtime RFSimulator alternative without channel modelling.
The purpose of this library is to allow realtime simulation of gNB and nrUE.

The library is loaded using --device.name shm_radio. The server side (gNB) should also
configure --shm_radio.role server and --shm_radio.timescale <timescale> according to requirements.

Limitations:
 - Only 1UE-to-1gNB connection supported

Future work:
 - Channel modelling
 - Telnet API
 - Histogram of the TX time budget
2025-03-26 14:29:08 +01:00
Robert Schmidt 078c0845f8 Add developer documentation for fhi_72 driver 2025-03-25 12:05:56 +01:00
Robert Schmidt b34708fa77 Merge remote-tracking branch 'origin/docker-dev-env' into integration_2025_w05 (!3102)
Dockerized development environment

This commit introduces a fully dockerized dev env you can start on any
machine that has docker without installing any direct OAI dependencies
on host.

This allows to migrate development environments between machines easily.
Several complementary scripts were added to enable smooth transition
between your docker environment and host environment. Your user and sudo
should work inside the environment.

In its current state, the environment can be used to compile
nr-softmodem with 7.2 FHI but it cannot run it due to missing
dependencies.
2025-01-31 07:58:43 +01:00
Bartosz Podrygajlo 8ca0a80d17 Dockerized development environment
This commit introduces a fully dockerized dev env you can start on any
machine that has docker without installing any direct OAI dependencies
on host.

This allows to migrate development environments between machines easily. Several
complementary scripts were added to enable smooth transition between your docker
environment and host environment. Your user and sudo should work inside the
environment.
2025-01-31 07:50:01 +01:00
Robert Schmidt 03b63257f2 Add documentation for nFAPI 2025-01-27 10:59:40 +01:00
francescomani cb6eaa1deb documentation for analog beamforming implementation 2025-01-08 14:36:12 +01:00
Jaroslava Fiedlerova 8c5b37deae Merge remote-tracking branch 'origin/doc-frequency-config' into integration_2024_w49 (!3050)
doc: Add instructions for 5G NR gNB frequency configuration
2024-12-05 19:12:40 +01:00
Guido CasatiandArash Sahbafard 3438d45d6c Add tutorial about how to run multiple UEs
* multiple UEs with namespaces (provided new script)
* multiple UEs with Docker UEs
* updated rfsimulator and channel simulation tutorials
* updated README.md

Co-authored-by: Arash Sahbafard <arash.sahbafard@silicon-austria.com>
2024-12-05 13:50:36 +01:00
Jaroslava Fiedlerova bf210241bd doc: Add instructions for 5G NR gNB frequency configuration 2024-12-03 17:07:50 +01:00
Robert Schmidt 756199c98f Add missing links from doc/README.md to documentation 2024-11-22 14:05:27 +01:00
Romain Beurdouche f885bd336a Add note to 'doc/README.md' to insight readers to checkout the documentation at their version of the repository. 2024-11-21 08:18:08 +01:00
Reem Bahsoun 5b0b2ab359 Delete 5g_l2sim related files 2024-11-08 18:23:21 +01:00
Robert Schmidtandrmagueta 05f10decee Add handover tutorial
Co-authored-by: rmagueta <rmagueta@allbesmart.pt>
2024-10-25 20:13:47 +02:00
Bartosz Podrygajlo de4a737131 Add dockerized include what you use tool
Introduces a tool that organizes C/C++ header includes. The tools output
should still be manually reviewed by a contributor.
2024-10-10 09:41:11 +02:00
Guido Casati 5daad21ca6 Reworked F1AP documentation and added info about the library
* moved F1AP related docs to a separate folder in docs
2024-09-27 17:39:00 +02:00
Robert Schmidt 1696d28e0d Add 5G/NR MAC documentation 2024-09-16 10:58:43 +02:00
Bartosz Podrygajlo bdc6df8c42 NR UE & gNB imscope.
A new phy scope based on ImGui and ImPlot. This scope uses a different concurrency model than previous
scopes.

The PHY thread writing the data first checks if the data is ready to be written. If its not, nothing is copied.
The GUI thread reads data if available and marks it ready to write. This makes sure that the PHY threads are not
busy copying data that would never be displayed.

Some of the scopes also have a freeze functionality that further limit the amount of data that needs to be copied
from PHY threads. If a scope is "frozen" it still allows the user to explore the data using plots zoom/pan functions
but doesn't cause PHY threads to perform extra writes on the displayed data.

A compile option was added to enable/disable the scope. Use cmake -DENABLE_IMSCOPE=ON to enable the scope.

Update CXX standard to 17; it is required by some libraries (e.g., dear imgui). The oldest gcc version in
use by a distribution supported is Ubuntu 20, which has gcc 9.4 with c++17 support.
2024-09-05 15:19:00 +02:00
Florian Kaltenberger 612bbaeca6 documentation update 2024-07-16 17:27:50 -04:00
Thomas Schlichter 394431a594 remove nrqtscope 2024-07-13 11:22:36 +02:00
Robert Schmidt a87df90504 Add documentation for physical simulators 2024-06-03 14:21:19 +02:00
Robert Schmidt 13517cd6bc Write documentation on performance tuning and security 2024-06-03 14:21:19 +02:00
Robert Schmidt e4a704ed61 Add high-level developer documentation on code style and contributing 2024-05-22 08:45:39 +02:00
Robert Schmidt 787f4431c3 doc/README.md: Correctly say what OpenShift documentation will give 2024-05-22 08:45:39 +02:00
Robert Schmidt 9ce9d79b33 doc/README.md: Link to legacy unmaintained files 2024-05-22 08:45:39 +02:00
Robert Schmidt f251a41410 doc/README.md: rename section to radios 2024-05-22 08:45:31 +02:00
Jaroslava Fiedlerova 64e58c1d67 Merge remote-tracking branch 'origin/739-rf-channel-sim-improvements' into integration_2024_w09 2024-03-04 17:39:13 +01:00
Guido Casati 4cfba89e68 Updated and enhanced channel simulation documentation
- centralized channel simulation documentation in channel_simulation.md
- removed redundant documentation repeated in multipled .md files
- updated links
- removed obsolete information
- introduced mermaid flowchart for rfsim
- added missing information about available options and usage
- deleted:    ../../../openair1/SIMULATION/TOOLS/DOC/devusage.md
- deleted:    ../../../openair1/SIMULATION/TOOLS/DOC/rtusage.md
- deleted:    ../../../openair1/SIMULATION/TOOLS/DOC/arch.md

related to issue #739
2024-03-01 15:48:24 +01:00
Guido Casati 72166d7ae9 E1AP procedures documentation
- new folder dedicated to E1AP docs
- new file to document E1AP procedures
2024-03-01 09:48:42 +01:00
Jaroslava Fiedlerova 3cc671897d Merge remote-tracking branch 'origin/e1-issue-712' into integration_2024_w04 2024-01-26 10:15:56 +01:00
Guido Casati 763726185a Added documentation about sanitizers
- new file:   /doc/dev_tools/sanitizers.md
2024-01-25 17:12:31 +01:00
da5ce90dcf doc(oran 7.2fhi): Add O-RAN 7.2 tutorial
- update library location
- correct information for ioWorker
- disable HT on servers
- add local/lib trick for Fedora-based OS. Also clean-up on line terminations
- add another pkg-config trick.
- Proper version(s) of DPDK
- Support for both Bronze and E releases
- Minor fixes on E-patches and build system
- fixed a few typos and better explanation of the CPU allocation scheme

Co-authored-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
Co-authored-by: Jaroslava Fiedlerova <jaroslava.fiedlerova@openairinterface.org>
Co-authored-by: Robert Schmidt <jaroslava.fiedlerova@openairinterface.org>
2024-01-23 13:50:49 +01:00
Tsung-Yu Chan 1f2098fcce feat / work with cross-compile
can compile the target ldpc_generators and generate_T with cross-compiler
2023-09-13 17:20:08 +02:00
Robert Schmidt 336e4a5ef1 Link to LDPC doc from doc/README.md 2023-08-18 12:51:41 +02:00
Robert Schmidt 251a1c6e2a Add unit testing documentation 2023-08-01 12:11:39 +02:00