A hybrid decoding method for LDPC codes based on CRC
By combining ADMM and BP decoding algorithms in LDPC code decoding and adding CRC check bits, the error flat layer problem in BP decoding and the high complexity of traditional mathematical planning methods are solved, and the LDPC decoding performance is improved under low complexity.
Patent Information
- Application Number
- CN202210545215.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-19
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-05-19
AI Technical Summary
In the existing LDPC coding and decoding methods, BP decoding has error flat layer problem, and the traditional mathematical planning method is highly complex, making it difficult to effectively improve decoding performance.
The LDPC code hybrid decoding method based on CRC is adopted, combined with ADMM and BP decoding algorithms, and the performance of mixed decoding is improved by adding CRC check bits, and CRC verification is performed when the ADMM and BP decoding output is performed to reduce the probability of undetectable errors.
Under the premise of lower decoding complexity, the soft decision decoding performance of LDPC code is improved, the probability of undetectable errors after BP decoding is reduced, and the error performance of hybrid decoders is improved.
Smart Images

Figure CN115276668B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of channel coding, and in particular relates to a LDPC code hybrid decoding method based on CRC. Background Art
[0002] LDPC code is a linear block code with a sparse check matrix proposed by Dr. Gallager of MIT. It is a code that can approach the Shannon limit and is used in the 5G standard. In recent years, research on LDPC codes mainly includes two aspects: encoding and decoding. Among them, LDPC code decoding methods mainly include hard decision and soft decision.
[0003] The BP (Belief Propagation) algorithm is a traditional soft-decision decoding algorithm for LDPC codes. It updates the LLR (Log-Likelihood Ratio) by transferring information between the check nodes and the variable nodes until the syndrome is zero or the maximum number of iterations is reached. The algorithm has good performance, low decoding complexity, and is easy to implement in parallel, but in some cases, BP decoding will have an error floor.
[0004] Another decoding method for LDPC codes is MP (Mathematical Programming) decoding. This model was mainly proposed by Feldman et al. However, due to the high algorithm complexity of traditional mathematical optimization methods, such as interior point method, simplex method, branch and bound method, etc., it is impossible to explore the internal structure of LDPC codes. ADMM (Alternating Direction Method of Multipliers) is an optimization algorithm that has been used in the MP decoding model of LDPC codes in recent years. It is a decoding algorithm with linear time complexity, which is easy to implement in parallel and has a fast decoding speed. Compared with BP decoding, MP decoding using ADMM algorithm can eliminate error flattening in some cases, and if the ADMM decoder finally iterates to a feasible codeword, it has ML (Maximum Likelihood) characteristics. This is the advantage of using mathematical tools to decode LDPC codes.
[0005] CRC (Cyclic Redundancy Check) code is a cyclic code widely used for error detection in communication systems. Since BP decoding may converge to an incorrect feasible codeword, a simple parity check cannot detect this error. Summary of the invention
[0006] The purpose of the present invention is to further improve the soft decision decoding performance of LDPC code by combining ADMM decoding algorithm and BP decoding algorithm under the premise of low decoding complexity, and to improve the performance of hybrid decoding as much as possible by adding CRC mode.
[0007] A hybrid decoding method for LDPC codes based on CRC, truncating the last r bits of information bits, calculating CRC check bits by modulo 2 division, and appending them to the truncated information bits, forming a k-bit sequence with kr-bit information and r-bit CRC check bits, and then LDPC encoding the sequence before sending, the hybrid decoding method comprising:
[0008] S1. Calculate the initial likelihood ratio (LLR) information through the AWGN channel, and obtain the initial hard decision codeword X according to the initial LLR information. HD ;
[0009] S2, sending the initial LLR information to the BP decoder for decoding, performing parity check and CRC check on the BP decoded codeword, if any of the checks are not satisfied, proceed to S3; otherwise, the BP decoded codeword is used as the hybrid decoding output codeword, and the decoding is terminated;
[0010] S3, sending the initial LLR information of the channel to the ADMM decoder for decoding, performing parity check and CRC on the codeword output by the ADMM decoder, if the parity check and CRC are both successful, the ADMM decoded codeword is used as the hybrid decoder output, and the decoding is terminated;
[0011] If only the parity check of ADMM succeeds and the parity check of BP fails, the ADMM decoded codeword is used as the output of the hybrid decoder and the decoding is terminated;
[0012] If the ADMM parity check fails and the BP parity check succeeds, the BP decoded codeword is output and the decoding ends;
[0013] If both the ADMM and BP parity checks succeed, but the ADMM and BP decoding output CRC checks fail, the process goes to S4; otherwise, both the ADMM and BP parity checks fail, and the hybrid decoder fails;
[0014] S4, calculate ADMM and BP decoded codeword and X HD The codeword corresponding to the Hamming distance with the smaller Hamming distance is output as the hybrid decoding output codeword.
[0015] The specific method of BP decoding is:
[0016] In order to simplify the calculation, the probability information is converted to the logarithmic domain for calculation. For binary LDPC codes, for noise variance σ 2 For the AWGN channel:
[0017] When the sending is 0, the receiving is r j The probability of
[0018] When the sending is 1, the receiving is r j The probability of
[0019] Define the log-likelihood ratio: In the above formula represents the noise bilateral spectral density, and E represents the signal energy.
[0020] If p(r j |0)>p(r j |1), the receiving end determines it as 0, otherwise it is determined as 1, and the corresponding log-likelihood ratio is LLR>0 or less than 0.
[0021] The specific iterative process of the BP decoding algorithm is as follows:
[0022] The set of all variable nodes adjacent to the check node i is recorded as N v (i) (i = 1, 2, ..., m), the set of all check nodes adjacent to variable node j is denoted as N c (j)(j=1, 2…, n).
[0023] (1) Initialization: Log-likelihood ratio LLR, L v→c (i, j) = L j =LLR.
[0024] (2) Verify node outbound information update:
[0025] according to Calculate the information passed from check node i to variable node j.
[0026] (3) Update of variable node outbound information:
[0027] according to The information passed from the computation variable node to the check node.
[0028] (4) Based on Compute the likelihood ratio for each variable node.
[0029] (5) The LLR information is hard-determined as like Or the maximum number of iterations is reached, end; otherwise, go to (2).
[0030] The specific method of ADMM decoding is:
[0031] The ADMM algorithm is a linear time complexity algorithm used to solve the mathematical programming decoding model of LDPC codes. Before using the ADMM algorithm, the mathematical programming decoding model of LDPC codes must be established, including the objective function and constraints of the model. Based on the derivation of maximum likelihood, for the AWGN channel, the initial likelihood ratio is set to γ = LLR, and the codeword to be solved is v. Then the objective function of the mathematical programming decoding model can be equivalently minimized γ T v.
[0032] The constraints can be described by building a convex hull of local codewords corresponding to each check equation. A local codeword is defined as a set that satisfies the current check equation. For example, for the check equation x1+x2+x3=0, the corresponding local codewords are {000}, {011}, {101}, and {110}.
[0033] Consider a check node with degree 3: x1+x2+x3=0. The convex hull formed by its local codewords can be equivalently expressed by the inequality:
[0034]
[0035] remember g=[0 0 0 2] T , the above inequality group can be further expressed as:
[0036] Tx≤g (4)
[0037] In order to represent the convex hull of the local codeword corresponding to any check node, the check nodes with degree greater than 3 are decomposed into several check nodes with degree 3 by introducing auxiliary variables. i The check node can be decomposed into d i -2 3-degree check nodes, additional d is required i - 3 auxiliary variable nodes.
[0038] For example, consider the binary domain check equation x1+x2+x3+x4=0. The above check equation can be decomposed into two 3-degree check nodes by introducing an auxiliary variable node x5:
[0039] x1+x2+x5=0
[0040] x3+x4+x5=0
[0041] After the check node degree decomposition, the convex hull corresponding to the local codeword can be expressed by inequality (3). For the m×n check matrix, the variable node after longitude decomposition becomes variable nodes, the check node becomes There are 3-degree check nodes. After longitude decomposition, the selection matrix Q corresponding to each check node is: dimension, so the convex hull of all local codewords of the check equation can be expressed as:
[0042] Av≤b
[0043] in represents the Kronecker product, and vector 1 is Γ c dimensional all-1 vector.
[0044] Therefore, the LDPC decoding problem can be transformed into the following problem:
[0045] minγ T v
[0046] stAv≤b,v∈[0,1] N
[0047] in
[0048] In order to adapt to the ADMM algorithm framework, an auxiliary variable w is introduced to transform the inequality constraints of the above problem into equality constraints. In summary, for the m×n LDPC check matrix, the LDPC code mathematical programming decoding model is as follows:
[0049] minγ T v
[0050] stAv+w=b,v∈[0,1] n
[0051] In order to make the ADMM algorithm converge better to 0, 1 integer solutions, a quadratic penalty term is added after the problem model:
[0052]
[0053] stAv+w=b
[0054]
[0055] Its augmented Lagrangian function is:
[0056]
[0057] The iterative rule of ADMM to solve the above problem is:
[0058] v k+1 =argmin v L μ (v,w k ,λ k ) (6)
[0059] w k+1 =argmin z Lμ (v k+1 , w, λ k ) (7)
[0060] λ k+1 =λ k +μ(Av k+1 +w k+1 -b) (8)
[0061] Where γ is the initial likelihood ratio received through the AWGN channel, v is the codeword vector to be solved, A is composed of the selection matrix corresponding to each check node of the H matrix, and let A = (a1, a2, ..., a N ), w is the auxiliary variable added, and λ is the penalty vector.
[0062] The ADMM algorithm (Alternating Direction Multiplier Method) combines the dual ascent method and the Lagrange multiplier method to alternately update v, w, and the dual ascent variable λ. The specific iterative steps of the ADMM algorithm are as follows:
[0063] (1) Initialization: Set the initial number of iterations k = 0, set the maximum number of iterations, initialize the v, w, and λ vectors to all zero vectors, and input the check matrix H, matrix A, and vector b.
[0064] (2) Variable node update: For N variable nodes, update according to the following rules:
[0065]
[0066] in
[0067] (3) Check node update: For M check nodes, update them in parallel according to the following rules:
[0068]
[0069] Among them, A = (eta1; eta2; ...; eta M ).
[0070] (4) Dual variable update: For the dual variable λ k+1 , there are the following update rules:
[0071] λ k+1 ←λ k +μ(Av k+1 +w k+1 -b)
[0072] (5) k = k + 1, until the syndrome is zero or the maximum number of iterations is reached; otherwise, repeat (2) to (4) to proceed to the next iteration.
[0073] The beneficial effects of the present invention are:
[0074] 1. The present invention makes full use of the respective advantages of the ADMM and BP decoding algorithms. Compared with the BP and ADMM algorithms, the error performance of the hybrid decoding scheme of the present invention is improved, and the complexity is not particularly improved.
[0075] 2. The CRC-based hybrid decoding scheme proposed in the present invention greatly reduces the undetectable error probability (UEP) after BP decoding through CRC and parity double checking. This scheme ensures that only the channel soft information corresponding to the error codeword will be sent to the ADMM decoder after BP decoding; on the other hand, after adding CRC, due to the decrease in UEP, as much soft information corresponding to the error codeword as possible will be sent to the ADMM decoder, thereby improving the error performance of the hybrid decoding scheme as much as possible while ensuring low complexity. BRIEF DESCRIPTION OF THE DRAWINGS
[0076] Figure 1 Comparison of LDPC frame structure and LDPC frame structure with CRC added.
[0077] Figure 2 The missed detection error probability of (126, 1 / 3) irregular LDPC code after BP decoding with and without CRC.
[0078] Figure 3 This is a diagram of the hybrid decoding structure based on CRC.
[0079] Figure 4 This is the flow chart of hybrid decoding based on CRC.
[0080] Figure 5 The figure is a comparison of the frame error rates of regular LDPC codes with a code length of 96 and a code rate of 1 / 2 under different decoding methods.
[0081] Figure 6 The figure compares the number of iterations of regular LDPC codes with code length 96 and code rate 1 / 2 under different decoding methods.
[0082] Figure 7 This is a comparison chart of the frame error rate of irregular LDPC codes with code length 126 and code rate 1 / 3 under different decoding methods.
[0083] Figure 8 The figure compares the number of iterations of irregular LDPC codes with code length 126 and code rate 1 / 3 under different decoding methods. DETAILED DESCRIPTION
[0084] The technical solution of the present invention is described in detail below in conjunction with the accompanying drawings:
[0085] The decoding part of the present invention adopts BP decoding as the pre-decoder (first-level decoder) and ADMM as the second-level decoder. If only parity check is used, the pre-decoder (BP decoding) may converge to an incorrect feasible codeword. In this case, the parity check alone cannot verify whether the pre-decoding codeword is correct, that is, after BP decoding, there will be more undetectable error frames only through parity check. The undetectable error frames greatly limit the performance of hybrid decoding. The present invention adds CRC check before LDPC encoding, at the cost of truncating the information length, and realizes double check of parity and CRC on the receiving side, which greatly reduces the probability of undetectable errors after BP decoding, thereby ensuring that the performance of the hybrid decoder is maximized under the premise of low complexity.
[0086] Figure 2 After passing through the BP decoder, under the premise of an error, the probability of undetectable errors with the signal-to-noise ratio is distributed only through parity check and CRC plus parity check. It can be seen that after adding CRC, the probability of undetectable errors tends to 0, which not only ensures that the subsequent codewords sent to the ADMM decoder must be erroneous codewords, but also ensures that as many erroneous codewords as possible can be sent to the ADMM decoder.
[0087] The specific implementation of the hybrid decoding part is as follows:
[0088] (1) Initialization. Calculate the initial likelihood ratio (LLR) information of the AWGN channel and obtain the initial hard decision codeword X based on the initial LLR information. HD .
[0089] (2) Send the LLR information to the BP decoder. Perform parity check and CRC check on the BP decoded codeword. If the parity check or CRC does not meet the requirements, proceed to (3); otherwise, use the BP decoded codeword as the output codeword of the hybrid decoder and end the iteration.
[0090] (3) Send the initial LLR information of the channel to the ADMM decoder. Perform parity check and CRC on the ADMM decoder output codeword. If both the parity check and CRC are successful, the ADMM decoded codeword is used as the hybrid decoder output; if only the ADMM parity check is successful and the BP parity check fails, the ADMM decoded codeword is used as the hybrid decoder output; if the ADMM parity check fails and the BP parity check is successful, the BP decoded codeword is used as the output; if both the ADMM and BP parity checks are successful, but the ADMM and BP decoding output CRC checks fail, proceed to (4); otherwise, both the ADMM and BP parity checks fail and the hybrid decoder fails.
[0091] (4) Calculate the codeword after ADMM and BP decoding and X HDThe codeword corresponding to the Hamming distance with the smaller Hamming distance is output as the hybrid decoder output.
[0092] The hybrid decoding algorithm is suitable for LDPC code decoding environment, and the channel environment is AWGN channel. The simulation LDPC matrix uses Mackey (96, 48) LDPC code and (126, 42) irregular LDPC code. The ADMM algorithm sets the penalty factor μ = 0.9 and the quadratic penalty factor α = 1. The CRC-LDPC code uses the x in ITU G.704. 4 +x+1, LDPC and CRC-LDPC frame structures are as follows Figure 1 As shown, it can be seen that CRC-LDPC truncates the last r bits of the information bits, calculates the CRC check bits through modulo-2 division, and appends them to the truncated information bits, forming a k-bit sequence with kr-bit information and r-bit CRC check, and then performs LDPC encoding on this sequence.
[0093] (1) CRC-LDPC Code Analysis
[0094] Figure 2 It can be seen that after adding CRC, some errors that the original parity check could not detect can be detected by CRC, thereby ensuring that the probability of BP undetectable errors is greatly reduced. This measure will send as much soft information corresponding to the error sequence as possible to the ADMM decoder, ensuring the optimal performance of the hybrid decoder; on the other hand, if the CRC check fails, the BP decoded codeword must have an error, which ensures that after adding CRC, the soft information corresponding to the error sequence will be sent to the ADMM decoder, and for the correct codeword, the CRC check will definitely pass, and the soft information will definitely not be sent to the ADMM decoder at this time, that is, after BP decoding, the soft information corresponding to the correct codeword will definitely not be sent to the ADMM decoder. This measure can greatly reduce the complexity of the hybrid decoder.
[0095] pass Figure 3 and Figure 4 From the hybrid decoding flow chart, we can know that when the soft information corresponding to the error sequence is sent to the ADMM decoder, if the ADMM decoder converges to a feasible codeword and the CRC is correct, the accuracy of the codeword will be improved compared to when it is not sent to the ADMM decoder; and if the ADMM decoder outputs a CRC check that fails but a parity check that passes, the codeword with the smallest Hamming distance to the initial hard decision sequence is selected as the hybrid decoding output through Hamming distance comparison, ensuring that the output of the hybrid decoder approaches the minimum distance.
[0096] (2) Hybrid Decoder Performance Analysis
[0097] from Figure 5 and Figure 7The BLER results show that the performance of BP-ADMM hybrid decoding after adding CRC is about 0.15dB-0.25dB better than BP decoding. Figure 6 and Figure 8 From the number of iterations, we can see that the number of iterations of BP-ADMM hybrid decoding is between ADMM and BP decoding. Compared with BP decoder, the decoding performance is improved while ensuring that the complexity is not very large. Compared with ADMM decoding, the ML characteristics of ADMM decoder are fully utilized, which greatly improves the performance of hybrid decoder. Due to the addition of Hamming distance comparison, when the hybrid decoder fails, the sequence corresponding to the smaller Hamming distance is selected as the output of the hybrid decoder, so as to reduce the bit error rate of the hybrid decoder as much as possible.
Claims
1. A CRC-based LDPC code hybrid decoding method, characterized in that: The last r bits of the information bits are truncated, and the CRC check bits are calculated by modulo 2 division, and are attached to the truncated information bits, and a k-bit sequence is formed by kr-bit information and r-bit CRC check bits, and then the sequence is LDPC encoded and sent. The hybrid decoding method includes: S1. Calculate the initial likelihood ratio LLR information through the AWGN channel, and obtain the initial hard decision codeword X according to the initial LLR information. HD ; S2, sending the initial LLR information to the BP decoder for decoding, performing parity check and CRC check on the BP decoded codeword, if any of the checks are not satisfied, proceed to S3; otherwise, the BP decoded codeword is used as the hybrid decoding output codeword, and the decoding is terminated; S3, sending the initial LLR information of the channel to the ADMM decoder for decoding, performing parity check and CRC on the codeword output by the ADMM decoder, if the parity check and CRC are both successful, the ADMM decoded codeword is used as the hybrid decoder output, and the decoding is terminated; If only the parity check of ADMM succeeds and the parity check of BP fails, the ADMM decoded codeword is used as the output of the hybrid decoder and the decoding is terminated; If the ADMM parity check fails and the BP parity check succeeds, the BP decoded codeword is output and the decoding ends; If both the ADMM and BP parity checks succeed, but the ADMM and BP decoding output CRC checks fail, the process goes to S4; otherwise, both the ADMM and BP parity checks fail, and the hybrid decoder fails; S4, calculate ADMM and BP decoded codeword and X HD The codeword corresponding to the Hamming distance with the smaller Hamming distance is output as the hybrid decoding output codeword.
Citation Information
Patent Citations
Irregular LDPC code linear programming decoding method based on weighting
CN104393877A
Bit flipping and linear programming combined decoding method for LDPC (low density parity check) codes
CN104753542A