WO2012109872A1 - 通信系统中的循环冗余校验处理方法、装置和lte终端 - Google Patents

通信系统中的循环冗余校验处理方法、装置和lte终端 Download PDF

Info

Publication number
WO2012109872A1
WO2012109872A1 PCT/CN2011/077899 CN2011077899W WO2012109872A1 WO 2012109872 A1 WO2012109872 A1 WO 2012109872A1 CN 2011077899 W CN2011077899 W CN 2011077899W WO 2012109872 A1 WO2012109872 A1 WO 2012109872A1
Authority
WO
WIPO (PCT)
Prior art keywords
binary data
sequence
branch
data sequence
check
Prior art date
Application number
PCT/CN2011/077899
Other languages
English (en)
French (fr)
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 华为技术有限公司
Priority to PCT/CN2011/077899 priority Critical patent/WO2012109872A1/zh
Priority to CN201180001743.5A priority patent/CN102318250B/zh
Publication of WO2012109872A1 publication Critical patent/WO2012109872A1/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA

Definitions

  • Cyclic redundancy check processing method device and LTE terminal in communication system
  • the embodiments of the present invention relate to communication technologies, and in particular, to a cyclic redundancy check processing method, apparatus, and LTE terminal in a communication system. Background technique
  • Cyclic Redundancy Check is a commonly used redundancy code.
  • the existing communication system can perform error detection by adding a CRC check code to the information code. The more CRC check bits, the greater the probability of detecting a transmission error.
  • the principle of error detection using the CRC check code in the prior art is:
  • the CRC check code can be obtained by dividing the binary value of the data stream by a constant, and the remainder of the division is added as a CRC check code to the end of the data stream, and the sender can A new data stream will be generated for transmission.
  • the new data stream is divided by the same constant and the remainder is checked for a constant. If the remainder is a constant, the transmission is considered correct, otherwise the data is considered to have been corrupted in the transmission, and the sender can retransmit the data stream.
  • the constant can be chosen to be zero.
  • the transmitting end may add r 0s after the k-bit information code to be transmitted, and obtain a binary code sequence of k+r bits, and the transmitting end device may use the binary code sequence of the k+r bits and the generating polynomial G(x).
  • the modulo divisor method is used to obtain the r-bit remainder, and the r-bit remainder is the CRC check code, and then the sender can add the r-bit remainder to the k-bit information code to obtain a k+r bit binary sequence and send it to the receiver. end.
  • the receiving end After receiving the binary sequence of the k+r bit, the receiving end can perform CRC check processing, where the receiving end divides the k+r bit binary sequence and the generating polynomial G(x) by the modulo two division, if the remainder is If r is 0, the data transmission is correct, otherwise the data transmission error is indicated.
  • the CRC check processing device based on the above principle has been widely used in various coding scenarios, such as downlink turbo decoding in a Long Term Evolution (LTE) system, and the CRC check processing device may be included in a receiving end. .
  • the receiving end may be an LTE user equipment (UE) for downlink data Process it.
  • UE LTE user equipment
  • the inventor finds that the receiving end uses the above prior art to perform CRC check processing on the k+r bit binary sequence at a slower speed, and needs to be performed before the CRC check processing.
  • the out-of-order data blocks are sorted, resulting in a low efficiency of the CRC check processing of the communication system.
  • Embodiments of the present invention provide a cyclic redundancy check processing method and apparatus in a communication system
  • An embodiment of the present invention provides a cyclic redundancy check processing method in a communication system, including: receiving a binary data sequence sent by a transmitting end, where the binary data sequence includes K binary data;
  • Branch sequence check module for generating polynomial , . ⁇ ! ⁇
  • the embodiment of the present invention further provides an LTE terminal, including the cyclic redundancy check processing device in the above communication system.
  • the binary data sequence including the K elements sent by the transmitting end is divided into Q branch sequences, and the Q branch sequences are CRC-checked in parallel, and finally, the iterative process of the initial state value is used to obtain the entire The result of the check of the binary data sequence, and the process does not require reordering of the out-of-order binary data sequence. Therefore, the present embodiment can improve the efficiency of the CRC check processing with respect to the serial processing method in the prior art.
  • FIG. 1 is a flow chart of Embodiment 1 of a cyclic redundancy check processing method in a communication system according to the present invention.
  • Embodiment 2 is a flow chart of Embodiment 2 of a cyclic redundancy check processing method in a communication system according to the present invention
  • FIG. 3 is a schematic structural diagram of a CRC check in the method embodiment shown in FIG. 2;
  • Embodiment 4 is a schematic structural view of Embodiment 1 of a cyclic redundancy check processing apparatus in a communication system according to the present invention
  • FIG. 5 is a schematic structural diagram of Embodiment 2 of a cyclic redundancy check processing apparatus in a communication system according to the present invention.
  • Figure 6 is a block diagram showing the structure of a third embodiment of the cyclic redundancy check processing apparatus in the communication system of the present invention. detailed description
  • a baseband processor may include a CRC check processing device, which is used to The verification process of the decoder data is performed in the manner shown in 1.
  • the CRC check processing device can be implemented by a logic integrated circuit.
  • Embodiment 1 is a flowchart of Embodiment 1 of a method for performing cyclic redundancy check processing on a binary data sequence in a communication system according to the present invention. As shown in FIG. 1, the method in this embodiment may include:
  • Step 101 Receive a binary data sequence sent by a sending end, where the binary data sequence includes K binary data.
  • Step 102 Divide the binary data sequence into Q branch sequences, each branch sequence
  • the prior art obtains the verification result of the binary data sequence in a serial manner.
  • a data sequence containing K binary data only one binary data can be read for each iteration process. This process is called a cycle, so to obtain the verification result of K binary data, K cycles are required.
  • the parallel processing method is used to obtain the verification result, that is, the binary data sequence containing K elements can be divided into Q branch sequences, and the Q branch sequences are verified in parallel, thereby improving the efficiency of K/Q. Times.
  • the general form of the generator polynomial can be The values of 3 ⁇ 4n-l, ... ⁇ , 3 ⁇ 40 can be taken as 0 or 1 according to needs.
  • the generator polynomial G(x) is used for CRC check processing, the n-1th binary data in a binary data sequence is input. After IN(nl), its corresponding CRC check result ⁇ ⁇ ), x 2 (n), x 3 (n), x m (n) ⁇ can be calculated by the following formula:
  • x(n) A x(n- l)+B IN(n- l ) ,
  • y(n) can be regarded as the verification result when the initial value x(0) of the state is all zero. Therefore, the calculation of x(n) is stripped into one with the initial value of the state x(0).
  • the CRC check result y(n) of the relationship and the nth power of the matrix A are multiplied by the sum of the state initial values x(0). Therefore, for a binary data sequence, even if the state initial value x(0) is not known, it can perform CRC check processing in advance, that is, the Q-way branch sequence can perform CRC check processing independently and in parallel, and finally The value is serially iterated to obtain the final CRC check result.
  • the method in this embodiment may be processed by the receiving end of the binary data sequence.
  • the binary data sequence in this embodiment may be obtained by the receiving end by performing turbo code decoding on the received signal from the transmitting end. It can be understood that the binary data sequence is a data sequence after the transmission end is redundantly encoded by the generator polynomial G(x).
  • G(x) generator polynomial
  • the processing of the parallel CRC check of the sequence completes the CRC check processing of the entire binary data sequence.
  • the CRC check processing may be, for example, determining whether each binary number in C(Q) is a constant. If each binary number in C(Q) is constant, optionally, the receiving end may also Output an indication that the verification result is correct.
  • the specific value of the constant can be zero. Therefore, in this embodiment, the order of the binary data sequence does not need to be reordered. Even if the binary data sequence does not match the order of the binary data sequence sent by the transmitting end, the final CRC check may be obtained by using the method in this embodiment. result.
  • the binary data sequence containing the K elements sent by the transmitting end is divided into Q branch sequences, the Q branch sequences are CRC-checked in parallel, and finally the iterative process of the initial state value is used to obtain the entire binary.
  • the result of the verification of the data sequence, and the process does not require reordering of the out-of-order binary data sequence. Therefore, the present embodiment can improve the CRC check processing efficiency by K/N times as compared with the serial processing method in the prior art.
  • Embodiment 2 is a flow chart of Embodiment 2 of a cyclic redundancy check processing method in a communication system according to the present invention, which can be executed by a CRC check processing device, and the device can be built in a receiving end.
  • the K in the method embodiment shown in FIG. 1 can be set to 6144, and the Q can be set to 16, and the transmitting end and the receiving end can pre-agreed that the generated polynomial is
  • Step 201 Receive a binary data sequence sent by the sending end, where the binary data sequence includes 6144 binary data.
  • Step 202 The binary data sequence is divided into 16 branch sequences, and each branch sequence includes 384 binary data.
  • FIG. 3 is a schematic structural diagram of a CRC check in the method embodiment shown in FIG. 2. As shown in FIG. 3, xl, x2, x3, and x4 respectively represent four states:
  • the order of the binary data sequence does not need to be reordered. Even if the binary data sequence does not match the order of the binary data sequence sent by the transmitting end, the final CRC check may be obtained by using the method in this embodiment. result.
  • the binary data sequence containing 6144 elements sent by the transmitting end is divided into 16 branch sequences, and the 16 branch sequences are CRC-checked in parallel, and finally the iterative process of the initial state value is used to obtain the entire binary.
  • the result of the verification of the data sequence, and the process does not require reordering of the out-of-order binary data sequence. Therefore, compared with the serial processing method in the prior art, this embodiment can improve the CRC check processing efficiency by 16 times.
  • FIG. 4 is a schematic structural diagram of Embodiment 1 of a cyclic redundancy check processing apparatus in a communication system according to the present invention, and the apparatus is applicable to a receiving end of an LTE, such as a UE.
  • the apparatus in this embodiment may include: a receiving module 11, a sequence dividing module 12, a branch sequence checking module 13, and an iterative computing module 14, wherein the receiving module 11 is configured to receive binary data sent by the sending end.
  • a sequence the binary data sequence includes K binary data
  • a branch sequence check module 13 for using a generator polynomial
  • the device in this embodiment may be used to perform the method in the method embodiment shown in FIG. 1 , and the implementation principle and technical effects are similar, and details are not described herein again.
  • the receiving module 11 can be implemented by hardware, for example it can be an input such as an antenna or an interface.
  • the sequence division module 12, the branch sequence verification module 13 and the iterative calculation module 14 may each be a processor unit, and the three processor units may be integrated in one processor for performing a binary data sequence from the input end. Processing of CRC checksum.
  • the receiving module 11 is configured to perform turbo code decoding on the received signal from the transmitting end to obtain the binary data sequence.
  • the receiving module 11 may include: an antenna, configured to receive a signal from the transmitting end, and a decoder, configured to perform turbo code decoding on the signal to obtain the binary data sequence.
  • FIG. 5 is a schematic structural diagram of Embodiment 2 of a cyclic redundancy check processing apparatus in a communication system according to the present invention.
  • the check unit can be a processor subunit and can be implemented by a logic circuit.
  • each iterative calculation unit 141 is used to calculate C(q) using the formula (1), respectively.
  • the branch sequence check module 13 may include only one other number than the number of branch sequence check units.
  • the device in this embodiment may be used to perform the method in the method embodiment shown in FIG. 2, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • FIG. 6 is a schematic structural diagram of Embodiment 3 of a cyclic redundancy check processing apparatus in a communication system according to the present invention.
  • the apparatus of this embodiment is further based on the apparatus structure shown in FIG. a result output module 15, configured to determine whether each binary number in the verification result C(Q) is a constant; if each binary number in the verification result C(Q) is The constant is output, and the indication that the verification result is correct is output.
  • the device in this embodiment may be used to perform the method in the method embodiment shown in FIG. 1.
  • the implementation principle and the technical effect are similar.
  • the device in this embodiment may determine whether the verification is correct according to the verification result C(Q), and Indicates the output.
  • the embodiment of the present invention further provides an LTE terminal, where the LTE terminal may include the device described in any of the foregoing embodiments, and a device according to the foregoing embodiment may be used by those skilled in the art.
  • the function of the module is connected or multiplexed with the existing modules of the LTE terminal, and details are not described herein.
  • a person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by using hardware related to program instructions, and the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing steps include the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

通信系统中的循环冗余校验处理方法、 装置和 LTE终端 技术领域
本发明实施例涉及通信技术, 尤其涉及一种通信系统中的循环冗余校 验处理方法、 装置和 LTE终端。 背景技术
循环冗余校验(Cyclic Redundancy Check, 以下简称: CRC )校验码 是一种常用的冗余编码。现有的通信系统可以通过在信息码后附加 CRC校 验码来进行差错检测, CRC校验位越多, 则检测出传输错误的机率越大。
现有技术采用 CRC校验码进行差错检测的原理为: CRC校验码可由 该数据流的二进制数值除以一个常数而得到,除法的余数作为 CRC校验码 追加到数据流尾, 发送端可将产生新的数据流进行发送。 在接收端, 新的 数据流被除以该同一个常数, 并检查余数是否为一个常数。 如果余数为一 个常数, 就认为传输正确, 否则就认为数据在传输中已发生差错, 发送端 可以将该数据流重发。 通常情况下, 所述常数可以选为 0。 具体地, 发送 端可以在待传送的 k位信息码后附加 r个 0, 得到 k+r位的二进制码序列, 发送端设备可以用这 k+r位的二进制码序列与生成多项式 G(x)做模二除 法, 得到 r位余数, 该 r位余数即为 CRC校验码, 然后发送端可以将这 r 位余数附加在 k位信息码后, 得到 k+r位二进制序列并发送给接收端。 接 收端在接收该 k+r位二进制序列后, 即可进行 CRC校验处理, 该处理过程 为接收端将该 k+r位二进制序列与生成多项式 G(x)做模二除法, 如果余数 是 r个 0, 则说明数据传输正确, 否则说明数据传输错误。 基于上述原理 的 CRC校验处理装置目前已经广泛的应用在各类译码场景中,如长期演进 ( LTE ) 系统的下行 turbo译码中, 所述 CRC校验处理装置可以包含在一 个接收端中。 该接收端可以是 LTE的用户设备(UE ) , 用于对下行数据 进行处理。
但是, 发明人在实现本发明的过程中发现, 所述接收端采用上述现有 技术对 k+r位二进制序列进行 CRC校验处理的速度较慢, 且在进行 CRC 校验处理之前还需要对乱序的数据块进行排序处理, 从而导致通信系统的 CRC校验处理效率较低。
发明内容
本发明实施例提供一种通信系统中的循环冗余校验处理方法、 装置和
LTE终端, 以提高 CRC校验处理效率。
本发明实施例提供一种通信系统中的循环冗余校验处理方法, 包括: 接收发送端发送的二进制数据序列, 所述二进制数据序列包含 K个二 进制数据;
将所述二进制数据序列划分为 Q个分支序列, 每个分支序列中包含 N 个二进制数据, N=K/ ;
采用生成多项式
Figure imgf000004_0001
x x+a。分别计算所述 Q个分 支序列的循环冗余校验 CRC校验结果 yq, 其中, q=l〜Q;
采用公式 ( 1 )从 q=2到 q=Q进行迭代计算, 获取所述二进制数据序 列的校验结果 C(Q);
C(q)=AN x C(q-l)+y, ( 1 )
0 0 · • 0 «0
1 0 · • 0
其中, C(l)=yi, A
0 0 · • 0 a
0 0 · • 1 a _ 本发明实施例提供一种通信系统中的循环冗余校验处理装置, 包括: 接收模块, 用于接收发送端发送的二进制数据序列, 所述二进制数据 序列包含 K个二进制数据; 序列划分模块, 用于将所述二进制数据序列划分为 Q个分支序列, 每 个分支序列中包含 N个二进制数据, N=K/Q;
分支序列校验模块, 用于采用生成多项式
Figure imgf000005_0001
, .α! χ
q=l〜Q;
迭代计算模块, 用于采用公式 ( 1 )从 q=2到 q=Q进行迭代计算, 获 取所述二进制数据序列的校验结果 C(Q);
C(q)=AN x C(q-l)+y, ( 1 )
0 0 · • 0 «0
1 0 · • 0
其中, C(l)=yi , A
0 0 · • 0 a
0 0 · • 1 a _ 本发明实施例还提供一种 LTE终端, 包括上述的通信系统中的循环冗 余校验处理装置。
本发明实施例, 将发送端发送的包含 K个元素的二进制数据序列划分 为 Q个分支序列, 并行地对这 Q个分支序列进行 CRC校验, 最后再通过 状态初值的迭代处理, 获取整个二进制数据序列的校验结果, 而且该过程 无需对乱序的二进制数据序列进行重排序。 因此, 相对于现有技术中的串 行处理方式来说, 本实施例可以将 CRC校验处理效率提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下 面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在 不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明通信系统中的循环冗余校验处理方法实施例一的流程 图;
图 2为本发明通信系统中的循环冗余校验处理方法实施例二的流程 图;
图 3为图 2所示方法实施例中 CRC校验的结构示意图;
图 4为本发明通信系统中的循环冗余校验处理装置实施例一的结构示 意图;
图 5为本发明通信系统中的循环冗余校验处理装置实施例二的结构示 意图;
图 6为本发明通信系统中的循环冗余校验处理装置实施例三的结构示 意图。 具体实施方式
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本 发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例, 都属于本发明保护的范围。
本发明实施例可应用在需要缩短对译码结果进行校验的时延的应用场 景之下, 例如, 在 LTE接收端, 基带处理器中可包含有 CRC校验处理装 置, 用于通过如图 1所示的方式进行译码器数据的校验处理。 CRC校验处 理装置可以通过逻辑集成电路实现。
图 1为本发明通信系统中对的二进制数据序列做循环冗余校验处理方 法实施例一的流程图, 如图 1所示, 本实施例的方法可以包括:
步骤 101、 接收发送端发送的二进制数据序列, 所述二进制数据序列 包含 K个二进制数据;
步骤 102、 将所述二进制数据序列划分为 Q个分支序列, 每个分支序 列中包含 N个二进制数据, N=K/Q;
步骤 103、 采用生成多项式 G(x)=xm+a^ xx ^.a^x+a。分别计算所
步骤 104、 采用公式 ( 1 )从 q=2到 q=Q进行迭代计算, 获取所述二 进制数据序列的校验结果 C(Q);
C(q)=AN x C(q-l)+y, ( 1)
0 0 · • 0 «0
1 0 · • 0
其中, C(l)=yi, A
0 0 · • 0 a
0 0 · • 1 a _ 具体来说, 现有技术采用串行方式获得二进制数据序列的校验结果。 以一个包含 K个二进制数据的数据序列来说, 每进行一次迭代处理, 只能 读取一个二进制数据, 该过程称为一个 cycle, 因此要得到 K个二进制数 据的校验结果, 需要 K个 cycle。 为了提高处理效率, 采用并行处理方式 获取校验结果,即可以将包含 K个元素的二进制数据序列划分成 Q个分支 序列, 对这 Q个分支序列进行并行校验, 从而将效率提高 K/Q倍。
为了解决上述的技术问题, 并实现相应的技术效果, 发明人进行了如 下分析:
生成多项式的一般形式可以为
Figure imgf000007_0001
其中 ¾n-l、 …^、 ¾0的取值可以根据需要取 0或者取 1, 采用生成多项式 G(x)进 行 CRC校验处理时,在输入一个二进制数据序列中的第 n-1个二进制数据 IN(n-l)后, 其对应的 CRC校验结果 {χ η), x2(n), x3(n), xm(n)}可以 采用如下公式计算:
Figure imgf000007_0002
2(n)=a! x xm(n-l)+X!(n) x3(n)=a2 x xm(n-l)+x2(n) xm(n)=am-1 x xm(n- l)+xm-1(n)
基于上述计算过程, 可以建立如下数学模型来表示第 n-1个二进制数 据输入后, 其对应的 CRC校验结果 x(n):
x(n)=A x(n- l)+B IN(n- l ) ,
其中
Figure imgf000008_0001
基于上述数学模型可知存在下述 x(n)的表述:
Figure imgf000008_0002
=Α (Α x(0)+B IN(0))+B IN(1)
=A2 x(0)+A B IN(0)+B IN(1);
x(3)=A x(2)+B IN(2)
=A3 x(0)+A2 B IN(0)+A B IN(1)+B IN(2); x(n)=A x x(n- 1 )+B x IN(n- 1 )
=An x(0)+An"1 B IN(0)+An"2 B IN(1)+An"3 B IN(2)+A B IN(n-2)+B IN(n- l )
=An x(0)+y(n);
其中, y(n)=An B IN(0)+An"2 B IN(1)+An"3 B IN(2)+A B IN(n-2)+B x IN(n- l)。
由上述分析可知, y(n)可以看成是状态初值 x(0)全为零时的校验结果, 因此, x(n)的计算被剥离成一个与状态初值 x(0)没有关系的 CRC校验结果 y(n)和矩阵 A的 n次幂乘以状态初值 x(0)的乘积的和。 因此, 对于一个二进制数据序列来说, 即使不知道状态初值 x(0), 其 也可以提前进行 CRC校验处理,也即 Q路分支序列可以独立并行进行 CRC 校验处理, 最后再将初值进行串行迭代处理, 即可获取最终的 CRC校验结 果。
具体来说,本实施例的方法可以由二进制数据序列的接收端进行处理, 本实施例中的二进制数据序列可以是接收端通过对接收到的来自发送端的 信号进行 turbo码译码后得到的。 可以理解的是, 该二进制数据序列是发 送端采用生成多项式 G(x)进行冗余编码之后的数据序列。
接收端在接收到发送端发送的二进制数据序列后, 即可将该二进制数 据序列划分为 Q个分支序列。 若该二进制数据序列包含 K个二进制数据, 则每个分支序列中包含 N个二进制数据, N=K/Q。
然后, 接收端同样可以采用与发送端相同的生成多项式 G(x)分别计算 这 Q个分支序列的 CRC校验结果 yq, 其中, q=l〜Q。 对于每个分支序列 采用 G(x)计算对应的 yq的方法来说, 其可以采用现有技术实现, 此处不再 赘述。
最后, 接收端可以采用公式 ( 1 )从 q=2到 q=Q进行迭代计算, 获取 二进制数据序列的校验结果 C(Q);
C(q)=AN x C(q-l)+y, ( 1 )
0 0 · • 0 «0
1 0 · • 0 ax
其中, C(l)=yi , A
0 0 · • 0 a
0 0 · • 1 a , 具体来说, 对于第 1个分支序列来说, 其 C(l)=yi; 对于第 2个分支序 列来说, 该分支序列的校验结果为 y2, 第 1个分支序列和第 2个分支序列 合起来的序列的校验结果为 C(2)=AN x C(l)+yi;对于第 3个分支序列来说, 该分支序列的校验结果为 y3, 第 1个分支序列、 第 2个分支序列以及第 3 个分支序列合起来的序列的校验结果为 C(3)=AN x C(2)+y2; 以此类推, 对 于第 Q-1个分支序列来说, 该分支序列的校验结果为 yq^ , 前 Q-1个分支 序列合起来的序列的校验结果为 C(Q-1)=AN C(Q-2)+yQ-1; 对于第 Q个分 支序列来说, 该分支序列的校验结果为 yQ, Q个分支序列的最终校验结果 为 C(Q)=AN x C(Q- l)+yQ, 至此, 本实施例即可采用 Q个分支序列的并行 CRC校验的处理方式完成整个二进制数据序列的 CRC校验处理。 该 CRC 校验处理例如可以是判断 C(Q)中的每一位二进制数是否均为一常数,如果 C(Q)中的每一位二进制数均为常数, 可选地, 接收端还可以输出校验结果 正确的指示。 该常数的具体取值可以是零。 因此, 本实施例并不需要将二进制数据序列的顺序进行重排序, 即使该二 进制数据序列与发送端发送的二进制数据序列的顺序不符, 也可以采用采 用本实施例的方法获取最终的 CRC校验结果。
本实施例, 将发送端发送的包含 K个元素的二进制数据序列划分为 Q 个分支序列, 并行地对这 Q个分支序列进行 CRC校验, 最后再通过状态 初值的迭代处理, 获取整个二进制数据序列的校验结果, 而且该过程无需 对乱序的二进制数据序列进行重排序。 因此, 相对于现有技术中的串行处 理方式来说, 本实施例可以将 CRC校验处理效率提高 K/N倍。
下面采用一个具体实施例对本发明的技术方案进行详细说明。
图 2为本发明通信系统中的循环冗余校验处理方法实施例二的流程 图, 可由一个 CRC校验处理装置来执行, 该装置可内置在一个接收端中。 如图 2所示, 本实施例可以将图 1所示方法实施例中的 K设定为 6144, 将 Q设定为 16, 且发送端和接收端可以预先约定所采用的生成多项式为
G(x)=x4+x3+ 1 , 本实施例的方法可以具体为:
步骤 201、 接收发送端发送的二进制数据序列, 所述二进制数据序列 中包含 6144个二进制数据; 步骤 202、 将所述二进制数据序列划分为 16个分支序列, 每个分支序 列中包含 384个二进制数据;
步骤 203、 采用生成多项式 G(x)=x4+x3+l分别计算 16个分支序列的 CRC校验结果 yQ〜y15;
步骤 204、 采用 C(16)=A384 x C(15)+y16计算, 获取所述二进制数据序 列的校验结果 C 16)。
图 3为图 2所示方法实施例中 CRC校验的结构示意图, 如图 3所示, xl、 x2、 x3、 x4分别代表四种状态:
xl(n)=x4(n-l)+IN(n-l)
x2(n)=xl(n)
x3(n)=x2(n)
x4(n)=x3(n-l)+x4(n-l)
相应地, 所建立的数学模型如下:
x(n)=A X x n-l)+B x IN, 其中^ 4 =
Figure imgf000011_0001
因此, 本实施例可以使用 C(16)=A384 x C(15)+y16计算获取二进制数据 序列的校验结果 C(16)。
具体来说, 对于第 1个分支序列来说, 其 C(l)=yi; 对于第 2个分支序 列来说, 该分支序列的校验结果为 y2, 第 1个分支序列和第 2个分支序列 合起来的序列的校验结果为 C(2)=A384 C(l)+yi; 对于第 3个分支序列来 说, 该分支序列的校验结果为 y3, 第 1个分支序列、 第 2个分支序列以及 第 3个分支序列合起来的序列的校验结果为 C(3)=A384 C(2)+y2; 以此类 推, 对于第 15个分支序列来说, 该分支序列的校验结果为 y15, 前 15个分 支序列合起来的序列的校验结果为 C(15)=A384 x C(14)+y15;对于第 16个分 支序列来说, 该分支序列的校验结果为 y16, 16个分支序列的最终校验结 果为 C(16)=A384 x C(15)+y16, 至此, 本实施例即可采用 16个分支序列的并 行 CRC校验的处理方式完成整个二进制数据序列的 CRC校验处理。 因此, 本实施例并不需要将二进制数据序列的顺序进行重排序, 即使该二 进制数据序列与发送端发送的二进制数据序列的顺序不符, 也可以采用采 用本实施例的方法获取最终的 CRC校验结果。
本实施例,将发送端发送的包含 6144个元素的二进制数据序列划分为 16个分支序列, 并行地对这 16个分支序列进行 CRC校验, 最后再通过状 态初值的迭代处理, 获取整个二进制数据序列的校验结果, 而且该过程无 需对乱序的二进制数据序列进行重排序。 因此, 相对于现有技术中的串行 处理方式来说, 本实施例可以将 CRC校验处理效率提高 16倍。
图 4为本发明通信系统中的循环冗余校验处理装置实施例一的结构示 意图, 该装置可应用于 LTE的接收端, 如 UE中。 如图 4所示, 本实施例 的装置可以包括: 接收模块 11、 序列划分模块 12、 分支序列校验模块 13 以及迭代计算模块 14, 其中, 接收模块 11 , 用于接收发送端发送的二进制 数据序列, 所述二进制数据序列包含 K个二进制数据; 序列划分模块 12, 用于将所述二进制数据序列划分为 Q个分支序列, 每个分支序列中包含 N 个二进制数据, N=K/Q; 分支序列校验模块 13 , 用于采用生成多项式
G(x)=xm+am-1 X χ^-^ . , .α! χ x+a。分别计算所述 Q个分支序列的循环冗余校 验 CRC校验结果 yq, 其中, q=l〜Q; 迭代计算模块 14, 用于采用公式( 1 ) 从 q=2到 q=Q进行迭代计算, 获取所述二进制数据序列的校验结果 C(Q);
C(q)=AN x C(q-l)+yq ( 1 ) 0 0
0 ax
其中, C(l)=yi , A
Figure imgf000013_0001
本实施例的装置可以用于执行图 1所示方法实施例的方法, 其实现原 理和技术效果类似, 此处不再赘述。 接收模块 11可以由硬件实现, 例如其 可以是一个输入端, 如天线或者一个接口。 序列划分模块 12、 分支序列校 验模块 13以及迭代计算模块 14可以分别是处理器单元, 这三个处理器单 元可集成在一个处理器中, 所述处理器用于根据来自输入端的二进制数据 序列进行 CRC校验的处理。 接收模块 11可用于对接收到的来自所述发送 端的信号进行 turbo码译码得到所述二进制数据序列。 具体地, 所述接收 模块 11可包括: 天线, 用于接收来自所述发送端的信号; 译码器, 用于对 所述信号进行 turbo码译码得到所述二进制数据序列。
图 5为本发明通信系统中的循环冗余校验处理装置实施例二的结构示 意图, 如图 5所示, 本实施例的装置在图 4所示装置结构的基础上, 进一 步地, K=6144, N=384, Q=16, 也即相应的结构中, 分支序列校验模块 13可以包括:第 1个分支序列校验单元 131〜第 16个分支序列校验单元 131 , 每个分支序列校验单元可以是一个处理器子单元, 可以由逻辑电路实现。 迭代计算模块 14可以包括: 第 1个迭代计算单元 141〜第 15个迭代计算单 元 141 , 可以分别是处理器子单元并由逻辑电路实现, 其中, 16个分支序 列校验单元 131与序列划分模块 12连接, 第 1个迭代计算单元 141与第 1 个分支序列校验单元 131和第 2个分支序列校验单元 131连接, 第 w+1个 迭代计算单元 141与第 w个迭代计算单元 141和第 w+2个分支序列校验单 元 131连接, w=l〜14 每个分支序列校验单元 131 , 分别用于采用生成多 项式
Figure imgf000013_0002
x x+a。计算各分支序列的 CRC校验结果 yq; 每个迭代计算单元 141 , 分别用于采用所述公式 ( 1 ) 计算 C(q)。 需要说明的是,本实施例中分支序列校验模块 13也可以包括其它数量 的个数只需要比分支序列校验单元的个数少 1个即可。
本实施例的装置可以用于执行图 2所示方法实施例的方法, 其实现原 理和技术效果类似, 此处不再赘述。
图 6为本发明通信系统中的循环冗余校验处理装置实施例三的结构示 意图, 如图 6所示, 本实施例的装置在图 4所示装置结构的基础上, 进一 步地, 还包括结果输出模块 15 , 用于判断所述校验结果 C(Q)中的每一位 二进制数是否均为一常数;如果所述校验结果 C(Q)中的每一位二进制数均 为所述常数, 则输出校验结果正确的指示。
本实施例的装置可以用于执行图 1所示方法实施例的方法, 其实现原 理和技术效果类似,本实施例的装置可以根据校验结果 C(Q)判断校验是否 正确, 并将该指示输出。
在上述各装置实施例的基础上, 本发明实施例还提供一种 LTE终端, 该 LTE终端中可以包括上述任一实施例所述的装置,本领域技术人员可以 根据上述实施例所述的装置的功能将该装置中各个模块与 LTE终端的已 有模块进行连接或者复用, 此处不再赘述。 本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机 可读取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序 代码的介质。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修 改, 或者对其中部分技术特征进行等同替换; 而这些修改或者替换, 并不 使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims

权 利 要 求
1、 一种通信系统中的循环冗余校验处理方法, 其特征在于, 包括: 接收发送端发送的二进制数据序列, 所述二进制数据序列包含 K个二 进制数据;
将所述二进制数据序列划分为 Q个分支序列, 每个分支序列中包含 N 个二进制数据, N=K/ ;
采用生成多项式
Figure imgf000015_0001
, .α! x x+a。分别计算所述 Q个分 支序列的循环冗余校验 CRC校验结果 yq, 其中, q=l〜Q;
采用公式 ( 1 )从 q=2到 q=Q进行迭代计算, 获取所述二进制数据序 列的校验结果 C(Q);
C(q)=AN x C(q-l)+y, ( 1 )
0 0 · • 0 «0
1 0 · • 0
其中, C(l)=yi , A
0 0 · • 0 a
0 0 · • 1 a
2、 根据权利要求 1所述的方法, 其特征在于, 所述接收发送端发送的 二进制数据序列, 所述二进制数据序列包含 K个二进制数据, 包括:
接收发送端发送的二进制数据序列, 所述二进制数据序列中包含 6144 个二进制数据;
所述将所述二进制数据序列划分为 Q个分支序列, 每个分支序列中包 含 N个二进制数据, 包括:
将所述二进制数据序列划分为 16个分支序列, 每个分支序列中包含 384个二进制数据;
所述采用生成多项式
Figure imgf000015_0002
, .α! x+a。分别计算所述 Q 个分支序列的循环冗余校验 CRC校验结果 yq, 包括:
采用生成多项式 G(x)=x4+x3+l分别计算 16个分支序列的 CRC校验结 果 y。〜yi5;
所述采用公式 ( 1 )从 q=2到 q=Q进行迭代计算, 获取所述二进制数 据序列的校验结果 C(Q), 包括:
采用 C(16)=A384 X C(15)+y1(^†算获取所述二进制数据序列的校验结果 C(16), 其中, C(15)=A384 C(14)+y15, C(14)=A384 C(13)+y14, ... C(2)=A384
0 0 0 1
1 0 0 0
y!+y2, 其中 ^
0 1 0 0
0 0 1 1
3、 根据权利要求 1或 2所述的方法, 其特征在于, 还包括:
判断所述校验结果 C(Q)中的每一位二进制数是否均为一常数;如果所 述校验结果 C(Q)中的每一位二进制数均为所述常数,则输出校验结果正确 的指示。
4、 根据权利要求 3所述的方法, 其特征在于, 所述常数为零。
5、 根据权利要求 1至 4中任一项所述的方法, 其特征在于, 所述二进 制数据序列是通过对接收到的来自所述发送端的信号进行 turbo码译码后 得到的。
6、 一种通信系统中的循环冗余校验处理装置, 其特征在于, 包括: 接收模块, 用于接收发送端发送的二进制数据序列, 所述二进制数据 序列包含 K个二进制数据;
序列划分模块, 用于将所述二进制数据序列划分为 Q个分支序列, 每 个分支序列中包含 N个二进制数据, N=K/Q;
分支序列校验模块, 用于采用生成多项式 G(x)=xm+am^ X χ^-^. , .α! x
q=l〜Q;
迭代计算模块, 用于采用公式 ( 1 )从 q=2到 q=Q进行迭代计算, 获 取所述二进制数据序列的校验结果 C(Q); C(q)=AN x C(q-l)+y, ( 1 )
0 0 · • 0 «0
1 0 · • 0 ax
其中, C(l)=yi , A
0 0 · • 0 a
0 0 · • 1 a ,
7、 根据权利要求 6所述的装置, 其特征在于, 所述分支序列校验模块 包括: 第 1个分支序列校验单元〜第 Q个分支序列校验单元, 所述迭代计 算模块包括: 第 1个迭代计算单元〜第 Q- 1个迭代计算单元, 其中, Q个 分支序列校验单元与所述序列划分模块连接, 第 1个迭代计算单元与第 1 个分支序列校验单元和第 2个分支序列校验单元连接, 第 w+ 1个迭代计算 单元与第 w个迭代计算单元和第 w+2个分支序列校验单元连接, w=l〜Q-2;
每个分支序列校验单元, 分别用于采用生成多项式
Figure imgf000017_0001
χ 1).. ^ χ x+a。计算各分支序列的 CRC校验结果 yq;
每个迭代计算单元, 分别用于采用所述公式 ( 1 ) 计算 C(q)。
8、 根据权利要求 6或 7所述的装置, 其特征在于, 还包括:
结果输出模块,用于判断所述校验结果 C(Q)中的每一位二进制数是否 均为一常数; 如果所述校验结果 C(Q)中的每一位二进制数均为所述常数, 则输出校验结果正确的指示。
9、 根据权利要求 6至 8中任一项所述的装置, 其特征在于, 所述接收 模块, 用于对接收到的来自所述发送端的信号进行 turbo码译码得到所述 二进制数据序列。
10、 一种长期演进 LTE终端, 其特征在于, 包括如权利要求 6至 9中 任一所述的装置。
PCT/CN2011/077899 2011-08-02 2011-08-02 通信系统中的循环冗余校验处理方法、装置和lte终端 WO2012109872A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2011/077899 WO2012109872A1 (zh) 2011-08-02 2011-08-02 通信系统中的循环冗余校验处理方法、装置和lte终端
CN201180001743.5A CN102318250B (zh) 2011-08-02 2011-08-02 通信系统中的循环冗余校验处理方法、装置和lte终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/077899 WO2012109872A1 (zh) 2011-08-02 2011-08-02 通信系统中的循环冗余校验处理方法、装置和lte终端

Publications (1)

Publication Number Publication Date
WO2012109872A1 true WO2012109872A1 (zh) 2012-08-23

Family

ID=45429430

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/077899 WO2012109872A1 (zh) 2011-08-02 2011-08-02 通信系统中的循环冗余校验处理方法、装置和lte终端

Country Status (2)

Country Link
CN (1) CN102318250B (zh)
WO (1) WO2012109872A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684663B (zh) * 2012-09-10 2016-11-23 西门子信号有限公司 用于循环冗余校验的装置和方法
CN103731239B (zh) * 2013-12-31 2017-01-18 中国科学院自动化研究所 一种适用于向量处理器的通用crc并行计算部件及方法
CN108880562B (zh) 2017-05-11 2020-06-19 珠海零边界集成电路有限公司 循环冗余校验电路及其方法、装置以及芯片、电子设备
JP7221070B2 (ja) * 2019-02-07 2023-02-13 日立Astemo株式会社 電子制御装置、制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174399A1 (en) * 2001-05-15 2002-11-21 Keller Richard B. Fast cyclic redundancy check (CRC) generation
CN1762103A (zh) * 2003-03-28 2006-04-19 国际商业机器公司 用于可变宽度并行循环冗余校验计算的迭代电路和方法
CN101507120A (zh) * 2006-08-22 2009-08-12 松下电器产业株式会社 并行剩余运算器和并行剩余运算方法
CN101783688A (zh) * 2010-03-05 2010-07-21 苏州和迈微电子技术有限公司 一种64位并行多模式crc码生成电路的设计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174399A1 (en) * 2001-05-15 2002-11-21 Keller Richard B. Fast cyclic redundancy check (CRC) generation
CN1762103A (zh) * 2003-03-28 2006-04-19 国际商业机器公司 用于可变宽度并行循环冗余校验计算的迭代电路和方法
CN101507120A (zh) * 2006-08-22 2009-08-12 松下电器产业株式会社 并行剩余运算器和并行剩余运算方法
CN101783688A (zh) * 2010-03-05 2010-07-21 苏州和迈微电子技术有限公司 一种64位并行多模式crc码生成电路的设计方法

Also Published As

Publication number Publication date
CN102318250A (zh) 2012-01-11
CN102318250B (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
US10554224B2 (en) Method and apparatus for processing data with polar encoding
US11171741B2 (en) Polar code transmission method and apparatus
US20150006992A1 (en) Method and decoder for processing decoding
US10866857B2 (en) Encoding and decoding of permuted cyclic codes
WO2014134974A1 (zh) 极性码的译码方法和译码器
CN108282259B (zh) 一种编码方法及装置
WO2018141212A1 (zh) 一种信息的传输方法、译码方法和装置
WO2017121334A1 (zh) 一种数据处理的方法和装置
CN110999095A (zh) 用于极化码的按块并行冻结位生成
JPWO2008023684A1 (ja) 並列剰余演算器及び並列剰余演算方法
WO2018166431A1 (zh) 一种编码方法、译码方法、装置和设备
US20170250710A1 (en) Method and device for calculating a crc code in parallel
WO2012109872A1 (zh) 通信系统中的循环冗余校验处理方法、装置和lte终端
JP7116374B2 (ja) 短縮レイテンシ誤り訂正復号
KR20100008849A (ko) 통신 시스템에서 순환중복검사 방법 및 장치
WO2019096184A1 (zh) 阶梯码的解码方法、装置及存储介质
CN108270508B (zh) 一种循环冗余校验crc实现方法、装置及网络设备
CN108809323B (zh) 循环冗余校验码的生成方法和装置
WO2019214265A1 (zh) 计算循环冗余校验crc编码的方法及装置
WO2018202054A1 (zh) 一种编码的方法和装置
US11677419B2 (en) Cyclic redundancy check, CRC, decoding using the inverse CRC generator polynomial
WO2019137231A1 (zh) 一种译码方法及装置
CN114342265A (zh) 使用存储在查找表lut中的生成器矩阵的部分并行循环冗余校验crc计算
WO2019096124A1 (zh) 一种循环冗余校验crc计算方法和装置
Bhoyar Design of encoder and decoder for Golay code

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180001743.5

Country of ref document: CN

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

Ref document number: 11858888

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: 11858888

Country of ref document: EP

Kind code of ref document: A1