WO2019096124A1 - Cyclic redundancy check (crc) calculation method and device - Google Patents

Cyclic redundancy check (crc) calculation method and device Download PDF

Info

Publication number
WO2019096124A1
WO2019096124A1 PCT/CN2018/115221 CN2018115221W WO2019096124A1 WO 2019096124 A1 WO2019096124 A1 WO 2019096124A1 CN 2018115221 W CN2018115221 W CN 2018115221W WO 2019096124 A1 WO2019096124 A1 WO 2019096124A1
Authority
WO
WIPO (PCT)
Prior art keywords
crc
sub
block
blocks
polynomial
Prior art date
Application number
PCT/CN2018/115221
Other languages
French (fr)
Chinese (zh)
Inventor
孙宇佳
梁继业
武雨春
刘华斌
冯淑兰
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2019096124A1 publication Critical patent/WO2019096124A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present application relates to the field of data communications, and in particular, to a cyclic redundancy check CRC calculation method and apparatus.
  • Cyclic Redundancy Check (CRC) algorithm is generally used to encode and verify the data block.
  • CRC Cyclic Redundancy Check
  • Each CB input by the transmitting end to the FEC encoder is rate-matched by the encoded output data, and then sent to the receiving end (for example, a receiver).
  • the receiving end performs de-rate matching on the received multiple CBs, and then inputs the FEC decoder.
  • the CRC calculation of each data block in the prior art is serially calculated. For example, as shown in FIG. 4, the first bit of one data block is input, and then each register is executed (for example, the register X1, the register X2, and the register in FIG. 4) X3, register X4) shift, calculation and value update, then input the second bit of the data block, again shift the registers, calculate and update the value, repeat until the last bit of the data block Input and completion of the shift of each register, calculation and value update, and finally the value in each register corresponds to the CRC of the block data.
  • the processing time of the CRC check will be longer.
  • the serial calculation CRC check will use about 2*10 6 cycles (Cycle), delay. It is very big and becomes a bottleneck for increasing the communication rate.
  • Embodiments of the present invention provide a cyclic redundancy check CRC calculation method and apparatus for reducing the delay of CRC check calculation.
  • an embodiment of the present invention provides a cyclic redundancy check CRC calculation method, including: calculating a first cyclic redundancy check CRC of each of a plurality of sub data blocks included in a data block, and calculating each sub a second CRC of the first sequence in which the data blocks are associated, wherein the first sequence associated with any one of the sub-blocks is composed of 1 and an all-zero sequence corresponding to any one of the sub-blocks, and the all-zero sequence corresponding to the different sub-blocks Different lengths, determining a third CRC of each sub-block according to a first CRC of each sub-block and a second CRC of a first sequence associated with each sub-block; and combining the third CRC of each sub-block to obtain The CRC of the data block.
  • the present application provides a CRC calculation method, by calculating a first CRC of a plurality of sub-blocks included in a data block, and determining a second CRC of a first sequence associated with each of the sub-blocks, according to a first CRC of each sub-block And a second CRC of the first sequence associated with each of the sub-blocks, determining a third CRC of each of the sub-blocks; the communication device combining the third CRC of each of the sub-blocks to obtain a CRC of the block, as the block includes
  • the first CRC of the plurality of sub-blocks can be calculated in parallel, and the second CRC of the first sequence associated with each of the sub-blocks can also be calculated in parallel, so that the calculation delay can be reduced, compared with one sub-block of the prior art.
  • the CRC calculation needs to be compared to the CRC of the previous sub-block, which can reduce the delay of the CRC calculation.
  • the length of the all-zero sequence corresponding to any one of the sub-blocks is equal to the sum of the lengths of all the sub-blocks preceding any one of the sub-blocks.
  • G(D) represents the CRC generator polynomial of the data block, j ⁇ [1, M], M is the number of sub-blocks included in the data block, and M is an integer greater than or equal
  • determining, by using the first lookup table, the second polynomial corresponding to the index i a coefficient of each item, the first query table includes at least a coefficient of each item in the second polynomial corresponding to the index i; and determining according to the coefficient of each item in the second polynomial corresponding to the index i
  • each sub-block is equal in length, and each sub-block is associated with each other.
  • the calculation of each of the plurality of sub-blocks included in the data block The first CRC, including: according to the formula
  • the method provided by the application further includes: determining a CRC of the data block To preset a constant sequence, it is determined that the data block check passes.
  • the third CRC of each sub-block is merged to obtain a data block
  • the CRC includes: modulo-adding the third CRC of each sub-block to obtain a CRC of the data block.
  • the method provided by the application further includes: adding a L_CRC after the data block is to be calculated 0, to obtain the data block, wherein L_CRC represents the CRC length corresponding to the CRC generator polynomial G(D).
  • the present application further provides a CRC computing device, which can be used in a communication device, which can implement a CRC calculation method described in any one of the first aspect to the first aspect .
  • the communication device can be a transmitter or a chip disposed in a transmitter, which can also be a receiver or a chip disposed in the receiver.
  • the above method can be implemented by software, hardware, or by executing corresponding software through hardware.
  • the CRC computing device includes: a calculating unit, configured to calculate a first cyclic redundancy check CRC of each of the plurality of sub-blocks included in the data block, and calculate each of the sub-blocks a second CRC of the first sequence in which the data blocks are associated, wherein the first sequence associated with any one of the sub-blocks is composed of 1 and an all-zero sequence corresponding to any one of the sub-blocks, and the all-zero sequence corresponding to the different sub-blocks a determining unit, configured to determine, by the communications device, a third CRC of each of the sub-blocks according to a first CRC of each sub-block and a second CRC of a first sequence associated with each of the sub-blocks; It is also used to combine the third CRC of each sub-block to obtain the CRC of the block.
  • a calculating unit configured to calculate a first cyclic redundancy check CRC of each of the plurality of sub-blocks included in the data block, and calculate each of the
  • the length of the all-zero sequence corresponding to any one of the sub-blocks is equal to the sum of the lengths of all the sub-blocks before the sub-block.
  • the first CRC of the block, CRC j, 0 represents the second CRC of the first sequence associated with the jth subblock; G(D) represents the CRC generator polynomial of the data block, j ⁇ [1, M], M is The number of sub-blocks included in the data block, M is an integer greater than or equal to 2.
  • G(D) represents the CRC generator polynomial of the data block,
  • L j represents the length of the all-zero sequence corresponding to the j-th sub-block, and CRC j, 0 represents the j-th sub-block association
  • represents a multiplication
  • i the length of the all-zero sequence corresponding to
  • the determining unit is configured to determine the index i by using the first query table.
  • a coefficient of each item in the corresponding second polynomial the first query table includes at least a coefficient of each item in the second polynomial corresponding to the index i; and a second polynomial corresponding to the index i corresponding to each Coefficient of the item, determined
  • G(D) represents the CRC generator polynomial of the data block
  • L 2 represents the length of the all-zero sequence corresponding to the second sub-block
  • CRC 2,0 represents the second sub-block association
  • the second CRC of the first sequence is specifically used according to the formula Obtaining a second CRC of the first sequence associated with the second sub-block
  • the calculating unit is specifically used to calculate the unit according to the formula, and is further used for According to the formula
  • the CRC computing device is a receiver, and the CRC computing device further includes: And the determining unit is configured to determine that the CRC of the data block is a preset constant sequence, and then determine that the data block check passes.
  • the computing unit further specifically the third CRC of each sub data block Perform modulo two addition to obtain the CRC of the data block.
  • the CRC computing device is a transmitter, a determining unit, and is still used to be calculated
  • the data block is followed by L_CRC 0s to obtain the data block, where L_CRC represents the CRC length corresponding to the CRC generator polynomial G(D).
  • the present application provides a CRC computing device that can include a processor and a memory.
  • the processor is configured to support a function of the CRC computing device to perform a message or data processing on the CRC computing device side in the method described in any one of the first to the first aspects above.
  • the memory is for coupling with a processor that holds the programs (instructions) and data necessary for the CRC computing device.
  • the CRC computing device can further include a communication interface configured to support the CRC computing device in communicating with other network elements to perform the method described in any one of the above first aspect to the first aspect for use in the CRC
  • the computing device side performs the function of message or data transmission and reception.
  • the communication interface can be a transceiver.
  • the present application provides a chip system for use in a CRC computing device, the chip system including at least one processor, a memory and an interface circuit, the memory, the interface circuit, and the at least one processor being interconnected by a line, in at least one memory
  • the instructions are stored by the processor to perform the method described in any one of the possible aspects of the first aspect to the first aspect.
  • the present application provides a computer readable storage medium, which is applied to a CRC computing device, where instructions are stored in a computer readable storage medium, and when the instructions are run on a computer, cause the computer to perform the first aspect to the first aspect
  • the present application provides a terminal device having the CRC computing device described in the above embodiments.
  • the present application provides a network device having the CRC computing device described in the above embodiments.
  • the present application provides a relay device having the CRC computing device described in the above embodiments.
  • FIG. 2 is a schematic diagram 1 of a scenario in which a TB block is added with a TB_CRC and CB is partitioned in the prior art;
  • FIG. 3 is a schematic structural diagram of a receiving end processing provided in the prior art
  • FIG. 5 is a schematic flowchart 1 of a CRC calculation method according to an embodiment of the present disclosure
  • FIG. 6 is a schematic structural diagram of a data block divided into multiple sub-blocks according to an embodiment of the present disclosure
  • FIG. 7 is a schematic structural diagram 1 of a CRC computing device according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram 2 of a CRC computing device according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram 3 of a CRC computing device according to an embodiment of the present invention.
  • the method provided by the present application can be applied to systems that require CRC encoding or checking, especially systems that require CRC encoding or checking of larger blocks of data (eg, blocks of data greater than 6144 in length).
  • the transmitting end or the receiving end in the embodiment of the present invention may be a device applied to a unit of CRC encoding and checking, for example, a network device (for example, a base station), and a terminal device (for example, user equipment (UE)), Or a relay device.
  • a network device for example, a base station
  • a terminal device for example, user equipment (UE)
  • UE user equipment
  • the CRC calculation method in the present application may be performed by a CRC calculation device, which may be a transmitter, a receiver or a processor, which is located in a transmitter or a receiver, as shown in FIG. 5 is a schematic flow chart of a CRC calculation method provided by the present application, including:
  • the CRC computing device calculates a first cyclic redundancy check CRC of each of the plurality of sub-blocks included in the data block, and calculates a second CRC of the first sequence associated with each of the sub-blocks, where any one
  • the first sequence associated with the sub-block is composed of 1 and an all-zero sequence corresponding to any one of the sub-blocks, and the lengths of the all-zero sequences corresponding to the different sub-blocks are different.
  • the length of the all-zero sequence corresponding to any one of the sub-blocks is equal to the sum of the lengths of all the sub-blocks before any one of the sub-blocks.
  • all sub-blocks before any one of the sub-blocks may be determined according to the direction from the start address to the end address.
  • the first sequence can be expressed as Where L j represents the length of the all-zero sequence corresponding to the j-th sub-block, P ⁇ [0, j - 2], and N P represents the length of the P+1-th sub-block before the j-th sub-block.
  • the first sequence can be "1000000000”.
  • the first sequence associated with the sub-block A is 1, that is, the length of the all-zero sequence corresponding to the first sub-block within one block is usually 0, then the first The first sequence of sub-block associations is 1.
  • the data block in this application may include M sub-blocks, where M is an integer greater than or equal to 2.
  • M is an integer greater than or equal to 2.
  • the sum of the lengths of the M sub-blocks is equal to the length of the block.
  • the lengths of the M sub-blocks may be equal or not equal, which is not limited in this application.
  • the data block in this application may be a transport block (TB), or may be a TB including a CRC, and may be a TB+TB_CRC or a code block (CB), or may be The CB including the CRC is denoted as CB+CB_CRC.
  • TB transport block
  • CB code block
  • TB+TB_CRC includes four sub-blocks as an example:
  • the TB+TB_CRC includes sub-blocks: sub-block 1, sub-block 2, sub-block 3, and sub-block 4.
  • sub-block 4 and all-zero sequence corresponds to 4, the sub-block 3 corresponds to the all-zero sequence 3, and the sub-block 2 corresponds to the all-zero sequence 2.
  • the sub-block 1 is the first sub-block of the plurality of sub-blocks, The length of the all-zero sequence corresponding to the sub-block 1 is 0, which is not shown in FIG.
  • the length of the all-zero sequence 4 corresponding to the sub-block 4 is the sum of the length of the sub-block 3, the length of the sub-block 2, and the length of the sub-block 1, and the all-zero sequence 3 of the sub-block 3
  • the length is the sum of the lengths of the sub-block 2 and the sub-block 1
  • the length of the all-zero sequence 2 corresponding to the sub-block 2 is the length of the sub-block 1.
  • the application further includes: dividing the data block into multiple sub-blocks.
  • sub-blocks may be required to be equal in length, and at least two sub-blocks of different lengths are allowed in a 4G communication system.
  • the data blocks are divided based on the requirements of the communication system for the length of the sub-blocks, so that the length of the sub-blocks obtained after the partitioning satisfies the requirements of the communication system.
  • the first CRC of one sub-block and the second CRC of the first sequence corresponding to the one sub-block are calculated, and the first CRC and other sub-blocks corresponding to other sub-blocks are calculated.
  • the second CRC of the first sequence can be a parallel process.
  • the data block of the transmitting end in the present application is obtained by the CRC computing device by adding L_CRC 0 after inputting the information data block, where L_CRC represents the CRC length corresponding to the CRC generating polynomial G(D).
  • the CRC computing device determines a third CRC of each sub-block according to a first CRC of each sub-block and a second CRC of the first sequence associated with each sub-block.
  • step S102 in this application may be specifically implemented by:
  • G(D) when the data block is TB, G(D) may be a CRC generating polynomial corresponding to TB, which may be represented as G TB (D), and when the data block is CB, G(D) may be a CRC generating polynomial corresponding to CB. , can be expressed as G CB (D).
  • a CRC representation corresponding to a data block is calculated: after the data block is represented as a corresponding polynomial, multiplied by (where D represents the variable symbol used in CRC calculations, multiplying the data block by Indicates that L CRC 0s are added after the data block.
  • the L CRC is the length of the CRC corresponding to the data block, and then the polynomial residual is generated for the CRC of the data block, and the obtained sequence corresponding to the remainder is the CRC of the CRC generating polynomial corresponding to the data block.
  • the data block is: x A-1 , x A-2 ,..., x 1 , x 0
  • the CRC generator polynomial is:
  • bit sequence and the corresponding polynomial of the bit sequence are equivalent, such as the above:
  • the CRC calculation device may calculate the second CRC of the first sequence associated with each of the sub-blocks in a plurality of manners.
  • step S101 in the present application may be adopted. The following ways to achieve:
  • the CRC computing device in the present application determines There are various ways, for example, the CRC calculation device determines the coefficients of the items in the second polynomial corresponding to the index i through the first lookup table, and the first lookup table includes at least the second polynomial corresponding to the index i. a coefficient of the item; the CRC calculating means determines the coefficient of each item in the second polynomial corresponding to the index i
  • each item of the formula can be 13, 10, 9, 8, and 4.
  • the lengths of the plurality of sub-blocks may or may not be equal.
  • step S101 in the present application may also be implemented in the following manner as another possible implementation manner:
  • the CRC computing device acquires a second CRC of the first sequence associated with the second sub-block of the plurality of sub-blocks.
  • the second sub-block may be sub-block 2 as shown in FIG. 6.
  • step S1011 can be implemented in the following manner:
  • the CRC computing device combines the third CRC of each sub-block to obtain a CRC of the data block.
  • step S103 can be implemented in the following manner:
  • the CRC calculating means modulates the third CRC of each subblock to obtain a CRC of the block.
  • the method provided by the application further includes:
  • the CRC computing device determines, according to the CRC of the data block, whether the data block is verified to pass.
  • step S104 in the present application can be implemented in the following manner:
  • the CRC calculating means determines that the CRC of the data block is a preset constant sequence, and determines that the data block check passes, and the CRC calculating means determines that the CRC of the data block is not a preset constant sequence, and determines that the data block is not verified.
  • the predetermined constant sequence can be an all zero sequence.
  • CRC check there are two ways to perform CRC check: one is to perform the remainder operation on the polynomial G TB (D) after concatenating the entire TB data block obtained by decoding and TB_CRC, if the result of the remainder is a predetermined constant A sequence (eg, an all-zero sequence) indicates a TB CRC check, otherwise it indicates a TB CRC check.
  • a sequence eg, an all-zero sequence
  • the other is to use the polynomial corresponding to the TB data block obtained by decoding to complement the L CRC 0, and then perform the remainder operation on G TB (D), if the residual result and the decoded TB_CRC correspond to the polynomial modulo 2 After that, if it is equal to a predetermined constant sequence, it means that it is detected by TB CRC, otherwise it means that it does not pass the TB CRC check.
  • the CRC calculation device calculates the first CRC of each of the plurality of sub-blocks included in the data block, and may be implemented by:
  • Embodiment 1 The method provided by the present application is exemplified by a TB (referred to as TB+TB_CRC) carrying TB_CRC, including 4 sub-blocks.
  • TB+TB_CRC TB+TB_CRC
  • the third CRC of each sub-block can be calculated by the following formula. :
  • CRC_2 (CRC 2, msg *CRC 2,0 )%G TB (D), where CRC_2 represents the third CRC of sub-block 2, CRC 2, msg represents the first CRC of sub-block 2, CRC 2, 0 denotes a second CRC of the first sequence corresponding to the sub-block 2, and G TB (D) denotes a CRC generator polynomial used by the TB.
  • CRC_3 (CRC 3, msg *CRC 3,0 )%G TB (D), where CRC_3 represents the third CRC of the sub-block 3 or the third sub-block, CRC 3, and msg represents the sub-block 3 A CRC, CRC 3,0 represents the second CRC of the first sequence corresponding to sub-block 3, and G TB (D) represents the CRC generator polynomial used by the TB.
  • CRC_4 (CRC 4, msg *CRC 4,0 )%G TB (D), where CRC_4 represents the third CRC of sub-block 4, CRC 4, msg represents the sub-block 4 or the fourth sub-block A CRC, CRC 4 , 0 represents the second CRC of the first sequence corresponding to sub-block 4, and G TB (D) represents the CRC generator polynomial used by the TB.
  • the first CRC of each sub-block represents a CRC calculated by each sub-block
  • CRC j, 0 represents a second CRC of the first sequence corresponding to the j-th sub-block included in the data block, where A second CRC for calculating a first sequence corresponding to the j-th sub-block, L j representing a length of an all-zero sequence corresponding to the j-th sub-block.
  • G(D) represents a CRC generator polynomial of a data block
  • denotes a multiplication
  • G(D) represents the CRC generator polynomial of the data block
  • L j represents the length of the all-zero sequence corresponding to the j-
  • i represents an index of a term in the second polynomial corresponding to a length of the all-zero sequence corresponding to the j-th sub-block, represented by a plurality of powers of two, Used to represent the second polynomial corresponding to the index i.
  • G TB (D) D 24 +D 23 +D 18 +D 17 +D 14 +D 11 +D 10 +D 7 +D 6 +D 5 +D 4 +D 3 +D+1, each It can be found in Table 1 by index i.
  • Table 1 The first query table Storage table
  • CRC 2 , 0 D 5000 % G TB (D).
  • the length of the all-zero sequence corresponding to the sub-block 4 the length of the sub-block 3 + the length of the sub-block 2 + the length of the sub-block 1
  • the CRC 4,0 represents the second CRC of the first sequence corresponding to the sub-block 4.
  • the CRC 3,0 represents the second CRC of the first sequence corresponding to the sub-block 3.
  • the CRC 2,0 represents the second CRC of the first sequence corresponding to the sub-block 2 or the second sub-block.
  • the first CRC corresponding to each sub-block may be calculated in parallel, or the second CRC of the first sequence corresponding to each sub-block may be calculated in parallel, because CRC 1, msg , CRC 2, msg , CRC 3, msg , CRC 4, msg can be calculated in parallel, so calculate CRC 1, msg , CRC 2, msg , CRC 3, msg , CRC 4, msg can be completed with 5000 Cycles.
  • the CRC 4,0 , CRC 3,0 , CRC 2,0 can also be calculated in parallel, so the one that takes the most is the It requires 6 basic operations.
  • the CRC is serially calculated, and 20,000 CRC is required to complete the TB CRC detection. Therefore, the CRC required by the solution provided by the present application is 27% of the 20,000 Cycles required in the prior art, and therefore, the delay of the TB CRC check can be greatly reduced.
  • the second sub-calculation may be calculated first.
  • the CRC of the plurality of small blocks A included in the data block that is, replacing the data block in FIG. 6 with the second sub data block, dividing the second sub data block into a plurality of small blocks, and then calculating the CRC 2 by the method in Embodiment 1. , msg .
  • the lengths of the sub-blocks are the same in the communication system.
  • the length of each sub-block is 5000, for example, the following will be implemented in combination.
  • Example 2 details how to calculate the second CRC corresponding to each sub-block when the length of each sub-block is the same:
  • Example 2 of the present application embodiment in addition to calculating CRC 1, Msg, CRC 2, Msg, CRC 3, Msg, outer CRC 4, Msg, need to calculate the CRC 2 , 0, CRC 3,0, CRC 4,0 , and Example 1 CRC 2,0, CRC 3,0, CRC 4,0 parallel computing, in the first embodiment in Example 2 is calculated subblock 2
  • CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4, msg can be calculated in parallel, CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4 are calculated .
  • Embodiment 2 although the delays of calculating CRC 2,0 , CRC 3,0 , and CRC 4,0 are the same as in Embodiment 1, Embodiment 2 calculates CRC 2,0 , CRC 3,0.
  • any sub-block such as calculating the first CRC of the second sub-block
  • the CRC of the small block A that is, the second sub data block is used instead of the data block in FIG. 6, the second sub data block is divided into a plurality of small blocks, and then the CRC 2, msg is calculated by the method in the first embodiment.
  • a data block can be divided into a plurality of data blocks in a communication system, but the length of the plurality of sub-blocks may have two values, that is, a part of the sub-blocks have a length of L1, and another part of the sub-blocks
  • the length is L2, for example, in a 4G communication system: the length of a sub-block (for example, CB) is 6016 bits and 6080 bits.
  • the length of CB 4 and CB 3 is 6080 bits, CB 2 ,
  • the length of CB 1 is 6016 bits, assuming that the length of CB_CRC is 0.
  • D 6016 %G TB (D) D 6016+6080 %G can be calculated by query table 1
  • Each of the TB (D) and D 6016+6080*2 %G TB (D) corresponds to a polynomial.
  • CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4, msg can be calculated in parallel
  • CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4, msg can be completed with up to 6080 Cycles, while D 6016 %G TB (D), D 6016+6080 %G TB (D) and D 6016+6080*2 %G TB (D) can be calculated in parallel.
  • each CRC j is calculated , and msg can be parallel to the calculation of CRC j,0 . Since the calculation delay of each CRC j,0 in the above example is much smaller than each CRC j The calculation delay of msg is such that the calculation delay of CRC j, 0 of Embodiment 1 and Embodiment 2 is negligible. However, Embodiment 2 calculates that the total calculation amount of each CRC j, 0 is smaller than that of Embodiment 1.
  • CRC the manner of determining the CRC of each sub-block, that is, replacing the TB including the CRC in FIG. 6 with the second sub-block, dividing the second sub-block into a plurality of small blocks, and then calculating CRC 2 in the above manner , Msg .
  • the embodiment of the present invention can greatly reduce the delay and the calculation amount of the CRC check calculation when the lengths of the CB blocks are not all the same.
  • Embodiment 4 As described in Embodiment 1, Embodiment 2 and Embodiment 3 above, with the method provided by the present application, the CRC calculation of the CB block itself becomes the portion with the largest delay required for the TB CRC calculation.
  • the CB is large, if it is desired to further reduce the delay of the CRC calculation of the CB, for example, the CB is the sub-block 2 in the above embodiment, then the CRC 2 is calculated , and the msg can also be described in the above embodiment, that is, Subblock 2 replaces the TB including CRC in Fig. 6, divides subblock 2 into a plurality of subblocks, and then calculates CRC 2, msg using the above method. details as follows:
  • the maximum CB length is 8448 bits, which can be calculated and stored.
  • Table 2 As the second lookup table, as shown in Table 2:
  • the first sub-block is Its corresponding third CRC is
  • the second sub-block is Its corresponding third CRC is
  • the gth sub-block is Its corresponding third CRC is
  • First Block subblock is Its corresponding CRC is
  • the last sub-block, ie the first Sub-blocks, when K r %24 ⁇ 0, can be filled 0 is Can also not make up 0
  • the corresponding CRC is the same, recorded as among them, Indicates that the math is rounded up.
  • the third CRC corresponding to the gth sub-block Representing the third CRC corresponding to the gth sub-block, Representing the first CRC corresponding to the gth sub-block, Representing the second CRC corresponding to the gth sub-block,
  • a basic operation consists of a 24-length *24-length polynomial multiplication operation and a 24-long sequence pair G TB (D) remainder operation.
  • CBS code block size
  • each network element such as a CRC computing device, etc.
  • each network element includes hardware structures and/or software modules corresponding to the execution of the respective functions.
  • the present invention can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
  • the present application may divide a function module into a CRC computing device or the like according to the above method example.
  • each function module may be divided according to each function, or two or more functions may be integrated into one processing module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the present application is schematic, and is only a logical function division, and may be further divided in actual implementation.
  • FIG. 7 shows a possible structural diagram of the CRC computing device involved in the above embodiment.
  • the CRC calculation device includes a calculation unit 101 and a determination unit 102.
  • the calculation unit 101 is configured to support the CRC calculation device to perform step S101 in the foregoing embodiment (specifically, may be S1011 and S1012); the determining unit 102 is configured to support the CRC calculation device to perform step S102 in the foregoing embodiment (specifically, It is S1021) and S103. Furthermore, the CRC computing device provided herein further includes a check unit 103 for supporting the CRC computing device to perform S104 in the above-described embodiments; and/or other processes for the techniques described herein. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional description of the corresponding functional modules, and details are not described herein again.
  • the determining unit 102, the computing unit 101, and the checking unit 103 in the present application may be integrated in the processor of the CRC computing device on the basis of hardware implementation.
  • the CRC computing device in the present application when the CRC computing device in the present application is a transmitter, the CRC computing device may not include the checking unit 103.
  • the CRC computing device When the CRC computing device is a receiver, the CRC computing device may include a checking unit 103. .
  • FIG. 8 shows a possible logical structure diagram of the CRC computing apparatus involved in the above embodiment.
  • the CRC computing device includes a processing module 112 and a communication module 113.
  • the processing module 112 is configured to perform control management on the CRC computing device action.
  • the processing module 112 is configured to support the CRC computing device to perform step S101 (specifically, may be S1011 and S1012) and S102 in the foregoing embodiment (specifically, it may be S1021). ), S103, S104;
  • the communication module 113 is configured to support the CRC computing device to perform related operations of receiving and transmitting. And/or other processes for the techniques described herein.
  • the CRC computing device can also include a storage module 111 for storing program codes and data of the CRC computing device.
  • the processing module 112 may be a processor or a controller, such as a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, Hardware components or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor may also be a combination of computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like.
  • the communication module 113 can be a transceiver, a transceiver circuit, a communication interface, or the like.
  • the storage module 111 can be a memory.
  • the processing module 112 in the present application is the processor 120
  • the communication module 113 is the communication interface 130 or the transceiver
  • the storage module 111 is the memory 140
  • the CRC computing device involved in the present application may be the device shown in FIG.
  • the communication interface 130, the processor 120, and the memory 140 may be connected to each other through a bus 110; the bus 110 may be a PCI bus or an EISA bus or the like.
  • the bus 110 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 9, but it does not mean that there is only one bus or one type of bus.
  • the memory 140 is used to store program codes and data of the CRC computing device.
  • the communication interface 130 is for supporting the CRC computing device to communicate with other devices.
  • the processor 120 is configured to support the CRC computing device to execute the program code and data stored in the memory 140 to implement a CRC calculation method provided by the present application.
  • the present application provides a computer storage medium having instructions stored therein that, when executed on a receiver, cause a receiver to perform step S101 in the embodiment (specifically, may be S1011 and S1012) and The CRC calculation method described in S102 (specifically, may be S1021), S104, and S103.
  • a computer storage medium where instructions are stored in a computer readable storage medium, and when the instruction is run on a transmitter, causing the transmitter to perform step S101 in the embodiment (specifically, may be S1011 and S1012), S102 (specifically may be S1021), and the CRC calculation method described in S103.
  • a computer program product storing instructions for causing a receiver to perform step S101 (specifically, S1011 and S1012) in an embodiment when the instruction is run on a receiver.
  • the CRC calculation method described in S102 (specifically, may be S1021), S104, and S103.
  • a computer program product storing instructions, when the instruction is run on the transmitter, causing the transmitter to perform step S101 in the embodiment (specifically, may be S1011 and S1012), S102 (specifically may be S1021), and the CRC calculation method described in S103.
  • the above embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • a software program it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on a computer, the processes or functions in accordance with embodiments of the present application are generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be wired from a website site, computer, server or data center (eg Coaxial cable, fiber, digital subscriber line (DSL) or wireless (eg infrared, wireless, microwave, etc.) to another website, computer, server or data center.
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device that includes one or more servers, data centers, etc. that can be integrated with the media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)) or the like.
  • a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
  • an optical medium for example, a DVD
  • a semiconductor medium for example, a solid state disk (SSD)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

The present application relates to the field of data communications, and provides a cyclic redundancy check (CRC) calculation method and device which are applicable to reducing time delay of CRC check calculation. The method comprises: calculating a first CRC of each of a plurality of sub-data blocks comprised in a data block, and calculating a second CRC of a first sequence associated with the each sub-data block, the first sequence associated with any sub-data block consisting of 1 and a full-zero sequence corresponding to the any sub-data block, and the lengths of all-zero sequences corresponding to different sub-data blocks being different; according to the first CRC of each sub-data block and the second CRC of the first sequence associated with the each sub-data block, determining a third CRC of the each sub-data block; and combining the third CRCs of each sub-data block to obtain a CRC of the data block.

Description

一种循环冗余校验CRC计算方法和装置Cyclic redundancy check CRC calculation method and device
本申请要求于2017年11月15日提交中国专利局、申请号为201711132324.0、申请名称为“一种循环冗余校验CRC计算方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese Patent Application filed on November 15, 2017, the Chinese Patent Office, Application No. 201711132324.0, entitled "A Cyclic Redundancy Check CRC Calculation Method and Apparatus", the entire contents of which are incorporated by reference. Combined in this application.
技术领域Technical field
本申请涉及数据通信领域,尤其涉及一种循环冗余校验CRC计算方法和装置。The present application relates to the field of data communications, and in particular, to a cyclic redundancy check CRC calculation method and apparatus.
背景技术Background technique
通讯系统中一般采用循环冗余校验(Cyclic Redundancy Check,CRC)算法对数据块进行编码校验,随着现代通信系统对通信速率要求越来越高,要求整个接收端的处理时延越来越小。In the communication system, the Cyclic Redundancy Check (CRC) algorithm is generally used to encode and verify the data block. As the communication rate requirements of modern communication systems become higher and higher, the processing delay of the entire receiving end is required to be more and more small.
如图1所示,从高层传下来的传输块TB的长度记为A,发射端(例如,发射机)将传输块(Transport Block,TB)首先加长度为L TB_CRCbits的CRC(记为TB_CRC),得到长度为B=A+L TB_CRC的数据块,TB块对应的CRC生成多项式记为G TB(D)。示例性的,在LTE系统中,发射端可以为TB加L TB_CRC=24比特的CRC,例如,添加G TB(D)=D 24+D 23+D 18+D 17+D 14+D 11+D 10+D 7+D 6+D 5+D 4+D 3+D+1对应的CRC,发射端判断如果B>K max(例如,6144),如图2所示,则将长度为B=A+L TB_CRC的数据块分为多个编码块(Code Block,CB),若发射端确定B≤K max,则该长度为B=A+L TB_CRC的数据块对应一个CB。 As shown in FIG. 1, the length of the transport block TB transmitted from the upper layer is denoted by A, and the transmitting end (for example, the transmitter) first adds a CRC of length L TB_CRC bits to the transport block (TB) (denoted as TB_CRC). ), a data block of length B=A+L TB_CRC is obtained, and the CRC generator polynomial corresponding to the TB block is denoted as G TB (D). Exemplarily, in the LTE system, the transmitting end may add TB to the TB with TB_CRC = 24 bits, for example, add G TB (D)=D 24 +D 23 +D 18 +D 17 +D 14 +D 11 + D 10 +D 7 +D 6 +D 5 +D 4 +D 3 +D+1 corresponds to the CRC, and the transmitting end judges that if B>K max (for example, 6144), as shown in FIG. 2, the length is B. The data block of =A+L TB_CRC is divided into a plurality of code blocks (CBs). If the transmitting end determines B ≤ K max , the data block of length B=A+L TB_CRC corresponds to one CB.
如图1所示,发射端在为TB添加完24比特的CRC校验之后的数据块,即长度为B=A+L TB_CRC的数据块分为多个编码块时,发射端为每个编码块使用生成多项式(比如使用CRC-24B对应的CRC生成多项式)再次进行CRC处理,以对每个编码块添加CB_CRC,CB对应的CRC生成多项式为:G CB(D)=D 24+D 23+D 6+D 5+D+1。然后,将使用生成多项式CRC-24B进行CRC处理的CB输入前向纠错(Forward Error Correction,FEC)编码器,在将长度为B=A+L TB_CRC的数据块对应一个CB时,可以直接将该TB块作为CB块,也即直接把长度为B=A+L TB_CRC的TB块输入FEC编码器。 As shown in FIG. 1, when the transmitting end adds a 24-bit CRC check for the TB, that is, the data block of length B=A+L TB_CRC is divided into multiple coding blocks, the transmitting end is for each coding. The block performs CRC processing again using a generator polynomial (such as using the CRC generator polynomial corresponding to CRC-24B) to add a CB_CRC to each code block, and the CRC generator polynomial corresponding to CB is: G CB (D)=D 24 +D 23 + D 6 +D 5 +D+1. Then, the CB input Forward Error Correction (FEC) encoder that performs CRC processing using the generator polynomial CRC-24B can directly directly compare the data block of length B=A+L TB_CRC to one CB. The TB block is used as a CB block, that is, a TB block having a length of B=A+L TB_CRC is directly input to the FEC encoder.
发射端输入至FEC编码器的每个CB经过编码后的输出数据进行速率匹配后,发送给接收端(例如,接收机)。如图3所示,接收端对接收到的多个CB进行解速率匹配,然后输入FEC译码器。当各个CB译码成功后,接收端按照每个CB的地址或者标识将各个CB对应的FEC译码结果串接,重新组成长度为B=A+L TB_CRC包含TB_CRC的TB块。接收端对长度为B=A+L TB_CRC包含TB_CRC的TB块进行CRC校检后并上报校验结果,如果校检通过则上报译码成功,并把数据块传给高层,否则上报译码失败。 Each CB input by the transmitting end to the FEC encoder is rate-matched by the encoded output data, and then sent to the receiving end (for example, a receiver). As shown in FIG. 3, the receiving end performs de-rate matching on the received multiple CBs, and then inputs the FEC decoder. After each CB is successfully decoded, the receiving end concatenates the FEC decoding result corresponding to each CB according to the address or identifier of each CB, and recombines the TB block whose length is B=A+L TB_CRC and includes TB_CRC. The receiving end performs a CRC check on the TB block whose length is B=A+L TB_CRC and includes TB_CRC, and reports the verification result. If the check is passed, the decoding is successful, and the data block is transmitted to the upper layer, otherwise the decoding fails. .
现有技术中各个数据块的CRC计算是串行计算的,例如图4所示,输入一个数据块的第1个bit,然后进行各寄存器(例如,图4中的寄存器X1、寄存器X2、寄存器X3、寄存器X4)的移位,计算和值更新,接着输入该数据块的第2个bit,再次进行各寄存器的移位,计算和值更新,不断重复,直到该数据块的最后1个bit输入并进行 完各寄存器的移位,计算和值更新,最终各寄存器中的值就对应了该块数据的CRC。按传统方法,CRC校验的处理时间会比较长,例如,一个TB块的长度A=2*10 6,串行计算CRC校检将用掉约2*10 6个循环(Cycle),时延很大,成为提高通信速率的瓶颈。 The CRC calculation of each data block in the prior art is serially calculated. For example, as shown in FIG. 4, the first bit of one data block is input, and then each register is executed (for example, the register X1, the register X2, and the register in FIG. 4) X3, register X4) shift, calculation and value update, then input the second bit of the data block, again shift the registers, calculate and update the value, repeat until the last bit of the data block Input and completion of the shift of each register, calculation and value update, and finally the value in each register corresponds to the CRC of the block data. According to the traditional method, the processing time of the CRC check will be longer. For example, the length of a TB block is A=2*10 6 , and the serial calculation CRC check will use about 2*10 6 cycles (Cycle), delay. It is very big and becomes a bottleneck for increasing the communication rate.
发明内容Summary of the invention
本发明实施例提供一种循环冗余校验CRC计算方法和装置,用以降低CRC校检计算的时延。Embodiments of the present invention provide a cyclic redundancy check CRC calculation method and apparatus for reducing the delay of CRC check calculation.
第一方面,本发明实施例提供一种循环冗余校验CRC计算方法,包括:计算数据块包括的多个子数据块中每个子数据块的第一循环冗余校验CRC,以及计算每个子数据块各自关联的第一序列的第二CRC,其中,任一个子数据块关联的第一序列由1和任一个子数据块对应的全零序列组成,不同子数据块对应的全零序列的长度不同,根据每个子数据块的第一CRC以及每个子数据块各自关联的第一序列的第二CRC,确定每个子数据块的第三CRC;将每个子数据块的第三CRC合并,得到数据块的CRC。In a first aspect, an embodiment of the present invention provides a cyclic redundancy check CRC calculation method, including: calculating a first cyclic redundancy check CRC of each of a plurality of sub data blocks included in a data block, and calculating each sub a second CRC of the first sequence in which the data blocks are associated, wherein the first sequence associated with any one of the sub-blocks is composed of 1 and an all-zero sequence corresponding to any one of the sub-blocks, and the all-zero sequence corresponding to the different sub-blocks Different lengths, determining a third CRC of each sub-block according to a first CRC of each sub-block and a second CRC of a first sequence associated with each sub-block; and combining the third CRC of each sub-block to obtain The CRC of the data block.
本申请提供一种CRC计算方法,通过计算数据块包括的多个子数据块的第一CRC,以及确定每个子数据块各自关联的第一序列的第二CRC,根据每个子数据块的第一CRC以及每个子数据块各自关联的第一序列的第二CRC,确定每个子数据块的第三CRC;通信设备将每个子数据块的第三CRC合并,得到数据块的CRC,由于数据块包括的多个子数据块的第一CRC可以并行计算,且每个子数据块各自关联的第一序列的第二CRC也可以并行计算,因此,可以降低计算时延,与现有技术中一个子数据块的CRC计算需要依附前一个子数据块的CRC相比,可以降低CRC计算的时延。The present application provides a CRC calculation method, by calculating a first CRC of a plurality of sub-blocks included in a data block, and determining a second CRC of a first sequence associated with each of the sub-blocks, according to a first CRC of each sub-block And a second CRC of the first sequence associated with each of the sub-blocks, determining a third CRC of each of the sub-blocks; the communication device combining the third CRC of each of the sub-blocks to obtain a CRC of the block, as the block includes The first CRC of the plurality of sub-blocks can be calculated in parallel, and the second CRC of the first sequence associated with each of the sub-blocks can also be calculated in parallel, so that the calculation delay can be reduced, compared with one sub-block of the prior art. The CRC calculation needs to be compared to the CRC of the previous sub-block, which can reduce the delay of the CRC calculation.
结合第一方面,在第一方面的第一种可能的实现方式中,任一个子数据块对应的全零序列的长度等于位于任一个子数据块之前的所有子数据块的长度之和。In conjunction with the first aspect, in a first possible implementation of the first aspect, the length of the all-zero sequence corresponding to any one of the sub-blocks is equal to the sum of the lengths of all the sub-blocks preceding any one of the sub-blocks.
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,根据每个子数据块的第一CRC以及每个子数据块各自对应的第一序列的第二CRC,确定每个子数据块的第三CRC,包括:根据公式CRC_j=(CRC j,msg*CRC j,0)%G(D)确定每个子数据块的第三CRC,其中,j表示子数据块的标识;CRC_j表示第j个子数据块的第三CRC;CRC j,msg表示第j个子数据块的第一CRC,CRC j,0表示第j个子数据块关联的第一序列的第二CRC;G(D)表示所述数据块的CRC生成多项式,j∈[1,M],M为所述数据块包括的子数据块的数量,M为大于或等于2的整数。 With reference to the first aspect or the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the first CRC according to each sub-block and the first corresponding to each sub-block Determining a third CRC of each sub-block, comprising: determining a third CRC of each sub-block according to a formula CRC_j=(CRC j, msg *CRC j, 0 )%G(D), wherein j denotes the identifier of the sub-block; CRC_j denotes the third CRC of the j-th sub-block; CRC j, msg denotes the first CRC of the j-th sub-block, CRC j, 0 denotes the first sequence associated with the j-th sub-block The second CRC; G(D) represents the CRC generator polynomial of the data block, j ∈ [1, M], M is the number of sub-blocks included in the data block, and M is an integer greater than or equal to 2.
结合第一方面至第一方面的第二种可能的实现方式中的任一项,在第一方面的第三种可能的实现方式中,计算每个子数据块各自关联的第一序列的第二CRC,包括:根据公式
Figure PCTCN2018115221-appb-000001
计算所述每个子数据块各自关联的第一序列的第二CRC,其中,Π表示连乘,i表示将第j个子数据块对应的全零序列的长度表示为L j=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式时各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
Figure PCTCN2018115221-appb-000002
是指数i对应的第二多项式,G(D)表示所述数据块的CRC生成多项式,L j表示第j个子数据块对应的全零序列的长度,CRC j,0表示第j个子数据块关联的第一序列的第二CRC。
With reference to any one of the first aspect to the second possible implementation of the first aspect, in a third possible implementation of the first aspect, calculating a second of the first sequence associated with each of the sub-blocks CRC, including: according to the formula
Figure PCTCN2018115221-appb-000001
Calculating a second CRC of the first sequence associated with each of the sub-blocks, wherein Π denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the j-th sub-block as L j =a 22 *2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i=0 to 22 represents the items in the first polynomial Coefficient, a i=0~22 =0 or 1,
Figure PCTCN2018115221-appb-000002
Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L j represents the length of the all-zero sequence corresponding to the j-th sub-block, and CRC j, 0 represents the j-th sub-data The second CRC of the first sequence of block associations.
结合第一方面至第一方面的第三可能的实现方式中的任一项,在第一方面的第四种可能的实现方式中,通过第一查询表确定指数i对应的第二多项式中各项的系数,第一查询表中至少包括指数i对应的第二多项式中各项的系数;根据指数i对应的第二多项式中各项的系数,确定
Figure PCTCN2018115221-appb-000003
With reference to any one of the first aspect to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, determining, by using the first lookup table, the second polynomial corresponding to the index i a coefficient of each item, the first query table includes at least a coefficient of each item in the second polynomial corresponding to the index i; and determining according to the coefficient of each item in the second polynomial corresponding to the index i
Figure PCTCN2018115221-appb-000003
结合第一方面至第一方面的第四可能的实现方式中的任一项,在第一方面的第五种可能的实现方式中,每个子数据块的长度相等,计算每个子数据块各自关联的第一序列的第二CRC,包括:获取多个子数据块中第二个子数据块关联的第一序列的第二CRC;根据公式CRC j,0=[CRC j-1,0*CRC 2,0]%G(D)依次计算所述每个子数据块各自关联的第一序列的第二CRC,其中,CRC j,0表示第j个子数据块关联的第一序列的第二CRC,CRC 2,0表示所述第二个子数据块关联的第一序列的第二CRC,CRC j-1,0表示第j-1个子数据块关联的第一序列的第二CRC。 With reference to any one of the first aspect to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, each sub-block is equal in length, and each sub-block is associated with each other. The second CRC of the first sequence includes: acquiring a second CRC of the first sequence associated with the second sub-block of the plurality of sub-blocks; according to the formula CRC j, 0 = [CRC j-1, 0 * CRC 2, 0 ]%G(D) sequentially calculates a second CRC of the first sequence associated with each of the sub-blocks, wherein CRC j,0 represents a second CRC of the first sequence associated with the j-th sub-block, CRC 2 0 represents a second CRC of the first sequence associated with the second sub-block, and CRC j-1, 0 represents a second CRC of the first sequence associated with the j-1th sub-block.
结合第一方面至第一方面的第五可能的实现方式中的任一项,在第一方面的第六种可能的实现方式中,获取多个子数据块中第二个子数据块关联的第一序列的第二CRC,根据公式
Figure PCTCN2018115221-appb-000004
获取所述第二个子数据块关联的第一序列的第二CRC,其中,Π表示连乘,i表示将所述第二个子数据块对应的全零序列的长度表示为L 2=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式中各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
Figure PCTCN2018115221-appb-000005
是指数i对应的第二多项式,G(D)表示数据块的CRC生成多项式,L 2表示第二个子数据块对应的全零序列的长度,CRC 2,0表示第二个子数据块关联的第一序列的第二CRC。
With reference to any one of the first aspect to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the first The second CRC of the sequence, according to the formula
Figure PCTCN2018115221-appb-000004
Obtaining a second CRC of the first sequence associated with the second sub-block, where Π denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the second sub-block as L 2 =a 22 * 2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i=0 to 22 means each of the first polynomial The coefficient of the term, a i=0~22 =0 or 1,
Figure PCTCN2018115221-appb-000005
Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L 2 represents the length of the all-zero sequence corresponding to the second sub-block, and CRC 2,0 represents the second sub-block association The second CRC of the first sequence.
结合第一方面至第一方面的第六可能的实现方式中的任一项,在第一方面的第七种可能的实现方式中,计算数据块包括的多个子数据块中每个子数据块的第一CRC,包括:根据公式With reference to any one of the first aspect to the sixth possible implementation of the first aspect, in a seventh possible implementation of the first aspect, the calculation of each of the plurality of sub-blocks included in the data block The first CRC, including: according to the formula
Figure PCTCN2018115221-appb-000006
计算所述多个子数据块中每个子数据块的第一CRC,其中,CRC j,msg表示第j个子数据块的第一CRC,N j表示第j+1个子数据块的长度,
Figure PCTCN2018115221-appb-000007
为第1个子数据块中的数据,
Figure PCTCN2018115221-appb-000008
为第2个子数据块中的数据,…,
Figure PCTCN2018115221-appb-000009
为第j个子数据块中的数据。
Figure PCTCN2018115221-appb-000006
Computing a first CRC of each of the plurality of sub-blocks, wherein CRC j, msg represents a first CRC of the j-th sub-block, and N j represents a length of the j+1th sub-block,
Figure PCTCN2018115221-appb-000007
Is the data in the first sub-block,
Figure PCTCN2018115221-appb-000008
For the data in the second sub-block,...,
Figure PCTCN2018115221-appb-000009
Is the data in the jth sub-block.
结合第一方面至第一方面的第七可能的实现方式中的任一项,在第一方面的第八种可能的实现方式中,本申请提供的方法还包括:确定所述数据块的CRC为预设常数序列,则确定数据块校验通过。With reference to any one of the first aspect to the seventh possible implementation manner of the first aspect, in an eighth possible implementation manner of the first aspect, the method provided by the application further includes: determining a CRC of the data block To preset a constant sequence, it is determined that the data block check passes.
结合第一方面至第一方面的第八可能的实现方式中的任一项,在第一方面的第九种可能的实现方式中,将每个子数据块的第三CRC合并,得到数据块的CRC,包括:将每个子数据块的第三CRC进行模二加,得到数据块的CRC。With reference to any one of the first aspect to the eighth possible implementation manner of the first aspect, in a ninth possible implementation manner of the first aspect, the third CRC of each sub-block is merged to obtain a data block The CRC includes: modulo-adding the third CRC of each sub-block to obtain a CRC of the data block.
结合第一方面至第一方面的第九可能的实现方式中的任一项,在第一方面的第十种可能的实现方式中,本申请提供的方法还包括:待计算数据块后补充L_CRC个0,以得到所述数据块,其中,L_CRC表示所述CRC生成多项式G(D)对应的CRC长度。With reference to any one of the first aspect to the ninth possible implementation manner of the first aspect, in a tenth possible implementation manner of the first aspect, the method provided by the application further includes: adding a L_CRC after the data block is to be calculated 0, to obtain the data block, wherein L_CRC represents the CRC length corresponding to the CRC generator polynomial G(D).
第二方面,本申请还提供了一种CRC计算装置,该CRC计算装置可以用于通信 设备中,该通信设备可以实现第一方面至第一方面的任一项所描述的一种CRC计算方法。例如,该通信设备可以是发射机,或者为设置在发射机中的芯片,该通信设备也可以是接收机,或者为设置在接收机中的芯片。其可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。In a second aspect, the present application further provides a CRC computing device, which can be used in a communication device, which can implement a CRC calculation method described in any one of the first aspect to the first aspect . For example, the communication device can be a transmitter or a chip disposed in a transmitter, which can also be a receiver or a chip disposed in the receiver. The above method can be implemented by software, hardware, or by executing corresponding software through hardware.
在一种可能的设计中,该CRC计算装置,包括:计算单元,用于计算数据块包括的多个子数据块中每个子数据块的第一循环冗余校验CRC,以及计算所述每个子数据块各自关联的第一序列的第二CRC,其中,任一个子数据块关联的第一序列由1和任一个子数据块对应的全零序列组成,不同子数据块对应的全零序列的长度不同;确定单元,用于通信设备根据每个子数据块的第一CRC以及每个子数据块各自关联的第一序列的第二CRC,确定所述每个子数据块的第三CRC;计算单元,还用于将每个子数据块的第三CRC合并,得到数据块的CRC。In a possible design, the CRC computing device includes: a calculating unit, configured to calculate a first cyclic redundancy check CRC of each of the plurality of sub-blocks included in the data block, and calculate each of the sub-blocks a second CRC of the first sequence in which the data blocks are associated, wherein the first sequence associated with any one of the sub-blocks is composed of 1 and an all-zero sequence corresponding to any one of the sub-blocks, and the all-zero sequence corresponding to the different sub-blocks a determining unit, configured to determine, by the communications device, a third CRC of each of the sub-blocks according to a first CRC of each sub-block and a second CRC of a first sequence associated with each of the sub-blocks; It is also used to combine the third CRC of each sub-block to obtain the CRC of the block.
结合第二方面,在第二方面的第一种可能的实现方式中,任一个子数据块对应的全零序列的长度等于位于该子数据块之前的所有子数据块的长度之和。With reference to the second aspect, in a first possible implementation manner of the second aspect, the length of the all-zero sequence corresponding to any one of the sub-blocks is equal to the sum of the lengths of all the sub-blocks before the sub-block.
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,确定单元,具体用于根据公式CRC_j=(CRC j,msg*CRC j,0)%G(D)确定所述每个子数据块的第三CRC,其中,j表示子数据块的标识;CRC_j表示第j个子数据块的第三CRC;CRC j,msg表示第j个子数据块的第一CRC,CRC j,0表示第j个子数据块关联的第一序列的第二CRC;G(D)表示所述数据块的CRC生成多项式,j∈[1,M],M为所述数据块包括的子数据块的数量,M为大于或等于2的整数。 With reference to the second aspect or the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the determining unit is specifically configured to use the CRC_j=(CRC j, msg *CRC j, according to the formula , 0 ) %G(D) determines a third CRC of each of the sub-blocks, where j represents an identification of the sub-block; CRC_j represents a third CRC of the j-th sub-block; CRC j, msg represents the j-th sub-data The first CRC of the block, CRC j, 0 represents the second CRC of the first sequence associated with the jth subblock; G(D) represents the CRC generator polynomial of the data block, j ∈ [1, M], M is The number of sub-blocks included in the data block, M is an integer greater than or equal to 2.
结合第二方面至第二方面的第二种可能的实现方式中的任一项,在第二方面的第三种可能的实现方式中,计算单元,具体用于根据公式
Figure PCTCN2018115221-appb-000010
计算每个子数据块各自关联的第一序列的第二CRC,其中,Π表示连乘,i表示将第j个子数据块对应的全零序列的长度表示为L j=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式时各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
Figure PCTCN2018115221-appb-000011
是指数i对应的第二多项式,G(D)表示数据块的CRC生成多项式,L j表示第j个子数据块对应的全零序列的长度,CRC j,0表示第j个子数据块关联的第一序列的第二CRC。
With reference to any one of the second aspect to the second possible implementation of the second aspect, in a third possible implementation of the second aspect, the calculating unit is specifically configured according to the formula
Figure PCTCN2018115221-appb-000010
Calculating a second CRC of the first sequence associated with each of the sub-blocks, wherein Π represents a multiplication, and i represents the length of the all-zero sequence corresponding to the j-th sub-block as L j =a 22 *2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i = 0 to 22 represents the coefficient of each item in the first polynomial, a i=0~22 =0 or 1,
Figure PCTCN2018115221-appb-000011
Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L j represents the length of the all-zero sequence corresponding to the j-th sub-block, and CRC j, 0 represents the j-th sub-block association The second CRC of the first sequence.
结合第二方面至第二方面的第三种可能的实现方式中的任一项,在第二方面的第四种可能的实现方式中,确定单元,具体用于通过第一查询表确定指数i对应的第二多项式中各项的系数,第一查询表中至少包括指数i对应的第二多项式中各项的系数;以及用于根据指数i对应的第二多项式中各项的系数,确定
Figure PCTCN2018115221-appb-000012
With reference to any one of the second aspect to the third possible implementation of the second aspect, in a fourth possible implementation manner of the second aspect, the determining unit is configured to determine the index i by using the first query table. a coefficient of each item in the corresponding second polynomial, the first query table includes at least a coefficient of each item in the second polynomial corresponding to the index i; and a second polynomial corresponding to the index i corresponding to each Coefficient of the item, determined
Figure PCTCN2018115221-appb-000012
结合第二方面至第二方面的第四种可能的实现方式中的任一项,在第二方面的第五种可能的实现方式中,每个子数据块的长度相等,计算单元,具体用于获取多个子数据块中第二个子数据块关联的第一序列的第二CRC;以及用于根据公式CRC j,0=[CRC j-1,0*CRC 2,0]%G(D)依次计算每个子数据块各自关联的第一序列的第二CRC,其中,CRC j,0表示第j个子数据块关联的第一序列的第二CRC,CRC 2,0表示第二个子数据块关联的第一序列的第二CRC,CRC j-1,0表示第j-1个子数据块关联的第一序列的第二CRC。 With reference to any one of the second aspect to the fourth possible implementation of the second aspect, in a fifth possible implementation manner of the second aspect, the length of each sub-block is equal, and the calculating unit is specifically used for Acquiring a second CRC of the first sequence associated with the second sub-block of the plurality of sub-blocks; and for sequentially according to the formula CRC j,0 =[CRC j-1,0 *CRC 2,0 ]%G(D) Computing a second CRC of the first sequence associated with each of the sub-blocks, wherein CRC j,0 represents a second CRC of the first sequence associated with the j-th sub-block, and CRC 2,0 represents a second sub-block associated with The second CRC of the first sequence, CRC j-1, 0 represents the second CRC of the first sequence associated with the j-1th sub-block.
结合第二方面至第二方面的第五种可能的实现方式中的任一项,在第二方面的第 六种可能的实现方式中,计算单元,具体用于根据公式
Figure PCTCN2018115221-appb-000013
获取第二个子数据块关联的第一序列的第二CRC,其中,Π表示连乘,i表示将第二个子数据块对应的全零序列的长度表示为L 2=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式中各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
Figure PCTCN2018115221-appb-000014
是指数i对应的第二多项式,G(D)表示数据块的CRC生成多项式,L 2表示第二个子数据块对应的全零序列的长度,CRC 2,0表示第二个子数据块关联的第一序列的第二CRC。
With reference to any one of the second aspect to the fifth possible implementation manner of the second aspect, in a sixth possible implementation manner of the second aspect, the calculating unit is specifically used according to the formula
Figure PCTCN2018115221-appb-000013
Obtaining a second CRC of the first sequence associated with the second sub-block, where Π denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the second sub-block as L 2 =a 22 *2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i = 0 to 22 represents the coefficient of each item in the first polynomial, a i=0~22 =0 or 1,
Figure PCTCN2018115221-appb-000014
Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L 2 represents the length of the all-zero sequence corresponding to the second sub-block, and CRC 2,0 represents the second sub-block association The second CRC of the first sequence.
结合第二方面至第二方面的第六种可能的实现方式中的任一项,在第二方面的第七种可能的实现方式中,计算单元,具体用于根据公式计算单元,还用于根据公式With reference to any one of the second aspect to the sixth possible implementation manner of the second aspect, in a seventh possible implementation manner of the second aspect, the calculating unit is specifically used to calculate the unit according to the formula, and is further used for According to the formula
Figure PCTCN2018115221-appb-000015
计算所述多个子数据块中每个子数据块的第一CRC,其中,CRC j,msg表示第j个子数据块的第一CRC,N j表示第j+1个子数据块的长度,
Figure PCTCN2018115221-appb-000016
为第1个子数据块中的数据,
Figure PCTCN2018115221-appb-000017
为第2个子数据块中的数据,…,
Figure PCTCN2018115221-appb-000018
为第j个子数据块中的数据。
Figure PCTCN2018115221-appb-000015
Computing a first CRC of each of the plurality of sub-blocks, wherein CRC j, msg represents a first CRC of the j-th sub-block, and N j represents a length of the j+1th sub-block,
Figure PCTCN2018115221-appb-000016
Is the data in the first sub-block,
Figure PCTCN2018115221-appb-000017
For the data in the second sub-block,...,
Figure PCTCN2018115221-appb-000018
Is the data in the jth sub-block.
结合第二方面至第二方面的第七种可能的实现方式中的任一项,在第二方面的第八种可能的实现方式中,CRC计算装置为接收机,CRC计算装置还包括:校验单元,用于确定数据块的CRC为预设常数序列,则确定数据块校验通过。With reference to any one of the second aspect to the seventh possible implementation of the second aspect, in an eighth possible implementation manner of the second aspect, the CRC computing device is a receiver, and the CRC computing device further includes: And the determining unit is configured to determine that the CRC of the data block is a preset constant sequence, and then determine that the data block check passes.
结合第二方面至第二方面的第八种可能的实现方式中的任一项,在第二方面的第九种可能的实现方式中,计算单元,还具体将每个子数据块的第三CRC进行模二加,得到所述数据块的CRC。With reference to any one of the second aspect to the eighth possible implementation manner of the second aspect, in a ninth possible implementation manner of the second aspect, the computing unit further specifically the third CRC of each sub data block Perform modulo two addition to obtain the CRC of the data block.
结合第二方面至第二方面的第九可能的实现方式中的任一项,在第二方面的第十种可能的实现方式中,CRC计算装置为发射机,确定单元,还用于待计算数据块后补充L_CRC个0,以得到所述数据块,其中,L_CRC表示所述CRC生成多项式G(D)对应的CRC长度。With reference to any one of the second aspect to the ninth possible implementation manner of the second aspect, in a tenth possible implementation manner of the second aspect, the CRC computing device is a transmitter, a determining unit, and is still used to be calculated The data block is followed by L_CRC 0s to obtain the data block, where L_CRC represents the CRC length corresponding to the CRC generator polynomial G(D).
第三方面,本申请提供一种CRC计算装置,该CRC计算装置可以包括处理器和存储器。该处理器被配置为支持CRC计算装置执行上述第一方面至第一方面的任一项所描述的方法中用于在CRC计算装置侧执行消息或数据处理的功能。存储器用于与处理器耦合,其保存该CRC计算装置必要的程序(指令)和数据。另外该CRC计算装置还可以包括通信接口,通信接口被配置为支持CRC计算装置与其他网元进行通信,以执行上述第一方面至第一方面的任一项所描述的方法中用于在CRC计算装置侧执行消息或数据发送和接收的功能。该通信接口可以是收发器。In a third aspect, the present application provides a CRC computing device that can include a processor and a memory. The processor is configured to support a function of the CRC computing device to perform a message or data processing on the CRC computing device side in the method described in any one of the first to the first aspects above. The memory is for coupling with a processor that holds the programs (instructions) and data necessary for the CRC computing device. Additionally, the CRC computing device can further include a communication interface configured to support the CRC computing device in communicating with other network elements to perform the method described in any one of the above first aspect to the first aspect for use in the CRC The computing device side performs the function of message or data transmission and reception. The communication interface can be a transceiver.
第四方面,本申请提供一种芯片系统,应用于CRC计算装置中,该芯片系统包括至少一个处理器,存储器和接口电路,存储器、接口电路和至少一个处理器通过线路互联,至少一个存储器中存储有指令;指令被处理器执行,以执行第一方面至第一方面的任意一种可能的实现方式所描述的方法。In a fourth aspect, the present application provides a chip system for use in a CRC computing device, the chip system including at least one processor, a memory and an interface circuit, the memory, the interface circuit, and the at least one processor being interconnected by a line, in at least one memory The instructions are stored by the processor to perform the method described in any one of the possible aspects of the first aspect to the first aspect.
第五方面,本申请提供一种计算机可读存储介质,应用于CRC计算装置中,计算 机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行第一方面至第一方面的任意一种可能的实现方式所描述的方法。In a fifth aspect, the present application provides a computer readable storage medium, which is applied to a CRC computing device, where instructions are stored in a computer readable storage medium, and when the instructions are run on a computer, cause the computer to perform the first aspect to the first aspect The method described in any of the possible implementations.
第六方面,本申请提供一种终端设备,该终端设备中具有上述实施例中所描述的CRC计算装置。In a sixth aspect, the present application provides a terminal device having the CRC computing device described in the above embodiments.
第七方面,本申请提供一种网络设备,该网络设备中具有上述实施例中所描述的CRC计算装置。In a seventh aspect, the present application provides a network device having the CRC computing device described in the above embodiments.
第八方面,本申请提供一种中继设备,该中继设备中具有上述实施例中所描述的CRC计算装置。In an eighth aspect, the present application provides a relay device having the CRC computing device described in the above embodiments.
附图说明DRAWINGS
图1为现有技术中提供的一种发射端处理的流程示意图;1 is a schematic flowchart of a process of transmitting end provided by the prior art;
图2为现有技术中提供的一种TB块加TB_CRC,并进行CB分块的场景示意图一;2 is a schematic diagram 1 of a scenario in which a TB block is added with a TB_CRC and CB is partitioned in the prior art;
图3为现有技术中提供的一种接收端处理的结构示意图;3 is a schematic structural diagram of a receiving end processing provided in the prior art;
图4为现有技术中提供的一种计算的CRC的结构示意图;4 is a schematic structural diagram of a calculated CRC provided in the prior art;
图5为本发明实施例提供的一种CRC计算方法的流程示意图一;FIG. 5 is a schematic flowchart 1 of a CRC calculation method according to an embodiment of the present disclosure;
图6为本发明实施例提供的一种数据块分为多个子数据块的结构示意图;FIG. 6 is a schematic structural diagram of a data block divided into multiple sub-blocks according to an embodiment of the present disclosure;
图7为本发明实施例提供的一种CRC计算装置的结构示意图一;FIG. 7 is a schematic structural diagram 1 of a CRC computing device according to an embodiment of the present disclosure;
图8为本发明实施例提供的一种CRC计算装置的结构示意图二;FIG. 8 is a schematic structural diagram 2 of a CRC computing device according to an embodiment of the present disclosure;
图9为本发明实施例提供的一种CRC计算装置的结构示意图三。FIG. 9 is a schematic structural diagram 3 of a CRC computing device according to an embodiment of the present invention.
具体实施方式Detailed ways
本申请提供的方法可以应用于需要进行CRC编码或校检的系统,尤其是需要进行较大数据块(例如,长度大于6144的数据块)的CRC编码或校检的系统。The method provided by the present application can be applied to systems that require CRC encoding or checking, especially systems that require CRC encoding or checking of larger blocks of data (eg, blocks of data greater than 6144 in length).
本发明实施例中的发射端或者接收端可以为应用于CRC编码和校检的单元的设备,例如,网络设备(例如,基站),终端设备(例如,用户设备(user equipment,UE)),或者中继设备。The transmitting end or the receiving end in the embodiment of the present invention may be a device applied to a unit of CRC encoding and checking, for example, a network device (for example, a base station), and a terminal device (for example, user equipment (UE)), Or a relay device.
本申请中的CRC计算方法可以由CRC计算装置来执行,该CRC计算装置可以为发射机、接收机或者处理器,该处理器位于发射机或者接收机中,具体的如图5所示,图5示出了本申请提供的一种CRC计算方法的流程示意图,包括:The CRC calculation method in the present application may be performed by a CRC calculation device, which may be a transmitter, a receiver or a processor, which is located in a transmitter or a receiver, as shown in FIG. 5 is a schematic flow chart of a CRC calculation method provided by the present application, including:
S101、CRC计算装置计算数据块包括的多个子数据块中每个子数据块的第一循环冗余校验CRC,以及计算每个子数据块各自关联的第一序列的第二CRC,其中,任一个子数据块关联的第一序列由1和任一个子数据块对应的全零序列组成,不同子数据块对应的全零序列的长度不同。S101. The CRC computing device calculates a first cyclic redundancy check CRC of each of the plurality of sub-blocks included in the data block, and calculates a second CRC of the first sequence associated with each of the sub-blocks, where any one The first sequence associated with the sub-block is composed of 1 and an all-zero sequence corresponding to any one of the sub-blocks, and the lengths of the all-zero sequences corresponding to the different sub-blocks are different.
可选的,任一个子数据块对应的全零序列的长度等于位于任一个子数据块之前的所有子数据块的长度之和。Optionally, the length of the all-zero sequence corresponding to any one of the sub-blocks is equal to the sum of the lengths of all the sub-blocks before any one of the sub-blocks.
具体的,任一个子数据块之前的所有子数据块可以指按照从起始地址指向末地址方向确定。Specifically, all sub-blocks before any one of the sub-blocks may be determined according to the direction from the start address to the end address.
示例性的,第一序列可以表示为
Figure PCTCN2018115221-appb-000019
其中,L j表示第j个子数据块对应的全零序列的长度,P∈[0,j-2],N P表示位于第j个子数据块之前的第P+1个子数据块的长 度。
Exemplarily, the first sequence can be expressed as
Figure PCTCN2018115221-appb-000019
Where L j represents the length of the all-zero sequence corresponding to the j-th sub-block, P ∈ [0, j - 2], and N P represents the length of the P+1-th sub-block before the j-th sub-block.
例如,该第一序列可以为“1000000000”。For example, the first sequence can be "1000000000".
需要说明的是,对于任一个数据块而言,若该任一个子数据块中存在一个子数据块A,该子数据块A(例如,第一个子数据块)之前的所有子数据块的长度为0,那么便可以确定该子数据块A关联的第一序列为1,也即通常一个数据块之内的第一个子数据块对应的全零序列的长度为0,那么该第一个子数据块关联的第一序列为1。It should be noted that, for any data block, if there is one sub-block A in any one of the sub-blocks, all the sub-blocks before the sub-block A (for example, the first sub-block) If the length is 0, it can be determined that the first sequence associated with the sub-block A is 1, that is, the length of the all-zero sequence corresponding to the first sub-block within one block is usually 0, then the first The first sequence of sub-block associations is 1.
示例性的,本申请中数据块可以包括M个子数据块,其中,M为大于或等于2的整数。该M个子数据块的长度之和等于该数据块的长度。Exemplarily, the data block in this application may include M sub-blocks, where M is an integer greater than or equal to 2. The sum of the lengths of the M sub-blocks is equal to the length of the block.
其中,M个子数据块的长度可以相等,也可以不相等,本申请对此不进行限定。The lengths of the M sub-blocks may be equal or not equal, which is not limited in this application.
示例性的,本申请中的数据块可以为传输块(Transport Block,TB),也可以为包括CRC的TB,记为TB+TB_CRC,也可以为编码块(Code Block,CB),或者可以为包括CRC的CB,记为CB+CB_CRC。Exemplarily, the data block in this application may be a transport block (TB), or may be a TB including a CRC, and may be a TB+TB_CRC or a code block (CB), or may be The CB including the CRC is denoted as CB+CB_CRC.
如图6所示,本申请以数据块为TB+TB_CRC,以TB+TB_CRC包括4个子数据块为例进行说明:As shown in FIG. 6, the present application uses a data block as TB+TB_CRC, and TB+TB_CRC includes four sub-blocks as an example:
如图6所示,TB+TB_CRC包括的子数据块为:子数据块1,子数据块2,子数据块3和子数据块4,由图6可以看出,子数据块4与全零序列4对应,子数据块3与全零序列3对应,子数据块2与全零序列2对应,需要说明的是,由于子数据块1为多个子数据块中的第一个子数据块,因此,子数据块1对应的全零序列的长度为0,在图6中未示出。As shown in FIG. 6, the TB+TB_CRC includes sub-blocks: sub-block 1, sub-block 2, sub-block 3, and sub-block 4. As can be seen from FIG. 6, sub-block 4 and all-zero sequence Corresponding to 4, the sub-block 3 corresponds to the all-zero sequence 3, and the sub-block 2 corresponds to the all-zero sequence 2. It should be noted that since the sub-block 1 is the first sub-block of the plurality of sub-blocks, The length of the all-zero sequence corresponding to the sub-block 1 is 0, which is not shown in FIG.
示例性的,子数据块4对应的全零序列4的长度为子数据块3的长度、子数据块2的长度和子数据块1的长度之和,子数据块3对应的全零序列3的长度为子数据块2和子数据块1的长度之和,子数据块2对应的全零序列2的长度为子数据块1的长度。Exemplarily, the length of the all-zero sequence 4 corresponding to the sub-block 4 is the sum of the length of the sub-block 3, the length of the sub-block 2, and the length of the sub-block 1, and the all-zero sequence 3 of the sub-block 3 The length is the sum of the lengths of the sub-block 2 and the sub-block 1, and the length of the all-zero sequence 2 corresponding to the sub-block 2 is the length of the sub-block 1.
可选的,本申请在步骤S101之前,还包括:将数据块划分为多个子数据块。Optionally, before the step S101, the application further includes: dividing the data block into multiple sub-blocks.
不同的通信系统对子数据块长度的要求不一样,比如,5G通信系统中,可能要求所有子数据块长度相等,在4G通信系统中则允许出现至少两种不同长度的子数据块,因此,基于通信系统对子数据块长度的要求来划分数据块,以使得划分后得到的子数据块的长度满足通信系统的要求。Different communication systems have different requirements on the length of sub-blocks. For example, in a 5G communication system, all sub-blocks may be required to be equal in length, and at least two sub-blocks of different lengths are allowed in a 4G communication system. The data blocks are divided based on the requirements of the communication system for the length of the sub-blocks, so that the length of the sub-blocks obtained after the partitioning satisfies the requirements of the communication system.
需要说明的是,本申请中计算一个子数据块的第一CRC及该一个子数据块对应的第一序列的第二CRC,和计算其他子数据块的第一CRC及其他子数据块对应的第一序列的第二CRC可以是并行的处理过程。It should be noted that, in this application, the first CRC of one sub-block and the second CRC of the first sequence corresponding to the one sub-block are calculated, and the first CRC and other sub-blocks corresponding to other sub-blocks are calculated. The second CRC of the first sequence can be a parallel process.
可选的,本申请中发射端的数据块由CRC计算装置在输入信息数据块后补充L_CRC个0得到,其中,L_CRC表示所述CRC生成多项式G(D)对应的CRC长度。Optionally, the data block of the transmitting end in the present application is obtained by the CRC computing device by adding L_CRC 0 after inputting the information data block, where L_CRC represents the CRC length corresponding to the CRC generating polynomial G(D).
S102、CRC计算装置根据每个子数据块的第一CRC以及每个子数据块各自关联的第一序列的第二CRC,确定每个子数据块的第三CRC。S102. The CRC computing device determines a third CRC of each sub-block according to a first CRC of each sub-block and a second CRC of the first sequence associated with each sub-block.
具体的,本申请中的步骤S102具体可以通过以下方式实现:Specifically, step S102 in this application may be specifically implemented by:
S1021、CRC计算装置根据公式CRC_j=(CRC j,msg*CRC j,0)%G(D)确定所述每个子数据块的第三CRC,其中,j表示子数据块的标识;CRC_j表示第j个子数据块的第三CRC;CRC j,msg表示第j个子数据块的第一CRC,CRC j,0表示第j个子数据块关联的第一序列的第二CRC;G(D)表示所述数据块的CRC生成多项式,j∈[1,M],M为 所述数据块包括的子数据块的数量,M为大于或等于2的整数。其中,msg为Message的缩写,代表子数据块信息本身,本文把其对应的CRC称为子数据块本身的第一CRC。 S1021: The CRC computing device determines a third CRC of each of the sub-blocks according to a formula CRC_j=(CRC j, msg *CRC j, 0 )%G(D), where j represents an identifier of the sub-block; CRC_j represents a a third CRC of j sub-blocks; CRC j, msg represents a first CRC of the j-th sub-block, CRC j, 0 represents a second CRC of the first sequence associated with the j-th sub-block; G(D) represents The CRC of the data block is generated by a polynomial, j ∈ [1, M], where M is the number of sub-blocks included in the data block, and M is an integer greater than or equal to 2. Where msg is the abbreviation of Message, which represents the sub-block information itself, and the corresponding CRC is referred to herein as the first CRC of the sub-block itself.
可选的,数据块为TB时,G(D)可以为TB对应的CRC生成多项式,可以表示为G TB(D),数据块为CB时,G(D)可以为CB对应的CRC生成多项式,可以表示为G CB(D)。 Optionally, when the data block is TB, G(D) may be a CRC generating polynomial corresponding to TB, which may be represented as G TB (D), and when the data block is CB, G(D) may be a CRC generating polynomial corresponding to CB. , can be expressed as G CB (D).
如无特殊说明,本申请中计算一个数据块对应的CRC表示:把该数据块表示成对应多项式后,乘以
Figure PCTCN2018115221-appb-000020
(其中,D表示CRC计算中惯用的变量符号,将数据块乘以
Figure PCTCN2018115221-appb-000021
表示在数据块后面补充L CRC个0。其中,L CRC为该数据块对应的CRC的长度),然后对该数据块的CRC生成多项式求余式,得到的余式对应的序列,即为该数据块对应CRC生成多项式的CRC。例如:数据块为:x A-1,x A-2,...,x 1,x 0,CRC生成多项式为:
Unless otherwise specified, in the present application, a CRC representation corresponding to a data block is calculated: after the data block is represented as a corresponding polynomial, multiplied by
Figure PCTCN2018115221-appb-000020
(where D represents the variable symbol used in CRC calculations, multiplying the data block by
Figure PCTCN2018115221-appb-000021
Indicates that L CRC 0s are added after the data block. The L CRC is the length of the CRC corresponding to the data block, and then the polynomial residual is generated for the CRC of the data block, and the obtained sequence corresponding to the remainder is the CRC of the CRC generating polynomial corresponding to the data block. For example: the data block is: x A-1 , x A-2 ,..., x 1 , x 0 , and the CRC generator polynomial is:
G(D)=D 24+D 23+D 18+D 17+D 14+D 11+D 10+D 7+D 6+D 5+D 4+D 3+D+1,则对CRC生成多项式G(D),数据块x A-1,x A-2,...,x 1,x 0对应的CRC为: G(D)=D 24 +D 23 +D 18 +D 17 +D 14 +D 11 +D 10 +D 7 +D 6 +D 5 +D 4 +D 3 +D+1, then generate a polynomial for CRC G(D), the CRC corresponding to the data block x A-1 , x A-2 ,..., x 1 , x 0 is:
[(x A-1*D A-1+x A-2*D A-2+...+x 1*D 1+x 0*D 0)*D 24]%G(D)得到余式对应的目标序列,比如上述余式为D 21+D 6+D 3+1,则数据块x A-1,x A-2,...,x 1,x 0对应的CRC为:0010 0000 0000 0000 0100 1001。 [(x A-1 *D A-1 +x A-2 *D A-2 +...+x 1 *D 1 +x 0 *D 0 )*D 24 ]%G(D) gives a residual Corresponding target sequence, such as the above formula is D 21 + D 6 + D 3 +1, then the CRC corresponding to the data block x A-1 , x A-2 , ..., x 1 , x 0 is: 0010 0000 0000 0000 0100 1001.
本申请中一个比特序列和该比特序列对应多项式为等价的,比如上述:In this application, a bit sequence and the corresponding polynomial of the bit sequence are equivalent, such as the above:
G(D)=D 24+D 23+D 18+D 17+D 14+D 11+D 10+D 7+D 6+D 5+D 4+D 3+D+1可以使用如下比特序列表示1 1000 0110 0100 1100 1111 1011。 G(D)=D 24 +D 23 +D 18 +D 17 +D 14 +D 11 +D 10 +D 7 +D 6 +D 5 +D 4 +D 3 +D+1 can be expressed using the following bit sequence 1 1000 0110 0100 1100 1111 1011.
因此,本申请中CRC计算装置计算每个子数据块各自关联的第一序列的第二CRC的方式可以有多种,可选的,作为一种可能的实现方式,本申请中的步骤S101可以通过以下方式实现:Therefore, in the present application, the CRC calculation device may calculate the second CRC of the first sequence associated with each of the sub-blocks in a plurality of manners. Alternatively, as a possible implementation manner, step S101 in the present application may be adopted. The following ways to achieve:
CRC计算装置根据公式
Figure PCTCN2018115221-appb-000022
计算每个子数据块各自关联的第一序列的第二CRC,其中,Π表示连乘,i表示将第j个子数据块对应的全零序列的长度表示为L j=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式时各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
Figure PCTCN2018115221-appb-000023
是指数i对应的第二多项式,G(D)表示所述数据块的CRC生成多项式,L j表示第j个子数据块对应的全零序列的长度,CRC j,0表示第j个子数据块关联的第一序列的第二CRC。
CRC computing device according to the formula
Figure PCTCN2018115221-appb-000022
Calculating a second CRC of the first sequence associated with each of the sub-blocks, wherein Π represents a multiplication, and i represents the length of the all-zero sequence corresponding to the j-th sub-block as L j =a 22 *2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i = 0 to 22 represents the coefficient of each item in the first polynomial, a i=0~22 =0 or 1,
Figure PCTCN2018115221-appb-000023
Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L j represents the length of the all-zero sequence corresponding to the j-th sub-block, and CRC j, 0 represents the j-th sub-data The second CRC of the first sequence of block associations.
具体的,本申请中CRC计算装置确定
Figure PCTCN2018115221-appb-000024
的方式有多种,例如,CRC计算装置通过第一查询表确定指数i对应的第二多项式中各项的系数,第一查询表中至少包括指数i对应的第二多项式中各项的系数;CRC计算装置根据指数i对应的第二多项式中各项的系数,确定
Figure PCTCN2018115221-appb-000025
Specifically, the CRC computing device in the present application determines
Figure PCTCN2018115221-appb-000024
There are various ways, for example, the CRC calculation device determines the coefficients of the items in the second polynomial corresponding to the index i through the first lookup table, and the first lookup table includes at least the second polynomial corresponding to the index i. a coefficient of the item; the CRC calculating means determines the coefficient of each item in the second polynomial corresponding to the index i
Figure PCTCN2018115221-appb-000025
示例性的,第j=1个子数据块的长度为10000bit,那么该第j=2个子数据块对应的全零序列的长度对应的第一多项式为:Exemplarily, the length of the j=1th sub-block is 10000 bits, and the first polynomial corresponding to the length of the all-zero sequence corresponding to the j=2 sub-blocks is:
10000bit=8192bit+1024bit+512bit+256bit+16bit=2 13+2 10+2 9+2 8+2 4,从而可以确定第j=2个子数据块的对应的全零序列的长度对应的第二多项式的各项的指数i的取值可以为13、10、9、8以及4。 10000bit=8192bit+1024bit+512bit+256bit+16bit=2 13 +2 10 +2 9 +2 8 +2 4 , so that it can be determined that the length of the corresponding all-zero sequence of the j=2 sub-blocks corresponds to the second The index i of each item of the formula can be 13, 10, 9, 8, and 4.
需要说明的是,本申请在计算每个子数据块对应的第一序列的第二CRC时,该多个子数据块的长度可以相等,也可以不相等。It should be noted that, in the calculation of the second CRC of the first sequence corresponding to each sub-block, the lengths of the plurality of sub-blocks may or may not be equal.
可选的,当每个子数据块的长度相等时,作为另一种可能的实现方式,本申请中的步骤S101还可以通过以下方式实现:Optionally, when the length of each sub-block is equal, step S101 in the present application may also be implemented in the following manner as another possible implementation manner:
S1011、CRC计算装置获取多个子数据块中第二个子数据块关联的第一序列的第 二CRC。S1011. The CRC computing device acquires a second CRC of the first sequence associated with the second sub-block of the plurality of sub-blocks.
示例性的,第二个子数据块可以为如图6所示的子数据块2。Exemplarily, the second sub-block may be sub-block 2 as shown in FIG. 6.
可选的,步骤S1011可以通过以下方式实现:Optionally, step S1011 can be implemented in the following manner:
一方面,设L 2=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0,CRC计算装置根据公式
Figure PCTCN2018115221-appb-000026
获取第二个子数据块关联的第一序列的第二CRC,其中,Π表示连乘,i表示将第二个子数据块对应的全零序列的长度表示为L 2=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式中各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
Figure PCTCN2018115221-appb-000027
是指数i对应的第二多项式,G(D)表示数据块的CRC生成多项式,L 2表示第二个子数据块对应的全零序列的长度,CRC 2,0表示第二个子数据块关联的第一序列的第二CRC。
In one aspect, let L 2 = a 22 * 2 22 + a 21 * 2 21 + ... + a 1 * 2 1 + a 0 * 2 0 , the CRC calculation device according to the formula
Figure PCTCN2018115221-appb-000026
Obtaining a second CRC of the first sequence associated with the second sub-block, where Π denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the second sub-block as L 2 =a 22 *2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i = 0 to 22 represents the coefficient of each item in the first polynomial, a i=0~22 =0 or 1,
Figure PCTCN2018115221-appb-000027
Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L 2 represents the length of the all-zero sequence corresponding to the second sub-block, and CRC 2,0 represents the second sub-block association The second CRC of the first sequence.
另一方面,CRC计算装置从预设表1中查表得到各
Figure PCTCN2018115221-appb-000028
然后通过公式
Figure PCTCN2018115221-appb-000029
计算得到该第二子数据块关联的第一序列的第二CRC,其中,Π表示连乘,i表示将第二个子数据块对应的全零序列的长度表示为L 2=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式中各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
Figure PCTCN2018115221-appb-000030
是指数i对应的第二多项式,G(D)表示所述数据块的CRC生成多项式,L 2表示所述第二个子数据块对应的全零序列的长度,CRC 2,0表示所述第二个子数据块关联的第一序列的第二CRC。
On the other hand, the CRC calculation device obtains each table from the preset table 1.
Figure PCTCN2018115221-appb-000028
Then pass the formula
Figure PCTCN2018115221-appb-000029
Calculating a second CRC of the first sequence associated with the second sub-block, where Π denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the second sub-block as L 2 =a 22 *2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i=0 to 22 represents the item in the first polynomial Coefficient, a i=0~22 =0 or 1,
Figure PCTCN2018115221-appb-000030
Is a second polynomial corresponding to the index i, G(D) represents a CRC generator polynomial of the data block, L 2 represents a length of an all-zero sequence corresponding to the second sub-block, and CRC 2,0 represents the The second CRC of the first sequence associated with the second sub-block.
S1012、CRC计算装置根据公式CRC j,0=[CRC j-1,0*CRC 2,0]%G(D)依次计算每个子数据块各自对应的第一序列的第二CRC,其中,CRC j,0表示第j个子数据块关联的第一序列的第二CRC,CRC 2,0表示第二个子数据块关联的第一序列的第二CRC,CRC j-1,0表示第j-1个子数据块关联的第一序列的第二CRC。 S1012: The CRC computing device sequentially calculates a second CRC of the first sequence corresponding to each of the sub-blocks according to a formula CRC j,0 =[CRC j-1,0 *CRC 2,0 ]%G(D), wherein the CRC j, 0 represents the second CRC of the first sequence associated with the jth subblock, CRC 2 , 0 represents the second CRC of the first sequence associated with the second subblock, CRC j-1, 0 represents the j-1 The second CRC of the first sequence associated with the sub-blocks.
S103、CRC计算装置将每个子数据块的第三CRC合并,得到数据块的CRC。S103. The CRC computing device combines the third CRC of each sub-block to obtain a CRC of the data block.
具体的,步骤S103可以通过以下方式实现:Specifically, step S103 can be implemented in the following manner:
CRC计算装置将每个子数据块的第三CRC进行模二加,得到数据块的CRC。The CRC calculating means modulates the third CRC of each subblock to obtain a CRC of the block.
可选的,本申请中的CRC计算装置为接收机时,本申请提供的方法,还包括:Optionally, when the CRC computing device in the application is a receiver, the method provided by the application further includes:
S104、CRC计算装置根据数据块的CRC,则确定数据块是否校验通过。S104. The CRC computing device determines, according to the CRC of the data block, whether the data block is verified to pass.
具体的,本申请中的步骤S104可以通过以下方式实现:Specifically, step S104 in the present application can be implemented in the following manner:
CRC计算装置确定数据块的CRC为预设常数序列,则确定数据块校验通过,CRC计算装置确定数据块的CRC不是预设常数序列,则确定数据块未校验通过。The CRC calculating means determines that the CRC of the data block is a preset constant sequence, and determines that the data block check passes, and the CRC calculating means determines that the CRC of the data block is not a preset constant sequence, and determines that the data block is not verified.
示例性的,该预设常数序列可以为全零序列。Illustratively, the predetermined constant sequence can be an all zero sequence.
通常情况下,CRC校验有两种方式:一种是把译码得到的整个TB数据块及TB_CRC串接后,对多项式G TB(D)进行求余运算,如果求余结果为某预定常数序列(例如,全零序列),则表示通过TB CRC校验,否则表示未通过TB CRC校验。另一种是通过用译码得到的TB数据块对应的多项式后边补L CRC个0后,对G TB(D)进行求余运算,如果求余结果和译码得到的TB_CRC对应多项式模2加后,等于某预定常数序列,则表示通过TB CRC检测,否则表示未通过TB CRC校验。 In general, there are two ways to perform CRC check: one is to perform the remainder operation on the polynomial G TB (D) after concatenating the entire TB data block obtained by decoding and TB_CRC, if the result of the remainder is a predetermined constant A sequence (eg, an all-zero sequence) indicates a TB CRC check, otherwise it indicates a TB CRC check. The other is to use the polynomial corresponding to the TB data block obtained by decoding to complement the L CRC 0, and then perform the remainder operation on G TB (D), if the residual result and the decoded TB_CRC correspond to the polynomial modulo 2 After that, if it is equal to a predetermined constant sequence, it means that it is detected by TB CRC, otherwise it means that it does not pass the TB CRC check.
可选的,CRC计算装置计算数据块包括的多个子数据块中每个子数据块的第一CRC,可以通过以下方式实现:设备根据公式Optionally, the CRC calculation device calculates the first CRC of each of the plurality of sub-blocks included in the data block, and may be implemented by:
Figure PCTCN2018115221-appb-000031
计算所述多个子数据块中每个子数据块的第一CRC,其中,CRC j,msg表示第j个子数据块的第一CRC,N j表示第j+1个子数据块的长度,
Figure PCTCN2018115221-appb-000032
为第1个子数据块中的数据,
Figure PCTCN2018115221-appb-000033
为第2个子数据块中的数据,…,
Figure PCTCN2018115221-appb-000034
为第j个子数据块中的数据。
Figure PCTCN2018115221-appb-000031
Computing a first CRC of each of the plurality of sub-blocks, wherein CRC j, msg represents a first CRC of the j-th sub-block, and N j represents a length of the j+1th sub-block,
Figure PCTCN2018115221-appb-000032
Is the data in the first sub-block,
Figure PCTCN2018115221-appb-000033
For the data in the second sub-block,...,
Figure PCTCN2018115221-appb-000034
Is the data in the jth sub-block.
以下将结合具体实施例介绍本申请提供的一种循环冗余校验CRC计算方法:A method for calculating a cyclic redundancy check CRC provided by the present application will be described below with reference to specific embodiments:
实施例1、本申请提供的方法以携带TB_CRC的TB(记为TB+TB_CRC)包括4个子数据块为例,例如,如图6所示,可以通过以下公式计算每个子数据块的第三CRC:Embodiment 1 The method provided by the present application is exemplified by a TB (referred to as TB+TB_CRC) carrying TB_CRC, including 4 sub-blocks. For example, as shown in FIG. 6, the third CRC of each sub-block can be calculated by the following formula. :
CRC_1=(CRC 1,msg*1)%G TB(D)=CRC 1,msg%G TB(D),其中,CRC_1表示子数据块1的第三CRC,CRC 1,msg表示子数据块1的第一CRC。 CRC_1=(CRC 1, msg *1)%G TB (D)=CRC 1, msg %G TB (D), where CRC_1 represents the third CRC of sub-block 1, CRC 1, msg represents sub-block 1 The first CRC.
CRC_2=(CRC 2,msg*CRC 2,0)%G TB(D),其中,CRC_2表示子数据块2的第三CRC,CRC 2,msg表示子数据块2的第一CRC,CRC 2,0表示子数据块2对应的第一序列的第二CRC,G TB(D)表示TB使用的CRC生成多项式。 CRC_2=(CRC 2, msg *CRC 2,0 )%G TB (D), where CRC_2 represents the third CRC of sub-block 2, CRC 2, msg represents the first CRC of sub-block 2, CRC 2, 0 denotes a second CRC of the first sequence corresponding to the sub-block 2, and G TB (D) denotes a CRC generator polynomial used by the TB.
CRC_3=(CRC 3,msg*CRC 3,0)%G TB(D),其中,CRC_3表示子数据块3或第3个子数据块的第三CRC,CRC 3,msg表示子数据块3的第一CRC,CRC 3,0表示子数据块3对应的第一序列的第二CRC,G TB(D)表示TB使用的CRC生成多项式。 CRC_3=(CRC 3, msg *CRC 3,0 )%G TB (D), where CRC_3 represents the third CRC of the sub-block 3 or the third sub-block, CRC 3, and msg represents the sub-block 3 A CRC, CRC 3,0 represents the second CRC of the first sequence corresponding to sub-block 3, and G TB (D) represents the CRC generator polynomial used by the TB.
CRC_4=(CRC 4,msg*CRC 4,0)%G TB(D),其中,CRC_4表示子数据块4的第三CRC,CRC 4,msg表示子数据块4或第4个子数据块的第一CRC,CRC 4,0表示子数据块4对应的第一序列的第二CRC,G TB(D)表示TB使用的CRC生成多项式。 CRC_4=(CRC 4, msg *CRC 4,0 )%G TB (D), where CRC_4 represents the third CRC of sub-block 4, CRC 4, msg represents the sub-block 4 or the fourth sub-block A CRC, CRC 4 , 0 represents the second CRC of the first sequence corresponding to sub-block 4, and G TB (D) represents the CRC generator polynomial used by the TB.
其中,每个子数据块的第一CRC表示每个子数据块各自单独计算得到的CRC,CRC j,0表示数据块包括的第j个子数据块对应的第一序列的第二CRC,其中,
Figure PCTCN2018115221-appb-000035
用于计算第j个子数据块对应的第一序列的第二CRC,L j表示第j个子数据块对应的全零序列的长度。
The first CRC of each sub-block represents a CRC calculated by each sub-block, and CRC j, 0 represents a second CRC of the first sequence corresponding to the j-th sub-block included in the data block, where
Figure PCTCN2018115221-appb-000035
A second CRC for calculating a first sequence corresponding to the j-th sub-block, L j representing a length of an all-zero sequence corresponding to the j-th sub-block.
对各个子数据块的CRC j,0,可以采用下述方法降低运算量:设每个子数据块对应的全零序列的长度
Figure PCTCN2018115221-appb-000036
a i=0~22=0or1,则
Figure PCTCN2018115221-appb-000037
其中,
Figure PCTCN2018115221-appb-000038
其中,G(D)表示数据块的CRC生成多项式,其中,Π表示连乘,i表示将第j个子数据块对应的全零序列的长度表示为L j=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式时各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
Figure PCTCN2018115221-appb-000039
是指数i对应的第二多项式,G(D)表示所述数据块的CRC生成多项式,L j表示第j个子数据块对应的全零序列的长度,CRC j,0表示第j个子数据块关联的第一序列的第二CRC。
For the CRC j,0 of each sub-block, the following method can be used to reduce the amount of calculation: set the length of the all-zero sequence corresponding to each sub-block
Figure PCTCN2018115221-appb-000036
a i=0~22 =0or1, then
Figure PCTCN2018115221-appb-000037
among them,
Figure PCTCN2018115221-appb-000038
Where G(D) represents a CRC generator polynomial of a data block, where Π denotes a multiplication, and i denotes that the length of the all-zero sequence corresponding to the j-th sub-block is expressed as L j =a 22 *2 22 +a 21 * 2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i=0 to 22 represents the coefficient of each item in the first polynomial, a i =0~22 =0 or 1,
Figure PCTCN2018115221-appb-000039
Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L j represents the length of the all-zero sequence corresponding to the j-th sub-block, and CRC j, 0 represents the j-th sub-data The second CRC of the first sequence of block associations.
一方面,可选的,i表示第j个子数据块对应的全零序列的长度用多个2的幂次方表示时对应的第二多项式中各项的指数,
Figure PCTCN2018115221-appb-000040
用于表示指数i对应的第二多项式。
In one aspect, optionally, i represents an index of a term in the second polynomial corresponding to a length of the all-zero sequence corresponding to the j-th sub-block, represented by a plurality of powers of two,
Figure PCTCN2018115221-appb-000040
Used to represent the second polynomial corresponding to the index i.
其中,对应于Which corresponds to
G TB(D)=D 24+D 23+D 18+D 17+D 14+D 11+D 10+D 7+D 6+D 5+D 4+D 3+D+1,各个
Figure PCTCN2018115221-appb-000041
可通过索引i查寻下表1得到。
G TB (D)=D 24 +D 23 +D 18 +D 17 +D 14 +D 11 +D 10 +D 7 +D 6 +D 5 +D 4 +D 3 +D+1, each
Figure PCTCN2018115221-appb-000041
It can be found in Table 1 by index i.
例如i=5,查表1得到各项系数对应的序列为:0110 0110 1000 1111 0100 1000,则
Figure PCTCN2018115221-appb-000042
通过上述过程,可大大减少运算量。
For example, i=5, look up Table 1 to get the sequence corresponding to each coefficient: 0110 0110 1000 1111 0100 1000, then
Figure PCTCN2018115221-appb-000042
Through the above process, the amount of calculation can be greatly reduced.
表1 第一查询表
Figure PCTCN2018115221-appb-000043
存储表
Table 1 The first query table
Figure PCTCN2018115221-appb-000043
Storage table
Figure PCTCN2018115221-appb-000044
Figure PCTCN2018115221-appb-000044
示例性的,下述将以TBS=20000-24=19976bits,分成4个CB块,每个CB的CBS=5000bits为例,假设CB块对应的CB_CRC的长度为0,以TB对应的CRC生成多项式为G TB(D)为例来介绍: Exemplarily, the following will be divided into 4 CB blocks with TBS=20000-24=19976 bits, and the CBS=5000 bits of each CB is taken as an example. It is assumed that the length of the CB_CRC corresponding to the CB block is 0, and the CRC is generated by the TB corresponding to the TB. For G TB (D) as an example:
在实施例1中,仍以如图6为例,可以并行计算CRC 1,msg,CRC 2,msg,CRC 3,msg,CRC 4,msg,还可以并行计算CRC 4,0=D 15000%G TB(D),CRC 3,0=D 10000%G TB(D),CRC 2,0=D 5000%G TB(D)。 In Embodiment 1, still as shown in FIG. 6, CRC 1, msg , CRC 2, msg , CRC 3, msg , CRC 4, msg can be calculated in parallel, and CRC 4, 0 = D 15000 %G can also be calculated in parallel. TB (D), CRC 3 , 0 = D 10000 % G TB (D), CRC 2 , 0 = D 5000 % G TB (D).
由于子数据块4对应的全零序列的长度=子数据块3的长度+子数据块2的长度+子数据块1的长度The length of the all-zero sequence corresponding to the sub-block 4 = the length of the sub-block 3 + the length of the sub-block 2 + the length of the sub-block 1
=5000+5000+5000=15000=8192+4096+2048+512+128+16+8=2 13+2 12+2 11+2 9+2 7+2 4+2 3,故
Figure PCTCN2018115221-appb-000045
CRC 4,0表示子数据块4对应的第一序列的第二CRC。
=5000+5000+5000=15000=8192+4096+2048+512+128+16+8=2 13 +2 12 +2 11 +2 9 +2 7 +2 4 +2 3 , so
Figure PCTCN2018115221-appb-000045
The CRC 4,0 represents the second CRC of the first sequence corresponding to the sub-block 4.
其中,子数据块3对应的全零序列的长度=子数据块2的长度+子数据块1的长度=5000+5000=10000=8192+1024+512+256+16=2 13+2 10+2 9+2 8+2 4,故
Figure PCTCN2018115221-appb-000046
其中,CRC 3,0表示子数据块3对应的第一序列的第二CRC。
Wherein, the length of the all-zero sequence corresponding to the sub-block 3 = the length of the sub-block 2 + the length of the sub-block 1 = 5000 + 5000 = 10000 = 819 + 1024 + 512 + 256 + 16 = 2 13 + 2 10 + 2 9 +2 8 +2 4 , so
Figure PCTCN2018115221-appb-000046
The CRC 3,0 represents the second CRC of the first sequence corresponding to the sub-block 3.
子数据块2对应的全零序列的长度=子数据块1的长度=5000=4096+512+256+128+8,故
Figure PCTCN2018115221-appb-000047
其中,CRC 2,0表示子数据块2或者第2个子数据块对应的第一序列的第二CRC。
The length of the all-zero sequence corresponding to the sub-block 2 = the length of the sub-block 1 = 5000 = 4096 + 512 + 256 + 128 + 8, so
Figure PCTCN2018115221-appb-000047
The CRC 2,0 represents the second CRC of the first sequence corresponding to the sub-block 2 or the second sub-block.
本申请中可以并行计算每个子数据块对应的第一CRC,也可以并行计算每个子数据块对应的第一序列的第二CRC,由于CRC 1,msg,CRC 2,msg,CRC 3,msg,CRC 4,msg可以并行计算,故计算CRC 1,msg,CRC 2,msg,CRC 3,msg,CRC 4,msg最大用5000个Cycle可以完成。而CRC 4,0,CRC 3,0,CRC 2,0也可以并行计算,故取其用时最大者,即
Figure PCTCN2018115221-appb-000048
需6个基本运算,此处的一个基本运算含一个24长*24长的多项式乘法运算和一个24长序列对G TB(D)的求余运算,约需6*(25+25)=300个Cycle。在这种情况下采用本申请实施例1总共需5000+300=5300个Cycle即可完成。
In this application, the first CRC corresponding to each sub-block may be calculated in parallel, or the second CRC of the first sequence corresponding to each sub-block may be calculated in parallel, because CRC 1, msg , CRC 2, msg , CRC 3, msg , CRC 4, msg can be calculated in parallel, so calculate CRC 1, msg , CRC 2, msg , CRC 3, msg , CRC 4, msg can be completed with 5000 Cycles. The CRC 4,0 , CRC 3,0 , CRC 2,0 can also be calculated in parallel, so the one that takes the most is the
Figure PCTCN2018115221-appb-000048
It requires 6 basic operations. A basic operation here consists of a 24-length *24-length polynomial multiplication operation and a 24-long sequence pair G TB (D) remainder operation, which requires about 6*(25+25)=300. Cycle. In this case, a total of 5000+300=5300 Cycles can be used in Embodiment 1 of the present application.
而现有技术中串行计算CRC,完成TB CRC检测需要20000个Cycle。因此,本申请提供的方案所需要的CRC为现有技术中所需20000个Cycle的27%,因此,可以大大减少了TB CRC校检的时延。In the prior art, the CRC is serially calculated, and 20,000 CRC is required to complete the TB CRC detection. Therefore, the CRC required by the solution provided by the present application is 27% of the 20,000 Cycles required in the prior art, and therefore, the delay of the TB CRC check can be greatly reduced.
需要说明的是,在实际过程中,为了进一步减少CRC校检的时延,在计算任一个子数据块的CRC时,比如计算第二个子数据块的第一CRC,也可以先计算第二个子数据块包括的多个小块A的CRC,即用第二个子数据块代替图6中的数据块,将第二个子数据块分成多个小块,然后用实施例1中的方法计算CRC 2,msgIt should be noted that, in the actual process, in order to further reduce the delay of the CRC check, when calculating the CRC of any sub-block, for example, calculating the first CRC of the second sub-block, the second sub-calculation may be calculated first. The CRC of the plurality of small blocks A included in the data block, that is, replacing the data block in FIG. 6 with the second sub data block, dividing the second sub data block into a plurality of small blocks, and then calculating the CRC 2 by the method in Embodiment 1. , msg .
实施例2,在通信系统中可能存在对子数据块的长度均相同的场景,例如,5G通信系统中,例如,以每个子数据块的长度为5000为例介绍,因此,下述将结合实施例2详细介绍在每个子数据块的长度相同时,如何计算每个子数据块对应的第二CRC:In the embodiment 2, there may be a scenario in which the lengths of the sub-blocks are the same in the communication system. For example, in the 5G communication system, for example, the length of each sub-block is 5000, for example, the following will be implemented in combination. Example 2 details how to calculate the second CRC corresponding to each sub-block when the length of each sub-block is the same:
又一示例,实施例2与实施例1的区别在于:本申请实施例2中除了需要计算CRC 1,Msg,CRC 2,Msg,CRC 3,Msg,CRC 4,Msg外,还需要计算CRC 2,0,CRC 3,0,CRC 4,0,且实施例1中CRC 2,0,CRC 3,0,CRC 4,0可以并行计算,而在实施例2中是先计算出子数据块2的第二CRC后,再依次根据公式CRC j,0=(CRC j-1,0*CRC 2,0)%G TB(D)计算其余子数据块的第二CRC,例如,可以根据公式
Figure PCTCN2018115221-appb-000049
计算出CRC 2,0,其中,此处的N 0表示子数据块的长度,再根据公式CRC 3,0=(CRC 2,0*CRC 2,0)%G TB(D)计算出CRC 3,0以及根据公式CRC 4,0=(CRC 3,0*CRC 2,0)%G TB(D)计算出CRC 4,0
Yet another example, the difference between Example 2 and Example Embodiment 1 embodiment in that: in Example 2 of the present application embodiment in addition to calculating CRC 1, Msg, CRC 2, Msg, CRC 3, Msg, outer CRC 4, Msg, need to calculate the CRC 2 , 0, CRC 3,0, CRC 4,0 , and Example 1 CRC 2,0, CRC 3,0, CRC 4,0 parallel computing, in the first embodiment in Example 2 is calculated subblock 2 After the second CRC, the second CRC of the remaining sub-blocks is calculated according to the formula CRC j,0 =(CRC j-1,0 *CRC 2,0 )%G TB (D), for example, according to the formula
Figure PCTCN2018115221-appb-000049
Calculate CRC 2,0 , where N 0 here represents the length of the sub-block, and then calculate CRC 3 according to the formula CRC 3,0 =(CRC 2,0 *CRC 2,0 )%G TB (D) , 0 and calculate CRC 4,0 according to the formula CRC 4,0 = (CRC 3,0 *CRC 2,0 )%G TB (D).
需要说明的是,实施例2在计算过程中也可以存储
Figure PCTCN2018115221-appb-000050
Figure PCTCN2018115221-appb-000051
这样对任一个
Figure PCTCN2018115221-appb-000052
设j-1=m 10*2 10+m 9*2 9+...+m 1*2 1+m 0*2 0,m i=0or1,
Figure PCTCN2018115221-appb-000053
It should be noted that Embodiment 2 can also be stored in the calculation process.
Figure PCTCN2018115221-appb-000050
Figure PCTCN2018115221-appb-000051
So for any one
Figure PCTCN2018115221-appb-000052
Let j-1=m 10 *2 10 +m 9 *2 9 +...+m 1 *2 1 +m 0 *2 0 ,m i =0or1,
Figure PCTCN2018115221-appb-000053
示例性的,仍以TBS=20000-24=19976bits,分成4个CB块,每个CB的CBS=5000bits为例,假设CB_CRC长度为0,首先计算
Figure PCTCN2018115221-appb-000054
(具体如何确定i的值可以参见上述实施例,本申请在此不再赘述),再根据CRC 2,0计算CRC 3,0=[CRC 2,0*CRC 2,0]%G TB(D),再计算CRC 4,0=[CRC 3,0*CRC 2,0]%G TB(D)。
Exemplarily, the TBS=20000-24=19976bits is divided into four CB blocks, and the CBS=5000 bits of each CB is taken as an example. Assuming that the CB_CRC length is 0, the first calculation is performed.
Figure PCTCN2018115221-appb-000054
(For details on how to determine the value of i, refer to the above embodiment, which is not described herein again), and then calculate CRC 3,0 = [CRC 2,0 *CRC 2,0 ]%G TB (D according to CRC 2,0 ) ), then calculate CRC 4,0 = [CRC 3,0 *CRC 2,0 ]%G TB (D).
按现有技术,完成TB CRC检测需要20000个Cycle。而按照实施例2,由于CRC 1,msg,CRC 2,msg,CRC 3,msg以及CRC 4,msg可以并行计算,故计算CRC 1,msg,CRC 2,msg,CRC 3,msg以及CRC 4,msg用5000个Cycle可以完成;而CRC 2,0,CRC 3,0,CRC 4,0的计算总共需4+1+1=6个基本运 算,本申请中的一个基本运算含一个24长*24长的多项式乘法运算和一个24长序列对G TB(D)的求余运算,约需6*(25+25)=300个Cycle。因此,实施例2总共需5000+300=5300个Cycle即可完成。所需要的Cycle为现有技术所需20000个Cycle的27%,从而减少了数据块校验的时延。 According to the prior art, 20,000 Cycles are required to complete the TB CRC detection. According to the second embodiment, since CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4, msg can be calculated in parallel, CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4 are calculated . Msg can be completed with 5000 Cycles; and CRC 2,0 , CRC 3,0 , CRC 4,0 requires a total of 4+1+1=6 basic operations. A basic operation in this application contains a length of 24* A 24-long polynomial multiplication operation and a 24-bit sequence of G TB (D) remainder operations require approximately 6*(25+25)=300 Cycles. Therefore, the total of Example 2 requires 5000+300=5300 Cycles. The required Cycle is 27% of the 20,000 Cycles required by the prior art, thereby reducing the latency of the block check.
需要说明的是,实施例2相比于实施例1,虽然计算CRC 2,0,CRC 3,0,CRC 4,0的时延相同,但实施例2计算CRC 2,0,CRC 3,0,CRC 4,0所需的总运算量为6次基本运算,而实施例1计算CRC 2,0,CRC 3,0,CRC 4,0的总运算量为(6+4+4)=14次基本运算。因此,实施例2所需的运算量小于实施例1的运算量。 It should be noted that, in Embodiment 2, although the delays of calculating CRC 2,0 , CRC 3,0 , and CRC 4,0 are the same as in Embodiment 1, Embodiment 2 calculates CRC 2,0 , CRC 3,0. The total calculation amount required for CRC 4 , 0 is 6 basic operations, and the total calculation amount of CRC 2 , 0 , CRC 3 , 0 , CRC 4 , 0 of Embodiment 1 is (6 + 4 + 4) = 14 Sub-basic operation. Therefore, the amount of calculation required in the second embodiment is smaller than the amount of calculation in the first embodiment.
同理,如果希望进一步减少CRC校检的时延,对任一个子数据块的校检计算,比如计算第二个子数据块的第一CRC,也可以先计算第二个子数据块包括的多个小块A的CRC,即用第二个子数据块代替图6中的数据块,将第二个子数据块分成多个小块,然后用实施例1中的方法计算CRC 2,msgSimilarly, if it is desired to further reduce the delay of the CRC check, for the check calculation of any sub-block, such as calculating the first CRC of the second sub-block, it is also possible to first calculate the plurality of sub-blocks included in the second sub-block. The CRC of the small block A, that is, the second sub data block is used instead of the data block in FIG. 6, the second sub data block is divided into a plurality of small blocks, and then the CRC 2, msg is calculated by the method in the first embodiment.
实施例3,在一个通信系统中一个数据块可以分为多个数据块,但是该多个子数据块的长度可能存在两个值,即一部分子数据块的长度为L1,另一部分子数据块的长度为L2,例如,在4G通信系统中:子数据块(例如,CB)的长度为6016bits和6080bits。Embodiment 3, a data block can be divided into a plurality of data blocks in a communication system, but the length of the plurality of sub-blocks may have two values, that is, a part of the sub-blocks have a length of L1, and another part of the sub-blocks The length is L2, for example, in a 4G communication system: the length of a sub-block (for example, CB) is 6016 bits and 6080 bits.
再一示例,本申请以LTE系统中TBS=6080*2+6016*2-24=24168bits,以携带CRC的TB包括4个CB块为例,CB 4,CB 3的长度为6080bits,CB 2,CB 1的长度为6016bits,假设CB_CRC长度为0,此时,一方面可依据上述实施例描述的实施例1,以及通过查询表1计算D 6016%G TB(D),D 6016+6080%G TB(D)和D 6016+6080*2%G TB(D)中每个分别对应的多项式。 For another example, the present application uses TBS=6080*2+6016*2-24=24168 bits in the LTE system, and the TB carrying the CRC includes 4 CB blocks as an example. The length of CB 4 and CB 3 is 6080 bits, CB 2 , The length of CB 1 is 6016 bits, assuming that the length of CB_CRC is 0. At this time, according to Embodiment 1 described in the above embodiment, and D 6016 %G TB (D), D 6016+6080 %G can be calculated by query table 1 Each of the TB (D) and D 6016+6080*2 %G TB (D) corresponds to a polynomial.
另一方面,也可依据上述实施例2,先计算D 6016%G TB(D)和D 6080%G TB(D),再计算D 6016+6080%G TB(D)={[D 6016%G TB(D)]*[D 6080%G TB(D)]}%G TB(D),D 6016+6080*2%G TB(D)={[D 6016+6080%G TB(D)]*[D 6080%G TB(D)]}%G TB(D)。 On the other hand, according to the above embodiment 2, D 6016 %G TB (D) and D 6080 %G TB (D) can be calculated first, and then D 6016+6080 %G TB (D)={[D 6016 % G TB (D)]*[D 6080 %G TB (D)]}%G TB (D), D 6016+6080*2 %G TB (D)={[D 6016+6080 %G TB (D) ]*[D 6080 %G TB (D)]}%G TB (D).
按现有技术,完成TB CRC检测需要24192个Cycle。According to the prior art, 24192 Cycles are required to complete the TB CRC detection.
按照本申请提供的实施例1,由于CRC 1,msg,CRC 2,msg,CRC 3,msg以及CRC 4,msg可以并行计算,故计算CRC 1,msg,CRC 2,msg,CRC 3,msg以及CRC 4,msg最多用6080个Cycle可以完成,而D 6016%G TB(D),D 6016+6080%G TB(D)和D 6016+6080*2%G TB(D)的计算可并行,由于6016=2 12+2 10+2 9+2 8+2 7,6016+6080=2 13+2 11+2 10+2 9+2 8+2 6,6016+6080*2=2 14+2 10+2 9+2 8,故最多需5个基本运算,这儿的一个基本运算含一个24长*24长的多项式乘法运算和一个24长序列对G TB(D)的求余运算,故约需5*(25+25)=250个Cycle。这样实施例1共需6080+250=6330个Cycle即可完成。仅为传统方案所需24192个Cycle的26%。大大减少了TB CRC校检计算的时延。 According to the embodiment 1 provided by the present application, since CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4, msg can be calculated in parallel, CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4, msg can be completed with up to 6080 Cycles, while D 6016 %G TB (D), D 6016+6080 %G TB (D) and D 6016+6080*2 %G TB (D) can be calculated in parallel. Since 6016=2 12 +2 10 +2 9 +2 8 +2 7 ,6016+6080=2 13 +2 11 +2 10 +2 9 +2 8 +2 6 ,6016+6080*2=2 14 +2 10 +2 9 +2 8 , so a maximum of 5 basic operations are required. A basic operation here consists of a 24-length *24-length polynomial multiplication operation and a 24-length sequence on the G TB (D) remainder operation. Need 5*(25+25)=250 Cycles. Thus, Embodiment 1 requires a total of 6080 + 250 = 6330 Cycles to complete. It is only 26% of the 24,192 Cycles required for the traditional program. The delay of the TB CRC check calculation is greatly reduced.
按照本申请提供的实施例2,由于CRC 1,msg,CRC 2,msg,CRC 3,msg以及CRC 4,msg可以并行计算,故这部分最多用6080个Cycle可以完成;而D 6016%G TB(D),D 6016+6080%G TB(D)和D 6016+6080*2%G TB(D)的计算共需4+5+1+1=11个基本运算,这儿的一个基本运算含一个24长*24长的多项式乘法运算和一个24长序列对G TB(D)的求余运算,故约需11*(25+25)=550个Cycle。这样算法2总共需6080+550=6630个Cycle即可完成。仅为传统方案所需24192个Cycle的27%。大大减少了TB CRC校检的时延。 According to the embodiment 2 provided by the present application, since CRC 1, msg , CRC 2, msg , CRC 3, msg and CRC 4, msg can be calculated in parallel, this part can be completed with up to 6080 Cycles; and D 6016 %G TB (D), D 6016+6080 %G TB (D) and D 6016+6080*2 %G TB (D) calculation requires 4+5+1+1=11 basic operations, a basic operation here A 24 long * 24 long polynomial multiplication operation and a 24 long sequence of G TB (D) remainder operations, so about 11 * (25 + 25) = 550 Cycle. In this way, the algorithm 2 needs 6080+550=6630 Cycles in total. It is only 27% of the 24,192 Cycles required for traditional programs. The delay of the TB CRC check is greatly reduced.
需要说明的是:在上述TB CRC校检计算过程中,计算每个CRC j,msg可以和计算CRC j,0并行,由于上例中各个CRC j,0的计算时延远小于每个CRC j,msg的计算时延,因此实施例1和实施例2的CRC j,0的计算时延都可以忽略不计。但实施例2计算每个CRC j,0的总运算量要小于实施例1。 It should be noted that in the above TB CRC check calculation process, each CRC j is calculated , and msg can be parallel to the calculation of CRC j,0 . Since the calculation delay of each CRC j,0 in the above example is much smaller than each CRC j The calculation delay of msg is such that the calculation delay of CRC j, 0 of Embodiment 1 and Embodiment 2 is negligible. However, Embodiment 2 calculates that the total calculation amount of each CRC j, 0 is smaller than that of Embodiment 1.
同理,如果希望进一步减少CRC校检的时延,对任一个小块的校检计算,比如对CRC 2,msg的计算,也可以采用分块计算每个子数据块包括的多个小块的CRC,以确定每个子数据块的CRC的方式,即用第二个子数据块代替图6中的包括CRC的TB,将第二个子数据块分成多个小块,然后用上述方式计算CRC 2,msg。本发明实施例和现有技术相比的,可以大大减少了各CB块长度不全相同时的CRC校检计算的时延和运算量。 Similarly, if you want to further reduce the delay of CRC check, calculate the calibration of any small block, such as the calculation of CRC 2, msg , you can also use block to calculate multiple small blocks included in each sub-block. CRC, the manner of determining the CRC of each sub-block, that is, replacing the TB including the CRC in FIG. 6 with the second sub-block, dividing the second sub-block into a plurality of small blocks, and then calculating CRC 2 in the above manner , Msg . Compared with the prior art, the embodiment of the present invention can greatly reduce the delay and the calculation amount of the CRC check calculation when the lengths of the CB blocks are not all the same.
实施例4:如上述实施例1、实施例2和实施例3所描述的,采用本申请提供的方法,CB块自身的CRC计算成为TB CRC计算所需时延最大的部分。当CB较大,如果希望进一步减少CB的CRC计算的时延,比如以CB为上述实施例中的子数据块2,那么计算CRC 2,msg也可以采用上述实施例中的描述方法,即用子数据块2代替图6中的包括CRC的TB,把子数据块2分成多个子块,然后采用上述方法来计算CRC 2,msg。具体如下: Embodiment 4: As described in Embodiment 1, Embodiment 2 and Embodiment 3 above, with the method provided by the present application, the CRC calculation of the CB block itself becomes the portion with the largest delay required for the TB CRC calculation. When the CB is large, if it is desired to further reduce the delay of the CRC calculation of the CB, for example, the CB is the sub-block 2 in the above embodiment, then the CRC 2 is calculated , and the msg can also be described in the above embodiment, that is, Subblock 2 replaces the TB including CRC in Fig. 6, divides subblock 2 into a plurality of subblocks, and then calculates CRC 2, msg using the above method. details as follows:
以新空口(New Radio,NR)系统为例,最大CB的长度为8448bits,则可计算并存储各
Figure PCTCN2018115221-appb-000055
作为第二查询表,如表2所示:
Taking the New Radio (NR) system as an example, the maximum CB length is 8448 bits, which can be calculated and stored.
Figure PCTCN2018115221-appb-000055
As the second lookup table, as shown in Table 2:
表2 第二查询表
Figure PCTCN2018115221-appb-000056
存储表
Table 2 Second query table
Figure PCTCN2018115221-appb-000056
Storage table
Figure PCTCN2018115221-appb-000057
Figure PCTCN2018115221-appb-000057
设第r个CB块的块长为K r,则把该
Figure PCTCN2018115221-appb-000058
分成
Figure PCTCN2018115221-appb-000059
个子块:
Let the block length of the rth CB block be K r , then put the
Figure PCTCN2018115221-appb-000058
Divided into
Figure PCTCN2018115221-appb-000059
Sub-blocks:
第1个子块为
Figure PCTCN2018115221-appb-000060
其对应的第三CRC为
Figure PCTCN2018115221-appb-000061
The first sub-block is
Figure PCTCN2018115221-appb-000060
Its corresponding third CRC is
Figure PCTCN2018115221-appb-000061
第2个子块为
Figure PCTCN2018115221-appb-000062
其对应第三CRC为
Figure PCTCN2018115221-appb-000063
The second sub-block is
Figure PCTCN2018115221-appb-000062
Its corresponding third CRC is
Figure PCTCN2018115221-appb-000063
Figure PCTCN2018115221-appb-000064
Figure PCTCN2018115221-appb-000064
第g个子块为
Figure PCTCN2018115221-appb-000065
其对应第三CRC为
Figure PCTCN2018115221-appb-000066
The gth sub-block is
Figure PCTCN2018115221-appb-000065
Its corresponding third CRC is
Figure PCTCN2018115221-appb-000066
Figure PCTCN2018115221-appb-000067
Figure PCTCN2018115221-appb-000067
Figure PCTCN2018115221-appb-000068
块子块为
Figure PCTCN2018115221-appb-000069
其对应CRC为
Figure PCTCN2018115221-appb-000070
First
Figure PCTCN2018115221-appb-000068
Block subblock is
Figure PCTCN2018115221-appb-000069
Its corresponding CRC is
Figure PCTCN2018115221-appb-000070
最后一个子块,即第
Figure PCTCN2018115221-appb-000071
个子块,当K r%24≠0时,可补
Figure PCTCN2018115221-appb-000072
个0为
Figure PCTCN2018115221-appb-000073
也可以不补0为
Figure PCTCN2018115221-appb-000074
二者对应的CRC相同,记为
Figure PCTCN2018115221-appb-000075
其中,
Figure PCTCN2018115221-appb-000076
表示数学向上取整符号。
The last sub-block, ie the first
Figure PCTCN2018115221-appb-000071
Sub-blocks, when K r %24≠0, can be filled
Figure PCTCN2018115221-appb-000072
0 is
Figure PCTCN2018115221-appb-000073
Can also not make up 0
Figure PCTCN2018115221-appb-000074
The corresponding CRC is the same, recorded as
Figure PCTCN2018115221-appb-000075
among them,
Figure PCTCN2018115221-appb-000076
Indicates that the math is rounded up.
则第g个子块对应的第三CRC,
Figure PCTCN2018115221-appb-000077
其中,
Figure PCTCN2018115221-appb-000078
表示第g个子块对应的第三CRC,
Figure PCTCN2018115221-appb-000079
表示第g个子块对应的第一CRC,
Figure PCTCN2018115221-appb-000080
表示第g个子块对应的第二CRC,
Figure PCTCN2018115221-appb-000081
Then the third CRC corresponding to the gth sub-block,
Figure PCTCN2018115221-appb-000077
among them,
Figure PCTCN2018115221-appb-000078
Representing the third CRC corresponding to the gth sub-block,
Figure PCTCN2018115221-appb-000079
Representing the first CRC corresponding to the gth sub-block,
Figure PCTCN2018115221-appb-000080
Representing the second CRC corresponding to the gth sub-block,
Figure PCTCN2018115221-appb-000081
设g-1=m 8*2 8+m 7*2 7+...+m 1*2 1+m 0*2 0,m i=0or1,则 Let g-1=m 8 *2 8 +m 7 *2 7 +...+m 1 *2 1 +m 0 *2 0 ,m i =0or1, then
Figure PCTCN2018115221-appb-000082
Figure PCTCN2018115221-appb-000082
需要说明的是,上述方法需要存储的表2占用9*24/8=27Bytes存储空间,由于
Figure PCTCN2018115221-appb-000083
可以并行计算,所以最大计算延迟为9个基本运算,这儿一个基本运算含一个24长*24长的多项式乘法运算和一个24长序列对G TB(D)的求余运算。
It should be noted that the above method needs to store the table 2 occupying 9*24/8=27 Bytes storage space due to
Figure PCTCN2018115221-appb-000083
Can be calculated in parallel, so the maximum computational delay is 9 basic operations, where a basic operation consists of a 24-length *24-length polynomial multiplication operation and a 24-length sequence pair G TB (D) remainder operation.
如果希望进一步减少计算延迟,可以存储所有CRC 24*i(D)=D 24*i%G TB(D),i=1,2,3…351个CRC值,共需351*24/8=1053Bytes。此时每个
Figure PCTCN2018115221-appb-000084
Figure PCTCN2018115221-appb-000085
仅需1次基本运算,这儿一个基本运算含一个24长*24长的多项式乘法运算和一个24长序列对G TB(D)的求余运算。
If you want to further reduce the calculation delay, you can store all CRC 24*i (D)=D 24*i %G TB (D), i=1,2,3...351 CRC values, a total of 351*24/8= 1053Bytes. At this time each
Figure PCTCN2018115221-appb-000084
Figure PCTCN2018115221-appb-000085
Only one basic operation is required. Here, a basic operation consists of a 24-length *24-length polynomial multiplication operation and a 24-long sequence pair G TB (D) remainder operation.
以传输块大小(Transport Block Size,TBS)=20000-24=19976bits,分成4个CB块,每个CB的编码块大小(Code Block Size,CBS)=5000bits为例。按照现有技术中的方案计算每个CB块需5000个Cycle。而按实施例4中所描述的方法,如果存储27Bytes的CRC 24*2i(D)%G TB(D),则最多需9个基本运算对应时延就可完成,约需9*(25+25)=450个Cycle,仅为原来的1/11。如果存储1053Bytes的CRC 24*i(D)=D 24*i%G TB(D),i=1,2,3,...,351,则需1个基本运算对应延迟就可完成,约需1*(25+25)=50个Cycle,仅为原来的1/100。 For example, the transport block size (TBS)=20000-24=19976 bits is divided into four CB blocks, and the code block size (CBS)=5000 bits of each CB is taken as an example. Calculating 5000 C of each CB block according to the solution in the prior art. According to the method described in Embodiment 4, if 27 Bytes of CRC 24*2i (D)% G TB (D) is stored, it takes up to 9 basic operations to complete the delay, which is about 9* (25+). 25) = 450 Cycles, only 1/11 of the original. If you store 1053Bytes of CRC 24*i (D)=D 24*i %G TB (D), i=1, 2,3,...,351, you need 1 basic operation corresponding delay to complete, about It takes 1*(25+25)=50 Cycles, which is only 1/100 of the original.
上述主要从各个网元之间交互的角度对本申请提供的方案进行了介绍。可以理解的是,各个网元,例如CRC计算装置等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。The foregoing provides a description of the solution provided by the present application from the perspective of interaction between the various network elements. It can be understood that each network element, such as a CRC computing device, etc., in order to implement the above functions, includes hardware structures and/or software modules corresponding to the execution of the respective functions. Those skilled in the art will readily appreciate that the present invention can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
本申请可以根据上述方法示例对CRC计算装置等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The present application may divide a function module into a CRC computing device or the like according to the above method example. For example, each function module may be divided according to each function, or two or more functions may be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the present application is schematic, and is only a logical function division, and may be further divided in actual implementation.
在采用集成的单元的情况下,图7示出了上述实施例中所涉及的CRC计算装置的一种可能的结构示意图。CRC计算装置包括:计算单元101和确定单元102。In the case of employing an integrated unit, FIG. 7 shows a possible structural diagram of the CRC computing device involved in the above embodiment. The CRC calculation device includes a calculation unit 101 and a determination unit 102.
其中,计算单元101用于支持CRC计算装置执行上述实施例中的步骤S101(具体的可以为S1011和S1012);确定单元102用于支持CRC计算装置执行上述实施例中的步骤S102(具体的可以为S1021)以及S103。此外,本申请提供的CRC计算装置还包括:校验单元103,该校验单元103用于支持CRC计算装置执行上述实施例中 的S104;和/或用于本文所描述的技术的其它过程。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。The calculation unit 101 is configured to support the CRC calculation device to perform step S101 in the foregoing embodiment (specifically, may be S1011 and S1012); the determining unit 102 is configured to support the CRC calculation device to perform step S102 in the foregoing embodiment (specifically, It is S1021) and S103. Furthermore, the CRC computing device provided herein further includes a check unit 103 for supporting the CRC computing device to perform S104 in the above-described embodiments; and/or other processes for the techniques described herein. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional description of the corresponding functional modules, and details are not described herein again.
在采用硬件实现的基础上,本申请中的确定单元102、计算单元101和校验单元103可以集成在CRC计算装置的处理器。The determining unit 102, the computing unit 101, and the checking unit 103 in the present application may be integrated in the processor of the CRC computing device on the basis of hardware implementation.
可以理解的是,当本申请中的CRC计算装置为发射机时,该CRC计算装置可以不包括校验单元103,当该CRC计算装置为接收机时,该CRC计算装置可以包括校验单元103。It can be understood that when the CRC computing device in the present application is a transmitter, the CRC computing device may not include the checking unit 103. When the CRC computing device is a receiver, the CRC computing device may include a checking unit 103. .
在采用集成的单元的情况下,图8示出了上述实施例中所涉及的CRC计算装置的一种可能的逻辑结构示意图。CRC计算装置包括:处理模块112和通信模块113。处理模块112用于对CRC计算装置动作进行控制管理,例如,处理模块112用于支持CRC计算装置执行上述实施例中的步骤S101(具体的可以为S1011和S1012)、S102(具体的可以为S1021)、S103、S104;通信模块113用于支持CRC计算装置执行接收和发送的相关操作。和/或用于本文所描述的技术的其他过程。CRC计算装置还可以包括存储模块111,用于存储CRC计算装置的程序代码和数据。In the case of employing an integrated unit, FIG. 8 shows a possible logical structure diagram of the CRC computing apparatus involved in the above embodiment. The CRC computing device includes a processing module 112 and a communication module 113. The processing module 112 is configured to perform control management on the CRC computing device action. For example, the processing module 112 is configured to support the CRC computing device to perform step S101 (specifically, may be S1011 and S1012) and S102 in the foregoing embodiment (specifically, it may be S1021). ), S103, S104; the communication module 113 is configured to support the CRC computing device to perform related operations of receiving and transmitting. And/or other processes for the techniques described herein. The CRC computing device can also include a storage module 111 for storing program codes and data of the CRC computing device.
其中,处理模块112可以是处理器或控制器,例如可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信模块113可以是收发器、收发电路或通信接口等。存储模块111可以是存储器。The processing module 112 may be a processor or a controller, such as a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, Hardware components or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure. The processor may also be a combination of computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and the like. The communication module 113 can be a transceiver, a transceiver circuit, a communication interface, or the like. The storage module 111 can be a memory.
当本申请中的处理模块112为处理器120,通信模块113为通信接口130或收发器,存储模块111为存储器140时,本申请所涉及的CRC计算装置可以为图9所示的设备。When the processing module 112 in the present application is the processor 120, the communication module 113 is the communication interface 130 or the transceiver, and the storage module 111 is the memory 140, the CRC computing device involved in the present application may be the device shown in FIG.
其中,通信接口130、处理器120以及存储器140可以通过总线110相互连接;总线110可以是PCI总线或EISA总线等。总线110可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中,存储器140用于存储CRC计算装置的程序代码和数据。通信接口130用于支持CRC计算装置与其他设备通信,处理器120用于支持CRC计算装置执行存储器140中存储的程序代码和数据以实现本申请提供的一种CRC计算方法。The communication interface 130, the processor 120, and the memory 140 may be connected to each other through a bus 110; the bus 110 may be a PCI bus or an EISA bus or the like. The bus 110 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 9, but it does not mean that there is only one bus or one type of bus. The memory 140 is used to store program codes and data of the CRC computing device. The communication interface 130 is for supporting the CRC computing device to communicate with other devices. The processor 120 is configured to support the CRC computing device to execute the program code and data stored in the memory 140 to implement a CRC calculation method provided by the present application.
一方面,本申请提供一种计算机存储介质,该计算机存储介质中存储有指令,当该指令在接收机上运行时,使得接收机执行实施例中的步骤S101(具体的可以为S1011和S1012)和S102(具体的可以为S1021)、S104和S103中所描述的CRC计算方法。In one aspect, the present application provides a computer storage medium having instructions stored therein that, when executed on a receiver, cause a receiver to perform step S101 in the embodiment (specifically, may be S1011 and S1012) and The CRC calculation method described in S102 (specifically, may be S1021), S104, and S103.
又一方面,提供一种计算机存储介质,计算机可读存储介质中存储有指令,当该指令在发射机上运行时,使得发射机执行实施例中的步骤S101(具体的可以为S1011和S1012)、S102(具体的可以为S1021)、以及S103所描述的CRC计算方法。In another aspect, a computer storage medium is provided, where instructions are stored in a computer readable storage medium, and when the instruction is run on a transmitter, causing the transmitter to perform step S101 in the embodiment (specifically, may be S1011 and S1012), S102 (specifically may be S1021), and the CRC calculation method described in S103.
另一方面,提供一种包含指令的计算机程序产品,计算机程序产品中存储有指令,当指令在接收机上运行时,使得接收机执行实施例中的步骤S101(具体的可以为S1011和S1012)和S102(具体的可以为S1021)、S104和S103中所描述的CRC计算方法。In another aspect, a computer program product is provided, the computer program product storing instructions for causing a receiver to perform step S101 (specifically, S1011 and S1012) in an embodiment when the instruction is run on a receiver The CRC calculation method described in S102 (specifically, may be S1021), S104, and S103.
再一方面,提供一种包含指令的计算机程序产品,计算机程序产品中存储有指令, 当指令在发射机上运行时,使得发射机执行实施例中的步骤S101(具体的可以为S1011和S1012)、S102(具体的可以为S1021)、以及S103所描述的CRC计算方法。In a further aspect, a computer program product is provided, the computer program product storing instructions, when the instruction is run on the transmitter, causing the transmitter to perform step S101 in the embodiment (specifically, may be S1011 and S1012), S102 (specifically may be S1021), and the CRC calculation method described in S103.
上述提供的任一种装置中相关内容的解释及有益效果均可参考上文提供的对应的方法实施例,此处不再赘述。For the explanation and beneficial effects of the related content in any of the above-mentioned devices, reference may be made to the corresponding method embodiments provided above, and details are not described herein again.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using a software program, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions in accordance with embodiments of the present application are generated in whole or in part. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be wired from a website site, computer, server or data center (eg Coaxial cable, fiber, digital subscriber line (DSL) or wireless (eg infrared, wireless, microwave, etc.) to another website, computer, server or data center. The computer readable storage medium can be any available media that can be accessed by a computer or a data storage device that includes one or more servers, data centers, etc. that can be integrated with the media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)) or the like.
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。Although the present application has been described herein in connection with the embodiments of the present invention, those skilled in the art can understand and implement the disclosure by the drawings, the disclosure, and the appended claims. Other variations of the embodiments. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill several of the functions recited in the claims. Certain measures are recited in mutually different dependent claims, but this does not mean that the measures are not combined to produce a good effect.
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。While the present invention has been described in connection with the specific embodiments and embodiments thereof, various modifications and combinations can be made without departing from the spirit and scope of the application. Accordingly, the description and drawings are to be regarded as It will be apparent to those skilled in the art that various modifications and changes can be made in the present application without departing from the spirit and scope of the application. Thus, it is intended that the present invention cover the modifications and variations of the present invention.

Claims (22)

  1. 一种循环冗余校验CRC计算方法,其特征在于,包括:A cyclic redundancy check CRC calculation method, comprising:
    计算数据块包括的多个子数据块中每个子数据块的第一循环冗余校验CRC,以及计算所述每个子数据块各自关联的第一序列的第二CRC,其中,所述多个子数据块中任一个子数据块关联的第一序列由1和所述任一个子数据块对应的全零序列组成,不同子数据块对应的全零序列的长度不同;Computing a first cyclic redundancy check CRC of each of the plurality of sub-blocks included in the data block, and calculating a second CRC of the first sequence associated with each of the sub-blocks, wherein the plurality of sub-data The first sequence associated with any one of the sub-blocks in the block is composed of 1 and an all-zero sequence corresponding to any one of the sub-blocks, and the lengths of the all-zero sequences corresponding to the different sub-blocks are different;
    根据所述每个子数据块的第一CRC以及所述每个子数据块各自关联的第一序列的第二CRC,确定所述每个子数据块的第三CRC;Determining a third CRC of each of the sub-blocks according to the first CRC of each of the sub-blocks and the second CRC of the first sequence associated with each of the sub-blocks;
    将所述每个子数据块的第三CRC合并,得到所述数据块的CRC。The third CRC of each of the sub-blocks is combined to obtain a CRC of the data block.
  2. 根据权利要求1所述的方法,其特征在于,所述任一个子数据块对应的全零序列的长度等于位于所述任一个子数据块之前的所有子数据块的长度之和。The method according to claim 1, wherein the length of the all-zero sequence corresponding to any one of the sub-blocks is equal to the sum of the lengths of all the sub-blocks preceding the any one of the sub-blocks.
  3. 根据权利要求1或2所述的方法,其特征在于,所述根据所述每个子数据块的第一CRC以及所述每个子数据块各自对应的第一序列的第二CRC,确定所述每个子数据块的第三CRC,包括:The method according to claim 1 or 2, wherein the determining the each according to the first CRC of each of the sub-blocks and the second CRC of the first sequence corresponding to each of the sub-blocks The third CRC of the sub-blocks, including:
    根据公式CRC_j=(CRC j,msg*CRC j,0)%G(D)确定所述每个子数据块的第三CRC,其中,j表示子数据块的标识;CRC_j表示第j个子数据块的第三CRC;CRC j,msg表示第j个子数据块的第一CRC,CRC j,0表示第j个子数据块关联的第一序列的第二CRC;G(D)表示所述数据块的CRC生成多项式,j∈[1,M],M为所述数据块包括的子数据块的数量,M为大于或等于2的整数。 Determining a third CRC of each of the sub-blocks according to a formula CRC_j=(CRC j, msg *CRC j,0 )%G(D), where j represents an identifier of the sub-block; CRC_j represents a j-th sub-block a third CRC; CRC j, msg represents a first CRC of the jth subblock, CRC j, 0 represents a second CRC of the first sequence associated with the jth subblock; G(D) represents a CRC of the data block A polynomial is generated, j ∈ [1, M], M is the number of sub-blocks included in the data block, and M is an integer greater than or equal to 2.
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述计算所述每个子数据块各自关联的第一序列的第二CRC,包括:The method according to any one of claims 1-3, wherein the calculating the second CRC of the first sequence associated with each of the sub-data blocks comprises:
    根据公式
    Figure PCTCN2018115221-appb-100001
    计算所述每个子数据块各自关联的第一序列的第二CRC,其中,∏表示连乘,i表示将第j个子数据块对应的全零序列的长度表示为L j=a 22*2 22+a 21*2 21+…+a 1*2 1+a 0*2 0的第一多项式时各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
    Figure PCTCN2018115221-appb-100002
    是指数i对应的第二多项式,G(D)表示所述数据块的CRC生成多项式,L j表示第j个子数据块对应的全零序列的长度,CRC j,0表示第j个子数据块关联的第一序列的第二CRC。
    According to the formula
    Figure PCTCN2018115221-appb-100001
    Calculating a second CRC of the first sequence associated with each of the sub-blocks, wherein ∏ denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the j-th sub-block as L j =a 22 *2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i=0 to 22 represents the coefficient of each item in the first polynomial, a i=0~22 =0 or 1,
    Figure PCTCN2018115221-appb-100002
    Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L j represents the length of the all-zero sequence corresponding to the j-th sub-block, and CRC j, 0 represents the j-th sub-data The second CRC of the first sequence of block associations.
  5. 根据权利要求4所述的方法,其特征在于,通过第一查询表确定所述指数i对应的第二多项式中各项的系数,所述第一查询表中至少包括所述指数i对应的第二多项式中各项的系数;The method according to claim 4, wherein the coefficient of each item in the second polynomial corresponding to the index i is determined by the first lookup table, wherein the first query table includes at least the index i corresponding to The coefficient of each item in the second polynomial;
    根据所述指数i对应的第二多项式中各项的系数,确定所述
    Figure PCTCN2018115221-appb-100003
    Determining the coefficient according to a coefficient of each item in the second polynomial corresponding to the index i
    Figure PCTCN2018115221-appb-100003
  6. 根据权利要求1-3任一项所述的方法,其特征在于,所述每个子数据块的长度相等,所述计算所述每个子数据块各自关联的第一序列的第二CRC,包括:The method according to any one of claims 1-3, wherein the length of each of the sub-blocks is equal, and the calculating the second CRC of the first sequence associated with each of the sub-blocks comprises:
    获取所述多个子数据块中第二个子数据块关联的第一序列的第二CRC;Obtaining a second CRC of the first sequence associated with the second sub-block of the plurality of sub-blocks;
    根据公式CRC j,0=[CRC j-1,0*CRC 2,0]%G(D)依次计算所述每个子数据块各自关联的第一序列的第二CRC,其中,CRC j,0表示第j个子数据块关联的第一序列的第二CRC,CRC 2,0表示所述第二个子数据块关联的第一序列的第二CRC,CRC j-1,0表示第j-1个子 数据块关联的第一序列的第二CRC。 Calculating a second CRC of the first sequence associated with each of the sub-blocks in turn according to the formula CRC j,0 =[CRC j-1,0 *CRC 2,0 ]%G(D), where CRC j,0 a second CRC representing a first sequence associated with the jth sub-block, CRC 2,0 representing a second CRC of the first sequence associated with the second sub-block, CRC j-1,0 representing the j-1th sub- The second CRC of the first sequence associated with the data block.
  7. 根据权利要求6所述的方法,其特征在于,所述获取所述多个子数据块中第二个子数据块关联的第一序列的第二CRC,包括:The method according to claim 6, wherein the acquiring the second CRC of the first sequence associated with the second sub-block of the plurality of sub-blocks comprises:
    根据公式
    Figure PCTCN2018115221-appb-100004
    获取所述第二个子数据块关联的第一序列的第二CRC,其中,∏表示连乘,i表示将所述第二个子数据块对应的全零序列的长度表示为L 2=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式中各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
    Figure PCTCN2018115221-appb-100005
    是指数i对应的第二多项式,G(D)表示所述数据块的CRC生成多项式,L 2表示所述第二个子数据块对应的全零序列的长度,CRC 2,0表示所述第二个子数据块关联的第一序列的第二CRC。
    According to the formula
    Figure PCTCN2018115221-appb-100004
    Obtaining a second CRC of the first sequence associated with the second sub-block, where ∏ denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the second sub-block as L 2 =a 22 * 2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i=0 to 22 means each of the first polynomial The coefficient of the term, a i=0~22 =0 or 1,
    Figure PCTCN2018115221-appb-100005
    Is a second polynomial corresponding to the index i, G(D) represents a CRC generator polynomial of the data block, L 2 represents a length of an all-zero sequence corresponding to the second sub-block, and CRC 2,0 represents the The second CRC of the first sequence associated with the second sub-block.
  8. 根据权利要求1-7任一项所述的方法,其特征在于,所述计算数据块包括的多个子数据块中每个子数据块的第一CRC,包括:The method according to any one of claims 1 to 7, wherein the calculating the first CRC of each of the plurality of sub-blocks included in the data block comprises:
    根据公式
    Figure PCTCN2018115221-appb-100006
    计算所述多个子数据块中每个子数据块的第一CRC,其中,CRC j,msg表示第j个子数据块的第一CRC,N j表示第j+1个子数据块的长度,
    Figure PCTCN2018115221-appb-100007
    为第1个子数据块中的数据,
    Figure PCTCN2018115221-appb-100008
    为第2个子数据块中的数据,...,
    Figure PCTCN2018115221-appb-100009
    为第j个子数据块中的数据。
    According to the formula
    Figure PCTCN2018115221-appb-100006
    Computing a first CRC of each of the plurality of sub-blocks, wherein CRC j, msg represents a first CRC of the j-th sub-block, and N j represents a length of the j+1th sub-block,
    Figure PCTCN2018115221-appb-100007
    Is the data in the first sub-block,
    Figure PCTCN2018115221-appb-100008
    For the data in the second sub-block,...,
    Figure PCTCN2018115221-appb-100009
    Is the data in the jth sub-block.
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述将所述每个子数据块的第三CRC合并,得到所述数据块的CRC,包括:The method according to any one of claims 1-8, wherein the combining the third CRC of each of the sub-blocks to obtain the CRC of the data block comprises:
    将所述每个子数据块的第三CRC进行模二加,得到所述数据块的CRC。The third CRC of each of the sub-blocks is modulo-added to obtain a CRC of the data block.
  10. 根据权利要求1-8任一项所述的方法,其特征在于,所述计算数据块包括的多个子数据块中每个子数据块的第一循环冗余校验CRC之前,所述方法还包括:The method according to any one of claims 1-8, wherein before the calculating the first cyclic redundancy check CRC of each of the plurality of sub-blocks of the plurality of sub-blocks, the method further comprises :
    在待计算数据块后补充L_CRC个0,以得到所述数据块,其中,L_CRC表示所述CRC生成多项式G(D)对应的CRC长度。L_CRC zeros are added after the data block to be calculated to obtain the data block, wherein L_CRC represents the CRC length corresponding to the CRC generation polynomial G(D).
  11. 一种循环冗余校验CRC计算装置,其特征在于,包括:A cyclic redundancy check CRC computing device, comprising:
    计算单元,用于计算数据块包括的多个子数据块中每个子数据块的第一循环冗余校验CRC,以及计算所述每个子数据块各自关联的第一序列的第二CRC,其中,所述多个子数据块中任一个子数据块具有的第一序列由1和所述任一个子数据块对应的全零序列组成,不同子数据块对应的全零序列的长度不同;a calculating unit, configured to calculate a first cyclic redundancy check CRC of each of the plurality of sub data blocks included in the data block, and calculate a second CRC of the first sequence associated with each of the sub data blocks, where The first sequence of any one of the plurality of sub-blocks is composed of 1 and an all-zero sequence corresponding to any one of the sub-blocks, and the lengths of the all-zero sequences corresponding to the different sub-blocks are different;
    确定单元,用于根据所述每个子数据块的第一CRC以及所述每个子数据块各自关联的第一序列的第二CRC,确定所述每个子数据块的第三CRC;a determining unit, configured to determine a third CRC of each of the sub-blocks according to the first CRC of each of the sub-blocks and the second CRC of the first sequence in which each of the sub-blocks are associated;
    所述计算单元,还用于将所述每个子数据块的第三CRC合并,得到所述数据块的CRC。The calculating unit is further configured to combine the third CRC of each of the sub-blocks to obtain a CRC of the data block.
  12. 根据权利要求11所述的装置,其特征在于,所述任一个子数据块对应的全零序列的长度等于位于所述任一个子数据块之前的所有子数据块的长度之和。The apparatus according to claim 11, wherein the length of the all-zero sequence corresponding to any one of the sub-blocks is equal to the sum of the lengths of all the sub-blocks preceding the any one of the sub-blocks.
  13. 根据权利要求11或12所述的装置,其特征在于,所述确定单元,具体用于 根据公式CRC_j=(CRC j,msg*CRC j,0)%G(D)确定所述每个子数据块的第三CRC,其中,j表示子数据块的标识;CRC_j表示第j个子数据块的第三CRC;CRC j,msg表示第j个子数据块的第一CRC,CRC j,0表示第j个子数据块关联的第一序列的第二CRC;G(D)表示所述数据块的CRC生成多项式,j∈[1,M],M为所述数据块包括的子数据块的数量,M为大于或等于2的整数。 The apparatus according to claim 11 or 12, wherein the determining unit is specifically configured to determine each of the sub-blocks according to a formula CRC_j=(CRC j, msg *CRC j, 0 )%G(D) a third CRC, where j represents the identity of the sub-block; CRC_j represents the third CRC of the j-th sub-block; CRC j, msg represents the first CRC of the j-th sub-block, CRC j, 0 represents the j-th child a second CRC of the first sequence associated with the data block; G(D) represents a CRC generator polynomial of the data block, j ∈ [1, M], where M is the number of sub-blocks included in the data block, M is An integer greater than or equal to 2.
  14. 根据权利要求11-13任一项所述的装置,其特征在于,所述计算单元,具体用于根据公式
    Figure PCTCN2018115221-appb-100010
    计算所述每个子数据块各自关联的第一序列的第二CRC,其中,∏表示连乘,i表示将第j个子数据块对应的全零序列的长度表示为L j=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式时各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
    Figure PCTCN2018115221-appb-100011
    是指数i对应的第二多项式,G(D)表示所述数据块的CRC生成多项式,L j表示第j个子数据块对应的全零序列的长度,CRC j,0表示第j个子数据块关联的第一序列的第二CRC。
    Apparatus according to any one of claims 11-13, wherein said computing unit is specifically configured according to a formula
    Figure PCTCN2018115221-appb-100010
    Calculating a second CRC of the first sequence associated with each of the sub-blocks, wherein ∏ denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the j-th sub-block as L j =a 22 *2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i=0 to 22 represents the items in the first polynomial Coefficient, a i=0~22 =0 or 1,
    Figure PCTCN2018115221-appb-100011
    Is the second polynomial corresponding to the index i, G(D) represents the CRC generator polynomial of the data block, L j represents the length of the all-zero sequence corresponding to the j-th sub-block, and CRC j, 0 represents the j-th sub-data The second CRC of the first sequence of block associations.
  15. 根据权利要求14所述的装置,其特征在于,所述确定单元,具体用于通过第一查询表确定所述指数i对应的第二多项式中各项的系数,所述第一查询表中至少包括所述指数i对应的第二多项式中各项的系数;以及用于根据所述指数i对应的第二多项式中各项的系数,确定所述
    Figure PCTCN2018115221-appb-100012
    The apparatus according to claim 14, wherein the determining unit is configured to determine, by using a first lookup table, coefficients of items in the second polynomial corresponding to the index i, the first lookup table Determining at least a coefficient of each item in the second polynomial corresponding to the index i; and determining the coefficient according to a coefficient of each item in the second polynomial corresponding to the index i
    Figure PCTCN2018115221-appb-100012
  16. 根据权利要求11-13任一项所述的装置,其特征在于,所述每个子数据块的长度相等,所述计算单元,具体用于获取所述多个子数据块中第二个子数据块关联的第一序列的第二CRC;以及用于根据公式CRC j,0=[CRC j-1,0*CRC 2,0]%G(D)依次计算所述每个子数据块各自关联的第一序列的第二CRC,其中,CRC j,0表示第j个子数据块关联的第一序列的第二CRC,CRC 2,0表示所述第二个子数据块关联的第一序列的第二CRC,CRC j-1,0表示第j-1个子数据块关联的第一序列的第二CRC。 The device according to any one of claims 11 to 13, wherein each of the plurality of sub-blocks is equal in length, and the calculating unit is configured to acquire a second sub-block association of the plurality of sub-blocks. a second CRC of the first sequence; and for sequentially calculating a first correlation of each of the sub-blocks according to a formula CRC j,0 =[CRC j-1,0 *CRC 2,0 ]%G(D) a second CRC of the sequence, wherein CRC j,0 represents a second CRC of the first sequence associated with the jth subblock, and CRC 2,0 represents a second CRC of the first sequence associated with the second subblock, CRC j-1,0 represents the second CRC of the first sequence associated with the j-1th sub-block.
  17. 根据权利要求16所述的装置,其特征在于,所述计算单元,具体用于根据公式
    Figure PCTCN2018115221-appb-100013
    获取所述第二个子数据块关联的第一序列的第二CRC,其中,∏表示连乘,i表示将所述第二个子数据块对应的全零序列的长度表示为L 2=a 22*2 22+a 21*2 21+...+a 1*2 1+a 0*2 0的第一多项式中各项的指数,a i=0~22表示第一多项式中各项的系数,a i=0~22=0或1,
    Figure PCTCN2018115221-appb-100014
    是指数i对应的第二多项式,G(D)表示所述数据块的CRC生成多项式,L 2表示所述第二个子数据块对应的全零序列的长度,CRC 2,0表示所述第二个子数据块关联的第一序列的第二CRC。
    The apparatus according to claim 16, wherein said calculating unit is specifically configured according to a formula
    Figure PCTCN2018115221-appb-100013
    Obtaining a second CRC of the first sequence associated with the second sub-block, where ∏ denotes a multiplication, and i denotes representing a length of the all-zero sequence corresponding to the second sub-block as L 2 =a 22 * 2 22 +a 21 *2 21 +...+a 1 *2 1 +a 0 *2 0 The exponent of each item in the first polynomial, a i=0 to 22 means each of the first polynomial The coefficient of the term, a i=0~22 =0 or 1,
    Figure PCTCN2018115221-appb-100014
    Is a second polynomial corresponding to the index i, G(D) represents a CRC generator polynomial of the data block, L 2 represents a length of an all-zero sequence corresponding to the second sub-block, and CRC 2,0 represents the The second CRC of the first sequence associated with the second sub-block.
  18. 根据权利要求11-17任一项所述的装置,其特征在于,所述计算单元,还用于根据公式Apparatus according to any one of claims 11-17, wherein said calculation unit is further operative according to a formula
    Figure PCTCN2018115221-appb-100015
    计算所述多个子数据块中每个子数据块的第一CRC,其中,CRC j,msg表示第j个子数据块的第一CRC,N j表示第j+1个子数据块的长度,
    Figure PCTCN2018115221-appb-100016
    为第1个子数据块中的数据,
    Figure PCTCN2018115221-appb-100017
    为第2个子数据块中的数据,...,
    Figure PCTCN2018115221-appb-100018
    为第j个子数据块中的数据。
    Figure PCTCN2018115221-appb-100015
    Computing a first CRC of each of the plurality of sub-blocks, wherein CRC j, msg represents a first CRC of the j-th sub-block, and N j represents a length of the j+1th sub-block,
    Figure PCTCN2018115221-appb-100016
    Is the data in the first sub-block,
    Figure PCTCN2018115221-appb-100017
    For the data in the second sub-block,...,
    Figure PCTCN2018115221-appb-100018
    Is the data in the jth sub-block.
  19. 根据权利要求11-18任一项所述的装置,其特征在于,所述计算单元,还具体将所述每个子数据块的第三CRC进行模二加,得到所述数据块的CRC。The apparatus according to any one of claims 11 to 18, wherein the calculating unit further specifically modulates the third CRC of each of the sub-blocks to obtain a CRC of the data block.
  20. 根据权利要求11-19任一项所述的装置,其特征在于,所述确定单元,还用于待计算数据块后补充L_CRC个0,以得到所述数据块,其中,L_CRC表示所述CRC生成多项式G(D)对应的CRC长度。The apparatus according to any one of claims 11 to 19, wherein the determining unit is further configured to: after the data block to be calculated, supplement L_CRC 0s to obtain the data block, wherein L_CRC represents the CRC The CRC length corresponding to the polynomial G(D) is generated.
  21. 一种循环冗余校验CRC计算装置,其特征在于,包括:A cyclic redundancy check CRC computing device, comprising:
    存储器,用于存储指令;a memory for storing instructions;
    至少一个处理器,所述至少一个处理器和所述存储器通信,用于执行所述存储器中存储的指令以执行权利要求1-10任一项所述的方法。At least one processor in communication with the memory for executing instructions stored in the memory to perform the method of any of claims 1-10.
  22. 一种计算机可读存储介质,其特征在于,应用于循环冗余校验CRC计算装置中,所述计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述权利要求1-10任一项所述的方法。A computer readable storage medium, characterized by being applied to a cyclic redundancy check CRC computing device, wherein the computer readable storage medium stores instructions that, when executed on a computer, cause the computer to perform the above claims The method of any of 1-10.
PCT/CN2018/115221 2017-11-15 2018-11-13 Cyclic redundancy check (crc) calculation method and device WO2019096124A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711132324.0A CN109787713B (en) 2017-11-15 2017-11-15 Cyclic Redundancy Check (CRC) calculation method and device
CN201711132324.0 2017-11-15

Publications (1)

Publication Number Publication Date
WO2019096124A1 true WO2019096124A1 (en) 2019-05-23

Family

ID=66495605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/115221 WO2019096124A1 (en) 2017-11-15 2018-11-13 Cyclic redundancy check (crc) calculation method and device

Country Status (2)

Country Link
CN (1) CN109787713B (en)
WO (1) WO2019096124A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050154959A1 (en) * 2002-04-05 2005-07-14 Koninklijke Philips Electronics N.V. Method and apparatus for embedding an additional layer of error correction into an error correcting code
CN101114888A (en) * 2007-07-30 2008-01-30 威盛电子股份有限公司 Method for producing cycle error examination code
CN101159514A (en) * 2007-10-31 2008-04-09 中兴通讯股份有限公司 Method of adding cyclic redundancy code of transmission block
CN101183875A (en) * 2007-12-07 2008-05-21 中兴通讯股份有限公司 Velocity matching method for limited longness circulation caching of Turbo code
CN101296053A (en) * 2007-04-25 2008-10-29 财团法人工业技术研究院 Method and system for calculating cyclic redundancy check code
CN101753285A (en) * 2008-12-22 2010-06-23 财团法人资讯工业策进会 Device and method for correcting data
CN102684841A (en) * 2012-05-31 2012-09-19 无锡众志和达存储技术有限公司 Coding computation unit and decoding data verification method
EP2663004A1 (en) * 2007-08-14 2013-11-13 LG Electronics, Inc. Method of segmenting a transport block into multiple code blocks when one CRC is added to each code block

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386878B2 (en) * 2007-07-12 2013-02-26 Samsung Electronics Co., Ltd. Methods and apparatus to compute CRC for multiple code blocks
JP4935787B2 (en) * 2008-09-12 2012-05-23 日本電気株式会社 Cyclic code processing circuit
CN101478369B (en) * 2009-01-05 2012-05-23 华为终端有限公司 CRC checking method and system, CRC initial value affecting matrix
CN105721107B (en) * 2016-02-03 2019-03-22 华信塞姆(成都)科技有限公司 A kind of piecemeal calculates device and method of the CRC to improve clock frequency
CN107135047A (en) * 2016-02-29 2017-09-05 中兴通讯股份有限公司 The generation method and device of cyclic redundancy check code
CN107306140B (en) * 2016-04-25 2020-12-01 华为技术有限公司 GEL code word structure coding and decoding method, device and related equipment
CN106354581B (en) * 2016-08-22 2019-08-23 华为技术有限公司 A kind of cyclic redundancy check method and multi-core processor
CN107231213A (en) * 2017-08-20 2017-10-03 安徽大学 Method for implementing CRC-32 algorithm in USB3.0 data packet

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050154959A1 (en) * 2002-04-05 2005-07-14 Koninklijke Philips Electronics N.V. Method and apparatus for embedding an additional layer of error correction into an error correcting code
CN101296053A (en) * 2007-04-25 2008-10-29 财团法人工业技术研究院 Method and system for calculating cyclic redundancy check code
CN101114888A (en) * 2007-07-30 2008-01-30 威盛电子股份有限公司 Method for producing cycle error examination code
EP2663004A1 (en) * 2007-08-14 2013-11-13 LG Electronics, Inc. Method of segmenting a transport block into multiple code blocks when one CRC is added to each code block
CN101159514A (en) * 2007-10-31 2008-04-09 中兴通讯股份有限公司 Method of adding cyclic redundancy code of transmission block
CN101183875A (en) * 2007-12-07 2008-05-21 中兴通讯股份有限公司 Velocity matching method for limited longness circulation caching of Turbo code
CN101753285A (en) * 2008-12-22 2010-06-23 财团法人资讯工业策进会 Device and method for correcting data
CN102684841A (en) * 2012-05-31 2012-09-19 无锡众志和达存储技术有限公司 Coding computation unit and decoding data verification method

Also Published As

Publication number Publication date
CN109787713B (en) 2020-10-09
CN109787713A (en) 2019-05-21

Similar Documents

Publication Publication Date Title
JP6584036B2 (en) Signature-compatible Polar encoder and decoder
US9337871B2 (en) Method and apparatus for processing data
US10187085B2 (en) Decoding method, decoding apparatus and decoder
US9430648B2 (en) Method and apparatus for near field communication
CN107659381B (en) Coding and decoding method and device
CN108631937B (en) Information processing method, device and equipment
US10248498B2 (en) Cyclic redundancy check calculation for multiple blocks of a message
CN108282259B (en) Coding method and device
US11184028B2 (en) Coding method, decoding method, apparatus, and device
WO2018171393A1 (en) Method and device for encoding and decoding polar code
WO2012142914A1 (en) Method and device for cyclic redundancy check of transmission block
WO2011103741A1 (en) Method and device for data check processing
JP7116374B2 (en) Reduced Latency Error Correction Decoding
WO2018157717A1 (en) A polar code decoding method and device
KR101856417B1 (en) Method and Apparatus for Parallel Successive-Cancellation Polar Encoding-Decoding Using Polar-CRC Concatenated Codes
WO2016179743A1 (en) Encoding apparatus and method
WO2012109872A1 (en) Method, apparatus and lte terminals for cyclic redundancy checking in communication system
WO2019214265A1 (en) Method and apparatus for calculating cyclic redundancy check (crc) code
WO2019096124A1 (en) Cyclic redundancy check (crc) calculation method and device
CN110034843B (en) Channel coding method and coding device
CN111600613B (en) Verification method, verification device, decoder, receiver and computer storage medium
CN109474383B (en) Encoding method and device
CN109474376B (en) Encoding method and device
CN109474379B (en) Encoding method and device
CN109474378B (en) Encoding method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18878428

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18878428

Country of ref document: EP

Kind code of ref document: A1