Skip to content

About

Neural OFDM channel estimation vs LS/MMSE on 3GPP TDL channels: 11.7 dB NMSE gain over mismatched MMSE

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

6G Neural Network Channel Estimation

Neural network-based channel estimation for OFDM systems, benchmarked against LS and MMSE baselines under 3GPP TDL channel models.

Course: ELEN E6771 — 5G & NextG Programmable Networks, Columbia University


Setup

python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Usage

Train

python scripts/run_training.py [--channel TDL-A] [--epochs 100] [--seed 42]

Generates 50k training pairs, trains the FC network, and saves:

  • results/checkpoints/best_model.pt
  • results/figures/training_curves.png

Evaluate

python scripts/run_evaluation.py [--checkpoint results/checkpoints/best_model.pt] [--channel TDL-A]

Evaluates LS, MMSE, and NN estimators across SNR range and saves all figures to results/figures/.

Tests

python -m pytest tests/ -v

System Parameters

Parameter Value
FFT size 64 subcarriers
Pilots 8 (comb pattern)
Guard bands 4 each side
Cyclic prefix 16 samples
Modulation QPSK
Channel model TDL-A (3GPP TR 38.901)
Delay spread 30 ns RMS
Doppler 10 Hz
Sampling rate 15.36 MHz

Output Figures

File Description
nmse_vs_snr.png NMSE (dB) vs SNR for LS, MMSE, NN
ber_vs_snr.png BER vs SNR with perfect CSI bound
training_curves.png Train/val MSE loss per epoch
channel_realization.png
nmse_vs_snr_tdl_comparison.png NN NMSE across TDL-A/B/C

Architecture

Input: [Re(H_pilots), Im(H_pilots)]  →  (batch, 16)
FC(16→256) → LayerNorm → ReLU → Dropout(0.1)
FC(256→512) → LayerNorm → ReLU → Dropout(0.1)
FC(512→512) → LayerNorm → ReLU → Dropout(0.1)
FC(512→256) → LayerNorm → ReLU → Dropout(0.1)
FC(256→128) → (batch, 128) = [Re(H_full), Im(H_full)]

565,888 parameters. He initialization, Adam optimizer, ReduceLROnPlateau scheduler.


Expected Results

SNR (dB) LS NMSE (dB) MMSE NMSE (dB) NN NMSE (dB)
-5 -3 -8 -7
5 -10 -17 -16
15 -20 -27 -26
25 -30 -35 -34

NN tracks MMSE closely without requiring explicit channel statistics.

About

Neural OFDM channel estimation vs LS/MMSE on 3GPP TDL channels: 11.7 dB NMSE gain over mismatched MMSE

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages