---
title: CRC Concatenation Scheme
url: https://www.emergentmind.com/topics/crc-concatenation-scheme
type: topic
---

# CRC Concatenation Scheme

A CRC concatenation scheme refers to the systematic use of an outer cyclic redundancy check (CRC) code concatenated with an inner error-correcting code, such as a convolutional, turbo, or polar code. The CRC, while originally designed for error detection, plays a dual role: as an error detector for candidate codewords and, when combined with list or reliability-based decoding, as a tool for enhancing error-correcting performance—specifically at short or moderate block lengths where conventional decoders are suboptimal. The CRC concatenation paradigm is now fundamental in many high-performance finite-length coding schemes, as formalized in polar, convolutional, turbo, and generalized product code constructions.

## 1. Core Principles of the CRC Concatenation Scheme

A CRC concatenation scheme comprises two principal stages: 

1. **Outer CRC Encoding**: A CRC encoder computes CRC checksum bits for a block of $k$ information bits using a generator polynomial $g(x)$ (degree $m$), typically via
   $$
   r(x) = [x^m u(x)] \bmod g(x)
   $$
   so that the transmitted word is $u^\prime = (u_0,\ldots,u_{k-1}, r_0,\ldots,r_{m-1})$.

2. **Inner Forward Error-Correcting Code (FEC) Encoding**: The $k+m$-bit CRC-augmented word $u^\prime$ is encoded by an FEC such as a convolutional code, polar code, or turbo code, resulting in a codeword $c$.

This serial concatenation is reflected in standards such as CA-Polar (5G NR), CRC-TBCC/ZTCC for short blocklengths, and multi-CRC product codes [2104.07486, 2111.07929, 2001.06029, 1609.08813].

A typical decoding process involves list, sphere, or ordered-statistics decoding of the FEC, with the CRC acting as a filter to select plausible codewords or as an early-stopping/branch-pruning criterion.

## 2. Rationale and Performance Gains

The theoretical motivation for CRC concatenation is to address the gap between the frame error rate (FER) performance of practical decoders and the finite-blocklength channel coding bounds (e.g., RCU, normal approximation) in regimes where ML decoding is infeasible. Under finite-length and moderate SNR, canonical successive cancellation or Viterbi/BCJR decoding is sub-optimal for codes like polar or turbo code, respectively. Concatenating the CRC and performing list-based or reliability-based decoding enables practically achievable performance within a fraction of a dB of ML or the fundamental finite-length bound [1910.03254, 2104.07486, 2104.13905].

In CRC-aided list decoding (such as CA-SCL for polar codes, S-LVD for convolutional codes), the CRC checks act as "genie" selectors within the list, reducing the chance that an incorrect candidate is output. This often leads to *orders of magnitude* improvement in undetected error rate (UER) for minimal overhead and complexity penalty [2104.13905, 1912.07298, 2111.07929, 2001.06029].

## 3. CRC Selection and Distance-Spectrum-Optimality

The efficacy of CRC concatenation is highly influenced by the choice of generator polynomial. Optimality criteria are centered on maximizing the minimum distance $d_{\min}$, or more generally, distance-spectrum-optimality (DSO): maximizing the lowest output Hamming weight of CRC-divisible error patterns in the concatenated code [2001.06029, 2104.13905, 2111.07929, 2210.00026, 1506.02990].

The DSO CRC selection problem, for a fixed degree $m$, information length $k$, and codeword length $N$, consists of:

- Enumerating all error events (irreducible error events, or IEEs) in the inner code up to a suitable weight threshold,
- For each candidate CRC of degree $m$, checking which IEEs yield undetectable errors (i.e., are divisible by $g(x)$),
- Selecting the polynomial which maximizes undetected minimum distance and, in case of ties, minimizes the number of such errors at that distance.

Efficient algorithms for TBCCs (tail-biting convolutional codes) and ZTCCs (zero-terminated CCs) exploit the cyclic-shift closure property of the trellis and dynamic programming to reconstruct all relevant error events [2001.06029, 1506.02990].

## 4. Applications: Polar, Convolutional, Turbo, and Product Codes

### CA-Polar Codes  
In CA-Polar (CRC-aided polar) codes, the CRC is concatenated with the polar encoder output. List decoders, such as SCL, retain all candidate paths, and use the CRC to discard incorrect options. Optimized CA-Polar codes (degree-11, 16, 24 CRCs) achieve up to 0.1–0.2 dB gain at BLER $10^{-4}$ compared to standardized CRCs [1912.07298]. CA-HD (CRC-aided hybrid decoding) adapts between SCL and CRC-aided sphere decoding, achieving performance within 0.025 dB of the finite-blocklength bound at $N=128$, $R=1/2$ [1910.03254].

### CRC-TBCC, CRC-ZTCC (CRC-aided Convolutional Codes)  
A CRC is concatenated with a (typically short, high-rate) CC, tailored by DSO selection, and decoded by serial list Viterbi decoding (SLVD) with CRC filtering. At moderate CRC degrees ($m\sim10$) and blocklengths ($n\sim128$), these codes can approach the RCU bound within 0.1–0.4 dB [2111.07929, 2104.13905]. CRC selection using tail-biting-aware algorithms is essential for maintaining undetected error rates near theoretical minima [2001.06029].

### Turbo Codes  
For turbo-CRC codes, hybrid STD+OSD (standard turbo decoding plus reliability-based ordered statistics decoding) schemes fold the CRC constraint into the generator matrix during OSD, substantially reducing frame error rate and maintaining low undetected error probability, especially in very short blocklength regimes [2003.11233].

### Multi-CRC and Product Codes  
Multi-CRC schemes, as in segmented SCL or soft-concatenated polar products, distribute local and global CRCs over message partitions. Early local CRC checking allows aggressive pruning of lists or partial paths, reducing space and time complexity while incurring minimal performance loss ($<0.04$ dB for up to 85% complexity savings) [1609.08813, 1803.00521, 1207.4661].

## 5. Decoding Algorithms and Complexity

CRC concatenation schemes are tightly coupled with advanced decoding schemes exploiting list and reliability structures:

- **CA-SCL/CA-HD for Polar Codes**: List-based path tracking and CRC filtering yields near-ML performance. Adaptive and hybrid CA-HD adapts complexity based on path validity and CRC checks [1910.03254].
- **SLVD for Convolutional Codes**: The dual-trellis SLVD algorithm produces candidate codewords in metric order, with fast CRC checks acting as rejection filters. The average complexity is directly related to the expected list rank $E[L]$; as SNR increases, $E[L]\to1$, and complexity converges to that of plain Viterbi [2104.13905, 2111.07929].
- **GRAND Decoding**: The Guessing Random Additive Noise Decoding (GRAND) family of algorithms treats CRC codes as error-correcting codes, utilizing CRC membership checks at each guess step. Performance matches or exceeds traditional block codes such as BCH at ultra-short lengths [2104.13663].
- **Early Termination and Segmentation**: Multi-CRC or segmented CA-SCL/TCA-SCL prunes unlikely candidates early with local CRCs, reducing required space/time footprints with negligible performance impact [1609.08813, 1803.00521].

## 6. Practical Guidelines, Parameter Selection, and Implementation

Designing effective CRC concatenation schemes requires:

- Selection of CRC degree $m$ balancing rate loss and $d_{\min}$/distance spectrum improvement. For $N=128$, $K=64$, $m$ in $10-24$ is typical [1912.07298, 2104.07486].
- Use of polynomials maximizing $d_{\min}$, minimizing undetected error multiplicity, and matching the message length range; tables for best polynomials exist for standard lengths and degrees [1912.07298, 1506.02990].
- Tuning list size $L$ in CA-SCL/SLVD and abandonment thresholds in GRAND/OSD decoding to minimize complexity while approaching ML performance [2111.07929, 2104.13663].
- Partitioning message blocks in multi-CRC/product codes according to channel reliability, with tailored CRC allocation based on virtual lengths or reliability metrics [1803.00521, 1609.08813].
- Hardware implementation leverages the low-complexity, parallelizable nature of CRC computations (LFSRs, syndrome checks), and flexible reconfiguration for different degrees and code structures [2104.13663].

## 7. Extensions and Advanced Topics

- CRC concatenation schemes are effective for non-binary codes and orthogonal signaling channels. DSO CRCs for $Q$-ary alphabets and noncoherent 4-FSK maintain performance gaps of less than 0.6 dB to the RCU bound [2210.00026].
- In neural or BP decoding settings, the CRC factor graph is appended to the polar code’s factor graph, and extrinsic information passed between them, yielding measurable performance improvements (up to 0.5 dB at FRR $=10^{-5}$) with minimal latency overhead [1811.00124].
- The concatenation principle extends to any outer linear code: BCH, Reed-Solomon, and LDPC, where the outer code can be optimized for detection/correction in the context of the inner code’s error pattern structure [1811.00124, 1506.02990].

CRC concatenation schemes represent a unifying design paradigm achieving near-optimal finite-blocklength error control with modest implementation requirements, underpinning performance in diverse contemporary communication systems [1910.03254, 2104.07486, 2111.07929, 2104.13663, 1609.08813, 1803.00521, 1506.02990, 1912.07298, 2210.00026].

Source: https://www.emergentmind.com/topics/crc-concatenation-scheme