WO2022062406A1 - Packet error correction code decoding method, apparatus, storage medium, and electronic device - Google Patents

Packet error correction code decoding method, apparatus, storage medium, and electronic device Download PDF

Info

Publication number
WO2022062406A1
WO2022062406A1 PCT/CN2021/091210 CN2021091210W WO2022062406A1 WO 2022062406 A1 WO2022062406 A1 WO 2022062406A1 CN 2021091210 W CN2021091210 W CN 2021091210W WO 2022062406 A1 WO2022062406 A1 WO 2022062406A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
node
iterative decoding
variable
layer
Prior art date
Application number
PCT/CN2021/091210
Other languages
French (fr)
Chinese (zh)
Inventor
杜振南
张宏亮
杨剑峰
曹琼华
Original Assignee
浙江三维通信科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 浙江三维通信科技有限公司 filed Critical 浙江三维通信科技有限公司
Publication of WO2022062406A1 publication Critical patent/WO2022062406A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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

Definitions

  • Embodiments of the present invention relate to the field of communications, and in particular, to a method, device, storage medium, and electronic device for decoding a packet error correction code.
  • LDPC code Low-density parity-check code
  • G generator matrix
  • the normalized minimum sum decoding algorithm is usually used; the algorithm is as follows:
  • u0 to u3 are check nodes
  • v0 to v7 are variable nodes.
  • the check node u0 is connected to the variable nodes v0, v2, and v3, then the row operation is to calculate the variable node v0 from the check node.
  • the information obtained from the test node u0, the information obtained by the variable node v0 is related to the variable nodes v2 and v3.
  • the column calculation is to calculate the information obtained by the check node u0 from the variable node v0, and the information obtained by the check node u0 is related to the check node u3;
  • the information obtained by u0 from v0 and the information obtained by u3 from v0 need to be calculated separately.
  • Embodiments of the present invention provide a method, device, storage medium and electronic device for decoding a block error correction code, so as to at least solve the problems of slow convergence speed and low error correction code module efficiency in the related art.
  • a method for decoding a block error correction code including:
  • the number of iterative decoding layers is determined according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a block error correction code sequence;
  • the target variable node associated with the target check node is subjected to target processing based on the target check node in the target iterative decoding layer, wherein the target processing includes:
  • the first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the difference between the target check node and the target check node.
  • the first column operation is used to calculate the information obtained by the target variable node from the target check node; according to the operation result of the first column operation, the information of the target variable node is updated to Determine the updated target variable node; according to the operation result of the first column operation, make a hard decision on the updated target variable node; in the case that the target processing result is that the hard decision does not hold, based on the other target check nodes associated with the updated target variable node perform the target processing on the updated target variable node;
  • variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer include the position in the other iterative decoding layers and the position of the variable node in the target iterative decoding layer The same variable node.
  • the method before performing the target processing on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers in sequence, the method further includes:
  • the column operation result of the variable node of the target iterative decoding layer is used as the initial value of the variable node corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers.
  • the initial values of nodes include:
  • a column update is performed on the check nodes of the other iterative decoding layers, wherein the column update is used for the mth layer in the nth iteration to transfer information from the updated variable node of the m-1th layer to the The check node corresponding to the mth layer;
  • the row update is performed on the variable nodes of the other iterative decoding layers, wherein the row update is used for the mth layer in the nth iteration, and the updated information is transmitted to the mth layer by the check node of the mth layer.
  • variable nodes in the m layer
  • the performing column update on the check node of the target iterative decoding layer includes:
  • the column update is performed on the check node of the target iterative decoding layer by the following formula:
  • i represents the variable node
  • j represents the check node
  • m represents the number of layers
  • n represents the number of iterations
  • L (n) (q ijm ) represents the mth layer in the nth iteration, the variable node is sent to
  • the information log-likelihood value of the check node L (n) (Q im-1 ) represents the m-1th layer in the n-th iteration, the information log-likelihood value of the variable node after updating the information
  • L (n-1) (r ijm ) represents the mth layer in the n-1th iteration, the log-likelihood value of the information sent by the check node to the variable node.
  • the performing row update on the variable node of the target iterative decoding layer includes:
  • the row update is performed on the variable nodes of the target iterative decoding layer by the following formula:
  • L (n) (r ijm ) represents the log-likelihood value of the information sent by the check node to the target check node corresponding to the check node at the m-th layer in the n-th iteration.
  • the updating the posterior probability information of the mth layer variable node according to the information of row update and column update includes:
  • L (n) (Q im ) represents the log-likelihood value of the information of the m-th layer in the n-th iteration after the information is updated by the variable node.
  • the method before performing column update on check nodes of other iterative decoding layers, the method includes:
  • the initial information log-likelihood value is set, and the number of iterative decoding layers and the number of iterations are initialized to preset values, wherein the initial information log-likelihood value is obtained according to the received signal value and channel characteristics, and the The initial information log-likelihood value represents the information log-likelihood value of the variable node that has not been iterated.
  • an apparatus for decoding a block error correction code comprising:
  • the decoding layer grouping module is configured to determine the number of iterative decoding layers according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a grouped error correction code sequence;
  • the target processing module is configured to perform target processing on the target variable node associated with the target check node based on the target check node in the target iterative decoding layer, wherein the target processing includes:
  • the first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the difference between the target check node and the target check node.
  • the updated target variable node performs the target processing
  • a first iterative module configured to perform the target processing on all other variable nodes in the target iterative decoding layer under the condition that the target processing results are all hard decisions that fail to hold;
  • the second zone module is configured to perform the target processing on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers in turn when the target processing results are all invalid. processing until the hard decision is established; wherein, the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer include the position in the other iterative decoding layers and the target iterative decoding layer.
  • the variable node of the code layer has the same position as the variable node.
  • a storage medium is also provided, wherein a computer program is stored in the storage medium, wherein the computer program is configured to execute the steps in any one of the above method embodiments when running.
  • an electronic device comprising a memory and a processor, wherein the memory stores a computer program, the processor is configured to run the computer program to execute any of the above Steps in Method Examples.
  • a column operation is performed after a row operation is performed, and the iteration is stopped immediately when the hard decision of the column operation result is performed.
  • the calculation amount also reduces the overall calculation amount. Therefore, the problems of slow convergence speed and low error correction code module efficiency in the related art can be solved, and the effect of improving the calculation error correction efficiency can be achieved.
  • Fig. 1 is the schematic diagram representing the row operation of the prior art in the background technology of the present invention
  • FIG. 2 is a schematic diagram showing the column operation of the prior art in the background technology of the present invention.
  • FIG. 3 is a block diagram of a hardware structure of a mobile terminal of a method for decoding a packet error correction code according to an embodiment of the present invention
  • FIG. 4 is a flowchart of a method for decoding a block error correction code according to an embodiment of the present invention
  • FIG. 5 is a structural block diagram of a decoding apparatus for a block error correction code according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram showing an iterative decoding layer in an embodiment of the present invention.
  • FIG. 7 is a schematic diagram showing row calculation performed in a target iterative decoding layer according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram illustrating a column operation performed in a target iterative decoding layer according to an embodiment of the present invention
  • FIG. 9 is a schematic structural diagram showing a decoding circuit performing decoding in an embodiment of the present invention.
  • FIG. 10 is a block diagram showing the structure of a decoding circuit that performs decoding in an embodiment of the present invention.
  • FIG. 11 is a flowchart showing a decoding process in an embodiment of the present invention.
  • FIG. 3 is a block diagram of a hardware structure of a mobile terminal of a method for decoding a packet error correction code according to an embodiment of the present invention.
  • the mobile terminal may include one or more (only one is shown in FIG.
  • processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 configured to store data, wherein the above-mentioned mobile terminal may further include a transmission device 106 and an input/output device 108 configured as a communication function.
  • a processing device such as a microprocessor MCU or a programmable logic device FPGA
  • a memory 104 configured to store data
  • the above-mentioned mobile terminal may further include a transmission device 106 and an input/output device 108 configured as a communication function.
  • the structure shown in FIG. 3 is only for illustration, and it does not limit the structure of the above-mentioned mobile terminal.
  • the mobile terminal may further include more or less components than those shown in FIG. 3 , or have a different configuration than that shown in FIG. 3 .
  • the memory 104 may be configured to store computer programs, for example, software programs and modules of application software, such as a computer program corresponding to a method for decoding a block error correction code in an embodiment of the present invention.
  • the processor 102 stores the program in the memory 104 by running The computer program within the system, thereby executing various functional applications and data processing, implements the above-mentioned method.
  • Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory located remotely from the processor 102, and these remote memories may be connected to the mobile terminal through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • Transmission means 106 are arranged to receive or transmit data via a network.
  • the specific example of the above-mentioned network may include a wireless network provided by a communication provider of the mobile terminal.
  • the transmission device 106 includes a network adapter (Network Interface Controller, NIC for short), which can be connected to other network devices through a base station so as to communicate with the Internet.
  • the transmission device 106 may be a radio frequency (Radio Frequency, RF for short) module, which is configured to communicate with the Internet in a wireless manner.
  • RF Radio Frequency
  • FIG. 4 is a flowchart according to an embodiment of the present invention. As shown in FIG. 4 , the flowchart includes the following steps:
  • Step S202 determining the number of iterative decoding layers according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a block error correction code sequence;
  • determining the number of iterative decoding layers according to the size of the sub-matrix can check the sub-matrices of different layers respectively. When the check result meets the requirements, Then the check is stopped, so that it is not necessary to check all the sub-matrices, which improves the check rate; taking LDPC code as an example, for example, the check matrix is a 4*8 matrix, and the sub-matrix is a 1*1 matrix, then iterative decoding The number of code layers is 4 layers.
  • Step S204 performing target processing on the target variable node associated with the target check node based on the target check node in the target iterative decoding layer, wherein the target processing includes:
  • the first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the information obtained by the target check node from all variable nodes associated with the target check node. , where the information includes the log-likelihood value of the target variable node;
  • a first column operation is performed on the target variable node, and the first column operation is used to calculate the information obtained by the target variable node from the target check node;
  • the information of the target variable node is updated to determine the updated target variable node
  • target processing is performed on the updated target variable node based on other target check nodes associated with the updated target variable node.
  • a sub-matrix includes multiple check nodes and multiple variable nodes, and one check node is often associated with multiple check nodes.
  • Each variable node is associated with one variable node, and one variable node is also associated with multiple check nodes, and decoding is to decode the information of all variable nodes, so it is necessary to perform column operations on the variable nodes in turn to calculate the information of all variable nodes. .
  • variable node is associated with one or more check nodes. Therefore, when calculating the information of a variable node, it is necessary to perform row operations on the check nodes to determine the information contained in each check node.
  • the check node u0 is respectively associated with the variable nodes v0, v1 and v2
  • the information obtained by the check node u0 from the variable nodes v0, v1 and v2 is calculated respectively.
  • variable node v0 is associated with the check nodes u0 and u1 respectively, the information obtained by the variable node v0 from the check nodes u0 and u1 is calculated respectively, and then the variable node is calculated according to the calculation result.
  • Data Update since the variable node v0 is associated with the check nodes u0 and u1 respectively, the information obtained by the variable node v0 from the check nodes u0 and u1 is calculated respectively, and then the variable node is calculated according to the calculation result.
  • the first column of the variable node v0 is operated immediately to determine the information obtained by the variable node from the check node u0.
  • the information obtained by the verification node u1 is reduced, and the calculation efficiency is improved.
  • variable node v0 when the variable node v0 is respectively associated with the check nodes u0 and u1, the information obtained by the variable node v0 from the check node u0 is used as the information of the target variable node v0', and the target variable node v0' does not contain variables at this time.
  • the node v0 checks the information of the node u1, so when the decoding is performed, the amount of calculation is relatively small, thereby improving the calculation efficiency.
  • the target variable node v0' is decoded, and the hard decision on the target variable node v0' is to judge whether the decoding of the target variable node v0' is successful;
  • H represents an M
  • c represents a row vector of length N.
  • the row operation and column operation are respectively performed on the second check node associated with the target variable node.
  • variable node v0 when the variable node v0 is associated with the check nodes u0 and u1 respectively, in the case that the hard decision on the column operation of u0 and v0 does not hold, the information obtained by the variable node v0 from the check node u1 also needs to be calculated, so It is necessary to make sure that the row operation is performed on the check node u1 to check the information contained in the node u1, and then the information of the check node u1 is transferred to the variable node v0; since the row operation of the check node u1 is completed, the Perform column operation, because column operation only calculates the information obtained by the variable node v0 from the second check node u1, and does not need to calculate the information obtained by the variable node v0 from other check nodes (such as u0), thus reducing the amount of calculation and improving the operation. effectiveness.
  • the result of the column operation between u1 and v0 and the operation result between u1 and v0 are used as initial information to update the variable node v0, so that the variable node v0 is determined as The target variable node v0' to be decoded.
  • Step S206 in the case that the target processing results are all hard decisions and none of the hard decisions are established, perform target processing on all other variable nodes in the target iterative decoding layer.
  • variable node v0 completes the row and column operations of all check nodes (such as u0-u1) associated with it and completes the variable node v0. After all the information of v0 is updated, the hard decision of the variable node v0 is still not established, then the target processing is performed on the variable nodes v1-v7 in sequence until the hard decision is established or the update of all variable nodes is completed.
  • Step S208 in the case where the target processing result is that the hard decision is not established, the target processing is performed on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers in turn, until the hard decision is established; wherein, the variable nodes in the other iterative decoding layers corresponding to the variable nodes of the target iterative decoding layer include variable nodes in the other iterative decoding layers whose positions are the same as the positions of the variable nodes of the target iterative decoding layer.
  • variable nodes of the LDPC code After completing the information obtained by a variable node of the first layer from all check nodes with the variable node, decoding and hard decision processing are performed on the variable node, When the decoding is unsuccessful, the information obtained by the variable node from all check nodes associated with the variable node is used as the initial value of the corresponding variable node of the second layer, and then the corresponding variable node of the second layer is used.
  • the variable nodes of perform column operations and row operations, and so on, until decoding is successful.
  • variable node v0 is respectively associated with the check nodes u0 and u1
  • perform decoding and hard decision on the target variable node v0' in the case of unsuccessful decoding, take the information of the target variable node v0' as the initial information of the variable node v02 of the second layer, wherein, the variable node v02 corresponds to the variable node v0
  • the variable node v02 is respectively associated with the check node u12, the check node u22 and the check node u32, and then performs row operations on the check node u12, and then the variable Node v02 performs the column operation, and then updates and decodes the variable node v02. If the decoding is successful, the iterative operation is stopped. Otherwise,
  • the execution subject of the above steps may be a base station, a terminal, etc., but is not limited thereto.
  • the method before the target processing is performed on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers in sequence, the method further includes:
  • Step S2080 taking the column operation result of the variable node of the target iterative decoding layer as the initial value of the variable node corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers.
  • variable node is decoded. code and hard decision processing, when the decoding is unsuccessful, the information obtained by the variable node from all check nodes associated with the variable node is used as the initial value of the corresponding variable node of the second layer, and then the second The variable node corresponding to the variable node of the layer performs column operation and row operation, and so on, until the decoding is successful.
  • variable node v0 is respectively associated with the check nodes u0 and u1
  • perform decoding and hard decision on the target variable node v0' in the case of unsuccessful decoding, take the information of the target variable node v0' as the initial information of the variable node v02 of the second layer, wherein, the variable node v02 corresponds to the variable node v0
  • the variable node v02 is respectively associated with the check node u12, the check node u22 and the check node u32, and then performs row operations on the check node u12, and then the variable Node v02 performs the column operation, and then updates and decodes the variable node v02. If the decoding is successful, the iterative operation is stopped. Otherwise,
  • the column operation result of the target variable node of the target iterative decoding layer is used as the initial value of the variable node corresponding to the target variable node of the target iterative decoding layer in other iterative decoding layers.
  • Values include:
  • Step S2084 perform column update on the check nodes of other iterative decoding layers, wherein the column update represents the mth layer in the nth iteration, and the information is transferred from the updated variable node of the m-1th layer to the mth layer.
  • the information of the variable node is related to the information of the check node, the information of the corresponding check node needs to be determined before the update transfer of the variable node.
  • the calculation formula for column update of the check node of the target iterative decoding layer includes:
  • i represents the variable node
  • j represents the check node
  • m represents the number of layers
  • n represents the number of iterations
  • L (n) (q ijm ) represents the mth layer in the nth iteration, and the variable node i is sent to the check node.
  • L (n) (Q im-1 ) represents the log-likelihood value of the information after updating the information of the variable node i in the m-1th layer in the nth iteration
  • L ( n-1) (r ijm ) represents the log-likelihood value of the information sent by the check node j to the variable node i at the mth layer in the n-1th iteration.
  • the above formula expresses the information passed from the updated variable node of the m-1th layer to the check node of the mth layer in the mth layer in the nth iteration; in the calculation of the mth layer in the nth iteration, by the
  • L (n) (q ijm ) that is, in the calculation of the n-th iteration, the check node of the m-th layer is
  • j sends the log-likelihood value L(r) of the information to the variable node i, it needs to calculate L (n) (q ijm ) before it can be calculated, so the information L (n-1) (r ijm ) of the previous iteration is used.
  • L(r) and the information log-likelihood value L(Q) of the variable node i of the mth layer in the nth iteration after updating the information requires the log-likelihood of the information sent by the variable node i to the check node j.
  • Step S2086 performing row update on the variable nodes of other iterative decoding layers, wherein the row update represents the mth layer in the nth iteration, and the check node of the mth layer transmits the updated information to the mth layer. the variable node;
  • the calculation formula for row update of the variable node of the target iterative decoding layer includes:
  • L (n) (r ijm ) represents the log-likelihood value of the information sent by the check node to the target check node corresponding to the check node at the m-th layer in the n-th iteration;
  • is the normalized factor, in an optional embodiment, in order to reduce the hardware implementation complexity and maintain good decoding performance, ⁇ is usually set to 0.75.
  • the above formula represents the information transmitted to the mth layer variable node after the mth layer and the mth layer check node in the nth iteration; , the value of sign(L (n) (q ijm )) can be positive or negative.
  • the variable can be determined
  • the element type of the node if it is a negative value, it means that the element type of the variable node is another value; for example, taking the LDPC code as an example, since the LDPC code is a binary code, its elements only include 0 and 1, that is, the variable node
  • the value of is 0 or 1; assuming that the probability that the element is 0 in the last iteration is 0.7, then in this iteration, the probability of getting 0 is 0.7 + positive value sign(L (n) (q ijm ) ) or 0.7+ negative sign(L (n) (q ijm )), so when sign(L (n) (q ijm )) is positive, the probability that the element is 0 will become larger, sign(L When (n) (q ijm )) is a negative value, the probability of the element being 0 will become smaller, so that the element type
  • Step S2088 update the posterior probability information of the variable nodes of other iterative decoding layers, that is, at the mth layer in the nth iteration, update the posterior probability of the mth layer variable node according to the information of row update and column update information.
  • the calculation formula for updating the posterior probability information of the mth layer variable node includes:
  • L (n) (Q im ) represents the information log-likelihood value of the m-th layer in the n-th iteration, after the variable node completes the information update, where the information log-likelihood value is used to correct the information data ;
  • L (n) (q ijm-1 ) is used instead of L (n) (q ijm ), which can make the calculation faster, and can save computing resources during hardware implementation. Because, when calculating the m layer for n iterations, as long as L (n) (q ijm ) of the current layer is calculated, L (n) (r ijm-1 ) of the m-1 layer can be used for the variable node of the m-th layer.
  • Step S2082 in an optional embodiment, before performing column update on the check node of the target iterative decoding layer, including:
  • the initial log-likelihood value of information is set, and the number of iterative decoding layers, that is, the number of iterations, is initialized to a preset value.
  • the initialization formula is:
  • This embodiment also provides an apparatus for decoding a block error correction code, which is used to implement the above-mentioned embodiments and preferred implementations, and what has been described will not be repeated.
  • the term "module” may be a combination of software and/or hardware that implements a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, implementations in hardware, or a combination of software and hardware, are also possible and contemplated.
  • FIG. 5 is a structural block diagram of an apparatus for decoding a block error correction code according to an embodiment of the present invention. As shown in FIG. 5 , the apparatus includes:
  • the decoding layer grouping module 52 is configured to determine the number of iterative decoding layers according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a grouped error correction code sequence;
  • the target processing module 54 is configured to perform target processing on the target variable node associated with the target check node based on the target check node in the target iterative decoding layer, wherein the target processing includes:
  • the first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the information obtained by the target check node from all variable nodes associated with the target check node. ;
  • the operation result of the first row operation perform the first column operation on the target variable node, and the first column operation is used to calculate the information obtained by the target variable node from the target check node;
  • According to the operation result of the first column operation to The information of the target variable node is updated to determine the updated target variable node; according to the operation result of the first column of operations, a hard decision is made on the updated target variable node;
  • Other target check nodes associated with the updated target variable node perform target processing on the updated target variable node;
  • the first iterative module 56 is configured to perform target processing on all other variable nodes in the target iterative decoding layer under the condition that the result of the target processing is all the hard decisions are not established;
  • the second iterative module 58 is configured to perform target processing on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers in turn when the target processing results are all unsatisfactory hard decisions, until the hard decision is reached.
  • the variable nodes in other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer include variable nodes in other iterative decoding layers whose positions are the same as those of the variable nodes in the target iterative decoding layer.
  • the device further includes:
  • the information transmission unit 580 is configured to take the column operation result of the variable node of the target iterative decoding layer as the initial value of the variable node corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers.
  • the second iteration module 58 includes:
  • the column update unit 584 is configured to perform column update on the check nodes of other iterative decoding layers, wherein the column update represents the mth layer in the nth iteration, and the information is updated by the variable node of the m-1th layer. Pass it to the check node corresponding to the mth layer;
  • the row update unit 586 is configured to perform row update on the variable nodes of other iterative decoding layers, wherein the row update represents the mth layer in the nth iteration, and the check node of the mth layer transmits the updated information to variable nodes in the mth layer;
  • the posterior updating unit 588 is configured to update the posterior probability information of the variable nodes of other iterative decoding layers, that is, at the mth layer in the nth iteration, update the mth layer variable according to the information of row update and column update The posterior probability information of the node.
  • the second iteration module 58 further includes:
  • the reset unit 582 is configured to set the initial log-likelihood value of information, and initialize the number of iterative decoding layers, that is, the number of iterations, to a preset value.
  • the above modules can be implemented by software or hardware, and the latter can be implemented in the following ways, but not limited to this: the above modules are all located in the same processor; or, the above modules can be combined in any combination The forms are located in different processors.
  • the check node when the iterative decoding layer includes z1-z4 (corresponding to Figure 6), in the target iterative decoding layer z1, the check node includes u0-u3, the variable node includes v0-v6, The variable node v0 is associated with the check node u0, and the check node u0 is associated with the variable nodes v0, v2 and v3 (corresponding to FIG. 7 and FIG. 8 ).
  • the row calculation of the check node u0 is performed first, and then the node update of the variable node is performed according to the column calculation result of the variable node v0, and the hard judgment is made on the column calculation result of the variable node v0. If the hard decision result is invalid or the update of the variable node v0 is completed, the row calculation is performed on the check node associated with the variable node v1, and then the column calculation is performed on the variable node, and the above actions are repeated until all the variable nodes are updated.
  • the information of the variable nodes included in the target iterative decoding layer z1 is corresponding to the target iterative decoding layer z2.
  • FIG. 9 is a decoding circuit of the present invention
  • FIG. 10 is a structural block diagram of the decoding circuit
  • FIG. 11 is a flowchart of the decoding process performed by the decoding circuit; referring to FIG. 10, the decoding circuit include:
  • the first storage module 92 is configured to store the information log-likelihood values of the variable nodes of the target iterative decoding layer; wherein, the information log-likelihood values of each variable node of the target iterative decoding layer are stored in the first storage module 92 in the V2C_ii unit;
  • the second storage module 94 is configured to store the symbol, the minimum value, the second minimum value, and the minimum value position of the variable node information log-likelihood value in each row of each layer; wherein, when the position of the target variable node and the minimum value position When the same, the log-likelihood value of the variable node information in each row of each layer takes the next smallest value, otherwise takes the smallest value;
  • the sign (sign), the minimum value (min1), the next minimum value (min2), and the minimum value position (min1_id) of the variable node information LLR value in each row of each layer are stored in the second storage module 94. in the C2V_ii unit.
  • the first calculation module 96 is set to calculate the log-likelihood value of the information after the update of the variable node;
  • the cyclic shifter 98 is set to exchange the position of the log-likelihood value of information
  • the variable node updating module 1000 is configured to update the log-likelihood value of the information sent by the variable node stored in the second storage module 94 to the check node, and update the variable stored in the second storage module 94 after the update.
  • the log-likelihood value of the information sent by the node to the check node is stored in the second storage module 94;
  • the second calculation module 1002 is configured to calculate the log-likelihood value of the information sent to the corresponding variable node after the update of the check node of the target iterative decoding layer;
  • the third calculation module 1004 is configured to feed back the position of the minimum value of the log-likelihood value of the information stored in the second storage module 94 to the cyclic shifter 98, and perform cyclic numerical difference calculation.
  • Step S1002 calculating the updated LLR value of the variable node, and the hardware formula for performing the calculation is:
  • Step S1004 use the cyclic shifter 98 (QSN) to carry out the LLR information position exchange, and the hardware formula that performs the calculation is:
  • Step S1006 update the information LLR value that the variable node in the V2C_ii unit passes to the check node, and then store the value in the V2C_ii unit, and the hardware formula for the calculation is:
  • V2C_update LLR_shift-C2V_ii_old_last_iter
  • Step S1008 calculate the information LLR value transmitted to the current layer variable node after the current layer check node is updated, and the hardware formula for performing the calculation is:
  • Step S1010 the position of the minimum value of the LLR value in the C2V_ii unit is fed back to the cyclic shifter 98 to calculate the cyclic value difference.
  • An embodiment of the present invention also provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.
  • the above-mentioned computer-readable storage medium may include, but is not limited to, a USB flash drive, a read-only memory (Read-Only Memory, referred to as ROM for short), and a random access memory (Random Access Memory, referred to as RAM for short) , mobile hard disk, magnetic disk or CD-ROM and other media that can store computer programs.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • An embodiment of the present invention also provides an electronic device, comprising a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run an arithmetic computer program to execute the steps in any of the above method embodiments.
  • the above-mentioned electronic device may further include a transmission device and an input-output device, wherein the transmission device is connected to the above-mentioned processor, and the input-output device is connected to the above-mentioned processor.
  • modules or steps of the present invention can be implemented by a general-purpose computing device, and they can be centralized on a single computing device or distributed in a network composed of multiple computing devices
  • they can be implemented in program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, can be performed in a different order than shown here.
  • the described steps, or they are respectively made into individual integrated circuit modules, or a plurality of modules or steps in them are made into a single integrated circuit module to realize.
  • the present invention is not limited to any particular combination of hardware and software.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

Embodiments of the present invention provide a packet error correction code decoding method, apparatus, storage medium, and electronic device, relating to the technical field of packet error correction code communication technology; the method comprises: determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, said check matrix consisting of a sequence of packet error correction codes; on the basis of a target check node in a target iterative decoding layer, performing target processing of a target variable node associated with said target check node; if all of the results of said target processing are non-establishment of all hard decisions, then performing the target processing on all other variable nodes in the target iterative decoding layer; if all of the results of said target processing are non-establishment of a hard decision, then performing target processing on the variable nodes in the other iterative decoding layers corresponding to the variable nodes in said target iterative decoding layer until the hard decision is established. The present invention addresses the problem of inefficient error correction, and thus achieves the effect of improving the efficiency of error correction.

Description

一种分组纠错码的译码方法、装置、存储介质和电子装置Decoding method, device, storage medium and electronic device for block error correction code 技术领域technical field
本发明实施例涉及通信领域,具体而言,涉及一种分组纠错码的译码方法、装置、存储介质和电子装置。Embodiments of the present invention relate to the field of communications, and in particular, to a method, device, storage medium, and electronic device for decoding a packet error correction code.
背景技术Background technique
LDPC码(低密度奇偶校验码,Low-density parity-check code)是一种具有稀疏校验矩阵的分组纠错码,它通过一个生成矩阵G将信息序列映射呈发送序列,其中,生成矩阵G内有若干个子矩阵;LDPC码的性能逼近香农极限,且描述和实现简单,具有易于进行理论分析和研究,译码简单且可实行并行操作,适合硬件实现等优点。LDPC code (Low-density parity-check code) is a block error correction code with a sparse check matrix, which maps the information sequence to the transmission sequence through a generator matrix G, where the generator matrix There are several sub-matrices in G; the performance of LDPC codes is close to the Shannon limit, and the description and implementation are simple.
目前在对LDPC码进行译码时,通常采用归一化最小和译码算法;该算法具体如下:At present, when decoding LDPC codes, the normalized minimum sum decoding algorithm is usually used; the algorithm is as follows:
参照图1及图2,u0至u3是校验节点,v0至v7是变量节点,由图可知,校验节点u0与变量节点v0、v2、v3相连,那么行运算就是计算变量节点v0从校验节点u0中得到的信息,变量节点v0得到的信息与变量节点v2、v3有关。Referring to Figure 1 and Figure 2, u0 to u3 are check nodes, and v0 to v7 are variable nodes. As can be seen from the figure, the check node u0 is connected to the variable nodes v0, v2, and v3, then the row operation is to calculate the variable node v0 from the check node. The information obtained from the test node u0, the information obtained by the variable node v0 is related to the variable nodes v2 and v3.
即对于u0行,需要分别计算v0从u0得到的信息、v2从u0得到的信息以及v3从u0得到的信息。That is, for row u0, it is necessary to calculate the information obtained by v0 from u0, the information obtained by v2 from u0, and the information obtained by v3 from u0.
同理,由图可知,变量节点v0与校验节点u0、u3相连,那么列计算就是计算校验节点u0从变量节点v0得到的信息,校验节点u0得到信息与校验节点u3有关;即对于u0列,需要分别计算u0从v0得到的信息,以及u3从v0得到的信息。Similarly, it can be seen from the figure that the variable node v0 is connected to the check nodes u0 and u3, then the column calculation is to calculate the information obtained by the check node u0 from the variable node v0, and the information obtained by the check node u0 is related to the check node u3; For the u0 column, the information obtained by u0 from v0 and the information obtained by u3 from v0 need to be calculated separately.
上述在算法在执行译码工作时,需要完成所有行的行运算之后再进行列运算,这种方式导致译码时收敛速度慢,即每进行一次译码耗时长,这样会造成纠错码模块的吞吐率降低,从而导致纠错码模块的纠错效率低,从而降低了保证信号完整性。When the above algorithm performs the decoding work, it needs to complete the row operation of all rows and then perform the column operation. This method leads to a slow convergence rate during decoding, that is, each decoding takes a long time, which will cause the error correction code module. The throughput rate is reduced, resulting in low error correction efficiency of the error correction code module, thereby reducing the guaranteed signal integrity.
发明内容SUMMARY OF THE INVENTION
本发明实施例提供了一种分组纠错码的译码方法、装置、存储介质和电子装置,以至少解决相关技术中收敛速度慢,纠错码模块效率低的问题。Embodiments of the present invention provide a method, device, storage medium and electronic device for decoding a block error correction code, so as to at least solve the problems of slow convergence speed and low error correction code module efficiency in the related art.
根据本发明的一个实施例,提供了一种分组纠错码的译码方法,包括:According to an embodiment of the present invention, a method for decoding a block error correction code is provided, including:
根据校验矩阵中子矩阵大小确定迭代译码层数,其中,所述校验矩阵由分组纠错码序列组成;The number of iterative decoding layers is determined according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a block error correction code sequence;
基于目标迭代译码层中的目标校验节点对与所述目标校验节点关联的目标变量节点进行 目标处理,其中,所述目标处理包括:The target variable node associated with the target check node is subjected to target processing based on the target check node in the target iterative decoding layer, wherein the target processing includes:
对所述目标迭代译码层中与所述目标变量节点关联的所述目标校验节点进行第一行运算,所述第一行运算用于计算所述目标校验节点从与所述目标校验节点相关联的所有变量节点获取到的信息,其中,所述信息包括目标变量节点的对数似然值;根据所述第一行运算的运算结果,对所述目标变量节点进行第一列运算,所述第一列运算用于计算所述目标变量节点从所述目标校验节点获取到的信息;根据所述第一列运算的运算结果,对所述目标变量节点进行信息更新,以确定更新后的目标变量节点;根据所述第一列运算的运算结果,对所述更新后的目标变量节点进行硬判决;在所述目标处理结果为硬判决不成立的情况下,基于与所述更新后的目标变量节点相关联的其它目标校验节点对所述更新后的目标变量节点进行所述目标处理;The first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the difference between the target check node and the target check node. The information obtained by all variable nodes associated with the test node, wherein the information includes the log-likelihood value of the target variable node; according to the operation result of the operation in the first row, the first column is performed on the target variable node. operation, the first column operation is used to calculate the information obtained by the target variable node from the target check node; according to the operation result of the first column operation, the information of the target variable node is updated to Determine the updated target variable node; according to the operation result of the first column operation, make a hard decision on the updated target variable node; in the case that the target processing result is that the hard decision does not hold, based on the other target check nodes associated with the updated target variable node perform the target processing on the updated target variable node;
在所述目标处理结果均为硬判决均不成立的情况下,对目标迭代译码层中其它变量节点均进行所述目标处理;Under the circumstance that all of the target processing results are all hard decisions that fail to hold, perform the target processing on all other variable nodes in the target iterative decoding layer;
在所述目标处理结果均为硬判决不成立的情况下,依次对其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点进行所述目标处理,直到所述硬判决成立为止;其中,所述其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点包括其它迭代译码层中位置与所述目标迭代译码层的变量节点的位置相同的变量节点。In the case that the target processing results are all hard decisions that fail to hold, the target processing is performed on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers in turn, until the hard decision is reached. Wherein, the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer include the position in the other iterative decoding layers and the position of the variable node in the target iterative decoding layer The same variable node.
在一个示例性实施例中,在所述依次对其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点进行所述目标处理之前,所述方法还包括:In an exemplary embodiment, before performing the target processing on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers in sequence, the method further includes:
将所述目标迭代译码层的变量节点的列运算结果对应作为其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点的初始值。The column operation result of the variable node of the target iterative decoding layer is used as the initial value of the variable node corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers.
在一个示例性实施例中,所述将所述目标迭代译码层的目标变量节点的列运算结果对应作为其它迭代译码层中与所述目标迭代译码层的目标变量节点相对应的变量节点的初始值包括:In an exemplary embodiment, taking the column operation result of the target variable node of the target iterative decoding layer as a variable corresponding to the target variable node of the target iterative decoding layer in other iterative decoding layers The initial values of nodes include:
对所述其它迭代译码层的校验节点进行列更新,其中,所述列更新用于在第n次迭代中的第m层,将信息由第m-1层更新后的变量节点传递给第m层对应的校验节点;A column update is performed on the check nodes of the other iterative decoding layers, wherein the column update is used for the mth layer in the nth iteration to transfer information from the updated variable node of the m-1th layer to the The check node corresponding to the mth layer;
对所述其它迭代译码层的变量节点进行行更新,其中,所述行更新用于在第n次迭代中的第m层,由第m层的校验节点将更新后的信息传递给第m层中的变量节点;The row update is performed on the variable nodes of the other iterative decoding layers, wherein the row update is used for the mth layer in the nth iteration, and the updated information is transmitted to the mth layer by the check node of the mth layer. variable nodes in the m layer;
对所述其它迭代译码层的变量节点进行后验概率信息更新,其中,所述后验概率信息更新用于在第n次迭代中的第m层,根据所述行更新和所述列更新的信息,更新第m层变量节点的后验概率信息。Update the posterior probability information on the variable nodes of the other iterative decoding layers, wherein the posterior probability information update is used for the mth layer in the nth iteration, according to the row update and the column update information, update the posterior probability information of the mth layer variable node.
在一个示例性实施例中,所述对目标迭代译码层的校验节点进行列更新包括:In an exemplary embodiment, the performing column update on the check node of the target iterative decoding layer includes:
通过如下公式对所述目标迭代译码层的校验节点进行所述列更新:The column update is performed on the check node of the target iterative decoding layer by the following formula:
L (n)(q ijm)=L (n)(Q im-1)-L (n-1)(r ijm) L (n) (q ijm )=L (n) (Q im-1 )-L (n-1) (r ijm )
式中,i表示变量节点,j表示校验节点;m代表层数,n代表迭代次数;L (n)(q ijm)表示在第n次迭代中的第m层,所述变量节点发送至所述校验节点的信息对数似然值,L (n)(Q im-1)表示在第n次迭代中第m-1层,所述变量节点更新信息后的信息对数似然值,L (n-1)(r ijm)表示在第n-1次迭代中的第m层,所述校验节点发送至所述变量节点的信息对数似然值。 In the formula, i represents the variable node, j represents the check node; m represents the number of layers, n represents the number of iterations; L (n) (q ijm ) represents the mth layer in the nth iteration, the variable node is sent to The information log-likelihood value of the check node, L (n) (Q im-1 ) represents the m-1th layer in the n-th iteration, the information log-likelihood value of the variable node after updating the information , L (n-1) (r ijm ) represents the mth layer in the n-1th iteration, the log-likelihood value of the information sent by the check node to the variable node.
在一个示例性实施例中,所述对目标迭代译码层的变量节点进行行更新包括:In an exemplary embodiment, the performing row update on the variable node of the target iterative decoding layer includes:
通过如下公式对所述目标迭代译码层的变量节点进行所述行更新:The row update is performed on the variable nodes of the target iterative decoding layer by the following formula:
Figure PCTCN2021091210-appb-000001
Figure PCTCN2021091210-appb-000001
式中,L (n)(r ijm)表示在第n次迭代中第m层,所述校验节点发送至与该校验节点对应的目标校验节点的信息对数似然值。 In the formula, L (n) (r ijm ) represents the log-likelihood value of the information sent by the check node to the target check node corresponding to the check node at the m-th layer in the n-th iteration.
在一个示例性实施例中,所述根据行更新和列更新的信息,更新第m层变量节点的后验概率信息包括:In an exemplary embodiment, the updating the posterior probability information of the mth layer variable node according to the information of row update and column update includes:
通过如下公式执行所述根据行更新和列更新的信息,更新第m层变量节点的后验概率信息:Update the posterior probability information of the m-th layer variable node according to the information of row update and column update according to the following formula:
L (n)(Q im)=L (n)(r ijm-1)+L (n)(q ijm) L (n) (Q im )=L (n) (r ijm-1 )+L (n) (q ijm )
式中,L (n)(Q im)表示在第n次迭代中第m层,所述变量节点更新信息后的信息对数似然值。 In the formula, L (n) (Q im ) represents the log-likelihood value of the information of the m-th layer in the n-th iteration after the information is updated by the variable node.
在一个示例性实施例中,在所述对其它迭代译码层的校验节点进行列更新之前,包括:In an exemplary embodiment, before performing column update on check nodes of other iterative decoding layers, the method includes:
设置初始信息对数似然值,并将迭代译码层数及迭代次数均初始化为预设值,其中,所述初始信息对数似然值是根据接收信号值及信道特征得到的,所述初始信息对数似然值表示未进行迭代的所述变量节点的信息对数似然值。The initial information log-likelihood value is set, and the number of iterative decoding layers and the number of iterations are initialized to preset values, wherein the initial information log-likelihood value is obtained according to the received signal value and channel characteristics, and the The initial information log-likelihood value represents the information log-likelihood value of the variable node that has not been iterated.
根据本发明的另一个实施例,提供了一种分组纠错码的译码装置,包括:According to another embodiment of the present invention, there is provided an apparatus for decoding a block error correction code, comprising:
译码层分组模块,设置为根据校验矩阵中子矩阵大小确定迭代译码层数,其中,所述校验矩阵由分组纠错码序列组成;The decoding layer grouping module is configured to determine the number of iterative decoding layers according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a grouped error correction code sequence;
目标处理模块,设置为基于目标迭代译码层中的目标校验节点对与所述目标校验节点关联的目标变量节点进行目标处理,其中,所述目标处理包括:The target processing module is configured to perform target processing on the target variable node associated with the target check node based on the target check node in the target iterative decoding layer, wherein the target processing includes:
对所述目标迭代译码层中与所述目标变量节点关联的所述目标校验节点进行第一行运算,所述第一行运算用于计算所述目标校验节点从与所述目标校验节点相关联的所有变量节点获取到的信息;根据所述第一行运算的运算结果,对所述目标变量节点进行第一列运算,所述 第一列运算用于计算所述目标变量节点从所述目标校验节点获取到的信息;根据所述第一列运算的运算结果,对所述目标变量节点进行信息更新,以确定更新后的目标变量节点;根据所述第一列运算的运算结果,对所述更新后的目标变量节点进行硬判决;在所述目标处理结果为硬判决不成立的情况下,基于与所述更新后的目标变量节点相关联的其它目标校验节点对所述更新后的目标变量节点进行所述目标处理;The first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the difference between the target check node and the target check node. The information obtained by all variable nodes associated with the test node; according to the operation result of the first row operation, the first column operation is performed on the target variable node, and the first column operation is used to calculate the target variable node. The information obtained from the target check node; according to the operation result of the first column operation, update the information on the target variable node to determine the updated target variable node; according to the operation result of the first column operation As a result of the operation, a hard decision is made on the updated target variable node; in the case that the target processing result is that the hard decision is not established, based on other target check nodes associated with the updated target variable node The updated target variable node performs the target processing;
第一迭代模块,设置为在所述目标处理结果均为硬判决均不成立的情况下,对目标迭代译码层中其它变量节点均进行所述目标处理;a first iterative module, configured to perform the target processing on all other variable nodes in the target iterative decoding layer under the condition that the target processing results are all hard decisions that fail to hold;
第二地带模块,设置为在所述目标处理结果均为硬判决不成立的情况下,依次对其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点进行所述目标处理,直到所述硬判决成立为止;其中,所述其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点包括其它迭代译码层中位置与所述目标迭代译码层的变量节点的位置相同的变量节点。The second zone module is configured to perform the target processing on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers in turn when the target processing results are all invalid. processing until the hard decision is established; wherein, the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer include the position in the other iterative decoding layers and the target iterative decoding layer. The variable node of the code layer has the same position as the variable node.
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。According to yet another embodiment of the present invention, a storage medium is also provided, wherein a computer program is stored in the storage medium, wherein the computer program is configured to execute the steps in any one of the above method embodiments when running.
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。According to yet another embodiment of the present invention, there is also provided an electronic device comprising a memory and a processor, wherein the memory stores a computer program, the processor is configured to run the computer program to execute any of the above Steps in Method Examples.
通过本发明,由于在执行一次行运算后便执行一次列运算,当列运算结果的硬判决成立即停止迭代,相比于现有技术无需进行所有变量节点的硬判决,减少了单次计算的计算量,也减少了整体的计算量因此,可以解决相关技术中收敛速度慢,纠错码模块效率低问题,达到提高计算纠错效率的效果。By means of the present invention, a column operation is performed after a row operation is performed, and the iteration is stopped immediately when the hard decision of the column operation result is performed. Compared with the prior art, there is no need to perform a hard decision on all variable nodes, and the cost of a single calculation is reduced. The calculation amount also reduces the overall calculation amount. Therefore, the problems of slow convergence speed and low error correction code module efficiency in the related art can be solved, and the effect of improving the calculation error correction efficiency can be achieved.
附图说明Description of drawings
图1是本发明中背景技术中表示现有技术的行运算的示意图;Fig. 1 is the schematic diagram representing the row operation of the prior art in the background technology of the present invention;
图2是本发明中背景技术中表示现有技术的列运算的示意图;FIG. 2 is a schematic diagram showing the column operation of the prior art in the background technology of the present invention;
图3是本发明实施例的一种分组纠错码的译码方法的移动终端的硬件结构框图;3 is a block diagram of a hardware structure of a mobile terminal of a method for decoding a packet error correction code according to an embodiment of the present invention;
图4是本发明实施例的一种分组纠错码的译码方法的流程图;4 is a flowchart of a method for decoding a block error correction code according to an embodiment of the present invention;
图5是本发明实施例的一种分组纠错码的译码装置的结构框图;5 is a structural block diagram of a decoding apparatus for a block error correction code according to an embodiment of the present invention;
图6是本发明实施例中表示迭代译码层的示意图;6 is a schematic diagram showing an iterative decoding layer in an embodiment of the present invention;
图7是本发明实施例中表示目标迭代译码层中进行行计算的示意图;7 is a schematic diagram showing row calculation performed in a target iterative decoding layer according to an embodiment of the present invention;
图8是本发明实施例中表示目标迭代译码层中进行列运算的示意图;8 is a schematic diagram illustrating a column operation performed in a target iterative decoding layer according to an embodiment of the present invention;
图9是本发明实施例中表示执行译码的译码电路的结构示意图;FIG. 9 is a schematic structural diagram showing a decoding circuit performing decoding in an embodiment of the present invention;
图10是本发明实施例中表示执行译码的译码电路的结构框图;10 is a block diagram showing the structure of a decoding circuit that performs decoding in an embodiment of the present invention;
图11是本发明实施例中表示执行译码过程的流程图。FIG. 11 is a flowchart showing a decoding process in an embodiment of the present invention.
具体实施方式detailed description
下文中将参考附图并结合实施例来详细说明本发明的实施例。Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings and in conjunction with the embodiments.
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that the terms "first", "second" and the like in the description and claims of the present invention and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or sequence.
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图3是本发明实施例的一种分组纠错码的译码方法的移动终端的硬件结构框图。如图3所示,移动终端可以包括一个或多个(图3中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和设置为存储数据的存储器104,其中,上述移动终端还可以包括设置为通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。The method embodiments provided in the embodiments of this application may be executed in a mobile terminal, a computer terminal, or a similar computing device. Taking running on a mobile terminal as an example, FIG. 3 is a block diagram of a hardware structure of a mobile terminal of a method for decoding a packet error correction code according to an embodiment of the present invention. As shown in FIG. 3 , the mobile terminal may include one or more (only one is shown in FIG. 3 ) processor 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 configured to store data, wherein the above-mentioned mobile terminal may further include a transmission device 106 and an input/output device 108 configured as a communication function. Those skilled in the art can understand that the structure shown in FIG. 3 is only for illustration, and it does not limit the structure of the above-mentioned mobile terminal. For example, the mobile terminal may further include more or less components than those shown in FIG. 3 , or have a different configuration than that shown in FIG. 3 .
存储器104可设置为存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种分组纠错码的译码方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 104 may be configured to store computer programs, for example, software programs and modules of application software, such as a computer program corresponding to a method for decoding a block error correction code in an embodiment of the present invention. The processor 102 stores the program in the memory 104 by running The computer program within the system, thereby executing various functional applications and data processing, implements the above-mentioned method. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory located remotely from the processor 102, and these remote memories may be connected to the mobile terminal through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
传输装置106设置为经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其设置为通过无线方式与互联网进行通讯。Transmission means 106 are arranged to receive or transmit data via a network. The specific example of the above-mentioned network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC for short), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (Radio Frequency, RF for short) module, which is configured to communicate with the Internet in a wireless manner.
在本实施例中提供了一种分组纠错码的译码方法,图4是根据本发明实施例的流程图,如图4所示,该流程包括如下步骤:A method for decoding a block error correction code is provided in this embodiment. FIG. 4 is a flowchart according to an embodiment of the present invention. As shown in FIG. 4 , the flowchart includes the following steps:
步骤S202,根据校验矩阵中子矩阵大小确定迭代译码层数,其中,校验矩阵由分组纠错码序列组成;Step S202, determining the number of iterative decoding layers according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a block error correction code sequence;
在一个可选的实施例中,由于检验矩阵中的子矩阵较多,根据子矩阵的大小确定迭代译码层数能够分别对不同层的子矩阵进行校验,当校验结果符合要求时,则停止校验,从而无需对所有的子矩阵进行校验,提高了校验速率;以LDPC码为例,例如检验矩阵为4*8的矩阵,子矩阵为1*1的矩阵,则迭代译码层数为4层。In an optional embodiment, since there are many sub-matrices in the check matrix, determining the number of iterative decoding layers according to the size of the sub-matrix can check the sub-matrices of different layers respectively. When the check result meets the requirements, Then the check is stopped, so that it is not necessary to check all the sub-matrices, which improves the check rate; taking LDPC code as an example, for example, the check matrix is a 4*8 matrix, and the sub-matrix is a 1*1 matrix, then iterative decoding The number of code layers is 4 layers.
步骤S204,基于目标迭代译码层中的目标校验节点对与目标校验节点关联的目标变量节点进行目标处理,其中,目标处理包括:Step S204, performing target processing on the target variable node associated with the target check node based on the target check node in the target iterative decoding layer, wherein the target processing includes:
对目标迭代译码层中与目标变量节点关联的目标校验节点进行第一行运算,第一行运算用于计算目标校验节点从与目标校验节点相关联的所有变量节点获取到的信息,其中,信息包括目标变量节点的对数似然值;The first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the information obtained by the target check node from all variable nodes associated with the target check node. , where the information includes the log-likelihood value of the target variable node;
根据第一行运算的运算结果,对目标变量节点进行第一列运算,第一列运算用于计算目标变量节点从目标校验节点获取到的信息;According to the operation result of the operation in the first row, a first column operation is performed on the target variable node, and the first column operation is used to calculate the information obtained by the target variable node from the target check node;
根据第一列运算的运算结果,对目标变量节点进行信息更新,以确定更新后的目标变量节点;According to the operation result of the operation in the first column, the information of the target variable node is updated to determine the updated target variable node;
根据第一列运算的运算结果,对更新后的目标变量节点进行硬判决;According to the operation result of the first column operation, make a hard decision on the updated target variable node;
在目标处理结果为硬判决不成立的情况下,基于与更新后的目标变量节点相关联的其它目标校验节点对更新后的目标变量节点进行目标处理。In the case that the result of the target processing is that the hard decision does not hold, target processing is performed on the updated target variable node based on other target check nodes associated with the updated target variable node.
在本实施例中,以LDPC码为例,若该LDPC码只有一层迭代译码层的情况下,一个子矩阵中包含多个校验节点和多个变量节点,一个校验节点往往与多个变量节点相关联,且一个变量节点也会与多个校验节点相关联,而译码就是译出所有变量节点的信息,所以需要依次对变量节点进行列运算以计算出所有变量节点的信息。In this embodiment, taking an LDPC code as an example, if the LDPC code has only one iterative decoding layer, a sub-matrix includes multiple check nodes and multiple variable nodes, and one check node is often associated with multiple check nodes. Each variable node is associated with one variable node, and one variable node is also associated with multiple check nodes, and decoding is to decode the information of all variable nodes, so it is necessary to perform column operations on the variable nodes in turn to calculate the information of all variable nodes. .
同时,一个变量节点会与一个或多个校验节点相关联,因此在计算一个变量节点的信息时,需要先对校验节点进行行运算以确定每个校验节点所包含的信息。At the same time, a variable node is associated with one or more check nodes. Therefore, when calculating the information of a variable node, it is necessary to perform row operations on the check nodes to determine the information contained in each check node.
例如,校验节点u0分别与变量节点v0,v1以及v2相关联,则分别计算校验节点u0从变量节点v0,v1以及v2得到的信息。For example, if the check node u0 is respectively associated with the variable nodes v0, v1 and v2, the information obtained by the check node u0 from the variable nodes v0, v1 and v2 is calculated respectively.
同理,在进行列运算时,由于变量节点v0分别与校验节点u0和u1相关联,因而分别计算变量节点v0从校验节点u0和u1获得的信息,随后根据计算结果对该变量节点进行数据更新。Similarly, during the column operation, since the variable node v0 is associated with the check nodes u0 and u1 respectively, the information obtained by the variable node v0 from the check nodes u0 and u1 is calculated respectively, and then the variable node is calculated according to the calculation result. Data Update.
在本实施例中,在对校验节点u0进行行运算之后,随即对变量节点v0第一列运算,以确定变量节点从校验节点u0获得的信息,此时由于无需计算变量节点v0从校验节点u1获得的信息,因而减少了计算量,从而提高了计算效率。In this embodiment, after the row operation is performed on the check node u0, the first column of the variable node v0 is operated immediately to determine the information obtained by the variable node from the check node u0. The information obtained by the verification node u1 is reduced, and the calculation efficiency is improved.
进一步的,当变量节点v0分别与校验节点u0和u1相关联时,将变量节点v0从校验节点u0的获得信息作为目标变量节点v0’的信息,此时目标变量节点v0’不包含变量节点v0从 校验节点u1的信息,因而在执行译码时,计算量相对较少,从而提高了计算效率。Further, when the variable node v0 is respectively associated with the check nodes u0 and u1, the information obtained by the variable node v0 from the check node u0 is used as the information of the target variable node v0', and the target variable node v0' does not contain variables at this time. The node v0 checks the information of the node u1, so when the decoding is performed, the amount of calculation is relatively small, thereby improving the calculation efficiency.
在本实施例中,硬判决成立的条件为Hc T=0,式中,H表示奇偶校验矩阵,c表示卷积码的码矢量,t表示矢量转置,其中当Hc T=0成立时,则判定译码成功,若不成立,则判定译码不成功。 In this embodiment, the condition for the establishment of the hard decision is Hc T =0, where H represents the parity check matrix, c represents the code vector of the convolutional code, and t represents the vector transposition, where when Hc T =0 is established , then it is determined that the decoding is successful, if not, it is determined that the decoding is unsuccessful.
例如,在确定目标变量节点后,对目标变量节点v0’进行译码,而对目标变量节点v0’执行硬判决即为判断对目标变量节点v0’的译码是否成功;其中,H表示一个M行N列的奇偶校验矩阵,c表示长度为N的行矢量,当Hc T=0成立时,则判定奇偶校验矩阵中的元素线性相关,从而判定译码成功,此时终止迭代。 For example, after the target variable node is determined, the target variable node v0' is decoded, and the hard decision on the target variable node v0' is to judge whether the decoding of the target variable node v0' is successful; wherein, H represents an M For a parity check matrix with rows and N columns, c represents a row vector of length N. When Hc T = 0 is established, it is determined that the elements in the parity check matrix are linearly correlated, and the decoding is determined to be successful, and the iteration is terminated at this time.
在本实施例中,在与目标变量节点相关联的第一校验节点的列运算的硬判决不成立的情况下,对与目标变量节点相关联的第二校验节点分别进行行运算和列运算;In this embodiment, if the hard decision of the column operation of the first check node associated with the target variable node does not hold, the row operation and column operation are respectively performed on the second check node associated with the target variable node. ;
例如,当变量节点v0分别与校验节点u0和u1相关联时,在对u0与v0的列运算的硬判决不成立的情况下,还需要计算变量节点v0从校验节点u1获得的信息,因此需要确定先对校验节点u1进行行运算以校验节点u1所包含的信息,随后再将校验节点u1的信息传递至变量节点v0;由于在完成校验节点u1的行运算之后,随即便执行列运算,由于列运算只计算变量节点v0从第二校验节点u1获得的信息,无需计算变量节点v0从其它校验节点(如u0)获得的信息,因而减少了计算量,提高了运算效率。For example, when the variable node v0 is associated with the check nodes u0 and u1 respectively, in the case that the hard decision on the column operation of u0 and v0 does not hold, the information obtained by the variable node v0 from the check node u1 also needs to be calculated, so It is necessary to make sure that the row operation is performed on the check node u1 to check the information contained in the node u1, and then the information of the check node u1 is transferred to the variable node v0; since the row operation of the check node u1 is completed, the Perform column operation, because column operation only calculates the information obtained by the variable node v0 from the second check node u1, and does not need to calculate the information obtained by the variable node v0 from other check nodes (such as u0), thus reducing the amount of calculation and improving the operation. effectiveness.
而在完成对u1与v0之间的列运算之后,将u1与v0的列运算的结果和u1与v0之间的运算结果共同作为初始信息对变量节点v0进行更新,从而将变量节点v0确定为待译码目标变量节点v0’。After the column operation between u1 and v0 is completed, the result of the column operation between u1 and v0 and the operation result between u1 and v0 are used as initial information to update the variable node v0, so that the variable node v0 is determined as The target variable node v0' to be decoded.
随后对更新后的变量节点v0’进行硬判决,当Hc T=0成立时,则判定译码成功,若不成立,则对于目标变量节点相关联的第三校验节点(如v2)重复上述动作,直到对目标变量节点的译码成功。 Then a hard decision is made on the updated variable node v0'. When Hc T =0 is established, it is determined that the decoding is successful. If not, the above actions are repeated for the third check node (eg v2) associated with the target variable node. , until the decoding of the target variable node is successful.
步骤S206,在目标处理结果均为硬判决均不成立的情况下,对目标迭代译码层中其它变量节点均进行目标处理。Step S206, in the case that the target processing results are all hard decisions and none of the hard decisions are established, perform target processing on all other variable nodes in the target iterative decoding layer.
例如,在目标迭代译码层具有多个变量节点v0-v7的情况下,在变量节点v0完成与其相关联的所有校验节点(如u0-u1)的行运算和列运算且完成对变量节点v0的所有信息更新后,变量节点v0的硬判决依旧不成立,则此时依次对变量节点v1-v7执行目标处理,直到硬判决成立或完成对所有变量节点的更新。For example, in the case where the target iterative decoding layer has multiple variable nodes v0-v7, the variable node v0 completes the row and column operations of all check nodes (such as u0-u1) associated with it and completes the variable node v0. After all the information of v0 is updated, the hard decision of the variable node v0 is still not established, then the target processing is performed on the variable nodes v1-v7 in sequence until the hard decision is established or the update of all variable nodes is completed.
步骤S208,在目标处理结果均为硬判决不成立的情况下,依次对其它迭代译码层中与目标迭代译码层的变量节点相对应的变量节点进行目标处理,直到硬判决成立为止;其中,其它迭代译码层中与目标迭代译码层的变量节点相对应的变量节点包括其它迭代译码层中位置与目标迭代译码层的变量节点的位置相同的变量节点。Step S208, in the case where the target processing result is that the hard decision is not established, the target processing is performed on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers in turn, until the hard decision is established; wherein, The variable nodes in the other iterative decoding layers corresponding to the variable nodes of the target iterative decoding layer include variable nodes in the other iterative decoding layers whose positions are the same as the positions of the variable nodes of the target iterative decoding layer.
在本实施例中,在迭代译码层有多层,且第一层的硬判决均不成立时,则则执行迭代译码层之间的信息迭代。In this embodiment, when there are multiple layers of iterative decoding layers and none of the hard decisions of the first layer hold, information iteration between the iterative decoding layers is performed.
以LDPC码的迭代译码层有多层为例,在完成第一层的一个变量节点从与该变量节点的所有校验节点获得的信息后,对该变量节点执行译码和硬判决处理,当译码不成功时,则将该变量节点从与该变量节点相关联的所有校验节点获得的信息作为第二层的对应的变量节点的初始值,随后对第二层的该变量节点对应的变量节点执行列运算和行运算,以此类推,直到译码成功。Taking the iterative decoding layer of the LDPC code as an example, after completing the information obtained by a variable node of the first layer from all check nodes with the variable node, decoding and hard decision processing are performed on the variable node, When the decoding is unsuccessful, the information obtained by the variable node from all check nodes associated with the variable node is used as the initial value of the corresponding variable node of the second layer, and then the corresponding variable node of the second layer is used. The variable nodes of , perform column operations and row operations, and so on, until decoding is successful.
例如,第一层中,变量节点v0分别与校验节点u0和u1相关联,则在计算得到变量节点v0从校验节点u0和u1的信息后,对变量节点v0进行更新以得到目标变量节点v0’,随后对目标变量节点v0’进行译码和硬判决,在译码不成功的情况下,将目标变量节点v0’的信息作为第二层的变量节点v02的初始信息,其中,变量节点v02与变量节点v0相对应,且在第二层中,变量节点v02分别与校验节点u12、校验节点u22和校验节点u32相关联,随后对校验节点u12作行运算,再对变量节点v02作列运算,再对变量节点v02作更新和译码,若译码成功则停止迭代运算,否则继续进行迭代译码层的迭代计算,重复上述动作,直到译码成功。For example, in the first layer, the variable node v0 is respectively associated with the check nodes u0 and u1, then after calculating the information of the variable node v0 from the check nodes u0 and u1, update the variable node v0 to obtain the target variable node v0', then perform decoding and hard decision on the target variable node v0', in the case of unsuccessful decoding, take the information of the target variable node v0' as the initial information of the variable node v02 of the second layer, wherein, the variable node v02 corresponds to the variable node v0, and in the second layer, the variable node v02 is respectively associated with the check node u12, the check node u22 and the check node u32, and then performs row operations on the check node u12, and then the variable Node v02 performs the column operation, and then updates and decodes the variable node v02. If the decoding is successful, the iterative operation is stopped. Otherwise, the iterative calculation of the iterative decoding layer is continued, and the above actions are repeated until the decoding is successful.
通过上述步骤,由于在对变量节点进行列运算时,只需进行变量节点与单个校验节点的信息,因而计算量相对较少,从而解决了译码耗时长、译码收敛速度慢,提高了纠错模块的译码效率。Through the above steps, since only the information of the variable node and a single check node needs to be performed when performing column operations on the variable nodes, the amount of calculation is relatively small, which solves the problem of long time-consuming decoding and slow decoding convergence speed. The decoding efficiency of the error correction module.
其中,上述步骤的执行主体可以为基站、终端等,但不限于此。Wherein, the execution subject of the above steps may be a base station, a terminal, etc., but is not limited thereto.
在一个可选的实施例中,在依次对其它迭代译码层中与目标迭代译码层的变量节点相对应的变量节点进行目标处理之前,该方法还包括:In an optional embodiment, before the target processing is performed on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers in sequence, the method further includes:
步骤S2080,将目标迭代译码层的变量节点的列运算结果对应作为其它迭代译码层中与目标迭代译码层的变量节点相对应的变量节点的初始值。Step S2080, taking the column operation result of the variable node of the target iterative decoding layer as the initial value of the variable node corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers.
在本实施例中,以LDPC码的迭代译码层有多层为例,在完成第一层的一个变量节点从与该变量节点的所有校验节点获得的信息后,对该变量节点执行译码和硬判决处理,当译码不成功时,则将该变量节点从与该变量节点相关联的所有校验节点获得的信息作为第二层的对应的变量节点的初始值,随后对第二层的该变量节点对应的变量节点执行列运算和行运算,以此类推,直到译码成功。In this embodiment, taking the iterative decoding layer of the LDPC code as an example, after completing the information obtained by a variable node of the first layer from all check nodes associated with the variable node, the variable node is decoded. code and hard decision processing, when the decoding is unsuccessful, the information obtained by the variable node from all check nodes associated with the variable node is used as the initial value of the corresponding variable node of the second layer, and then the second The variable node corresponding to the variable node of the layer performs column operation and row operation, and so on, until the decoding is successful.
例如,第一层中,变量节点v0分别与校验节点u0和u1相关联,则在计算得到变量节点v0从校验节点u0和u1的信息后,对变量节点v0进行更新以得到目标变量节点v0’,随后对目标变量节点v0’进行译码和硬判决,在译码不成功的情况下,将目标变量节点v0’的信息作为第二层的变量节点v02的初始信息,其中,变量节点v02与变量节点v0相对应,且在第二层中,变量节点v02分别与校验节点u12、校验节点u22和校验节点u32相关联,随后对校验 节点u12作行运算,再对变量节点v02作列运算,再对变量节点v02作更新和译码,若译码成功则停止迭代运算,否则继续进行迭代译码层的迭代计算,重复上述动作,直到译码成功。For example, in the first layer, the variable node v0 is respectively associated with the check nodes u0 and u1, then after calculating the information of the variable node v0 from the check nodes u0 and u1, update the variable node v0 to obtain the target variable node v0', then perform decoding and hard decision on the target variable node v0', in the case of unsuccessful decoding, take the information of the target variable node v0' as the initial information of the variable node v02 of the second layer, wherein, the variable node v02 corresponds to the variable node v0, and in the second layer, the variable node v02 is respectively associated with the check node u12, the check node u22 and the check node u32, and then performs row operations on the check node u12, and then the variable Node v02 performs the column operation, and then updates and decodes the variable node v02. If the decoding is successful, the iterative operation is stopped. Otherwise, the iterative calculation of the iterative decoding layer is continued, and the above actions are repeated until the decoding is successful.
其中,在一个可选的实施例中,将目标迭代译码层的目标变量节点的列运算结果对应作为其它迭代译码层中与目标迭代译码层的目标变量节点相对应的变量节点的初始值包括:Wherein, in an optional embodiment, the column operation result of the target variable node of the target iterative decoding layer is used as the initial value of the variable node corresponding to the target variable node of the target iterative decoding layer in other iterative decoding layers. Values include:
步骤S2084,对其它迭代译码层的校验节点进行列更新,其中,列更新表示在第n次迭代中的第m层,将信息由第m-1层更新后的变量节点传递给第m层对应的校验节点;Step S2084, perform column update on the check nodes of other iterative decoding layers, wherein the column update represents the mth layer in the nth iteration, and the information is transferred from the updated variable node of the m-1th layer to the mth layer. The check node corresponding to the layer;
在进行不同迭代译码层的信息传递时,由于变量节点的信息与校验节点的信息有关,因而在进行变量节点的更新传递之前,需要先确定对应的校验节点的信息。During the information transfer of different iterative decoding layers, since the information of the variable node is related to the information of the check node, the information of the corresponding check node needs to be determined before the update transfer of the variable node.
在一个可选的实施例中,对目标迭代译码层的校验节点进行列更新的计算公式包括:In an optional embodiment, the calculation formula for column update of the check node of the target iterative decoding layer includes:
L (n)(q ijm)=L (n)(Q im-1)-L (n-1)(r ijm) L (n) (q ijm )=L (n) (Q im-1 )-L (n-1) (r ijm )
式中,i表示变量节点,j表示校验节点;m代表层数,n代表迭代次数;L (n)(q ijm)表示在第n次迭代中的第m层,变量节点i发送至校验节点j的信息对数似然值,L (n)(Q im-1)表示在第n次迭代中第m-1层,变量节点i更新信息后的信息对数似然值,L (n-1)(r ijm)表示在第n-1次迭代中的第m层,校验节点j发送至变量节点i的信息对数似然值。 In the formula, i represents the variable node, j represents the check node; m represents the number of layers, n represents the number of iterations; L (n) (q ijm ) represents the mth layer in the nth iteration, and the variable node i is sent to the check node. The log-likelihood value of the information of the test node j, L (n) (Q im-1 ) represents the log-likelihood value of the information after updating the information of the variable node i in the m-1th layer in the nth iteration, L ( n-1) (r ijm ) represents the log-likelihood value of the information sent by the check node j to the variable node i at the mth layer in the n-1th iteration.
上式表示在第n次迭代中第m层,由第m-1层更新后的变量节点传递给第m层校验节点的信息;在计算第n次迭代中的第m层中,由第m-1层更新后的变量节点i传递给第m层校验节点j的信息时,需要先确定L (n)(q ijm),即在计算第n次迭代中第m层,校验节点j发送至变量节点i的信息对数似然值L(r)时需要先算出L (n)(q ijm),才能算出,所以使用上次迭代的信息L (n-1)(r ijm)来当做L(r),而第n次迭代中的第m层的变量节点i更新信息后的信息对数似然值L(Q)需要变量节点i发送至校验节点j的信息对数似然值L(r)与校验节点j发送至变量节点i的信息对数似然值L(q)相加才能得到,所以使用m-1层的L (n)(Q im-1)当做本次计算L(q)=L(Q)-L(r)中的L(Q)。 The above formula expresses the information passed from the updated variable node of the m-1th layer to the check node of the mth layer in the mth layer in the nth iteration; in the calculation of the mth layer in the nth iteration, by the When the updated variable node i of the m-1 layer transmits the information to the check node j of the m-th layer, it is necessary to first determine L (n) (q ijm ), that is, in the calculation of the n-th iteration, the check node of the m-th layer is When j sends the log-likelihood value L(r) of the information to the variable node i, it needs to calculate L (n) (q ijm ) before it can be calculated, so the information L (n-1) (r ijm ) of the previous iteration is used. As L(r), and the information log-likelihood value L(Q) of the variable node i of the mth layer in the nth iteration after updating the information requires the log-likelihood of the information sent by the variable node i to the check node j. The natural value L(r) can only be obtained by adding the log-likelihood value L(q) of the information sent by the check node j to the variable node i, so L (n) (Q im-1 ) of the m-1 layer is used as This time, L(Q) in L(q)=L(Q)-L(r) is calculated.
步骤S2086,对其它迭代译码层的变量节点进行行更新,其中,行更新表示在第n次迭代中的第m层,第m层的校验节点将更新后的信息传递给第m层中的变量节点;Step S2086, performing row update on the variable nodes of other iterative decoding layers, wherein the row update represents the mth layer in the nth iteration, and the check node of the mth layer transmits the updated information to the mth layer. the variable node;
在完成当层的校验节点的更新之后,随后依次对当层的变量节点进行行运算,以完成对变量节点的更新。After the update of the check nodes of the current layer is completed, row operations are subsequently performed on the variable nodes of the current layer to complete the update of the variable nodes.
在一个可选的实施例中,对目标迭代译码层的变量节点进行行更新的计算公式包括:In an optional embodiment, the calculation formula for row update of the variable node of the target iterative decoding layer includes:
Figure PCTCN2021091210-appb-000002
中,L (n)(r ijm)表示在第n次迭代中第m层,校验节点发送至与该校验节点对应的目标校验节点的信息对数似然值;α是归一化因子,在一个可选的实施例中,为了减小硬件实现复杂度并且保持良好的译码性能, α通常设置为0.75。
Mode
Figure PCTCN2021091210-appb-000002
, L (n) (r ijm ) represents the log-likelihood value of the information sent by the check node to the target check node corresponding to the check node at the m-th layer in the n-th iteration; α is the normalized factor, in an optional embodiment, in order to reduce the hardware implementation complexity and maintain good decoding performance, α is usually set to 0.75.
上式表示在第n次迭代中第m层,第m层的校验节点更新后传递给第m层变量节点的信息;其中,在对sign(L (n)(q ijm))进行取值时,sign(L (n)(q ijm))的值可为正值,也可为负值,若sign(L (n)(q ijm))的取值为正值,则可以确定该变量节点的元素类型,,若为负值则表示变量节点的元素类型为另一个值;例如,以LDPC码为例,由于LDPC码为二元码,因而其元素只包括0和1,即变量节点的值为0或1;假设上次迭代得到该元素为0的概率是0.7,那么在本次迭代中,得到为0的概率就是0.7+取正值的sign(L (n)(q ijm))或0.7+取负值的sign(L (n)(q ijm)),所以当sign(L (n)(q ijm))为正值,元素为0的概率就会变大,sign(L (n)(q ijm))为负值时,元素为0概率就会变小,从而可以判定该变量节点的元素类型;其中,当元素0或1的概率达到0.9以上则可以确定该元素是0还是1。 The above formula represents the information transmitted to the mth layer variable node after the mth layer and the mth layer check node in the nth iteration; , the value of sign(L (n) (q ijm )) can be positive or negative. If the value of sign(L (n) (q ijm )) is positive, the variable can be determined The element type of the node, if it is a negative value, it means that the element type of the variable node is another value; for example, taking the LDPC code as an example, since the LDPC code is a binary code, its elements only include 0 and 1, that is, the variable node The value of is 0 or 1; assuming that the probability that the element is 0 in the last iteration is 0.7, then in this iteration, the probability of getting 0 is 0.7 + positive value sign(L (n) (q ijm ) ) or 0.7+ negative sign(L (n) (q ijm )), so when sign(L (n) (q ijm )) is positive, the probability that the element is 0 will become larger, sign(L When (n) (q ijm )) is a negative value, the probability of the element being 0 will become smaller, so that the element type of the variable node can be determined. 0 or 1.
步骤S2088,对其它迭代译码层的变量节点进行后验概率信息更新,即在第n次迭代中的第m层,根据行更新和列更新的信息,更新第m层变量节点的后验概率信息。Step S2088, update the posterior probability information of the variable nodes of other iterative decoding layers, that is, at the mth layer in the nth iteration, update the posterior probability of the mth layer variable node according to the information of row update and column update information.
在一个可选的实施例中,根据行更新和列更新的信息,更新第m层变量节点的后验概率信息的计算公式包括:In an optional embodiment, according to the information of row update and column update, the calculation formula for updating the posterior probability information of the mth layer variable node includes:
L (n)(Q im)=L (n)(r ijm-1)+L (n)(q ijm) L (n) (Q im )=L (n) (r ijm-1 )+L (n) (q ijm )
式中,L (n)(Q im)表示在第n次迭代中第m层,变量节点完成信息更新后的信息对数似然值,其中信息对数似然值用于进行信息数据的修正;式中采用L (n)(q ijm-1)而不采用L (n)(q ijm),能够使得计算更快,在进行硬件实现时能够节省计算资源。因为,在计算n次迭代m层时,只要算出了本层的L (n)(q ijm),则可以利用m-1层的L (n)(r ijm-1)对第m层变量节点的后验概率信息进行计算,这样就不用等算出本层的L (n)(r ijm)信息才去对变量节点的后验概率信息进行计算,至于本层得到的L (n)(r ijm)信息则在执行第m+1层的迭代计算时再使用。 In the formula, L (n) (Q im ) represents the information log-likelihood value of the m-th layer in the n-th iteration, after the variable node completes the information update, where the information log-likelihood value is used to correct the information data ; In the formula, L (n) (q ijm-1 ) is used instead of L (n) (q ijm ), which can make the calculation faster, and can save computing resources during hardware implementation. Because, when calculating the m layer for n iterations, as long as L (n) (q ijm ) of the current layer is calculated, L (n) (r ijm-1 ) of the m-1 layer can be used for the variable node of the m-th layer. Calculate the posterior probability information of the variable node, so that you do not have to wait for the L (n) (r ijm ) information of this layer to calculate the posterior probability information of the variable node. As for the L (n) (r ijm ) obtained by this layer ) information is then used when performing the iterative calculation of the m+1th layer.
需要说明的是,在m层,在完成变量节点的信息更新之后,则执行对变量节点的硬判决和译码,若硬判决Hc T=0成立,则译码正确,终止迭代;否则将变量节点的信息传递至下一层,即令上述公式中的m=m+1,并执行列更新和行更新以及行运算和列运算。 It should be noted that, in the m layer, after the information update of the variable node is completed, the hard decision and decoding of the variable node is performed. If the hard decision Hc T =0 is established, the decoding is correct and the iteration is terminated; otherwise, the variable The information of the node is passed to the next layer, that is, m=m+1 in the above formula, and column update and row update and row operation and column operation are performed.
若m超过设定的H矩阵层数而没得到正确译码结果,则进行下次迭代,即令上述公式中的n=n+1,m=1,如此循环操作直至译码正确或达到最大迭代次数。If m exceeds the set number of H matrix layers and the correct decoding result is not obtained, the next iteration is performed, that is, n=n+1, m=1 in the above formula, and this cycle operates until the decoding is correct or the maximum iteration is reached frequency.
步骤S2082,在一个可选的实施例中,在对目标迭代译码层的校验节点进行列更新之前,包括:Step S2082, in an optional embodiment, before performing column update on the check node of the target iterative decoding layer, including:
设置初始信息对数似然值,并将迭代译码层数即迭代次数均初始化为预设值。The initial log-likelihood value of information is set, and the number of iterative decoding layers, that is, the number of iterations, is initialized to a preset value.
在一个可选的实施例中,初始化的公式为:In an optional embodiment, the initialization formula is:
L (0)(Q i)=L(P i)=y i;m=1,n=1,式中,初始信息似然值为y i,y i与经过信道解调后得 到的序列的信息,且层数n和迭代次数n均设置为1。 L (0) (Q i )=L(P i )=y i ; m=1, n=1, in the formula, the initial information likelihood value is y i , the difference between y i and the sequence obtained after channel demodulation information, and the number of layers n and the number of iterations n are both set to 1.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。From the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is better implementation. Based on this understanding, the technical solutions of the present invention can be embodied in the form of software products in essence or the parts that make contributions to the prior art, and the computer software products are stored in a storage medium (such as ROM/RAM, magnetic disk, CD-ROM), including several instructions to make a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) execute the methods described in the various embodiments of the present invention.
在本实施例中还提供了一种分组纠错码的译码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。This embodiment also provides an apparatus for decoding a block error correction code, which is used to implement the above-mentioned embodiments and preferred implementations, and what has been described will not be repeated. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, implementations in hardware, or a combination of software and hardware, are also possible and contemplated.
图5是根据本发明实施例的一种分组纠错码的译码装置的结构框图,如图5所示,该装置包括:FIG. 5 is a structural block diagram of an apparatus for decoding a block error correction code according to an embodiment of the present invention. As shown in FIG. 5 , the apparatus includes:
译码层分组模块52,设置为根据校验矩阵中子矩阵大小确定迭代译码层数,其中,校验矩阵由分组纠错码序列组成;The decoding layer grouping module 52 is configured to determine the number of iterative decoding layers according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a grouped error correction code sequence;
目标处理模块54,设置为基于目标迭代译码层中的目标校验节点对与目标校验节点关联的目标变量节点进行目标处理,其中,目标处理包括:The target processing module 54 is configured to perform target processing on the target variable node associated with the target check node based on the target check node in the target iterative decoding layer, wherein the target processing includes:
对目标迭代译码层中与目标变量节点关联的目标校验节点进行第一行运算,第一行运算用于计算目标校验节点从与目标校验节点相关联的所有变量节点获取到的信息;根据第一行运算的运算结果,对目标变量节点进行第一列运算,第一列运算用于计算目标变量节点从目标校验节点获取到的信息;根据第一列运算的运算结果,对目标变量节点进行信息更新,以确定更新后的目标变量节点;根据第一列运算的运算结果,对更新后的目标变量节点进行硬判决;在目标处理结果为硬判决不成立的情况下,基于与更新后的目标变量节点相关联的其它目标校验节点对更新后的目标变量节点进行目标处理;The first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the information obtained by the target check node from all variable nodes associated with the target check node. ; According to the operation result of the first row operation, perform the first column operation on the target variable node, and the first column operation is used to calculate the information obtained by the target variable node from the target check node; According to the operation result of the first column operation, to The information of the target variable node is updated to determine the updated target variable node; according to the operation result of the first column of operations, a hard decision is made on the updated target variable node; Other target check nodes associated with the updated target variable node perform target processing on the updated target variable node;
第一迭代模块56,设置为在目标处理结果均为硬判决均不成立的情况下,对目标迭代译码层中其它变量节点均进行目标处理;The first iterative module 56 is configured to perform target processing on all other variable nodes in the target iterative decoding layer under the condition that the result of the target processing is all the hard decisions are not established;
第二迭代模块58,设置为在目标处理结果均为硬判决不成立的情况下,依次对其它迭代译码层中与目标迭代译码层的变量节点相对应的变量节点进行目标处理,直到硬判决成立为止;其中,其它迭代译码层中与目标迭代译码层的变量节点相对应的变量节点包括其它迭代译码层中位置与目标迭代译码层的变量节点的位置相同的变量节点。The second iterative module 58 is configured to perform target processing on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers in turn when the target processing results are all unsatisfactory hard decisions, until the hard decision is reached. The variable nodes in other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer include variable nodes in other iterative decoding layers whose positions are the same as those of the variable nodes in the target iterative decoding layer.
在一个可选的实施例中,该装置还包括:In an optional embodiment, the device further includes:
信息传递单元580,设置为将目标迭代译码层的变量节点的列运算结果对应作为其它迭代 译码层中与目标迭代译码层的变量节点相对应的变量节点的初始值。The information transmission unit 580 is configured to take the column operation result of the variable node of the target iterative decoding layer as the initial value of the variable node corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers.
在一个可选的实施例中,第二迭代模块58包括:In an optional embodiment, the second iteration module 58 includes:
列更新单元584,设置为对其它迭代译码层的校验节点进行列更新,其中,列更新表示在第n次迭代中的第m层,将信息由第m-1层更新后的变量节点传递给第m层对应的校验节点;The column update unit 584 is configured to perform column update on the check nodes of other iterative decoding layers, wherein the column update represents the mth layer in the nth iteration, and the information is updated by the variable node of the m-1th layer. Pass it to the check node corresponding to the mth layer;
行更新单元586,设置为对其它迭代译码层的变量节点进行行更新,其中,行更新表示在第n次迭代中的第m层,第m层的校验节点将更新后的信息传递给第m层中的变量节点;The row update unit 586 is configured to perform row update on the variable nodes of other iterative decoding layers, wherein the row update represents the mth layer in the nth iteration, and the check node of the mth layer transmits the updated information to variable nodes in the mth layer;
在完成当层的校验节点的更新之后,随后依次对当层的变量节点进行行运算,以完成对变量节点的更新;After the update of the check node of the current layer is completed, the row operation is performed on the variable node of the current layer in turn to complete the update of the variable node;
后验更新单元588,设置为对其它迭代译码层的变量节点进行后验概率信息更新,即在第n次迭代中的第m层,根据行更新和列更新的信息,更新第m层变量节点的后验概率信息。The posterior updating unit 588 is configured to update the posterior probability information of the variable nodes of other iterative decoding layers, that is, at the mth layer in the nth iteration, update the mth layer variable according to the information of row update and column update The posterior probability information of the node.
在一个可选的实施例中,第二迭代模块58还包括:In an optional embodiment, the second iteration module 58 further includes:
重置单元582,设置为设置初始信息对数似然值,并将迭代译码层数即迭代次数均初始化为预设值。The reset unit 582 is configured to set the initial log-likelihood value of information, and initialize the number of iterative decoding layers, that is, the number of iterations, to a preset value.
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。It should be noted that the above modules can be implemented by software or hardware, and the latter can be implemented in the following ways, but not limited to this: the above modules are all located in the same processor; or, the above modules can be combined in any combination The forms are located in different processors.
下面结合具体示例对本发明的进行说明:The present invention will be described below in conjunction with specific examples:
如图6至图8所示,当迭代译码层有包括z1-z4(对应图6)时,在目标迭代译码层z1中,校验节点包括u0-u3,变量节点包括v0-v6,其中,变量节点v0与校验节点u0相关联,检验节点u0与变量节点v0、v2以及v3相关联(对应图7及图8)。As shown in Figures 6 to 8, when the iterative decoding layer includes z1-z4 (corresponding to Figure 6), in the target iterative decoding layer z1, the check node includes u0-u3, the variable node includes v0-v6, The variable node v0 is associated with the check node u0, and the check node u0 is associated with the variable nodes v0, v2 and v3 (corresponding to FIG. 7 and FIG. 8 ).
在对变量节点v0进行列计算前,先对校验节点u0进行行计算,再根据变量节点v0的列计算结果对变量节点进行节点更新,并对变量节点v0的列计算结果进行硬判决,当硬判决结果不成立或完成对变量节点v0完成更新后,对与变量节点v1相关联的校验节点进行行计算,再对变量节点进行列计算,重复上述动作,直到所有的变量节点均完成更新。Before the column calculation of the variable node v0, the row calculation of the check node u0 is performed first, and then the node update of the variable node is performed according to the column calculation result of the variable node v0, and the hard judgment is made on the column calculation result of the variable node v0. If the hard decision result is invalid or the update of the variable node v0 is completed, the row calculation is performed on the check node associated with the variable node v1, and then the column calculation is performed on the variable node, and the above actions are repeated until all the variable nodes are updated.
随后在目标迭代译码层z1包含的变量节点的硬判决均不成立的情况下,将目标迭代译码层z1中包含的变量节点的信息对应作为目标迭代译码层z2中包含的与目标迭代译码层z1相对应的校验节点的初始信息,再对目标迭代译码层z2的校验节点和变量节点执行行计算和列计算,重复上述动作,直到硬判决成立。Then, when the hard decisions of the variable nodes included in the target iterative decoding layer z1 are not established, the information of the variable nodes included in the target iterative decoding layer z1 is corresponding to the target iterative decoding layer z2. The initial information of the check node corresponding to the code layer z1, and then perform row calculation and column calculation on the check node and variable node of the target iterative decoding layer z2, and repeat the above actions until the hard decision is established.
如图9至图11所示,图9为本发明的译码电路,图10为译码电路的结构框图,图11为译码电路执行译码过程的流程图;参照图10,译码电路包括:As shown in FIGS. 9 to 11, FIG. 9 is a decoding circuit of the present invention, FIG. 10 is a structural block diagram of the decoding circuit, and FIG. 11 is a flowchart of the decoding process performed by the decoding circuit; referring to FIG. 10, the decoding circuit include:
第一存储模块92,设置为存储目标迭代译码层的变量节点的信息对数似然值;其中,目 标迭代译码层的各个变量节点的信息对数似然值存储在第一存储模块92的V2C_ii单元中;The first storage module 92 is configured to store the information log-likelihood values of the variable nodes of the target iterative decoding layer; wherein, the information log-likelihood values of each variable node of the target iterative decoding layer are stored in the first storage module 92 in the V2C_ii unit;
第二存储模块94,设置为存储每层每行中的变量节点信息对数似然值的符号、最小值、次小值、及最小值位置;其中,当目标变量节点的位置与最小值位置相同时,每层每行中的变量节点信息对数似然值取次小值,否则取最小值;The second storage module 94 is configured to store the symbol, the minimum value, the second minimum value, and the minimum value position of the variable node information log-likelihood value in each row of each layer; wherein, when the position of the target variable node and the minimum value position When the same, the log-likelihood value of the variable node information in each row of each layer takes the next smallest value, otherwise takes the smallest value;
可选的,每层每行中的变量节点信息LLR值的符号(sign)、最小值(min1)、次小值(min2)、及最小值位置(min1_id)均存储在第二存储模块94的C2V_ii单元中。Optionally, the sign (sign), the minimum value (min1), the next minimum value (min2), and the minimum value position (min1_id) of the variable node information LLR value in each row of each layer are stored in the second storage module 94. in the C2V_ii unit.
第一计算模块96,设置为计算变量节点更新后的信息对数似然值;The first calculation module 96 is set to calculate the log-likelihood value of the information after the update of the variable node;
循环移位器98,设置为进行信息对数似然值位置交换;The cyclic shifter 98 is set to exchange the position of the log-likelihood value of information;
变量节点更新模块1000,设置为对存储在第二存储模块94中的变量节点发送至校验节点的信息对数似然值进行更新,并将更新后的存储在第二存储模块94中的变量节点发送至校验节点的信息对数似然值存储至第二存储模块94中;The variable node updating module 1000 is configured to update the log-likelihood value of the information sent by the variable node stored in the second storage module 94 to the check node, and update the variable stored in the second storage module 94 after the update. The log-likelihood value of the information sent by the node to the check node is stored in the second storage module 94;
第二计算模块1002,设置为计算目标迭代译码层校验节点更新后发送至对应变量节点的信息对数似然值;The second calculation module 1002 is configured to calculate the log-likelihood value of the information sent to the corresponding variable node after the update of the check node of the target iterative decoding layer;
第三计算模块1004,设置为将第二存储模块94中存储的信息对数似然值的最小值位置反馈至循环移位器98,并进行循环数值差计算。The third calculation module 1004 is configured to feed back the position of the minimum value of the log-likelihood value of the information stored in the second storage module 94 to the cyclic shifter 98, and perform cyclic numerical difference calculation.
参照图11,在执行译码动作时,依次执行以下动作:Referring to FIG. 11, when performing the decoding action, the following actions are performed in sequence:
步骤S1002,计算变量节点更新后的LLR值,执行计算的硬件公式为:Step S1002, calculating the updated LLR value of the variable node, and the hardware formula for performing the calculation is:
LLR_update=V2C_ii+C2V_ii_new_before_layerLLR_update=V2C_ii+C2V_ii_new_before_layer
步骤S1004,使用循环移位器98(QSN)进行LLR信息位置交换,执行计算的硬件公式为:Step S1004, use the cyclic shifter 98 (QSN) to carry out the LLR information position exchange, and the hardware formula that performs the calculation is:
LLR_shift=QSN(LLR)LLR_shift=QSN(LLR)
步骤S1006,对V2C_ii单元中的变量节点传给校验节点的信息LLR值进行更新,之后再将该值存储到V2C_ii单元中,执行计算的硬件公式为:Step S1006, update the information LLR value that the variable node in the V2C_ii unit passes to the check node, and then store the value in the V2C_ii unit, and the hardware formula for the calculation is:
V2C_update=LLR_shift–C2V_ii_old_last_iterV2C_update=LLR_shift-C2V_ii_old_last_iter
步骤S1008,计算当层校验节点更新后传递给当层变量节点的信息LLR值,执行计算的硬件公式为:Step S1008, calculate the information LLR value transmitted to the current layer variable node after the current layer check node is updated, and the hardware formula for performing the calculation is:
C2V_update=sign_sort(V2C_update);C2V_update=sign_sort(V2C_update);
步骤S1010,将C2V_ii单元中LLR值的最小值位置反馈给循环移位器98,进行循环数值差计算。Step S1010, the position of the minimum value of the LLR value in the C2V_ii unit is fed back to the cyclic shifter 98 to calculate the cyclic value difference.
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计 算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。An embodiment of the present invention also provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。In an exemplary embodiment, the above-mentioned computer-readable storage medium may include, but is not limited to, a USB flash drive, a read-only memory (Read-Only Memory, referred to as ROM for short), and a random access memory (Random Access Memory, referred to as RAM for short) , mobile hard disk, magnetic disk or CD-ROM and other media that can store computer programs.
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行运算机程序以执行上述任一项方法实施例中的步骤。An embodiment of the present invention also provides an electronic device, comprising a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run an arithmetic computer program to execute the steps in any of the above method embodiments.
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。In an exemplary embodiment, the above-mentioned electronic device may further include a transmission device and an input-output device, wherein the transmission device is connected to the above-mentioned processor, and the input-output device is connected to the above-mentioned processor.
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。For specific examples in this embodiment, reference may be made to the examples described in the foregoing embodiments and exemplary implementation manners, and details are not described herein again in this embodiment.
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。Obviously, those skilled in the art should understand that the above-mentioned modules or steps of the present invention can be implemented by a general-purpose computing device, and they can be centralized on a single computing device or distributed in a network composed of multiple computing devices On the other hand, they can be implemented in program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, can be performed in a different order than shown here. Or the described steps, or they are respectively made into individual integrated circuit modules, or a plurality of modules or steps in them are made into a single integrated circuit module to realize. As such, the present invention is not limited to any particular combination of hardware and software.
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the principle of the present invention shall be included within the protection scope of the present invention.

Claims (10)

  1. 一种分组纠错码的译码方法,包括:A method for decoding a block error correction code, comprising:
    根据校验矩阵中子矩阵大小确定迭代译码层数,其中,所述校验矩阵由分组纠错码序列组成;The number of iterative decoding layers is determined according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a block error correction code sequence;
    基于目标迭代译码层中的目标校验节点对与所述目标校验节点关联的目标变量节点进行目标处理,其中,所述目标处理包括:Target processing is performed on the target variable node associated with the target check node based on the target check node in the target iterative decoding layer, wherein the target processing includes:
    对所述目标迭代译码层中与所述目标变量节点关联的所述目标校验节点进行第一行运算,所述第一行运算用于计算所述目标校验节点从与所述目标校验节点相关联的所有变量节点获取到的信息,其中,所述信息包括目标变量节点的对数似然值;根据所述第一行运算的运算结果,对所述目标变量节点进行第一列运算,所述第一列运算用于计算所述目标变量节点从所述目标校验节点获取到的信息;根据所述第一列运算的运算结果,对所述目标变量节点进行信息更新,以确定更新后的目标变量节点;根据所述第一列运算的运算结果,对所述更新后的目标变量节点进行硬判决;在所述目标处理结果为硬判决不成立的情况下,基于与所述更新后的目标变量节点相关联的其它目标校验节点对所述更新后的目标变量节点进行所述目标处理;The first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the difference between the target check node and the target check node. The information obtained by all variable nodes associated with the test node, wherein the information includes the log-likelihood value of the target variable node; according to the operation result of the operation in the first row, the first column is performed on the target variable node. operation, the first column operation is used to calculate the information obtained by the target variable node from the target check node; according to the operation result of the first column operation, the information of the target variable node is updated to Determine the updated target variable node; according to the operation result of the first column operation, make a hard decision on the updated target variable node; in the case that the target processing result is that the hard decision does not hold, based on the other target check nodes associated with the updated target variable node perform the target processing on the updated target variable node;
    在所述目标处理结果均为硬判决均不成立的情况下,对目标迭代译码层中其它变量节点均进行所述目标处理;Under the circumstance that the result of the target processing is all the hard decisions are not established, the target processing is performed on all other variable nodes in the target iterative decoding layer;
    在所述目标处理结果均为硬判决不成立的情况下,依次对其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点进行所述目标处理,直到所述硬判决成立为止;其中,所述其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点包括其它迭代译码层中位置与所述目标迭代译码层的变量节点的位置相同的变量节点。In the case that the target processing results are all hard decisions that fail to hold, the target processing is performed on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers in turn, until the hard decision is reached. Wherein, the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer include the position in the other iterative decoding layers and the position of the variable node in the target iterative decoding layer The same variable node.
  2. 根据权利要求1所述的方法,其中,在所述依次对其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点进行所述目标处理之前,所述方法还包括:The method according to claim 1, wherein before performing the target processing on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers in sequence, the method further comprises: :
    将所述目标迭代译码层的变量节点的列运算结果对应作为其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点的初始值。The column operation result of the variable node of the target iterative decoding layer is used as the initial value of the variable node corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers.
  3. 根据权利要求2所述的方法,其中,所述将所述目标迭代译码层的目标变量节点的列运算结果对应作为其它迭代译码层中与所述目标迭代译码层的目标变量节点相对应的变量节点的初始值包括:The method according to claim 2, wherein the column operation result corresponding to the target variable node of the target iterative decoding layer is regarded as the target variable node of the target iterative decoding layer in other iterative decoding layers. The initial values of the corresponding variable nodes include:
    对所述其它迭代译码层的校验节点进行列更新,其中,所述列更新用于在第n次迭代中的第m层,将信息由第m-1层更新后的变量节点传递给第m层对应的校验节点;A column update is performed on the check nodes of the other iterative decoding layers, wherein the column update is used for the mth layer in the nth iteration to transfer information from the updated variable node of the m-1th layer to the The check node corresponding to the mth layer;
    对所述其它迭代译码层的变量节点进行行更新,其中,所述行更新用于在第n次迭 代中的第m层,由第m层的校验节点将更新后的信息传递给第m层中的变量节点;The row update is performed on the variable nodes of the other iterative decoding layers, wherein the row update is used for the mth layer in the nth iteration, and the updated information is transmitted to the mth layer by the check node of the mth layer. variable nodes in the m layer;
    对所述其它迭代译码层的变量节点进行后验概率信息更新,其中,所述后验概率信息更新用于在第n次迭代中的第m层,根据所述行更新和所述列更新的信息,更新第m层变量节点的后验概率信息。Update the posterior probability information on the variable nodes of the other iterative decoding layers, wherein the posterior probability information update is used for the mth layer in the nth iteration, according to the row update and the column update information, update the posterior probability information of the mth layer variable node.
  4. 根据权利要求3所述的方法,其中,所述对目标迭代译码层的校验节点进行列更新包括:The method according to claim 3, wherein the performing column update on the check node of the target iterative decoding layer comprises:
    通过如下公式对所述目标迭代译码层的校验节点进行所述列更新:The column update is performed on the check node of the target iterative decoding layer by the following formula:
    L (n)(q ijm)=L (n)(Q im-1)-L (n-1)(r ijm) L (n) (q ijm )=L (n) (Q im-1 )-L (n-1) (r ijm )
    式中,i表示变量节点,j表示校验节点;m代表层数,n代表迭代次数;L (n)(q ijm)表示在第n次迭代中的第m层,所述变量节点发送至所述校验节点的信息对数似然值,L (n)(Q im-1)表示在第n次迭代中第m-1层,所述变量节点更新信息后的信息对数似然值,L (n-1)(r ijm)表示在第n-1次迭代中的第m层,所述校验节点发送至所述变量节点的信息对数似然值。 In the formula, i represents the variable node, j represents the check node; m represents the number of layers, n represents the number of iterations; L (n) (q ijm ) represents the mth layer in the nth iteration, the variable node is sent to The information log-likelihood value of the check node, L (n) (Q im-1 ) represents the m-1th layer in the n-th iteration, the information log-likelihood value of the variable node after updating the information , L (n-1) (r ijm ) represents the mth layer in the n-1th iteration, the log-likelihood value of the information sent by the check node to the variable node.
  5. 根据权利要求4所述的方法,其中,所述对目标迭代译码层的变量节点进行行更新包括:The method according to claim 4, wherein the row update of the variable node of the target iterative decoding layer comprises:
    通过如下公式对所述目标迭代译码层的变量节点进行所述行更新:The row update is performed on the variable nodes of the target iterative decoding layer by the following formula:
    Figure PCTCN2021091210-appb-100001
    Figure PCTCN2021091210-appb-100001
    式中,L (n)(r ijm)表示在第n次迭代中第m层,所述校验节点发送至与该校验节点对应的目标校验节点的信息对数似然值,表示在第n次迭代中的第m层,L (n)(q i'jm)其它变量节点发送至所述校验节点的信息对数似然值。 In the formula, L (n) (r ijm ) represents the mth layer in the nth iteration, the log-likelihood value of the information sent by the check node to the target check node corresponding to the check node, which is expressed in At the mth layer in the nth iteration, L (n) (q i'jm ) the log-likelihood values of information sent by other variable nodes to the check node.
  6. 根据权利要求5所述的方法,其中,所述对所述其它迭代译码层的变量节点进行后验概率信息更新包括:The method according to claim 5, wherein the updating of the posterior probability information on the variable nodes of the other iterative decoding layers comprises:
    通过如下公式执行所述根据行更新和列更新的信息,更新第m层变量节点的后验概率信息:Update the posterior probability information of the m-th layer variable node according to the information of row update and column update according to the following formula:
    L (n)(Q im)=L (n)(r ijm-1)+L (n)(q ijm) L (n) (Q im )=L (n) (r ijm-1 )+L (n) (q ijm )
    式中,L (n)(Q im)表示在第n次迭代中第m层,所述变量节点更新信息后的信息对数 似然值。 In the formula, L (n) (Q im ) represents the log-likelihood value of the information of the m-th layer in the n-th iteration after the information is updated by the variable node.
  7. 根据权利要求3所述的方法,其中,在所述对其它迭代译码层的校验节点进行列更新之前,包括:The method according to claim 3, wherein before performing column update on check nodes of other iterative decoding layers, the method comprises:
    设置初始信息对数似然值,并将迭代译码层数及迭代次数均初始化为预设值,其中,所述初始信息对数似然值是根据接收信号值及信道特征得到的,所述初始信息对数似然值表示未进行迭代的所述变量节点的信息对数似然值。The initial information log-likelihood value is set, and the number of iterative decoding layers and the number of iterations are initialized to preset values, wherein the initial information log-likelihood value is obtained according to the received signal value and channel characteristics, and the The initial information log-likelihood value represents the information log-likelihood value of the variable node that has not been iterated.
  8. 一种分组纠错码的译码装置,A block error correction code decoding device,
    译码层分组模块,设置为根据校验矩阵中子矩阵大小确定迭代译码层数,其中,所述校验矩阵由分组纠错码序列组成;The decoding layer grouping module is configured to determine the number of iterative decoding layers according to the size of the sub-matrix in the check matrix, wherein the check matrix is composed of a grouped error correction code sequence;
    目标处理模块,设置为基于目标迭代译码层中的目标校验节点对与所述目标校验节点关联的目标变量节点进行目标处理,其中,所述目标处理包括:The target processing module is configured to perform target processing on the target variable node associated with the target check node based on the target check node in the target iterative decoding layer, wherein the target processing includes:
    对所述目标迭代译码层中与所述目标变量节点关联的所述目标校验节点进行第一行运算,所述第一行运算用于计算所述目标校验节点从与所述目标校验节点相关联的所有变量节点获取到的信息;根据所述第一行运算的运算结果,对所述目标变量节点进行第一列运算,所述第一列运算用于计算所述目标变量节点从所述目标校验节点获取到的信息;根据所述第一列运算的运算结果,对所述目标变量节点进行信息更新,以确定更新后的目标变量节点;根据所述第一列运算的运算结果,对所述更新后的目标变量节点进行硬判决;在所述目标处理结果为硬判决不成立的情况下,基于与所述更新后的目标变量节点相关联的其它目标校验节点对所述更新后的目标变量节点进行所述目标处理;The first line of operation is performed on the target check node associated with the target variable node in the target iterative decoding layer, and the first line of operation is used to calculate the difference between the target check node and the target check node. The information obtained by all variable nodes associated with the test node; according to the operation result of the first row operation, the first column operation is performed on the target variable node, and the first column operation is used to calculate the target variable node. The information obtained from the target check node; according to the operation result of the first column operation, update the information on the target variable node to determine the updated target variable node; according to the operation result of the first column operation As a result of the operation, a hard decision is made on the updated target variable node; in the case that the target processing result is that the hard decision does not hold, the updated target variable node is based on other target check nodes associated with the target variable node. The updated target variable node performs the target processing;
    第一迭代模块,设置为在所述目标处理结果均为硬判决均不成立的情况下,对目标迭代译码层中其它变量节点均进行所述目标处理;a first iterative module, configured to perform the target processing on all other variable nodes in the target iterative decoding layer under the condition that the target processing results are all hard decisions that fail to hold;
    第二地带模块,设置为在所述目标处理结果均为硬判决不成立的情况下,依次对其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点进行所述目标处理,直到所述硬判决成立为止;其中,所述其它迭代译码层中与所述目标迭代译码层的变量节点相对应的变量节点包括其它迭代译码层中位置与所述目标迭代译码层的变量节点的位置相同的变量节点。The second zone module is configured to perform the target processing on the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers in turn when the target processing results are all invalid. processing until the hard decision is established; wherein, the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer include the position in the other iterative decoding layers and the target iterative decoding layer. The variable node of the code layer has the same position as the variable node.
  9. 一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。A storage medium in which a computer program is stored, wherein the computer program is configured to execute the method of any one of claims 1 to 7 when run.
  10. 一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。An electronic device comprising a memory and a processor with a computer program stored in the memory, the processor being arranged to run the computer program to perform the method of any one of claims 1 to 7.
PCT/CN2021/091210 2020-09-24 2021-04-29 Packet error correction code decoding method, apparatus, storage medium, and electronic device WO2022062406A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011017991.6A CN111865335B (en) 2020-09-24 2020-09-24 Decoding method and device of packet error correcting code, storage medium and electronic device
CN202011017991.6 2020-09-24

Publications (1)

Publication Number Publication Date
WO2022062406A1 true WO2022062406A1 (en) 2022-03-31

Family

ID=72968503

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/091210 WO2022062406A1 (en) 2020-09-24 2021-04-29 Packet error correction code decoding method, apparatus, storage medium, and electronic device

Country Status (2)

Country Link
CN (1) CN111865335B (en)
WO (1) WO2022062406A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117713839A (en) * 2024-02-05 2024-03-15 极芯通讯技术(安吉)有限公司 RM decoding and result checking method, device, equipment and storage medium
WO2024065978A1 (en) * 2022-09-27 2024-04-04 北京邮电大学 Check confidence-based ldpc decoding method and apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865335B (en) * 2020-09-24 2021-01-22 浙江三维通信科技有限公司 Decoding method and device of packet error correcting code, storage medium and electronic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615913A (en) * 2009-07-17 2009-12-30 清华大学 The quick convergence decoding algorithm of LDPC sign indicating number
US20170070239A1 (en) * 2015-09-08 2017-03-09 Storart Technology Co.,Ltd. Decoding algorithm with enhanced parity check matrix and re-encoding scheme for ldpc code
CN108988872A (en) * 2018-08-23 2018-12-11 中国科学院计算技术研究所 LDPC interpretation method based on layered min-sum algorithm
CN111865335A (en) * 2020-09-24 2020-10-30 浙江三维通信科技有限公司 Decoding method and device of packet error correcting code, storage medium and electronic device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534166B (en) * 2008-03-10 2012-07-11 上海明波通信技术有限公司 Quasi-cyclic low-density parity-check code decoder and decoding method
CN103199874B (en) * 2012-01-05 2017-02-15 国民技术股份有限公司 Low density parity check code decoding method
US10164656B2 (en) * 2016-03-30 2018-12-25 Silicon Motion Inc. Bit flipping algorithm for providing soft information during hard decision hard decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615913A (en) * 2009-07-17 2009-12-30 清华大学 The quick convergence decoding algorithm of LDPC sign indicating number
US20170070239A1 (en) * 2015-09-08 2017-03-09 Storart Technology Co.,Ltd. Decoding algorithm with enhanced parity check matrix and re-encoding scheme for ldpc code
CN108988872A (en) * 2018-08-23 2018-12-11 中国科学院计算技术研究所 LDPC interpretation method based on layered min-sum algorithm
CN111865335A (en) * 2020-09-24 2020-10-30 浙江三维通信科技有限公司 Decoding method and device of packet error correcting code, storage medium and electronic device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DU, ZHENNAN: "NAND Flash Memory ECC Based on LDPC", CHINESE MASTER'S THESES FULL-TEXT DATABASE, INFORMATION SCIENCES, no. 1, 15 January 2020 (2020-01-15), pages 1 - 70, XP055914757, ISSN: 1674-0246 *
WU HAO: "Hard decision of the zero a posteriori LLR in 5G NR", INTERNET TECHNOLOGY LETTERS, WILEY, vol. 3, no. 2, 1 March 2020 (2020-03-01), pages 1 - 6, XP055914756, ISSN: 2476-1508, DOI: 10.1002/itl2.146 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024065978A1 (en) * 2022-09-27 2024-04-04 北京邮电大学 Check confidence-based ldpc decoding method and apparatus
CN117713839A (en) * 2024-02-05 2024-03-15 极芯通讯技术(安吉)有限公司 RM decoding and result checking method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN111865335A (en) 2020-10-30
CN111865335B (en) 2021-01-22

Similar Documents

Publication Publication Date Title
WO2022062406A1 (en) Packet error correction code decoding method, apparatus, storage medium, and electronic device
Lian et al. Learned belief-propagation decoding with simple scaling and SNR adaptation
US10530392B2 (en) Vertical layered finite alphabet iterative decoding
TWI663839B (en) Method for providing soft information with decoder under hard decision hard decoding mode
Sharon et al. An efficient message-passing schedule for LDPC decoding
Zhang et al. Shuffled belief propagation decoding
JP4627317B2 (en) Communication apparatus and decoding method
US9075738B2 (en) Efficient LDPC codes
US20160336967A1 (en) Decoding of non-binary ldpc codes
WO2007019187A2 (en) Systems and methods for a turbo low-density parity-check decoder
JP2007208985A (en) Ldpc decoding apparatus and method based on node memory
US10484009B2 (en) Decoding method and decoder for low-density parity-check code
US10128869B2 (en) Efficient convergence in iterative decoding
JP5148586B2 (en) Decoding device and decoding method
WO2017045142A1 (en) Decoding method and decoding device for ldpc truncated code
EP2989720A1 (en) Method and apparatus of ldpc encoder in 10gbase-t system
TWI685211B (en) Method and decoder for decoding low density parity check data to deocde codeword
Liao et al. Doubly residual neural decoder: Towards low-complexity high-performance channel decoding
CN110890896B (en) Reconfigurable polar code and low density parity check code joint decoding unit
CN112104379B (en) Polarization code confidence propagation dynamic overturning decoding method based on key set
Liang et al. Exploiting noise correlation for channel decoding with convolutional neural networks
Volkov et al. Flexible parallel implementation of LLR BP decoding simulation on multicores using OpenCL
KR101917829B1 (en) Method and apparatus for deciding decoding order for shuffled decoding of ldpc codes
Scholl et al. Advanced hardware architecture for soft decoding Reed-Solomon codes
CN114421973B (en) Decoding method and system of LDPC decoder

Legal Events

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

Ref document number: 21870794

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21870794

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21870794

Country of ref document: EP

Kind code of ref document: A1