[go: up one dir, main page]

CN115280696A - Verifying data integrity in a receiver - Google Patents

Verifying data integrity in a receiver Download PDF

Info

Publication number
CN115280696A
CN115280696A CN202180023737.3A CN202180023737A CN115280696A CN 115280696 A CN115280696 A CN 115280696A CN 202180023737 A CN202180023737 A CN 202180023737A CN 115280696 A CN115280696 A CN 115280696A
Authority
CN
China
Prior art keywords
data message
elements
vector
check matrix
data
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202180023737.3A
Other languages
Chinese (zh)
Other versions
CN115280696B (en
Inventor
N·维贝格
M·海斯勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN115280696A publication Critical patent/CN115280696A/en
Application granted granted Critical
Publication of CN115280696B publication Critical patent/CN115280696B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1154Low-density parity-check convolutional codes [LDPC-CC]
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

A method for verifying data integrity in a receiver in a wireless communication network is disclosed. The method comprises the following steps: receiving (101) a data message, wherein the data message comprises a data element group and a checksum; computing (102) a complete syndrome vector based on the partial syndrome vectors, wherein the partial syndrome vectors are computed in parallel by multiplying portions of the parity check matrix with corresponding portions of the received data message; determining (103) that all vector elements of the complete syndrome vector are zero; and verifying (104) that the received data message is correct (104 a) when all vector elements of the complete syndrome vector are zero, and incorrect (104 b) otherwise. Corresponding computer program product, device and receiver are also disclosed.

Description

在接收器中验证数据完整性Verify data integrity in receiver

技术领域technical field

本公开一般涉及数据完整性的领域。它更特别涉及在无线通信网络中的接收器中验证数据完整性。The present disclosure relates generally to the field of data integrity. It relates more particularly to verifying data integrity in receivers in wireless communication networks.

背景技术Background technique

为了在接收器中验证数据完整性,常使用循环冗余校验CRC来检测通过无线通信网络中潜在不可靠的信道(诸如无线电信道)传送的消息中的错误。To verify data integrity in a receiver, a cyclic redundancy check (CRC) is often used to detect errors in messages transmitted over potentially unreliable channels, such as radio channels, in wireless communication networks.

CRC常在专用硬件中实现,但是也可在处理器上的软件中实现。CRCs are often implemented in dedicated hardware, but can also be implemented in software on the processor.

硬件和/或软件实现的CRC的缺陷是处理量随着消息长度而增加,并且就处理时间和招致的开销而言致使处理低效。A drawback of a hardware and/or software implemented CRC is that the amount of processing increases with message length and renders processing inefficient in terms of processing time and incurred overhead.

因此,需要用于在接收器中验证数据完整性的备选办法。Therefore, alternatives for verifying data integrity in the receiver are needed.

发明内容Contents of the invention

应该强调,术语“包括/包含”当在本说明书中使用时,用来指定所陈述特征、整数、步骤或组件的存在,但是并不排除一个或多个其它特征、整数、步骤、组件或其组的存在或添加。如本文中所使用,除非上下文另外清楚地指示,否则单数形式“一”、“某一”和“该”意在也包含复数形式。It should be emphasized that the term "comprising/comprising", when used in this specification, is used to designate the presence of stated features, integers, steps or components, but does not exclude one or more other features, integers, steps, components or The presence or addition of groups. As used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise.

一般而言,当在本文中提及布置时,要将布置理解为物理产品;例如,设备。物理产品可包括一个或多个部分,诸如采取一个或多个控制器、一个或多个处理器等等的形式的控制电路。In general, when an arrangement is referred to herein, the arrangement is to be understood as a physical article; for example, a device. A physical product may include one or more parts, such as control circuitry in the form of one or more controllers, one or more processors, and the like.

一些实施例的目的是解决或减轻、缓和、或者消除上述或其它缺陷中的至少一些缺陷。It is an object of some embodiments to address or mitigate, alleviate, or eliminate at least some of the above or other disadvantages.

根据第一方面,这通过用于在无线通信网络中的接收器中验证数据完整性的方法来实现。According to a first aspect, this is achieved by a method for verifying data integrity in a receiver in a wireless communication network.

该方法包括:接收数据消息,其中,数据消息包括数据元素组和校验和;以及基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量。The method includes: receiving a data message, wherein the data message includes a set of data elements and a checksum; and calculating a complete syndrome vector based on a partial syndrome vector, wherein, by combining a portion of a parity check matrix with the received data message Multiplies the corresponding parts of , to compute partial syndrome vectors in parallel.

该方法进一步包括:确定完整校验子向量的所有向量元素都是零;以及验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的,否则是不正确的。The method further includes: determining that all vector elements of the full syndrome vector are zero; and verifying that the received data message is correct when all vector elements of the full syndrome vector are zero and incorrect otherwise.

在一些实施例中,该方法进一步包括:将奇偶校验矩阵划分成列组,并且将每个列组与数据消息的对应部分相关联;通过将每个列组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。In some embodiments, the method further comprises: partitioning the parity-check matrix into column groups, and associating each column group with a corresponding portion of the data message; by multiplying each column group with its corresponding portion of the data message to calculate the partial syndrome vectors in parallel; and sum the calculated partial syndrome vectors to obtain the complete syndrome vector.

在一些实施例中,该方法进一步包括:将奇偶校验矩阵划分成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联;通过将每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。In some embodiments, the method further comprises: partitioning the parity-check matrix into non-overlapping matrix element groups, and associating each non-overlapping matrix element group with a corresponding portion of the data message; calculating the partial syndrome vectors in parallel by multiplying the group with its corresponding portion of the data message; and summing the calculated partial syndrome vectors to obtain the full syndrome vector.

在一些实施例中,该方法进一步包括:将奇偶校验矩阵划分成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联;通过将来自列组的每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。In some embodiments, the method further comprises: partitioning the parity-check matrix into non-overlapping matrix element groups from column groups, and associating each non-overlapping matrix element group with a corresponding portion of the data message; multiplying each non-overlapping matrix element group of the group with its corresponding portion of the data message to compute partial syndrome vectors in parallel; and summing the computed partial syndrome vectors to obtain a full syndrome vector.

在一些实施例中,奇偶校验矩阵与校验和多项式相关联,从校验和多项式计算奇偶校验矩阵。In some embodiments, the parity check matrix is associated with a checksum polynomial from which the parity check matrix is computed.

在一些实施例中,校验和是基于数据元素组并且被附加到数据消息中的数据元素组以形成码字。In some embodiments, the checksum is based on a group of data elements and is appended to the group of data elements in the data message to form a codeword.

在一些实施例中,接收的数据消息已经被传送器计算并传送到接收器。In some embodiments, the received data message has already been computed by the transmitter and transmitted to the receiver.

在一些实施例中,校验和是以下的一项或多项:循环冗余校验CRC和块码校验和。In some embodiments, the checksum is one or more of: a cyclic redundancy check (CRC) and a block code checksum.

在一些实施例中,包括全零向量元素的完整校验子向量指示匹配的校验和和/或无错误的数据元素组。In some embodiments, a full syndrome vector comprising all zero vector elements indicates a matching checksum and/or error-free set of data elements.

在一些实施例中,奇偶校验矩阵被预先计算并且被存储在接收器的存储器中和/或接收器可访问的远程存储器中。In some embodiments, the parity check matrix is pre-computed and stored in a memory of the receiver and/or in a remote memory accessible to the receiver.

在一些实施例中,奇偶校验矩阵是二元矩阵。In some embodiments, the parity check matrix is a binary matrix.

在一些实施例中,奇偶校验矩阵包括行,这些行是彼此的移位版本。In some embodiments, the parity check matrix includes rows that are shifted versions of each other.

在一些实施例中,给定数据消息的部分,通过首先从存储器中读取奇偶校验矩阵的预先计算的部分并且初始化部分校验子向量来计算对应的部分校验子。In some embodiments, given a portion of a data message, the corresponding partial syndrome is computed by first reading a pre-computed portion of the parity check matrix from memory and initializing the partial syndrome vector.

在一些实施例中,逐一访问数据消息的部分的位,并且当遇到一时,将奇偶校验矩阵的位的第一集合添加到部分校验子向量。In some embodiments, the bits of the portion of the data message are accessed one by one, and when a one is encountered, a first set of bits of the parity check matrix is added to the partial syndrome vector.

在一些实施例中,逐一访问数据消息的部分的位,并且当遇到零时,将部分校验子向量保持不变。In some embodiments, the bits of a portion of a data message are accessed one by one, and when a zero is encountered, the partial syndrome vector is left unchanged.

在一些实施例中,其中,奇偶校验矩阵中的每个被访问的列是前一列的移位版本,其中,当已访问数据消息的部分和奇偶校验矩阵的部分的每个位时,仅移入一个新的位。In some embodiments wherein each accessed column in the parity-check matrix is a shifted version of the previous column, wherein when each bit of the portion of the data message and the portion of the parity-check matrix has been accessed, Just shift in a new bit.

在一些实施例中,将一个或多个用于执行的软件线程和/或处理元件指配给奇偶校验矩阵的一个或多个部分与数据消息的对应部分,以并行计算部分校验子向量。In some embodiments, one or more software threads of execution and/or processing elements are assigned to one or more portions of a parity check matrix and corresponding portions of a data message to compute partial syndrome vectors in parallel.

第二方面是包括非暂时性计算机可读介质的计算机程序产品,非暂时性计算机可读介质上具有包括程序指令的计算机程序。计算机程序可加载到数据处理单元中并且被配置为:当计算机程序由数据处理单元运行时,导致根据第一方面的方法的执行。A second aspect is a computer program product comprising a non-transitory computer readable medium having thereon a computer program comprising program instructions. The computer program is loadable into the data processing unit and is configured to cause performance of the method according to the first aspect when the computer program is run by the data processing unit.

第三方面是用于在无线通信网络中的接收器中验证数据完整性的设备。A third aspect is an apparatus for verifying data integrity in a receiver in a wireless communication network.

该设备包括控制器,控制器被配置为导致:接收数据消息,其中,数据消息包括数据元素组和校验和;以及基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量。The device includes a controller configured to cause: receiving a data message, wherein the data message includes a set of data elements and a checksum; and computing a full syndrome vector based on the partial syndrome vector, wherein the parity Partial syndrome vectors are computed in parallel by multiplying parts of the syndrome matrix with corresponding parts of the received data message.

控制器被进一步配置为导致:确定完整校验子向量的所有向量元素都是零;以及验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的,否则是不正确的。The controller is further configured to cause: determining that all vector elements of the full syndrome vector are zero; and verifying that the received data message is correct when all vector elements of the full syndrome vector are zero and incorrect otherwise of.

在一些实施例中,控制器被进一步配置为导致:将奇偶校验矩阵划分成列组,并且将每个列组与数据消息的对应部分相关联;通过将每个列组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。In some embodiments, the controller is further configured to cause: partitioning the parity-check matrix into column groups and associating each column group with a corresponding portion of the data message; by associating each column group with its corresponding portion of the data message calculating the partial syndrome vectors in parallel by multiplying the parts; and summing the calculated partial syndrome vectors to obtain the complete syndrome vector.

在一些实施例中,控制器被进一步配置为导致:将奇偶校验矩阵划分成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联;通过将每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。In some embodiments, the controller is further configured to cause: partitioning the parity-check matrix into non-overlapping groups of matrix elements and associating each non-overlapping group of matrix elements with a corresponding portion of the data message; multiplying sets of overlapping matrix elements with corresponding parts of their data messages to compute partial syndrome vectors in parallel; and summing the computed partial syndrome vectors to obtain a complete syndrome vector.

在一些实施例中,控制器被进一步配置为导致:将奇偶校验矩阵划分成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联;通过将来自列组的每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。In some embodiments, the controller is further configured to cause: partitioning the parity-check matrix into non-overlapping groups of matrix elements from column groups, and associating each non-overlapping group of matrix elements with a corresponding portion of the data message; by computing partial syndrome vectors in parallel by multiplying each non-overlapping matrix element group from the column group with its corresponding portion of the data message; and summing the computed partial syndrome vectors to obtain the full syndrome vector.

在一些实施例中,奇偶校验矩阵与校验和多项式相关联,从校验和多项式计算奇偶校验矩阵。In some embodiments, the parity check matrix is associated with a checksum polynomial from which the parity check matrix is computed.

在一些实施例中,校验和是基于数据元素组并且被附加到数据消息中的数据元素组以形成码字。In some embodiments, the checksum is based on a group of data elements and is appended to the group of data elements in the data message to form a codeword.

在一些实施例中,接收的数据消息已经被传送器计算并传送到接收器。In some embodiments, the received data message has already been computed by the transmitter and transmitted to the receiver.

在一些实施例中,校验和是以下的一项或多项:循环冗余校验CRC和块码校验和。In some embodiments, the checksum is one or more of: a cyclic redundancy check (CRC) and a block code checksum.

在一些实施例中,包括全零向量元素的完整校验子向量指示匹配的校验和和/或无错误的数据元素组。In some embodiments, a full syndrome vector comprising all zero vector elements indicates a matching checksum and/or error-free set of data elements.

在一些实施例中,奇偶校验矩阵被预先计算并且被存储在接收器的存储器中和/或接收器可访问的远程存储器中。In some embodiments, the parity check matrix is pre-computed and stored in a memory of the receiver and/or in a remote memory accessible to the receiver.

在一些实施例中,奇偶校验矩阵是二元矩阵。In some embodiments, the parity check matrix is a binary matrix.

在一些实施例中,奇偶校验矩阵包括行,这些行是彼此的移位版本。In some embodiments, the parity check matrix includes rows that are shifted versions of each other.

在一些实施例中,控制器被进一步配置为导致:给定数据消息的部分,通过从存储器中读取奇偶校验矩阵的预先计算的部分并且初始化部分校验子向量来计算对应的部分校验子。In some embodiments, the controller is further configured to cause: given a portion of a data message, to compute a corresponding partial check by reading a precomputed portion of a parity check matrix from memory and initializing a partial syndrome vector son.

在一些实施例中,控制器被进一步配置为导致:逐一访问数据消息的部分的位,并且当遇到一时,将奇偶校验矩阵的位的第一集合添加到部分校验子向量。In some embodiments, the controller is further configured to cause the bits of the portion of the data message to be accessed one by one, and when a one is encountered, to add the first set of bits of the parity check matrix to the partial syndrome vector.

在一些实施例中,控制器被进一步配置为导致:逐一访问数据消息的部分的位,并且当遇到零时,将部分校验子向量保持不变。In some embodiments, the controller is further configured to cause the bits of the portion of the data message to be accessed one by one, and when a zero is encountered, to leave the partial syndrome vector unchanged.

在一些实施例中,控制器被进一步配置为导致:当已访问数据消息的部分的每个位时,将奇偶校验矩阵的行移位。In some embodiments, the controller is further configured to cause a row of the parity check matrix to be shifted when each bit of the portion of the data message has been accessed.

在一些实施例中,将一个或多个用于执行的软件线程和/或处理元件指配给奇偶校验矩阵的一个或多个部分与数据消息的对应部分,以并行计算部分校验子向量。In some embodiments, one or more software threads of execution and/or processing elements are assigned to one or more portions of a parity check matrix and corresponding portions of a data message to compute partial syndrome vectors in parallel.

在一些实施例中,设备在操作上能连接到具有一个或多个并行处理元件的通用硬件,并行处理元件被配置为处理并行化的计算。In some embodiments, a device is operatively connectable to general-purpose hardware having one or more parallel processing elements configured to process parallelized computations.

在一些实施例中,一个或多个并行处理元件中的每个并行处理元件被配置为:通过将奇偶校验矩阵的部分与数据消息的对应部分相乘来并行计算部分校验子向量中的相应一个或多个部分校验子向量。In some embodiments, each of the one or more parallel processing elements is configured to: compute in parallel the partial syndrome vectors by multiplying portions of the parity check matrix with corresponding portions of the data message Corresponding to one or more partial syndrome vectors.

在一些实施例中,在接收器中和/或在云环境中包括具有一个或多个并行处理元件的通用硬件。In some embodiments, general-purpose hardware with one or more parallel processing elements is included in the receiver and/or in the cloud environment.

在一些实施例中,通用硬件包括图形处理单元GPU。In some embodiments, the general-purpose hardware includes a graphics processing unit (GPU).

第四方面是无线通信网络中的接收器,所述接收器包括根据第三方面的设备。A fourth aspect is a receiver in a wireless communication network, the receiver comprising the device according to the third aspect.

在一些实施例中,接收器被配置为接收数据并且验证数据的完整性。In some embodiments, the receiver is configured to receive data and verify the integrity of the data.

上述方面中的任一个可附加地具有与如上文针对其它方面中的任一个所说明的各种特征中的任何特征相同或对应的特征。Any of the above aspects may additionally have features identical to or corresponding to any of the various features as described above for any of the other aspects.

一些实施例的优点是:提供了用于在接收器中验证数据完整性的备选办法。An advantage of some embodiments is that alternatives are provided for verifying data integrity in the receiver.

一些实施例的另一优点是:与根据现有技术办法可能的情况相比,操作的并行化就处理时间和招致的开销而言提高了处理效率。Another advantage of some embodiments is that parallelization of operations increases processing efficiency in terms of processing time and incurred overhead than is possible according to prior art approaches.

一些实施例的又一优点是:操作的并行化使硬件中的处理元件能够独立地且以彼此不同的时序来处理操作。Yet another advantage of some embodiments is that parallelization of operations enables processing elements in hardware to process operations independently and in different timings from each other.

一些实施例的又一优点是:与根据现有技术办法可能的情况相比,操作的并行化就利用硬件中的可用资源而言使得能够更高效实现。A further advantage of some embodiments is that parallelization of operations enables a more efficient implementation in terms of utilizing available resources in hardware than is possible according to prior art approaches.

应该注意,即使本文在接收器中验证数据完整性的上下文中描述实施例,一些实施例也可在其它上下文中同样适用和/或有益。It should be noted that even though embodiments are described herein in the context of verifying data integrity in a receiver, some embodiments may be equally applicable and/or beneficial in other contexts.

附图说明Description of drawings

进一步的目的、特征和优点将从以下参考附图对实施例的详细描述中呈现。附图不一定按比例绘制,而是重点放在示出示例实施例。Further objects, features and advantages will emerge from the following detailed description of embodiments with reference to the accompanying drawings. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating example embodiments.

图1是示出根据一些实施例的示例方法步骤的流程图;Figure 1 is a flowchart illustrating example method steps according to some embodiments;

图2a是示出根据一些实施例的示例操作的示意框图;Figure 2a is a schematic block diagram illustrating example operations according to some embodiments;

图2b是示出根据一些实施例的示例操作的示意框图;Figure 2b is a schematic block diagram illustrating example operations according to some embodiments;

图2c是示出根据一些实施例的示例操作的示意框图;Figure 2c is a schematic block diagram illustrating example operations according to some embodiments;

图3a是示出根据一些实施例的示例操作的示意框图;Figure 3a is a schematic block diagram illustrating example operations according to some embodiments;

图3b是示出根据一些实施例的奇偶校验矩阵的示例部分的示意图;Figure 3b is a schematic diagram illustrating an example portion of a parity check matrix according to some embodiments;

图3c是示出根据一些实施例的数据消息的示例部分和奇偶校验矩阵的示例部分的示意图;Figure 3c is a schematic diagram illustrating an example portion of a data message and an example portion of a parity check matrix, according to some embodiments;

图4是示出根据一些实施例的示例设备的示意框图;以及Figure 4 is a schematic block diagram illustrating an example device according to some embodiments; and

图5是示出根据一些实施例的示例计算机可读介质的示意图。Figure 5 is a schematic diagram illustrating an example computer readable medium according to some embodiments.

具体实施方式Detailed ways

如上文已提及,应该强调,术语“包括/包含”当在本说明书中使用时,用来指定所陈述特征、整数、步骤或组件的存在,但是并不排除一个或多个其它特征、整数、步骤、组件或其组的存在或添加。如本文中所使用,除非上下文另外清楚地指示,否则单数形式“一”、“某一”和“该”意在也包含复数形式。As already mentioned above, it should be emphasized that the term "comprising/comprising", when used in this specification, is used to designate the presence of stated features, integers, steps or components, but not to exclude one or more other features, integers , the presence or addition of a step, component, or group thereof. As used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise.

下面将参考附图更全面地描述和举例说明本公开的实施例。然而,本文中公开的解决方案能够以许多不同的形式来实现,并且不应被解释为仅限于本文中阐述的实施例。Embodiments of the present disclosure will be more fully described and illustrated below with reference to the accompanying drawings. However, the solutions disclosed herein can be implemented in many different forms and should not be construed as limited to only the embodiments set forth herein.

如上文所提及,硬件和/或软件实现的CRC的缺陷是处理量随着消息长度而增加,并且就处理时间和招致的开销而言致使处理低效。As mentioned above, a drawback of hardware and/or software implemented CRCs is that the amount of processing increases with message length and renders processing inefficient in terms of processing time and incurred overhead.

在下文中,将提出实施例,其中描述了用于在接收器中验证数据完整性的备选办法。In the following, embodiments will be presented in which alternatives for verifying data integrity in the receiver are described.

如本文中所描述,通用硬件通常包括包含一个或多个并行处理元件的硬件,一个或多个并行处理元件被配置为处理并行化的操作,其中,一个或多个处理元件进一步包括用于处理这些操作的本地数据存储器。As described herein, general-purpose hardware typically includes hardware that includes one or more parallel processing elements configured to process parallelized operations, where the one or more processing elements further include Local data storage for these operations.

如本文中所描述,操作通常包括矩阵和向量操作,其中,操作可包括矩阵相乘和矩阵积的计算,并且向量操作可包括矩阵积的求和。As described herein, operations generally include matrix and vector operations, where operations may include matrix multiplication and computation of matrix products, and vector operations may include summation of matrix products.

如本文中所描述,校验和通常包括循环冗余校验CRC和/或块码校验和。As described herein, the checksum typically includes a cyclic redundancy check (CRC) and/or a block code checksum.

通常使用某种移位寄存器技术,通常以串行方式来实现CRC。在更新移位寄存器的同时分段地处理数据消息。最后,移位寄存器状态形成要被附加的校验和。按其最基本的形式,数据消息一次被处理一位,但是也可一起处理若干相继位,例如8位或32位。The CRC is usually implemented using some sort of shift register technique, usually in a serial fashion. Data messages are processed in pieces while the shift register is being updated. Finally, the shift register state forms the checksum to be appended. In its most basic form, a data message is processed one bit at a time, but several consecutive bits, such as 8 or 32 bits, may also be processed together.

也可通过将数据消息拆分成多个子序列并且为每个子序列计算临时CRC来使CRC计算并行化。然后,对每个临时CRC应用相对复杂的线性函数,并且通过使用XOR加法将结果相加来得到最终的CRC。CRC computation can also be parallelized by splitting the data message into multiple subsequences and computing a temporary CRC for each subsequence. Then, a relatively complex linear function is applied to each temporary CRC, and the final CRC is obtained by adding the results using XOR addition.

因为处理量随着消息长度而增加,所以处理时间对于长消息就会长。这对于软件实现尤其如此。因此,这使得在通用处理器上实现CRC是成问题的。Since the amount of processing increases with message length, the processing time is longer for long messages. This is especially true for software implementations. Therefore, this makes implementing CRC on general-purpose processors problematic.

因为并行化是基于针对每个子序列的串行计算,所以最后对于所有子序列需要执行的复杂功能增加了额外的计算负担,并且因此难以在包括一个或多个处理元件的现代硬件上高效地计算CRC。Because parallelization is based on serial computation for each subsequence, in the end the complex function that needs to be performed for all subsequences adds an additional computational burden and is therefore difficult to compute efficiently on modern hardware including one or more processing elements CRC.

应该注意,即使本文在无线通信网络中的接收器中验证数据完整性的上下文中描述实施例,其中接收器可在操作上能连接到具有被配置为处理并行化的计算的一个或多个并行处理元件的通用硬件,一些实施例也可在其中用校验和来验证所接收消息的数据完整性的其它上下文中同样适用和/或有益。It should be noted that even though the embodiments are described herein in the context of verifying data integrity in a receiver in a wireless communication network, where the receiver is operatively connectable to one or more parallel servers with computations configured to process parallelization General-purpose hardware for processing elements, some embodiments may also be equally applicable and/or beneficial in other contexts where checksums are used to verify the data integrity of received messages.

还应该注意,即使本文在具有被配置为处理并行化的计算的一个或多个并行处理元件的通用硬件的上下文中描述实施例,一些实施例也可在其中一个或多个处理元件中的每个处理元件被配置为串行处理一组计算的其它上下文中同样适用和/或有益。It should also be noted that even though embodiments are described herein in the context of general-purpose hardware having one or more parallel processing elements configured to handle parallelized computations, some embodiments may also be implemented in each of the one or more processing elements It is also applicable and/or beneficial in other contexts where each processing element is configured to process a set of calculations serially.

此外应该注意,即使本文在将计算的部分校验子向量求和得到完整校验子向量的上下文中描述实施例,一些实施例也可在其它上下文(其中,在一个或多个并行处理元件中的一个并行处理元件中所计算的计算的部分校验子向量中的两个或更多个部分校验子向量也在该一个并行处理元件中被求和,并且其中,求和的两个或更多个计算的部分校验子向量形成求和得到完整校验子向量的那些计算的部分校验子向量的子集)中同样适用和/或有益。Furthermore, it should be noted that even though embodiments are described herein in the context of summing computed partial syndrome vectors to obtain a complete syndrome vector, some embodiments may also be used in other contexts (wherein one or more parallel processing elements Two or more partial syndrome vectors of the calculated partial syndrome vectors computed in one parallel processing element of are also summed in the one parallel processing element, and wherein the summed two or It is equally applicable and/or beneficial in that more calculated partial syndrome vectors form a subset of those calculated partial syndrome vectors which are summed to obtain the full syndrome vector.

图1是示出根据一些实施例的示例方法100的方法步骤的流程图。方法100用于在无线通信网络中的接收器中验证数据完整性。因此,方法100可例如由图4的设备400和/或控制器410来执行;所有这些稍后将在本文中描述。FIG. 1 is a flowchart illustrating method steps of an example method 100 according to some embodiments. Method 100 is used to verify data integrity in a receiver in a wireless communication network. Thus, method 100 may be performed, for example, by apparatus 400 and/or controller 410 of FIG. 4 ; all of which will be described later herein.

方法100包括以下步骤。Method 100 includes the following steps.

在步骤101中,接收数据消息,其中,数据消息包括数据元素组和校验和(参考图2a至2c)。In step 101 a data message is received, wherein the data message comprises a set of data elements and a checksum (cf. Figures 2a to 2c).

备选地或附加地,数据元素组可包括数据元素的序列。Alternatively or additionally, a group of data elements may comprise a sequence of data elements.

在一些实施例中,接收的数据消息已经被传送器计算并传送到接收器。In some embodiments, the received data message has already been computed by the transmitter and transmitted to the receiver.

例如,接收该消息的接收器可被包括在移动通信装置中并且在无线通信网络中操作。For example, a receiver receiving the message may be included in a mobile communication device and operate in a wireless communication network.

在一些实施例中,校验和是基于数据元素组并且被附加到数据消息中的数据元素组以形成码字(参考图2a)。In some embodiments, the checksum is based on groups of data elements and is appended to the groups of data elements in the data message to form a codeword (cf. Fig. 2a).

在一些实施例中,校验和是以下的一项或多项:循环冗余校验CRC和块码校验和。In some embodiments, the checksum is one or more of: a cyclic redundancy check (CRC) and a block code checksum.

如上文所提及,校验和(例如CRC)通常用于检测通过潜在不可靠的信道(诸如无线电信道)传送的消息中的错误。例如,5G NR标准在空中接口中使用若干不同的CRC;在3GPPTS 38.212第5.1节中描述了这些内容。As mentioned above, checksums (eg, CRC) are often used to detect errors in messages transmitted over potentially unreliable channels, such as radio channels. For example, the 5G NR standard uses several different CRCs in the air interface; these are described in 3GPPTS 38.212 section 5.1.

如上文所提及,CRC是一种校验和,其中,校验和的原理是:对传送器来说,基于数据元素组计算序列、即校验和,并且将它附加到包括该数据元素组的数据消息(参考图2a)。As mentioned above, a CRC is a checksum, where the principle of a checksum is that for the transmitter, a sequence, the checksum, is calculated based on a group of data elements and appended to the group of data messages (refer to Figure 2a).

接收器则执行相同的计算,并且校验(即验证)该校验和匹配,在该情况下,数据消息被宣告无错误。如果该校验和不匹配,则非匹配的校验和指示了数据消息包含错误并且通常被丢弃。The receiver then performs the same calculation and checks (ie verifies) that the checksum matches, in which case the data message is declared error-free. If the checksums do not match, a non-matching checksum indicates that the data message contains errors and is typically discarded.

接收器能够通过基于接收的数据消息计算CRC来模仿传送器,然后将该CRC与所附加的CRC序列比较。校验CRC的另一种方式是在(包括CRC的)整个数据消息上运行相同的CRC计算算法。在这种情况下,计算的值应该是零。The receiver can mimic the transmitter by calculating a CRC based on the received data message, and then compare this CRC to the appended CRC sequence. Another way to check the CRC is to run the same CRC calculation algorithm on the entire data message (including the CRC). In this case, the calculated value should be zero.

CRC是一种线性块码,其中,所传送的包括校验和的数据消息被视为码字。另外,CRC通常被应用于二元序列,并且因此成为二元线性块码。CRC也可用在基于较大字符表的数据消息上。CRC is a linear block code in which a transmitted data message including a checksum is treated as a codeword. In addition, CRC is usually applied to binary sequences, and thus becomes a binary linear block code. CRCs can also be used on data messages based on larger character tables.

在数学上用长多项式除法来定义CRC。除数多项式是基于数据消息,并且被除数是固定的多项式(CRC多项式)。丢弃商,并且从余数得出作为结果的CRC序列。The CRC is defined mathematically by long polynomial division. The divisor polynomial is based on the data message and the dividend is a fixed polynomial (CRC polynomial). The quotient is discarded, and the resulting CRC sequence is derived from the remainder.

在步骤102中,基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量(参考图3a至3c)。In step 102, the full syndrome vector is computed based on the partial syndrome vectors, wherein the partial syndrome vectors are computed in parallel by multiplying parts of the parity check matrix with the corresponding parts of the received data message (cf. Fig. 3a to 3c).

在一些实施例中,奇偶校验矩阵与校验和多项式(例如CRC多项式)相关联,从校验和多项式计算奇偶校验矩阵。In some embodiments, the parity check matrix is associated with a checksum polynomial (eg, a CRC polynomial) from which the parity check matrix is computed.

在一些实施例中,奇偶校验矩阵是二元矩阵。In some embodiments, the parity check matrix is a binary matrix.

在一些实施例中,奇偶校验矩阵包括行,这些行是彼此的移位版本。In some embodiments, the parity check matrix includes rows that are shifted versions of each other.

备选地或附加地,这种形式的奇偶校验矩阵(即,行是彼此的移位版本)仅需要将一行存储在存储器中,因此减小了所需要的存储器大小以及读取操作的数量。Alternatively or additionally, this form of the parity check matrix (i.e. the rows are shifted versions of each other) requires only one row to be stored in memory, thus reducing the required memory size as well as the number of read operations .

在一些实施例中,其中,奇偶校验矩阵中的每个被访问的列是前一列的移位版本,其中,当已访问数据消息的部分和奇偶校验矩阵的部分的每个位时,仅移入一个新的位。In some embodiments wherein each accessed column in the parity-check matrix is a shifted version of the previous column, wherein when each bit of the portion of the data message and the portion of the parity-check matrix has been accessed, Just shift in a new bit.

备选地或附加地,可从线性反馈移位寄存器生成奇偶校验矩阵的行,线性反馈移位寄存器的反馈多项式与定义CRC的多项式相同(或者相反)。Alternatively or additionally, the rows of the parity check matrix may be generated from a linear feedback shift register whose feedback polynomial is the same (or inverse) as the polynomial defining the CRC.

在一些实施例中,逐一访问数据消息的部分的位,并且当遇到一时,将奇偶校验矩阵的位的第一集合添加到部分校验子向量。In some embodiments, the bits of the portion of the data message are accessed one by one, and when a one is encountered, a first set of bits of the parity check matrix is added to the partial syndrome vector.

在一些实施例中,逐一访问数据消息的部分的位,并且当遇到零时,将部分校验子向量保持不变。In some embodiments, the bits of a portion of a data message are accessed one by one, and when a zero is encountered, the partial syndrome vector is left unchanged.

备选地或附加地,完整校验子向量被计算为所计算的部分校验子向量的总和(参考图3a至3c)。Alternatively or additionally, the full syndrome vector is calculated as the sum of the calculated partial syndrome vectors (cf. Figs. 3a to 3c).

备选地或附加地,完整校验子向量指示接收的数据消息的数据完整性。Alternatively or additionally, the integrity syndrome vector indicates the data integrity of the received data message.

在一些实施例中,包括全零向量元素的完整校验子向量指示匹配的校验和和/或无错误的数据元素组。In some embodiments, a full syndrome vector comprising all zero vector elements indicates a matching checksum and/or error-free set of data elements.

在一些实施例中,奇偶校验矩阵被预先计算并且被存储在接收器的存储器中和/或接收器可访问的远程存储器中。In some embodiments, the parity check matrix is pre-computed and stored in a memory of the receiver and/or in a remote memory accessible to the receiver.

在一些实施例中,给定数据消息的部分,通过首先从存储器中读取奇偶校验矩阵的预先计算的部分并且初始化部分校验子向量来计算对应的部分校验子。In some embodiments, given a portion of a data message, the corresponding partial syndrome is computed by first reading a pre-computed portion of the parity check matrix from memory and initializing the partial syndrome vector.

在一些实施例中,将一个或多个用于执行的软件线程和/或处理元件指配给奇偶校验矩阵的一个或多个部分与数据消息的对应部分,以并行计算部分校验子向量。In some embodiments, one or more software threads of execution and/or processing elements are assigned to one or more portions of a parity check matrix and corresponding portions of a data message to compute partial syndrome vectors in parallel.

在可选的步骤102a-1中,在一些实施例中,将奇偶校验矩阵划分成列组,并且将每个列组与数据消息的对应部分相关联(参考图3a至3c)。In optional step 102a-1, in some embodiments the parity check matrix is partitioned into column groups and each column group is associated with a corresponding part of the data message (cf. Figures 3a to 3c).

在可选的步骤102b-1中,在一些实施例中,通过将每个列组与其数据消息的对应部分相乘来并行计算部分校验子向量(参考图3a至3c)。In optional step 102b-1, in some embodiments, partial syndrome vectors are computed in parallel by multiplying each column group with its corresponding part of the data message (cf. Figures 3a to 3c).

在可选的步骤102a-2中,在一些实施例中,将奇偶校验矩阵划分成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联(参考图3a至3c)。In optional step 102a-2, in some embodiments, the parity-check matrix is partitioned into non-overlapping groups of matrix elements, and each non-overlapping group of matrix elements is associated with a corresponding portion of the data message (see FIG. 3a to 3c).

备选地或附加地,可丢弃全零矩阵元素组,因为它们的部分校验子向量将是零,并且不会对总和有贡献(参考步骤102c)。Alternatively or additionally, groups of all-zero matrix elements may be discarded as their partial syndrome vectors will be zero and will not contribute to the sum (cf. step 102c).

在可选的步骤102b-2中,在一些实施例中,通过将每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量(参考图3a至3c)。In optional step 102b-2, in some embodiments, partial syndrome vectors are computed in parallel by multiplying each non-overlapping matrix element group with its corresponding part of the data message (cf. Figures 3a to 3c).

在可选的步骤102a-3中,在一些实施例中,将奇偶校验矩阵划分成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联(参考图3a至3c)。In optional step 102a-3, in some embodiments, the parity check matrix is partitioned into non-overlapping matrix element groups from column groups and each non-overlapping matrix element group is associated with a corresponding portion of the data message (Refer to Figures 3a to 3c).

备选地或附加地,可丢弃全零矩阵元素组,因为它们的部分校验子向量将是零并且不会对总和有贡献(参考步骤102c)。Alternatively or additionally, groups of all-zero matrix elements may be discarded, since their partial syndrome vectors will be zero and will not contribute to the sum (cf. step 102c).

在可选的步骤102b-3中,在一些实施例中,通过将来自列组的每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量(参考图3a至3c)。In optional step 102b-3, in some embodiments, partial syndrome vectors are computed in parallel by multiplying each non-overlapping matrix element group from the column group with its corresponding part of the data message (cf. 3c).

在可选的步骤102c中,在一些实施例中,将计算的部分校验子向量求和得到完整校验子向量(参考图3a)。In optional step 102c, in some embodiments, the calculated partial syndrome vectors are summed to obtain a complete syndrome vector (see FIG. 3a ).

例如,通过让每个并行处理元件接连计算10个部分校验子向量,实现可以使用仅100个并行处理元件来计算1000个部分校验子向量。每个并行处理元件可以接着计算其10个部分校验子向量的总和。因此,可认为是由100个并行处理元件并行计算100个部分校验子向量,每个并行处理元件通过在一些部分上迭代来计算其部分校验子向量。For example, by having each parallel processing element compute 10 partial syndrome vectors in succession, an implementation can compute 1000 partial syndrome vectors using only 100 parallel processing elements. Each parallel processing element may then compute the sum of its 10 partial syndrome vectors. Therefore, it can be considered that 100 partial syndrome vectors are calculated in parallel by 100 parallel processing elements, and each parallel processing element calculates its partial syndrome vector by iterating on some parts.

备选地或附加地,或者通过在一个或多个并行处理元件中计算部分校验子向量的子集的总和、然后将子集的总和求和得到完整校验子向量,或者通过计算由一个或多个并行处理元件所计算的部分校验子向量的总和而得到完整校验子向量,可计算部分校验子向量的总和。Alternatively or additionally, the full syndrome vector is obtained either by computing the sum of subsets of the partial syndrome vectors in one or more parallel processing elements and then summing the sums of the subsets, or by computing a Or the sum of the partial syndrome vectors calculated by multiple parallel processing elements to obtain the complete syndrome vector, and the sum of the partial syndrome vectors can be calculated.

在步骤103中,第一种可能性是,完整校验子向量的所有向量元素被确定是零,即,完整校验子向量是零向量(出自步骤103的“是”路径)。In step 103, a first possibility is that all vector elements of the complete syndrome vector are determined to be zero, ie the complete syndrome vector is a zero vector ("Yes" path from step 103).

在步骤103中,第二种可能性是,完整校验子向量的向量元素中的一个或多个向量元素被确定是非零,即,完整校验子向量是非零向量(出自步骤103的“否”路径)。In step 103, a second possibility is that one or more vector elements of the vector elements of the complete syndrome vector are determined to be non-zero, i.e. the complete syndrome vector is a non-zero vector ("No from step 103 "path).

在步骤104(未示出)中,验证接收的数据消息是正确的还是不正确的。In step 104 (not shown), it is verified whether the received data message is correct or incorrect.

在步骤104a中,当完整校验子向量的所有向量元素都是零(即,零向量)时,验证接收的数据消息是正确的(出自步骤103的“是”路径)。In step 104a, when all vector elements of the full syndrome vector are zero (ie, a zero vector), it is verified that the received data message is correct ("Yes" path from step 103).

在步骤104b中,当完整校验子向量的向量元素中的一个或多个向量元素是非零(即,非零向量)时,验证接收的数据消息是不正确的(出自步骤103的“否”路径)。In step 104b, when one or more of the vector elements of the full syndrome vector is non-zero (i.e., a non-zero vector), it is verified that the received data message is incorrect (“No” from step 103 path).

图1的上述步骤中的任何步骤可附加地具有与下文针对图2至5所说明的各种特征中的任何特征相同或对应的特征。Any of the above-described steps of FIG. 1 may additionally have features that are the same as or correspond to any of the various features described below with respect to FIGS. 2 to 5 .

图2a是示出根据一些实施例的示例操作的示意框图。在传送器中执行图200a的操作,其中,这些操作使得能够在无线通信网络中的接收器中验证数据完整性。因此,图200a的操作可例如被配置为执行图1的方法步骤中的一个或多个方法步骤。Figure 2a is a schematic block diagram illustrating example operations according to some embodiments. The operations of Figure 200a are performed in the transmitter, wherein the operations enable verification of data integrity in the receiver in the wireless communication network. Accordingly, the operations of diagram 200a may, for example, be configured to perform one or more of the method steps of FIG. 1 .

图2a示出包括校验和序列(CRC(L位))的数据消息,校验和序列是基于数据元素组,即,数据序列(消息(K位)),被附加到进一步包括该数据元素组的数据消息。Figure 2a shows a data message including a checksum sequence (CRC (L bits)), the checksum sequence is based on the data element group, i.e., the data sequence (message (K bits)), is appended to further comprising the data elements Set of data messages.

图2a进一步示出CRC计算,其中,提供数据元素组的逐块或逐位输入,并且将计算的CRC输出并附加到数据消息。Figure 2a further illustrates a CRC calculation, where a block-wise or bit-wise input of groups of data elements is provided and the calculated CRC is output and appended to the data message.

图2b是示出根据一些实施例的示例操作的示意框图。图200b的操作用于在无线通信网络中的接收器中验证数据完整性。因此,图200b的操作可例如被配置为执行图1的方法步骤中的一个或多个方法步骤。Figure 2b is a schematic block diagram illustrating example operations according to some embodiments. The operations of diagram 200b are used to verify data integrity in a receiver in a wireless communication network. Accordingly, the operations of diagram 200b may, for example, be configured to perform one or more of the method steps of FIG. 1 .

图2b示出包括CRC的接收的数据消息(N=K+L位),其中,计算CRC以用于验证数据完整性,并且其中,提供包括CRC的接收的数据消息的逐块或逐位输入作为给计算的输入,并且输出向量(L位)以验证该向量包括全零向量元素。Figure 2b shows a received data message including CRC (N=K+L bits), where the CRC is calculated for verifying data integrity, and where a block-by-block or bit-by-bit input of the received data message including CRC is provided as input to the computation, and an output vector (L bits) to verify that the vector contains all zero vector elements.

图2c是示出根据一些实施例的示例操作的示意框图。图200c的操作用于在无线通信网络中的接收器中验证数据完整性。因此,图200c的操作可例如被配置为执行图1的方法步骤中的一个或多个方法步骤。Figure 2c is a schematic block diagram illustrating example operations according to some embodiments. The operations of diagram 200c are used to verify data integrity in a receiver in a wireless communication network. Accordingly, the operations of diagram 200c may, for example, be configured to perform one or more of the method steps of FIG. 1 .

图2c示出包括CRC的接收的数据消息(N位)和校验和相关联的奇偶校验矩阵(L×N),其中,接收的数据消息和校验和相关联的奇偶校验矩阵以矩阵-向量乘法相乘,并且输出向量(L位)以验证该向量包括全零向量元素。Figure 2c shows a received data message (N bits) including a CRC and a checksum associated parity check matrix (L x N), where the received data message and checksum associated parity check matrix is given by Matrix-vector multiplication multiplies and outputs a vector (L bits) to verify that the vector includes all zero vector elements.

图3a是示出根据一些实施例的示例操作的示意框图。图300a的操作用于在无线通信网络中的接收器中验证数据完整性。因此,图300a的操作可例如被配置为执行图1的方法步骤中的一个或多个方法步骤。Figure 3a is a schematic block diagram illustrating example operations according to some embodiments. The operations of diagram 300a are used to verify data integrity in a receiver in a wireless communication network. Accordingly, the operations of diagram 300a may, for example, be configured to perform one or more of the method steps of FIG. 1 .

图3a示出基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分(即,接收的序列的部分)相乘(MULT)来并行计算部分校验子向量,并且将计算的部分校验子向量求和(SUM)得到完整校验子向量。Figure 3a shows the computation of the full syndrome vector based on the partial syndrome vectors, where parts of the parity-check matrix are multiplied (MULT) by the corresponding parts of the received data message (i.e. parts of the received sequence) The partial syndrome vectors are calculated in parallel, and the calculated partial syndrome vectors are summed (SUM) to obtain the complete syndrome vector.

图3a进一步示出:确定完整校验子向量的所有向量元素都是零(校验是否为零),并且验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的,否则是不正确的。Figure 3a further shows: determining that all vector elements of the complete syndrome vector are zero (check whether it is zero), and verifying that the received data message is correct when all vector elements of the complete syndrome vector are zero , otherwise it is incorrect.

如本文中所描述,矩阵操作可被应用在任意大小的矩阵上,该任意大小仅被关联到一个或多个处理元件的本地数据存储器的大小所限制。为了使处理更高效和尽可能高地利用一个或多个处理元件,将矩阵拆分成若干部分来处理。As described herein, matrix operations may be applied on matrices of any size limited only by the size of the local data store associated with one or more processing elements. In order to make processing more efficient and utilize one or more processing elements as high as possible, the matrix is split into several parts for processing.

任何二元线性块码都能够由奇偶校验矩阵(通常表示为H)来定义。H是L×N二元矩阵,其中L是所添加的冗余位的数量,N是码字的长度,并且K=N-L是数据消息的长度。长度为N的二元序列

Figure DEST_PATH_IMAGE001
当且仅当它满足矩阵方程
Figure DEST_PATH_IMAGE002
时是码字(指示CRC是正确的)。CRC是其中冗余位是所计算的CRC的二元线性块码的特例。因此,L是CRC的长度。Any binary linear block code can be defined by a parity check matrix (usually denoted H). H is an LxN binary matrix, where L is the number of redundant bits added, N is the length of the codeword, and K=NL is the length of the data message. A binary sequence of length N
Figure DEST_PATH_IMAGE001
iff it satisfies the matrix equation
Figure DEST_PATH_IMAGE002
is the codeword (indicating that the CRC is correct). A CRC is a special case of a binary linear block code where the redundant bits are the computed CRC. Therefore, L is the length of the CRC.

奇偶校验矩阵不是唯一的:如果A是非奇异L×L矩阵,则AH和H是用于相同代码的奇偶校验矩阵。Parity check matrices are not unique: if A is a non-singular L×L matrix, then AH and H are parity check matrices for the same code.

因此,可以通过计算长度为L的校验子向量

Figure DEST_PATH_IMAGE003
并且校验它是全零来执行校验CRC。因为所有元素都是二元的,所以矩阵乘法可通过逻辑AND(即,二元乘法)和逻辑XOR(即,二元加法)来实现。这使软件实现和硬件实现都成为可能。Therefore, the syndrome vector of length L can be calculated by
Figure DEST_PATH_IMAGE003
And check it is all zeros to perform a check CRC. Since all elements are binary, matrix multiplication can be implemented by logical AND (ie, binary multiplication) and logical XOR (ie, binary addition). This enables both software and hardware implementations.

可采取不同方式使计算并行化,以下第1至3项描述不同的计算:Computations can be parallelized in different ways, and items 1 to 3 below describe the different computations:

1. 并行计算

Figure DEST_PATH_IMAGE004
的不同部分,校验每个部分是零。这提供最多L路并行化。1. Parallel Computing
Figure DEST_PATH_IMAGE004
The different parts of , verify that each part is zero. This provides up to L-way parallelization.

2. 将序列

Figure DEST_PATH_IMAGE005
分成M部分(M≤N)并且计算对应部分总和,然后将这些部分总和一起求和得到
Figure DEST_PATH_IMAGE006
。这提供最多N路并行化。求和可以在树中部分并行完成,在校验
Figure 937954DEST_PATH_IMAGE006
之前,需要logM个最终步骤。每个部分可以是
Figure DEST_PATH_IMAGE007
的子序列,或者它可以是来自
Figure DEST_PATH_IMAGE008
的任意分段的元素集合。2. Convert the sequence
Figure DEST_PATH_IMAGE005
Divide into M parts (M≤N) and calculate the sum of the corresponding parts, and then sum the sums of these parts together to get
Figure DEST_PATH_IMAGE006
. This provides up to N-way parallelization. The summation can be done partially in parallel in the tree, after the check
Figure 937954DEST_PATH_IMAGE006
Before, logM final steps are required. Each part can be
Figure DEST_PATH_IMAGE007
A subsequence of , or it can be a subsequence from
Figure DEST_PATH_IMAGE008
An arbitrary segmented collection of elements of .

3. 第1项和第2项的组合,提供最多L×N路并行化。3. The combination of item 1 and item 2 provides a maximum of L×N ways of parallelization.

因为L通常是固定的小的数(通常L≤32),而N可以在几千的数量级,所以上面第2项本身常可以提供足够的并行化。Because L is usually a fixed small number (usually L≤32), and N can be on the order of several thousand, item 2 above can often provide sufficient parallelization by itself.

然后假设H的元素是

Figure DEST_PATH_IMAGE009
,使得每行是上面行向左移位一步。这意味着,对于长度为N的序列,它需要仅存储N+L-1个预先计算的奇偶校验位(或者,通过不存储第一行中L-1个起始零而仅存储N个所述奇偶校验位)。Then suppose the elements of H are
Figure DEST_PATH_IMAGE009
, such that each row is the row above shifted one step to the left. This means that, for a sequence of length N, it needs to store only N+L-1 precomputed parity bits (or, by not storing L-1 starting zeros in the first row, only N the parity bit).

校验子向量

Figure DEST_PATH_IMAGE010
可写为(模-2)总和
Figure DEST_PATH_IMAGE012
,其中
Figure DEST_PATH_IMAGE013
是H的第j列。给定这里的假设,会得到
Figure DEST_PATH_IMAGE015
Figure DEST_PATH_IMAGE017
。注意,这个总和的每一项或者是全零向量(当cj=0时),或者是q序列的子序列(当cj=1时)。syndrome vector
Figure DEST_PATH_IMAGE010
can be written as the (modulo-2) sum of
Figure DEST_PATH_IMAGE012
,in
Figure DEST_PATH_IMAGE013
is the jth column of H. Given the assumptions here, one gets
Figure DEST_PATH_IMAGE015
Figure DEST_PATH_IMAGE017
. Note that each term of this sum is either an all-zero vector (when cj = 0), or a subsequence of the q-sequence (when cj = 1).

给定子序列

Figure DEST_PATH_IMAGE018
,可通过首先从存储器中读取预先计算的奇偶校验序列
Figure DEST_PATH_IMAGE019
并且将
Figure DEST_PATH_IMAGE020
初始化成全零向量来计算对应的部分校验子
Figure DEST_PATH_IMAGE021
Figure DEST_PATH_IMAGE022
。然后,逐一访问位cb、cb+1等:当遇到“一”时,将奇偶校验序列的前L位添加到
Figure DEST_PATH_IMAGE023
;当遇到“零”时,
Figure DEST_PATH_IMAGE024
保持不变。在访问每一位之后,奇偶校验序列向左移位一步。given subsequence
Figure DEST_PATH_IMAGE018
, which can be obtained by first reading the precomputed parity sequence from memory
Figure DEST_PATH_IMAGE019
and will
Figure DEST_PATH_IMAGE020
Initialize to an all-zero vector to calculate the corresponding partial syndrome
Figure DEST_PATH_IMAGE021
Figure DEST_PATH_IMAGE022
. Then, access bits c b , c b+1 , etc. one by one: when a "one" is encountered, the first L bits of the parity sequence are added to
Figure DEST_PATH_IMAGE023
; when "zero" is encountered,
Figure DEST_PATH_IMAGE024
constant. After each bit is accessed, the parity sequence is shifted one step to the left.

给定一些处理元件,即一个或多个核,可以为每个核指配

Figure DEST_PATH_IMAGE025
的一个或几个子序列以计算出部分校验子总和。对于每个这样的子序列,可以使用上述方法。如果核被指配多个子序列,则它可以简单地在那些子序列上迭代,并且将部分校验子加起来。当这些核已经完成它们的计算时,它们的结果可以被加在一起而得到最终的总和,该总和是整体校验子。Given some processing elements, i.e. one or more cores, each core can be assigned
Figure DEST_PATH_IMAGE025
One or several subsequences of , to calculate the partial syndrome sum. For each such subsequence, the method described above can be used. If the core is assigned multiple subsequences, it can simply iterate over those subsequences and add up the partial syndromes. When the cores have completed their calculations, their results can be added together to get the final sum, which is the overall syndrome.

图3b是示出根据一些实施例的奇偶校验矩阵的示例部分的示意图。Figure 3b is a schematic diagram illustrating an example portion of a parity check matrix according to some embodiments.

图3b示出划分的奇偶校验矩阵,该矩阵包括对应于其部分的元素,矩阵的这些部分可与数据消息的对应部分(例如数据序列元素的子集)相乘。Figure 3b shows a partitioned parity-check matrix comprising elements corresponding to its parts which can be multiplied with corresponding parts of a data message (eg a subset of data sequence elements).

图3b进一步示出划分的奇偶校验矩阵的部分,包括以下的一项或多项:非连续部分、跨行列子集的部分、非矩形部分、以及仅有零元素的部分(其可被跳过)。Figure 3b further shows parts of the divided parity-check matrix, including one or more of the following: non-contiguous parts, parts across row and column subsets, non-rectangular parts, and parts with only zero elements (which can be skipped Pass).

图3c是示出根据一些实施例的数据消息的示例部分和奇偶校验矩阵的示例部分的示意图。Figure 3c is a schematic diagram illustrating an example portion of a data message and an example portion of a parity check matrix, according to some embodiments.

图3c示出奇偶校验矩阵,其中,奇偶校验矩阵被划分,并且其中,划分的矩阵部分对应于数据消息的部分,即包括与划分的矩阵部分相关联的元素的数据序列的子集。Fig. 3c shows a parity check matrix, wherein the parity check matrix is partitioned, and wherein the partitioned matrix parts correspond to parts of a data message, ie a subset of the data sequence comprising elements associated with the partitioned matrix parts.

图3c进一步示出部分校验子向量,即部分校验子,其中,通过将划分的矩阵部分与数据消息的对应部分(即,包括与划分的矩阵部分相关联的元素的数据序列的子集)相乘来计算部分校验子向量。Fig. 3c further shows a partial syndrome vector, i.e. a partial syndrome, wherein, by combining the divided matrix part with the corresponding part of the data message (i.e., a subset of the data sequence comprising elements associated with the divided matrix part ) to calculate the partial syndrome vector.

应该注意,部分校验子向量的计算是并行执行的,并且可由包括一个或多个处理元件的硬件(例如GPU)执行,其中,一个或多个处理元件被配置为并行执行计算。It should be noted that the calculation of the partial syndrome vectors is performed in parallel and may be performed by hardware (eg GPU) comprising one or more processing elements configured to perform the calculations in parallel.

包括一个或多个处理元件的硬件因而被配置为使处理时间最小化,并且通过将一个或多个处理元件用于并行计算,这些计算将是时序独立的。Hardware comprising one or more processing elements is thus configured to minimize processing time, and by using one or more processing elements for parallel computations, these computations will be time-series independent.

图4是示出根据一些实施例的示例设备400的示意框图。设备400用于在无线通信网络中的接收器中验证数据完整性。因此,设备400和/或控制器410可例如被配置为执行图1的方法步骤中的一个或多个方法步骤,和/或本文中另外描述的任何步骤中的一个或多个步骤。Fig. 4 is a schematic block diagram illustrating an example device 400 according to some embodiments. The device 400 is used to verify data integrity in a receiver in a wireless communication network. Accordingly, device 400 and/or controller 410 may, for example, be configured to perform one or more of the method steps of FIG. 1 , and/or one or more of any of the steps otherwise described herein.

设备400包括控制器410(例如装置控制电路),控制器410被配置为导致:接收数据消息,其中,数据消息包括数据元素组和校验和;以及基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量。Apparatus 400 includes a controller 410 (eg, device control circuitry) configured to cause: receiving a data message, wherein the data message includes a set of data elements and a checksum; and computing a full syndrome based on the partial syndrome vector vector, wherein the partial syndrome vectors are computed in parallel by multiplying parts of the parity check matrix with corresponding parts of the received data message.

控制器410被进一步配置为导致:确定完整校验子向量的所有向量元素都是零;以及验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的,否则是不正确的。The controller 410 is further configured to cause: determining that all vector elements of the full syndrome vector are zero; and verifying that the received data message is correct when all vector elements of the full syndrome vector are zero, otherwise not correct.

如上文所提及,设备400包括控制器(CNTR;例如,控制电路或控制模块)410,控制器410又可包括(或者以其它方式关联;例如,连接或能连接到)接收器401,例如接收电路或接收模块,接收器401被配置为接收数据消息,其中,数据消息包括数据元素组和校验和(与图1的步骤101相比)。As mentioned above, the device 400 includes a controller (CNTR; e.g., a control circuit or control module) 410, which in turn may include (or be otherwise associated; e.g., connected or connectable to) a receiver 401, e.g. The receiving circuit or receiving module, the receiver 401 is configured to receive a data message, wherein the data message includes a data element group and a checksum (compared with step 101 of FIG. 1 ).

控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到)计算机402,例如计算电路或计算模块,计算机402被配置为基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量(与图1的步骤102相比)。The controller 410 further includes (or is otherwise associated with; e.g., connected or connectable to) a computer 402, such as a computing circuit or a computing module, configured to compute a complete syndrome vector based on the partial syndrome vector, wherein, Partial syndrome vectors are computed in parallel by multiplying parts of the parity check matrix with corresponding parts of the received data message (compare step 102 of FIG. 1 ).

控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到)确定器403,例如确定电路或确定模块,确定器403被配置为确定完整校验子向量的所有向量元素都是零(与图1的步骤103相比)。The controller 410 further includes (or is otherwise associated with; e.g., connected or connectable to) a determiner 403, such as a determination circuit or a determination module, configured to determine that all vector elements of the complete syndrome vector are zero (compared with step 103 of Fig. 1).

控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到)验证器404a和404b,例如验证电路或验证模块,验证器404a和404b被配置为验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的(与图1的步骤104a相比),否则是不正确的(与图1的步骤104b相比)。Controller 410 further includes (or is otherwise associated with; e.g., connected or connectable to) verifiers 404a and 404b, such as verification circuits or verification modules, configured to verify received data messages when complete True when all vector elements of the subvector are zero (compare step 104a of FIG. 1 ), otherwise incorrect (compare step 104b of FIG. 1 ).

在一些实施例中,控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到):划分器402a-1,例如划分电路或划分模块,划分器402a-1被配置为将奇偶校验矩阵划分成列组,并且将每个列组与数据消息的对应部分相关联(与图1的步骤102a-1相比);以及计算机402b-1,例如计算电路或计算模块,计算机402b-1被配置为通过将每个列组与其数据消息的对应部分相乘来并行计算部分校验子向量(与图1的步骤102b-1相比)。In some embodiments, the controller 410 further includes (or is otherwise associated with; for example, connected or connectable to): a divider 402a-1, such as a divider circuit or a divider module, the divider 402a-1 is configured to divide parity the parity check matrix is divided into column groups, and each column group is associated with a corresponding part of the data message (compare with step 102a-1 of FIG. 1); and a computer 402b-1, such as a computing circuit or computing module, computer 402b -1 is configured to compute partial syndrome vectors in parallel by multiplying each column group with its corresponding part of the data message (compared to step 102b-1 of FIG. 1 ).

在一些实施例中,控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到):划分器402a-2,例如划分电路或划分模块,划分器402a-2被配置为将奇偶校验矩阵划分成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联(与图1的步骤102a-2相比);以及计算机402b-2,例如计算电路或计算模块,计算机402b-2被配置为通过将每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量(与图1的步骤102b-2相比)。In some embodiments, the controller 410 further includes (or is otherwise associated; eg, connected or connectable to): a divider 402a-2, such as a divider circuit or a divider module, configured to divide the parity partitioning the check matrix into non-overlapping groups of matrix elements and associating each non-overlapping group of matrix elements with a corresponding portion of the data message (compare step 102a-2 of FIG. 1 ); and a computer 402b-2, such as a computing circuit Or computation module, computer 402b-2 is configured to compute partial syndrome vectors in parallel by multiplying each non-overlapping matrix element group with its corresponding part of the data message (compare step 102b-2 of FIG. 1 ).

在一些实施例中,控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到):划分器402a-3,例如划分电路或划分模块,划分器402a-3被配置为将奇偶校验矩阵划分成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联(与图1的步骤102a-3相比);以及计算机402b-3,例如计算电路或计算模块,计算机402b-3被配置为通过将来自列组的每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量(与图1的步骤102b-3相比)。In some embodiments, the controller 410 further includes (or is otherwise associated; eg, connected or connectable to): a divider 402a-3, such as a divider circuit or a divider module, configured to divide the parity partitioning the check matrix into non-overlapping groups of matrix elements from groups of columns, and associating each non-overlapping group of matrix elements with a corresponding portion of the data message (compare step 102a-3 of FIG. 1); and computer 402b-3 , such as computing circuits or computing modules, the computer 402b-3 is configured to compute partial syndrome vectors in parallel by multiplying each non-overlapping matrix element group from the column group with its corresponding part of the data message (similar to the steps of FIG. 1 102b-3).

在一些实施例中,控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到)求和器402c,例如求和电路或求和模块,求和器402c被配置为将计算的部分校验子向量求和得到完整校验子向量(与图1的步骤102c相比)。In some embodiments, the controller 410 further includes (or is otherwise associated with; e.g., connected or connectable to) a summer 402c, such as a summing circuit or a summing module, configured to combine the calculated The partial syndrome vectors are summed to obtain a complete syndrome vector (compared with step 102c in FIG. 1 ).

在一些实施例中,该设备在操作上能连接到具有一个或多个并行处理元件的通用硬件,并行处理元件被配置为处理并行化的计算。In some embodiments, the device is operatively connectable to general-purpose hardware having one or more parallel processing elements configured to process parallelized computations.

在一些实施例中,一个或多个并行处理元件中的每个并行处理元件被配置为:通过将奇偶校验矩阵的部分与数据消息的对应部分相乘来并行计算部分校验子向量中的相应一个或多个部分校验子向量。In some embodiments, each of the one or more parallel processing elements is configured to: compute in parallel the partial syndrome vectors by multiplying portions of the parity check matrix with corresponding portions of the data message Corresponding to one or more partial syndrome vectors.

在一些实施例中,在接收器中和/或在云环境中包括具有一个或多个并行处理元件的通用硬件。In some embodiments, general-purpose hardware with one or more parallel processing elements is included in the receiver and/or in the cloud environment.

在一些实施例中,通用硬件包括图形处理单元GPU。In some embodiments, the general-purpose hardware includes a graphics processing unit (GPU).

在一些实施例中,设备400可进一步可选地包括(或者以其它方式关联;例如,连接或能连接到)收发器TX/RX 420,例如收发电路或收发模块,收发器TX/RX 420被配置为例如根据在无线通信网络中的接收器中数据完整性的验证来发送和接收无线电信号。In some embodiments, the device 400 may further optionally include (or be otherwise associated with; for example, connected or connectable to) a transceiver TX/RX 420, such as a transceiver circuit or a transceiver module, the transceiver TX/RX 420 is Configured to transmit and receive radio signals, eg upon verification of data integrity in a receiver in a wireless communication network.

一般而言,当在本文中提及布置时,要将布置理解为物理产品;例如,设备。物理产品可包括一个或多个部分,诸如采取一个或多个控制器、一个或多个处理器等等的形式的控制电路。In general, when an arrangement is referred to herein, the arrangement is to be understood as a physical article; for example, a device. A physical product may include one or more parts, such as control circuitry in the form of one or more controllers, one or more processors, and the like.

所描述的实施例及其等效物可在软件或硬件或其组合中实现。这些实施例可由通用电路来执行。通用电路的示例包括:数字信号处理器(DSP)、中央处理单元(CPU)、图形处理单元(GPU)、协处理器单元、现场可编程门阵列(FPGA)和其它可编程硬件。备选地或附加地,实施例可由诸如专用集成电路(ASIC)之类的专用电路来执行。通用电路和/或专用电路可例如与诸如无线通信装置之类的设备相关联或者被包括在该设备中。The described embodiments and their equivalents may be implemented in software or hardware or a combination thereof. These embodiments may be implemented by general-purpose circuits. Examples of general-purpose circuits include: digital signal processors (DSPs), central processing units (CPUs), graphics processing units (GPUs), coprocessor units, field programmable gate arrays (FPGAs), and other programmable hardware. Alternatively or additionally, embodiments may be performed by a dedicated circuit, such as an Application Specific Integrated Circuit (ASIC). General purpose circuitry and/or special purpose circuitry may, for example, be associated with or included in a device such as a wireless communication device.

实施例可出现在电子设备(诸如无线通信装置)内,电子设备包括根据本文中所描述的实施例中的任何实施例的布置、电路和/或逻辑。备选地或附加地,电子设备(诸如无线通信装置)可被配置为执行根据本文中所描述的实施例中的任何实施例的方法。Embodiments may be found within an electronic device, such as a wireless communication device, comprising an arrangement, circuitry and/or logic according to any of the embodiments described herein. Alternatively or additionally, an electronic device, such as a wireless communication device, may be configured to perform a method according to any of the embodiments described herein.

根据一些实施例,计算机程序产品包括计算机可读介质,诸如例如通用串行总线(USB)存储器、插入卡、嵌入式驱动器或者只读存储器(ROM)。According to some embodiments, a computer program product comprises a computer readable medium such as eg a Universal Serial Bus (USB) memory, a plug-in card, an embedded drive or a read only memory (ROM).

图5示出采取致密盘(CD)ROM 500的形式的示例计算机可读介质。计算机可读介质具有存储在其上的计算机程序,计算机程序包括程序指令。计算机程序可加载到数据处理器(PROC)520中,数据处理器(PROC)520可例如被包括在无线通信装置510中。当被加载到数据处理器中时,计算机程序可被存储在与数据处理器相关联或包含于其中的存储器(MEM)530中。FIG. 5 shows an example computer readable medium in the form of a compact disc (CD) ROM 500 . A computer readable medium has stored thereon a computer program comprising program instructions. The computer program may be loaded into a data processor (PROC) 520 which may be included in the wireless communication device 510, for example. When loaded into a data processor, the computer program may be stored in a memory (MEM) 530 associated with or contained in the data processor.

在一些实施例中,计算机程序可在被加载到数据处理单元中并由其运行时,导致根据例如图1的方法步骤和/或本文中另外描述的任何步骤中的一个或多个步骤的执行。In some embodiments, the computer program may, when loaded into and run by a data processing unit, cause the execution of one or more of the method steps according to, for example, FIG. 1 and/or any of the steps otherwise described herein .

在一些实施例中,计算机程序可在被加载到数据处理单元中并由其运行时,导致根据例如图2a至2c和/或图3a的操作和/或本文中另外描述的任何操作中的一个或多个操作的执行。In some embodiments, the computer program may, when loaded into and run by the data processing unit, cause one of the operations according to, for example, FIGS. 2a to 2c and/or FIG. 3a and/or any of the operations otherwise described herein or the execution of multiple operations.

一般而言,除非清楚地给出和/或从使用术语的上下文中暗示了不同含义,否则本文中所使用的所有术语要根据它们在相关技术领域中的普通含义来解释。Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or implied from the context in which the term is used.

本文中已经参考了各种实施例。然而,本领域技术人员会认识到对所描述的实施例的许多变更,这些变更仍会落入权利要求的范围内。Reference has been made herein to various embodiments. However, those skilled in the art will recognize many changes to the described embodiments which would still fall within the scope of the claims.

例如,本文中所描述的方法实施例通过以某种顺序执行的步骤公开了示例方法。然而,要认识到,这些事件序列可能以另一种顺序发生而不背离权利要求的范围。此外,即使一些方法步骤已经被描述为按顺序执行,它们也可被并行执行。因此,除非一步骤被明确地描述为在另一步骤之后或之前和/或在暗示了一步骤必须在另一步骤之后或之前的情况下,否则本文中公开的任何方法的步骤不一定要以所公开的确切顺序来执行。For example, method embodiments described herein disclose example methods with steps performed in a certain order. However, it is to be appreciated that these sequences of events may occur in another order without departing from the scope of the claims. Furthermore, even though some method steps have been described as being performed sequentially, they may also be performed in parallel. Thus, unless a step is explicitly described as being after or before another step and/or where it is implied that one step must be after or before another step, the steps of any method disclosed herein do not necessarily have to be preceded by another step. Execute in the exact order disclosed.

同样地,应该注意,在实施例的描述中,将功能块划分成特定单元决不是意在限制。相反,这些划分仅仅是示例。本文中描述为一个单元的功能块可被拆分成两个或更多个单元。此外,本文中描述为被实现为两个或更多个单元的功能块可被合并成更少的(例如单个)单元。Also, it should be noted that in the description of the embodiments, the division of functional blocks into specific units is by no means intended to be limiting. Rather, these divisions are merely examples. A functional block described herein as one unit may be split into two or more units. Furthermore, functional blocks described herein as being implemented as two or more units may be combined into fewer (eg, a single) unit.

在任何适当之处,本文中所公开的实施例中的任何实施例的任何特征可被应用于任何其它实施例。同样,这些实施例中的任何实施例的任何优点可适用于任何其它实施例,反之亦然。Wherever appropriate, any feature of any of the embodiments disclosed herein can be applied to any other embodiment. Likewise, any advantage of any of these embodiments may be applied to any other embodiment, and vice versa.

因此,应该理解,所描述的实施例的细节仅仅是为了说明性目的而提出的示例,并且意在将落入权利要求的范围内的所有变更都涵盖于其中。It is, therefore, to be understood that the details of the described embodiments are presented for illustrative purposes only and all changes which come within the scope of the claims are intended to be embraced therein.

Claims (25)

1.一种用于在无线通信网络中的接收器中验证数据完整性的方法,所述方法包括以下步骤:1. A method for verifying data integrity in a receiver in a wireless communication network, the method comprising the steps of: 接收(101)数据消息,其中,所述数据消息包括数据元素组和校验和,receiving (101) a data message, wherein the data message includes a set of data elements and a checksum, 基于部分校验子向量计算(102)完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算所述部分校验子向量,Computing (102) the full syndrome vector based on the partial syndrome vectors, wherein the partial syndrome vectors are computed in parallel by multiplying parts of the parity check matrix with corresponding parts of the received data message, 确定(103)所述完整校验子向量的所有向量元素都是零,以及determining (103) that all vector elements of said complete syndrome vector are zero, and 验证(104)所述接收的数据消息当所述完整校验子向量的所有所述向量元素都是零时是正确的(104a),否则是不正确的(104b)。Verifying (104) that said received data message is correct (104a) when all said vector elements of said full syndrome vector are zero, otherwise incorrect (104b). 2.根据权利要求1所述的方法,进一步包括以下步骤:2. The method of claim 1, further comprising the steps of: 将所述奇偶校验矩阵划分(102a-1)成列组,并且将每个列组与所述数据消息的对应部分相关联,partitioning (102a-1) said parity-check matrix into column groups, and associating each column group with a corresponding portion of said data message, 通过将每个列组与它的所述数据消息的对应部分相乘来并行计算(102b-1)部分校验子向量,以及Computing (102b-1) partial syndrome vectors in parallel by multiplying each column group with its corresponding part of said data message, and 将计算的部分校验子向量求和(102c)得到完整校验子向量。The calculated partial syndrome vectors are summed (102c) to obtain a complete syndrome vector. 3.根据权利要求1-2中的任一项所述的方法,进一步包括以下步骤:3. The method according to any one of claims 1-2, further comprising the steps of: 将所述奇偶校验矩阵划分(102a-2)成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与所述数据消息的对应部分相关联,dividing (102a-2) the parity-check matrix into non-overlapping groups of matrix elements and associating each non-overlapping group of matrix elements with a corresponding portion of the data message, 通过将每个非重叠矩阵元素组与它的所述数据消息的对应部分相乘来并行计算(102b-2)部分校验子向量,以及Computing (102b-2) partial syndrome vectors in parallel by multiplying each non-overlapping matrix element group with its corresponding part of said data message, and 将计算的部分校验子向量求和(102c)得到完整校验子向量。The calculated partial syndrome vectors are summed (102c) to obtain a complete syndrome vector. 4.根据权利要求1-3中的任一项所述的方法,进一步包括以下步骤:4. The method according to any one of claims 1-3, further comprising the steps of: 将所述奇偶校验矩阵划分(102a-3)成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与所述数据消息的对应部分相关联,partitioning (102a-3) the parity-check matrix into non-overlapping groups of matrix elements from groups of columns, and associating each non-overlapping group of matrix elements with a corresponding portion of the data message, 通过将来自所述列组的每个非重叠矩阵元素组与它的所述数据消息的对应部分相乘来并行计算(102b-3)部分校验子向量,以及computing (102b-3) partial syndrome vectors in parallel by multiplying each non-overlapping set of matrix elements from said set of columns with its corresponding portion of said data message, and 将计算的部分校验子向量求和(102c)得到完整校验子向量。The calculated partial syndrome vectors are summed (102c) to obtain a complete syndrome vector. 5.根据权利要求1-4中的任一项所述的方法,其中,所述奇偶校验矩阵与校验和多项式相关联,从所述校验和多项式计算所述奇偶校验矩阵。5. The method according to any one of claims 1-4, wherein the parity check matrix is associated with a checksum polynomial from which the parity check matrix is calculated. 6.根据权利要求1-5中的任一项所述的方法,其中,所述校验和是基于所述数据元素组并且被附加到所述数据消息中的所述数据元素组以形成码字。6. The method according to any one of claims 1-5, wherein the checksum is based on the group of data elements and is appended to the group of data elements in the data message to form a code Character. 7.根据权利要求1-6中的任一项所述的方法,其中,所述接收的数据消息已经被传送器计算并传送到所述接收器。7. A method according to any of claims 1-6, wherein said received data message has been calculated by a transmitter and transmitted to said receiver. 8.根据权利要求1-7中的任一项所述的方法,其中,所述校验和是以下的一项或多项:循环冗余校验CRC和块码校验和。8. The method according to any one of claims 1-7, wherein the checksum is one or more of the following: a cyclic redundancy check (CRC) and a block code checksum. 9.根据权利要求1-8中的任一项所述的方法,其中,包括全零向量元素的所述完整校验子向量指示匹配的校验和和/或无错误的数据元素组。9. A method according to any of claims 1-8, wherein the complete syndrome vector comprising all zero vector elements indicates a matching checksum and/or error-free set of data elements. 10.根据权利要求1-9中的任一项所述的方法,其中,所述奇偶校验矩阵被预先计算并且被存储在所述接收器的存储器中和/或所述接收器可访问的远程存储器中。10. The method according to any one of claims 1-9, wherein the parity-check matrix is pre-computed and stored in a memory of the receiver and/or in a in remote storage. 11.根据权利要求1-10中的任一项所述的方法,其中,所述奇偶校验矩阵是二元矩阵。11. The method according to any one of claims 1-10, wherein the parity check matrix is a binary matrix. 12.根据权利要求1-11中的任一项所述的方法,其中,所述奇偶校验矩阵包括行,这些行是彼此的移位版本。12. The method of any of claims 1-11, wherein the parity check matrix comprises rows that are shifted versions of each other. 13.根据权利要求1-12中的任一项所述的方法,其中,给定所述数据消息的所述部分,通过首先从存储器中读取所述奇偶校验矩阵的预先计算的部分并且初始化所述部分校验子向量来计算对应的部分校验子。13. The method according to any one of claims 1-12, wherein, given the portion of the data message, by first reading a precomputed portion of the parity check matrix from memory and The partial syndrome vectors are initialized to calculate corresponding partial syndromes. 14.根据权利要求1-13中的任一项所述的方法,其中,逐一访问所述数据消息的所述部分的位,并且当遇到一时,将所述奇偶校验矩阵的位的第一集合添加到所述部分校验子向量。14. The method according to any one of claims 1-13, wherein the bits of the part of the data message are accessed one by one, and when a one is encountered, the bit of the parity check matrix A set is added to the partial syndrome vector. 15.根据权利要求1-14中的任一项所述的方法,其中,逐一访问所述数据消息的所述部分的位,并且当遇到零时,将所述部分校验子向量保持不变。15. The method according to any one of claims 1-14, wherein the bits of the portion of the data message are accessed one by one, and when a zero is encountered, the partial syndrome vector is kept at zero Change. 16.根据权利要求1-15中的任一项所述的方法,其中,所述奇偶校验矩阵中的每个被访问的列是前一列的移位版本,其中,当已访问所述数据消息的所述部分和所述奇偶校验矩阵的所述部分的每个位时,仅移入一个新的位。16. The method according to any one of claims 1-15, wherein each accessed column in the parity-check matrix is a shifted version of the previous column, wherein when the data has been accessed For each bit of the portion of the message and the portion of the parity check matrix, only one new bit is shifted in. 17.根据权利要求1-16中的任一项所述的方法,其中,将一个或多个用于执行的软件线程和/或处理元件指配给所述奇偶校验矩阵的一个或多个部分与所述数据消息的对应部分,以并行计算所述部分校验子向量。17. The method of any one of claims 1-16, wherein one or more software threads and/or processing elements for execution are assigned to one or more parts of the parity check matrix Computing the partial syndrome vectors in parallel with the corresponding part of the data message. 18.一种包括非暂时性计算机可读介质的计算机程序产品,所述非暂时性计算机可读介质上具有包括程序指令的计算机程序,所述计算机程序可加载到数据处理单元中并且被配置为:当所述计算机程序由所述数据处理单元运行时,导致根据权利要求1至17中的任一项所述的方法的执行。18. A computer program product comprising a non-transitory computer readable medium having thereon a computer program comprising program instructions, the computer program being loadable into a data processing unit and configured to : The computer program, when run by the data processing unit, results in the performance of the method according to any one of claims 1 to 17. 19.一种用于在无线通信网络中的接收器中验证数据完整性的设备,所述设备包括控制器(410),所述控制器被配置为导致:19. An apparatus for verifying data integrity in a receiver in a wireless communication network, the apparatus comprising a controller (410), the controller configured to cause: 接收数据消息,其中,所述数据消息包括数据元素组和校验和,receiving a data message, wherein the data message includes a set of data elements and a checksum, 基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算所述部分校验子向量,Computing a full syndrome vector based on a partial syndrome vector, wherein the partial syndrome vectors are computed in parallel by multiplying parts of a parity check matrix with corresponding parts of a received data message, 确定所述完整校验子向量的所有向量元素都是零,以及determining that all vector elements of the full syndrome vector are zero, and 验证所述接收的数据消息当所述完整校验子向量的所有所述向量元素都是零时是正确的,否则是不正确的。Verifying that said received data message is correct when all said vector elements of said full syndrome vector are zero, otherwise incorrect. 20.根据权利要求19所述的设备,其中,所述设备在操作上能连接到具有一个或多个并行处理元件的通用硬件,所述并行处理元件被配置为处理并行化的计算。20. The device of claim 19, wherein the device is operatively connectable to general-purpose hardware having one or more parallel processing elements configured to process parallelized computations. 21.根据权利要求19-20中的任一项所述的设备,其中,所述一个或多个并行处理元件中的每个并行处理元件被配置为:通过将所述奇偶校验矩阵的部分与所述数据消息的对应部分相乘来并行计算所述部分校验子向量中的相应一个或多个部分校验子向量。21. The apparatus according to any one of claims 19-20, wherein each of the one or more parallel processing elements is configured to: A corresponding one or more of the partial syndrome vectors is computed in parallel by multiplying with a corresponding portion of the data message. 22.根据权利要求19-21中的任一项所述的设备,其中,在所述接收器中和/或在云环境中包括具有一个或多个并行处理元件的所述通用硬件。22. The device according to any of claims 19-21, wherein said general-purpose hardware with one or more parallel processing elements is comprised in said receiver and/or in a cloud environment. 23.根据权利要求19-22中的任一项所述的设备,其中,所述通用硬件包括图形处理单元GPU。23. The device of any one of claims 19-22, wherein the general-purpose hardware comprises a graphics processing unit (GPU). 24.一种无线通信网络中的接收器,所述接收器包括根据权利要求19-23中的任一项所述的设备。24. A receiver in a wireless communication network, the receiver comprising an apparatus according to any one of claims 19-23. 25.根据权利要求24所述的接收器,其中,所述接收器被配置为接收数据并且验证数据的完整性。25. The receiver of claim 24, wherein the receiver is configured to receive data and verify the integrity of the data.
CN202180023737.3A 2020-03-23 2021-03-05 Verify data integrity in the receiver Active CN115280696B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062993152P 2020-03-23 2020-03-23
US62/993152 2020-03-23
PCT/EP2021/055684 WO2021190906A1 (en) 2020-03-23 2021-03-05 Verifying data integrity in a receiver

Publications (2)

Publication Number Publication Date
CN115280696A true CN115280696A (en) 2022-11-01
CN115280696B CN115280696B (en) 2024-11-12

Family

ID=74870800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180023737.3A Active CN115280696B (en) 2020-03-23 2021-03-05 Verify data integrity in the receiver

Country Status (4)

Country Link
US (1) US12034454B2 (en)
EP (1) EP4128594A1 (en)
CN (1) CN115280696B (en)
WO (1) WO2021190906A1 (en)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657331A (en) * 1995-03-13 1997-08-12 Samsung Electronics Co., Ltd. Method and apparatus for the generation of simple burst error correcting cyclic codes for use in burst error trapping decoders
US20020188906A1 (en) * 2001-06-06 2002-12-12 Kurtas Erozan M. Method and coding apparatus using low density parity check codes for data storage or data transmission
WO2003065591A2 (en) * 2002-01-29 2003-08-07 Seagate Technology Llc A method and decoding apparatus using linear code with parity check matrices composed from circulants
US20050166040A1 (en) * 2002-12-02 2005-07-28 Walmsley Simon R. Embedding data and information related to function with which data is associated into a payload
CN101217337A (en) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat
US20080168323A1 (en) * 2007-01-09 2008-07-10 Scott Douglas Clark Pipelined Cyclic Redundancy Check for High Bandwith Interfaces
US20120054585A1 (en) * 2010-08-26 2012-03-01 Qualcomm Incorporated Parity check matrix optimization and selection for iterative decoding
US20130031440A1 (en) * 2011-07-29 2013-01-31 Sandisk Technologies Inc. Checksum using sums of permutation sub-matrices
US20130055050A1 (en) * 2011-08-24 2013-02-28 Kabushiki Kaisha Toshiba Error correction encoding apparatus, error correction decoding apparatus, nonvolatile semiconductor memory system, and parity check matrix generation method
US20150089282A1 (en) * 2013-09-25 2015-03-26 Xyratex Technology Limited Method of, and apparatus for, layout rectification of erasure encoded storage systems
US20160026527A1 (en) * 2014-07-23 2016-01-28 Raidix Corporation Systems and methods for error correction coding
US20160043829A1 (en) * 2014-08-11 2016-02-11 Qualcomm Incorporated Devices and methods for data recovery of control channels in wireless communications
WO2016050323A1 (en) * 2014-10-03 2016-04-07 Telefonaktiebolaget L M Ericsson (Publ) Method and device for calculating a crc code in parallel
US20170019211A1 (en) * 2014-03-17 2017-01-19 Lg Electronics Inc. Method and device for decoding low density parity check code for forward error correction in wireless communication system
US20180367162A1 (en) * 2017-06-16 2018-12-20 Western Digital Technologies, Inc. CPU Error Remediation During Erasure Code Encoding
US20190097654A1 (en) * 2017-09-28 2019-03-28 SK Hynix Inc. Memory system with on-the-fly error detection and termination and operating method thereof
US20190102569A1 (en) * 2017-10-04 2019-04-04 Amir Keyvan Khandani Methods for secure data storage
US20190108093A1 (en) * 2017-10-09 2019-04-11 Tsofun Algorithms Ltd. Encoding and decoding of permuted cyclic codes
US20190312593A1 (en) * 2018-04-10 2019-10-10 Shenzhen Epostar Electronics Limited Co. Decoding method and storage controller
EP3577767A1 (en) * 2017-02-06 2019-12-11 Telefonaktiebolaget LM Ericsson (PUBL) Alteration of successive cancellation order in decoding of polar codes

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039854B1 (en) 2002-02-21 2006-05-02 Ciena Corporation Method and apparatus for performing syndrome computation in a decoder of a forward error correction (FEC) system
WO2008021930A2 (en) 2006-08-11 2008-02-21 Distribution Control Systems Method of correcting message errors using cyclic redundancy checks

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657331A (en) * 1995-03-13 1997-08-12 Samsung Electronics Co., Ltd. Method and apparatus for the generation of simple burst error correcting cyclic codes for use in burst error trapping decoders
US20020188906A1 (en) * 2001-06-06 2002-12-12 Kurtas Erozan M. Method and coding apparatus using low density parity check codes for data storage or data transmission
WO2003065591A2 (en) * 2002-01-29 2003-08-07 Seagate Technology Llc A method and decoding apparatus using linear code with parity check matrices composed from circulants
US20050166040A1 (en) * 2002-12-02 2005-07-28 Walmsley Simon R. Embedding data and information related to function with which data is associated into a payload
CN101217337A (en) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat
US20080168323A1 (en) * 2007-01-09 2008-07-10 Scott Douglas Clark Pipelined Cyclic Redundancy Check for High Bandwith Interfaces
US20120054585A1 (en) * 2010-08-26 2012-03-01 Qualcomm Incorporated Parity check matrix optimization and selection for iterative decoding
US20130031440A1 (en) * 2011-07-29 2013-01-31 Sandisk Technologies Inc. Checksum using sums of permutation sub-matrices
US20130055050A1 (en) * 2011-08-24 2013-02-28 Kabushiki Kaisha Toshiba Error correction encoding apparatus, error correction decoding apparatus, nonvolatile semiconductor memory system, and parity check matrix generation method
US20150089282A1 (en) * 2013-09-25 2015-03-26 Xyratex Technology Limited Method of, and apparatus for, layout rectification of erasure encoded storage systems
US20170019211A1 (en) * 2014-03-17 2017-01-19 Lg Electronics Inc. Method and device for decoding low density parity check code for forward error correction in wireless communication system
US20160026527A1 (en) * 2014-07-23 2016-01-28 Raidix Corporation Systems and methods for error correction coding
US20160043829A1 (en) * 2014-08-11 2016-02-11 Qualcomm Incorporated Devices and methods for data recovery of control channels in wireless communications
WO2016050323A1 (en) * 2014-10-03 2016-04-07 Telefonaktiebolaget L M Ericsson (Publ) Method and device for calculating a crc code in parallel
EP3577767A1 (en) * 2017-02-06 2019-12-11 Telefonaktiebolaget LM Ericsson (PUBL) Alteration of successive cancellation order in decoding of polar codes
US20180367162A1 (en) * 2017-06-16 2018-12-20 Western Digital Technologies, Inc. CPU Error Remediation During Erasure Code Encoding
US20190097654A1 (en) * 2017-09-28 2019-03-28 SK Hynix Inc. Memory system with on-the-fly error detection and termination and operating method thereof
US20190102569A1 (en) * 2017-10-04 2019-04-04 Amir Keyvan Khandani Methods for secure data storage
US20190108093A1 (en) * 2017-10-09 2019-04-11 Tsofun Algorithms Ltd. Encoding and decoding of permuted cyclic codes
US20190312593A1 (en) * 2018-04-10 2019-10-10 Shenzhen Epostar Electronics Limited Co. Decoding method and storage controller

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
AVI ZANKO,ET AL: ""Robust Turbo Analog Error Correcting Codes Based on Analog CRC Verification"", 《IEEE》, 31 December 2016 (2016-12-31) *
INTEL CORPORATION: "R1-1704770 "Data channel encoding chain"", 3GPP TSG_RAN\\WG1_RL1, no. 1, 25 March 2017 (2017-03-25) *
MAXIM KURKOV,ET AL: ""Gravitational parity anomaly with and without boundaries"", 《JOURNAL OF HIGH ENERGY PHYSICS 》, 31 December 2018 (2018-12-31) *
SEYED FARHAD AGHILI,ET AL: ""Tracking and impersonating tags in a CRC-based ultralightweight RFID authentication protocol"", 《PEER-TO-PEER NETWORKING AND APPLICATIONS》, 31 December 2019 (2019-12-31) *
张建斌;: "LDPC码校验矩阵的缩短RS码构造方法研究", 南京理工大学学报, no. 05, 30 October 2013 (2013-10-30) *
张笑铭;梁利平;王志君;: "基于系数运算的并行CRC算法", 电子设计工程, no. 07, 5 April 2018 (2018-04-05) *

Also Published As

Publication number Publication date
US20230104186A1 (en) 2023-04-06
CN115280696B (en) 2024-11-12
EP4128594A1 (en) 2023-02-08
WO2021190906A1 (en) 2021-09-30
US12034454B2 (en) 2024-07-09

Similar Documents

Publication Publication Date Title
US8352847B2 (en) Matrix vector multiplication for error-correction encoding and the like
JP5199463B2 (en) Turbo LDPC decoding
CN109787639B (en) System and method for decoding error correction codes
US7870468B1 (en) Reed-solomon decoder using a configurable arithmetic processor
US20170250710A1 (en) Method and device for calculating a crc code in parallel
US8261176B2 (en) Polynomial division
JPH07202715A (en) Time domain algebra encoder / decoder
CN113300716A (en) Method and device for generating cyclic redundancy check code and computer readable medium
JP2004032737A (en) Reed solomon decoder
US20120324319A1 (en) High throughput frame check sequence module architecture
CN114389752B (en) Cyclic redundancy check code generation method, device, equipment, medium and program product
JP7116374B2 (en) Reduced Latency Error Correction Decoding
CN115280696B (en) Verify data integrity in the receiver
US9608668B2 (en) Error correcting apparatus, error correcting method, and program
WO2012109872A1 (en) Method, apparatus and lte terminals for cyclic redundancy checking in communication system
CN108847851B (en) Method for realizing binary BCH code adjoint matrix
US20030041300A1 (en) Universal device for processing Reed-Solomon forward error-correction encoded messages
CN117014017A (en) CRC (cyclic redundancy check) calculation method for calculating remainder of polynomial division based on high-bit-width data
US20180212622A1 (en) Fast encoding method and device for reed-solomon codes with a small number of redundancies
CN114942861A (en) CRC calculation method, device, computer equipment and storage medium
US10067821B2 (en) Apparatus and method for cyclic redundancy check
CN114124107A (en) Method and device for calculating cyclic redundancy check
CN116048868A (en) Code generation method, device, device and storage medium
Lee et al. Implementation of parallel BCH encoder employing tree-type systolic array architecture
Subbiah et al. Fast BCH syndrome generator using parallel polynomial division algorithm for GPGPUs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant