Python For Wireless Digital Communications

Wishlist Share
Share Course
Page Link
Share On Social Media

About Course

Python For Wireless Digital Communications

Python For Wireless Digital Communications: Rapidly learn, implement and prototype wireless telecom methods and systems using Python and TensorFlow for machine learning based designs. The course titled “Python For Wireless Digital Communications” covers the following topics:

  • Matlab vs Python – similarities and differences
  • Quick review of Python basics
  • Python Frameworks for Telecom
  • Why Sionna Python Framework
  • Sionna setup and installation
  • Getting Started with Sionna
  • Differentiable Communication Systems
  • Advanced Link-level Simulations
  • Learned Receivers using machine learning
  • Basic MIMO Simulations
  • Basic OFDM Simulations
  • Pulse-shaping Basics
  • Optical Channels
  • 5G Channel Coding and Rate-Matching: Polar vs. LDPC Codes
  • Bit-Interleaved Coded Modulation (BICM)
  • MIMO OFDM Transmissions over the CDL Channel Model
  • Neural Receiver for OFDM SIMO Systems
  • Realistic Multiuser MIMO OFDM Simulations
  • End-to-end Learning with Autoencoders
  • Weighted Belief Propagation Decoding
  • Channel Models from Datasets
  • Using the DeepMIMO Dataset with Sionna


Python for wireless course will use the opensource framework package called Sionna for rapid implementations of wireless digital communication method and systems.

The Sionna Framwork:

Sionna™ is a TensorFlow-based open-source library for simulating the physical layer of wireless and optical communication systems. The rapid prototyping of complex communication system architectures is as simple as connecting the desired building blocks, which are provided as Keras layers. Using differentiable layers, gradients can be backpropagated through an entire system, which is the key enabler for system optimization and machine learning, especially the integration of neural networks. NVIDIA GPU acceleration provides orders-of-magnitude faster simulation, enabling the interactive exploration of such systems, for example, in Jupyter notebooks that can be run on cloud services such as Google Colab. If no GPU is available, Sionna will run on the CPU.

Sionna is developed, continuously extended, and used by NVIDIA to drive 5G and 6G research. It supports MU-MIMO (multi-user multiple-input multiple-output) link-level simulation setups with 5G-compliant codes including low-density parity check (LDPC) and Polar en-/decoders, the 3GPP channel models, OFDM (orthogonal frequency-division multiplexing), channel estimation, equalization, and soft-demapping. Many other components such as convolutional and Turbo codes, the split-step Fourier method for the simulation of fiber-optical channels, as well as filters and windows for the investigation of single-carrier waveforms are available. Every building block is an independent module that can be easily tested, understood, and modified according to your needs. The documentation is complete and includes references.

The Sionna Advantages:
Most researchers in communications need a tool for link-level simulation to quickly prototype their ideas and benchmark their algorithms against the state-of-the-art. However, apart from proprietary software, there existed no widely-used common open-source tool. Moreover, experts in one domain, say channel estimation, do not necessarily have the time or background to evaluate their algorithm for end-to-end performance, for example, coded bit error rate (BER) over a realistic channel model.

Sionna provides a high-level application programming interface (API) to rapidly model complex communication systems from end-to-end while allowing you to adapt the part(s) your research is about. This enables you to focus on your research while making it more impactful and easily reproducible by others.

Thanks to Keras and TensorFlow, Sionna has native NVIDIA GPU support which makes it super fast and perfectly suited for machine learning research in communications. Sionna was discussed in detail in the 30th episode of the Wireless Future Podcast.

The Sionna documentation covers the following topics:
“Hello, world!”
Discover Sionna
Load Required Packages
Sionna Data-flow and Design Paradigms
Let’s Get Started – The First Layers (Eager Mode)
Batches and Multi-dimensional Tensors
First Link-level Simulation
Setting up the End-to-end Model
Run some Throughput Tests (Graph Mode)
Bit-Error Rate (BER) Monte-Carlo Simulations
For Beginners
For Experts
“Made with Sionna”
List of Projects
API Documentation
Forward Error Correction (FEC)
Orthogonal Frequency-Division Multiplexing (OFDM)
Multiple-Input Multiple-Output (MIMO)
Utility Functions

Show More

Course Content

Python for wireless digital communication systems – Part 1

  • Introducing the course and the Instructor Dr. Jehad Hamamreh
  • Matlab vs Python – similarities and differences
  • Overview of the course content outline and covered topics
  • Review of Python basics – Part 1
  • Review of Python basics – Part 2
  • Review of Python basics – Part 3
  • Review of Python basics – Part 4
  • Review of Python basics – Part 5
  • Introducing the Wireless Python Framework (Sionna): Features, Merits, and Capabilities
  • Explaining the Sionna Python package for wireless communications by one of its developers
  • Real Live Demo of Sionna to show how smoothly it works and how fast it runs the simulations
  • Interview Questions and Answers on the most comprehensive python package for wireless

Student Ratings & Reviews

No Review Yet
No Review Yet

Want to receive push notifications for all major on-site activities?