Skip to content

Releases: NVlabs/sionna

v0.12.1

04 Jan 16:06
eb1d5c4
Compare
Choose a tag to compare

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

07 Dec 15:53
b2878ed
Compare
Choose a tag to compare

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 and BaseDetectorWithPrior 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

13 Sep 10:24
2fcad58
Compare
Choose a tag to compare

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 by stateful 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

29 Jun 13:54
c8fb7bb
Compare
Choose a tag to compare

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

  • (#25) XLA compatibility with TF2.9 for the BP decoder
  • (#29) SNR property in PlotBER
  • Adds support for TF2.9
  • Minor bug fixes
  • Typos in the documentation

v0.9.2

24 Jun 16:53
df79049
Compare
Choose a tag to compare

Fixes

  • Drop support for TensorFlow 2.5 as it no longer receives updates
  • Update minimum TensorFlow version requirements to address recent CVEs

v0.9.1

31 May 14:08
488e6c3
Compare
Choose a tag to compare

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

29 Apr 20:45
59bdeb6
Compare
Choose a tag to compare

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

08 Apr 18:14
c4803a2
Compare
Choose a tag to compare

Fixes

  • OFDMDemodulator() issue for a cyclic_prefix equal to zero (closes github #6)
  • Fixes issue with Jupyter notebook requesting a token
  • Improve installation on macOS (closes github #2)
  • Other small bug fixes and enhancements

v0.8.0

21 Mar 14:12
7b45c07
Compare
Choose a tag to compare

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