This repo is providing the official implementation of TransCoder framefork from paper "TransCoder: A Neural-Enhancement Framework for Channel Codes".
python main.py --outer_code_type=LDPC_nn --K=121 --padd_symbol_len=2 --num_iters=2 --low_bp=3 --high_bp=6 --train=1 --d_k_trx=16 --device=cuda --K_in=60Running the TransCoder for other codes can be found in run_train.sh
Codes are available only for non-commercial research purposes.
As TransCoder framework relies on the channel coding part, here we provide the references to other projects that our framework is using.
- The channel code matrices (except LDPC codes with code length 384) and functions processing these matrices were taken from ECCT.
- The turbo code pipeline was adapted from TinyTurbo.
- The training loss for polar codes with SC decoding structure was adapted from npd-communication.
- Belief propagation (BP) for LDPC and BCH codes and linear code encoding/decoding has similar implementation to kaira.
