5.00
(2 Ratings)

Python For Wireless Digital Communications

Wishlist Share
Share Course
Page Link
Share On Social Media

About Course

Python For Wireless Digital Communications: In this course, you will learn how to rapidly  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:
Quickstart
Installation
“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
Conclusion
Tutorials
For Beginners
For Experts
“Made with Sionna”
List of Projects
API Documentation
Forward Error Correction (FEC)
Mapping
Channel
Orthogonal Frequency-Division Multiplexing (OFDM)
Multiple-Input Multiple-Output (MIMO)
Signal
Utility Functions
Configuration

================= Python for wireless communications ==================

Python is in general becoming an extremely popular programming language that can be used for a wide range of applications, including wireless communications. There are several libraries and tools available in Python that can be used to build wireless communication systems, such as:

  1. Scapy: A packet manipulation tool that can be used to send, receive, and manipulate wireless packets.
  2. PyWireless: A library that provides a set of tools for working with wireless communications, including support for Bluetooth, Zigbee, and more.
  3. GNURadio: A toolkit for building software-defined radio (SDR) systems, which can be used to receive and transmit wireless signals.
  4. PyLora: A library for working with the LoRa wireless communication protocol, which is commonly used for low-power, long-range wireless communication.
  5. PySDR: A library for working with SDRs in Python, including support for various wireless communication standards such as GSM, LTE, and more.
  6. Sionna: 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.

These are just a few examples of the tools and libraries available in Python for working with wireless communications. You can find more information and resources online to help you get started with using Python for your wireless communication projects.

Show More

What Will You Learn?

  • 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
  • Speeding up the systems implementation by 10x

Course Content

Python for wireless digital communication systems – Part 1

  • Introducing the course and the Instructor Dr. Jehad Hamamreh
    08:00
  • 06:00
  • Matlab vs Python – similarities and differences
    20:00
  • Code Example on The syntax differences between Matlab and Python
    08:07
  • Review of Python basics – Part 2 – Data types and Data Structures in Python
    10:00
  • Review of Python basics – Part 1 – Keywords and reserved names
    14:00
  • Review of Python basics – Part 3 – Complex data types in Python compared to Matlab
    09:00
  • Review of Python basics – Part 4 – Examples and Demonstrations
    30:00
  • Review of Python basics – Part 5 – Examples and Demonstrations on Functions, Classes, Objects, Libraries, etc.
    20:00
  • Python for wireless 1: Sionna concept, philosophy, advantages, and use cases
    17:00
  • Introducing the Wireless Python Framework (Sionna): Features, Merits, and Capabilities
    36:00
  • Python for wireless 2: Explaining Sionna data flow, code packages, and design paradigms
    33:00
  • Python for wireless 3 – Explaining Sionna data flow, code packages, and design paradigms – 2
    32:00
  • Python for wireless 4: How to simulate an end to end communication system over an AWGN using Sionna
    14:00
  • Python for wireless 5: Understanding how to setup a link level simulation scenario using Sionna
    20:00
  • Python for wireless 6: Setting up an end to end machine learning based model in Sionna
    17:00
  • Python for wireless 7: Gradient computation of end to end communication systems in Sionna
    21:00
  • Explaining the Sionna Python package for wireless communications by one of its developers
    01:00:44
  • Real Live Demo of Sionna to show how smoothly it works and how fast it runs the simulations
    04:06
  • Interview Questions and Answers on the most comprehensive python package for wireless
    01:05:07

Student Ratings & Reviews

5.0
Total 2 Ratings
5
2 Ratings
4
0 Rating
3
0 Rating
2
0 Rating
1
0 Rating
HA
11 months ago
Powerful course which help you to understand the Basics of python for telecommuncation sustem
D
1 year ago
Nice course, the python based machine learning was interesting