Abstract:
A method and apparatus for providing adaptive cyclic redundancy check (CRC) computation is disclosed. A transport block size is determined. Transport block (TB) CRC bits are computed with a first CRC generator when the TB size is less than or equal to a predetermined threshold. TB CRC bits are computed with a second CRC generator when the transport block size is greater than the predetermined threshold. When the TB is greater than the predetermined threshold, the TB is segmented into code blocks (CBs) and CB CRC bits are computed with the first CRC generator. A method and apparatus for handling adaptively cyclic redundancy check (CRC) encoded transport blocks (TBs) is also disclosed. A TB is received. The TB is CRC checked based on a first CRC generator when the TB size is less than or equal to a predetermined threshold. Code blocks of the TB are CRC checked based on the first CRC generator when the TB size is greater than the predetermined threshold. When the TB size is greater than the predetermined threshold, the code blocks are concatenated, and the TB is CRC checked based on a second CRC generator.
Abstract:
The disclosure relates to a method (200) performed in a cyclic redundancy check, CRC, device (300) for calculating, based on a generator polynomial G(x), a CRC code for a message block. The method (200) comprises receiving (201) n segments of the message block in forward order or in reverse order, wherein at least one segment is received in reverse order; calculating (202) for each of the n segments a respective segment CRC code based on the generator polynomial G(x), wherein each segment CRC is calculated according to the received order of the segment; aligning (203) each of the n segment CRC codes; and calculating (204) the CRC code for the message block by adding together each of the aligned n segment CRC codes. The disclosure also relates to a device (300), computer program and computer program product.