CN111865335B - Decoding method and device of packet error correcting code, storage medium and electronic device - Google Patents

Decoding method and device of packet error correcting code, storage medium and electronic device Download PDF

Info

Publication number
CN111865335B
CN111865335B CN202011017991.6A CN202011017991A CN111865335B CN 111865335 B CN111865335 B CN 111865335B CN 202011017991 A CN202011017991 A CN 202011017991A CN 111865335 B CN111865335 B CN 111865335B
Authority
CN
China
Prior art keywords
target
variable
node
layer
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011017991.6A
Other languages
Chinese (zh)
Other versions
CN111865335A (en
Inventor
杜振南
张宏亮
杨剑峰
曹琼华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sunwave Communications Technology Co Ltd
Original Assignee
Zhejiang Sunwave Communications Technology Co Ltd
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 Zhejiang Sunwave Communications Technology Co Ltd filed Critical Zhejiang Sunwave Communications Technology Co Ltd
Priority to CN202011017991.6A priority Critical patent/CN111865335B/en
Publication of CN111865335A publication Critical patent/CN111865335A/en
Application granted granted Critical
Publication of CN111865335B publication Critical patent/CN111865335B/en
Priority to PCT/CN2021/091210 priority patent/WO2022062406A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

The embodiment of the invention provides a decoding method, a decoding device, a storage medium and an electronic device of a packet error correction code, which relate to the technical field of the communication technology of the packet error correction code, wherein the method comprises the steps of determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a packet error correction code sequence; target variable nodes related to the target check nodes are subjected to target processing based on the target check nodes in the target iterative decoding layer; under the condition that the target processing results are all hard decisions, the target processing is carried out on other variable nodes in a target iteration decoding layer; and under the condition that the target processing results are all hard decisions, sequentially carrying out the target processing on variable nodes corresponding to the variable nodes of the target iterative decoding layer in other iterative decoding layers until the hard decisions are satisfied. By the method and the device, the problem of low error correction efficiency is solved, and the effect of improving the error correction efficiency is achieved.

Description

Decoding method and device of packet error correcting code, storage medium and electronic device
Technical Field
The embodiment of the invention relates to the field of communication, in particular to a decoding method and device of a packet error correction code, a storage medium and an electronic device.
Background
An LDPC code (Low-density parity-check code) is a block error correction code having a sparse check matrix, which maps an information sequence into a transmission sequence by a generator matrix G, wherein the generator matrix G has a plurality of sub-matrices; the performance of the LDPC code approaches to the Shannon limit, and the LDPC code is simple to describe and implement, has the advantages of being easy to carry out theoretical analysis and research, simple to decode, capable of carrying out parallel operation, suitable for hardware implementation and the like.
At present, when decoding LDPC codes, a normalized minimum sum decoding algorithm is generally adopted; the algorithm is as follows:
referring to fig. 1 and 2, u0 to u3 are check nodes, v0 to v7 are variable nodes, and as can be seen from fig. 1 and 2, the check node u0 is connected to the variable nodes v0, v2 and v3, then the row operation is to calculate the information obtained by the variable node v0 from the check node u0, and the information obtained by the variable node v0 is related to the variable nodes v2 and v 3.
That is, for line u0, it is necessary to calculate the information v0 obtains from u0, the information v2 obtains from u0, and the information v3 obtains from u0, respectively.
Similarly, as can be seen from fig. 1 and fig. 2, 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 u 3; that is, for the u0 column, it is necessary to calculate the information of u0 obtained from v0 and the information of u3 obtained from v0, respectively.
When the algorithm executes decoding work, row operation of all rows needs to be completed and then column operation is performed, the convergence speed is low during decoding due to the mode, namely, time is consumed for decoding once, so that the throughput rate of an error correction code module is reduced, the error correction efficiency of the error correction code module is reduced, and the signal integrity is ensured.
Disclosure of Invention
The embodiment of the invention provides a decoding method, a decoding device, a storage medium and an electronic device of a packet error correction code, which are used for at least solving the problems of low convergence speed and low efficiency of an error correction code module in the related technology.
According to an embodiment of the present invention, there is provided a decoding method of a packet error correction code, including:
determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouped error correction code sequence;
performing target processing on a target variable node associated with a target check node based on the target check node in a target iterative decoding layer, wherein the target processing comprises:
performing a first row operation on the target check node associated with the target variable node in the target iterative decoding layer, where the first row operation is used to calculate information obtained by the target check node from all variable nodes associated with the target check node, where the information includes log-likelihood values of the target variable node; performing a first column operation on the target variable node according to an operation result of the first row operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine an updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node when the hard decision result is that the hard decision is not satisfied;
under the condition that the target processing results of the target processing on the updated target variable nodes based on other target check nodes associated with the updated target variable nodes are all hard decisions, the target processing is carried out on other variable nodes in a target iterative decoding layer;
when the target processing results of all the variable nodes in the target iterative decoding layer subjected to the target processing are all false, sequentially performing the target processing on the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer until the hard decision is true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
In an exemplary embodiment, before the sequentially performing the target processing on the variable nodes corresponding to the variable node of the target iterative decoding layer in the other iterative decoding layers, the method further includes:
and correspondingly taking the column operation result of the variable node of the target iteration decoding layer as the initial value of the variable node corresponding to the variable node of the target iteration decoding layer in other iteration decoding layers.
In an exemplary embodiment, the corresponding of the column operation result of the target variable node of the target iterative decoding layer as the initial value of the variable node corresponding to the target variable node of the target iterative decoding layer in the other iterative decoding layer includes:
performing column updating on the check nodes of the other iteration decoding layers, wherein the column updating is used for transmitting information from the variable node updated by the m-1 layer to the check node corresponding to the m layer in the mth iteration;
performing row updating on variable nodes of the other iteration decoding layers, wherein the row updating is used for the mth layer in the nth iteration, and the updated information is transmitted to the variable nodes in the mth layer by the check nodes of the mth layer;
and updating posterior probability information of the variable nodes of other iteration decoding layers, wherein the posterior probability information is updated to be used in the mth layer in the nth iteration, and the posterior probability information of the variable nodes of the mth layer is updated according to the row updating information and the column updating information.
In an exemplary embodiment, the column updating the check node of the target iterative decoding layer includes:
performing the column update on the check node of the target iterative decoding layer by the following formula:
Figure DEST_PATH_IMAGE001
in the above formula, i represents a variable node, and j represents a check node; m represents the number of layers, and n represents the number of iterations;
Figure 667703DEST_PATH_IMAGE002
representing the m-th layer in the n-th iteration, the variable nodes send the information log-likelihood values of the check nodes,
Figure 100002_DEST_PATH_IMAGE003
representing the information log-likelihood value after the variable node updates the information at the (m-1) th layer in the nth iteration,
Figure 999589DEST_PATH_IMAGE004
representing the m-th layer in the (n-1) th iteration, the check nodesAnd sending the information log-likelihood value to the variable node.
In an exemplary embodiment, the updating the variable node of the target iterative decoding layer comprises:
performing the line update on the variable node of the target iterative decoding layer by the following formula:
Figure 100002_DEST_PATH_IMAGE005
in the above formula, the first and second carbon atoms are,
Figure 397072DEST_PATH_IMAGE006
representing the information log-likelihood value of the target check node corresponding to the check node sent by the check node in the mth layer in the nth iteration;
Figure 100002_DEST_PATH_IMAGE007
and representing information log-likelihood values sent to the check nodes by other variable nodes associated with the check nodes at the mth layer in the nth iteration.
In an exemplary embodiment, the updating the a posteriori probability information of the m-th variable node according to the information of the row update and the column update includes:
updating posterior probability information of the m-th layer variable node by executing the information according to the row update and the column update by the following formula:
Figure 516924DEST_PATH_IMAGE008
in the above formula, the first and second carbon atoms are,
Figure 100002_DEST_PATH_IMAGE009
and representing the information log-likelihood value after the variable node updates the information in the mth layer in the nth iteration.
In an exemplary embodiment, before the column updating for the check nodes of the other iterative decoding layer, the method includes:
setting an initial information log-likelihood value, and initializing the number of iterative decoding layers and the number of iterative times to preset values, wherein the initial information log-likelihood value is obtained according to a received signal value and channel characteristics, and the initial information log-likelihood value represents an information log-likelihood value of the variable node which is not subjected to iteration.
According to another embodiment of the present invention, there is provided a decoding apparatus of a packet error correction code, including:
the decoding layer grouping module is used for determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouping error correction code sequence;
a target processing module, configured to perform target processing on a target variable node associated with a target check node based on the target check node in a target iterative decoding layer, where the target processing includes:
performing a first row operation on the target check node associated with the target variable node in the target iterative decoding layer, wherein the first row operation is used for calculating information acquired by the target check node from all variable nodes associated with the target check node; performing a first column operation on the target variable node according to an operation result of the first row operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine an updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node when the target processing result is that the hard decision is not satisfied;
the first iteration module is used for carrying out the target processing on other variable nodes in a target iteration decoding layer under the condition that the target processing results are all hard decisions;
the second iteration module is used for sequentially carrying out the target processing on variable nodes corresponding to the variable nodes of the target iteration decoding layer in other iteration decoding layers under the condition that the target processing results are all false hard decisions until the hard decisions are true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
According to a further embodiment of the present invention, there is also provided a storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the above method embodiments when executed.
According to yet another embodiment of the present invention, there is also provided an electronic device, including a memory in which a computer program is stored and a processor configured to execute the computer program to perform the steps in any of the above method embodiments.
According to the invention, because the column operation is executed once after the row operation is executed once, iteration is stopped when the hard decision of the column operation result is established, compared with the prior art that the hard decision of all variable nodes is not needed, the calculation amount of single calculation is reduced, and the whole calculation amount is also reduced, therefore, the problems of low convergence speed and low efficiency of an error correction code module in the related technology can be solved, and the effect of improving the calculation and error correction efficiency is achieved.
Drawings
FIG. 1 is a diagram of a prior art row operation in the background of the invention;
FIG. 2 is a diagram illustrating prior art column operations in the background of the invention;
fig. 3 is a block diagram of a hardware structure of a mobile terminal of a decoding method of a packet error correction code according to an embodiment of the present invention;
FIG. 4 is a flow chart of a method for decoding a packet error correction code according to an embodiment of the present invention;
FIG. 5 is a block diagram of a decoding apparatus for a packet error correction code according to an embodiment of the present invention;
FIG. 6 is a diagram illustrating an iterative decoding layer according to an embodiment of the present invention;
FIG. 7 is a diagram illustrating row computations performed in a target iterative decoding layer according to an embodiment of the present invention;
FIG. 8 is a diagram illustrating column operations performed in a target iterative decoding layer according to an embodiment of the present invention;
FIG. 9 is a block diagram of a decoding circuit for performing decoding according to an embodiment of the present invention;
FIG. 10 is a block diagram showing a decoding circuit for performing decoding according to an embodiment of the present invention;
FIG. 11 is a flowchart illustrating a decoding process according to 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 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 in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be executed in a mobile terminal, a computer terminal, or a similar computing device. Taking the example of the operation on the mobile terminal, fig. 3 is a hardware structure block diagram of the mobile terminal of the decoding method of the packet error correction code according to the embodiment of the present invention. As shown in fig. 3, the mobile terminal may include one or more (only one shown in fig. 3) processors 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 for storing data, wherein the mobile terminal may further include a transmission device 106 for communication functions and an input-output device 108. It will be understood by those skilled in the art that the structure shown in fig. 3 is only an illustration, and does not limit the structure of the mobile terminal. For example, the mobile terminal may also include more or fewer components than shown in FIG. 3, or have a different configuration than shown in FIG. 3.
The memory 104 may be used to store a computer program, for example, a software program and a module of application software, such as a computer program corresponding to a decoding method of a packet error correction code according to an embodiment of the present invention, and the processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, so as to implement the method described above. The 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 examples, the memory 104 may further include memory located remotely from the processor 102, which may be connected to the mobile terminal over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above 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 (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is used to communicate with the internet in a wireless manner.
In this embodiment, a decoding method of a packet error correcting code is provided, and 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 a submatrix in a check matrix, wherein the check matrix consists of a grouped error correction code sequence;
in an optional embodiment, because the number of sub-matrices in the check matrix is large, the number of iterative decoding layers is determined according to the size of the sub-matrices, so that the sub-matrices of different layers can be checked respectively, and when the check result meets the requirement, the check is stopped, so that all the sub-matrices do not need to be checked, and the check rate is improved; taking the LDPC code as an example, for example, if the check matrix is a 4 × 8 matrix and the submatrix is a 1 × 1 matrix, the number of iterative decoding layers is 4.
Step S204, target variable nodes related to the target check nodes are subjected to target processing based on the target check nodes in the target iterative decoding layer, wherein the target processing comprises the following steps:
performing a first row of operation on a target check node associated with a target variable node in a target iterative decoding layer, wherein the first row of operation is used for calculating information acquired by the target check node from all variable nodes associated with the target check node, and the information comprises a log likelihood value of the target variable node;
performing a first column operation on the target variable node according to an operation result of the first row of operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node;
according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine the updated target variable node;
according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node;
and under the condition that the hard decision result is that the hard decision is not established, performing target processing on the updated target variable node based on other target check nodes associated with the updated target variable node.
In this embodiment, taking the LDPC code as an example, if the LDPC code has only one iterative decoding layer, one sub-matrix includes a plurality of check nodes and a plurality of variable nodes, one check node is often associated with the plurality of variable nodes, and one variable node is also associated with the plurality of check nodes, and decoding is to decode information of all the variable nodes, so that it is necessary to perform column operation on the variable nodes in sequence to calculate information of all the variable nodes.
Meanwhile, a variable node is associated with one or more check nodes, so when calculating information of a variable node, a row operation needs to be performed on the check nodes to determine information included in each check node.
For example, check node u0 is associated with variable nodes v0, v1 and v2, respectively, and the information obtained by check node u0 from variable nodes v0, v1 and v2 is calculated, respectively.
Similarly, when the column operation is performed, since 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 nodes u0 and u1 is respectively calculated, and then the data update is performed on the variable node according to the calculation result.
In the embodiment, after the row operation is performed on the check node u0, the variable node v0 is operated in the first column immediately to determine the information obtained by the variable node from the check node u0, and at this time, since the information obtained by the variable node v0 from the check node u1 does not need to be calculated, the calculation amount is reduced, and the calculation efficiency is improved.
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 taken as the information of the target variable node v0 ', and the target variable node v 0' does not contain the information of the variable node v0 from the check node u1, so that the calculation amount is relatively small when decoding is performed, and the calculation efficiency is improved.
In the present embodiment, the hard decision is satisfied under the condition that
Figure 720372DEST_PATH_IMAGE010
Wherein H represents a parity check matrix, c represents a code vector of a convolutional code, and t represents a vector transposition, wherein
Figure DEST_PATH_IMAGE011
If yes, the decoding is judged to be successful, and if not, the decoding is judged to be unsuccessful.
For example, after the target variable node is determined, the target variable node v0 ' is decoded, and the hard decision performed on the target variable node v0 ' is to determine whether the decoding of the target variable node v0 ' is successful; wherein H represents a parity check matrix of M rows and N columns, c represents a row vector of length N, when
Figure 280667DEST_PATH_IMAGE010
When the judgment result is satisfied, the elements in the parity check matrix are judged to be linearly related, so that the decoding is judged to be successful, and the iteration is terminated.
In the present embodiment, in the case where the hard decision of the column operation of the first check node associated with the target variable node is not established, the row operation and the column operation are performed on the second check node associated with the target variable node, respectively;
for example, when the variable node v0 is respectively associated with the check nodes u0 and u1, in the case that a hard decision on the column operation of u0 and v0 is not established, the information obtained by the variable node v0 from the check node u1 needs to be calculated, so it needs to be determined that the check node u1 is firstly operated to check the information contained by the check node u1, and then the information of the check node u1 is transferred to the variable node v 0; since the column operation is performed immediately after the row operation of the check node u1 is completed, since the 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 (e.g., u 0), the calculation amount is reduced, and the operation efficiency is improved.
And after the column operation between u1 and v0 is completed, the variable node v0 is updated with the result of the column operation between u1 and v0 and the result of the operation between u1 and v0 together as initial information, thereby determining the variable node v0 as the target variable node v 0' to be decoded.
Then hard decision is made on the updated variable node v 0', when
Figure 678412DEST_PATH_IMAGE012
If the result is positive, the decoding is determined to be successful, and if the result is not positive, the above operation is repeated for a third check node (e.g., v 2) associated with the target variable node until the decoding of the target variable node is successful.
Step S206, under the condition that the target processing results of the target processing of the updated target variable node based on other target check nodes associated with the updated target variable node are all hard decisions, the target processing is carried out on other variable nodes in the target iterative decoding layer.
For example, in the case that the target iterative decoding layer has a plurality of variable nodes v0-v7, after the variable node v0 completes the row operation and the column operation of all check nodes (e.g., u0-u 1) associated with the variable node v0 and completes all information updates to the variable node v0, the hard decision of the variable node v0 still does not hold, and then the target processing is sequentially performed on the variable nodes v1-v7 until the hard decision holds or all the variable nodes are updated.
Step S208, under the condition that the hard decisions of the target processing results of all the other variable nodes in the target iterative decoding layer are not satisfied, sequentially performing target processing on the variable nodes corresponding to the variable nodes in the target iterative decoding layer in the other iterative decoding layer until the hard decisions are satisfied; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
In this embodiment, when there are multiple iterative decoding layers and the hard decision of the first layer is not satisfied, information iteration between the iterative decoding layers is performed.
Taking an example that an iterative decoding layer of the LDPC code has multiple layers, after information obtained by a variable node of a first layer from all check nodes of the variable node is completed, decoding and hard decision processing are performed on the variable node, when decoding is unsuccessful, information obtained by the variable node from all check nodes associated with the variable node is used as an initial value of a corresponding variable node of a second layer, and then column operation and row operation are performed on the variable node corresponding to the variable node of the second layer, and so on until decoding is successful.
For example, in the first layer, the variable node v0 is respectively associated with the check nodes u0 and u1, after the information of the variable node v0 from the check nodes u0 and u1 is obtained through calculation, the variable node v0 is updated to obtain the target variable node v0 ', then the target variable node v 0' is decoded and hard-decided, and in case of unsuccessful decoding, the target variable node v is determinedInformation of v 0' as variable node v0 of the second layer2Wherein the variable node v02Corresponds to the variable node v0, and in the second layer, the variable node v02Respectively with check node u12Check node u22And check node u32Associated, and then checked against check node u12Operating, and then performing operation on variable node v02Performing column operation, and then performing row operation on variable node v02And updating and decoding, stopping iterative operation if decoding is successful, otherwise, continuing iterative calculation of an iterative decoding layer, and repeating the above actions until decoding is successful.
Through the steps, when the column operation is carried out on the variable nodes, only the information of the variable nodes and the information of the single check node are needed, so that the calculated amount is relatively small, the problems of long decoding time consumption and low decoding convergence speed are solved, and the decoding efficiency of the error correction module is improved.
The main body of the above steps may be a base station, a terminal, etc., but is not limited thereto.
In an optional embodiment, before sequentially performing target processing on variable nodes corresponding to the variable node of the target iterative decoding layer in other iterative decoding layers, the method further includes:
step S2080, the column operation result of the variable node of the target iterative decoding layer is correspondingly 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 this embodiment, taking an example that an iterative decoding layer of an LDPC code has multiple layers, after information obtained by a variable node of a first layer from all check nodes of the variable node is completed, decoding and hard decision processing are performed on the variable node, when decoding is unsuccessful, information obtained by the variable node from all check nodes associated with the variable node is used as an initial value of a corresponding variable node of a second layer, and then column operation and row operation are performed on the variable node corresponding to the variable node of the second layer, and so on until decoding is successful.
For example, in the first layer, variable nodes v0 are respectively checked withThe nodes u0 and u1 are correlated, after the information of the variable node v0 from the check nodes u0 and u1 is obtained through calculation, the variable node v0 is updated to obtain a target variable node v0 ', then the target variable node v0 ' is decoded and hard-decided, and under the condition that the decoding is unsuccessful, the information of the target variable node v0 ' is used as the variable node v0 of the second layer2Wherein the variable node v02Corresponds to the variable node v0, and in the second layer, the variable node v02Respectively with check node u12Check node u22And check node u32Associated, and then checked against check node u12Operating, and then performing operation on variable node v02Performing column operation, and then performing row operation on variable node v02And updating and decoding, stopping iterative operation if decoding is successful, otherwise, continuing iterative calculation of an iterative decoding layer, and repeating the above actions until decoding is successful.
In an optional embodiment, the corresponding of the column operation result of the target variable node of the target iterative decoding layer as the initial value of the variable node corresponding to the target variable node of the target iterative decoding layer in the other iterative decoding layer includes:
step S2084, column updating is carried out on the check nodes of other iteration decoding layers, wherein the column updating represents the mth layer in the nth iteration, and information is transmitted to the check node corresponding to the mth layer from the variable node updated by the (m-1) th layer;
when information transmission of different iteration decoding layers is carried out, the information of the variable nodes is related to the information of the check nodes, so that the information of the corresponding check nodes needs to be determined before the update transmission of the variable nodes is carried out.
In an alternative embodiment, the calculation formula for column updating the check node of the target iterative decoding layer includes:
Figure DEST_PATH_IMAGE013
in the above formula, i represents a variable node, and j represents a check node; m represents the number of layers and n representsThe number of table iterations;
Figure 691368DEST_PATH_IMAGE014
representing the information log-likelihood values sent by the variable node i to the check node j at the mth layer in the nth iteration,
Figure DEST_PATH_IMAGE015
representing the information log-likelihood value after the variable node i updates the information at the (m-1) th layer in the nth iteration,
Figure 197042DEST_PATH_IMAGE016
and (3) indicating the information log-likelihood value sent by the check node j to the variable node i in the mth layer of the (n-1) th iteration.
The formula represents the information transmitted to the check node of the mth layer by the variable node updated by the (m-1) th layer in the nth iteration; in the calculation of the mth layer in the nth iteration, when the information transmitted to the mth layer check node j by the variable node i updated by the (m-1) th layer needs to be determined first
Figure 549526DEST_PATH_IMAGE014
That is, when the information log-likelihood value L (r) sent to the variable node i by the m-th layer in the nth iteration is calculated, the information log-likelihood value L (r) sent to the variable node i by the check node j needs to be calculated first
Figure 554391DEST_PATH_IMAGE014
Can be calculated, so the information of the last iteration is used
Figure 54642DEST_PATH_IMAGE016
The information log-likelihood value L (Q) after the variable node i of the m-th layer in the nth iteration updates information is obtained by adding the information log-likelihood value L (r) sent by the variable node i to the check node j with the information log-likelihood value L (q) sent by the check node j to the variable node i, so that the information log-likelihood value L (Q) is used as the information log-likelihood value L (r) of the m-1 layer
Figure 475260DEST_PATH_IMAGE015
When l (q) in l (q) = l (q) -l (r) is calculated this time.
Step S2086, performing row updating on variable nodes of other iteration decoding layers, wherein the row updating represents the mth layer in the nth iteration, and the check node of the mth layer transmits the updated information to the variable node in the mth layer;
after the updating of the check node of the current layer is completed, the variable nodes of the current layer are sequentially subjected to row operation so as to complete the updating of the variable nodes.
In an alternative embodiment, the calculation formula for updating the variable node of the target iterative decoding layer includes:
Figure 10146DEST_PATH_IMAGE005
in the above formula, the first and second carbon atoms are,
Figure DEST_PATH_IMAGE017
indicating the information log-likelihood value of the target check node corresponding to the check node sent by the check node in the mth layer in the nth iteration;
Figure 687377DEST_PATH_IMAGE007
representing information log-likelihood values sent to the check nodes by other variable nodes related to the check nodes at the mth layer in the nth iteration; alpha is a normalization factor and in an alternative embodiment, alpha is typically set to 0.75 in order to reduce hardware implementation complexity and maintain good decoding performance.
The above formula represents the information transmitted to the variable node of the mth layer after the check node of the mth layer is updated in the nth iteration; wherein, in pair
Figure 674925DEST_PATH_IMAGE018
When the value is taken,
Figure 961550DEST_PATH_IMAGE018
can be positive or negative if
Figure 23047DEST_PATH_IMAGE018
If the value of the variable node is a positive value, the element type of the variable node can be determined, and if the value of the variable node is a negative value, 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 include only 0 and 1, that is, the value of the variable node is 0 or 1; assuming that the probability of the element being 0 is 0.7 obtained in the previous iteration, the probability of 0 being 0 is 0.7+ which takes a positive value in the current iteration
Figure 369714DEST_PATH_IMAGE018
Or 0.7+ takes a negative value
Figure 348953DEST_PATH_IMAGE018
So that when
Figure 439268DEST_PATH_IMAGE018
A positive value increases the probability that the element is 0,
Figure 620851DEST_PATH_IMAGE018
when the value is a negative value, the probability that the element is 0 becomes small, so that the element type of the variable node can be judged; when the probability of 0 or 1 of an element is 0.9 or more, it can be determined whether the element is 0 or 1.
Step S2088, the variable nodes of other iteration decoding layers are updated with posterior probability information, namely, the posterior probability information of the variable node of the mth layer is updated according to the information of row update and column update in the mth iteration.
In an alternative embodiment, the formula for updating the posterior probability information of the m-th layer variable node according to the row update information and the column update information comprises:
Figure DEST_PATH_IMAGE019
in the above formula, the first and second carbon atoms are,
Figure 935158DEST_PATH_IMAGE020
the information pair after the variable node completes information updating at the mth layer in the nth iteration is shownA number likelihood value, wherein the information number likelihood value is used for correcting the information data; in the formula adopt
Figure DEST_PATH_IMAGE021
Without using
Figure 398762DEST_PATH_IMAGE014
The method can make the calculation faster and save the calculation resources when the hardware is implemented. Because, when m layers are calculated for n iterations, only the current layer is calculated
Figure 27190DEST_PATH_IMAGE022
Then m-1 layers can be used
Figure DEST_PATH_IMAGE023
The posterior probability information of the m-th layer variable node is calculated, so that the m-th layer variable node does not need to be calculated
Figure 391175DEST_PATH_IMAGE024
The information is used for calculating the posterior probability information of the variable nodes, and the posterior probability information is obtained by the layer
Figure 814066DEST_PATH_IMAGE024
The information is reused when performing the iterative computation of the (m + 1) th layer.
It should be noted that, at the m layer, after the information update of the variable node is completed, the hard decision and decoding on the variable node are executed, and if the hard decision is made
Figure DEST_PATH_IMAGE025
If yes, decoding is correct, and iteration is terminated; otherwise, the information of the variable node is transferred to the next layer, that is, m = m +1 in the above formula is made, and column update and row operation and column operation are performed.
If m exceeds the set number of H matrix layers and a correct decoding result is not obtained, the next iteration is carried out, namely n = n +1 and m =1 in the formula, and the operation is circulated until the decoding is correct or the maximum iteration number is reached.
Step S2082, in an optional embodiment, before performing row update on the check node of the target iterative decoding layer, including:
setting initial information log-likelihood values, and initializing the number of iterative decoding layers, namely the iterative times, to preset values.
In an alternative embodiment, the initialized formula is:
Figure 762037DEST_PATH_IMAGE026
wherein the likelihood value of the initial information is
Figure DEST_PATH_IMAGE027
Figure 194155DEST_PATH_IMAGE028
And the information of the sequence obtained after channel demodulation, wherein the number of layers n and the iteration number n are both set to be 1.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
In this embodiment, a decoding apparatus for a packet error correction code is further provided, and the apparatus is used to implement the foregoing embodiments and preferred embodiments, and the description of the apparatus is omitted for brevity. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated.
Fig. 5 is a block diagram of a decoding apparatus for a packet error correction code according to an embodiment of the present invention, as shown in fig. 5, the apparatus including:
the decoding layer grouping module 52 is configured to determine the number of iterative decoding layers according to the size of a submatrix in a check matrix, where the check matrix is composed of a grouped error correction code sequence;
a target processing module 54, configured to perform target processing on a target variable node associated with a target check node based on the target check node in the target iterative decoding layer, where the target processing includes:
performing a first row of operation on a target check node associated with a target variable node in a target iterative decoding layer, wherein the first row of operation is used for calculating information acquired by the target check node from all variable nodes associated with the target check node; performing a first column operation on the target variable node according to an operation result of the first row of operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine the updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; under the condition that the hard decision result is that the hard decision is not established, performing target processing on the updated target variable node based on other target check nodes associated with the updated target variable node;
the first iteration module 56 is configured to perform target processing on other variable nodes in the target iterative decoding layer under the condition that hard decisions of target processing results of target variable nodes associated with the target check nodes are all not satisfied based on the target check nodes in the target iterative decoding layer;
a second iteration module 58, configured to, when all target processing results obtained by performing target processing on all other variable nodes in the target iteration decoding layer are false in hard decision, sequentially perform target processing on variable nodes corresponding to the variable nodes in the target iteration decoding layer in the other iteration decoding layers until the hard decision is true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
In an optional embodiment, the apparatus further comprises:
the information transfer unit 580 is configured to correspondingly use the column operation result of the variable node of the target iterative decoding layer as an initial value of a variable node corresponding to the variable node of the target iterative decoding layer in another iterative decoding layer.
In an alternative embodiment, the second iteration module 58 includes:
the column updating unit 584 is configured to perform column updating on check nodes of other iterative decoding layers, where the column updating indicates an mth layer in the nth iteration, and transmit information from a variable node updated by the (m-1) th layer to a corresponding check node of the mth layer;
a row update unit 586 is configured to perform row update on variable nodes of other iterative decoding layers, where a row update indicates an mth layer in an nth iteration, and a check node of the mth layer transfers updated information to a variable node in the mth layer;
after the updating of the check node of the current layer is completed, sequentially performing row operation on the variable nodes of the current layer to complete the updating of the variable nodes;
the posterior updating unit 588 is configured to perform posterior probability information updating on the variable nodes of other iterative decoding layers, that is, update the posterior probability information of the variable node of the mth layer in the mth iteration according to the row update and column update information.
In an alternative embodiment, the second iteration module 58 further includes:
the resetting unit 582 is configured to set initial information log-likelihood values, and initialize the number of iterative decoding layers, i.e., the number of iterations, to a preset value.
It should be noted that, the above modules may be implemented by software or hardware, and for the latter, the following may be implemented, but not limited to: the modules are all positioned in the same processor; alternatively, the modules are respectively located in different processors in any combination.
The invention is described below with reference to specific examples:
as shown in fig. 6 to 8, when the iterative decoding layer includes z1-z4 (corresponding to fig. 6), in the target iterative decoding layer z1, the check nodes include u0-u3, and the variable nodes include v0-v6, wherein 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 8).
Before performing column calculation on the variable node v0, performing row calculation on the check node u0, then performing node updating on the variable node according to the column calculation result of the variable node v0, performing hard decision on the column calculation result of the variable node v0, when the hard decision result is not satisfied or the updating of the variable node v0 is completed, performing row calculation on the check node associated with the variable node v1, then performing column calculation on the variable node, and repeating the above operations until all the variable nodes are updated.
Subsequently, in the case that no hard decision of the variable node included in the target iterative decoding layer z1 is satisfied, the information of the variable node included in the target iterative decoding layer z1 is corresponded to the initial information of the check node included in the target iterative decoding layer z2 and corresponding to the target iterative decoding layer z1, then row calculation and column calculation are performed on the check node and the variable node of the target iterative decoding layer z2, and the above operations are repeated until the hard decision is satisfied.
As shown in fig. 9 to 11, fig. 9 is a decoding circuit of the present invention, fig. 10 is a block diagram of the decoding circuit, and fig. 11 is a flowchart of the decoding process executed by the decoding circuit; referring to fig. 10, the decoding circuit includes:
a first storage module 92, configured to store information log-likelihood values of variable nodes of the target iterative decoding layer; wherein, the information log-likelihood values of the variable nodes of the target iterative decoding layer are stored in the V2C _ ii unit of the first storage module 92;
a second storage module 94, configured to store a symbol, a minimum value, a second minimum value, and a minimum value position of the variable node information log-likelihood value in each layer of each row; when the position of the target variable node is the same as the position of the minimum value, the variable node information log-likelihood value in each row of each layer takes a second minimum value, otherwise, the minimum value is taken;
alternatively, the sign (sign), the minimum value (min 1), the next minimum value (min 2), and the minimum value position (min 1_ id) of the variable node information LLR values in each row of each layer are stored in the C2V _ ii cell of the second storage module 94.
A first calculating module 96, configured to calculate an updated information log-likelihood value of the variable node;
a cyclic shifter 98 for performing information log-likelihood value position exchange;
a variable node updating module 1000, configured to update the information log-likelihood value sent to the check node by the variable node stored in the second storage module 94, and store the updated information log-likelihood value sent to the check node by the variable node stored in the second storage module 94 into the second storage module 94;
the second calculating module 1002 is configured to calculate an information log-likelihood value sent to a corresponding variable node after the check node of the target iterative decoding layer is updated;
and a third calculating module 1004, configured to feed back the minimum value position of the log-likelihood values of the information stored in the second storing module 94 to the cyclic shifter 98, and perform a cyclic number difference calculation.
Referring to fig. 11, when performing the decoding operation, the following operations are sequentially performed:
step S1002, calculating the LLR values after the variable nodes are updated, and the hardware formula for performing the calculation is:
LLR_update=V2C_ii+C2V_ii_new_before_layer
in step S1004, the LLR information position exchange is performed using the cyclic shifter 98 (QSN), and the hardware formula for performing the calculation is:
LLR_shift = QSN(LLR)
step S1006, updating the LLR value of the information transmitted to the check node by the variable node in the V2C _ ii unit, and then storing the LLR value in the V2C _ ii unit, where the hardware formula for performing the calculation is:
V2C_update = LLR_shift– C2V_ii_old_last_iter
step S1008, calculating the information LLR value transmitted to the current layer variable node after the current layer check node is updated, wherein the hardware formula for executing calculation is as follows:
C2V_update=sign_sort(V2C_update);
in 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, and the cyclic value difference is calculated.
Embodiments of the present invention also provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program is arranged to perform the steps of any of the above-mentioned method embodiments when executed.
In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to: various media capable of storing computer programs, such as a usb disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.
Embodiments of the present invention also provide an electronic device comprising a memory having a computer program stored therein and a processor arranged to run the computer program to perform the steps of any of the above method embodiments.
In an exemplary embodiment, the electronic apparatus may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary embodiments, and details of this embodiment are not repeated herein.
It will be apparent to those skilled in the art that the various modules or steps of the invention described above may be implemented using a general purpose computing device, they may be centralized on a single computing device or distributed across a network of computing devices, and they may be implemented using program code executable by the computing devices, such that they may be stored in a memory device and executed by the computing device, and in some cases, the steps shown or described may be performed in an order different than that described herein, or they may be separately fabricated into various integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. Thus, the present invention is not limited to any specific combination of hardware and software.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A method for decoding a packet error correction code, comprising:
determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouped error correction code sequence;
performing target processing on a target variable node associated with a target check node based on the target check node in a target iterative decoding layer, wherein the target processing comprises:
performing a first row operation on the target check node associated with the target variable node in the target iterative decoding layer, where the first row operation is used to calculate information obtained by the target check node from all variable nodes associated with the target check node, where the information includes log-likelihood values of the target variable node; performing a first column operation on the target variable node according to an operation result of the first row operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine an updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node when the hard decision result is that the hard decision is not satisfied;
under the condition that the target processing results of the target processing on the updated target variable nodes based on other target check nodes associated with the updated target variable nodes are all hard decisions, the target processing is carried out on other variable nodes in a target iterative decoding layer;
when the target processing results of all the variable nodes in the target iterative decoding layer subjected to the target processing are all false, sequentially performing the target processing on the variable nodes in the other iterative decoding layers corresponding to the variable nodes in the target iterative decoding layer until the hard decision is true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
2. The method of claim 1, wherein prior to said sequentially performing said target processing on variable nodes in other iterative coding layers corresponding to variable nodes of said target iterative coding layer, the method further comprises:
and correspondingly taking the column operation result of the variable node of the target iteration decoding layer as the initial value of the variable node corresponding to the variable node of the target iteration decoding layer in other iteration decoding layers.
3. The method of claim 2, wherein the mapping the column operation result of the target variable node of the target iterative decoding layer as an initial value of a variable node corresponding to the target variable node of the target iterative decoding layer in the other iterative decoding layer comprises:
performing column updating on the check nodes of the other iteration decoding layers, wherein the column updating is used for transmitting information from the variable node updated by the m-1 layer to the check node corresponding to the m layer in the mth iteration;
performing row updating on variable nodes of the other iteration decoding layers, wherein the row updating is used for the mth layer in the nth iteration, and the updated information is transmitted to the variable nodes in the mth layer by the check nodes of the mth layer;
and updating posterior probability information of the variable nodes of other iteration decoding layers, wherein the posterior probability information is updated to be used in the mth layer in the nth iteration, and the posterior probability information of the variable nodes of the mth layer is updated according to the row updating information and the column updating information.
4. The method of claim 3, wherein the column updating the check nodes of the target iterative decoding layer comprises:
performing the column update on the check node of the target iterative decoding layer by the following formula:
Figure 785198DEST_PATH_IMAGE002
in the above formula, i represents a variable node, and j represents a check node; m represents the number of layers, and n represents the number of iterations;
Figure DEST_PATH_IMAGE003
representing the m-th layer in the n-th iteration, the variable nodes send the information log-likelihood values of the check nodes,
Figure 16853DEST_PATH_IMAGE004
representing the information log-likelihood value after the variable node updates the information at the (m-1) th layer in the nth iteration,
Figure DEST_PATH_IMAGE005
and representing the information log-likelihood value sent to the variable node by the check node at the mth layer in the (n-1) th iteration.
5. The method of claim 4, wherein the row updating the variable node of the target iterative decoding layer comprises:
performing the line update on the variable node of the target iterative decoding layer by the following formula:
Figure 108175DEST_PATH_IMAGE006
in the above formula, the first and second carbon atoms are,
Figure DEST_PATH_IMAGE007
representing the information log-likelihood value of the target check node corresponding to the check node sent by the check node in the mth layer in the nth iteration;
Figure 175488DEST_PATH_IMAGE008
and representing information log-likelihood values sent to the check nodes by other variable nodes associated with the check nodes at the mth layer in the nth iteration.
6. The method of claim 5, wherein said updating the a posteriori probability information for the variable nodes of the other iterative coding layers comprises:
updating posterior probability information of the m-th layer variable node by executing the information according to the row update and the column update by the following formula:
Figure DEST_PATH_IMAGE009
in the above formula, the first and second carbon atoms are,
Figure 371284DEST_PATH_IMAGE010
and representing the information log-likelihood value after the variable node updates the information in the mth layer in the nth iteration.
7. The method of claim 3, wherein prior to said row updating check nodes of other iterative decoding layers, comprising:
setting an initial information log-likelihood value, and initializing the number of iterative decoding layers and the number of iterative times to preset values, wherein the initial information log-likelihood value is obtained according to a received signal value and channel characteristics, and the initial information log-likelihood value represents an information log-likelihood value of the variable node which is not subjected to iteration.
8. A decoding apparatus for a packet error correction code,
the decoding layer grouping module is used for determining the number of iterative decoding layers according to the size of a submatrix in a check matrix, wherein the check matrix consists of a grouping error correction code sequence;
a target processing module, configured to perform target processing on a target variable node associated with a target check node based on the target check node in a target iterative decoding layer, where the target processing includes:
performing a first row operation on the target check node associated with the target variable node in the target iterative decoding layer, wherein the first row operation is used for calculating information acquired by the target check node from all variable nodes associated with the target check node; performing a first column operation on the target variable node according to an operation result of the first row operation, wherein the first column operation is used for calculating information obtained by the target variable node from the target check node; according to the operation result of the first column of operation, information updating is carried out on the target variable node so as to determine an updated target variable node; according to the operation result of the first column of operation, carrying out hard decision on the updated target variable node; performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node when the hard decision result is that the hard decision is not satisfied;
a first iteration module, configured to perform the target processing on other variable nodes in a target iteration coding layer when the target processing results of performing the target processing on the updated target variable node based on other target check nodes associated with the updated target variable node are all hard decisions;
a second iteration module, configured to, when all target processing results obtained by performing the target processing on all the other variable nodes in the target iteration decoding layer are false to hard decisions, sequentially perform the target processing on the variable nodes corresponding to the variable nodes in the target iteration decoding layer in the other iteration decoding layers until the hard decisions are true; the variable nodes corresponding to the variable nodes of the target iterative decoding layer in the other iterative decoding layers comprise variable nodes with the same positions as the variable nodes of the target iterative decoding layer in the other iterative decoding layers.
9. A storage medium, in which a computer program is stored, wherein the computer program is arranged to perform the method of any of claims 1 to 7 when executed.
10. An electronic device comprising a memory and a processor, wherein the memory has stored therein a computer program, and wherein the processor is arranged to execute the computer program to perform the method of any of claims 1 to 7.
CN202011017991.6A 2020-09-24 2020-09-24 Decoding method and device of packet error correcting code, storage medium and electronic device Active CN111865335B (en)

Priority Applications (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
PCT/CN2021/091210 WO2022062406A1 (en) 2020-09-24 2021-04-29 Packet error correction code decoding method, apparatus, storage medium, and electronic device

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN111865335A CN111865335A (en) 2020-10-30
CN111865335B true CN111865335B (en) 2021-01-22

Family

ID=72968503

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (3)

* 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
CN115603761A (en) * 2022-09-27 2023-01-13 北京邮电大学(Cn) LDPC decoding method and device based on check confidence
CN117713839A (en) * 2024-02-05 2024-03-15 极芯通讯技术(安吉)有限公司 RM decoding and result checking method, device, equipment and storage medium

Family Cites Families (7)

* 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
CN101615913B (en) * 2009-07-17 2011-04-27 清华大学 Fast convergence decoding algorithm for LDPC codes
CN103199874B (en) * 2012-01-05 2017-02-15 国民技术股份有限公司 Low density parity check code decoding method
US9973212B2 (en) * 2015-09-08 2018-05-15 Storart Technology Co. Ltd. Decoding algorithm with enhanced parity check matrix and re-encoding scheme for LDPC code
US10164656B2 (en) * 2016-03-30 2018-12-25 Silicon Motion Inc. Bit flipping algorithm for providing soft information during hard decision hard decoding
CN108988872B (en) * 2018-08-23 2020-11-10 中国科学院计算技术研究所 LDPC decoding method based on hierarchical minimum sum algorithm
CN111865335B (en) * 2020-09-24 2021-01-22 浙江三维通信科技有限公司 Decoding method and device of packet error correcting code, storage medium and electronic device

Also Published As

Publication number Publication date
WO2022062406A1 (en) 2022-03-31
CN111865335A (en) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111865335B (en) Decoding method and device of packet error correcting code, storage medium and electronic device
JP4627317B2 (en) Communication apparatus and decoding method
Sharon et al. An efficient message-passing schedule for LDPC decoding
CN102412847B (en) Method and apparatus for decoding low density parity check code using united node processing
US7730377B2 (en) Layered decoding of low density parity check (LDPC) codes
US7181676B2 (en) Layered decoding approach for low density parity check (LDPC) codes
US20160336967A1 (en) Decoding of non-binary ldpc codes
US10484009B2 (en) Decoding method and decoder for low-density parity-check code
CN101159436A (en) Decoding equipment and method
CN107404321B (en) Method and apparatus for error correction code decoding
WO2007018590A1 (en) Method and apparatus for block and rate independent decoding of ldpc codes
CN107979445B (en) Syndrome decoding based on basic check nodes using pre-ordered inputs
US9853661B2 (en) On-the-fly evaluation of the number of errors corrected in iterative ECC decoding
CN112005499A (en) Decoding method and device of LDPC code
CN105556851A (en) Method and apparatus for identifying first and second extreme values from among a set of values
US20160049962A1 (en) Method and apparatus of ldpc encoder in 10gbase-t system
Boncalo et al. Cost-efficient FPGA layered LDPC decoder with serial AP-LLR processing
CN111034055A (en) Simplified check node processing in non-binary LDPC decoders
CN101364809B (en) Decoder
US11476870B2 (en) Variable node processing methods and devices for message-passing decoding of non-binary codes
CN116505961B (en) Decoding method and related device
CN110601791B (en) Decoding method of low density parity check code of communication system and communication device using the same
CN117713842A (en) Decoding method and device, storage medium and electronic device
EP3591845A1 (en) Sorting device and method for elementary check node processing for message-passing decoding of non-binary codes
CN116131864A (en) Parallel decoding method and device, storage medium and electronic device

Legal Events

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