AntennaArray
AntennaArray.antenna_pattern
AntennaArray.array_size
AntennaArray.normalized_positions
AntennaArray.num_ant
AntennaArray.positions()
AntennaArray.rotate()
PlanarArray
PlanarArray.antenna_pattern
PlanarArray.array_size
PlanarArray.normalized_positions
PlanarArray.num_ant
PlanarArray.positions()
PlanarArray.rotate()
PlanarArray.show()
AntennaPattern
AntennaPattern.compute_gain()
AntennaPattern.patterns
AntennaPattern.show()
PolarizedAntennaPattern
PolarizedAntennaPattern.compute_gain()
PolarizedAntennaPattern.patterns
PolarizedAntennaPattern.show()
v_iso_pattern()
v_dipole_pattern()
v_hw_dipole_pattern()
v_tr38901_pattern()
polarization_model_tr38901_1()
polarization_model_tr38901_2()
antenna_pattern_to_world_implicit()
complex2real_antenna_pattern()
register_antenna_pattern()
register_polarization()
register_polarization_model()
Camera
Camera.look_at()
Camera.orientation
Camera.position
Paths
Paths.a
Paths.cfr()
Paths.cir()
Paths.doppler
Paths.interactions
Paths.num_rx
Paths.num_tx
Paths.objects
Paths.phi_r
Paths.phi_t
Paths.primitives
Paths.rx_array
Paths.sources
Paths.synthetic_array
Paths.taps()
Paths.targets
Paths.tau
Paths.theta_r
Paths.theta_t
Paths.tx_array
Paths.valid
Paths.vertices
InteractionType
INVALID_SHAPE
INVALID_PRIMITIVE
PathSolver
PathSolver.__call__()
PathSolver.loop_mode
RadioDevice
RadioDevice.color
RadioDevice.display_radius
RadioDevice.look_at()
RadioDevice.name
RadioDevice.orientation
RadioDevice.position
RadioDevice.velocity
Receiver
Transmitter
Transmitter.power
Transmitter.power_dbm
RadioMap
RadioMap.cdf()
RadioMap.cell_centers
RadioMap.cell_size
RadioMap.center
RadioMap.num_cells
RadioMap.num_rx
RadioMap.num_tx
RadioMap.orientation
RadioMap.path_gain
RadioMap.rss
RadioMap.rx_cell_indices
RadioMap.sample_positions()
RadioMap.show()
RadioMap.show_association()
RadioMap.sinr
RadioMap.size
RadioMap.tx_association()
RadioMap.tx_cell_indices
RadioMapSolver
RadioMapSolver.__call__()
RadioMapSolver.loop_mode
RadioMaterialBase
RadioMaterialBase.color
RadioMaterialBase.eval()
RadioMaterialBase.name
RadioMaterialBase.pdf()
RadioMaterialBase.sample()
RadioMaterialBase.scene
RadioMaterialBase.to_string()
RadioMaterialBase.traverse()
RadioMaterial
RadioMaterial.conductivity
RadioMaterial.frequency_update()
RadioMaterial.frequency_update_callback
RadioMaterial.relative_permittivity
RadioMaterial.scattering_coefficient
RadioMaterial.scattering_pattern
RadioMaterial.thickness
RadioMaterial.xpd_coefficient
ITURadioMaterial
ITURadioMaterial.itu_type
ITURadioMaterial.to_string()
HolderMaterial
HolderMaterial.radio_material
HolderMaterial.velocity
ScatteringPattern
LambertianPattern
DirectivePattern
BackscatteringPattern
register_scattering_pattern()
load_scene()
Scene
Scene.add()
Scene.all_set()
Scene.angular_frequency
Scene.bandwidth
Scene.edit()
Scene.frequency
Scene.get()
Scene.mi_scene
Scene.mi_scene_params
Scene.objects
Scene.paths_solver
Scene.preview()
Scene.radio_materials
Scene.receivers
Scene.remove()
Scene.render()
Scene.render_to_file()
Scene.rx_array
Scene.scene_geometry_updated()
Scene.sources()
Scene.targets()
Scene.temperature
Scene.thermal_noise_power
Scene.transmitters
Scene.tx_array
Scene.wavelength
box
box_one_screen
box_two_screens
double_reflector
etoile
floor_wall
florence
munich
simple_reflector
simple_street_canyon
simple_street_canyon_with_cars
simple_wedge
triple_reflector
SceneObject
SceneObject.look_at()
SceneObject.mi_shape
SceneObject.name
SceneObject.object_id
SceneObject.orientation
SceneObject.position
SceneObject.radio_material
SceneObject.scaling
SceneObject.scene
SceneObject.velocity
cpx_abs()
cpx_abs_square()
cpx_add()
cpx_convert()
cpx_div()
cpx_exp()
cpx_mul()
cpx_sqrt()
cpx_sub()
complex_relative_permittivity()
fresnel_reflection_coefficients_simplified()
itu_coefficients_single_layer_slab()
phi_hat()
theta_hat()
r_hat()
theta_phi_from_unit_vec()
rotation_matrix()
implicit_basis_vector()
jones_matrix_rotator()
jones_matrix_rotator_flip_forward()
to_world_jones_rotator()
jones_matrix_to_world_implicit()
jones_vec_dot()
complex_sqrt()
dbm_to_watt()
isclose()
log10()
sigmoid()
sinc()
subcarrier_frequencies()
watt_to_dbm()
fibonacci_lattice()
spawn_ray_from_sources()
offset_p()
spawn_ray_towards()
spawn_ray_to()
Config
Config.np_cdtype
Config.np_rdtype
Config.np_rng
Config.precision
Config.py_rng
Config.seed
Config.tf_cdtype
Config.tf_rdtype
Config.tf_rng
LinearEncoder
OSDecoder
LDPC5GEncoder
LDPCBPDecoder
LDPC5GDecoder
Polar5GEncoder
PolarEncoder
Polar5GDecoder
PolarSCDecoder
PolarSCLDecoder
PolarBPDecoder
ConvEncoder
ViterbiDecoder
BCJRDecoder
TurboEncoder
TurboDecoder
CRCEncoder
CRCDecoder
RowColumnInterleaver
RandomInterleaver
Turbo3GPPInterleaver
Deinterleaver
Scrambler
TB5GScrambler
Descrambler
Constellation
Constellation.center
Constellation.constellation_type
Constellation.normalize
Constellation.num_bits_per_symbol
Constellation.num_points
Constellation.points
Constellation.show()
Mapper
Mapper.constellation
Demapper
Demapper.constellation
SymbolDemapper
BinarySource
LLRs2SymbolLogits
PAMSource
PAM2QAM
QAMSource
QAM2PAM
SymbolInds2Bits
SymbolLogits2LLRs
SymbolLogits2Moments
SymbolSource
AWGN
FlatFadingChannel
GenerateFlatFadingChannel
ApplyFlatFadingChannel
SpatialCorrelation
KroneckerModel
PerColumnModel
ChannelModel
TimeChannel
GenerateTimeChannel
ApplyTimeChannel
cir_to_time_channel()
time_to_ofdm_channel()
OFDMChannel
GenerateOFDMChannel
ApplyOFDMChannel
cir_to_ofdm_channel()
RayleighBlockFading
PanelArray
Antenna
TDL
CDL
UMi
UMa
RMa
CIRDataset
time_lag_discrete_time_channel()
deg_2_rad()
rad_2_deg()
wrap_angle_0_360()
drop_uts_in_sector()
relocate_uts()
set_3gpp_scenario_parameters()
gen_single_sector_topology()
gen_single_sector_topology_interferers()
exp_corr_mat()
one_ring_corr_mat()
SSFM
EDFA
time_frequency_vector()
BinaryErasureChannel
BinaryMemorylessChannel
BinaryMemorylessChannel.llr_max
BinaryMemorylessChannel.temperature
BinarySymmetricChannel
BinaryZChannel
ResourceGrid
ResourceGridMapper
ResourceGridDemapper
RemoveNulledSubcarriers
OFDMModulator
OFDMDemodulator
PilotPattern
EmptyPilotPattern
KroneckerPilotPattern
BaseChannelEstimator
BaseChannelInterpolator
LSChannelEstimator
LinearInterpolator
LMMSEInterpolator
NearestNeighborInterpolator
tdl_time_cov_mat()
tdl_freq_cov_mat()
RZFPrecoder
PrecodedChannel
CBFPrecodedChannel
EyePrecodedChannel
RZFPrecodedChannel
OFDMEqualizer
LMMSEEqualizer
MFEqualizer
ZFEqualizer
PostEqualizationSINR
LMMSEPostEqualizationSINR
OFDMDetector
OFDMDetectorWithPrior
EPDetector
KBestDetector
LinearDetector
MaximumLikelihoodDetector
MaximumLikelihoodDetectorWithPrior
MMSEPICDetector
StreamManagement
cbf_precoding_matrix()
rzf_precoding_matrix()
rzf_precoder()
grid_of_beams_dft_ula()
grid_of_beams_dft()
flatten_precoding_mat()
normalize_precoding_power()
lmmse_matrix()
lmmse_equalizer()
mf_equalizer()
zf_equalizer()
List2LLR
List2LLRSimple
complex2real_vector()
real2complex_vector()
complex2real_matrix()
real2complex_matrix()
complex2real_covariance()
real2complex_covariance()
complex2real_channel()
real2complex_channel()
whiten_channel()
CarrierConfig
LayerMapper
LayerDemapper
PUSCHConfig
PUSCHDMRSConfig
PUSCHLSChannelEstimator
PUSCHPilotPattern
PUSCHPrecoder
PUSCHReceiver
PUSCHTransmitter
TBConfig
TBEncoder
TBDecoder
calculate_tb_size()
generate_prng_seq()
decode_mcs_index()
calculate_num_coded_bits()
TransportBlockNR
CodedAWGNChannelNR
MCSDecoderNR
SincFilter
RaisedCosineFilter
RootRaisedCosineFilter
CustomFilter
Filter
HannWindow
HammingWindow
BlackmanWindow
CustomWindow
Window
convolve()
fft()
ifft()
Upsampling
Downsampling
empirical_psd()
empirical_aclr()
inv_cholesky()
matrix_pinv()
compute_ber()
compute_bler()
compute_ser()
count_block_errors()
count_errors()
db_to_lin
DeepUpdateDict
dict_keys_to_int()
ebnodb2no()
complex_normal()
hard_decisions()
Interpolate
lin_to_db
log2()
MCSDecoder
scalar_to_shaped_tensor()
sim_ber()
SingleLinkChannel
SplineGriddataInterpolation
to_list()
TransportBlock
bisection_method()
plot_ber()
PlotBER
expand_to_rank()
flatten_dims()
flatten_last_dims()
insert_dims()
split_dim()
diag_part_axis()
flatten_multi_index()
gather_from_batched_indices()
tensor_values_are_in_set()
enumerate_indices()
Object
Object.cdtype
Object.precision
Object.rdtype
Block
Block.build()
Block.built
Block.call()
EffectiveSINR
EffectiveSINR.calibrate()
EESM
EESM.beta_table
EESM.beta_table_filenames
EESM.beta_tensor
EESM.validate_beta_table()
PHYAbstraction
PHYAbstraction.bler_interp_delta
PHYAbstraction.bler_table
PHYAbstraction.bler_table_filenames
PHYAbstraction.bler_table_interp
PHYAbstraction.cbs_interp_min_max_delta
PHYAbstraction.get_bler()
PHYAbstraction.get_idx_from_grid()
PHYAbstraction.load_table()
PHYAbstraction.new_bler_table()
PHYAbstraction.plot()
PHYAbstraction.snr_db_interp_min_max_delta
PHYAbstraction.snr_table_interp
PHYAbstraction.validate_bler_table()
InnerLoopLinkAdaptation
InnerLoopLinkAdaptation.bler_target
OuterLoopLinkAdaptation
OuterLoopLinkAdaptation.bler_target
OuterLoopLinkAdaptation.delta_down
OuterLoopLinkAdaptation.delta_up
OuterLoopLinkAdaptation.offset
OuterLoopLinkAdaptation.offset_max
OuterLoopLinkAdaptation.offset_min
OuterLoopLinkAdaptation.reset()
OuterLoopLinkAdaptation.sinr_eff_db_last
open_loop_uplink_power_control()
downlink_fair_power_control()
PFSchedulerSUMIMO
PFSchedulerSUMIMO.beta
PFSchedulerSUMIMO.pf_metric
PFSchedulerSUMIMO.rate_achieved_past
Hexagon
Hexagon.coord_axial
Hexagon.coord_dict()
Hexagon.coord_euclid
Hexagon.coord_offset
Hexagon.corners()
Hexagon.neighbor()
Hexagon.radius
HexGrid
HexGrid.cell_height
HexGrid.cell_loc
HexGrid.cell_radius
HexGrid.center_loc
HexGrid.grid
HexGrid.isd
HexGrid.mirror_cell_loc
HexGrid.num_cells
HexGrid.num_rings
HexGrid.show()
gen_hexgrid_topology()
get_num_hex_in_grid()
convert_hex_coord()
get_pathloss()
is_scheduled_in_slot()
spread_across_subcarriers()
Older Versions
We love to see how Sionna is used by other researchers! For this reason, you find below links to papers/projects whose authors have published Sionna-based simulation code.
Released in 2025 and based on Sionna v0.19.
Full 3D human pose reconstruction is a critical enabler for extended reality (XR) applications in future sixth generation (6G) networks, supporting immersive interactions in gaming, virtual meetings, and remote collaboration. However, achieving accurate pose reconstruction over wireless networks remains challenging due to channel impairments, bit errors, and quantization effects. Existing approaches often assume error-free transmission in indoor settings, limiting their applicability to real-world scenarios. To address these challenges, we propose a novel deep learning-based framework for human pose reconstruction over orthogonal frequency-division multiplexing (OFDM) systems. The framework introduces a two-stage deep learning receiver: the first stage jointly estimates the wireless channel and decodes OFDM symbols, and the second stage maps the received sensor signals to full 3D body poses. Simulation results demonstrate that the proposed neural receiver reduces bit error rate (BER), thus gaining a 5 dB gap at 10−4 BER, compared to the baseline method that employs separate signal detection steps, i.e., least squares channel estimation and linear minimum mean square error equalization. Additionally, our empirical findings show that 8-bit quantization is sufficient for accurate pose reconstruction, achieving a mean squared error of 5×10−4 for reconstructed sensor signals, and reducing joint angular error by 37\% for the reconstructed human poses compared to the baseline.
Released in 2025 and based on Sionna v0.17.
We propose a beam codebook design to reduce self-interference (SI) in integrated sensing and communication (ISAC) systems. Our optimization methods, which can be applied to both tapered beamforming and phased arrays, adapt the codebooks to the SI channel such that a certain SI level is achieved. Furthermore, we derive an upper bound on the quantization noise in terms of the achieved SI level, which provides guidelines to pose the optimization problem in order to obtain performance guarantees for sensing. By selecting standard reference codebooks in our simulations, we show substantially improved sensing quality with little impact on 5G-NR communication. Our proposed method is not only less dependent on hyperparameters than other approaches in the literature, but it can also reduce SI further, and thus deliver better sensing and communication performance.
Released in 2023 and based on Sionna v0.19.1.
Wireless backhauling at millimeter-wave frequencies (mmWave) in static scenarios is a well-established practice in cellular networks. However, highly directional and adaptive beamforming in today’s mmWave systems have opened new possibilities for self-backhauling. Tapping into this potential, 3GPP has standardized Integrated Access and Backhaul (IAB) allowing the same base station to serve both access and backhaul traffic. Although much more cost-effective and flexible, resource allocation and path selection in IAB mmWave networks is a formidable task. To date, prior works have addressed this challenge through a plethora of classic optimization and learning methods, generally optimizing a Key Performance Indicator (KPI) such as throughput, latency, and fairness, and little attention has been paid to the reliability of the KPI. We propose Safehaul, a risk-averse learning-based solution for IAB mmWave networks. In addition to optimizing average performance, Safehaul ensures reliability by minimizing the losses in the tail of the performance distribution. We develop a novel simulator and show via extensive simulations that Safehaul not only reduces the latency by up to 43.2% compared to the benchmarks, but also exhibits significantly more reliable performance, e.g., 71.4% less variance in achieved latency.
Released in 2024 and based on Sionna v0.15.1.
6th generation (6G) cellular networks are expected to enable various safety-critical use cases, e.g., in the industrial domain, which require flawless operation of the network. Thus, resilience is one of the key requirements for 6G. A particularly critical point is that 6G, as any other wireless technology, is based on the open radio medium, making it susceptible to interference. Especially intentional interference, i.e., jamming, can severely degrade the network operability. Therefore, a new approach for detecting anomalies in the radio spectrum using a digital twin (DT) of the radio environment is presented in this work. This allows the integration of contextual awareness in the anomaly detection process and is thereby superior to state-of-the-art methods for spectrum anomaly detection. We propose a suitable system architecture and discuss the tasks of machine learning (ML) therein, particularly for reducing the computational complexity and to detect anomalies in an unsupervised manner. The feasibility of the approach is demonstrated by ray tracing simulations. The results indicate a strong detection capability in case of an accurate DT and thereby illustrate the potential of DTs to enhance monitoring of wireless networks in the future.
Released in 2024 and based on Sionna v0.18.
We propose a practical framework for designing a physically consistent reconfigurable intelligent surface (RIS) to overcome the inefficiency of the conventional phase gradient approach. For a section of Cape Town and across three different coverage enhancement scenarios, we optimize the amplitude of the RIS reradiation modes using Sionna ray tracing and a gradient-based learning technique. We then determine the required RIS surface/sheet impedance given the desired amplitudes for the reradiation modes, design the corresponding unitcells, and validate the performance through full-wave numerical simulations using CST Microwave Studio. We further validate our approach by fabricating a RIS using the parallel plate waveguide technique and conducting experimental measurements that align with our theoretical predictions.
Released in September 2024 and based on Sionna v0.18.
We detail the steps required to deploy a multi-user multiple-input multiple-output (MU-MIMO) neural receiver (NRX) in an actual cellular communication system. This raises several exciting research challenges, including the need for real-time inference and compatibility with the 5G NR standard. As the network configuration in a practical setup can change dynamically within milliseconds, we propose an adaptive NRX architecture capable of supporting dynamic modulation and coding scheme (MCS) configurations without the need for any re-training and without additional inference cost. We optimize the latency of the neural network (NN) architecture to achieve inference times of less than 1ms on an NVIDIA A100 GPU using the TensorRT inference library. These latency constraints effectively limit the size of the NN and we quantify the resulting signal-to-noise ratio (SNR) degradation as less than 0.7 dB when compared to a preliminary non-real-time NRX architecture. Finally, we explore the potential for site-specific adaptation of the receiver by investigating the required size of the training dataset and the number of fine-tuning iterations to optimize the NRX for specific radio environments using a ray tracing-based channel model. The resulting NRX is ready for deployment in a real-time 5G NR system and the source code including the TensorRT experiments is available online.
Released in March 2024 and based on Sionna v0.16.
Digital twins are now a staple of wireless networks design and evolution. Creating an accurate digital copy of a real system offers numerous opportunities to study and analyze its performance and issues. It also allows designing and testing new solutions in a risk-free environment, and applying them back to the real system after validation. A candidate technology that will heavily rely on digital twins for design and deployment is 6G, which promises robust and ubiquitous networks for eXtended Reality (XR) and immersive communications solutions. In this paper, we present BostonTwin, a dataset that merges a high-fidelity 3D model of the city of Boston, MA, with the existing geospatial data on cellular base stations deployments, in a ray-tracing-ready format. Thus, BostonTwin enables not only the instantaneous rendering and programmatic access to the building models, but it also allows for an accurate representation of the electromagnetic propagation environment in the real-world city of Boston. The level of detail and accuracy of this characterization is crucial to designing 6G networks that can support the strict requirements of sensitive and high-bandwidth applications, such as XR and immersive communication.
Released in February 2024 and based on Sionna v0.16.
The burgeoning field of on-device AI communication, where devices exchange information directly through embedded foundation models, such as language models (LMs), requires robust, efficient, and generalizable communication frameworks. However, integrating these frameworks with existing wireless systems and effectively managing noise and bit errors pose significant challenges. In this work, we introduce a practical on-device AI communication framework, integrated with physical layer (PHY) communication functions, demonstrated through its performance on a link-level simulator. Our framework incorporates end-to-end training with channel noise to enhance resilience, incorporates vector quantized variational autoencoders (VQ-VAE) for efficient and robust communication, and utilizes pre-trained encoder-decoder transformers for improved generalization capabilities. Simulations, across various communication scenarios, reveal that our framework achieves a 50% reduction in transmission size while demonstrating substantial generalization ability and noise robustness under standardized 3GPP channel models.
Released in January 2024 and based on Sionna v0.15.
This Jupyter notebook shows how to create a Sionna scene (Mitsuba format) in Python code from OpenStreetMap data. Buildings are extruded and meshes for roads are created in a region specified by the user. It is an alternative to the Blender-based workflow presented in this video.
Released in 2023 and based on Sionna v0.16.
Ray tracing (RT) is instrumental in 6G research in order to generate spatially-consistent and environment-specific channel impulse responses(CIRs). While acquiring accurate scene geometries is now relatively straightforward, determining material characteristics requires precise calibration using channel measurements. We therefore introduce a novel gradient-based calibration method, complemented by differentiable parametrizations of material properties, scattering and antenna patterns. Our method seamlessly integrates with differentiable ray tracers that enable the computation of derivatives of CIRs with respect to these parameters. Essentially, we approach field computation as a large computational graph wherein parameters are trainable akin to weights of a neural network (NN). We have validated our method using both synthetic data and real-world indoor channel measurements, employing a distributed multiple-input multiple-output (MIMO) channel sounder.
Released in December 2023 and based on Sionna v0.16.
Large-scale channel prediction, i.e., estimation of the pathloss from geographical/morphological/building maps, is an essential component of wireless network planning. Ray tracing (RT)-based methods have been widely used for many years, but they require significant computational effort that may become prohibitive with the increased network densification and/or use of higher frequencies in B5G/6G systems. In this paper, we propose a data-driven, model-free pathloss map prediction (PMP) method, called PMNet. PMNet uses a supervised learning approach: it is trained on a limited amount of RT (or channel measurement) data and map data. Once trained, PMNet can predict pathloss over location with high accuracy (an RMSE level of 10−2) in a few milliseconds. We further extend PMNet by employing transfer learning (TL). TL allows PMNet to learn a new network scenario quickly (x5.6 faster training) and efficiently (using x4.5 less data) by transferring knowledge from a pre-trained model, while retaining accuracy. Our results demonstrate that PMNet is a scalable and generalizable ML-based PMP method, showing its potential to be used in several network optimization applications.
Released in 2023 and based on Sionna v0.15.
In this work, we propose a fully differentiable iterative decoder for quantum low-density parity-check (LDPC) codes. The proposed algorithm is composed of classical belief propagation (BP) decoding stages and intermediate graph neural network (GNN) layers. Both component decoders are defined over the same sparse decoding graph enabling a seamless integration and scalability to large codes. The core idea is to use the GNN component between consecutive BP runs, so that the knowledge from the previous BP run, if stuck in a local minima caused by trapping sets or short cycles in the decoding graph, can be leveraged to better initialize the next BP run. By doing so, the proposed decoder can learn to compensate for sub-optimal BP decoding graphs that result from the design constraints of quantum LDPC codes. Since the entire decoder remains differentiable, gradient descent-based training is possible. We compare the error rate performance of the proposed decoder against various post-processing methods such as random perturbation, enhanced feedback, augmentation, and ordered-statistics decoding (OSD) and show that a carefully designed training process lowers the error-floor significantly. As a result, our proposed decoder outperforms the former three methods using significantly fewer post-processing attempts.
Sionna is a GPU-accelerated open-source library for link-level simulations based on TensorFlow. Its latest release (v0.14) integrates a differentiable ray tracer (RT) for the simulation of radio wave propagation. This unique feature allows for the computation of gradients of the channel impulse response and other related quantities with respect to many system and environment parameters, such as material properties, antenna patterns, array geometries, as well as transmitter and receiver orientations and positions. In this paper, we outline the key components of Sionna RT and showcase example applications such as learning of radio materials and optimizing transmitter orientations by gradient descent. While classic ray tracing is a crucial tool for 6G research topics like reconfigurable intelligent surfaces, integrated sensing and communications, as well as user localization, differentiable ray tracing is a key enabler for many novel and exciting research directions, for example, digital twins.
Released in 2022 and based on Sionna v0.11.
Iterative detection and decoding (IDD) is known to achieve near-capacity performance in multi-antenna wireless systems. We propose deep-unfolded interleaved detection and decoding (DUIDD), a new paradigm that reduces the complexity of IDD while achieving even lower error rates. DUIDD interleaves the inner stages of the data detector and channel decoder, which expedites convergence and reduces complexity. Furthermore, DUIDD applies deep unfolding to automatically optimize algorithmic hyperparameters, soft-information exchange, message damping, and state forwarding. We demonstrate the efficacy of DUIDD using NVIDIA's Sionna link-level simulator in a 5G-near multi-user MIMO-OFDM wireless system with a novel low-complexity soft-input soft-output data detector, an optimized low-density parity-check decoder, and channel vectors from a commercial ray-tracer. Our results show that DUIDD outperforms classical IDD both in terms of block error rate and computational complexity.
Even though machine learning (ML) techniques are being widely used in communications, the question of how to train communication systems has received surprisingly little attention. In this paper, we show that the commonly used binary cross-entropy (BCE) loss is a sensible choice in uncoded systems, e.g., for training ML-assisted data detectors, but may not be optimal in coded systems. We propose new loss functions targeted at minimizing the block error rate and SNR deweighting, a novel method that trains communication systems for optimal performance over a range of signal-to-noise ratios. The utility of the proposed loss functions as well as of SNR deweighting is shown through simulations in NVIDIA Sionna.
We propose a fully differentiable graph neural network (GNN)-based architecture for channel decoding and showcase competitive decoding performance for various coding schemes, such as low-density parity-check (LDPC) and BCH codes. The idea is to let a neural network (NN) learn a generalized message passing algorithm over a given graph that represents the forward error correction code structure by replacing node and edge message updates with trainable functions.
We propose a neural network (NN)-based algorithm for device detection and time of arrival (ToA) and carrier frequency offset (CFO) estimation for the narrowband physical random-access channel (NPRACH) of narrowband internet of things (NB-IoT). The introduced NN architecture leverages residual convolutional networks as well as knowledge of the preamble structure of the 5G New Radio (5G NR) specifications.