Maturity#
For every module, the strongest evidence that it is right. The levels:
A: validated against an external reference (a published figure or table, a table of a standard reproduced verbatim, or the recorded output of a reference implementation: OptiCommPy 0.11, GNPy 3.0, AFF3CT v4.7.1);
B: against a closed form only;
C: self-consistency only (round trips, invariants);
—: not validated.
The tests that give the evidence and the regimes not covered yet are listed module by module in docs/MATURITY.md.
Summary: 75 modules: 70 at A, 3 at B, 2 at C.
Foundations#
Module |
Level |
Strongest evidence |
|---|---|---|
Constellations, mapping, demapping and closed-form error rates |
A |
OptiCommPy outputs; closed forms of Proakis & Salehi |
Capacity and cutoff rate of CM and BICM |
A |
Caire, Taricco & Biglieri 1998 Figs. 4–7 |
Adaptive MQAM over fading (Rust only) |
A |
Goldsmith & Chua 1997 Figs. 3, 5, 10, Table II |
Sources (bits, PRBS, uniform and shaped symbols) |
A |
ITU-T O.150 Sec. 5 and Table 1, exact |
Differential PSK |
A |
Pawula, Rice & Roberts 1982 Sec. IV-A; closed forms of Proakis & Salehi |
Error rates with an imperfect channel estimate and over Jakes’ fading |
A |
Chang & Su 2002 eqs. 31–53, Figs. 3–4 |
Coding and shaping#
Module |
Level |
Strongest evidence |
|---|---|---|
Convolutional codes (Viterbi, BCJR) |
A |
AFF3CT; Yasuda et al. Table I |
Puncturing |
A |
Yasuda et al. Table I; patterns of IEEE 802.11 and EN 300 421 |
Turbo codes (LTE) |
A |
AFF3CT, K = 40 and 1024 |
LDPC codes |
A |
AFF3CT, PEG and DVB-S2 short code; Hu et al. 2005 |
Density evolution of LDPC ensembles (Rust only) |
A |
Richardson & Urbanke 2001 Tables I-II |
EXIT charts of parallel concatenated codes (Rust only) |
A |
ten Brink 2001 Tables II and IV |
Polar codes (SC, CA-SCL) |
A |
AFF3CT, SC and CA-SCL |
5G NR channel codes: LDPC and polar with rate matching |
A |
Sionna vectors bit for bit; TS 38.212 tables |
Reed–Solomon codes |
A |
AFF3CT; Lin & Costello; ETSI EN 300 744, CCSDS 131.0-B |
BCH codes |
A |
AFF3CT; generators of EN 302 307-1 Table 6a |
CRC |
A |
CRC polynomials of TS 38.212 |
Scrambling, interleaving |
C |
balanced sequences, invertible permutations |
Finite-length bounds |
A |
Polyanskiy, Poor & Verdú 2010 Table I; the Shannon limits of BPSK; Costello & Forney 2007 |
Distribution matching and probabilistic amplitude shaping |
A |
Schulte & Böcherer 2016 Fig. 2; Böcherer et al. 2015 Tables VI–X |
Waveforms#
Module |
Level |
Strongest evidence |
|---|---|---|
OFDM, channel estimation and gain correction |
A |
Cimini 1985 Figs. 3–7; Coleri et al. 2002 Sec. VI-B (with an oversampled comb) |
OFDM synchronisation (Schmidl–Cox, Moose, van de Beek) |
A |
Schmidl & Cox 1997, Moose 1994, van de Beek et al. 1997 |
PAPR: distribution and reduction |
A |
Ochiai & Imai 2001 eqs. (11), (27); Saul 2004 Figs. 8-9 (recursive clipping) |
Constant-envelope OFDM |
A |
Thompson et al. 2008 eq. (15); Guerreiro et al. 2016 Fig. 1; López Morales et al. 2022 Fig. 3; Pacheco & Hatzinakos 2006 Fig. 1 |
Chirp spread spectrum (LoRa modulation) |
A |
Chiani & Elzanaty 2019 Table I; Afisiadis et al. 2020 Figs. 2, 7; Vangelista 2017 Fig. 1 |
Continuous-phase modulation |
A |
Murota & Hirade 1981 Table I and Fig. 5; Sundberg 1986 Fig. 5; MSK of Proakis & Salehi |
FBMC/OQAM |
A |
Bouhadda et al. 2014 Table 1, Figs. 7, 10, 11; Nissel & Rupp 2017 eq. (17); Nissel, Schwarz & Rupp 2017 eqs. (13), (17), Figs. 5-8 |
UFMC |
A |
Vakilian et al. 2013 Fig. 3(b) |
OTFS and the delay–Doppler channel (Rust only) |
A |
Raviteja et al. 2019 Theorem 1 and its example; Hadani et al. 2017 Fig. 5 qualitatively |
MIMO#
Module |
Level |
Strongest evidence |
|---|---|---|
MIMO detection |
A |
Yang & Hanzo 2015 Table X; MRC closed forms |
Message-passing detection of large MIMO (LAMA, OAMP) |
A |
Jeon et al. 2018 Table II; Ma & Ping 2017 eq. (42), Figs. 2–3 |
Space-time block codes |
B |
Tarokh et al. 1999 eqs. (39)–(40); MRC closed forms |
Capacity and precoding |
A |
Telatar 1999 Theorem 2, eqs. (13), (16)–(18), Figs. 1–4 |
MIMO channel estimation |
A |
Biguesh & Gershman 2006 Figs. 1–4, eqs. (12)–(59) |
Multi-user massive MIMO |
A |
Ngo, Larsson & Marzetta 2013 Props. 1–3, 5–7, Figs. 1 and 4 |
Downlink NOMA (Rust only) |
A |
Ding et al. 2014 Fig. 3 table, Fig. 1(a) |
Wireless channels#
Module |
Level |
Strongest evidence |
|---|---|---|
Path loss (TR 38.901) |
A |
TR 38.901 Tables 7.4.1-1 and 7.4.2-1 against Sionna 2.2.0 |
AWGN |
B |
closed forms of the error rates |
Flat fading and antenna correlation |
A |
Loyka 2001 (exponential correlation, Fig. 1); BPSK over Rayleigh fading; MRC |
Tapped and clustered delay lines (TDL, CDL) |
A |
ITU-R M.1225 and 3GPP TR 38.901 tables, verbatim |
Reconfigurable intelligent surface |
A |
Basar et al. 2019 eqs. (14)–(18), Figs. 6–7 |
Optical#
Module |
Level |
Strongest evidence |
|---|---|---|
Fibre: linear, split-step Fourier, Manakov, back-propagation |
A |
OptiCommPy and Optilux outputs; Häger & Pfister 2021 Figs. 5 and 8; Ip & Kahn 2008 Fig. 12 (in part) |
GN and EGN models |
A |
Carena et al. 2014 Fig. 1(a); GNPy outputs; Semrau, Killey & Bayvel 2019 Figs. 4a, 4b, 5 |
Raman amplification and ISRS |
A |
Bromage 2004 eqs. (3)–(5), Figs. 7–8; Hu et al. 2004 eq. (2); GNPy outputs; Semrau & Bayvel 2018 eq. (10) |
EDFA and PMD |
A |
the Maxwellian DGD of Foschini & Poole 1991 Fig. 3; the accumulated ASE |
Optical front ends (laser, modulators, photodiodes, coherent receiver) |
A |
OptiCommPy outputs |
Indoor optical wireless |
A |
Barry et al. 1993 Table II; Komine & Nakagawa 2004 Figs. 3–9 |
Free-space optics |
A |
Al-Habash et al. 2001 Figs. 3, 6–8 |
Hardware impairments#
Module |
Level |
Strongest evidence |
|---|---|---|
Nonlinear amplifier driven by OFDM |
A |
Banelli & Cacopardi 2000 eqs. 7–31, Fig. 5; Bouhadda et al. 2014, Tables 2–3 |
Power amplifiers, IQ imbalance and digital predistortion |
A |
Ding et al. 2004 Fig. 4 (memory-polynomial predistortion) |
Phase noise, frequency and clock offsets |
A |
IEEE Std 1139-2022 Table B.2 (Allan variances of white FM) |
DAC and ADC |
A |
Max 1960 Table II; Bennett 1948; the exact error of a Gaussian input; IEEE Std 1241; Walden 1999 |
Receiver DSP#
Module |
Level |
Strongest evidence |
|---|---|---|
Filters and resampling |
A |
OptiCommPy outputs |
Carrier recovery |
A |
OptiCommPy outputs; Rife & Boorstyn 1974; Fatadin et al. 2009; Pfau et al. 2009 |
Clock recovery |
A |
OptiCommPy outputs |
Frame synchronisation |
A |
Massey 1972 Tables I–II (optimum rule) |
Adaptive equalisers |
A |
OptiCommPy outputs; Kikuchi’s singularity |
Chromatic dispersion compensation |
A |
Eghbali et al. 2014 Table I, Figs. 5 and 9 |
Blind estimation: modulation recognition, M2M4 SNR, symbol rate |
A |
Pauluzzi & Beaulieu 2000 Figs. 9–10 (M2M4, CRB); exact cumulants of the alphabets |
Metrics and analysis#
Module |
Level |
Strongest evidence |
|---|---|---|
Error rates, SNR and EVM |
A |
OptiCommPy outputs |
Information rates and shaping gains |
A |
Böcherer et al. 2015 Tables I, III; OptiCommPy outputs |
Receiver posteriors ( |
A |
Alvarado et al. 2018 Remarks 4–5, eq. (35) |
Spectral metrics (PSD, ACLR, PAPR, CCDF) |
C |
a tone lands in its bin |
Systems and standards#
Module |
Level |
Strongest evidence |
|---|---|---|
DVB-S |
A |
EN 300 421 Tables 2 and 3, Figures 2, 4 and 5 |
DVB-S2 |
A |
EN 302 307-1 Table 13 and the tables of the standard |
DVB-T |
A |
EN 300 744 Tables C.1 and A.1 (Gaussian within 0.12 dB) |
CCSDS 131.0-B-5 channel coding |
A |
Tables F-1, 3-1, 6-2, 7-1, 7-5, C-1 and Annex G, exact |
AIS |
A |
the CRC catalogue; pyais outputs; a simulated ship end to end |
FM broadcasting and RDS |
A |
BS.450 and NRSC-4 tables; a simulated station end to end |
LTE cell search and MIB |
A |
TS 36.211 Table 6.11.2.1-1 verbatim; a measured cell decoded |
5G NR numerology, SSB, cell search and PDSCH DMRS |
A |
py3gpp outputs; Lin et al. 2019 |
5G NR PDSCH |
A |
Sionna and py3gpp bit for bit; TS 38.101-4 test 1-2 (2 and 4 RX) within the requirements |
Simulation and specifications#
Module |
Level |
Strongest evidence |
|---|---|---|
Monte Carlo runner |
A |
Brown, Cai & DasGupta 2001: the intervals and their exact coverage; thread independence, stopping rules |
Specifications, verification and operating-point search |
B |
the search against the inverted closed forms |
Recordings (SigMF, raw IQ, NPY) |
A |
sigmf-python, the reference implementation, both ways |