Signal Processing

CA-SCL

/see-ay ess-see-ell/
CRC-Aided Successive Cancellation List decoding: the standard algorithm for decoding polar codes in 5G NR control channels (PDCCH, PUCCH). CA-SCL maintains L parallel decoding paths through the polar code factor graph, branching at each uncertain bit decision, and uses a CRC appended to the information bits to select the correct path from the surviving list. With list sizes of L = 8 to 32, CA-SCL achieves performance within 0.1 dB of finite-length capacity bounds at short block lengths.
Category: Signal Processing
Full name: CRC-Aided Successive Cancellation List
5G NR usage: PDCCH, PUCCH (control)

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.

CA-SCL Algorithm
Path Metric Update:
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

CodeDecoder5G NR ChannelBlock LengthLatency
Polar + CA-SCLCA-SCL (L=8)PDCCH, PUCCH12-1024 bitsLow (μs)
LDPCBP / Min-SumPDSCH, PUSCH100-8448 bitsModerate
Reed-MullerML / correlationPUCCH (tiny payload)2-11 bitsVery low
Turbo (4G LTE)MAP / Max-Log-MAPLTE PDSCH/PUSCH40-6144 bitsHigh
Common Questions

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.

RF Engineering Resources

Request a Quote

Need 5G NR test equipment, baseband processing modules, or channel coding IP? Contact our engineering team.

Get in Touch