A Self-Refining Multi-Layer Receiver Pipeline

This repository contains the Python modules and Jupyter notebooks used to reproduce the experiments presented in:

A Self-Refining Multi-Layer Receiver Pipeline
2025 59th Asilomar Conference on Signals, Systems, and Computers
https://ieeexplore.ieee.org/abstract/document/11443343

The project implements a deep learning-based channel estimation framework for multi-layer MIMO communication systems and evaluates its impact on end-to-end receiver performance.


Workflow Overview

The experiments are organized into five stages:

  1. Dataset Generation – Generate training, validation, and test datasets.

  2. Model Training – Train the channel estimation neural network.

  3. NMSE Evaluation – Measure channel estimation accuracy.

  4. BLER Evaluation – Measure end-to-end communication reliability.

  5. HARQ Evaluation – Measure end-to-end communication throughput.

The notebooks should generally be executed in this order.


Dataset Generation

MLChEstDataGen.ipynb: Generates the training, validation, and test datasets used throughout the experiments. The notebook simulates a multi-layer MIMO communication system and creates supervised learning samples consisting of:

  • Received resource grids and DMRS information (inputs)

  • Ground-truth channel responses (targets)

⚠️ The generated datasets require approximately 30 GB of disk space.


Model Training

MLChEstTrain.ipynb: Trains the deep neural network used for multi-layer channel estimation. The notebook:

  • Loads the generated datasets

  • Initializes the channel estimation network

  • Trains the model using supervised learning

  • Selects the best model based on validation performance

  • Saves the trained model to the Models directory

An already-trained model is included with the repository. You may either train a new model or proceed directly to the evaluation notebooks using the provided model.


Model Evaluation

Three complementary evaluation notebooks are provided:

MLChEstEvaluateNMSE.ipynb: Evaluates channel estimation accuracy using Normalized Mean Squared Error (NMSE). This notebook compares the predicted channel estimates against the corresponding ground-truth channels and provides a direct measure of estimation performance.

MLChEstEvaluateBLER.ipynb: Evaluates end-to-end communication performance using Block Error Rate (BLER). The notebook compares multiple channel estimation methods across a range of signal-to-noise ratio (SNR) values and measures the probability of unsuccessful block decoding. BLER provides a practical measure of communication reliability and demonstrates how channel estimation quality affects receiver performance.

MLChEstEvaluateHARQ.ipynb: Evaluates end-to-end communication throughput using Hybrid Automatic Repeat reQuest (HARQ). The notebook compares multiple channel estimation methods while accounting for retransmissions and measures the resulting throughput across different SNR values. Throughput reflects the combined effects of channel estimation accuracy, decoding performance, and HARQ retransmissions, making it a useful system-level performance metric.


Core Modules

ChEstNet.py: Defines:

  • The dataset class used by the training and evaluation notebooks

  • The deep residual neural network architecture used for multi-layer channel estimation

ChEstUtils.py: Provides utility functions shared across the notebooks, including:

  • Channel estimation helpers

  • Evaluation utilities

  • Plotting and analysis functions


Notes

  • All experiments were developed and tested using Python and PyTorch.

  • Dataset generation is the most storage-intensive step and requires approximately 30 GB of free disk space.

  • Running the BLER and HARQ evaluations may require a significant amount of computation time, depending on the number of simulated transmissions and SNR points.