CRC Concept and Generation in 5G

CRC Concept and Generation in 5G

Cyclic Redundancy Check (CRC) is a method used in digital networks and storage devices to detect accidental changes to raw data. It is a crucial aspect of error detection in communication protocols, ensuring data integrity and reliability.

5G Physical Downlink Shared Channel (PDSCH) and CRC Generation

The 5G Physical Downlink Shared Channel (PDSCH) is a key channel in 5G NR that carries user data. To ensure the integrity of this data, CRC is used.

The MAC layer handles the data payload and control information, passing it to the PHY layer. The PHY layer processes the data payload, involving several steps such as coding, modulation, and multi-antenna processing.

https://www.techedgewireless.com/post/crc-concept-and-generation-in-5g

PHY Layer Transmission Sequence

The PHY layer involves a detailed transceiver chain, which includes:

  • CRC Calculation: Ensuring data integrity.
  • LDPC Coding: Forward error correction.
  • Modulation: Mapping data to signal waveforms.
  • AWGN Channel: Adding noise to simulate real-world conditions.
  • Demodulation and Decoding: Retrieving original data from the signal.


Transport Block CRC Attachment: PHY Layer Procedures

Transport Block

  1. Minimum Transport Block Size: For MCS0 and one RB: 24 bits
  2. Maximum Transport Block Size: For MCS27 and 275 RBs: 319784 bits

CRC Attachment

  1. CRC Bits Attached by PHY Layer: 24/16-bit CRC is attached to a transport block.

Function of CRC:

  1. CRC only detects errors and does not correct them.
  2. Essential for HARQ (Hybrid Automatic Repeat Request) implementation.

Error Detection Capability

  1. N-bit CRC Detection: An n-bit CRC will typically detect any single error burst of length n bits or less.


reference : sharetechnotes

More Points of CRC:

  • Different LTE implementations may use various CRC lengths (8, 16, or 24 bits) based on the error detection needs and the size of the transport blocks.
  • A larger CRC provides better error detection capabilities but adds more overhead.
  • Selection of CRC size depends on the required error detection reliability and system constraints.

Practical Example:

  • For a transport block size of 1500 bits, using a 24-bit CRC can detect errors with a high probability.
  • In contrast, using a 16-bit CRC might suffice for smaller transport blocks where the likelihood of errors is lower.

Practical Implementation

  • Transport block sizes vary depending on the channel conditions, modulation schemes, and coding rates.
  • Typical sizes range from a few hundred bits to several thousand bits.
  • Efficient implementation of CRC in both hardware and software is crucial for real-time processing in LTE systems.
  • Hardware implementations are generally preferred for high-speed requirements.

CRC Algorithm in 3GPP Context

  1. CRC Calculation: The transport block (TB) is interpreted as a sequence of bits. To prepare it for CRC computation, zeros are appended to the TB to match the degree of the generator polynomial. This augmented TB is then divided by the generator polynomial using modulo-2 arithmetic.
  2. CRC Checksum Generation: The remainder from this division operation represents the CRC checksum, which is appended to the original TB for transmission.
  3. Data Integrity Validation: Upon receiving the TB, the receiver performs the same division process. If the resulting remainder is zero, the integrity of the data is confirmed.

Example of CRC Generation and Validation

Six-bit transport block: 101011

CRC Generation:

  • Transport Block: Consider a six-bit transport block: 101011.
  • Generator Polynomial: D^2 + 1 (represented as 101 in binary).
  • Process: Append two zeros to the transport block to form 10101100 and divide it by the generator polynomial 101 using modulo-2 arithmetic.


The remainder after the division is 100.

Appending the Remainder: The CRC checksum 100 is appended to the original TB 101011, forming the transmitted block 101011100.

CRC Validation:

  • Received Transport Block: The transmitted block 101011100.
  • Receiver's Operation: The receiver performs the same division of the received block 101011100 by the generator polynomial 101.



8-bit transport block: 10011010

  • Transport Block (TB): Let's take an 8-bit transport block 10011010.
  • Generator Polynomial: D^3 +D^2 + 1 (represented as 1011).
  • Appending Zeros: Append three zeros to the TB to get 10011010000.
  • Division: Perform modulo-2 division of 10011010000 by 1011.
  • Division Steps:
  • 10011010000 ÷ 1011 results in a certain remainder.
  • CRC Checksum: The remainder is appended to the original TB.


CRC Validation Example:

  1. Received Transport Block: The TB 10011010 with the CRC checksum appended.
  2. Division by Polynomial: The receiver performs modulo-2 division of the received block by 1011.
  3. Checking Remainder: If the remainder is zero, the data is considered error-free.

CRC Implementation in 5G NR

In 5G NR, several CRC schemes are defined for different channels and data blocks:

  1. 24-bit CRC: Used for transport blocks in the downlink and uplink. This provides a good balance between error detection capability and overhead.
  2. 16-bit CRC: Used for smaller data blocks, where the overhead of a 24-bit CRC would be too high.
  3. 8-bit CRC: Used for very small control information messages, providing basic error detection with minimal overhead.

Cyclic Redundancy Check (CRC) is a fundamental technique for ensuring data integrity in communication systems. By understanding the detailed processes and protocols involved in CRC generation and validation, we can appreciate its critical role in maintaining the robustness and reliability of modern communication networks. As technology advances, CRC will continue to evolve, incorporating new techniques and optimizations to meet the increasing demands for high-speed and reliable data transmission.


References

3GPP TS 38.212: "NR; Multiplexing and channel coding".

"Error Control Coding" by Shu Lin and Daniel J. Costello Jr.

"Digital Communications" by John G. Proakis.


Thanks everyone

Ravi Shekhar

#CyclicRedundancyCheck #CRCin5G #ErrorDetection #DataIntegrity #5GTechnology #PDSCHin5G #PHYLayer #TransportBlock #CRCAttachment #HybridARQ #ForwardErrorCorrection #CRC24Bit #LDPCin5G #ErrorControl #CRCValidation #3GPPStandards #5GNR #ModulationIn5G #ReliableDataTransmission #CRCGeneration #CRCChecksum #ErrorFreeTransmission #5GDownlink #CRCSchemes #DigitalCommunications



要查看或添加评论,请登录

Ravi Shekhar Singh的更多文章

社区洞察

其他会员也浏览了