Polar Codes

Definition:

Channel Polarization

Channel polarization is the phenomenon discovered by Arikan (2009) in which NN independent copies of a binary-input discrete memoryless channel WW are transformed, through a recursive linear operation, into NN synthetic channels WN(i)W_N^{(i)}, i=1,,Ni = 1, \ldots, N, such that as NN \to \infty:

  • A fraction I(W)I(W) of the synthetic channels become perfectly reliable (capacity 1\to 1).
  • The remaining fraction 1I(W)1 - I(W) become completely noisy (capacity 0\to 0).

The transformation uses the N×NN \times N polarization matrix

GN=BNFn\mathbf{G}_N = \mathbf{B}_N \mathbf{F}^{\otimes n}

where F=[1011]\mathbf{F} = \begin{bmatrix} 1 & 0 \\ 1 & 1 \end{bmatrix}, N=2nN = 2^n, Fn\mathbf{F}^{\otimes n} is the nn-th Kronecker power of F\mathbf{F}, and BN\mathbf{B}_N is a bit-reversal permutation.

A polar code of rate RcR_c transmits information on the K=NRcK = NR_c most reliable synthetic channels and sends frozen bits (known values, typically 0) on the remaining NKN - K channels.

Polar codes are the first provably capacity-achieving codes with explicit construction and polynomial encoding/decoding complexity.

Channel Polarization Visualised

Visualises Arikan's channel polarization: N=8N = 8 identical channels are transformed into synthetic channels that polarise to capacity 0 or 1. The animation shows the bar chart of channel capacities morphing from uniform to polarised, followed by information/frozen bit assignment for polar code construction.
Channel polarization drives synthetic channel capacities to extremes, enabling polar code construction by selecting the most reliable channels for information bits.

Successive Cancellation (SC) Decoding

Successive cancellation decoding estimates the bits one at a
time in the order u1,u2,,uNu_1, u_2, \ldots, u_N, using the channel
outputs and all previously decoded bits:
u^i={0if iF (frozen bit)0if LN(i)(y,u^1i1)01otherwise\hat{u}_i = \begin{cases} 0 & \text{if } i \in \mathcal{F} \text{ (frozen bit)} \\ 0 & \text{if } L_N^{(i)}(\mathbf{y}, \hat{u}_1^{i-1}) \geq 0 \\ 1 & \text{otherwise} \end{cases}
where LN(i)L_N^{(i)} is the log-likelihood ratio computed recursively
using the butterfly structure of the polarization transform:
L2N(2i1)=f(LN(i),LN(i))=2tanh1 ⁣(tanhLN(i)2tanhLN(i)2)L_{2N}^{(2i-1)} = f(L_N^{(i)}, L_N^{(i)}) = 2\tanh^{-1}\!\left(\tanh\frac{L_N^{(i)}}{2} \cdot \tanh\frac{L_N^{(i)}}{2}\right)
L2N(2i)=g(LN(i),LN(i),u^2i1)=(1)u^2i1LN(i)+LN(i)L_{2N}^{(2i)} = g(L_N^{(i)}, L_N^{(i)}, \hat{u}_{2i-1}) = (-1)^{\hat{u}_{2i-1}} L_N^{(i)} + L_N^{(i)}
The complexity of SC decoding is O(NlogN)O(N \log N).

Theorem: Polar Codes Achieve Channel Capacity

For any binary-input discrete memoryless channel WW with capacity I(W)I(W), polar codes of rate R<I(W)R < I(W) and block length N=2nN = 2^n achieve vanishing block error probability under SC decoding:

Pe(N)=O(2Nβ)P_e(N) = O(2^{-N^\beta})

for any β<1/2\beta < 1/2, as NN \to \infty.

Channel polarization drives the synthetic channel capacities to 0 or 1. By placing information bits only on the near-perfect channels and frozen bits on the useless channels, the code approaches capacity. The error probability decays super-exponentially in NN.

Example: Polar Code Construction for N = 8

Construct a rate-1/2 polar code for N=8N = 8 over a binary erasure channel (BEC) with erasure probability ϵ=0.5\epsilon = 0.5.

(a) Compute the Bhattacharyya parameters of all 8 synthetic channels.

(b) Select the 4 most reliable channels for information bits.

(c) Write the generator matrix.

CRC-Aided Successive Cancellation List (CA-SCL) Decoding

Plain SC decoding has poor finite-length performance because a single bit error propagates to corrupt all subsequent decisions. Two key improvements address this:

SC List (SCL) decoding (Tal and Vardy, 2015): maintains a list of LL candidate paths through the decoding tree. At each information bit position, both hypotheses (ui=0u_i = 0 and ui=1u_i = 1) are explored, and the list is pruned to the LL most likely paths. Complexity is O(LNlogN)O(LN \log N).

CRC-aided SCL (CA-SCL): Appends a CRC (e.g., 11 bits) to the information bits before polar encoding. After SCL decoding, the CRC selects the correct path from the list. This dramatically improves performance — a list size of L=8L = 8-3232 with CRC makes polar codes competitive with LDPC and turbo codes at short-to-medium block lengths.

Quick Check

In polar code construction, which synthetic channels are used to carry information bits?

The channels with the highest Bhattacharyya parameter

The channels with the lowest Bhattacharyya parameter (most reliable)

Randomly selected channels

Alternating channels (odd-indexed)

Common Mistake: SC Decoding Has Poor Finite-Length Performance

Mistake:

Using plain successive cancellation decoding and expecting performance competitive with LDPC or turbo codes at practical block lengths (e.g., N=256N = 256 to 81928192).

Correction:

SC decoding is capacity-achieving only asymptotically. At finite block lengths, it performs several dB worse than LDPC codes. CRC-aided SCL decoding (with list size L=8L = 8-3232) is essential for competitive performance and is used in all practical polar code deployments, including 5G NR.

Why This Matters: Polar Codes in 5G NR Control Channels

Polar codes were adopted in 3GPP Release 15 (2018) for the 5G NR control channels:

  • PDCCH (Physical Downlink Control Channel): carries downlink control information (DCI) with block sizes 12-140 bits.
  • PUCCH (Physical Uplink Control Channel): carries uplink control information (UCI) for blocks >11> 11 bits.

The 5G NR polar code uses CRC-aided SCL decoding with distributed CRC bits and a rate-matching scheme based on puncturing, shortening, and repetition. The reliability sequence for channel selection is pre-computed and stored in the standard.

Channel Polarization

A phenomenon where recursive channel combining and splitting transforms NN identical channels into NN synthetic channels that are either nearly perfect or nearly useless, with the fraction of good channels equalling the original channel capacity.

Related: Polar Code, Successive Cancellation (SC) Decoding, Bhattacharyya

Successive Cancellation Decoding

A sequential decoding algorithm for polar codes that estimates each bit in order, using the channel outputs and all previously decoded bits. Has O(NlogN)O(N \log N) complexity.

Related: Polar Code, Channel Polarization, Scl Decoding