EP2015494A2

Methods and apparatus to compute CRC for multiple code blocks in a communication system

Abstract

A method and a circuit for generating cyclic redundancy checks. The method calculates a plurality of cyclic redundancy checks for a transport block with a plurality of information bits. A transport block CRC is calculated for a transport block including a plurality of information bit. A transport block including the transport block CRC is segmented into a plurality of subsets and a plurality of cyclic redundancy checks are calculated for the plurality of subsets. At least one cyclic redundancy check among the plurality of cyclic redundancy checks is calculated based on a subset of information bits. In addition, a transport block cyclic redundancy check may be calculated based on all the information bits.

EP2015494A2, drawing sheet 1
Sheet 1 of 61

Term

1.8 yearsto projected expiry

Projected expiry 11 July 2028, counted from filing; an application has no term until it is granted.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

18 claims: 7 independent, 11 dependent

  1. 1
    A method for generating Cyclic Redundancy Checks of information bits and transmitting the information bits together with the generated CRCs in a communication system, the method comprising the steps of:calculating a transport block CRC for a transport block including a plurality of information bits;segmenting a transport block including the transport block CRC into a plurality of subsets;calculating a plurality of CRCs for the plurality of subsets;and transmitting the plurality of subsets and the plurality of CRCs for the plurality of subsets.
  2. 13
    A circuit for generating cyclic redundancy checks in data communications, comprising:an input port for receiving information data;an output port for outputting the information data and cyclic redundancy checks;a linear feedback shift register unit communicatively connected between the input port and the output port, and comprising L shift registers for transforming the information data with a cyclic redundancy check generation polynomial g(x) having a degree of L-1;a cyclic redundancy check register unit communicatively connected between the input port and the linear feedback shift register unit, and comprising L cyclic redundancy check registers;a first switch communicatively connected between the input port and the cyclic redundancy check register unit;a second switch communicatively connected at a feedback loop of the linear feedback shift register unit;a third switch communicatively connected between the linear feedback shift register unit and the cyclic redundancy check register unit;a fourth switch communicatively connected between the input port, the linear feedback shift register unit and the output port, and having a first position for connecting the input port and the output port, and a second position for connecting the linear feedback shift register unit and the output port;and Controlling the first to the fourth switch to sequentially perform the first operation of initializing the linear feedback shift register unit and the cyclic redundancy check register unit to an all-zero state, the second operation of serially inputting a code block of information bits via the input port, the third operation of shifting the linear feedback shift register unit L times to obtain the cyclic redundancy checks for the code block and the fourth operation of resetting the linear feedback shift register unit to the all-zero state.
  3. 14
    A circuit for generating cyclic redundancy checks in data communications, comprising:an input port for receiving information data;an output port for outputting the information data and cyclic redundancy checks;a linear feedback shift register unit communicatively connected between the input port and the output port, and comprising L shift registers for transforming the information data with a cyclic redundancy check generation polynomial g(x) having a degree of L-1;L state registers communicatively connected to corresponding ones of the L shift registers to write and read data values to and from the L shift registers;a first switch communicatively connected between the input port and the linear feedback shift register unit;a second switch communicatively connected at a feedback loop of the linear feedback shift register unit;a third switch communicatively connected between the input port, the linear feedback shift register unit and the output port, and having a first position for connecting the input port with the output port, and a second position for connecting the linear feedback shift register unit and the output port ;and Controlling the first to the fourth switch to sequentially perform the first operation of initializing the linear feedback shift register unit and the state registers to an all-zero state, the second operation of serially inputting a code block of information bits via the input port, the third operation of writing the data values in the L shift registers in the feedback shift register unit to the respectively corresponding state registers, the fourth operation of shifting the linear feedback shift register unit L times to obtain the cyclic redundancy checks for the code block and the fifth operation of writing the data values in the state registers to the respectively corresponding shift registers in the feedback shift register unit.
  4. 15
    A circuit for generating cyclic redundancy checks in data communications, comprising:an input port for receiving information data;an output port for outputting the information data and cyclic redundancy checks;a first linear feedback shift register unit communicatively connected between the input port and the output port, and comprising L shift registers for transforming the information data with a cyclic redundancy check generation polynomial g(x) having a degree of L-1;a second linear feedback shift register unit communicatively connected between the input port and the output port being in parallel with the first linear feedback shift register unit, and comprising L shift registers for transforming the information data with a cyclic redundancy check generation polynomial g(x) having a degree of L-1;a first switch communicatively connected between the input port and a common node between the first and second linear feedback shift register units;a second switch communicatively connected at a feedback loop of the first linear feedback shift register unit;a third switch communicatively connected between the input port, the common node between the first and second linear feedback shift register units, and the output port, and having a first position for connecting the input port with the output port, a second position for connecting the first linear feedback shift register unit and the output port, and a third position for connecting the second linear feedback shift register unit and the output port;a fourth switch communicatively connected at a feedback loop of the second linear feedback shift register unit;and Controlling the first to the fourth switch to sequentially perform the first operation of initializing the first and second linear feedback shift register units to an all-zero state, the second operation of serially inputting a code block of information bits via the input port, the third operation of making a determination regarding whether the received code block is the last code block of the information data, the fourth operation of shifting the first linear feedback shift register unit L times to obtain the cyclic redundancy checks for the code block and the fifth operation of resetting the first linear feedback shift register unit to the all-zero state.
  5. 16
    A circuit for generating cyclic redundancy checks in data communications, comprising:an input port for receiving information data;an output port for outputting the information data and cyclic redundancy checks;a linear feedback shift register unit communicatively connected between the input port and the output port, and comprising L shift registers for transforming the information data with a cyclic redundancy check generation polynomial g(x) having a degree of L-1;a first switch communicatively connected between the input port and the linear feedback shift register unit;a second switch communicatively connected at a feedback loop of the linear feedback shift register unit;a third switch communicatively connected between the input port, the linear feedback shift register unit and the output port, and having a first position for connecting the input port with the output port, and a second position for connecting the linear feedback shift register unit and the output port;and Controlling the first to the fourth switch to sequentially perform the first operation of initializing the linear feedback shift register unit to an all-zero state, the second operation of serially inputting a code block of information bits via the input port, the third operation of shifting the linear feedback shift register unit L times to obtain the cyclic redundancy checks for the code block.
  6. 17
    A method for calculating cyclic redundancy check of a data packet, the method comprising the steps of:segregating the data packet into a plurality of code blocks, with each code block being represented by a polynomial established by: b i x = b i , 0 ⁢ x B i - 1 + b i , 1 ⁢ x B i - 2 + ⋯ + b i , B i - 2 ⁢ x + b i , B i - 1 , where i is the index of the code block b i ( x ) , i = 0, 1, ..., C - 1, C is the total number of the code blocks, B i is the size of the i-th code block b i ( x );repeatedly inputting information bits of each code block into a linear feedback shift register unit comprising L shift registers, and generating a cyclic redundancy check for each code block in dependence upon an L-bit cyclic redundancy check polynomial: g x = g 0 ⁢ x L + g 1 ⁢ x L - 1 + ⋯ + g L - 1 ⁢ x + g L , with the cyclic redundancy check p k ( x ) for a k-th code block b k ( x ) being established by: p k x = a k x ⋅ x L - q k x ⋅ g x where q k ( x ) is the quotient of a k ( x ) ·x L divided by g ( x ), a 0 ( x ) = b 0 ( x ), a k ( x ) = a k -1 ( x )· x B k + b k ( x ), B k is the size of the k-th code block b k ( x );and appending the generated cyclic redundancy checks at the end of the respective corresponding code blocks.
  7. 18
    A method for calculating cyclic redundancy check of a data packet, the method comprising the steps of:segregating the data packet into a plurality of code blocks, with each code block being represented by a polynomial established by: b i x = b i , 0 ⁢ x B i - 1 + b i , 1 ⁢ x B i - 2 + ⋯ + b i , B i - 2 ⁢ x + b i , B i - 1 , where i is the index of the code block b i ( x ) , i = 0,1, ..., C -1, C is the total number of the code blocks, B i is the size of the i-th code block b i ( x );repeatedly inputting information bits of each code block into a first linear feedback shift register unit comprising L shift registers and a second linear feedback shift register unit comprising L shift registers, and generating a cyclic redundancy check for each code block in dependence upon an L-bit cyclic redundancy check polynomial: g x = g 0 ⁢ x L + g 1 ⁢ x L - 1 + ⋯ + g L - 1 ⁢ x + g L , with the cyclic redundancy check p k ( x ) for a k-th code block b k ( x ) being established by: p k x = b k x ⋅ x L - q k x ⋅ g x , for k = 0 , 1 , … C - 2 , and p k x = a k x ⋅ x L - q k x ⋅ g x , for k = C - 2. where q k ( x ) is the quotient of a k ( x )· x L divided by g ( x ), a 0 ( x ) = b 0 ( x ) , a k ( x ) = a k -1 ( x )· x B k + b k ( x ), and B k is the size of the k-th code block b k ( x );and appending the generated cyclic redundancy checks at the end of the respective corresponding code blocks.