CN101106383A - A low density checksum decoding method - Google Patents
A low density checksum decoding method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims description 29
- 238000005094 computer simulation Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 abstract description 53
- 238000004364 calculation method Methods 0.000 abstract description 17
- 230000008569 process Effects 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000012937 correction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 101100356682 Caenorhabditis elegans rho-1 gene Proteins 0.000 description 1
- 241001235534 Graphis <ascomycete fungus> Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
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
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 asL 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
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
Wherein tanh is a hyperbolic tangent function,tanh -1 is the inverse of the hyperbolic tangent function.
3) And (3) variable node updating:
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 thenOtherwiseM 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 outputOtherwise, 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δ 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δ 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| ) OrDelta 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,α 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| ) OrDelta 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 :
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, |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 :
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 resultI.e. if z n Greater than 0 thenOtherwiseM checksums s are then calculated 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 resultOtherwise, 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
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. SelectingTherefore, the method comprises the following steps:
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.
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δ 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| ) OrDelta 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| ) OrDelta 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.
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)
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 |
-
2007
- 2007-08-13 CN CNB200710120192XA patent/CN100539441C/en not_active Expired - Fee Related
Cited By (8)
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 | |
US8347194B2 (en) | Hierarchical decoding apparatus | |
JP5138221B2 (en) | Method for min-sum decoding error correction code | |
US9544090B2 (en) | Hard input low density parity check decoder | |
US8918694B2 (en) | Non-concatenated FEC codes for ultra-high speed optical transport networks | |
US20050229087A1 (en) | Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof | |
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 | |
KR20090048465A (en) | Message-passing decoding method with sequencing according to reliability of vicinity | |
US8201049B2 (en) | Low density parity check (LDPC) decoder | |
CN101106383A (en) | A low density checksum decoding method | |
Zhang et al. | On bit-level decoding of nonbinary LDPC codes | |
JP2008199623A (en) | Message-passing and forced convergence decoding method | |
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 | |
CN104168031B (en) | A kind of iterative decoding method for LDPC code | |
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 | |
Wu et al. | Alternate iteration of shuffled belief propagation decoding |
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 |