A LDPC step-by-step decoding method and system based on noise power
By adopting a step-by-step decoding method based on noise power in LDPC decoding, the iterative process and LLR value calculation are optimized, and the problems of high complexity and insufficient correction error probability in the existing technology are solved, and more efficient decoding is achieved performance.
Patent Information
- Application Number
- CN202111037601.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-06
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2041-09-06
AI Technical Summary
The existing LDPC decoding algorithm is complex and takes a long time, and LLR calculations are not suitable for the LDPC packet linear code characteristics, resulting in insufficient probability of correcting errors.
Using the LDPC step-by-step decoding method based on noise power, each verification node is transmitted through initialization parameters and iteration process, the node information probability value is updated, and bit determination is performed after each iteration, and bits are used to perform bits using the verification matrix H. Verify, optimize LLR value calculation and iterative process.
It reduces the complexity of LDPC decoding, speeds up the convergence speed of decoding, improves the decoding ability, and increases the probability of correcting errors.
Smart Images

Figure CN113794478B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an LDPC decoding technology, and in particular to an LDPC step-by-step decoding method and system based on noise power. Background Art
[0002] The IEEE802.11 standard has two bit coding schemes, one is BCC coding and the other is LDPC coding. LDPC coding is more applicable to a wider range of scenarios, so the LDPC decoding capability of the receiving end plays a relatively important role in the performance of the WLAN system. LDPC coding is a linear block code. The information bit is obtained by a specific constraint matrix to obtain the check bit. The receiving end uses the received information bit, check bit and the known check matrix to correct the error bit in the transmission.
[0003] The LDPC check matrix and its encoding process can be defined as a bipartite graph, called a factor graph. The factor graph has two types of nodes: symbol nodes and check nodes, which represent the transmission bit and the parity check constraint respectively. Each check node (CHeck node) is connected to the symbol node (Bit node) by multiple solid lines (edges), such as Figure 1 shown.
[0004] The multiple information bits on the left are connected to the same check node through the edge to obtain the check bit.
[0005] The message passing algorithm mainly used by the LDPC receiving end decoding uses the factor graph shown in the figure to pass messages, and obtains the posterior probability distribution of the final variable node through multiple iterations. The message here refers to the probability distribution, that is, the logarithm of the ratio of the probability of receiving information bit 0 to 1:
[0006]
[0007] Where y is the complex symbol after equalization, s is the standard constellation point closest to y, and b i,s is the i-th bit in the constellation point. After derivation, the LLR value is calculated as:
[0008]
[0009] where σ 2 represents the noise power, is the minimum Euclidean distance between the complex symbol y and the constellation point whose i-th bit is 0 in the standard constellation point. is the minimum Euclidean distance for which bit is 1.
[0010] In the process of message passing, the formula for passing messages from symbol nodes to check nodes is:
[0011]
[0012] Where Q vc represents the message sent by the symbol node v to the check node c, P v is the prior probability of v, that is, the LLR value, R c′v The message passed by the check node c to the symbol node v, where c′∈N(v)\c means that the message passed by the check node c to the symbol node v does not include the message passed by v to the check node c.
[0013] The formula for passing messages from the test node to the variable node is:
[0014]
[0015] Where R cv represents the message sent by the check node c to the symbol node v, Q v′c represents the message sent by symbolic node v to check node c, v′∈N(c)\v means that the message sent by symbolic node v to check node c does not include the message sent by c to symbolic node v.
[0016] The calculation of the check node can be simplified as:
[0017]
[0018] in
[0019]
[0020]
[0021] The sign function is -1 when x < 0, and 1 otherwise.
[0022] The algorithm flow is as follows:
[0023] (1) Initialization parameters, Q vc ←P v
[0024] (2) For all the check nodes,
[0025] (3) For all variable nodes,
[0026] (4) After repeating the iteration N times, the posterior probability of the variable node is obtained
[0027] (5) Bit judgment, the output bit value is
[0028] From the existing LDPC decoding algorithm and related algorithms, firstly, the algorithm complexity is relatively large and time-consuming, which is mainly reflected in the message transmission process; secondly, the LLR calculation does not fit the characteristics of LDPC block linear code very well, and the original noise power σ 2 is the estimated average value. When some symbols are abnormal, their abnormal LLR values are at the average power σ 2 It is not highlighted, so the probability of correcting errors of the bits with which it is constrained cannot be enhanced. Summary of the invention
[0029] In order to solve the technical problems in the prior art that the algorithm complexity is relatively large and the probability of bit error correction cannot be enhanced, the present invention provides an LDPC step-by-step decoding method based on noise power, and also provides a system for implementing the LDPC step-by-step decoding method based on noise power.
[0030] The LDPC step-by-step decoding method based on noise power of the present invention comprises the following steps:
[0031] Step 1: Initialize parameters, including the probability value of node information and the check node value;
[0032] Step 2: Start iteration;
[0033] Step 3: Determine whether the number of iterations has been reached. If yes, end. If not, proceed to step 4.
[0034] Step 4: Pass messages to each check node in turn. After each check node is updated, update the probability value of the node information and save each check node value.
[0035] Step 5: After all the check nodes are updated, the probability value of the node message is bit-determined and the iteration ends.
[0036] The present invention is further improved to include step six: after bit determination, bit check is performed using the check matrix H. If the check result is a set value, the process ends; otherwise, the process proceeds to the next iteration.
[0037] The present invention is further improved. In step 5, after one iteration is completed, the probability value of the node information is sign-judged. P v ′ is the probability value of the information node v after each verification node update.
[0038] The present invention is further improved. In step six, the test matrix H is used for test. If Hx=0, the iteration is terminated. Otherwise, the next iteration is performed until the set maximum number of iterations is reached.
[0039] The present invention is further improved. In step 1, the LLR value P vAssign to P v ′,P v is the prior probability value of the test node, P v ′ is the probability value of the information node v after each check node update, and the check node value is initialized Indicates the message sent by the j-th check node to the information node in the i-th iteration.
[0040] The present invention is further improved to check the prior probability value P of the node v Based on the noise power σ of each symbol 2 The noise power σ is calculated as 2 The value is a rough estimate of the noise power for each symbol, calculated as: 2 =|y i -s i | 2 +|y q -s q | 2 , where y i ,y q is the real and imaginary part of the symbol y after equalization, s i 、s q is the real and imaginary part of the standard constellation point closest to y.
[0041] The present invention is further improved by setting the minimum threshold value σ0 of the noise power according to the simulation data. 2 .
[0042] The present invention is further improved. In step 4, the calculation formula of the updated value of each check node is: Among them, v′∈N(c)\v means that the message transmitted by the symbol node v to the check node c does not include the message transmitted by c to the symbol node v. The calculation formula of the updated node information probability value is:
[0043] The present invention also provides a system for implementing the LDPC step-by-step decoding method based on noise power, comprising:
[0044] Initialization module: used to initialize parameters, including probability values of node information and verification node values;
[0045] Iteration start module: used to start iteration;
[0046] Judgment module: used to judge whether the number of iterations has been reached. If yes, it ends; if no, it executes the iteration;
[0047] Iteration module: used to pass messages to each check node in turn. After each check node is updated, the probability value of the node information is updated and each check node value is saved.
[0048] Bit determination module: used to perform bit determination on the probability value of the node message after all the check nodes are updated.
[0049] The present invention is further improved to use a check matrix H to perform bit check on the decision value after bit determination.
[0050] Compared with the prior art, the beneficial effects of the present invention are: reducing the complexity of LDPC decoding, accelerating the convergence speed of decoding, and improving the decoding capability. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 It is a schematic diagram of the structure of the LDPC factor graph in the prior art;
[0052] Figure 2 is a flow chart of the method of the present invention;
[0053] Figure 3 This is a schematic diagram of the first iteration of the present invention;
[0054] Figure 4 This is a schematic diagram of the second iteration of the present invention. DETAILED DESCRIPTION
[0055] The present invention is further described in detail below with reference to the accompanying drawings and embodiments.
[0056] The present invention is directed to the noise power σ of the LLR 2 Value, calculate the rough estimate of the noise power for each symbol separately, σ 2 =|y i -s i | 2 +|y q -s q | 2 ,y i ,y q is the real and imaginary part of the sign after equalization, s i 、s q is the real and imaginary part of the standard constellation point closest to y, and the minimum threshold value of noise power σ0 is set according to the simulation data 2 .
[0057] like Figure 2 As shown, the present invention optimizes the existing LDPC decoding process. The LDPC step-by-step decoding method based on noise power of the present invention is:
[0058] First, initialize the parameters and set the LLR value P v Assign to P v ′,P v ′ is the probability value of the information node v after each check node update; initialize the check node value Indicates the message sent by the jth check node to the information node in the i-th iteration. Then, the message is sent to each check node in turn. After each check node is updated, the probability value P of the information node is updated. v ′, and The value is saved and will be used for calculation in the next iteration. After all the check nodes are updated, v ′ Perform sign function judgment and perform bit check with the check matrix H. If Hx=0, end, otherwise proceed to the next iteration.
[0059] The specific algorithm of the present invention is:
[0060] (1) Initialization parameters, P v ′←P v ,
[0061] (2) Send messages to each test and update In the first iteration, The upper right script indicates the first iteration, the first check node, and then the information probability is updated. Then save The value is to be used in the next iteration;
[0062] (3) After one iteration is completed, the information probability value is sign-determined And check with the test matrix H. If Hx=0, the iteration ends, otherwise the next iteration is performed until the set maximum number of iterations is reached.
[0063] The data updated and saved in the first iteration of the present invention is as follows Figure 3 As shown, the data updated and saved in the second iteration is as follows Figure 4 shown.
[0064] Compared with the optimized decoding method, the traditional LDPC algorithm is more complex. Assuming that the length of the information bit is m and the length of the check node is n, the traditional algorithm only saves After n nodes have passed the message, it is necessary to pass the message to m information nodes to get the final information probability P v ′, the total number of message transmissions is m+n. When the optimized method transmits messages to the check nodes, P is also updated. v ′ value, after the verification node is updated, the information probability P v ′ value has been updated. At this time, the number of message transmissions is only n. In LDPC coding, the length m of the information node is much larger than the length n of the check node, so the computational complexity is greatly reduced. At the same time, the P updated after the check node message vThe ′ value is equivalent to decoding the current check node first and substituting the result into the decoding of the next check node. As the check node is transmitted, more and more bits are decoded. In addition, the LLR value calculation is optimized. Compared with the traditional algorithm, it is necessary to wait until the results of all check nodes are available before doing P. v ′ Update, optimized algorithm P v 'The convergence speed is much faster.
[0065] In addition, by adding the test matrix H to test the bit decision value, the iteration can be stopped when the set condition is met, thereby greatly improving the calculation efficiency.
[0066] The present invention optimizes LLR calculation for LDPC, including but not limited to 802.11a / p / g / n / ac / ax / be; similarly, the process optimization for LDPC decoding includes but is not limited to 802.11a / p / g / n / ac / ax / be. The present invention effectively improves the performance of LDPC decoding and reduces the decoding complexity by optimizing LLR calculation and LDPC decoding process.
[0067] The specific implementation modes described above are preferred implementation modes of the present invention, and are not intended to limit the specific implementation scope of the present invention. The scope of the present invention includes but is not limited to the specific implementation modes, and all equivalent changes made according to the present invention are within the protection scope of the present invention.
Claims
1. A noise power-based LDPC step-by-step decoding method, characterized in that: The steps include: Step 1: Initialize parameters, including the probability value of node information and the check node value; Step 2: Start iteration; Step 3: Determine whether the number of iterations has been reached. If yes, end. If not, proceed to step 4. Step 4: Pass messages to each check node in turn. After each check node is updated, update the probability value of the node information and save each check node value. Step 5: After all the check nodes are updated, the probability value of the node message is bit-determined, and the iteration ends. In step 1, the probability distribution LLR value calculated by the message passing algorithm, that is, P v Assign to P v ′,P v is the prior probability value of the test node, P v ′ is the probability value of the information node v after each check node update, and the check node value is initialized Indicates the message sent by the jth check node to the information node in the i-th iteration, The prior probability value P of the test node v Based on the noise power σ of each symbol 2 The noise power σ is calculated as 2 The value is a rough estimate of the noise power for each symbol, calculated as: 2 =|y i -s i | 2 +|y q -s q | 2 , where y i is the real part of the symbol y after equalization, y q is the imaginary part of the symbol y after equalization, s i is the real part of the standard constellation point closest to the equalized symbol y, s q is the imaginary part of the standard constellation point closest to the equalized symbol y, In step 4, the calculation formula for the updated value of each check node is: Among them, v′∈N(c)\v means that the message transmitted by the symbol node v to the check node c does not include the message transmitted by c to the symbol node v. The calculation formula of the updated node information probability value is: In step 5, after one iteration is completed, the probability value of the node information is sign-judged P v ′ is the probability value of the information node v after each check node update, x is the bit value after judgment, and sign is the sign function.
2. The LDPC step-by-step decoding method based on noise power according to claim 1, characterized in that: The process also includes step 6: after bit determination, using the check matrix H to perform bit check, if the check result is a set value, the process ends, otherwise, the process proceeds to the next iteration.
3. The LDPC step-by-step decoding method based on noise power according to claim 2, characterized in that: In step six, the test matrix H is used for testing. If Hx=0, the iteration ends, otherwise the next iteration is performed until the set maximum number of iterations is reached.
4. The LDPC step-by-step decoding method based on noise power according to any one of claims 1 to 3, characterized in that: Set the minimum threshold value of noise power σ0 according to simulation data 2 .
5. A system for implementing the LDPC step-by-step decoding method based on noise power according to any one of claims 1 to 4, characterized in that: include: Initialization module: used to initialize parameters, including probability values of node information and verification node values; Iteration start module: used to start iteration; Judgment module: used to judge whether the number of iterations has been reached. If yes, it ends; if no, it executes the iteration; Iteration module: used to pass messages to each check node in turn. After each check node is updated, the probability value of the node information is updated and each check node value is saved. Bit determination module: used to perform bit determination on the probability value of the node message after all the check nodes are updated.
6. The system according to claim 5, characterized in that: It also includes a bit check module: used for performing bit check on the decision value using a check matrix H after bit decision.
