Memuat
Memuat
Watch every step above performed live, with English narration.
0 plays
Class book
Page 1 / 6
Cover: Class MIMO-OFDM Deep Learning Channel Estimation #4: Channel Estimation with DNN/CNN on Pilot Grid
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 Deep Learning Channel Estimation #4: Channel Estimation using DNN/CNN on Pilot Grid”.
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.
This is the final result, a CNN that looks at the entire 32 antenna x 64 subcarrier grid as an image, then refines the LMMSI estimation. At 0dB SNR, it's 2.5dB better than LMMSI. Let's get started. Welcome to episode four of the massive MIMO FDM channel estimation series with Deep Neural Networks. Our LMMSI only uses correlation between subcarriers at each antenna separately. Massive MIMO channels are also highly correlated between antennas because there are only a few paths. Today we are making a CNN that uses both.
Create a file named model_underscore_cnn.py. The prepare_input function converts the LMMSI estimation into a 3-channel tensor, like a color image, with real, imaginary, and SNR fields, so the CNN knows how much noise to clean. The CNN channel class uses 3x3 convolutions with dilation 1, 2, 4, and 8, so the field of view covers almost all antennas and subcarriers with back normalization. The output is residual, insert LMMSI plus correction, so the CNN only needs to learn what LMMSI missed. The train function generates new pilot noise in each epoch as data augmentation, so the model doesn't memorize specific noise.
Optimizer Adam with learning rate decreasing following a cosine curve, loss mean squared error against the actual channel, and back-64. The estimate function runs the model in chunks of 500 samples and returns the complex channel. Create a file named train_underscore_cnn.py and run it.
This model only has about 48,000 parameters and is trained for 15 epochs on GPU, about 1 minute. Then we compare it on the test data. At -10dB, CNN is -1.6dB compared to LMMSI -0.8dB. At 0dB, CNN is -7.07dB compared to LMMSI -4.58dB, which is 2.5dB better. At 10dB, CNN is still 1.2dB better, and at 20dB both are equal, because when noise is small LMMSI is already almost perfect.
Let's look at the graph. The training loss decreases steadily thanks to the cosine schedule. The next three images show the actual channel. LMMSI estimation at 0dB SNR still has noisy dots, and the CNN estimation is much cleaner and clearly shows the diagonal line pattern of the channel. CNN successfully used the correlation between antennas to clean the noise.
Done. We have designed a dilated residual CNN that refines LMMSI. Training with noise augmentation on GPU, and proving its superiority at low and medium SNR. In the next episode, we will investigate the effect of the number of pilots and the training SNR range. 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, least squares estimators, and LMMSI until channel estimation based on deep learning with PyTorch, as well as opening a Python programming course for electrical engineering and telecommunications. Want to master the entire series, from basic OFDM to NMSI and BER evaluation? All 6 episodes, complete with a step-by-step PDF guide and source code, Available for premium tutorial subscribers. Subscribe starting at Rp69.000 per month, save 28% with 12-month package, or one-time payment of Rp999.000 for lifetime access. 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 →