LDPC (Low Density Parity Check) decoding method and system based on weight ratio of check segment to information segment of check matrix
By adding a correction factor to the check node in the variable node update stage of the LDPC decoding algorithm, the information of the check node is distinguished, the decoding accuracy is improved, the bit error rate is reduced, and the problem of limited decoding accuracy in the prior art is solved, thereby achieving a reduction in bit error rate and maintenance of system real-time performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-22
- Publication Date
- 2026-03-27
AI Technical Summary
Existing LDPC decoding algorithms fail to distinguish the reliability of check nodes when updating variable nodes, resulting in limited decoding accuracy and a high error rate.
By adding correction factors to verification nodes with different levels of confidence during the variable node update phase, the differentiated fusion of verification node information is distinguished, thereby improving decoding accuracy.
It effectively reduces the bit error rate in scenarios with good signal-to-noise ratio, concentrates error bits in a few frames, improves overall transmission reliability, and maintains low complexity and good system real-time performance.
Smart Images

Figure CN121750000A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication signal processing technology, and in particular to an LDPC decoding method and system based on the weight ratio of the parity check segment and the information segment in the parity check matrix. Background Technology
[0002] In modern communication systems, channel coding technology is a core protection measure for information transmission, effectively resisting adverse factors such as channel noise and interference, and ensuring the reliability of information transmission. Low-Density Parity-Check (LDPC) codes, due to their performance approaching the Shannon limit, have become a key channel coding scheme for 4G and 5G mobile communication systems. In 4G LTE systems, LDPC codes are used for data coding of the Physical Downlink Shared Channel (PDSCH) and Physical Uplink Shared Channel (PUSCH); in 5G NR systems, LDPC codes serve as the primary data channel coding scheme, supporting higher communication rates and lower transmission latency requirements.
[0003] The encoding process of LDPC codes is relatively simple due to the sparsity of the parity-check matrix, but its decoding process requires multiple iterative calculations, resulting in high computational complexity. Therefore, optimizing the decoding algorithm is the core issue for the practical application of LDPC code technology. The main reason why LDPC codes were not initially valued was their high decoding complexity. It wasn't until the Belief Propagation (BP) decoding algorithm was proposed in the 1990s that the practicality of LDPC codes improved. Subsequently, simplified decoding algorithms such as Min-Sum (MS), Normalized Min-Sum (NMS), and Offset Min-Sum (OMS) were developed based on this, significantly reducing decoding latency with only a slight performance loss, and becoming the mainstream solution in the industry.
[0004] However, existing LDPC decoding algorithms primarily focus on simplifying the check node update equations, neglecting the performance improvement potential in the variable node update stage. Traditional variable node updates indiscriminately fuse feedback information from all connected check nodes, failing to differentiate the reliability of check nodes and thus limiting decoding accuracy. Summary of the Invention
[0005] The purpose of this invention is to provide an LDPC decoding method based on the weight ratio of the check segment and the information segment of the check matrix. By adding correction factors to check nodes with different confidence levels during the variable node update stage, the method achieves differentiated fusion of check node information, thereby improving decoding accuracy and reducing the bit error rate.
[0006] To achieve the above objectives, the present invention provides the following solution: An LDPC decoding method based on the weight ratio of the parity check segment and the information segment in the parity check matrix includes the following steps: S1, Initialization of parameters and variable node information: Initialize the core parameters of LDPC decoding, map the soft information received by the channel to the initial log-likelihood ratio of the variable nodes, and obtain the initial channel information; among which, the core parameters include code length, parity check matrix structure, and upper limit of iteration number; S2, Correction factor calculation: Divide each row of the check matrix into an information segment and a check segment, count the number of non-zero values in the two segments, and calculate the correction factor corresponding to each check node. S3, Check Node Message Update: Based on the LDPC code parity check rules and combined with the selected decoding algorithm, the check node completes the message feedback to the variable node; S4, Variable Node Message Update: After receiving messages from all connected verification nodes, the variable node adds the corresponding correction factor to the messages from the verification nodes, merges the initial channel information, and updates the messages sent to each verification node. S5, Decoding Decision and Iteration Termination Decision: After completing a round of message passing between the verification node and the variable node, calculate the posterior log-likelihood ratio of the variable node, and make a hard decision based on this to obtain the decoding result. At the same time, determine whether the decoding result satisfies the verification constraint or reaches the upper limit of the number of iterations, and determine whether to terminate the decoding. S6, Decoding result output: After decoding is terminated, the final hard decision result is output. If decoding is successful, the result is the estimated value of the original information sent by the sender; if decoding fails, it is marked as a decoding error.
[0007] Further, S1, parameter and variable node information initialization, specifically includes: S101, Loading parameters and parity check matrix: Read the core parameters of LDPC decoding, including code length N, information bit length K, code rate R=K / N, parity check matrix H and upper limit of iteration number; where the dimension of parity check matrix H is M×N, M=NK; S102, Channel Soft Information Reception and Conversion: Receive soft decision information from the channel. For a binary phase shift keying modulation system, if the received signal is a direct probability, then convert it into the initial log-likelihood ratio (LLR) of the variable node according to formula (1): (1) In the formula, Let be the probability that the i-th variable is 0. The probability that the i-th variable is 1. For the i-th variable sent, For the i-th variable received; Indicates receipt Sent later The probability of being 0. Indicates receipt Sent later The probability that it is 1; S103, Message Initialization: Initialize the message V→C from the variable node to the check node to the initial LLR of the variable node, i.e., V→C = LLR; Initialize the message C→V from the check node to the variable node to 0, and wait for the first round of message transmission to update; where V refers to the check node and C refers to the variable node.
[0008] Further, S2, the calculation of the correction factor, specifically includes: S201, Parity Check Matrix Segmentation: Divide each row of the parity check matrix H into information segments according to whether the connected variable nodes are original information nodes. I i and check segment P i ; I i This refers to the portion of the variable node in the i-th row that represents the original information. P i This refers to the part of the variable node in the i-th row that represents the added validation information; S202, Non-zero value statistics: Calculate the weights of non-zero values in the check segment and non-zero values in the information segment for each row, denoted as follows: , ; S203, Solution of correction factor: Calculate the correction factor according to formula (2). : (2) In the formula, C(x) represents the number of elements in x, where x is... or .
[0009] Furthermore, S3, the verification node message update, specifically includes: S301, Connection relationship determined: For the j-th check node, based on the j-th row of the check matrix H, determine the set of all variable nodes connected to the check node V(j)={v|H(j,i)=1}; where j indicates that the j-th row of the check matrix is also a check node, i indicates that the i-th column of the check matrix is also a variable node, V(j) refers to the set of all non-zero values in the j-th row of the check matrix, and v represents an element in V(j); S302, Verification Node Message Calculation: For each variable node i in set V(j), use the NMS, BP, MS, or OMS algorithm to calculate the information fed back from the verification node to the variable node. ; S303, Verification node message output: Output the calculation result Update to the message passed from the check node to the variable node, i.e., C→V= .
[0010] Furthermore, in step S302, when using the NMS algorithm, the information fed back from the verification node to the variable node is calculated according to formula (3). : (3) In the formula, A is the compensation coefficient in the NMS algorithm; For counting variables, This is the information transmitted from the variable node to the check node, and the initial log-likelihood ratio (LLR) is used in the first iteration.
[0011] Furthermore, S4, variable node message update, specifically includes: S401, Determine the connection relationship of variable nodes: Based on the v-th column of the verification matrix H, determine the set of all verification nodes connected to the variable node C(i)={j|H(i,j)=1}; S402, Message Summation: Calculate the sum of messages sent by all connected verification nodes to the variable node after adding a correction factor according to formula (4): (4) In the formula, Used for counting, indicating division j External verification nodes This represents the information that the variable node provides to the verification node; , The information given by the verification node to the variable node is the first... The probability that each verification node considers the i-th variable to be 0 or 1. This refers to the first calculation in the previous step. One correction factor; S403, Variable Node Message Output: Update the variable node to the j-th check node message V→C= The feedback message of the current verification node j is excluded.
[0012] Furthermore, S5, the decoding decision and iteration termination decision, specifically includes: S501, posterior log-likelihood ratio calculation: After completing one round of message passing between the verification node and the variable node, calculate the posterior log-likelihood ratio for each variable node. : (5) S502, Hard Decision and Verification Constraint Check: Based on posterior time... Make a hard judgment, if If the value is ≥0, then the variable node is determined to be 0; otherwise, it is determined to be 1, resulting in a temporary decoding result b=[b1,b2,...,bN]; subsequently, a modulo-2 operation is performed to check whether the check constraint is satisfied: If the conditions are met, the decoding is successful. S503, Iteration termination condition judgment: If decoding is successful, or the current iteration count reaches the preset iteration count limit, then the decoding is terminated and the result is output; otherwise, return to step S3 and proceed to the next round of message passing iteration.
[0013] Furthermore, S6, the decoding result output, specifically includes: S601, Final Hard Decision: Perform a hard decision based on the final posterior log-likelihood ratio, if If ≥0, then the binary codeword is determined. Set to 0; otherwise, make a judgment. =1; S602, Output: Output the binary codeword obtained from the hard decision. When decoding is successful The value is an estimate of the original information; if it fails, a decoding error is marked.
[0014] This invention also provides an LDPC decoding system based on the weight ratio of the parity check segment and the information segment in a parity check matrix, applied to the aforementioned LDPC decoding method based on the weight ratio of the parity check segment and the information segment in a parity check matrix, comprising: The parameter and variable node information initialization module is used to initialize the core parameters of LDPC decoding, mapping the soft information received by the channel to the initial log-likelihood ratio of the variable nodes to obtain the initial channel information; among which, the core parameters include code length, parity check matrix structure, and upper limit of iteration number; The correction factor calculation module is used to divide each row of the check matrix into an information segment and a check segment, count the number of non-zero values in the two segments, and calculate the correction factor corresponding to each check node. The verification node message update module is used to complete the message feedback from the verification node to the variable node based on the LDPC code parity check rules and the selected decoding algorithm. The variable node message update module is used to add corresponding correction factors to the messages fed back by the verification nodes after the variable node receives the messages fed back by all connected verification nodes, and after fusing the initial channel information, update the messages sent to each verification node. The decoding decision and iteration termination decision module is used to calculate the posterior log-likelihood ratio of the variable node after completing a round of message passing between the verification node and the variable node, and make a hard decision based on this to obtain the decoding result. At the same time, it determines whether the decoding result satisfies the verification constraint or reaches the upper limit of the number of iterations, and determines whether to terminate the decoding. The decoding result output module is used to output the final hard decision result after decoding is terminated. If decoding is successful, the result is the estimated value of the original information sent by the sender; if decoding fails, it is marked as a decoding error.
[0015] The present invention also provides a communication device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the LDPC decoding method based on the weight ratio of the parity check segment and the information segment as described above.
[0016] As can be seen from the above technical solutions, compared with the prior art, the LDPC decoding method and system based on the weight ratio of the parity check segment and the information segment provided by the present invention aims to improve the bit error rate by adding a correction factor to different parity check nodes according to the credibility of the parity check nodes when updating variable nodes, and has the following beneficial effects: Decoding performance improvement: By adding a correction factor based on the weight ratio of the parity check segment and the information segment in the parity check matrix during the variable node update stage, the parity check node information with different credibility is distinguished, and the soft information is fused in a differentiated manner. In scenarios with good signal-to-noise ratio, the bit error rate (BER) can be effectively reduced, and the error bits can be concentrated in a few frames, thereby improving the overall transmission credibility. Controllable complexity: This method only adds one parity check matrix analysis operation in the initial stage of decoding, with an overall complexity of O(N*iter+M) (where N is the code length, iter is the number of iterations, and M is the number of check nodes). Compared to the O(N*iter) complexity of the traditional LDPC decoding method based on the parity check matrix and information segment weight ratio, the additional latency introduced is negligible and does not affect the real-time performance of the system. High versatility: The optimization logic of this invention focuses on the variable node update stage, and can be seamlessly compatible with a variety of mainstream check node update algorithms such as belief propagation (BP), minimum sum (MS), normalized minimum sum (NMS), and offset minimum sum (OMS). It does not require large-scale modification of the existing decoding framework and has broad engineering application value. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1This is a flowchart of the steps in the LDPC decoding effect optimization method of the present invention; Figure 2 This is a schematic diagram of the verification matrix under the 5G NR standard of this invention; Figure 3 This is a diagram of the verification matrix structure under the 5G NR standard of this invention; Figure 4 This is a Tanner diagram representation of the verification matrix of this invention; Figure 5 This is a schematic diagram of the verification node update in this invention; Figure 6 This is a schematic diagram of variable node updates in this invention; Figure 7 This is a schematic diagram of variable node updates in the optimization method of the present invention; Figure 8 This is a schematic diagram illustrating the hard decision process for the final output posterior information of this invention. Figure 9 This is a schematic diagram of the parity check matrix and its base matrix in the reference example; Figure 10 This is a schematic diagram illustrating the variation of FER with SNR under different standards for the optimization method of this invention; Figure 11 This is a schematic diagram illustrating the variation of BER with SNR under different standards for the optimization method of this invention. Detailed Implementation
[0019] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0020] The purpose of this invention is to provide an LDPC decoding method and system based on the weight ratio of the parity segment and information segment in the parity check matrix. By adding a correction factor (the weight ratio of the parity segment and information segment) to the parity check node during the variable node update phase, it distinguishes between high-reliability and low-reliability parity check nodes, thereby improving the decoding effect. In specific implementation, upon receiving the LDPC-encoded codewords transmitted through the channel, the LDPC parity check matrix is first analyzed (only once at the beginning). Each row of the parity check matrix is analyzed separately, counting the number of non-zero values in the information segment and the number of non-zero values in the parity segment, which is used for generating the subsequent parity factor. Then, decoding begins. An initial likelihood information value (LLR) is assigned to each variable node based on the channel information. During the parity check node update, various algorithms can be used, such as the BP algorithm, or simplified MS, OMS, and NMS algorithms, to calculate the update from the parity check node to the variable node. During variable node update, the original equation is simply the summation (logarithmic field) or product of the information transmitted by all parity check nodes connected to a variable node without distinction. The innovation of this invention lies in calculating a correction factor and applying it by statistically analyzing the non-zero values of the check segment and information segment in each row of the parity-check matrix during initialization. Finally, the information of all check nodes and the initial information are statistically analyzed to make a decision. This method is applicable to LDPC codes where the distribution of the parity-check matrix is uneven, and it must also satisfy sparsity and low loop closure. Here, uneven distribution means that the weights of the non-zero values of the check segment and information segment in each check row are not exactly the same.
[0021] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0022] like Figure 1 As shown, the present invention provides an LDPC decoding method based on the weight ratio of the parity check segment and the information segment in the parity check matrix, comprising the following steps: Step S1: Initialize and set parameter and variable node information: After acquiring the soft information transmitted through the channel at the receiving end, the decoding parameters of the LDPC code are first initialized, including the code length, parity check matrix structure, and upper limit of iteration count. The parity check matrix under the 5G standard is as follows: Figure 2-3 As shown, the Tanner diagram represents... Figure 4 As shown. Subsequently, the soft information received from the channel is mapped to the initial log-likelihood ratio (LLR) of the variable nodes, laying the foundation for subsequent message passing. This includes the following sub-steps S101–S103: S101. Loading parameters and parity check matrix: Read the preset parameters of the LDPC code, including code length N, information bit length K, code rate R=K / N, and the corresponding parity check matrix H, with dimensions (M×N), where M=NK is the number of parity bits.
[0023] S102, Soft information reception and conversion of the channel: Soft decision information from the channel is received. For a binary phase shift keying (BPSK) modulation system, if the received signal is a direct probability, it is converted into the initial log-likelihood ratio (LLR) of the variable node according to formula (1).
[0024] (1) In the formula, Let be the probability that the i-th variable is 0. The probability that the i-th variable is 1. For the i-th variable sent, For the i-th variable received; Indicates receipt Sent later The probability of being 0. Indicates receipt Sent later The probability that it is 1; S103. Message Initialization: Initialize the message V→C from the variable node to the check node to the initial LLR of the variable node, i.e., V→C = LLR; initialize the message C→V from the check node to the variable node to 0, and wait for the first round of message transmission to update. Here, V refers to the check node and C refers to the variable node.
[0025] Step S2, Calculation of the correction factor: Divide each row of the check matrix into a check segment and an information segment, i.e., whether the variable node is an original information variable node or a subsequently added check variable node. Count the non-zero values of both and calculate the check factor for use in subsequent variable nodes. This includes the following sub-steps S201–S203: S201. Divide the verification matrix into verification segments. Divide each row of the verification matrix into information segments according to whether the connected variable nodes are original information nodes. I i and check segment P i ; I i This refers to the portion of the variable node in the i-th row that represents the original information. P i This refers to the part of the variable node in the i-th row that represents the added validation information; S202. Calculate the weights of non-zero values in the check segment and non-zero values in the information segment for each row, and name the corresponding check segment as... The corresponding codeword information segment is named .
[0026] S203. Calculate the correction factor according to formula (2). : (2) In the formula, C(x) represents the number of elements in x.
[0027] Step S3: Verify node message update: Based on the constraints of the check matrix, each check node calculates and updates the messages it sends back to each variable node according to the messages sent by the variable nodes it is connected to, such as... Figure 5 As shown. This process must follow the parity check rules of LDPC codes to ensure the consistency of message transmission. It includes the following sub-steps S301 to S303.
[0028] S301, Verification of node connection relationship: For the first j The nth verification node, based on the nth verification matrix H j The set of all variable nodes connected to the check node is V(j)={v|H(j,i)=1}; where j indicates that the j-th row of the check matrix is also a check node, i indicates that the i-th column of the check matrix is also a variable node, V(j) refers to the set of all non-zero values in the j-th row of the check matrix, and v refers to an element in V(j).
[0029] S302, For each variable node in set V(j) i The information passed from the verification node to the variable node is calculated according to formula (3). .
[0030] (3) In the formula, A is the compensation coefficient in the NMS algorithm; For counting variables, This is the information transmitted from the variable node to the check node, and the initial log-likelihood ratio (LLR) is used in the first iteration.
[0031] Step 303, Verify Node Message Output: Output the product result. Update to the message passed from the check node to the variable node, i.e., C→V= .
[0032] Step S4, Variable Node Message Update: After receiving messages from all connected check nodes, the variable node, combining its own initial channel LLR information, adds a correction factor and updates the messages sent to each check node, such as... Figure 6-7As shown. This step is crucial for achieving iterative updates of soft information, improving decoding accuracy by fusing multi-path messages. It includes the following sub-steps S401 to S403.
[0033] S401. Determining the connection relationship of variable nodes: For the i-th variable node, based on the v-th column of the verification matrix H, determine the set of all verification nodes connected to the variable node C(i)={j|H(i,j)=1}.
[0034] S402, Message Summation: Calculate the sum of messages sent by all connected verification nodes to the variable node after adding a correction factor according to formula (4): (4) In the formula, Used for counting, indicating division j External verification nodes This represents the information that the variable node provides to the verification node; , The information given by the verification node to the variable node is the first... The probability that each verification node considers the i-th variable to be 0 or 1. This refers to the first calculation in the previous step. One correction factor.
[0035] S403, Variable Node Message Output: Update the variable node to the j-th check node with the message V→C= Note: Feedback messages from the current verification node j must be excluded.
[0036] Step S5, Decoding Decision and Iteration Termination Judgment: After completing one round of message passing between the verification node and the variable node, calculate the posterior log-likelihood ratio for each variable node. The decoding process involves hard-decision analysis to obtain the decoding result. Simultaneously, it checks whether the decoding result satisfies the verification constraints or reaches the maximum iteration count to determine whether to terminate the decoding. This includes the following sub-steps S501–S503: S501, Post-hoc Calculation: For each variable node i, calculate the posterior probability according to formula (5), where It is represented as the sum of the initial channel LLR of the variable node and the messages of all connected check nodes.
[0037] (5) S502, Hard Decision and Verification Constraint Check: Based on posterior time... Make a hard judgment, if If the value is greater than or equal to 0, then the variable node is determined to be 0; otherwise, it is determined to be 1, resulting in a temporary decoding result b = [b1, b2, ..., bN]. Then, the validation constraints are checked: (Modal-2 operation), if satisfied, the decoding is successful.
[0038] S503 Iteration Termination Condition Judgment: If the decoding result satisfies the verification constraint, or the current iteration number reaches the preset maximum iteration number, then the decoding is terminated and the result is output; otherwise, return to step three and proceed to the next round of message passing iteration.
[0039] Step S6, Decoding result output: If the iteration count is reached or early stopping occurs (i.e., decoding terminates), a hard decision is made based on the posterior probability information obtained in step five, and the final hard decision result is output. If decoding is successful, this result is the estimated value of the original information from the sending end; if decoding fails (the verification constraint is not met and the maximum iteration count is reached), it is marked as a decoding error. This includes the following sub-steps S601 to S602: S601. Make a hard decision on the posterior information according to formula (6). If the value is greater than 0, the decision is 0, and if the value is less than 0, the decision is 1.
[0040] (6) S602. Decoding Result Output: Output the binary codeword obtained from the hard decision. .
[0041] To more clearly demonstrate the process and effects, the specific implementation examples use [the following text is incomplete and likely refers to a specific method or technique]. Figure 9 The verification matrix shown briefly illustrates the optimization operation, and in Figure 10 and Figure 11 To demonstrate the final result, the internal iteration process involves a large amount of data, so the first verification node and the first variable node are selected for explanation.
[0042] Step 1: Decoding Initialization and Variable Node Information Setting: After acquiring the soft information transmitted through the channel at the receiving end, the decoding parameters of the LDPC code are first initialized, and the parity check matrix and basis matrix are as follows: Figure 9 As shown, the expansion factor Z is 56, so the information sequence is 1008, the total encoded sequence is 2016, and the code rate is 0.5. The Tanner graph connections are too complex to be shown here. This includes the following sub-steps 101-105.
[0043] Step 101: Loading parameters and parity check matrix: Read the preset parameters of the LDPC code, including code length 2016, information bit length 1008, code rate R=0.5, and the corresponding parity check matrix H (dimension is (1008×2016), M=1008 is the number of parity bits) and calculate the correction factor.
[0044] Step 102, Soft information reception and conversion of the channel: Receive soft decision information from the channel. For a binary phase shift keying (BPSK) modulation system, if the received signal is a direct probability, it is converted into the initial log-likelihood ratio (LLR) of the variable node according to formula (1).
[0045] (7) Step 103, Message Initialization: Initialize the message V→C from the variable node to the check node to the initial LLR of the variable node, i.e., V→C = LLR; initialize the message C→V from the check node to the variable node to 0, and wait for the first round of message transmission to update.
[0046] Step 2: Calculation of the correction factor: Step 201: Divide the check matrix into check segments. Divide each row of the check matrix into information segments according to whether the connected variable nodes are original information nodes. I i and check segment P i .
[0047] Step 202: Count the non-zero values of the check segment and the non-zero values of the information segment in each row, and name the corresponding check segment as... The corresponding codeword information segment is named .
[0048] Step 203: Calculate the correction factor according to formula (2). The results are as follows.
[0049] (8) Step 3: Verify node message update: Based on the constraints of the check matrix, each check node calculates and updates the messages it sends back to each variable node according to the messages sent by the variable nodes it is connected to, such as... Figure 5 As shown. This process must follow the parity check rules of LDPC codes to ensure the consistency of message transmission. It includes the following sub-steps 301 to 303.
[0050] Step 301: Determine the connection relationship of the verification node: For the j-th verification node, determine the set of all variable nodes connected to the verification node based on the c-th row of the verification matrix H.
[0051] (9) This indicates that the first verification node is connected to the seven variable nodes.
[0052] Step 302: For each variable node v in the set V(c), calculate the hyperbolic tangent product of the messages of all connected variable nodes except v.
[0053] Step 303, Verification Node Message Output: Update the verification node to variable node message C→V based on the product result.
[0054] (10) Step 4: Update variable node messages: After receiving messages from all connected check nodes, the variable node, combining its own initial channel LLR information, adds a correction factor and updates the messages sent to each check node, such as... Figure 6-7 As shown. This step is crucial for achieving iterative updates of soft information, improving decoding accuracy by fusing multi-path messages. It includes the following sub-steps 401-403.
[0055] Step 401: Determine the connection relationship of variable nodes: For the i-th variable node, determine the set of all check nodes connected to the variable node based on the v-th column of the check matrix H.
[0056] (11) This indicates that the first variable is only connected to the first check node and the 57th check node.
[0057] Step 402, Message Summation: Calculate the sum of messages sent by all connected verification nodes to the variable node after adding the correction factor.
[0058] (12) (13) Step 403, Variable Node Message Output: Update the variable node to the j-th verification node message V→C, excluding the feedback message of the current verification node j.
[0059] Step 5: Decoding Decision and Iteration Termination Judgment: After completing one round of message passing between the verification node and the variable node, the posterior log-likelihood ratio (APP-LLR) of each variable node is calculated, and a hard decision is made based on this to obtain the decoding result. Simultaneously, it is determined whether the decoding result satisfies the verification constraints or reaches the upper limit of the iteration count to decide whether to terminate the decoding. This includes the following sub-steps 501-503.
[0060] Step 501, Post-hoc Calculation: For each variable node i, calculate the posterior probability according to formula (5), where It is represented as the sum of the initial channel LLR of the variable node and the messages of all connected check nodes.
[0061] (14) Step 502, Hard Decision and Verification Constraint Check: Perform a hard decision based on the posterior LLR. If LLR(i) ≥ 0, then the variable node is determined to be 0; otherwise, it is determined to be 1, and the temporary decoding result is obtained. =[b1,b2,...,bN]. Then check the validation constraints: (Modal-2 operation), if satisfied, then decoding is successful.
[0062] After the first iteration, the temporary decoding result obtained by the BP algorithm plus the correction factor is: (15) Step 503 Iteration termination condition judgment: If the decoding result satisfies the verification constraint, or the current iteration number reaches the preset maximum iteration number, then the decoding is terminated and the result is output; otherwise, return to step three and proceed to the next round of message passing iteration.
[0063] Step 6: Output the decoding result: If the iteration count is reached or decoding stops early (i.e., the decoding terminates), the final hard decision result is output. If decoding is successful, this result is an estimate of the original information sent from the transmitter; if decoding fails (the verification constraint is not met and the maximum iteration count is reached), it is marked as a decoding error. Simultaneously, decoding performance metrics can be statistically analyzed based on requirements to provide a basis for system optimization. This includes the following sub-steps S601–S602.
[0064] Step 601: Make a hard decision on the posterior information according to formula (6). If it is greater than 0, the decision is 0, and if it is less than 0, the decision is 1.
[0065] Step 602, Decoding Result Output: Output the binary codeword obtained from the hard decision. .
[0066] (16) Finally, a brief analysis of the results is provided: After the first iteration, due to the low initial SNR and low signal-to-noise ratio, the first code block of the first iteration was transmitted incorrectly, e=172, E=1; Record performance metrics such as decoding bit error rate and frame error rate under current channel conditions (e.g., signal-to-noise ratio SNR) to form performance curves (e.g., BER-SNR curves). Figure 10 , Figure 11 As shown, the optimization scheme can provide a gain in BER, but the gain in FER is not significant.
[0067] Results Analysis: By assigning confidence levels to check nodes, if a more reliable check node is error-free, or if the codeword contains few erroneous bits, a correct result can be obtained with fewer iterations. However, if a more reliable check node malfunctions, or if the codeword contains many erroneous bits, subsequent iterations become unreliable. In summary, this algorithm can concentrate erroneous bits within certain erroneous frames, and under conditions of good signal-to-noise ratio, various algorithms show good improvement effects.
[0068] In other embodiments, the present invention also provides an LDPC decoding system based on the weight ratio of the parity check segment and the information segment of the parity check matrix, applied to the above-mentioned LDPC decoding method based on the weight ratio of the parity check segment and the information segment of the parity check matrix, comprising: The parameter and variable node information initialization module is used to initialize the core parameters of LDPC decoding, mapping the soft information received by the channel to the initial log-likelihood ratio of the variable nodes to obtain the initial channel information; among which, the core parameters include code length, parity check matrix structure, and upper limit of iteration number; The correction factor calculation module is used to divide each row of the check matrix into an information segment and a check segment, count the number of non-zero values in the two segments, and calculate the correction factor corresponding to each check node. The verification node message update module is used to complete the message feedback from the verification node to the variable node based on the LDPC code parity check rules and the selected decoding algorithm. The variable node message update module is used to add corresponding correction factors to the messages fed back by the verification nodes after the variable node receives the messages fed back by all connected verification nodes, and after fusing the initial channel information, update the messages sent to each verification node. The decoding decision and iteration termination decision module is used to calculate the posterior log-likelihood ratio of the variable node after completing a round of message passing between the verification node and the variable node, and make a hard decision based on this to obtain the decoding result. At the same time, it determines whether the decoding result satisfies the verification constraint or reaches the upper limit of the number of iterations, and determines whether to terminate the decoding. The decoding result output module is used to output the final hard decision result after decoding is terminated. If decoding is successful, the result is the estimated value of the original information sent by the sender; if decoding fails, it is marked as a decoding error.
[0069] The present invention also provides a communication device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the LDPC decoding method based on the weight ratio of the parity check segment and the information segment as described above.
[0070] Matters not covered in this invention are common knowledge.
[0071] Those skilled in the art will understand that, in addition to implementing the system, apparatus, and their modules provided by this invention in purely computer-readable program code, the same program can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system, apparatus, and their modules provided by this invention can be considered a hardware component, and the modules included therein for implementing various programs can also be considered structures within the hardware component; alternatively, modules for implementing various functions can be considered both software programs implementing the method and structures within the hardware component.
[0072] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. Furthermore, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. An LDPC decoding method based on the weight ratio of the parity check segment and the information segment in a parity check matrix, characterized in that, Includes the following steps: S1, Initialization of parameters and variable node information: Initialize the core parameters of LDPC decoding, map the soft information received by the channel to the initial log-likelihood ratio of the variable nodes, and obtain the initial channel information; among which, the core parameters include code length, parity check matrix structure, and upper limit of iteration number; S2, Correction factor calculation: Divide each row of the check matrix into an information segment and a check segment, count the number of non-zero values in the two segments, and calculate the correction factor corresponding to each check node. S3, Check Node Message Update: Based on the LDPC code parity check rules and combined with the selected decoding algorithm, the check node completes the message feedback to the variable node; S4, Variable Node Message Update: After receiving messages from all connected verification nodes, the variable node adds the corresponding correction factor to the messages from the verification nodes, merges the initial channel information, and updates the messages sent to each verification node. S5, Decoding Decision and Iteration Termination Decision: After completing a round of message passing between the verification node and the variable node, calculate the posterior log-likelihood ratio of the variable node, and make a hard decision based on this to obtain the decoding result. At the same time, determine whether the decoding result satisfies the verification constraint or reaches the upper limit of the number of iterations, and determine whether to terminate the decoding. S6, Decoding result output: After decoding is terminated, the final hard decision result is output. If decoding is successful, the result is the estimated value of the original information sent by the sender; if decoding fails, it is marked as a decoding error.
2. The LDPC decoding method based on the weight ratio of the parity check segment and the information segment according to claim 1, characterized in that, S1, parameter and variable node information initialization, specifically includes: S101, Loading parameters and parity check matrix: Read the core parameters of LDPC decoding, including code length N, information bit length K, code rate R=K / N, parity check matrix H and upper limit of iteration number; where the dimension of parity check matrix H is M×N, M=NK; S102, Channel Soft Information Reception and Conversion: Receive soft decision information from the channel. For a binary phase shift keying modulation system, if the received signal is a direct probability, then convert it into the initial log-likelihood ratio (LLR) of the variable node according to formula (1): (1) In the formula, Let be the probability that the i-th variable is 0. The probability that the i-th variable is 1. For the i-th variable sent, For the i-th variable received; Indicates receipt Sent later The probability of being 0. Indicates receipt Sent later The probability that it is 1; S103, Message Initialization: Initialize the message V→C from the variable node to the check node to the initial LLR of the variable node, i.e., V→C = LLR; Initialize the message C→V from the check node to the variable node to 0, and wait for the first round of message transmission to update; where V refers to the check node and C refers to the variable node.
3. The LDPC decoding method based on the weight ratio of the parity check segment and the information segment according to claim 1, characterized in that, The S2, correction factor calculation, specifically includes: S201, Parity Check Matrix Segmentation: Divide each row of the parity check matrix H into information segments according to whether the connected variable nodes are original information nodes. I i and check segment P i ; I i This refers to the portion of the variable node in the i-th row that represents the original information. P i This refers to the part of the variable node in the i-th row that represents the added validation information; S202, Non-zero value statistics: Calculate the weights of non-zero values in the check segment and non-zero values in the information segment for each row, denoted as follows: , ; S203, Solution of correction factor: Calculate the correction factor according to formula (2). : (2) In the formula, C(x) represents the number of elements in x, where x is... or .
4. The LDPC decoding method based on the weight ratio of the parity check segment and the information segment according to claim 1, characterized in that, S3, the verification node message update, specifically includes: S301, Connection relationship determined: For the j-th check node, based on the j-th row of the check matrix H, determine the set of all variable nodes connected to the check node V(j)={v|H(j,i)=1}; where j indicates that the j-th row of the check matrix is also a check node, i indicates that the i-th column of the check matrix is also a variable node, V(j) refers to the set of all non-zero values in the j-th row of the check matrix, and v represents an element in V(j); S302, Verification Node Message Calculation: For each variable node i in set V(j), use the NMS, BP, MS, or OMS algorithm to calculate the information fed back from the verification node to the variable node. ; S303, Verification node message output: Output the calculation result. Update to the message passed from the check node to the variable node, i.e., C→V= .
5. The LDPC decoding method based on the weight ratio of the parity check segment and the information segment according to claim 4, characterized in that, In S302, when using the NMS algorithm, the information fed back from the verification node to the variable node is calculated according to formula (3). : (3) In the formula, A is the compensation coefficient in the NMS algorithm; For counting variables, This is the information transmitted from the variable node to the check node, and the initial log-likelihood ratio (LLR) is used in the first iteration.
6. The LDPC decoding method based on the weight ratio of the parity check segment and the information segment according to claim 4, characterized in that, S4, variable node message update, specifically includes: S401, Determine the connection relationship of variable nodes: Based on the v-th column of the verification matrix H, determine the set of all verification nodes connected to the variable node C(i)={j|H(i,j)=1}; S402, Message Summation: Calculate the sum of messages sent by all connected verification nodes to the variable node after adding a correction factor according to formula (4): (4) In the formula, Used for counting, indicating division j External verification nodes This represents the information that the variable node provides to the verification node; , The information given by the verification node to the variable node is the first... The probability that each verification node considers the i-th variable to be 0 or 1. This refers to the first calculation in the previous step. One correction factor; S403, Variable Node Message Output: Update the variable node to the j-th check node message V→C= The feedback message of the current verification node j is excluded.
7. The LDPC decoding method based on the weight ratio of the parity check segment and the information segment according to claim 6, characterized in that, S5, the decoding decision and iteration termination judgment, specifically includes: S501, posterior log-likelihood ratio calculation: After completing one round of message passing between the verification node and the variable node, calculate the posterior log-likelihood ratio for each variable node. : (5) S502, Hard Decision and Verification Constraint Check: Based on posterior time... Make a hard judgment, if If the value is ≥0, then the variable node is determined to be 0; otherwise, it is determined to be 1, resulting in a temporary decoding result b=[b1,b2,...,bN]; subsequently, a modulo-2 operation is performed to check whether the check constraint is satisfied: If the conditions are met, the decoding is successful. S503, Iteration termination condition judgment: If decoding is successful, or the current iteration count reaches the preset iteration count limit, then the decoding is terminated and the result is output; otherwise, return to step S3 and proceed to the next round of message passing iteration.
8. The LDPC decoding method based on the weight ratio of the parity check segment and the information segment according to claim 7, characterized in that, S6, the decoding result output, specifically includes: S601, Final Hard Decision: Perform a hard decision based on the final posterior log-likelihood ratio, if If ≥0, then the binary codeword is determined. Set to 0; otherwise, make a judgment. =1; S602, Output: Output the binary codeword obtained from the hard decision. When decoding is successful The value is an estimate of the original information; if it fails, a decoding error is marked.
9. An LDPC decoding system based on the weight ratio of the parity check segment and the information segment in a parity check matrix, applied to the LDPC decoding method based on the weight ratio of the parity check segment and the information segment as described in any one of claims 1-8, characterized in that, include: The parameter and variable node information initialization module is used to initialize the core parameters of LDPC decoding, mapping the soft information received by the channel to the initial log-likelihood ratio of the variable nodes to obtain the initial channel information; among which, the core parameters include code length, parity check matrix structure, and upper limit of iteration number; The correction factor calculation module is used to divide each row of the check matrix into an information segment and a check segment, count the number of non-zero values in the two segments, and calculate the correction factor corresponding to each check node. The verification node message update module is used to complete the message feedback from the verification node to the variable node based on the LDPC code parity check rules and the selected decoding algorithm. The variable node message update module is used to add corresponding correction factors to the messages fed back by the verification nodes after the variable node receives the messages fed back by all connected verification nodes, and after fusing the initial channel information, update the messages sent to each verification node. The decoding decision and iteration termination decision module is used to calculate the posterior log-likelihood ratio of the variable node after completing a round of message passing between the verification node and the variable node, and make a hard decision based on this to obtain the decoding result. At the same time, it determines whether the decoding result satisfies the verification constraint or reaches the upper limit of the number of iterations, and determines whether to terminate the decoding. The decoding result output module is used to output the final hard decision result after decoding is terminated. If decoding is successful, the result is the estimated value of the original information sent by the sender; if decoding fails, it is marked as a decoding error.
10. A communication device, characterized in that, The system includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the LDPC decoding method based on the weight ratio of the parity check segment and the information segment as described in any one of claims 1-8.
Citation Information
Cited By
QC-LDPC decoding FPGA pipeline implementation method and device
CN122068910A
A flash decoding method, device and computer storage medium
CN122220143A