A high-performance low-complexity LDPC decoding method for satellite communication
By improving the 2D-SCMSA self-checking minimum sum algorithm, dynamically setting the erasure range and implementing phased iterations, the problem of high decoding complexity in satellite communication is solved, achieving high-performance, low-complexity LDPC decoding to meet the needs of future satellite communication.
Patent Information
- Application Number
- CN202411176936.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-08-26
AI Technical Summary
In satellite communications, existing low-density parity-check (LDPC) code decoding algorithms suffer from high decoding complexity and insufficient coding gain, failing to meet the high performance and low complexity requirements of future satellite communication networks.
Based on the 5G standard low-density parity-check LDPC code, an improved two-dimensional self-checking minimum sum algorithm 2D-SCMSA is proposed. By dynamically setting the erasure range and the phased iteration process when updating variable nodes, the reliability of variable node information is increased, unreliable information is prevented from being propagated, and nonlinear operations are avoided by using simple operations such as comparison, addition, and XOR.
High-performance, low-complexity LDPC decoding was achieved, improving decoding performance and reducing decoding complexity to meet the needs of future satellite communications.
Smart Images

Figure CN119315999B_ABST
Abstract
Description
Technical Field
[0001] Based on the current 5G standard, this invention relates to a high-performance, low-complexity LDPC decoding method for satellite communication, belonging to the field of digital signal processing. Background Technology
[0002] In June 2019, the Ministry of Industry and Information Technology of China issued commercial licenses for 5G (5th Generation Mobile Communication) to operators, marking my country's official entry into the 5G commercial era. While 5G can provide users with a wealth of services and a superior user experience, terrestrial mobile communication suffers from limited coverage, unable to serve remote areas such as oceans, mountains, forests, and deserts. To meet the ever-growing communication demands, terrestrial mobile communication needs to be combined with satellite communication to jointly build a globally covering communication network; therefore, researching satellite communication based on terrestrial mobile communication standards is an inevitable trend. The future goal of satellite communication is to achieve global interconnection, building a communication network with wider coverage, more connections, and greater security. In satellite communication networks, channel coding is an indispensable component; diverse communication needs require channel coding to have high coding gain and low-complexity decoding algorithms.
[0003] In 2016, the Third Generation Partnership Project (3GPP) meeting determined that 5G would adopt Low-Density Parity-Check (LDPC) codes as the coding scheme for data channels in enhanced Mobile Broadband (eMBB) scenarios. In 2020, LDPC codes were also confirmed as the channel coding scheme for data channels in Ultra Reliable Low Latency Communication (URLLC) scenarios. In future satellite communications, LDPC codes will continue to play a crucial role. As future satellite communication networks develop, the ever-increasing communication demands place higher requirements on channel coding, requiring it to have low decoding complexity and high coding gain.
[0004] Therefore, for future satellite communication networks, this invention proposes a high-performance, low-complexity low-density parity-check LDPC code decoding method based on the current 5G standard low-density parity-check LDPC code. Summary of the Invention
[0005] The purpose of this invention is to provide a high-performance, low-complexity LDPC decoding method for satellite communication. Based on the low-density parity-check LDPC code of the 5G standard, it further considers the erasure range of unreliable information during variable node updates, improving the reliability of variable node information and preventing the propagation of unreliable variable node information, thus achieving decoding performance superior to 2D-SCSMA. Regarding decoding complexity, this invention avoids the nonlinear operations of the Likelihood Ratio Belief-Propagation Algorithm (LLR-BPA), resulting in significantly lower decoding complexity. This invention features both high decoding performance and low decoding complexity.
[0006] The objective of this invention is achieved through the following technical solution.
[0007] This invention discloses a high-performance, low-complexity LDPC decoding method for satellite communication. Based on the low-density parity-check LDPC code in the 5G standard, it iteratively decodes the received channel information. Based on the two-dimensional self-checking minimum sum algorithm 2D-SCMSA, the implementation method of this invention is as follows: (1) When updating variable nodes, the erasure range is dynamically set using the amplitude of the current check node information; (2) Considering that the amplitude of the check node information gradually increases with the number of iterations, the entire iteration process is divided into two parts, each using different parameters to set the erasure range. The decoding result is output when the decoding result is correct or the maximum number of iterations is reached. This invention increases the reliability of variable node information, prevents reliable variable information from being erased, and prevents the propagation of unreliable variable node information through the above two points, exhibiting excellent decoding performance. The decoding algorithm proposed in this invention does not contain the nonlinear operations of the log-likelihood ratio belief propagation algorithm LLR-BPA, and features high decoding performance and low decoding complexity.
[0008] This invention discloses a high-performance, low-complexity LDPC decoding method for satellite communication, comprising the following steps:
[0009] Step 1: According to the 5G standard, select the corresponding base matrix based on the information bit length K and code rate R, and select the spread factor Z based on the information bit length K and code rate R; obtain the parity check matrix H based on the base matrix and spread factor Z.
[0010] The 5G standard specifies two base matrices, BG1 and BG2. Before encoding, the base matrix should be selected according to the following principles: if K≤308, choose BG2; if 308<K≤3840 and R>2 / 3, choose BG1, otherwise choose BG2; if K>3840 and R≤1 / 4, choose BG2, and code blocks need to be segmented, otherwise choose BG1. The spread factor Z is determined according to the selected base matrix and the information bit length K. After knowing the base matrix and the spread factor Z, the base matrix is expanded to obtain the parity check matrix H (for specific methods, see the literature: Richardson T, Kudekar S. Design of Low-Density Parity Check Codes for 5G New Radio[J].IEEE Communications Magazine,2018,56(3):28-34.).
[0011] Step 2: Encode the information bits according to the parity check matrix H obtained in Step 1 to obtain the encoded codeword c.
[0012] The low-density parity-check (LDPC) code encoding in the 5G standard is based on the relationship between the parity-check matrix and the codeword H·c T =0 is used to implement the codeword, which is divided into two parts after encoding: information bits and parity bits. The information bits are the input of the encoder. The parity bits are divided into two parts, corresponding to the double diagonal structure part and the single diagonal structure part of the parity check matrix H respectively. The steps of encoding using the parity check matrix H are as follows: (1) Calculate the first Z parity bits corresponding to the double diagonal structure part; (2) Calculate the remaining 3*Z parity bits corresponding to the double diagonal structure part according to the forward recursion; (3) Calculate the parity bits corresponding to the single diagonal structure according to the parity bits corresponding to the single diagonal structure and the double diagonal structure part. The information bits and parity bits are concatenated to obtain the encoded codeword c.
[0013] Step 3: Perform binary phase shift keying modulation on the coded codeword c obtained in Step 2 and send it into the additive white Gaussian noise channel. The additive white Gaussian noise channel outputs a noisy binary phase shift keying modulation signal.
[0014] Step 4: Receive the noisy binary phase shift keying modulation signal output from Step 3 and calculate the log-likelihood ratio (LLR).
[0015] Define the log-likelihood ratio (LLR) as follows:
[0016]
[0017] Where y n This represents the nth channel information received; c n represents the nth codeword bit; Pr represents the probability.
[0018] The log-likelihood ratio LLR is derived under additive white Gaussian noise (detailed derivation process reference: Yuan Dongfeng, Zhang Haigang. LDPC Code Theory and Application [M]. People's Posts and Telecommunications Press, 2008.). The log-likelihood ratio LLR is expressed as:
[0019]
[0020] Where σ 2 This represents the noise variance of an additive white Gaussian noise channel.
[0021] According to the minimum sum algorithm (see: Chen J, Dholakia A, Eleftheriou E, et al. Reduced-Complexity Decoding of LDPC Codes[J].IEEE Transactions on Communications, 2005(8):53.), the noise variance σ does not need to be considered during decoding. 2 Using channel information y n Instead of the log-likelihood ratio (LLR), which is fed into the decoder, the final calculated LLR is expressed as:
[0022] LLR=y n
[0023] Step 5: Input the log-likelihood ratio (LLR) obtained in Step 4 into the decoder and perform iterative decoding according to the decoding algorithm.
[0024] Step 5.1: Define the variables needed in the LDPC decoding algorithm: Define M and N as the size of the parity check matrix; M core With N core These represent the size of the core verification region matrix of the verification matrix; l is the current iteration number, initially set to 1; I max The maximum number of iterations is set; I set To predetermine the number of iterations, the entire decoding process is divided into two parts; L(p n ) represents the log-likelihood ratio (LLR) of the input decoder, i.e., y n ; This refers to the verification node information that verification node m passes to variable node n during the l-th iteration; This refers to the variable node information that variable node n passes to check node m during the l-th iteration; The set represents the updated log-likelihood ratio (LLR) at the l-th iteration. This represents the set of variable nodes connected to the verification node m; the set This represents the set of verification nodes connected to variable node n; represent Remove the nth variable node; represent Remove the m-th verification node.
[0025] The decoding algorithm consists of five parts: a check node information update unit, a variable node information update unit, a log-likelihood ratio (LLR) update unit, a decision unit, and a stop iteration decision unit, namely steps 5.2, 5.3, 5.4, 5.5, and 5.6 described later.
[0026] Step 5.2: Verify the node information update unit. If the current iteration number l equals 1, adjust the log-likelihood ratio LLR of the input decoder according to the following formula: L(p n The updated verification node information is obtained by processing the data. If the current iteration number l is greater than 1, update the variable node information after step 5.3 according to the following formula. The updated verification node information is obtained through processing.
[0027]
[0028] Where m = 1, 2, ..., M; α is the normalization factor;
[0029] Step 5.3: Variable node update unit, updating the verification node information after step 5.2. The updated variable node information is obtained through processing. Variable node information The update is performed in four steps: calculating temporary variable node information. and the amplified value of temporary variable node information Calculate the correction value L for the erasure range. cv Based on temporary variable node information Correction value L for the erasure range cv Calculate the erase flag for variable node information. Based on the amplified value of the temporary variable node information and variable node erase flag Update variable node information These correspond to steps 5.3.1, 5.3.2, 5.3.3, and 5.3.4, respectively.
[0030] Step 5.3.1: Utilize the log-likelihood ratio (LLR) of the input decoder, i.e., L(p) n (and the verification node information calculated in step 5.2) Calculate temporary variable node information and the amplified value of temporary variable node information
[0031]
[0032] Where β is a scaling factor, ranging from (1,∞).
[0033] Step 5.3.2: Utilize the verification node information calculated in Step 5.2 Calculate the correction value L for the erasure range. cv Considering the verification node information calculated in step 5.2 The amplitude increases with the number of iterations. The entire iteration process is divided into two parts, with different parameters set for the erasure range.
[0034]
[0035] λ1 and λ2 are both correction factors, ranging from [0,1].
[0036] Step 5.3.3: Based on the temporary variable node information calculated in Step 5.3.1 And the erase range correction value L calculated in step 5.3.2 cv Calculate the erase flag for variable node information.
[0037]
[0038] Where s (l-1) The symbol for the variable node information in the previous iteration, i.e. same
[0039] Step 5.3.4: Amplify the temporary variable node information calculated in Step 5.3.1. and the variable node information erasure flag calculated in step 5.3.3. Update variable node information
[0040]
[0041] Step 5.4: Update the log-likelihood ratio (LLR) for each unit. For n = 1, 2, ..., N, update the check node information based on the information updated in Step 5.2. The log-likelihood ratio (LLR) of the input decoder, i.e., L(p) n Update the log-likelihood ratio (LLR)
[0042]
[0043] Step 5.5: Use the log-likelihood ratio (LLR) calculated in Step 5.4, i.e. The judgment is made, and the decoded codeword is obtained. And update the current iteration number:
[0044]
[0045] l = l + 1
[0046] Step 5.6: Stop the iterative decision unit and use the decoded codeword obtained in step 5.5. Determine if it is possible to exit the iteration process. If Or l>I max If the decoding stops, then the process continues in a loop, executing steps 5.2, 5.3, 5.4, 5.5, and 5.6.
[0047] Beneficial effects:
[0048] 1. This invention discloses a high-performance, low-complexity LDPC decoding method for satellite communication. Based on the 2D-SCMSA self-checking minimum sum algorithm, it further considers the erasure range of unreliable information during variable node updates: (1) The erasure range is dynamically set using the amplitude of the current check node information and a correction factor during variable node updates; (2) Considering that the amplitude of the check node information gradually increases with the number of iterations, the entire iteration process is divided into two parts, and the erasure range is dynamically set using the amplitude of the current check node information and different correction factors during variable node updates. Compared with the 2D-SCMSA self-checking minimum sum algorithm, this method increases the reliability of variable node information during decoding, prevents the erasure of valid variable node information, and prevents the propagation of unreliable variable node information, resulting in superior decoding performance.
[0049] 2. This invention discloses a high-performance, low-complexity LDPC decoding method for satellite communication. The decoding process involves only comparison, addition, and XOR operations, eliminating the nonlinear operations found in the Log-Likelihood Ratio Belief Propagation (LLR-BPA) algorithm. Therefore, it exhibits significantly lower decoding complexity compared to LLR-BPA. This invention combines high decoding performance with low decoding complexity, meeting the future communication requirements of satellite communications. Attached Figure Description
[0050] Figure 1 This is an overall framework diagram of a high-performance, low-complexity LDPC decoding method for satellite communication and Example 1 of the present invention.
[0051] Figure 2Based on BG2 in the 5G standard, with information bit length K=400, code rates of 1 / 5, 1 / 3, 1 / 2, and 2 / 3 respectively, and a maximum number of iterations set to 50, this invention compares the bit error rate performance of the other three algorithms in an additive white Gaussian noise channel. Among them, E-2D-SCMSA is the method proposed in this invention.
[0052] Figure 3 (a) Based on BG2 in the 5G standard, with information bit length K = 400 and code rate 1 / 5, the convergence speed of this invention and the other three algorithms is compared under additive white Gaussian noise channel.
[0053] Figure 3 (b) Based on BG2 in the 5G standard, with information bit length K = 400 and code rate 1 / 3, the convergence speed of this invention and the other three algorithms is compared under additive white Gaussian noise channel.
[0054] Figure 3 (c) Based on BG2 in the 5G standard, with information bit length K = 400 and code rate 1 / 2, the convergence speed of this invention and the other three algorithms is compared under additive white Gaussian noise channel.
[0055] Figure 3 (d) Based on BG2 in the 5G standard, with information bit length K = 400 and code rate 2 / 3, the convergence speed of this invention and the other three algorithms is compared under additive white Gaussian noise channel.
[0056] Figure 4 Based on BG2 in the 5G standard, with information bit length K=400, this invention compares the decoding complexity with the two-dimensional self-testing minimum sum algorithm 2D-SCMSA. Detailed Implementation
[0057] Example 1:
[0058] like Figure 1 As shown in the figure, this embodiment discloses a high-performance, low-complexity LDPC decoding method for satellite communication. The specific implementation steps are as follows:
[0059] Step 1: According to the 5G standard, select the corresponding base matrix based on the information bit length K and code rate R, and select the spread factor Z based on the information bit length K and code rate R; obtain the parity check matrix H based on the base matrix and spread factor Z.
[0060] The 5G standard specifies two base matrices, BG1 and BG2. Before encoding, the base matrix should be selected according to the following principles: if K≤308, choose BG2; if 308<K≤3840 and R>2 / 3, choose BG1, otherwise choose BG2; if K>3840 and R≤1 / 4, choose BG2, and code blocks need to be segmented, otherwise choose BG1. The spread factor Z is determined according to the selected base matrix and the information bit length K. After knowing the base matrix and the spread factor Z, the base matrix is expanded to obtain the parity check matrix H (for specific methods, see the literature: Richardson T, Kudekar S. Design of Low-Density Parity Check Codes for 5G New Radio[J].IEEE Communications Magazine,2018,56(3):28-34.).
[0061] Assuming the information bit length K = 400 and the code rate R = 1 / 5, then according to the 5G standard, BG2 is selected as the base matrix; the spread factor Z = 40 can be determined; based on the base matrix and the spread factor, the parity check matrix H can be obtained, and the size of the parity check matrix H is 1680*2080.
[0062] Step 2: Encode the information bits according to the parity check matrix H obtained in Step 1 to obtain the encoded codeword c.
[0063] The low-density parity-check (LDPC) code encoding in the 5G standard is based on the relationship between the parity-check matrix and the codeword H·c T =0 is used to implement the codeword, which is divided into two parts after encoding: information bits and parity bits. The information bits are the input of the encoder. The parity bits are divided into two parts, corresponding to the double diagonal structure part and the single diagonal structure part of the parity check matrix H respectively. The steps of encoding using the parity check matrix H are as follows: (1) Calculate the first Z parity bits corresponding to the double diagonal structure part; (2) Calculate the remaining 3*Z parity bits corresponding to the double diagonal structure part according to the forward recursion; (3) Calculate the parity bits corresponding to the single diagonal structure according to the parity bits corresponding to the single diagonal structure and the double diagonal structure part. The information bits and parity bits are concatenated to obtain the encoded codeword c. The codeword c is encoded according to the parity check matrix H obtained in step one, and the length of the codeword c is 2000.
[0064] Step 3: Perform binary phase shift keying modulation on the coded codeword c obtained in Step 2 and send it into the additive white Gaussian noise channel. The additive white Gaussian noise channel outputs a noisy binary phase shift keying modulation signal.
[0065] Step 4: Receive the noisy binary phase shift keying modulation signal output from Step 3 and calculate the log-likelihood ratio (LLR).
[0066] Define the log-likelihood ratio (LLR) as follows:
[0067]
[0068] Where y n This represents the nth channel information received; c n represents the nth codeword bit; Pr represents the probability.
[0069] The log-likelihood ratio LLR is derived under additive white Gaussian noise (detailed derivation process reference: Yuan Dongfeng, Zhang Haigang. LDPC Code Theory and Application [M]. People's Posts and Telecommunications Press, 2008.). The log-likelihood ratio LLR is expressed as:
[0070]
[0071] Where σ 2 This represents the noise variance of an additive white Gaussian noise channel.
[0072] According to the minimum sum algorithm (see: Chen J, Dholakia A, Eleftheriou E, et al. Reduced-Complexity Decoding of LDPC Codes[J].IEEE Transactions on Communications, 2005(8):53.), the noise variance σ does not need to be considered during decoding. 2 Using channel information y n Instead of the log-likelihood ratio (LLR), which is fed into the decoder, the final calculated LLR is expressed as:
[0073] LLR=y n
[0074] Step 5: Input the log-likelihood ratio (LLR) obtained in Step 4 into the decoder and perform iterative decoding according to the decoding algorithm.
[0075] Step 5.1: Define the variables needed in the LDPC decoding algorithm: Define M and N as the size of the parity-check matrix, i.e., M = 1680 and N = 2082; M core With N core These represent the size of the core check matrix, M, respectively. core =160, N core =560; l is the current iteration number, initialized to 1; I max The maximum number of iterations is set to 50; set To preset the number of iterations, the entire decoding process is divided into two parts, set to 15; L(p n) represents the log-likelihood ratio (LLR) of the input decoder, i.e., y n ; This refers to the verification node information that verification node m passes to variable node n during the l-th iteration; This refers to the variable node information that variable node n passes to check node m during the l-th iteration; The set represents the updated log-likelihood ratio (LLR) at the l-th iteration. This represents the set of variable nodes connected to the verification node m; the set This represents the set of verification nodes connected to variable node n; represent Remove the nth variable node; represent Remove the m-th verification node.
[0076] The decoding algorithm consists of five parts: a check node information update unit, a variable node information update unit, a log-likelihood ratio (LLR) update unit, a decision unit, and a stop iteration decision unit, namely steps 5.2, 5.3, 5.4, 5.5, and 5.6 described later.
[0077] Step 5.2: Verify the node information update unit. If the current iteration number l equals 1, adjust the log-likelihood ratio LLR of the input decoder according to the following formula: L(p n The updated verification node information is obtained by processing the data. If the current iteration number l is greater than 1, update the variable node information after step 5.3 according to the following formula. The updated verification node information is obtained through processing.
[0078]
[0079] Where m = 1, 2, ..., M; α is the normalization factor;
[0080] Step 5.3: Variable node update unit, updating the verification node information after step 5.2. The updated variable node information is obtained through processing. Variable node information The update is performed in four steps: calculating temporary variable node information. and the amplified value of temporary variable node information Calculate the correction value L for the erasure range. cv Based on temporary variable node information Correction value L for the erasure range cv Calculate the erase flag for variable node information. Based on the amplified value of the temporary variable node information and variable node erase flag Update variable node information These correspond to steps 5.3.1, 5.3.2, 5.3.3, and 5.3.4, respectively.
[0081] Step 5.3.1: Utilize the log-likelihood ratio (LLR) of the input decoder, i.e., L(p) n (and the verification node information calculated in step 5.2) Calculate temporary variable node information and the amplified value of temporary variable node information
[0082]
[0083] Where β is a scaling factor, ranging from (1,∞).
[0084] Step 5.3.2: Utilize the verification node information calculated in Step 5.2 Calculate the correction value L for the erasure range. cv Considering the verification node information calculated in step 5.2 The amplitude increases with the number of iterations. The entire iteration process is divided into two parts, with different parameters set for the erasure range.
[0085]
[0086] λ1 and λ2 are both correction factors, ranging from [0,1].
[0087] Step 5.3.3: Based on the temporary variable node information calculated in Step 5.3.1 And the erase range correction value L calculated in step 5.3.2 cv Calculate the erase flag for variable node information.
[0088]
[0089] Where s (l-1) The symbol for the variable node information in the previous iteration, i.e. same
[0090] Step 5.3.4: Amplify the temporary variable node information calculated in Step 5.3.1. and the variable node information erasure flag calculated in step 5.3.3. Update variable node information
[0091]
[0092] Step 5.4: Update the log-likelihood ratio (LLR) for each unit. For n = 1, 2, ..., N, update the check node information based on the information updated in Step 5.2. The log-likelihood ratio (LLR) of the input decoder, i.e., L(p) n Update the log-likelihood ratio (LLR)
[0093]
[0094] Step 5.5: Use the log-likelihood ratio (LLR) calculated in Step 5.4, i.e. The judgment is made, and the decoded codeword is obtained. And update the current iteration number:
[0095]
[0096] l = l + 1
[0097] Step 5.6: Stop the iterative decision unit and use the decoded codeword obtained in step 5.5. Determine if it is possible to exit the iteration process. If Or l>I max If the decoding stops, then the process continues in a loop, executing steps 5.2, 5.3, 5.4, 5.5, and 5.6.
[0098] The simulation results of the bit error rate in Example 1 are as follows: Figure 2 The curve marked Rate = 1 / 5 shows that the algorithm proposed in this invention can achieve a coding gain of about 0.1 dB (@BER = 10E-4) compared to the two-dimensional self-testing minimum sum algorithm 2D-SCMSA; the performance difference between the algorithm proposed in this invention and the log-likelihood ratio belief propagation algorithm LLR-BPA is less than 0.1 dB (@BER = 10E-4).
[0099] The convergence rate simulation results of Example 1 are as follows: Figure 3 As shown in (a), it can be seen that in the initial stage of decoding, the convergence speed of the algorithm proposed in this invention is significantly faster than that of the two-dimensional self-checking minimum sum algorithm 2D-SCMSA. As the number of iterations increases, the bit error rate finally converged by the algorithm proposed in this invention is also better than that of the two-dimensional self-checking minimum sum algorithm 2D-SCMSA.
[0100] also, Figure 2The Rate = 1 / 3, Rate = 1 / 2, and Rate = 2 / 3 marked in the figure also represent the bit error rate simulation results of the algorithm proposed in this invention. These three rate values also achieve a performance gain of approximately 0.1 dB (@BER = 10E-4) compared to the 2D self-tested minimum sum algorithm 2D-SCMSA. For a rate of 1 / 3, the performance difference between the algorithm proposed in this invention and the log-likelihood ratio belief propagation algorithm LLR-BPA is also less than 0.1 dB (@BER = 10E-4), while for rate values of 1 / 2 and 2 / 3, the decoding performance of the algorithm proposed in this invention is extremely close to that of the log-likelihood ratio belief propagation algorithm LLR-BPA.
[0101] exist Figure 3 (b) to (d) show the simulation results of the convergence speed of the proposed algorithm at code rates of 1 / 3, 1 / 2, and 2 / 3. In the initial decoding stage, the convergence speed of the proposed algorithm is significantly faster than that of the two-dimensional self-checking minimum sum algorithm 2D-SCMSA. As the number of iterations increases, the final bit error rate of the proposed algorithm is also better than that of 2D-SCMSA. Moreover, for 2 / 3, the proposed algorithm converges to almost the same bit error rate as the log-likelihood ratio belief propagation algorithm LLR-BPA.
[0102] Figure 4 This paper compares the decoding complexity of the algorithm proposed in this invention with that of the 2D-SCMSA (Two-Dimensional Self-Tested Minimum Sum) algorithm. Compared with the 2D-SCMSA algorithm, the decoding complexity of the algorithm proposed in this invention is slightly improved. The comparison operation is increased by 16% compared to the 2D-SCMSA algorithm; the addition operation is increased by 26% compared to the 2D-SCMSA algorithm; and the XOR and storage operations are the same as those of the 2D-SCMSA algorithm. However, the algorithm proposed in this invention only involves comparison, addition, and XOR operations in the decoding process and does not involve nonlinear operations, so its complexity is much lower than that of the LLR-BPA (Log-Likelihood Ratio Belief Propagation) algorithm.
[0103] The above describes the main content of a high-performance, low-complexity LDPC decoding method for satellite communication. Simulation experiments can be used to evaluate and compare the decoding performance and complexity of the proposed method.
Claims
1. A high-performance, low-complexity LDPC decoding method for satellite communication, characterized in that: Includes the following steps: Step 1: According to the 5G standard, select the corresponding base matrix based on the information bit length K and code rate R, and select the spread factor Z based on the information bit length K and code rate R; obtain the parity check matrix H based on the base matrix and spread factor Z; Step 2: Encode the information bits according to the parity check matrix H obtained in Step 1 to obtain the encoded codeword c; Step 3: Perform binary phase shift keying modulation on the coded codeword c obtained in Step 2 and send it into the additive white Gaussian noise channel. The additive white Gaussian noise channel outputs a noisy binary phase shift keying modulation signal. Step 4: Receive the noisy binary phase shift keying modulation signal output from Step 3, and calculate the log-likelihood ratio (LLR). Step 5: Input the log-likelihood ratio (LLR) obtained in Step 4 into the decoder and perform iterative decoding according to the decoding algorithm; Step five is implemented as follows: Step 5.1: Define the variables needed in the LDPC decoding algorithm: Define M and N as the size of the parity check matrix; M core With N core These represent the size of the core verification region matrix of the verification matrix; l is the current iteration number, initially set to 1; I set To predetermine the number of iterations, the entire decoding process is divided into two parts; L(p n ) represents the log-likelihood ratio (LLR) of the input decoder, i.e., y n ; This refers to the verification node information that verification node m passes to variable node n during the l-th iteration; This refers to the variable node information that variable node n passes to check node m during the l-th iteration; The set represents the updated log-likelihood ratio (LLR) at the l-th iteration. This represents the set of variable nodes connected to the verification node m; the set This represents the set of verification nodes connected to variable node n; represent Remove the nth variable node; represent Remove the m-th check node; The decoding algorithm consists of five parts: a check node information update unit, a variable node information update unit, a log-likelihood ratio (LLR) update unit, a decision unit, and a stop iteration decision unit, namely, subsequent steps 5.2, 5.3, 5.4, 5.5, and 5.
6. Step 5.2: Verify the node information update unit. If the current iteration number l equals 1, adjust the log-likelihood ratio LLR of the input decoder according to the following formula: L(p n The updated verification node information is obtained by processing the data. If the current iteration number l is greater than 1, update the variable node information after step 5.3 according to the following formula. The updated verification node information is obtained through processing. Where m = 1, 2, ..., M; α is the normalization factor; Step 5.3: Variable node update unit, updating the verification node information after step 5.
2. The updated variable node information is obtained through processing. Variable node information The update is performed in four steps: calculating temporary variable node information. and the amplified value of temporary variable node information Calculate the correction value L for the erasure range. cv Based on temporary variable node information Correction value L for the erasure range cv Calculate the erase flag for variable node information. Based on the amplified value of the temporary variable node information and variable node erase flag Update variable node information These correspond to steps 5.3.1, 5.3.2, 5.3.3, and 5.3.4, respectively. Step 5.3.1: Utilize the log-likelihood ratio (LLR) of the input decoder, i.e., L(p) n (and the verification node information calculated in step 5.2) Calculate temporary variable node information and the amplified value of temporary variable node information Where β is a scaling factor, ranging from (1,∞); Step 5.3.2: Utilize the verification node information calculated in Step 5.2 Calculate the correction value L for the erasure range. cv ; Considering the verification node information calculated in step 5.2 The amplitude increases with the number of iterations. The entire iteration process is divided into two parts, and different parameters are used to set the erasure range for each part. Where λ1 and λ2 are both correction factors, ranging from [0,1]; Step 5.3.3: Based on the temporary variable node information calculated in Step 5.3.1 And the erase range correction value L calculated in step 5.3.2 cv Calculate the erase flag for variable node information. Where s (l-1) The symbol for the variable node information in the previous iteration, i.e. same Step 5.3.4: Amplify the temporary variable node information calculated in Step 5.3.
1. and the variable node information erasure flag calculated in step 5.3.
3. Update variable node information Step 5.4: Update the log-likelihood ratio (LLR) for each unit. For n = 1, 2, ..., N, update the check node information based on the information updated in Step 5.
2. The log-likelihood ratio (LLR) of the input decoder, i.e., L(p) n Update the log-likelihood ratio (LLR) Step 5.5: Use the log-likelihood ratio (LLR) calculated in Step 5.4, i.e. The judgment is made, and the decoded codeword is obtained. And update the current iteration number: l=l+1 Step 5.6: Stop the iterative decision unit and use the decoded codeword obtained in step 5.
5. Determine if it is possible to exit the iteration process; if Decoding stops when the maximum number of iterations is reached; otherwise, steps 5.2, 5.3, 5.4, 5.5, and 5.6 are executed repeatedly.
2. The high-performance, low-complexity LDPC decoding method for satellite communication as described in claim 1, characterized in that: The implementation method for step one is as follows: The 5G standard specifies two types of base matrices: BG1 and BG2. Before encoding, the base matrix needs to be selected according to the following principles: if K ≤ 308, choose BG2; if 308 < K ≤ 3840 and R > 2 / 3, choose BG1; otherwise, choose BG2; if K > 3840 and R ≤ 1 / 4, choose BG2, and code blocks need to be segmented; otherwise, choose BG1. The spreading factor Z is determined based on the selected base matrix and the information bit length K. After knowing the base matrix and the spreading factor Z, the base matrix is expanded to obtain the parity check matrix H.
3. The high-performance, low-complexity LDPC decoding method for satellite communication as described in claim 2, characterized in that: The second step is implemented as follows: The low-density parity-check (LDPC) code encoding in the 5G standard is based on the relationship between the parity-check matrix and the codeword H·c T =0 is implemented, and the encoded codeword is divided into two parts: information bits and parity bits; the information bits are the input of the encoder; the parity bits are divided into two parts, which correspond to the double diagonal structure part and the single diagonal structure part of the parity matrix H respectively; the steps of encoding using the parity matrix H are: (1) calculate the first Z parity bits corresponding to the double diagonal structure part; (2) Calculate the remaining 3*Z parity bits corresponding to the double diagonal structure part according to the forward recursion; (3) Calculate the parity bit corresponding to the single diagonal structure based on the parity bits corresponding to the single diagonal structure and the double diagonal structure; concatenate the information bits and the parity bits to obtain the encoded codeword c.
4. The high-performance, low-complexity LDPC decoding method for satellite communication as described in claim 3, characterized in that: In step four, Define the log-likelihood ratio (LLR) as follows: Where y n This represents the nth channel information received; c n Represents the nth codeword bit; Pr represents the probability; The log-likelihood ratio (LLR) is derived under additive white Gaussian noise channel conditions, and expressed as: Where σ 2 This represents the noise variance of an additive white Gaussian noise channel; According to the minimum sum algorithm, the noise variance σ does not need to be considered during decoding. 2 Using channel information y n Instead of the log-likelihood ratio (LLR), which is fed into the decoder, the final calculated LLR is expressed as: LLR=y n 。
Citation Information
Patent Citations
Method for decoding low density even-odd check
CN101465652A
Quasi-cyclic low density odd-even check code belief propagation decoding method based on oscillation
CN103259545A