Polar Codes are inherently connected to Arikans successive cancellation (SC) decoding algorithm [2].
However, in 2011 Tal and Vardy proposed SC-list (SCL) decoding with an additional CRC check [3] outperforming state-of-the-art LDPC codes.
One main advantage of polar codes is that the code structure is explicitly given. However, freezing the right bits is in general not an easy task and depends on the chosen design SNR.
Although polar codes are capacity achieving under SC decoding [2], their finite length performance mainly depends on the decoding algorithm:
1. Successive cancellation (SC) decoding: Arikans proposed decoder
2. Successive cancellation list (SCL) decoding: SC extended by list decoding, high complexity
3. SCL with additional CRC (SCL-CRC) decoding: excellent performance, high complexity
4. Belief propagation (BP) decoding: parallel algorithm, degraded performance (compared to SCL)
See the following webdemo for a detailed explanation:
Webdemo - Polar Codes
and see the LDPC GPU Decoder webdemo for LDPC reference curves
Webdemo - LDPC GPU Decoder
This webdemo is mainly based on our hybrid decoding scheme [4] where we combine SCL decoding with BP decoding in order to increase the overall throughput, while maintaining the excellent BER performance of list decoding.
Thus, the real bit-error-rate performance can be simulated within a few seconds on our GPU-Cluster.
Or you can simply upload your own arbitrary frozen bit-position vector $\mathbf{A}$ for exploring the BER of this specific code design on-the-fly.