- Notifications
You must be signed in to change notification settings - Fork11
Real-Time Inference of 5G NR Multi-user MIMO Neural Receivers
License
NVlabs/neural_rx
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The code in this repository allows to design, train, and evaluateneuralreceiversusing theNVIDIA® Sionna™ link-level simulationlibrary and TensorFlow. Further, trainedreceivers can be prepared for real-time inference viaNVIDIA®TensorRT™.
The following features are currently supported:
- 5G NR compliant Multi-user MIMO PUSCH receiver
- Training pipeline using 3GPP compliant channel models
- TensorRT / ONNX model export for real-time inference
- Support for varying number of PRBs, users, and different MCS schemes per user
- End-to-end learning of custom constellations forpilotless communications [3]
- Site-specific training using ray-tracing based channel simulations fromSionnaRT as done in [2]
We recommend starting with theJumpstart NRX Tutorial notebook for a detailed introduction and overview of the project.
The basic neural receiver architecture is introduced and described ina Neural Receiver for 5G NR Multi-user MIMO [1].The real-time experiments and the site-specific training is described inDesign of a Standard-Compliant Real-TimeNeural Receiver for 5G NR [2].
Demos of this receiver architecture have been shown atMobile World Congress 2023 andMobile World Congress 2024.
For further details regarding solutions for deployment in an actual Radio Access Network (RAN), we recommend registering for theNVIDIA 6G Developer Program.
We introduce a neural network (NN)-based multi-user multiple-inputmultiple-output (MU-MIMO) receiver with full 5G New Radio (5G NR) physicaluplink shared channel (PUSCH) compatibility based on graph and convolutionalneural network (CGNN) components. The proposed architecture can be easilyre-parametrized to an arbitrary number of sub-carriers and supports a varyingnumber of users without the need for any additional re-training. The receiveroperates on an entire 5G NR slot, i.e., it processes the entire receivedorthogonal frequency division multiplexing (OFDM) time-frequency resource gridby jointly performing channel estimation, equalization, and demapping. We showthe importance of a carefully designed training process such that the trainedreceiver does not overfit to a specific channel realization and remainsuniversal for a wide range of different unseen channel conditions. A particularfocus of the architecture design is put on the real-time inference capabilitysuch that the receiver can be executed within 1 ms latency on an NVIDIA A100GPU.
Running this code requiresSionna 0.18.To run the notebooks on your machine, you also needJupyter.We recommend Ubuntu 22.04, Python 3.10, and TensorFlow 2.15.
ForTensorRT, we recommend version 9.6 and newer.ForONNX exporting, the Python packageonnx==1.14
is required (onnx==1.15
does not work due to a known bug).
This repository is structured in the following way:
- config contains the system configurations for different experiments
- notebooks contains tutorials and code examples
- scripts contains the scripts to train, evaluate and debug the NRX
- utils contains the NRX definition and all Python utilities
- weights contains weights of pre-trained neural receivers for different configuration files
- results contains pre-computed BLER performance results
The following two folders will be generated locally:
logs
contains log files of the trainingonnx_models
contains exported ONNX neural receiver modelsdata
contains a ray tracing-based dataset of channel realizations for site-specific evaluation
We recommend starting with theJumpstart NRX Tutorial notebook for a detailed introduction and overview of the project.
[1] S. Cammerer, F. Aït Aoudia, J. Hoydis, A. Oeldemann, A. Roessler, T. Mayer, and A. Keller, "A Neural Receiver for 5G NR Multi-user MIMO", IEEE Workshops (GC Wkshps), Dec. 2023.
[2] R. Wiesmayr, S, Cammerer, F. Aït Aoudia, J. Hoydis, J. Zakrzewski, and Alexander Keller, "Design of a Standard-Compliant Real-Time Neural Receiver for 5G NR", arxiv preprint, 2024.
[3] F. Aït Aoudia and J. Hoydis, "End-to-end Learning for OFDM: From Neural Receivers to Pilotless Communication", IEEE Trans on Wireless Commun., 2021.
Copyright © 2024, NVIDIA Corporation. All rights reserved.
This work is made available under theNVIDIA License.
@software{neural_rx, title = {Real-time 5G NR Multi-user MIMO Receivers}, author = {Sebastian Cammerer, Reinhard Wiesmayr, Fayçal Aït Aoudia, Jakob Hoydis, Tommi Koivisto, Jakub Zakrzewski, Ruqing Xu, Pawel Morkisz, Chris Dick, and Alexander Keller}, note = {https://github.com/NVlabs/neural-rx}, year = 2024}
This work has received financial support from the European Union underGrant Agreement 101096379 (CENTRIC). Views and opinions expressed arehowever those of the author(s) only and do not necessarily reflect those of theEuropean Union or the European Commission (granting authority). Neither theEuropean Union nor the granting authority can be held responsible for them.