YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
OFDM Channel Estimator
Learned channel estimation for OFDM: a small neural network refines pilot-based estimates (e.g. LS) to reduce noise and interpolation error.
Motivation
In OFDM systems, channel state information is obtained from pilot subcarriers. Least-squares (LS) estimates are noisy. A lightweight NN can denoise or refine these estimates and improve BER in low-SNR regimes.
Setup
- OFDM simulation: Generate OFDM symbols with pilot pattern (e.g. comb-type), pass through a multipath channel, add noise.
- Pilot-based LS estimate: Classic LS on pilot positions, then interpolate (linear or spline) to get full channel.
- NN refiner: MLP that takes the LS channel estimate (real/imag) and outputs a refined estimate. Implemented in
run_ofdm_channel_est.py.
Usage
pip install -r requirements.txt
python run_ofdm_channel_est.py
Optional args: --n_fft, --n_pilots, --n_symbols, --snr_db, --epochs. The script runs a short simulation, trains the refiner, and saves channel_refiner.pt.
Files
run_ofdm_channel_est.py— simulation, data generation, model definition, and training.requirements.txt— PyTorch, NumPy.
Limitations / future work
- Simplified channel model (static multipath); mobility and Doppler would require a different setup.
- Could extend to 2D (time–frequency) estimation with recurrent or 2D conv layers.
Author
Alireza Aminzadeh
- Email: alireza.aminzadeh@hotmail.com
- Hugging Face: syeedalireza
- LinkedIn: alirezaaminzadeh
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support