CA-SCL
Understanding CA-SCL Decoding
Polar codes, invented by Erdal Arikan in 2009, are the first provably capacity-achieving codes with explicit construction. They work by "polarizing" a set of identical binary channels into channels that are either nearly perfect (used for information bits) or nearly useless (frozen to known values). The original SC decoder decodes bits sequentially, but a single wrong decision propagates through the entire codeword.
SCL decoding fixes this by maintaining L candidate paths. At each bit position, the decoder computes the likelihood of both 0 and 1 decisions. If the decision is uncertain (the likelihoods are close), it forks the path into two, keeping the L paths with the highest cumulative path metrics. After all N bits are decoded, L candidate codewords remain. Without CRC, the best-metric path is chosen (often wrong). With CRC, the decoder checks all L paths and selects the one passing the CRC check, dramatically improving accuracy.
PMl(i) = PMl(i−1) + ln(1 + e−(1−2ûi)×LLRi)
where ûi is the bit decision on path l
List Pruning:
At each fork: 2L candidates → keep L with lowest PM
CRC Selection:
After all bits decoded, check each path's CRC
Output = path with valid CRC and lowest PM
Complexity:
O(L × N × log N), where N = code length
Example: N=512, K=56, L=8, CRC-24 → BLER = 10−3 at Eb/No ≈ 1.5 dB (within 0.1 dB of capacity).
5G NR Channel Coding Comparison
| Code | Decoder | 5G NR Channel | Block Length | Latency |
|---|---|---|---|---|
| Polar + CA-SCL | CA-SCL (L=8) | PDCCH, PUCCH | 12-1024 bits | Low (μs) |
| LDPC | BP / Min-Sum | PDSCH, PUSCH | 100-8448 bits | Moderate |
| Reed-Muller | ML / correlation | PUCCH (tiny payload) | 2-11 bits | Very low |
| Turbo (4G LTE) | MAP / Max-Log-MAP | LTE PDSCH/PUSCH | 40-6144 bits | High |
Frequently Asked Questions
Why does polar code decoding need a list?
SC makes hard decisions bit-by-bit. A wrong early decision corrupts all subsequent bits. SCL keeps L parallel paths, forking at uncertain positions. With L=8, the correct path is almost always in the list. The CRC then identifies which one is right.
How does CRC aid improve SCL performance?
Without CRC, SCL picks the highest-metric path (not always correct). With CRC, all L survivors are checked and the one passing CRC is selected. This gives near-ML performance for L=8 to 32. 5G NR uses 6-bit, 11-bit, or 24-bit CRC depending on channel and payload size.
How does CA-SCL compare to LDPC in 5G?
Polar+CA-SCL wins at short blocks (<200 bits, control info). LDPC wins at long blocks (1000+ bits, user data). Crossover is 200-500 bits. This is why 5G uses both: polar for control, LDPC for data.