5G NR Neural Receiver Dashboard

DeepRx-style receiver vs LS+LMMSE baseline on a Sionna TDL-C link. The dashboard shows where neural wins, where classical holds, and what is still outside the evidence boundary.

Technical Decision Summary

What does the AI-PHY experiment prove?

BER @ 5 dB
0.062
classical 0.122
BER @ 10 dB
0.014
classical 0.026
BLER @ 12.5 dB
0.585
classical 0.938
ONNX parity
PASS
max_diff=1.38e-05
Decision fieldEvidence
ExperimentDeepRx-style neural receiver vs classical LS+LMMSE baseline
Link modelSionna 5G NR, TDL-C, CP-OFDM, QPSK, SISO
Neural receiver size373,154 trainable parameters
Main findingNeural receiver improves BER around 5-10 dB
Moderate-SNR gainabout 2-3 dB effective BER advantage
BLER finding12.5 dB neural BLER 0.585 vs classical 0.938
High-SNR boundaryClassical baseline remains competitive above 15 dB
Export evidenceONNX parity PASS, max_diff=1.38e-05
Deployment boundarySimulated link evidence only, not live RAN or SDR deployment

Problem -> What I Built -> What I Found -> What I Would Validate Next

The AI-PHY story in one pass

Problem

Classical 5G receivers separate channel estimation, equalization, and demapping. Neural receivers test whether those functions can be learned jointly under realistic channel models.

What I Built

I built a DeepRx-style residual CNN receiver on a Sionna-modeled 5G NR TDL-C link and compared it against an LS+LMMSE+soft-demap baseline on the same channel conditions.

What I Found

The neural receiver improves BER by about 2x around 5-10 dB and shows a 12.5 dB BLER improvement from 0.938 to 0.585. At high SNR, the classical baseline remains competitive.

What I Would Validate Next

I would test higher-order modulation, MIMO, LDPC-coded BLER, mobility/Doppler sweeps, channel mismatch, and SDR/hardware-loop integration before making deployment claims.

Visual Evidence

Curves and distributions from committed artifacts

BER/BLER comparison

2026-05-20T19:02:54.372439 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

Neural receiver gains are clearest in the moderate-SNR region; high-SNR limits remain visible.

Open source artifact

LLR distribution comparison

2026-05-20T19:02:54.577857 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

The LLR distribution shows receiver confidence shape at a measured operating point.

Open source artifact

Classical baseline

2026-05-20T17:22:18.505986 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/

The classical LS+LMMSE path is a strong reference receiver, not a straw man.

Open source artifact

ONNX parity

ONNX parity passes against ONNXRuntime. This proves export correctness, not production deployment readiness.

Open parity JSON

Where Neural Wins / Where Classical Holds

The measured result has boundaries

SNR regionNeural receiver behaviorClassical baseline behaviorEngineering interpretationBoundary
Low SNR, -5 to 0 dBImproves BER, but frames still fail heavily.Also frame-error limited in the uncoded QPSK setup.Useful signal, not an operating-point victory.No coded BLER or scheduler claim.
Moderate SNR, 5 to 12.5 dBShows the strongest practical advantage and the clearest BLER improvement.Falls behind on BER/BLER under the same TDL-C conditions.This is the strongest measured neural-receiver region.Measured only for TDL-C/QPSK/SISO.
High SNR, 15 to 20 dBNo longer dominates; BER can trail the classical chain.Becomes competitive as channel estimation improves.The result is not 'neural always wins.'High-SNR limitation remains visible.

Receiver Architecture Comparison

Classical blocks versus learned joint receiver

StageClassical pathNeural pathWhy it matters
Channel estimationLS pilot channel estimationLearned jointly from received grid + pilot maskNeural path can exploit local structure beyond explicit LS estimates.
EqualizationLMMSE equalizationImplicitly learned through CNN residual blocksMoves receiver design from separated blocks to learned joint inference.
DemappingMax-log soft demappingCNN outputs LLRs for data bitsKeeps the output compatible with a downstream soft-decoder path.
Training/tuningNo training; model assumptions are explicitEnd-to-end BCE through Sionna channel, random SNR per minibatchLearned receiver needs data/model discipline and validation across mismatch.
Export/deployment artifactAlgorithmic Python baselineONNX opset export with parity checkONNX proves export correctness, not production readiness.
Failure/validation riskCan be strong at high SNRCan overfit channel/modulation assumptionsBoth paths need explicit operating boundaries.

Engineering Practices That Matter

The practices that make the comparison useful

SignalEvidence
deterministic pilot RNG bugFound and fixed by controlling `sionna.phy.config.seed` before ResourceGrid creation.
Fair comparisonSame TDL-C/QPSK/SISO link conditions are used for the classical and neural receiver paths.
ONNX parityPASS with max_diff=1.38e-05.
Test suite31/31 tests passing in the recorded evidence.
Training cost10.4 min / 100,000 steps on RTX 5090, batch=64.
Committed artifactsCSV, SVG, JSON, dashboard, and reproducibility workflow are committed.

What This Is

The concrete system layers in this repo

LayerWhat it does
AI-PHY receiver experimentTests learned receiver behavior against a classical baseline.
Sionna-modeled 5G NR linkUses TDL-C/QPSK/CP-OFDM/SISO link conditions.
Classical receiver baselineLS pilot estimation, LMMSE equalization, max-log soft demapping.
DeepRx-style neural receiverResidual CNN that learns joint receiver behavior.
BER/BLER evidence packMeasured curves and tables across SNR.
ONNX parity export checkVerifies export correctness against ONNXRuntime.
Static dashboardPackages measured evidence, boundaries, and artifacts for review.

What This Is Not

Boundaries that keep the evidence honest

ClaimWhat is true insteadLimit it protects
Live 5G deploymentNo, this is simulated link evidence.Prevents production overclaiming.
SDR validated receiverNo, no hardware-loop validation yet.Keeps hardware claims honest.
O-RAN/gNB integrationNo, no RAN integration is claimed.Separates link evidence from RAN integration.
NVIDIA Aerial integrationNo, this uses Sionna, not Aerial.Avoids vendor integration theater.
MIMO receiverNo, this is SISO unless implemented otherwise.Keeps antenna scope clear.
Higher-order QAM / LDPC-coded systemNo, QPSK and current uncoded scope only as implemented.Avoids unmeasured PHY claims.
Production-ready AI-RAN componentNo, this is a research-grade evidence pack.Preserves deployment boundary.

Evidence vs Boundary

What is demonstrated, and what is deliberately not claimed

Evidence demonstrated

  • Sionna-modeled 5G NR TDL-C link
  • Classical LS+LMMSE baseline
  • DeepRx-style neural receiver
  • BER/BLER comparison
  • ONNX export parity
  • Deterministic pilot fix
  • Reproducible artifacts and tests

Boundary preserved

  • No live 5G network
  • No SDR/hardware-loop validation
  • No O-RAN/gNB integration
  • No NVIDIA Aerial integration
  • No MIMO/higher-order QAM claim
  • No LDPC-coded system claim
  • No production AI-RAN deployment claim

Technical Workflow

How the evidence is produced

StageOutput
Sionna link configShared TDL-C/QPSK/SISO link setup.
Classical baseline sweep`reports/bler_classical.csv` and plot.
Neural receiver training`reports/training_log.json`.
Head-to-head BER/BLER comparison`reports/bler_comparison.csv` and plot.
ONNX exportModel export when checkpoint artifacts are available.
Parity check`reports/onnx_parity_test.json`.
Dashboard generation`reports/index.html` and `reports/dashboard.html`.
Tests / verifypytest, ruff, and `make verify`.

Measured BER / BLER

Same channel, same SNR points, two receiver paths

SNRBER classicalBER neuralBLER classicalBLER neural
-5.0 dB0.405990.361021.0001.000
-2.5 dB0.351860.273111.0001.000
+0.0 dB0.280320.188281.0001.000
+2.5 dB0.199600.116521.0001.000
+5.0 dB0.122130.061731.0001.000
+7.5 dB0.061470.027991.0001.000
+10.0 dB0.026380.014181.0000.983
+12.5 dB0.010380.009050.9380.585
+15.0 dB0.004710.008050.4600.314
+17.5 dB0.002340.007370.2240.225
+20.0 dB0.001230.007250.1270.197

Evidence Artifacts

Files behind the dashboard

ArtifactLinkWhat it proves
BER/BLER CSVreports/bler_comparison.csvRaw measured comparison table.
BER/BLER plotreports/bler_comparison.svgVisual error-rate comparison.
LLR plotreports/llr_distribution_comparison.svgReceiver confidence distribution.
ONNX parityreports/onnx_parity_test.jsonExport correctness check.
Training logreports/training_log.jsonTraining config and convergence trace.