Releases: NVlabs/sionna
Releases · NVlabs/sionna
v0.12.1
Fixes
- Issue with CRCEncoder and
int_mod_2
function for large input tensors - (#76) Issue related to step noise calculation in SSFM
- (#75) Issue related to llr_max of LDPC decoder and adds new attribute
- Issue in the tests for KBest
- Updates documentation and fixes typos
Misc
- Add support for TensorFlow 2.11
- Version adjustments in requirements
v0.12.0
MIMO
- Add
MMSEPICDetector
layer for MMSE-PIC detection, contribution from rwiesmayr - Add
EPDetector
layer for expectation propagation (EP) detection - Add
KBestDetector
for K-Best detection - Utility layer
PAM2QAM
now also supports soft information
FEC
- Add
OSDDecoder
layer for ordered statistics decoding (OSD) - Add submodule
fec.linear
for universal support of Linear Codes - Add support for max-log BCJR decoding to the convolutional and Turbo decoders
- Align Turbo and convolutional encoders
- Add support for code termination to convolutional codes
- Add input LLR clipping to LDPC BP decoding
OFDM
- Add base class
BaseChannelEstimator
to ease the implementation of OFDM channel estimators - Add base class
BaseChannelInterpolator
to ease the implementation of OFDM channel interpolators - Add
LMMSEInterpolator
for LMMSE channel time and frequency interpolation and optional spatial smoothing - Add utility functions to compute time and frequency covariance matrices of TDL models
- Add base class
BaseEqualizer
to ease implementation of OFDM MIMO equalizers - Add base classes
BaseDetector
andBaseDetectorWithPrior
to ease the implementation of OFDM MIMO detectors without and with prior information - Add
LinearDetector
layer for LMMSE, MR, or ZF equalization followed by app or max-log demapping for OFDM MIMO detection - Add
KBestDetector
for K-Best-based OFDM MIMO detection - Add
EPDetector
for EP-based OFDM MIMO detection - Add
MMSEPICDetector
for MMSE-PIC-based OFDM MIMO detection - Add a setter to
PilotPattern
to support one-the-fly update of pilot symbols
Channel
- Add MIMO support to TDL channel models through the specification of arbitrary correlation matrices
- Add support for TDL A30, B100, and C300 channel models
- Fix base station orientation in
gen_topology_*
utilities
Tutorials
- Add a notebook showing how to use and compare some of the OFDM channel estimators and MIMO detectors available in Sionna
MISC
- Typos fix and new test cases
- Drop support for TensorFlow 2.6
v0.11.0
Features
-
Support for optical fiber simulations
- Split step Fourier method (SSFM)
- Erbium doped fiber amplifier
- New tutorial notebook on optical fiber simulations
- Refactorization of the channel documentation
-
BCJR decoder for convolutional codes
-
Support for Turbo codes
- Turbo encoding layer
- Turbo decoding layer
- New interleaver layer supporting the LTE Turbo code interleaver patterns (cf. 36.212)
- Utility functions for code generation and for puncturing
-
Improved scrambling layer
- Support for custom scrambling sequences
- Utility function to support scrambling sequences as defined in for 38.211
-
Adds LDPC rate-matching output interleaver to LDPC5GEncoder and LDPC5GDecoder
-
Utility function to generate random regular LDPC parity-check matrices
-
Zero-forcing (ZF) and matched filter (MF) MIMO equalizers
-
Tensor utility function for pseudo inverse computation
-
Several MIMO utility functions for channel whitening and complex-to-real valued representations
-
(OFDM) MIMO maximum likelihood detector with prior
-
Utility layer for computing logits on constellation points from LLRs
-
New tutorial on using the DeepMIMO dataset with Sionna
-
Restructured website
- Made with Sionna section
- Direct links to Github discussion/issues
Breaking Changes
- In LDPCBPDecoder and LDPC5GDecoder,
keep_state
has been replaced bystateful
flag and the decoder now returns the states instead of keeping an internal reference - TDL and CDL power delay profiles are now normalized to have unit total power (related to issue #12).
Fixes
- (#38) Fixes issue with PanelArray()
- (#43) Fixes issue with MLDetector
- Adds support for TensorFlow 2.10
- Bug fix in SymbolLogits2Moments
- Bug fix in mapping module related to double precision
- Adds missing reference of generate_dense_polar in
sionna.fec.polar.__init__
- Improves stability of graph mode in Polar SCL decoding
- Issue of LDPC decoding when graph is not pruned
- Fixes missing attribute in Linear Encoder
- Improved selection of polynomials for convolutional codes
- Removes deprecated items in pylintrc due to updated version of Lynter
- Typos in the documentation
- Corrects the LoS path power calculation oft the 3GPP 38.901 channel models
- Fixes a bug in the effective noise variance computation of the lmmse_equalizer
v0.10.0
New features
- Universal FEC encoder for binary linear codes
- Utility functions for FEC to
- Convert parity-check matrix to generator matrix
- Make generator matrix systematic
- Generate dense Polar parity-check and generator matrices
- Verify that generator and parity check matrix are orthogonal in GF(2)
- Linear interpolator for OFDM channel estimation (with optional time-averaging)
- MIMO maximum likelihood detector that computes either LLRs on bits or logits on constellation points
- SymbolSource layer for sampling arbitrary constellations
- PAMSource layer for sampling PAM constellations
- The SymbolSource, PAMSource, QAMSource, and Mapper optionally return the indices of the constellation points and/or the bit labels
- Utility layer to compute logits on constellation points to LLRs on bits (with optional priors)
- Utility layer to compute the mean and variance of a constellation given logits on the points
- Addition of integration tests
Fixes
v0.9.2
v0.9.1
Fixes
- Solves deprecated warning in utils.metrics (#14)
- Issue related to explicit interleaver seed in graph mode
- Issues related to RessourceGridDemapper (#19)
- Output shape of signal.utils.convolution()
- Corrects year of Gallager quote in channel coding example notebook
- Corrects Eb/No rate calculation in channel coding example notebook
- Typos in documentation
- Solves issue related to PanelArray.show() (#23)
- Optimization of signal.utils.convolution() for complex-valued inputs
v0.9.0
Features
New Signal Module
- Layers for up-/downsampling
- Layers for (trainable) filters (e.g., pulse shaping)
- Layers for (trainable) windowing functions
- Utility functions for convolution, (I)FFT, PSD, and ACLR calculation
- New example notebook on pulse-shaping
Fixes
- OFDMModulator issue
- Removes several warnings during unittests
v0.8.1
v0.8.0
Features
Forward error correction (FEC)
- 5G LDPC codes including rate matching
- 5G Polar codes including rate matching
- Cyclic redundancy check (CRC)
- Reed-Muller & Convolutional codes
- Interleaving & Scrambling
- Belief propagation (BP) decoder and variants
- SC, SCL, and SCL-CRC Polar decoders
- Viterbi decoder
- Demapper with prior
- EXIT chart simulations
- Import of partity-check matrices in alist format
Channel models
- Additive white Gaussian noise (AWGN) channel
- Flat-fading channel models with antenna correlation
- 3GPP 38.901 TDL, CDL, UMa, UMi, RMa models
- Import of channel impulse response from datasets
- Channel output computed in time or frequency domain
MIMO processing
- Multiuser & multicell MIMO support
- 3GPP 38.901 & custom antenna arrays/patterns
- Zero forcing (ZF) precoding
- Minimum mean squared error (MMSE) equalization
Orthogonal frequency-division multiplexing (OFDM)
- OFDM modulation & demodulation
- Cyclic prefix insertion & removal
- Flexible 5G slot-like frame structure
- Arbitrary pilot patterns
- LS channel estimation & Nearest neighbor interpolation