# Channel Coding Project List
List of open source channel coding projects and libraries from Github.
## Table of Contents
- [General](#general)
- [Polar Codes](#polar-codes)
* [5G NR](#5g-nr)
- [LDPC Codes](#ldpc-codes)
* [5G NR](#5g-nr)
* [IEEE 802.11](#ieee-80211)
- [Convolutional Codes](#convolutional-codes)
- [Turbo Codes](#turbo-codes)
* [4G LTE](#4g-lte)
## General
- [aff3ct/aff3ct](https://github.com/aff3ct/aff3ct) - A fast simulator and a library dedicated to the channel coding. (C++)
- [IT++](http://itpp.sourceforge.net/4.3.1/group__fec.html) - IT++ is a C++ library of mathematical, signal processing and communication classes and functions. It also has modules for channel coding. (C++)
- [veeresht/CommPy](https://github.com/veeresht/CommPy/tree/master/commpy/channelcoding) - Digital communication library for Python. (Python)
## Polar Codes
- [tavildar/Polar](https://github.com/tavildar/Polar) - C and MATLAB implementation for Polar encoding and decoding. (C, Matlab)
- [YuYongRun/PolarCodes-Encoding-Decoding-Construction](https://github.com/YuYongRun/PolarCodes-Encoding-Decoding-Construction) - Polar codes MATLAB implementations, including encoder, several types of SC decoder, CRC-SCL decoder and many code construction algorithms. (Matlab)
- [YuYongRun/PolarCodeDecodersInMatlab](https://github.com/YuYongRun/PolarCodeDecodersInMatlab) - Matlab realization of Polar decoders, including CA-SCL, Fast CA-SCL and BP decoder. (Matlab)
- [YuYongRun/PolarCodesSphereDecoder](https://github.com/YuYongRun/PolarCodesSphereDecoder) - Polar sphere decoder. (Matlab)
- [Spartak0s/Polar-Codes-Software-Matlab-](https://github.com/Spartak0s/Polar-Codes-Software-Matlab-) - Simulation for polar codes. (Matlab)
- [RQC-QApp/polar-codes](https://github.com/RQC-QApp/polar-codes) - Python implementation of Polar codes. (Python)
- [xiaoshaoning/polar-codes](https://github.com/xiaoshaoning/polar-codes) - Polar code encoding and successive cancellation decoding in matlab. (Matlab)
- [MashaYudi/PolarCodes](https://github.com/MashaYudi/PolarCodes) - Sequential and List decoders of polar codes. (C++)
- [SherlockHsu/PolarCodes](https://github.com/SherlockHsu/PolarCodes) - Polar code implementation in C and mex wrappers. (C, Matlab)
- [fantasua/PolarCodesMatLab](https://github.com/fantasua/PolarCodesMatLab) - Polar Codes in MatLab. (Matlab)
- [fantasua/PolarCodes](https://github.com/fantasua/PolarCodes) - PolarCodes inplemented in C++. (C++)
- [nicoladefranceschi/PolarCodes](https://github.com/nicoladefranceschi/PolarCodes) - Polar code implementation in C. (C)
- [duckbill360/Polar-Codes](https://github.com/duckbill360/Polar-Codes) - Polar Belief Propagation decoding. (Python)
- [njroussel/PolarCodes](https://github.com/njroussel/PolarCodes) - Matlab implementation of polar codes for a BEC. (Matlab)
- [luxinjin/polar-code](https://github.com/luxinjin/polar-code) - Matlab simulations for polar code. (Matlab)
- [Spartak0s/Polar-Codes-Hardware-VHDL](https://github.com/Spartak0s/Polar-Codes-Hardware-VHDL) - Polar Codes Implementation on VHDL. (VHDL)
- [icehan/polar-codes](https://github.com/icehan/polar-codes) - Polar code implementation in C++. (C++)
- [msddm5618/polar-codes-on-MATLAB](https://github.com/msddm5618/polar-codes-on-MATLAB) - Polar code simulation on MATLAB .
- [egs33/PolarCodes](https://github.com/egs33/PolarCodes) - Polar codes in C++. (C++)
- [willshant/PolarCodes](https://github.com/willshant/PolarCodes) - Polar codes in C. (C)
- [willshant/PolarCodes-DSP](https://github.com/willshant/PolarCodes-DSP) - Polar code implementation on DSP. (C)
- [AbdulRahmanAlHamali/polar-codes-matlab](https://github.com/AbdulRahmanAlHamali/polar-codes-matlab) - A Matlab Implementation of Polar Codes. (Matlab)
- [SebastianCa/LDPC-like-Decoding-of-Polar-Codes](https://github.com/SebastianCa/LDPC-like-Decoding-of-Polar-Codes) - Code for the paper "Sparse Graphs for Belief Propagation Decoding of Polar Codes". (Matlab)
- [polarcodes.info - Simulation package](http://www.polarcodes.info/#download) - Polar code package
- [Polar coding algorithms in Matlab - Viterbo](https://ecse.monash.edu/staff/eviterbo/polarcodes.html) - Polar coding algorithms in Matlab.
### 5G NR
- [xiaoshaoning/5g-polar-code](https://github.com/xiaoshaoning/5g-polar-code) - 5G NR polar code. (Matlab)
- [robmaunder/polar-3gpp-matlab](https://github.com/robmaunder/polar-3gpp-matlab) - Matlab simulations of the encoder and SCL decoder for the New Radio polar code from 3GPP Release 15. (Matlab)
## LDPC Codes
- [willemolding/FastPythonLDPC](https://github.com/willemolding/FastPythonLDPC) - A port of MATLAB code for decoding LDPC codes using belief propagation to Python. (Matlab, Python)
- [wanganran/LDPC_codes](https://github.com/wanganran/LDPC_codes) - Low density parity check codes. (C++)
- [tavildar/LDPC](https://github.com/tavildar/LDPC) - C and MATLAB implementation for LDPC encoding and decoding. (C, Matlab)
- [cea-wind/LDPCC](https://github.com/cea-wind/LDPCC) - Low Density Parity Check codes encoder and decoder, in particular for CCSDS standards. (Matlab)
- [xdsopl/LDPC](https://github.com/xdsopl/LDPC) - Low-density parity-check codes. (C++)
- [robmaunder/ldpc-3gpp-matlab](https://github.com/robmaunder/ldpc-3gpp-matlab) - Matlab simulations of the encoder and decoder for the New Radio LDPC code from 3GPP Release 15. (Matlab)
- [hichamjanati/pyldpc](https://github.com/hichamjanati/pyldpc) - Creation of LDPC codes & simulation of coding and decoding binary data. Applications to sound and image files. (Python)
- [radfordneal/LDPC-codes](https://github.com/radfordneal/LDPC-codes) - Software for Low Density Parity Check codes. (C)
- [jontio/LDPC-4Qt](https://github.com/jontio/LDPC-4Qt) - Forward Error Correction using LDPC codes with Qt C++. (C++)
- [uzum/ldpc-peg](https://github.com/uzum/ldpc-peg) - Implementation of Progressive Edge Growth algorithm in Tanner Graphs for short cycle free LDPC code construction. (JavaScript)
- [blegal/Fast_LDPC_decoder_for_x86](https://github.com/blegal/Fast_LDPC_decoder_for_x86) - The source codes of the fast x86 LDPC decoder published. (C++)
- [simonedva/ADMM-penalized-decoder-for-LDPC-codes](https://github.com/simonedva/ADMM-penalized-decoder-for-LDPC-codes) - It provides an algorithm in MATLAB for decoding with linear programming LP (it uses projectionPolytope function). (Matlab, C)
- [chsasank/LDPC-Codes](https://github.com/chsasank/LDPC-Codes) - Java implementation of sum-product algorithm for LDPC codes. (Java)
- [daodanfei/ldpc](https://github.com/daodanfei/ldpc) - LDPC codes in Matlab. (Matlab)
- [matthew-a-thomas/js-ldpc](https://github.com/matthew-a-thomas/js-ldpc) - A JavaScript implementation of a Low-Density Parity-Check code. (JavaScript)
- [YuYongRun/LDPC](https://github.com/YuYongRun/LDPC) - Exact BP decoder. EG, PG, PEG-ACE, 80211n, 80216e LDPC codes. Many modulation schemes. (Matlab)
- [cea-wind/hls_ldpc_dec](https://github.com/cea-wind/hls_ldpc_dec) - Full piplined LDPC decoder (IEEE 802.16e) implement in FPGA using Xilinx HLS(C synthesis to Verilog Codes). (HLS)
- [djah/LDPC_simulator](https://github.com/djah/LDPC_simulator) - C++ simulation environment for LDPC codes. (C++)
- [kir1994/LDPC](https://github.com/kir1994/LDPC) - Nonbinary LDPC codes encoding and decoding implementation. (C++)
- [shubhamchandak94/ProtographLDPC](https://github.com/shubhamchandak94/ProtographLDPC) - Implementation of Protograph LDPC error correction codes (Python)
### 5G NR
- [xiaoshaoning/5g-ldpc](https://github.com/xiaoshaoning/5g-ldpc) - 5G NR LDPC codes in Matlab. (Matlab)
- [vodafone-chair/5g-nr-ldpc](https://github.com/vodafone-chair/5g-nr-ldpc) - A 5G NR compliant LDPC library. (Matlab)
- [SherlockHsu/5G-LDPC-MexFunction](https://github.com/SherlockHsu/5G-LDPC-MexFunction) - 5G LDPC simulation based on Matlab MEX function. (Matlab, C)
- [SherlockHsu/5G-SIMD-LDPC](https://github.com/SherlockHsu/5G-SIMD-LDPC)