CN101106383A - A low density checksum decoding method - Google Patents

A low density checksum decoding method Download PDF

Info

Publication number
CN101106383A
CN101106383A CNA200710120192XA CN200710120192A CN101106383A CN 101106383 A CN101106383 A CN 101106383A CN A200710120192X A CNA200710120192X A CN A200710120192XA CN 200710120192 A CN200710120192 A CN 200710120192A CN 101106383 A CN101106383 A CN 101106383A
Authority
CN
China
Prior art keywords
variable node
node
message transmitted
check node
nth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA200710120192XA
Other languages
Chinese (zh)
Other versions
CN100539441C (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CNB200710120192XA priority Critical patent/CN100539441C/en
Publication of CN101106383A publication Critical patent/CN101106383A/en
Application granted granted Critical
Publication of CN100539441C publication Critical patent/CN100539441C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

The invention discloses a decoding method for low-density parity-check codes belonging to the technical field of digital information transmission. The method comprises initializing posterior probability before iterative decoding of each variable node and the message sent from the n-th variable node to the m-th check node; updating the message sent from the m-th check node to the n-th variable node according to the minimum and the second minimum amplitude in the message sent from the variable node (except for the n-th variable node) connected with the m-th check node to the m-th check node; calculating and updating the message sent from the n-th variable node to the m-th check node; deciding stopping criterion for decoding and output decoding result when the stopping criterion is satisfied. By improving updating process of check node during decoding, the amount of calculation in the improved method is much smaller than that in standard belief propagation algorithm but the performance of belief propagation algorithm is kept and even surpassed under high SNR.

Description

Decoding method of low-density parity check code
Technical Field
The invention relates to the technical field of digital information transmission, in particular to a decoding method of Low Density Parity Check Codes (LDPC Codes).
Background
A low density check code (LDPC code for short) is an error correcting code that approaches the shannon limit. It is a linear block code, originally proposed by Gallager in 1960 in its doctor paper "Low sensitivity Parity Check Codes". In the following thirty years, people have not given sufficient attention. Until 1996, macKay re-discovered this code in New ar Shannon limit performance of Low diversity parity check codes, with a significant amount of work in the next decade. A large amount of research work proves that the performance of the LDPC code exceeds that of a Turbo code, and the best LDPC code is only 0.0045 decibel away from the Shannon limit. Due to its powerful error correction capability, it has been adopted as a channel error correction code by the european digital television broadcasting DVB-S2, wireless personal area network (IEEE 802.15), broadband wireless access network (IEEE 802.16), 10GBASE-T (IEEE 802.3 an-2006).
The check matrix of the LDPC code is a sparse matrix, i.e., the majority of matrix elements are 0, and the rest are 1, as shown in fig. 1, the check matrix is an LDPC code with a code length of 16. The LDPC code can also be represented by a Tanner graph at the same time, and fig. 2 shows the Tanner graph of the LDPC code shown in fig. 1, where 16 variable nodes correspond to 16 columns of the check matrix, that is, 16 bits, and 8 check nodes correspond to 8 rows of the check matrix, that is, 8 check equations. The element 1 of the check matrix corresponds to each connecting line of the Tanner graph, that is, if the element in the mth row and the nth column of the check matrix is 1, the mth check node corresponding to the Tanner graph is connected with the nth variable node. The sparsity of the check matrix of the LDPC code ensures the powerful error correction capability and the low-complexity decoding performance of the check matrix. LDPC codes have a variety of decoding methods, among which the decoding method with the best performance is the Belief Propagation Algorithm (BP Algorithm), but the calculation thereof is also relatively the most complicated.
The definition of LDPC codes is given in the prior art and is briefly introduced as follows:
an LDPC code with a regular (N, K) (lambda, rho) code length of N and information bits of K bits, the LDPC code being formed by a check matrix H = [ H ]) mn ]In the sole representation, H is a matrix of M rows and N columns. Each row of the H matrix has rho 1, and rho is called the repetition number of check nodes; each column of the H matrix has λ 1's, λ being called the multiplicity of variable nodes. The definition set N (m) = { N: H m,n =1, i.e. the set of column numbers with 1 element in the m-th row of the check matrix, corresponds to the Tanner graphIs a set of variable nodes connected to the mth check node. Taking the check matrix provided in fig. 1 as an example, N (1) = {1,5,9, 13}, N (5) = {2,6, 10, 14}, and the like. CollectionThe other elements except N in N (m) are defined as N (m) \ N, and the corresponding Tanner graph is a variable node set connected with the mth check node except the nth variable node, for example: n (1) \\ 9= {1,5, 13}. Definition set M (n) = { M: H m,n =1}, that is, a set consisting of row numbers with elements being 1 in the nth column of the check matrix corresponds to a set of check nodes connected to the nth variable node in the Tanner graph. Taking the check matrix provided in fig. 1 as an example, M (2) = {2,5}, M (16) = {3,6}, and the like. The other elements except M in the set M (n) are defined as M (n) \ M, and the corresponding Tanner graph is a set of check nodes connected with the nth variable node except the mth check node, for example: m (2) \\ 5= {2}.
In the prior art, a belief propagation algorithm, which is an LDPC decoding method, is briefly introduced as follows:
the transmission codeword is denoted as c = (c) 1 ,c 2 ,..,c N ) The transmitted signal is denoted as s =(s) 1 ,s 2 ,...,s N ) Wherein s is n =2c n -1; the received signal vector is represented as y = (y) 1 ,y 2 ,...,y N ) The decoding result is expressed as
Figure A20071012019200071
L and Z are sparse matrixes with the same size as the H matrix, and the elements of the sparse matrixes are respectively represented by L mn ,Z mn Is represented by L mn A message representing the delivery of the mth check node to the nth variable node; z is a linear or branched member mn Representing the message passed by the nth variable node to the mth check node. z is a vector of length N whose elements are represented by z n Is represented by wherein z n And recording the posterior probability of the nth variable node after each iteration. λ is a vector of length N, whose elements are represented by λ n Denotes λ n The posterior probability of the nth variable node before iterative decoding can also be considered as the prior probability of the decoder, for example: for equal probabilityInput additive Gaussian channel, λ n =log(P(c n =1|y n )/P(c n =0|y n ))。
The belief propagation algorithm will now be described as follows:
1) Initializing, calculating the posterior probability of each variable node before iterative decoding
Figure A20071012019200072
n=1,2,...,N.
Wherein σ 2 Is the variance of the noise, y n Is the received signal.
For each H in the check matrix mn M and n of =1, initialise Z mn The following were used:
Z mn =λ n
2) And (3) updating the check node: for each H in the check matrix mn M and n of =1, calculation
Figure A20071012019200073
Wherein tanh is a hyperbolic tangent function,
Figure A20071012019200074
tanh -1 is the inverse of the hyperbolic tangent function.
3) And (3) variable node updating:
Figure A20071012019200075
n=1,2,...,N
for each H in the check matrix mn M and n of =1, calculation
Z mn =z n -L mn
4) According to z n Calculating a decoding resultI.e. if z n Greater than 0 then
Figure A20071012019200082
Otherwise
Figure A20071012019200083
M checksums s are then calculated m
m=1,2,...,M
Wherein, ≧ represents modulo two plus, i.e. 0+1=1,0+0=0,1+1=0.
5) Judging a decoding termination condition: if M checksums s m All are 0, or the iteration times exceed the set maximum times, the decoding is terminated, and the decoding result is output
Figure A20071012019200085
Otherwise, adding 1 to the iteration number, and returning to 2) to continue the iteration.
The disadvantages of the LDPC coding technique are: the belief propagation algorithm has large updating calculation amount of check nodes and high complexity.
Disclosure of Invention
In order to reduce the complexity of decoding and improve the decoding speed, the embodiment of the invention provides a decoding method of a low-density parity check code. The technical scheme is as follows:
a method of decoding a low density parity check code, the method comprising:
step A: initializing the posterior probability of each variable node before iterative decoding, and determining the H in the check matrix mn The message transmitted from the nth variable node corresponding to the 1 to the mth check node is initialized to the posterior probability before the iterative decoding of the nth variable node;
and B, step B: updating the message transmitted from the mth check node to the nth variable node according to the minimum and the next minimum amplitude in the message transmitted from the variable node connected with the mth check node to the mth check node except the nth variable node;
step C: adding the sum of messages transmitted to the nth variable node by the check node connected with the nth variable node to the posterior probability of the nth variable node before iterative decoding, and updating the posterior probability of the nth variable node by using the result after addition; calculating the difference value between the updated posterior probability of the nth variable node and the message transmitted to the nth variable node by the mth check node, and taking the difference value as the message transmitted to the mth check node by the nth variable node in the next iteration;
step D: calculating a decoding result according to the posterior probability of the variable node and calculating a checksum, judging whether the checksums are both 0, if so, executing the step E, otherwise, judging whether the iteration times exceed a preset maximum time, if so, executing the step E, otherwise, adding 1 to the iteration times, and returning to the step B to continue the iteration;
and E, step E: and stopping decoding and outputting a decoding result.
When the message transmitted from the variable node connected to the mth check node except the nth variable node has an odd number of positive numbers, a calculation formula of the message transmitted from the mth check node to the nth variable node in the step B is:
L mn =||Z mp |-f(|Z mq |-Z mp |)|
wherein, | Z mp |,|Z mq | is the minimum and the next minimum amplitude in the message transmitted from the variable node connected to the mth check node except the nth variable node, respectively, and the function f (x) = ln (1 + e) -|x| ) Or
Figure A20071012019200091
δ is a normal norm, and T is a preset normal norm threshold.
When there are even positive numbers in the messages transmitted from the variable nodes connected to the mth check node, except for the nth variable node, the calculation formula of the messages transmitted from the mth check node to the nth variable node in step B is:
L mn =-||Z mp |-f(|Z mq |-|Z mp |)|
wherein, | Z mp |,|Z mq L is the minimum and the next minimum amplitude in the message transmitted from the variable node connected to the mth check node except the nth variable node, respectively, and the function f (x) = ln (1 + e) -|x| ) Or
Figure A20071012019200092
δ is a normal norm, and T is a preset normal norm threshold.
When there are odd positive numbers in the messages transmitted from the variable nodes connected to the mth check node, except for the nth variable node, a calculation formula of the messages transmitted from the mth check node to the nth variable node in step B is:
L mn =α·||Z mp |-f(|Z mq |-|Z mp |)|
wherein α is a normal number determined by computer simulation for different codes; | Z mp |,|Z mq L is the minimum and the next minimum amplitude in the message transmitted from the variable node connected to the mth check node except the nth variable node, respectively, and the function f (x) = ln (1 + e) -|x| ) Or
Figure A20071012019200093
Delta is a normal norm, and T is a preset normal norm threshold.
When there are even positive numbers in the messages transmitted from the variable nodes connected to the mth check node, except for the nth variable node, the calculation formula of the messages transmitted from the mth check node to the nth variable node in step B is:
L mn =-α·||Z mp |-f(|Z mq |-|Z mp |)|
wherein, the first and the second end of the pipe are connected with each other,α is a normal number determined by computer simulation for different codes; i Z mp |,|Z mq L is respectively the minimum of the messages transmitted from the variable nodes connected with the mth check node to the mth check node except the nth variable nodeAnd the next smallest amplitude, function f (x) = ln (1 + e) -|x| ) Or
Figure A20071012019200101
Delta is a normal norm, and T is a preset normal norm threshold.
When there are odd positive numbers in the messages transmitted from the variable nodes connected to the mth check node, except for the nth variable node, a calculation formula of the messages transmitted from the mth check node to the nth variable node in step B is:
L mn =||Z mp |-f(|Z mq |-|Z mp |)|
wherein, | Z mp |,|Z mq And | is the minimum and the next minimum amplitude in the message transmitted from the variable node connected with the mth check node to the mth check node except the nth variable node, respectively, and the output value of f (x) is obtained by searching through a preset function table.
When there are even positive numbers in the messages transmitted from the variable nodes connected to the mth check node, except for the nth variable node, the calculation formula of the messages transmitted from the mth check node to the nth variable node in step B is:
L mn =-||Z mp |-f(|Z mq |-|Z mp |)|
wherein, | Z mp |,|Z mq And | is the minimum and the next minimum amplitude in the message transmitted from the variable node connected with the mth check node to the mth check node except the nth variable node, respectively, and the output value of f (x) is obtained by searching through a preset function table.
When there are odd positive numbers in the messages transmitted from the variable nodes connected to the mth check node, except for the nth variable node, a calculation formula of the messages transmitted from the mth check node to the nth variable node in step B is:
L mn =α·||Z mq |-f(|Z mq |-|Z mp |)|
wherein α is a normal number determined by computer simulation for different codes; i Z mp |,|Z mq And | is the minimum and the next minimum amplitude in the message transmitted from the variable node connected with the mth check node to the mth check node except the nth variable node, respectively, and the output value of f (x) is obtained by searching through a preset function table.
When there are even positive numbers in the message transmitted from the variable node connected to the mth check node, except for the nth variable node, a calculation formula of the message transmitted from the mth check node to the nth variable node in step B is:
L mn =-α·||Z mp |-f(|Z mq |-|Z mp |)|
wherein, alpha is a normal number determined by computer simulation aiming at different codes; i Z mp |,|Z mq | is respectively the division of the n-thAnd outside the variable nodes, the variable nodes connected with the mth check node transmit the minimum and the next minimum amplitude values in the message to the mth check node, and the output value of f (x) is obtained by searching through a preset function table.
The alpha is an alpha value with the error rate as small as possible selected in advance according to computer simulation aiming at different codes.
The technical scheme provided by the embodiment of the invention has the beneficial effects that:
by improving the updating process of the check nodes in the decoding process, the improved decoding algorithm has much lower calculated amount than the existing standard belief propagation algorithm and can reach the performance of the standard belief propagation algorithm. For codes with lower check node weight, the double-sum decoding method can reach the performance of the standard belief propagation algorithm and even exceed the performance of the standard belief propagation algorithm under high signal-to-noise ratio. For the code with larger check node weight, the double sum decoding method has slight loss, and the modified double sum decoding algorithm can be adopted at the moment, and the performance exceeding the standard belief propagation algorithm even under the condition of high signal-to-noise ratio can be achieved by adopting the modified double sum decoding algorithm.
Drawings
FIG. 1 is a check matrix of a (16, 9) (2, 4) LDPC code provided in the prior art;
FIG. 2 is a Tanner graph of a (16, 9) (2, 4) LDPC code provided by the prior art;
FIG. 3 is a flowchart of a method for decoding a low density parity check code according to an embodiment of the present invention;
FIG. 4 is a schematic diagram illustrating performance comparison between decoding by applying belief propagation algorithm to (504, 252) (3, 6) LDPC codes according to an embodiment of the present invention and the decoding method of the present invention, respectively;
FIG. 5 is a graph showing the performance comparison between the decoding of (1008, 504) (3, 6) LDPC code using belief propagation algorithm and the decoding method of the present invention;
FIG. 6 is a schematic diagram illustrating performance comparison between a belief propagation algorithm and two decoding methods according to the present invention, respectively, applied to a (2048, 1723) (6, 32) LDPC code in the 10GBASE-T (IEEE 802.3 an-2006) standard according to an embodiment of the present invention.
Detailed Description
To make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Referring to fig. 3, the present embodiment provides a method for decoding a low density parity check code, which is used for a channel decoder to decode a received signal. After receiving the signal sent by the demodulator, the channel decoder can decode the LDPC code, and the decoding method comprises the following steps:
step 101: initializing, calculating posterior probability lambda before iterative decoding of each variable node n
Figure A20071012019200111
n=1,2,...,N
Wherein σ 2 Is the variance of the noise, y n Is the received signal.
For each H in the check matrix mn M and n of =1, initialization Z mn The following were used:
Z mn =λ n
wherein Z is mn Representing the message passed by the nth variable node to the mth check node.
Step 102: check node update, for each H in the check matrix mn M and n of =1, calculate and update message L passed by mth check node to nth variable node mn
L mn Is from the set Z mn′ ∶n′∈N(m)\n},L mn Amplitude | L of mn The calculation process of | is as follows: and finding out the item with the minimum amplitude and the second minimum amplitude in the message transmitted to the mth check node, taking the difference between the minimum amplitude and the second minimum amplitude as the input of the f function, obtaining an output value through the f function, then subtracting the output value of the f function from the minimum amplitude, and taking the absolute value of the difference value. If set { Z mn′ If there are odd positive numbers in N' epsilon N (m) \ N }, then L is updated mn Take a positive value, i.e.
L mn =||Z mp |-f(|Z mq |-|Z mp |)|
If set { Z mn′ If there are even positive numbers in N' epsilon N (m) \ N }, L is updated mn Take a negative value, i.e.
L mn =-||Z mp |-f(|Z mq |-|z mp |)|
Wherein L is mn Representing the message passed by the mth check node to the nth variable node,
Figure A20071012019200121
|Z mp |,|Z mq is the set { | Z | respectively mn′ The smallest and next smallest items in |:n'. Epsilon.N (m) \\ N }.
Function f (x) = ln (1 + e) -|x| ) While f (x) can also be approximated asδ is any normal number, preferably a number between 0.5 and 0.7; t is a normal threshold, preferably a value around 2; the output value of f (x) can also be obtained by a preset function table lookup.
Step 103: variable node update, compute z n
Figure A20071012019200124
n=1,2,...,N
Wherein z is n Representing the posterior probability of the nth variable node for each iteration, for each H in the check matrix mn M and n of =1, calculate Z mn
Z mn =z n -L mn
Step 104: according to z n Calculating a decoding result
Figure A20071012019200125
I.e. if z n Greater than 0 thenOtherwiseM checksums s are then calculated m
Figure A20071012019200128
m=1,2,...,M
Wherein, ≧ represents modulo two plus, i.e., 0+1=1,0+0=0,1+1=0.
Step 105: judging decoding termination conditions, i.e. judging M checksums s m If both are 0, if yes, go to step 107, otherwise go to step 106.
Step 106: judging whether the iteration times exceed a preset maximum time, if so, executing step 107, and outputting a decoding result
Figure A20071012019200131
Otherwise, the iteration number is increased by 1, and the step 102 is returned to continue the iteration.
Step 107: and stopping decoding and outputting a decoding result.
The above decoding method of the low density parity check code is called as a double sum decoding algorithm. In particular, the decoding method described above may be further improved by modifying L in step 102 mn Of (i) i.e.
|L mn |=α·||Z mp |-f(|Z mq |-|Z mp |)|
Wherein, alpha is a normal number determined by computer simulation aiming at different codes, alpha is preferably a normal number not greater than 1, and the normal number preferably selects an alpha value with the smallest error rate as possible during computer simulation.
Alpha is referred to herein as a correction factor; the modified double sum decoding algorithm is called a modified double sum decoding algorithm. In summary, the double-sum decoding algorithm is a special case of the modified double-sum decoding algorithm.
The updating calculation of the above messages only needs to calculate H in the check matrix mn L of =1 mn And Z mn (ii) a For each H mn L when =0 mn And Z mn No calculation is required.
The following describes a specific implementation process of the check node update of the dual-sum decoding algorithm:
if the multiple number of the m-th row check node is rho, setting N (m) = { N = 1 ,n 2 ,...,n ρ Set { | Z { |) mn1 |,|Z mn2 |,...,|Z mnp The smallest value, the next smallest value, and the next smallest value in | Z } are | Z mk1 |,|Z mk2 |,|Z mk3 L. Set { Z mn1 ,Z mn2 ,...,Z mnρ Total P positive numbers, then
Figure A20071012019200132
Figure A20071012019200133
Specific application example 1
Taking the check equations in row 5 of the (16, 9) (2, 4) LDPC code provided in fig. 1 as an example, the difference between the embodiment of the present invention and the prior art is that the check node update process in step 102, the method provided in embodiment 1 is applied to describe the decoding process, and the remaining steps are similar and will not be described again here.
Set last iteration updated Z 5,2 =2.4,Z 5,6 =-1.3,Z 5,10 =2.2,Z 5,14 And (4) = -0.1. Set { | Z 5,2 |,|Z 5,6 |,|Z 5,10 |,|Z 5,14 Minimum value | Z in | } mk1 I, the sub-minimum value | Z mk2 I, the next minimum value | Z mk3 I are 0.1, 1.3, and 2.2, respectively, i.e., the minimum, and the subscripts of the next minimum and next minimum are k, respectively 1 =14,k 2 =6,k 3 =10. Because of the set { Z 5,2 ,Z 5,6 ,Z 5,10 ,Z 5,14 Has 2 positive numbers, and Z 5,2 > 0, then set { Z 5,6 ,Z 5,10 ,Z 5,14 There are odd (2-1 = 1) positive numbers,L 5,2 taking a positive value; due to Z 5,6 < 0, then set { Z 5,2 ,Z 5,10 ,Z 5,14 There are even numbers (2-0 = 2) positive numbers, L 5,6 Taking a negative value; due to Z 5,10 > 0, then set { Z 5,2 ,Z 5,6 ,Z 5,14 There are odd (2-1 = 1) positive numbers, L 5,10 Taking a positive value; due to Z 5,14 < 0, then set { Z 5,2 ,Z 5,6 ,Z 5,10 There are even numbers (2-0 = 2) of positive numbers, L 5,14 Taking the negative value. Selecting
Figure A20071012019200141
Therefore, the method comprises the following steps:
14=k 1
Figure A20071012019200142
6=k 2
Figure A20071012019200143
Figure A20071012019200144
Figure A20071012019200145
as shown in fig. 4, a schematic diagram of a comparison between a bit error probability and a codeword error probability after 200 times of iterative decoding is performed by applying a belief propagation algorithm and a dual-sum decoding algorithm provided by an embodiment of the present invention, taking (504, 252) (3, 6) LDPC code as an example; as shown, the double sum decoding algorithm has almost the same error performance as the belief propagation algorithm.
As shown in fig. 5, a schematic diagram of bit error probability comparison after 20 times and 200 times of iterative decoding are performed by using the belief propagation algorithm applied to the (1008, 504) (3, 6) LDPC code as an example and the double sum decoding algorithm provided by the embodiment of the present invention, respectively; as shown, the double sum decoding algorithm has nearly consistent error performance with the belief propagation algorithm. The performance of the double sum decoding algorithm is slightly better than the belief propagation algorithm at high signal-to-noise ratios.
As shown in fig. 6, taking the (2048, 1723) (6, 32) LDPC code in the 10GBASE-T (IEEE 802.3 an-2006) standard as an example, the belief propagation algorithm is applied respectively, and the bit error probability comparison diagram after 100 iterative decodings of the double sum decoding algorithm and the modified double sum decoding algorithm provided by the embodiment of the present invention is shown. Wherein the correction factor of the modified double sum decoding algorithm is selected to be 0.8. As shown, the dual summation decoding algorithm has a performance penalty of 0.1 db compared to the belief propagation algorithm. This is due to the large check node duplication of the code. At this point, performance can be improved using a modified double sum decoding algorithm. As shown, the modified double sum decoding algorithm has similar error performance to the belief propagation algorithm. The performance of the modified double-sum decoding algorithm is also superior to the belief propagation algorithm at high signal-to-noise ratios.
The functions in the computer simulation provided in FIGS. 4, 5, and 6 above
Figure A20071012019200146
Through the technical scheme, the calculation amount of the double-sum decoding algorithm method and the modified double-sum decoding algorithm method provided by the embodiment of the invention is much lower than that of the existing standard belief propagation algorithm, and for codes with lower check node weight, the double-sum decoding method can achieve the performance of the standard belief propagation algorithm and even exceed the performance of the standard belief propagation algorithm under high signal-to-noise ratio. For the code with larger check node weight, the double sum decoding algorithm method has slight loss, and the performance exceeding the standard belief propagation algorithm even under high signal-to-noise ratio can be achieved by adopting the modified double sum decoding algorithm.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and should not be taken as limiting the scope of the present invention, which is intended to cover any modifications, equivalents, improvements, etc. within the spirit and scope of the present invention.

Claims (10)

1. A method for decoding low density parity check codes, the method comprising:
step A: initializing the posterior probability of each variable node before iterative decoding, and determining the H in the check matrix mn The message transmitted from the nth variable node corresponding to the 1 to the mth check node is initialized to be the last variable node before iterative decodingChecking the probability;
and B, step B: updating the message transmitted from the mth check node to the nth variable node according to the minimum and the next minimum amplitude values in the message transmitted from the variable node connected with the mth check node to the mth check node except the nth variable node;
and C: adding the sum of messages transmitted to the nth variable node by the check node connected with the nth variable node to the posterior probability of the nth variable node before iterative decoding, and updating the posterior probability of the nth variable node by using the added result; calculating the difference value between the updated posterior probability of the nth variable node and the message transmitted to the nth variable node by the mth check node, and taking the difference value as the message transmitted to the mth check node by the nth variable node in the next iteration;
step D: calculating a decoding result according to the posterior probability of the variable node and calculating a checksum, judging whether the checksums are all 0, if so, executing the step E, otherwise, judging whether the iteration frequency exceeds a preset maximum frequency, if so, executing the step E, otherwise, adding 1 to the iteration frequency, and returning to the step B to continue the iteration;
step E: and stopping decoding and outputting a decoding result.
2. The method for decoding ldpc code as claimed in claim 1, wherein when there are odd positive numbers in the message transmitted from the variable node connected to the mth check node except the nth variable node, the message transmitted from the mth check node to the nth variable node in step B is calculated by:
L mn =||Z mp |-f(|Z mq |-|Z mp |)|
wherein, | Z mp |,|Z mq I is the variable node direction connected with the mth check node except the nth variable nodeThe minimum and next minimum amplitude in the message transmitted by the mth check node, function f (x) = ln (1 + e) -|x| ) Orδ is a normal norm and T is a preset normal norm threshold.
3. The method for decoding ldpc code as claimed in claim 1, wherein when there are even positive numbers in the message transmitted from the variable node connected to the mth check node except the nth variable node, the message transmitted from the mth check node to the nth variable node in the step B is calculated by:
L mn =-||Z mp |-f(|Z mq |-|Z mp |)|
wherein, | Z mp |,|Z mq L is the minimum and the next minimum amplitude in the message transmitted from the variable node connected to the mth check node except the nth variable node, respectively, and the function f (x) = ln (1 + e) -|x| ) Or
Figure A2007101201920003C1
δ is a normal norm and T is a preset normal norm threshold.
4. The method for decoding ldpc code as claimed in claim 1, wherein when there are odd positive numbers in the message transmitted from the variable node connected to the mth check node except the nth variable node, the message transmitted from the mth check node to the nth variable node in step B is calculated by:
L mn =α·||Z mp |-f(|Z mq |-Z mp |)|
wherein, alpha is a normal number determined by computer simulation aiming at different codes; | Z mp |,|Z mq L is respectively except the nth variable node, andthe minimum and the next minimum amplitudes in the messages transmitted by the variable nodes connected to the mth check node, and the function f (x) = ln (1 + e) -|x| ) Or
Figure A2007101201920003C2
Delta is a normal norm, and T is a preset normal norm threshold.
5. The method for decoding ldpc code as claimed in claim 1, wherein when there are even positive numbers in the message transmitted from the variable node connected to the mth check node except the nth variable node, the message transmitted from the mth check node to the nth variable node in the step B is calculated by:
L mn =-α·||Z mp |-f(Z mq |-|Z mp |)|
wherein α is a normal number determined by computer simulation for different codes; | Z mp |,|Z mq L is the minimum and the next minimum amplitude in the message transmitted from the variable node connected to the mth check node except the nth variable node, respectively, and the function f (x) = ln (1 + e) -|x| ) Or
Figure A2007101201920003C3
Delta is a normal norm, and T is a preset normal norm threshold.
6. The method for decoding ldpc code as claimed in claim 1, wherein when there are odd positive numbers in the message transmitted from the variable node connected to the mth check node except the nth variable node, the message transmitted from the mth check node to the nth variable node in step B is calculated by:
L mn =||Z mp |-f(|Z mq |-|Z mp |)|
wherein, | Z mp |,|Z mq And | is the minimum and the next minimum amplitude in the message transmitted from the variable node connected with the mth check node to the mth check node except the nth variable node, respectively, and the output value of f (x) is obtained by searching through a preset function table.
7. The method for decoding ldpc code according to claim 1, wherein when there are even positive numbers in the message transmitted from the variable node connected to the mth check node except the nth variable node, the message transmitted from the mth check node to the nth variable node in the step B is calculated by:
L mn =-||Z mp |-f(|Z mq |-|Z mp |)|
wherein, | Z mp |,|Z mq And l is the minimum and the next minimum amplitude in the message transmitted from the variable node connected with the mth check node to the mth check node except the nth variable node, respectively, and the output value of f (x) is obtained by searching a preset function table.
8. The method for decoding ldpc code as claimed in claim 1, wherein when there are odd positive numbers in the message transmitted from the variable node connected to the mth check node except the nth variable node, the message transmitted from the mth check node to the nth variable node in step B is calculated by:
L mn =α·‖Z mp |-f(|Z mq |-|Z mp |)|
wherein, alpha is a normal number determined by computer simulation aiming at different codes; i Z mp |,|Z mq Respectively, except the nth variable node, the minimum and the next minimum amplitudes in the message transmitted from the variable node connected with the mth check node to the mth check node, and the output value of f (x) passes through a preset function tableAnd (6) searching and obtaining.
9. The method for decoding ldpc code as claimed in claim 1, wherein when there are even positive numbers in the message transmitted from the variable node connected to the mth check node except the nth variable node, the message transmitted from the mth check node to the nth variable node in the step B is calculated by:
L mn =-α·||Z mp |-f(|Z mq |-|Z mp |)|
wherein, alpha is a normal number determined by computer simulation aiming at different codes; i Z mp |,|Z mq And | is the minimum and the next minimum amplitude in the message transmitted from the variable node connected with the mth check node to the mth check node except the nth variable node, respectively, and the output value of f (x) is obtained by searching through a preset function table.
10. The method for decoding ldpc code as claimed in any one of claims 4, 5, 8 or 9, wherein α is a value of α having an error rate as small as possible selected in advance according to computer simulation for different codes.
CNB200710120192XA 2007-08-13 2007-08-13 A kind of interpretation method of low density parity check code Expired - Fee Related CN100539441C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200710120192XA CN100539441C (en) 2007-08-13 2007-08-13 A kind of interpretation method of low density parity check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200710120192XA CN100539441C (en) 2007-08-13 2007-08-13 A kind of interpretation method of low density parity check code

Publications (2)

Publication Number Publication Date
CN101106383A true CN101106383A (en) 2008-01-16
CN100539441C CN100539441C (en) 2009-09-09

Family

ID=39000102

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200710120192XA Expired - Fee Related CN100539441C (en) 2007-08-13 2007-08-13 A kind of interpretation method of low density parity check code

Country Status (1)

Country Link
CN (1) CN100539441C (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262231B (en) * 2008-04-25 2011-09-28 浙江大学 A decoding method for block low-density check code and reconstruction of multi-mode decoder
CN101465654B (en) * 2009-01-06 2012-07-18 中山大学 Method for judging decode halt of LDPC code based on checksum error mode
CN101807928B (en) * 2009-02-13 2013-06-05 瑞昱半导体股份有限公司 Recording controller and parity check code decoder
CN103199874A (en) * 2012-01-05 2013-07-10 国民技术股份有限公司 Low density parity check code decoding method
CN111416627A (en) * 2020-03-09 2020-07-14 重庆邮电大学 L DPC decoding method based on simplified BP algorithm
CN111510162A (en) * 2020-05-20 2020-08-07 桂林电子科技大学 Low-complexity multivariate L DPC (differential code word) decoding method based on node refreshing mechanism

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262231B (en) * 2008-04-25 2011-09-28 浙江大学 A decoding method for block low-density check code and reconstruction of multi-mode decoder
CN101465654B (en) * 2009-01-06 2012-07-18 中山大学 Method for judging decode halt of LDPC code based on checksum error mode
CN101807928B (en) * 2009-02-13 2013-06-05 瑞昱半导体股份有限公司 Recording controller and parity check code decoder
CN103199874A (en) * 2012-01-05 2013-07-10 国民技术股份有限公司 Low density parity check code decoding method
CN103199874B (en) * 2012-01-05 2017-02-15 国民技术股份有限公司 Low density parity check code decoding method
CN111416627A (en) * 2020-03-09 2020-07-14 重庆邮电大学 L DPC decoding method based on simplified BP algorithm
CN111510162A (en) * 2020-05-20 2020-08-07 桂林电子科技大学 Low-complexity multivariate L DPC (differential code word) decoding method based on node refreshing mechanism
CN111510162B (en) * 2020-05-20 2023-08-29 桂林电子科技大学 Low-complexity multi-element LDPC decoding method based on node refreshing mechanism

Also Published As

Publication number Publication date
CN100539441C (en) 2009-09-09

Similar Documents

Publication Publication Date Title
KR101021465B1 (en) Apparatus and method for receiving signal in a communication system using a low density parity check code
JP5177767B2 (en) Method and apparatus for decoding LDPC code in Galois field GF (Q)
US8010869B2 (en) Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
USRE44421E1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
US8918694B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
JP5138221B2 (en) Method for min-sum decoding error correction code
US8347194B2 (en) Hierarchical decoding apparatus
US11245425B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
KR20090126829A (en) Iterative decoding method and iterative decoding apparatus
KR101718543B1 (en) Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same
JP2008501287A (en) Apparatus and method for encoding / decoding block low density parity check code
US8201049B2 (en) Low density parity check (LDPC) decoder
CN101106383A (en) A low density checksum decoding method
JP2008199623A (en) Message-passing and forced convergence decoding method
Zhang et al. On bit-level decoding of nonbinary LDPC codes
US8930790B1 (en) Method and apparatus for identifying selected values from among a set of values
CN101106437B (en) A decoding method for limited geometrical low density checksum code
US8019020B1 (en) Binary decoding for correlated input information
Wanjari et al. Error performance of LDPC decoder using bit flip algorithm
CN107659316B (en) Low-complexity Min-Max decoding method of multi-element LDPC (low density parity check)
Chandrasetty et al. A reduced complexity message passing algorithm with improved performance for LDPC decoding
Zhang et al. Low-complexity dynamic single-minimum min-sum algorithm and hardware implementation for LDPC codes
KR102635444B1 (en) Decoder, operating method thereof and memory system including the decoder for decoding non-binary low-density parity check code
Chen et al. An efficient weighted bit-flipping algorithm for decoding LDPC codes based on log-likelihood ratio of bit error probability
Ovchinnikov et al. Hybrid Decoding of LDPC Codes in Discrete Communication Channels

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090909

Termination date: 20120813