Polar Codes
Definition: Channel Polarization
Channel Polarization
Channel polarization is the phenomenon discovered by Arikan (2009) in which independent copies of a binary-input discrete memoryless channel are transformed, through a recursive linear operation, into synthetic channels , , such that as :
- A fraction of the synthetic channels become perfectly reliable (capacity ).
- The remaining fraction become completely noisy (capacity ).
The transformation uses the polarization matrix
where , , is the -th Kronecker power of , and is a bit-reversal permutation.
A polar code of rate transmits information on the most reliable synthetic channels and sends frozen bits (known values, typically 0) on the remaining channels.
Polar codes are the first provably capacity-achieving codes with explicit construction and polynomial encoding/decoding complexity.
Channel Polarization Visualised
Successive Cancellation (SC) Decoding
Theorem: Polar Codes Achieve Channel Capacity
For any binary-input discrete memoryless channel with capacity , polar codes of rate and block length achieve vanishing block error probability under SC decoding:
for any , as .
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 .
Polarization
The recursive channel splitting creates synthetic channels whose Bhattacharyya parameters converge to either 0 (reliable) or 1 (unreliable). The fraction converging to 0 equals .
Error bound
Under SC decoding, the block error probability is bounded by
where is the information set. Since the selected channels have super-exponentially, the sum vanishes.
Example: Polar Code Construction for N = 8
Construct a rate-1/2 polar code for over a binary erasure channel (BEC) with erasure probability .
(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.
Recursive computation
Starting from , apply the polarization recursions:
For "bad" channel:
For "good" channel:
Level 1 (): ,
Level 2 ():
Level 3 (): continuing the recursion gives , , , , , , , .
Channel selection
Ranking by reliability (smallest ): (), (), (), ().
Information set: .
Frozen set: (frozen to 0).
Generator matrix
The generator matrix consists of rows 4, 6, 7, 8 of . The encoding is where for and the information bits fill positions in .
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 candidate paths through the decoding tree. At each information bit position, both hypotheses ( and ) are explored, and the list is pruned to the most likely paths. Complexity is .
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 - 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)
Information bits are placed on the most reliable synthetic channels (smallest ), while frozen bits (known zeros) are placed on the unreliable channels.
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., to ).
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 -) 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 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 identical channels into 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 complexity.
Related: Polar Code, Channel Polarization, Scl Decoding