RACNN (Residual Attention CNN) is a deep learning model designed for near-field channel estimation in 6G wireless communications. The model implements a novel architecture combining residual networks with attention mechanisms to improve channel estimation accuracy.
- Python 3.8+
- TensorFlow 2.10.0
- MATLAB (for data generation)
- NumPy
- SciPy
- PyYAML
git clone https://github.com/DoHaiSon/RACNN.git
cd RACNN
conda env create -f env.yml
conda activate RACNNRACNN/
├── configs/ # Configuration files
│ ├── defaults.yaml # Default configuration
│ └── ... # Other config variants
├── data/ # Dataset storage
├── gen_data/ # Data generation scripts
│ ├── noisy_channel.py # Channel data generation during training
│ └── gen_data.m # MATLAB script for data generation
├── models/ # Model architectures
│ ├── CNN.py # CNN implementation
│ └── RACNN.py # RACNN implementation
├── utils/ # Utility functions
├── config.py # Do not modify
├── train.py # Training script
├── test.py # Testing script
└── env.yml # Conda environment configuration
Before training and testing the model, you need to generate the dataset using MATLAB.
- Open MATLAB and navigate to the
gen_datadirectory. - Run the
gen_data.mscript to generate the channel data. - The generated data will be saved in the
datadirectory.
python train.py python test.py --ckpt path/to/model.kerasIf you use this code for your research, please cite:
@inproceedings{RACNN2025,
title={RACNN: Residual Attention Convolutional Neural Network for Near-Field Channel Estimation in 6G Wireless Communications},
author={Lam, Vu Tung and Son, Do Hai and Quynh, Tran Thi Thuy and Le, Trung Thanh},
booktitle={Conference on Information Technology and its Applications (CITA)},
month = {July},
year = {2025},
location = {Phnom Penh, Cambodia},
pages = {387-399},
}
Feel free to fork this repository and submit pull requests. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.