Memuat
Memuat
Watch every step above performed live, with English narration.
0 plays
Class book
Page 1 / 7
Cover: Class MIMO-OFDM Channel Estimation Deep Learning #1: OFDM and MIMO Basics: Subcarrier, Pilot, Multipath Channel
Click a page or use ◀ ▶ to turn · swipe on mobile · to enlarge
Want to go deeper?
Join one of our courses or ask us directly on WhatsApp.
Picked from the software, topic, and level of “Class MIMO-OFDM Channel Estimation Deep Learning #1: OFDM and MIMO Basics: Subcarrier, Pilot, Multipath Channel”.
Other ways we can help with Python.
Learn with a mentor
Scheduled AI & Machine Learning courses with live guidance and a certificate.

Multi-Objective Optimization Course: NSGA-II, MOPSO & Hybrid Algorithms (Python)

ECG Arrhythmia Classification Course with Wavelet & Deep Learning (PyTorch)

ANFIS + PSO/GA Course for Non-Linear Time Series Forecasting (Python)
Have it built for you
No time to learn Python? Our team can do the project for you.

Python Machine Learning — Prediction Models, Customer Segmentation, Fraud Detection & AI Apps

AI Image Creation with Stable Diffusion — Unlimited Custom Visual Production
★ 4.9

AI Image & Video Creation with Leonardo AI — All-in-One Visuals for Business
★ 4.9
Get notified about new Python classes
At most one email a week. Unfollow anytime with one click.
The full narration of this video. The current sentence is highlighted while the video plays; click any sentence to jump there.
Here is the final result, the OFDM system we wrote ourselves with Python. The complex multipath channel becomes a simple multiplication at each subcarrier, and our BER simulation matches exactly with the theoretical formula. Let's get started. Hello, welcome to the research tutorial series, Deep Neural Network-based Massive MIMO OFDM Channel Estimation. To receive data correctly, the receiver must know the channel conditions, and in massive MIMO with dozens of antennas, the estimation becomes more difficult yet more important. In this 6-episode series, we build everything from scratch, OFDM, massive MIMO simulation, least squares estimator and LMMSI, CNN channel estimation, pilot influence and SNR, up to NMSI and BER evaluation. In the first episode, we build OFDM.
We open the terminal through the terminal menu, new terminal, then install NAMPY, SKIPI, TORC, and MATPLOTLIB. PYTORCH will be used later for CNN channel estimation, and if there is an NVIDIA GPU, the training will automatically use the GPU.
Create a file named OFDM.py. We use 64 subcarriers and a cyclic prefix of 16 samples. The QIP-SK function maps each bit pair into one complex symbol with energy 1 using gray coding. The OFM function converts symbols in the frequency domain into a time signal with IFFT, then copies the last 16 samples to the front as a cyclic prefix. This prefix is what makes the channel convolution into circular convolution.
The OFM demod function removes the cyclic prefix and performs FFT. The multipath channel function generates an impulse response with 8 taps having an exponentially decreasing power profile, each tap distributes the power, with total power 1. The channel pass function convolves the signal with the channel and then adds AWGN noise according to SNR.
Create the test file underscore OFM.py and run it. Without noise, the received signal division with the transmitted symbol is exactly the same with the channel frequency response H, the error is only 10 to the power of minus 5. This means the 8-tap multipath channel becomes 1 complex multiplication per subcarrier, because the cyclic prefix 16 is longer than the channel. In the AWGN channel, BER at 0dB is 0.159, exactly theoretical, and already 0 at 12dB. In the multipath Rayleigh channel with zero-forcing equalizer, BER decreases much more slowly, still 0.03 at 12dB and 6 x 10 to the power of minus 4 at 30dB, because some subcarriers fall into the fading trough. Let's look at the graph.
The channel frequency response varies tens of decibels between subcarriers, this is frequency-selective fading. The received constellation rotates and scales randomly, but after dividing by H it becomes 4.QPSK. The BER graph shows the AWGN simulation overlapping with theory, and a large gap to the Rayleigh curve. All of this assumes H is perfectly known, whereas in the real world H must be estimated.
Done. We have built a complete OFDM system, QPSK, IFFT, cyclic prefix, multipath channel, FFT, and 1-tab equalizer, and validated BER against theory. In the next episode, we scale it up to MIMO with 32 antennas and generate the channel dataset. Currently working on a thesis, dissertation, or research in the field of telecommunications and artificial intelligence? Cerdas Inovasi Digital helps implement communication system research, from OFDM and multipath channels, massive MIMO simulations, score estimators and LMMSI, up to deep learning-based channel estimation with PyTorch, as well as opening Python programming courses for electrical engineering and telecommunications. Want to master the entire series, from basic OFDM up to NMSI evaluation and BER? All 6 episodes Complete with a step-by-step PDF guide and source code, available to premium tutorial subscribers. Subscribe starting at Rp69.000 per month, save 28% with the 12-month package, or pay once Rp999.000 for lifetime access. Want just one class? Buy the single class with lifetime access. Subscribe now on the premium page cerdasinovasidigital.com. Contact our WhatsApp, or visit cerdasinovasidigital.com. Thank you for watching, see you in the next episode.
Type a question or keyword; we find the part of this episode that explains it and jump the video there.
Notes are saved with the current video time and are only visible to you.
Stuck on a step? Ask here; the instructor and other learners can answer.
No questions yet.

Cerdas Inovasi Digital Team
Software developers, BIM & 3D engineers, and AI practitioners
We build software, BIM models, games and AI automations for clients every day, and turn that hands-on work into step-by-step classes: every step is shown on screen and comes with a PDF guide you can keep.
See our clients →