A decoding method for spatially coupled low-density parity-check codes based on backtracking
Through the backtrack-based spatially coupled low-density parity code decoding method, the error propagation problem in sliding window decoding is solved, the decoding performance is improved, and the signal-to-noise ratio gain and complexity optimization are provided under different signal-to-noise ratio conditions.
Patent Information
- Application Number
- CN202510729219.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-03
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2045-06-03
AI Technical Summary
The existing spatially coupled low-density parity code sliding window decoding algorithm has error propagation, which affects the decoding performance.
The spatially coupled low-density parity code decoding method based on backtracking is adopted. By setting the expansion factor M0, window size W, maximum iterations Imax, minimum iterations Imin and coupling length L, combined with the backtracking step length, the decoding window is initialized, iteratively decoding and backtracking operations are performed to reduce error propagation.
Under low signal-to-noise ratio conditions, the TB-SWD algorithm brings signal-to-noise ratio gains of 0.6 dB, 0.45 dB and 0.25 dB, improving decoding performance, and gradually reducing complexity under high signal-to-noise ratio conditions, approaching the existing algorithm.
Smart Images

Figure CN120263198B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of communication technologies, and particularly relates to a decoding method for a spatially-coupled low-density parity-check code based on backtracking. Background Art
[0002] A low-density parity-check (LDPC) code is a linear block code described by a sparse parity-check matrix. The parity-check matrix of an LDPC code has sparsity, where most elements in the parity-check matrix are 0 and a small number of elements are 1, and the elements 1 have sparsity. The spatially-coupled low-density parity-check (SC-LDPC) code was first proposed by Jimenez Felstrom and Zigangirov in the paper "Time-varying periodic convolutional codes with low-density parity-check matrix" published in the 45th volume, issue 6, pages 2181 - 2191 of "IEEE Transactions on Information Theory" in 1999. The SC-LDPC code has the advantages of low bit error rate, low decoding delay, and low decoding complexity, and its application fields include 5G communication, satellite communication, etc.
[0003] The sliding window decoding (SWD) algorithm of the spatially-coupled low-density parity-check (SC-LDPC) code can reduce the decoding time delay and decoding complexity, but there is an error propagation phenomenon. The errors in the previous window will be propagated to subsequent windows through the window overlapping area, check node coupling, and iterative residual errors, affecting the overall decoding performance. Summary of the Invention
[0004] Object of the Invention: The technical problem to be solved by the present invention is to provide a decoding method for a spatially-coupled low-density parity-check (SC-LDPC) code based on backtracking in view of the deficiencies of the prior art, including the following steps:
[0005] Step 1, coupling L regular low-density parity-check (LDPC) code protographs with a degree distribution of ( l , r) to obtain a spatially-coupled low-density parity-check (SC-LDPC) code, where L is the coupling length, l is the degree of variable nodes, and r is the degree of check nodes; the degree distribution is The regular low-density parity check LDPC code prototype contains check nodes and b variable nodes, where , , a represents the row of the low-density parity check LDPC code basis matrix, b represents the column of the basis matrix, express and The binary codewords output by the encoding are modulated and mapped into a symbol sequence, and then noise is added through the channel. The receiving end obtains the spatially coupled low-density parity check SC-LDPC codeword sequence as the decoder input; the following parameters are set: expansion factor M0, window size W, maximum number of iterations I max , minimum number of iterations I min , coupling length L and state value flag, and M0, W, I max , I min , L and flag are all positive integers;
[0006] Step 2: When the decoding window is located at the upper left corner of the check matrix, the decoding window is initialized with side information based on the received sequence;
[0007] Step 3: When the decoding window starts to slide, the information of the lower right corner area of the newly entered window is initialized, and the target symbol information bit receives the output log-likelihood ratio LLR of the previous window;
[0008] Step 4, iterative decoding: perform belief propagation decoding within the decoding window, and the number of iterations of the current decoding window reaches the minimum number of iterations I min When the prediction bit error rate of the target symbol is determined, the prediction bit error rate of the target symbol is calculated and compared with the threshold. If the prediction bit error rate is greater than the threshold, the state value is 1, otherwise it is 0.
[0009] Step 5: If the state value is 0, the target symbol output log-likelihood ratio (LLR) is calculated after the current iteration, and a decoding decision is made. When the decoding window completes decoding the current target symbol, the target symbol decoding result is output, and the decoding window slides diagonally downward to decode the next target symbol.
[0010] Step 6: If the state value is 1, exit the decoding of the current window position p; expand the decoding window according to the backtracking step size and slide it diagonally upwards for decoding. After decoding is completed, gradually reduce the decoding window and slide it diagonally downwards for decoding until the decoding window returns to position p. After decoding is completed, change the state value 1 to 0;
[0011] Step S7: repeat steps 4 to 6 until the decoding window slides out of the parity check matrix.
[0012] In Step 1, the expansion factor M0 means replacing 1 and 0 in the parity-check matrix with an identity circulant shift matrix of size M0×M0 and a all-zero matrix of size M0×M0 respectively, and the coupling length L means that the spatially coupled low-density parity-check (SC-LDPC) code is constructed by replicating L single protographs.
[0013] Step 2 includes:
[0014] Set the codeword sequence , where n is the code length, represents the first codeword bit of the initial codeword sequence. After being modulated by binary phase shift keying, it is transmitted over an additive white Gaussian noise channel. represents the received codeword sequence of the spatially coupled low-density parity-check (SC-LDPC) code. , represents the first codeword bit of the received codeword sequence;
[0015] When the decoding window is located at the upper left corner of the parity-check matrix, the initialization of side information for the decoding window based on the received sequence is expressed as , where represents the j-th variable node in the current window, represents the received information initialized for the j-th variable node, represents the j-th variable node corresponding to the initial codeword sequence X in the parity-check matrix, represents the j-th variable node corresponding to the received codeword sequence Y in the parity-check matrix, and P represents the function for calculating the conditional probability.
[0016] In Step 3, after the decoding window starts to slide, the initialization of the information in the newly entered lower right corner area of the window is expressed as ; represents the side information passed from the j-th variable node to the i-th parity-check node.
[0017] Step 4 includes:
[0018] Step 4-1, initialize the channel information, and initialize the variable nodes according to the characteristics of the given channel. The information initialization formula:
[0019] (1),
[0020] (2);
[0021] Step 4-2, update the parity-check nodes:
[0022] (3),
[0023] where, Denotes the information passed from the \(i\)-th check node to the \(j\)-th variable node at the \(l\)-th iteration. Denotes the set of variable nodes connected to the check node except the variable node. Here, tanh is the hyperbolic tangent function and arctanh is the inverse function of tanh. Denotes the information passed from the variable node to the check node at the \((l - 1)\)-th iteration.
[0024] Step 4-3, update the variable node:
[0025] (4),
[0026] where, ; Denotes the set of check nodes connected to the variable node except the check node.
[0027] Step 4-4, update the posterior probability;
[0028] Step 4-5, decoding decision.
[0029] Step 4-4 includes: updating each value of the received signal for the next decision. The update formula is:
[0030] (5),
[0031] where, Denotes the log-likelihood ratio LLR output by the variable node after the \(l\)-th iteration. Denotes the set of check nodes connected to the variable node. The check node belongs to this set of check nodes. Denotes the information passed from the check node to the variable node at the \(l\)-th iteration.
[0032] Step 4-5 includes: making a decision on each bit of the received signal according to the updated posterior probability. If the decision result is greater than 0, the result is judged as 0; otherwise, it is judged as 1. There are two conditions for ending the iteration: one is , is the parity-check matrix, and the superscript denotes the transpose of the matrix; the other is reaching the maximum number of iterations \(I\) max ; when either of the conditions for ending the iteration is met, the decision result is output. Otherwise, repeat steps 4-2 to 4-4. The formula is:
[0033] (6),
[0034] where represents the hard decision output of .
[0035] In step 4, calculating the predicted bit error rate of the target symbol at this time includes: calculating the predicted bit error rate through the log-likelihood ratio of the target symbol:
[0036] (7),
[0037] where is the coupling factor, represents the predicted bit error rate, and exp represents the natural exponential function.
[0038] The present invention also provides an electronic device, including a processor and a memory. The memory stores program code, and when the program code is executed by the processor, the processor is caused to execute the steps of the method.
[0039] The present invention also provides a storage medium storing a computer program or instruction, and when the computer program or instruction runs on a computer, the steps of the method are executed.
[0040] The present invention has the following beneficial effects: Under the condition that the window size is 4, the TB-SWD algorithm with a backtracking step size of 1, the TB-SWD algorithm with a backtracking step size of 2, and the TB-SWD algorithm with a backtracking step size of 3 bring signal-to-noise ratio gains of 0.6 dB, 0.45 dB, and 0.25 dB respectively compared with the SWD algorithm; under the condition that the window size is 8, the TB-SWD algorithm with a backtracking step size of 1 and the TB-SWD algorithm with a backtracking step size of 2 bring signal-to-noise ratio gains of 0.15 dB and 0.1 dB respectively compared with the SWD algorithm. The complexity of the TB-SWD algorithm is higher than that of the SWD algorithm in the low signal-to-noise ratio region. As the signal-to-noise ratio increases, the complexity of the TB-SWD algorithm gradually decreases and the gap with the complexity of the SWD algorithm gradually narrows. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 is a schematic flow chart of the method for sliding window decoding of the space-coupled LDPC code based on backtracking according to the present invention.
[0042] Figure 2 is the protograph of the low-density parity-check (LDPC) code.
[0043] Figure 3 is the edge expansion of the protograph of the low-density parity-check (LDPC) code.
[0044] Figure 4It is the original model diagram of the spatially coupled low-density parity check SC-LDPC code with a coupling length of L.
[0045] Figure 5 This is a schematic diagram of the sliding window decoding SWD algorithm.
[0046] Figure 6 This is a schematic diagram of the backtracking operation of the present invention under the condition of a backtracking step length of 1.
[0047] Figure 7 It is a schematic diagram of decoding by sliding diagonally downward after backtracking under the condition of a backtracking step length of 1 according to the present invention.
[0048] Figure 8 It is a schematic diagram of the backtracking operation of the present invention under the condition of a backtracking step length of 2.
[0049] Figure 9 It is a schematic diagram of decoding by sliding diagonally downward after backtracking under the condition of a backtracking step length of 2 according to the present invention.
[0050] Figure 10 This is a schematic diagram of the present invention continuing to slide downward along the diagonal line for decoding under the condition of a backtracking step length of 2.
[0051] Figure 11 This is a schematic diagram of the backtracking operation of the present invention under the condition of a backtracking step length of 3.
[0052] Figure 12 It is a schematic diagram of decoding by sliding diagonally downward after backtracking under the condition of a backtracking step length of 3 according to the present invention.
[0053] Figure 13 This is a schematic diagram of the present invention continuing to slide down along the diagonal decoding under the condition of a backtracking step length of 3.
[0054] Figure 14 This is a schematic diagram of decoding the position before the backtracking operation is performed when the backtracking step length is 3 and the sliding is continued diagonally downward.
[0055] Figure 15 This is a comparison chart of the bit error rate performance of the present invention under different backtracking step lengths and the sliding window decoding SWD algorithm under different signal-to-noise ratio conditions.
[0056] Figure 16 This is a complexity comparison diagram of the present invention under different backtracking step lengths and the sliding window decoding SWD algorithm under different signal-to-noise ratio conditions.
[0057] Figure 17 It is a backtracking rate diagram of the present invention under different backtracking step length conditions. DETAILED DESCRIPTION
[0058] The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments, and the above and / or other advantages of the present invention will become more clear.
[0059] The embodiment of the present invention provides a spatially coupled low-density parity check code decoding method based on backtracking, comprising: setting a codeword sequence , where n represents the code length. After binary phase shift keying (BPSK) modulation and transmission through the additive white Gaussian noise (AWGN) channel, the received sequence changes to , decode the received sequence. The specific steps (taking the backtracking step size 1 as an example) are described as follows:
[0060] Preprocessing: Under different signal-to-noise ratio (SNR) conditions, multiple complete decoding processes are recorded. The log-likelihood ratio of the target symbol at each window position at the last iteration is recorded, and the average of the multiple decoding results is calculated. The log-likelihood ratio is substituted into the following formula to calculate the predicted bit error rate at each window position:
[0061] (1),
[0062] The predicted bit error rate is set as a threshold. In the window decoding process based on backtracking, when the minimum number of iterations is reached, the log-likelihood ratio of the window target symbol is compared with the threshold to make a decision. Figure 1 As shown, the method specifically includes the following steps:
[0063] Step 1: Receive the codeword sequence of the spatially coupled low-density parity check SC-LDPC code. The construction process of the spatially coupled low-density parity check SC-LDPC code prototype is as follows: Figure 2 、 Figure 3 and Figure 4 shown. Figure 2 is the original model graph of the low-density parity check LDPC code, C represents the check node, V represents the variable node, t is the position index, and B is the basis matrix of the low-density parity check LDPC code; Figure 3 It is to perform edge expansion on the original pattern of the low-density parity check LDPC code at position t, is the component basis matrix of the low-density parity check LDPC code; Figure 4 As shown in the figure, the edge extension method is used to spatially couple the original pattern of L low-density parity check LDPC codes to obtain the original pattern of spatially coupled low-density parity check SC-LDPC codes, where L is the coupling length. Set the corresponding parameters: such as the expansion factor M0, the window size W, the maximum number of iterations I max , minimum number of iterations Imin , coupling length L and state value flag, and M0, W, I max , I min , L and flag are all positive integers.
[0064] Step 2: Window initialization. When the window is located in the upper left corner of the check matrix, the decoding window is initialized based on the received sequence. The calculation of the initialization information is shown in formula (1), where Indicates the jth variable node in the current window, Represents the initialization information of the j-th variable node, It is represented as the jth variable node corresponding to the initial codeword sequence X in the check matrix, It is represented as the jth variable node corresponding to the received sequence Y in the check matrix, and P is represented as the formula for calculating the conditional probability. The calculation formula for the initialization information is:
[0065] (2),
[0066] Step 3, such as Figure 5 As shown, p represents the window position. When the window starts to slide, the information of the lower right corner area of the newly entered window is initialized as shown in formula (2). The target symbol information bit receives the output log-likelihood ratio LLR of the previous window. Represents the edge information passed from the j-th variable node to the i-th check node:
[0067] (3);
[0068] Step 4: Iterative decoding. Execute belief propagation decoding within the window. When the number of iterations in the current decoding window reaches the minimum number of iterations, calculate the predicted bit error rate of the target symbol at this time and compare it with the threshold. If the predicted bit error rate is greater than the threshold, the state value is 1, otherwise it is 0.
[0069] Step 5: If the state value is 0, a decoding decision is made and the target symbol output log-likelihood ratio after this iteration is calculated using formula (4). represents the log-likelihood ratio of the output of the j-th variable node after l iterations, Represents the variable node V j The set of connected check nodes, Represents the set of check nodes in the lth iteration Middle check node With variable node V j The side information, Express The hard decision output is as shown in formula (6). When the log-likelihood ratio is greater than or equal to 0, Judge 0, when the log-likelihood ratio is less than 0, Determination 1:
[0070] (4),
[0071] (5),
[0072] When the maximum number of iterations is reached or the parity check is satisfied, the iteration within the current window stops and the decision result is output; the window slides diagonally down and to the right by one row and one column, then return to step 3 to decode the next target symbol.
[0073] Step 6, if the status value is 1, exit the decoding of the current window; under the condition of a backtracking step size of 1, as Figure 6 shown, increase the decoding window size by 1 and slide it diagonally up by one row and one column and then decode. After completion of the decoding, as Figure 7 shown, restore the original window size and slide it down by one row and one column to decode. After completion of the decoding, change the status value 1 to 0; under the condition of a backtracking step size of 2, as Figure 8 shown, increase the decoding window size by 2 and slide it diagonally up by one row and one column and then decode. After completion of the decoding, continue decoding with the window size and window position as shown in Figure 9 and Figure 10 shown. After completion of the decoding, change the status value 1 to 0; under the condition of a backtracking step size of 3, as Figure 11 shown, increase the decoding window size by 3 and slide it diagonally up by one row and one column and then decode. After completion of the decoding, continue decoding with the window size and window position as shown in Figure 12 and Figure 13 and Figure 14 shown. After completion of the decoding, change the status value 1 to 0.
[0074] Step 7. Repeat steps 4 to 6 until the decoding window slides out of the matrix.
[0075] The simulation uses a codeword with a code length of 1200, a code rate of 0.48, a coupling length L of 30, a coupling width w of 2, an expansion factor M0 of 20, a window size W of 4, a maximum number of iterations I max of 50, and a minimum number of iterations I min of 10. Under an additive white Gaussian noise channel, after binary phase shift keying modulation, on the matlab simulation platform.
[0076] As Figure 15As shown, at the same signal-to-noise ratio (SNR), the TB-SWD algorithm has an improvement in bit error rate (BER) performance compared to the existing SWD algorithm. The longer the backtracking step length of the TB-SWD algorithm, the lower the BER. To achieve the BER performance of , the SNR of the SWD algorithm needs to be greater than 4.5 dB. The SNR of the TB-SWD algorithm with a backtracking step length of 1 needs to be approximately 4.4 dB, the SNR of the TB-SWD algorithm with a backtracking step length of 2 needs to be approximately 4.2 dB, and the SNR of the TB-SWD algorithm with a backtracking step length of 3 needs to be approximately 4.05 dB. As Figure 16 shown, as the SNR increases, the channel environment improves and the complexity decreases. When the SNR is 3.5 dB, the complexities of the TB-SWD algorithms with backtracking step lengths of 1, 2, and 3 increase by approximately 12%, 16%, and 22% respectively compared to the existing SWD algorithm.
[0077] As Figure 17 shown, the higher the SNR, the lower the backtracking rate, and the lower the SNR, the higher the backtracking rate. The backtracking rate is greater when the backtracking step length is smaller because the improvement in the decoding performance of subsequent windows is smaller when the backtracking step length is smaller, so the backtracking rate will be slightly greater than that of the algorithm with a longer backtracking step length.
[0078] The present invention provides a decoding method for spatially coupled low-density parity-check codes based on backtracking. There are many methods and ways to specifically implement this technical solution. The above description is only the preferred embodiment of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present invention. Each component not clearly defined in this embodiment can be implemented using existing technologies.
Claims
1. A decoding method for spatially coupled low-density parity-check codes based on backtracking, characterized in that, It includes the following steps: Step 1: Coupling the original protographs of L regular low-density parity-check (LDPC) codes with degree distribution ( l , r) to obtain a spatially-coupled low-density parity-check (SC-LDPC) code, where L is the coupling length, l is the degree of variable nodes, and r is the degree of check nodes; the original protograph of the regular LDPC code with degree distribution contains check nodes and variable nodes, where , , a represents the row of the base matrix of the LDPC code, b represents the column of the base matrix, represents and 's greatest common divisor; the encoded binary codeword is modulated and mapped into a symbol sequence, and then added with noise through the channel. The receiving end obtains the SC-LDPC codeword sequence as the input to the decoder; set the following parameters: expansion factor M0, window size W, maximum number of iterations I max , minimum number of iterations I min , coupling length L, and status value flag, and M0, W, I max , I min , L, and flag are all positive integers; Step 2, when the decoding window is located at the upper left corner of the parity-check matrix, initialize the side information for the decoding window based on the received sequence; Step 3, after the decoding window starts to slide, initialize the information in the lower right corner area of the newly entered window. The information bit of the target symbol receives the output log-likelihood ratio LLR of the previous window; Step 4, iterative decoding: Perform belief propagation decoding within the decoding window. When the number of iterations of the current decoding window reaches the minimum number of iterations I min make a decision, calculate the predicted bit error rate of the target symbol at this time, compare it with the threshold. If the predicted bit error rate is greater than the threshold, the state value is 1, otherwise it is 0; Step 5, if the state value is 0, calculate the output log-likelihood ratio LLR of the target symbol after the end of this iteration, perform decoding decision. When the decoding window completes the decoding of the current target symbol, output the decoding result of the target symbol, and the decoding window slides diagonally downward to perform the decoding of the next target symbol; Step 6, if the state value is 1, exit the decoding of the current window position p; expand the decoding window according to the backtracking step size and slide it diagonally upward for decoding. After completion of decoding, gradually shrink the decoding window and slide it diagonally downward for decoding until the decoding window returns to position p. After completion of decoding, change the state value 1 to 0; Step S7, repeat Steps 4 to 6 until the decoding window slides out of the parity-check matrix.
2. The method according to claim 1, characterized in that, In Step 1, the expansion factor M0 means replacing 1 and 0 in the parity-check matrix with an identity circulant shift matrix of size M0×M0 and an all-zero matrix of size M0×M0 respectively. The coupling length L means that the spatially coupled low-density parity-check SC-LDPC code is constructed by replicating L single protographs.
3. The method according to claim 2, characterized in that, Step 2 includes: Set the codeword sequence , where n is the code length, represents the first codeword bit of the initial codeword sequence. After binary phase shift keying modulation, it is transmitted over an additive white Gaussian noise channel, represents the received codeword sequence of the spatially coupled low-density parity-check (SC-LDPC) code, , represents the first codeword bit of the received codeword sequence; When the decoding window is located at the upper left corner of the parity-check matrix, the initialization of side information for the decoding window based on the received sequence is expressed as , where represents the j-th variable node in the current window, represents the received information initialized for the j-th variable node, represents the j-th variable node corresponding to the initial codeword sequence X in the parity-check matrix, represents the j-th variable node corresponding to the received codeword sequence Y in the parity-check matrix, and P represents the function for calculating the conditional probability.
4. The method according to claim 3, wherein In step 3, after the decoding window starts to slide, the information in the lower right corner area that newly enters the window is initialized as ; represents the edge information passed from the j-th variable node to the i-th check node.
5. The method according to claim 4, wherein Step 4 includes: Step 4-1, initialize the channel information, initialize the variable nodes according to the characteristics of the given channel, and the information initialization formula: (1), (2); Step 4-2, update the check nodes: (3), Among them, represents the information passed from the $i$-th check node to the $j$-th variable node at the $l$-th iteration, represents the set of variable nodes connected to the check node except for the variable node , where $\tanh$ is the hyperbolic tangent function and $\text{arctanh}$ is the inverse function of $\tanh$; represents the information passed from the variable node to the check node at the $(l - 1)$-th iteration; Step 4-3, update the variable nodes: (4), Among them, ; represents the set of check nodes connected to the variable node except for the check node ; Step 4-4, update the posterior probability; Step 4-5, decoding decision.
6. The method according to claim 5, characterized in that, Step 4-4 includes: updating each value of the received signal for the next decision, and the update formula is: (5), Among them, represents the variable node the log-likelihood ratio LLR output after the l-th iteration, represents the set of check nodes connected to the variable node and the check node is the check node belonging to this set, represents the information passed by the check node to the variable node at the l-th iteration.
7. The method according to claim 6, characterized in that, Step 4-5 includes: making a decision on each bit of the received signal according to the updated posterior probability. If the decision result is greater than 0, the result is judged as 0; otherwise, it is judged as 1. There are two conditions for ending the iteration: one is , is the parity-check matrix, and the superscript represents transposing the matrix; the other is that the maximum number of iterations I max is reached; when either of the conditions for ending the iteration is satisfied, the decision result is output. Otherwise, repeat steps 4-2 to 4-4. The formula is: (6), Among them represents the hard decision output for .
8. The method according to claim 7, wherein In Step 4, the calculation of the predicted bit error rate of the target symbol at this time includes: calculating the predicted bit error rate through the log-likelihood ratio of the target symbol: (7), Among them, is the coupling factor, represents the predicted bit error rate, and exp represents the natural exponential function.
9. An electronic device, characterized in that, It includes a processor and a memory. The memory stores program code. When the program code is executed by the processor, the processor is caused to execute the steps of the method according to any one of claims 1 to 8.
10. A storage medium, characterized in that, Stores a computer program or instruction. When the computer program or instruction runs on a computer, it executes the steps of the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Low-complexity maximum likelihood approximate q-ary LDPC (Low-Density Parity-Check) code decoding method
CN106936445A
Spatial coupling LDPC code sliding window decoding optimization algorithm and system
CN111900997A