This repository implements the results found in Reinforcement Learning for Channel Coding: Learned Bit-Flipping Decoding
Create a venv:
pip install virtualenv
python -m venv env
source env/bin/activate
Download requirements.txt:
pip install -r /path/to/requirements.txt
main.py
driver code to train/evaluate the agent and compare results with benchmarkbf_env.py
is an OpenAI gym environment for bit flipping environmentsarsa.py
runs sarsa algorithm using e-greedy policybf_decoding.py
(old)channel.py
models AWGN and BSC channelscodes.py
is used to load generator and parity check matrices to define the type of code the agent will be decoding
/Hmat
holds generator and parity check matricies for codes in .mat format; see here/MATLAB
runs benchmark decoding algorithms in matlab/policies
saves the Q table for a specific code after training the agent using sarsa (too large for repository)/benchmark
holds .mat files for BER using MATLAB decoding algorithms/figs
figures from training and BER comparison