Low-density parity check code decoding method and device and electronic equipment
By improving the line segment projection algorithm (ILSA), the computational complexity is reduced and the decoding performance is improved with a low number of iterations. This solves the problem of the limited performance of existing approximate projection algorithms with a low number of iterations and achieves efficient decoding results.
Patent Information
- Application Number
- CN202511773515.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-28
- Publication Date
- 2026-02-06
AI Technical Summary
Existing approximate projection algorithms have limited performance in decoding scenarios with low iteration counts, high computational complexity, and are difficult to meet the needs of practical applications.
By improving the line segment projection algorithm (ILSA), the computational complexity is reduced and the decoding performance is improved with a low number of iterations. The decoding result is generated by obtaining the vector to be projected, initializing the indicator vector, determining the nearest vertex, and calculating the projection coefficients.
It significantly improves projection accuracy and convergence characteristics with a low number of iterations, reduces computational complexity and decoding time, and improves decoding performance.
Smart Images

Figure CN121485701A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a low-density parity-check code decoding method, apparatus, and electronic device. Background Technology
[0002] Low-density parity check (LDPC) codes, with their excellent performance approaching the Shannon limit, have been widely used in modern communication systems. As a core technical component, LDPC decoding algorithms have consistently attracted academic attention. The widely used Belief Propagation (BP) decoding algorithm performs relatively well, but it is prone to error phasing in high signal-to-noise ratio regions, making it unsuitable for scenarios with stringent reliability requirements. To address this issue, the Linear Programming (LP) decoding algorithm was proposed. While possessing maximum likelihood authentication properties, effectively improving decoding performance, its extremely high computational complexity has hindered its development. To overcome this challenge, researchers combined the LP decoding algorithm with the Alternating Direction Method of Multipliers (ADMM), proposing an ADMM-based LP decoding scheme (ADMM-LP). This scheme not only retains the maximum likelihood authentication characteristic of the LP algorithm and avoids the error flattening phenomenon, but also simplifies modeling and analysis and is more feasible in practical applications. The ADMM-LP decoding algorithm suffers from decoding failures due to pseudo-codewords with non-integer solutions during the relaxation of the parity cell, resulting in poor decoding performance at low signal-to-noise ratios. Introducing a penalty function transforms the optimization problem into a non-convex problem, thereby reducing the generation of pseudo-codewords and significantly improving decoding performance. Some researchers have further optimized the frame error rate performance of irregular low-density parity-check codes by adjusting the penalty term in the objective function and assigning different penalty parameters to different variable node degrees. Similarly, introducing a penalty term related to the parity node during the decoding process can also improve decoding performance. The performance of the penalty-based ADMM-LP decoder at higher iteration counts can even rival that of the BP algorithm. However, the ADMM-LP decoding algorithm still has high computational complexity, which hinders its practical deployment. The most complex part is the Euclidean projection operation, which aims to project the vector to be projected onto a... - Dimensional verification on the multicellular body.
[0003] In the field of Euclidean projection operations, numerous optimization schemes have emerged, which can be categorized into two types: reducing projection operations and simplifying projection algorithms. The former improves projection speed by eliminating unnecessary steps in the projection process, while the latter focuses on simplifying the projection operation itself, reducing algorithm complexity, and thus accelerating the entire computation process. The Cut Search Algorithm (CSA) performs the projection operation by searching for the parity check cell's cut surface. As an exact projection algorithm, while it ensures projection accuracy and decoding performance, it still retains complex sorting operations. Therefore, many researchers have devoted themselves to the study of approximate projection algorithms. These approximate algorithms no longer limit the projection results to the parity check cell's cut surface. For example, the Line Segment Projection Algorithm (LSA) projects the vector to be projected onto a line segment consisting of the two nearest even vertices. The Triangle Projection Algorithm (TPA) projects onto a plane consisting of the three nearest even vertices. The Sparse Affine Projection Algorithm (SAPA) sets the dimension of the projection region to a predetermined value. When the preset dimension is 2, the projection characteristics are similar to LSA, and when it is 3, it is similar to TPA. In practical applications, the projection dimension is usually set to 3 to balance computational efficiency and projection performance.
[0004] Currently, while approximate projection algorithms have significantly improved projection speed, their performance still falls short of that of exact projection algorithms. Because they require multiple iterations to approximate the correct projection result, the performance of approximate projection algorithms is particularly limited in decoding scenarios with low iteration counts. It is worth noting that in practical applications of the ADMM-LP decoding algorithm, due to limitations in computational resources and latency requirements, decoders typically operate under low iteration count conditions. This makes research into improving the decoding performance of approximate projection algorithms under low iteration counts of demand highly valuable and applicable. Summary of the Invention
[0005] This invention provides a low-density parity-check code decoding method, apparatus, and electronic device to address the performance limitations of existing approximate projection algorithms in decoding scenarios with low iteration counts, thereby improving decoding performance while reducing computational complexity. The technical solution proposed by this invention is as follows: In a first aspect, the present invention provides a low-density parity-check code decoding method, comprising: Obtain the vector to be projected; Initialize the indicator vector; Determine the parity of the number of elements with a value of 1 in the indicator vector; if it is even, determine the coordinates of the vector component to be projected that is closest to the center point, and flip the indicator vector component corresponding to that coordinate to obtain the updated indicator vector; if it is odd, keep the indicator vector unchanged; the center point is the geometric center of the parity check polycell. Use the updated or unchanged indicator vector as the current indicator vector; Determine the two even-numbered vertices closest to the vector to be projected; Calculate the projection coefficients based on the two even-numbered vertices closest to the vector to be projected; The vector to be projected, the projection coefficients, and the current indicator vector are input into the projection function, and the projection result is output to generate a decoding result based on the projection result.
[0006] Optionally, each component of the initialization indicator is the result of a sign function of the corresponding component of the vector to be projected and a preset center value.
[0007] Optionally, the projection result is the projection of the vector to be projected minus the product of the projection coefficient and the current indicator vector onto a unit interval.
[0008] Optionally, calculating the projection coefficients based on the two even vertices closest to the vector to be projected includes: Construct a two-dimensional reference vector based on the two even-numbered vertices closest to the vector to be projected. Initialize the boundary adjustment set; Intermediate variables are determined based on the two-dimensional reference vector and the boundary adjustment set. ; If the boundary adjustment set is empty, then the projection coefficients ; If the boundary adjustment set contains a single element Then the projection coefficient Pick and The smaller value in; If the boundary adjustment set contains two elements , Arranged in descending order, the projection coefficients are determined as follows: : like ,but ; like ,and ,but ; like ,and ,but .
[0009] Optionally, the two-dimensional reference vector includes a direction reference vector and a numerical reference vector; the intermediate variable is determined by the following formula: ; In the formula, Indicates intermediate variables. Represents the direction reference vector. Represents a numerical reference vector. This represents the set of indicator vectors corresponding to the two even-numbered vertices closest to the vector to be projected. This indicates the number of dimensions in the vector whose components are all 1. This indicates transpose.
[0010] Optionally, the projection result satisfies the following expression: ; In the formula, This represents the indicator vector corresponding to the vector to be projected. Indicates the projection result. This indicates the number of dimensions in the indicator vector where each component is 1. This indicates transpose.
[0011] Secondly, the present invention also provides a low-density parity check code decoding device, comprising the following modules: The acquisition module is used to acquire the vector to be projected. An initialization module is used to initialize the indicator vector; The judgment module is used to determine the parity of the number of elements with a value of 1 in the indicator vector; if it is even, the coordinates of the vector component to be projected that is closest to the center point are determined, and the indicator vector component corresponding to the coordinates is flipped to obtain the updated indicator vector; if it is odd, the indicator vector is kept unchanged; the center point is the geometric center in the parity check polycell; the updated or unchanged indicator vector is used as the current indicator vector. The search module is used to determine the two even-numbered vertices closest to the vector to be projected. The calculation module is used to calculate the projection coefficients based on the two even vertices closest to the vector to be projected; and to input the vector to be projected, the projection coefficients, and the current indication vector into the projection function, output the projection result, and generate a decoding result based on the projection result.
[0012] Thirdly, the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the computer program to implement the low-density parity check code decoding method as described in the first aspect above.
[0013] Fourthly, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the low-density parity check code decoding method as described in the first aspect above.
[0014] Fifthly, the present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the low-density parity check code decoding method as described in the first aspect above.
[0015] Based on the above technical solution, the beneficial effects of the present invention compared with the prior art are as follows: The low-density parity-check code decoding method, apparatus, and electronic device provided by this invention effectively improves projection accuracy and convergence characteristics through a full-dimensional collaborative update mechanism. This ensures that the projection results fall more frequently within the parity-check multicell and close to the cell surface, achieving improved projection performance with fewer iterations while maintaining the advantages of low computational complexity and short decoding time associated with approximate projection. By identifying the two even-numbered vertices closest to the vector to be projected, the projection coefficients are calculated based on these two vertices, involving at most two dimensions, avoiding complex sorting operations and reducing computational complexity. Inputting the vector to be projected, the projection coefficients, and the indicator vector into the projection function allows the output to quickly approximate the exact solution with fewer iterations, further improving decoding performance.
[0016] Other features and advantages of the invention will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained through the structures particularly pointed out in the description and the drawings.
[0017] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0019] Figure 1 This is a flowchart illustrating the low-density parity check code decoding method provided by the present invention.
[0020] Figure 2 This is a schematic diagram of the Euclidean projection process.
[0021] Figure 3 This invention provides Comparison chart of error rates in text encoding.
[0022] Figure 4 This invention provides Comparison chart of error rates in text encoding.
[0023] Figure 5 This invention provides Comparison chart of error rates in text encoding.
[0024] Figure 6 This invention provides A comparison chart of the average number of iterations for code words under 20 iterations.
[0025] Figure 7 This invention provides A comparison chart of the average number of iterations for code words under 20 iterations.
[0026] Figure 8 This invention provides A comparison chart of the average number of iterations for code words under 20 iterations.
[0027] Figure 9 This invention provides A comparison chart of the average decoding time of codewords over 20 iterations.
[0028] Figure 10 This invention provides A comparison chart of the average decoding time of codewords across 20 iterations.
[0029] Figure 11 This invention provides A comparison chart of the average decoding time of codewords across 20 iterations.
[0030] Figure 12 This is a schematic diagram of the low-density parity check code decoding device provided by the present invention.
[0031] Figure 13 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0032] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0033] This invention relates to a decoding scheme for Low Density Parity Check (LDPC) codes. The parity check matrix of an LDPC code can be represented using a Tanner graph. It also describes the message passing process during decoding. The Tanner diagram contains... Each codeword bit node corresponds to a parity check matrix. Each column also includes Each check node corresponds to a row in the check matrix. And with... and Record variable nodes and check nodes The degrees, which represent the parity check matrix, respectively. The number of "1"s in the corresponding column and row.
[0034] The ADMM-LP decoding algorithm, after introducing dual decomposition and augmented Lagrangian function, performs a check node... Constructing auxiliary variables The decoding process can be represented by the following formula, where For Lagrange multipliers, For penalty parameters, Indicates the first The verification nodes involved A subset of coordinates, representing a Transition matrix: In the formula, Indicates the first k+1 During the nth iteration i The value of each variable node, This is an interval projection operator, which means that the input value is truncated to the interval [0,1]. Indicates the relationship with the first i The set of all verification nodes connected to each variable node. Indicates the first k In the nth iteration, from the 1st... j The verification node is passed to the first... i Auxiliary messages for each variable node. Indicates the first k During the iteration, with the ... j The verification node and the first i Lagrange multipliers associated with each variable node. For penalty parameters, This represents the log-likelihood ratio vector. Indicates the first k+1 During the nth iteration j Auxiliary variables for each verification node, This indicates that the input will be projected to a degree. The verification of the multicellular space. Indicates the first The verification nodes involved A subset of coordinates. Indicating the first step in ADMM-LP decoding k+1 The vector formed by the current estimates of all variable nodes at the next iteration. Indicates the first k+1 Lagrange multipliers in the next iteration. Indicates the first k Lagrange multipliers in the next iteration.
[0035] This invention focuses on auxiliary variables The Euclidean projection operation performed in the update, namely .
[0036] In the entire ADMM decoding algorithm, the most complex and time-consuming part lies in the Euclidean projection operation during the check node update. While exact projection ensures reliable decoding performance, its computational steps are extremely complex and time-consuming. In contrast, approximate projection significantly reduces the time spent on Euclidean projection, but inevitably incurs some performance loss.
[0037] Therefore, addressing the shortcomings of existing technologies, this invention proposes a low-density parity-check code decoding method, which is an ADMM decoding algorithm for LDPC codes based on improved line segment projection (ILSA) with a low number of iterations. This method aims to reduce the computational complexity of the ADMM-LP decoding algorithm while improving decoding performance with a low number of iterations by using an improved line segment projection (ILSA) method. It includes obtaining the vector to be projected, initializing and updating the indicator vector, finding the nearest vertex, calculating the projection coefficients, and outputting the final projection result. Figure 1 As shown, the method includes: S110, Obtain the vector to be projected.
[0038] The input is the projection vector generated during the decoding iteration of the Alternating Direction Method of Multipliers-Linear Programming (ADMM-LP). This vector contains intermediate results from the decoding process.
[0039] S120, Initialize the indicator vector.
[0040] Initialize indicator vector , where the indicator vector Each component is based on the vector to be projected. The component values are set with initial indicators (such as 0 or 1). The indicator vector is used to mark the correlation between the components of the vector to be projected and the parity check cell center, assisting in subsequent projection operations.
[0041] S130. Determine the parity of the number of elements with a value of 1 in the indicator vector; if it is even, determine the coordinates of the vector component to be projected that is closest to the center point, and flip the indicator vector component corresponding to the coordinates to obtain the updated indicator vector; if it is odd, keep the indicator vector unchanged; the center point is the geometric center in the parity check polycell; take the updated or unchanged indicator vector as the current indicator vector.
[0042] Count the number of elements with a value of 1 in the indicator vector (i.e. (parity). This represents the i-th component of the indicator vector. If the number of elements with a value of 1 in the indicator vector is even, determine the component of the vector to be projected that is closest to the center point (the geometric center in the parity check polytope). The coordinates corresponding to ) are flipped. The corresponding indicator vector components (i.e.) This yields the updated indicator vector. If the number of elements with a value of 1 in the indicator vector is odd, the indicator vector remains unchanged.
[0043] S140. Determine the two even-numbered vertices closest to the vector to be projected.
[0044] Even-numbered vertices refer to the valid vertices in the parity check cell that satisfy the even parity constraint (i.e., the number of 1s in the vertex's binary codeword is even). Calculate the Euclidean distance between each even-numbered vertex in the parity check cell and the vector to be projected, and select the two even-numbered vertices with the closest distance.
[0045] S150. Calculate the projection coefficients based on the two even-numbered vertices closest to the vector to be projected.
[0046] Construct a two-dimensional reference vector based on the two even-numbered vertices closest to the vector to be projected. and The projection coefficients are calculated through linear combination. , so that the vector to be projected The projection result falls on the line segment formed by the two vertices. Two-dimensional vector operations are used to simplify the calculation of the projection coefficients, reducing the algorithm's complexity.
[0047] S160. Input the vector to be projected, the projection coefficients, and the current indication vector into the projection function, output the projection result, and generate the decoding result based on the projection result.
[0048] The vector to be projected Projection coefficient The projection function is used to calculate the projection result based on the current indicator vector input. The projection result serves as a copy of the decoding result x, completing the mapping from the vector to be projected to the discrete solution space. This ensures that the decoding result satisfies the verification constraints and assists x in gradually approaching the correct decoding result during the iterative updates of the ADMM-LP algorithm.
[0049] Traditional approximate projection algorithms (such as LSA / TPA) rely on fixed-dimensional geometric structures (line segments / triangles), resulting in insufficient accuracy at low iteration counts due to the dimensional limitations of the projection region. The low-density parity-check code decoding method provided in this invention effectively improves projection accuracy and convergence characteristics through a full-dimensional collaborative update mechanism. This ensures that the projection results fall more frequently within the parity check cell and closer to its surface, achieving improved decoding performance at low iteration counts while maintaining the advantages of low computational complexity and short decoding time of approximate projection algorithms.
[0050] Traditional methods (such as CSA) have high computational complexity. This invention uses the geometric center of the parity check polycell as a reference point to determine the two even-numbered vertices closest to the vector to be projected. Calculating the projection coefficients based on these two even-numbered vertices involves at most two dimensions, avoiding complex sorting operations and reducing computational complexity. By inputting the vector to be projected, the projection coefficients, and the indicator vector into the projection function, the output can quickly approximate the exact solution with fewer iterations, improving decoding performance.
[0051] Approximate algorithms suffer from increased bit error rate due to projection results deviating from the precise projection point. This invention uses the calculated projection coefficients to correct all dimensions of the vector to be projected, achieving a trade-off between approximate accuracy and complexity within a single iteration, resulting in considerable decoding performance. It is particularly suitable for scenarios with low iteration counts, avoiding the overhead of multiple iterations and directly outputting an efficient and accurate projection.
[0052] In some embodiments, each component of the initialization indicator component is the result of a sign function of the corresponding component of the vector to be projected and a preset center value.
[0053] For each component of the vector to be projected, calculate its sign function result relative to a preset center value (e.g., 0.5, corresponding to the decision threshold for binary decoding). Generate a binary indicator vector whose components directly reflect the bias of the component of the vector to be projected relative to the center value (leaning towards 0 or 1).
[0054] In the formula, For the i-th component of the indicator vector, Let i be the i-th component of the vector to be projected. It is a symbolic function.
[0055] When the number of elements with a value of 1 in the indicator vector is even, the algorithm flips the indicator vector corresponding to the component closest to the center point. When the number of elements with a value of 1 in the indicator vector is odd, the indicator vector remains unchanged.
[0056] The original LSA algorithm restricts the projection to the line segment formed by the two nearest vertices, resulting in performance degradation due to approximation errors. This invention allows the projection results to fall more within the verification polycell and closer to the surface, accelerating convergence and improving accuracy while maintaining low complexity.
[0057] In some embodiments, the projection result is the projection of the vector to be projected minus the product of the projection coefficient and the current indicator vector onto a unit interval. The calculation formula is as follows: In the formula, For the projection result, For projection function, Let be the vector to be projected. For projection coefficients, This is the indicator vector.
[0058] The projection operation proposed in this invention achieves synergistic optimization of performance and efficiency in LDPC code ADMM decoding through geometric constraints and dynamic adjustment mechanisms. Specifically, it utilizes a unit interval projection function. The truncation operation strictly ensures that each component of the output vector falls within the legal interval [0,1], satisfying both the geometric constraints of the parity check polytope and avoiding the generation of pseudo-codewords. The improved Line Segment Projection Algorithm (ILSA) of this invention transforms the complex high-dimensional projection into a two-dimensional optimization problem through dimensionality reduction, significantly reducing computational complexity while maintaining accuracy.
[0059] Reference Figure 2 As shown, the low-density parity-check code decoding method provided by the present invention includes: S1: Input the vector to be projected ; S2: Initialize indicator vector components ; S3: Determine if the number of "1" elements in the indicator vector is even, i.e. The parity of the number is determined; if it is even, proceed to S4; if it is odd, proceed to S5. S4: Find the vector component to be projected that is closest to the center point. coordinates Flip the indicator vector component corresponding to the coordinates ; S5: Calculate the distance to the vector to be projected The two nearest even-numbered vertices; S6: Calculate the projection coefficient using two even-numbered vertices. ; S7: Output ,Finish.
[0060] In some embodiments, the present invention constructs a two-dimensional reference vector by finding the two even-numbered vertices closest to the vector to be projected, and calculates projection coefficients to obtain the projection result. The calculation of projection coefficients based on the two even-numbered vertices closest to the vector to be projected, as described in S150 above, includes: S1501. Construct a two-dimensional reference vector based on the two even-numbered vertices closest to the vector to be projected.
[0061] Construct a two-dimensional reference vector based on the two even-numbered vertices closest to the vector to be projected. and , The direction reference vector is the directional feature vector extracted from two even-numbered vertices, with a dimension of 2×1. Represents a numerical reference vector, referring to the vector to be projected. The extracted two-dimensional sub-vectors corresponding to the vertices. (Set) , for The median component is positive (i.e.) The set of indices of ). express The indicator vector component corresponding to the vector to be projected when the i-th variable node in the variable is updated.
[0062] S1502, Initialize Boundary Adjustment Set , , express The i-th component in. That is, for Components greater than 1 Add the corresponding component's minus 1 value; for For components less than 0, add the absolute value of the corresponding component.
[0063] S1503. Determine intermediate variables based on the two-dimensional reference vector and the boundary adjustment set. .
[0064] The two-dimensional reference vector includes a direction reference vector and a numerical reference vector; the intermediate variable is determined by the following formula: In the formula, Indicates intermediate variables. Represents the direction reference vector. Represents a numerical reference vector. This represents the set of indicator vectors corresponding to the two even-numbered vertices closest to the vector to be projected, where the indicator vectors are... θ A subset of. For set The size of the vector is the number of dimensions in which the component is 1.
[0065] S1504. Based on the boundary adjustment of elements in the set, select any of the following paths to calculate the projection coefficients. : If the boundary adjustment set If empty, then the projection coefficients ; If the boundary adjustment set Contains single element Then the projection coefficients are taken as follows: and The smaller value in the range.
[0066] If the boundary adjustment set Contains two elements , Arranged in descending order, the projection coefficients are determined as follows: like ,but ; like ,and ,but ; like ,and ,but .
[0067] This step involves vector operations in at most two dimensions during the calculation process, resulting in low computational complexity. Compared to the original LSA algorithm, this invention updates all dimensions of the vector to be projected by uniformly applying the coefficients obtained from the solution, so that the ILSA projection result falls more within the parity check cell and close to the surface, thereby improving decoding performance with fewer iterations and making it more competitive in applications requiring fewer iterations. If the vector to be projected is located outside the parity check cell, then after Euclidean projection, the vector falls within the parity check cell (including the surface), and the projection result satisfies the following expression: In the formula, This represents the indicator vector corresponding to the vector to be projected. Indicates the projection result. This indicates the number of dimensions in the indicator vector where each component is 1. This indicates transpose.
[0068] This expression guarantees that the projection result satisfies a specific numerical relationship in the direction determined by the indicator vector, giving the projection operation explicit geometric constraints. This helps transform high-dimensional vector projection problems into low-dimensional or directional computational problems that conform to the geometry of a polytope. Through this equation, the projection result z is effectively constrained. It ensures... Not only is it located within the parity check cell and close to the surface, but it also satisfies a specific metric associated with the indicator vector. This condition helps to eliminate some invalid projection results that do not meet the constraint, improve the accuracy and effectiveness of the projection, and make the projection results more consistent with the parity check characteristics of LDPC codes.
[0069] In the ADMM decoding process of LDPC codes, accurate projection results are crucial for correct decoding. This equation, by constraining the projection results, makes the projection operation more precisely approximate the valid codeword solution. For example, in the presence of noise interference, it can prevent the projection results from deviating from the valid codeword region, thereby reducing the bit error rate and improving decoding accuracy.
[0070] function It's about the projection step size parameter. A monotonically decreasing function. This represents the optimal projection parameters that ensure the vector to be projected falls on the projection plane. This represents the objective function value.
[0071] For those that satisfy the equation Established ,like Then the optimal projection step size This will cause the projection results to fall more frequently within the parity check cell and closer to its surface, thus satisfying the condition. Obviously, the shortest distance between the vector to be projected and the projection plane is determined by... The ILSA algorithm proposed in this invention constructs a line segment by taking the two even-numbered vertices closest to the vector to be projected in the projection plane and calculating the projection coefficients. The resulting projection coefficients Constant satisfaction This allows the ILSA projection results to fall more within the verification multicell and closer to the surface, thus improving decoding performance with fewer iterations while maintaining the advantages of low computational complexity and short decoding time of approximate projection.
[0072] Specifically, the test codewords in this invention are all codeword information obtained by simulating transmission through an Additive White Gaussian Noise (AWGN) channel after Binary Phase Shift Keying (BPSK) modulation. All unmodulated raw codeword information is obtained by encoding randomly generated information through a generator matrix. The resulting random codewords are then BPSK modulated and transmitted through an AWGN channel with a fixed signal-to-noise ratio to generate corresponding test codewords.
[0073] The test used three codewords from the IEEE 802.16e standard. It is an irregular code (576, 288) with a code rate of 1 / 2 and a degree of {6, 7}; It is an irregular code (576, 384) with a code rate of 2 / 3 and a degree of {10, 11}; The code is an irregular code (576,432) with a code rate of 3 / 4 and a degree of {14, 15}. Simulation tests were conducted using a code based on... ADMM-LP decoder under penalty, using The function acts as a penalty function to improve decoding performance, where the penalty coefficient... and parameters Each parameter is set to its optimal value for each codeword. In addition, an over-relaxation scheme is applied to improve decoder performance, with the over-relaxation coefficient set to 1.9.
[0074] The maximum number of iterations was set to 20 and 100 respectively. At least 100 error frames were collected in each test to measure the frame error rate under different codewords. The results are as follows: Figure 3 , Figure 4 , Figure 5 As shown in the experiment results, when the maximum number of iterations is set to 20, ILSA significantly improves the frame error rate performance compared to the original LSA and CSA algorithms. E b / N 0 (dB) represents the signal-to-noise ratio (SNR), indicating the energy per bit ( E b ) and noise power spectral density ( N The ratio of 0 to 0, expressed in decibels (dB). Iters represents the maximum number of iterations.
[0075] for The code was written, and the signal-to-noise ratio (SNR) range was set to [2.3, 4.7] dB with a step size of 0.3 dB. FER (Frame Error Rate) represents the frame error rate. When... At that time, ILSA showed an improvement of 0.90 dB compared to LSA, 0.75 dB compared to SAPA, and 0.60 dB compared to CSA. For The code was written, and the signal-to-noise ratio (SNR) test range was set to [2.0, 5.5] dB, with a step size of 0.25 dB. When... At that time, ILSA showed an improvement of 0.80 dB compared to LSA, 0.75 dB compared to SAPA, and 0.60 dB compared to CSA. For The code was written, and the signal-to-noise ratio (SNR) test range was set to [2.0, 5.5] dB with a step size of 0.25 dB. When... At that time, ILSA improved by 0.85 dB compared to LSA, by 0.75 dB compared to SAPA, and by 0.65 dB compared to CSA.
[0076] It is evident from the three codeword embodiments provided in this invention that the improved ILSA algorithm significantly outperforms the LSA algorithm in terms of frame error rate across 20 iterations of decoding, and even shows a significant improvement over the SAPA and CSA algorithms. Meanwhile, Figure 3 , Figure 4 , Figure 5 The experiment also showed the results when the maximum number of iterations was set to 100. When the number of iterations was relatively large, the frame error rate performance of various algorithms was similar to that of the original algorithm.
[0077] In the process of statistically analyzing the above-mentioned frame error rate results, this invention also statistically analyzes the average number of iterations and the average decoding time, with each result being calculated for at least 100,000 frames. Figure 6 , Figure 7 , Figure 8 Comparing the average number of iterations for each of the three codewords under the aforementioned experimental conditions, it can be seen that LSA requires more iterations due to reduced decoding accuracy. The improved ILSA has a significantly fewer average iterations than the original algorithm, and is also lower than CSA. When the codeword SNR=3.5dB, ILSA reduces the average number of iterations by 31.58% compared to LSA. For When the codeword SNR=4.0dB, ILSA reduces the average number of iterations by 33.82% compared to LSA. For When the codeword SNR=4.5dB, the average number of iterations of ILSA is reduced by 32.76% compared to LSA.
[0078] Figure 9 , Figure 10 , Figure 11The average decoding time for the three codewords under the above experimental conditions is compared, and it is evident that the improved ILSA requires a significantly shorter average decoding time. For With a codeword SNR of 3.5dB, the average decoding time of ILSA is reduced by 23.81% compared to LSA. For With a codeword SNR of 4.0 dB, the average decoding time of ILSA is reduced by 33.32% compared to LSA. For When the codeword SNR=4.5dB, the average decoding time of ILSA is reduced by 29.17% compared to LSA.
[0079] The low-density parity check code decoding device provided by the present invention is described below. The low-density parity check code decoding device described below can be referred to in correspondence with the low-density parity check code decoding method described above.
[0080] The low-density parity-check code decoding device provided by the present invention refers to... Figure 12 As shown, it includes: Module 210 is used to acquire the vector to be projected; Initialization module 220 is used to initialize the indicator vector; The judgment module 230 is used to determine the parity of the number of elements with a value of 1 in the indicator vector; if it is even, it determines the coordinates of the vector component to be projected that is closest to the center point, and flips the indicator vector component corresponding to the coordinates to obtain the updated indicator vector; if it is odd, it keeps the indicator vector unchanged; the center point is the geometric center in the parity check polycell; the updated or unchanged indicator vector is used as the current indicator vector. Search module 240 is used to determine the two even-numbered vertices closest to the vector to be projected. The calculation module 250 is used to calculate the projection coefficients based on the two even vertices closest to the vector to be projected; and to input the vector to be projected, the projection coefficients, and the current indication vector into the projection function, output the projection result, and generate a decoding result based on the projection result.
[0081] Figure 13 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 13 As shown, the electronic device may include a processor 310, a communications interface 320, a memory 330, and a communication bus 340. The processor 310, communications interface 320, and memory 330 communicate with each other via the communication bus 340. The processor 310 can call logic instructions from the memory 330 to execute a low-density parity-check code decoding method.
[0082] Furthermore, the logical instructions in the aforementioned memory 330 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0083] On the other hand, the present invention also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer is able to execute the low-density parity check code decoding method provided by the above methods.
[0084] In another aspect, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to perform the low-density parity check code decoding methods provided by the above methods.
[0085] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0086] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0087] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A low-density parity-check code decoding method, characterized in that, include: Obtain the vector to be projected; Initialize the indicator vector; Determine the parity of the number of elements with a value of 1 in the indicator vector; If the number is even, determine the coordinates of the vector component to be projected that is closest to the center point, and flip the indicator vector component corresponding to the coordinates to obtain the updated indicator vector; if the number is odd, keep the indicator vector unchanged; the center point is the geometric center of the parity check polycell. Use the updated or unchanged indicator vector as the current indicator vector; Determine the two even-numbered vertices closest to the vector to be projected; Calculate the projection coefficients based on the two even-numbered vertices closest to the vector to be projected; The vector to be projected, the projection coefficients, and the current indicator vector are input into the projection function, and the projection result is output to generate a decoding result based on the projection result.
2. The low-density parity-check code decoding method according to claim 1, characterized in that, Each component of the initialization indicator is the result of a sign function of the corresponding component of the vector to be projected and the preset center value.
3. The low-density parity-check code decoding method according to claim 1, characterized in that, The projection result is the projection of the vector to be projected minus the product of the projection coefficient and the current indicator vector onto a unit interval.
4. The low-density parity-check code decoding method according to claim 1, characterized in that, The calculation of projection coefficients based on the two even vertices closest to the vector to be projected includes: Construct a two-dimensional reference vector based on the two even-numbered vertices closest to the vector to be projected. Initialize the boundary adjustment set; Intermediate variables are determined based on the two-dimensional reference vector and the boundary adjustment set. ; If the boundary adjustment set is empty, then the projection coefficients ; If the boundary adjustment set contains a single element Then the projection coefficient Pick and The smaller value in; If the boundary adjustment set contains two elements , Arranged in descending order, the projection coefficients are determined as follows: : like ,but ; like ,and ,but ; like ,and ,but .
5. The low-density parity-check code decoding method according to claim 4, characterized in that, The two-dimensional reference vector includes a direction reference vector and a numerical reference vector; the intermediate variable is determined by the following formula: ; In the formula, Indicates intermediate variables. Represents the direction reference vector. Represents a numerical reference vector. This represents the set of indicator vectors corresponding to the two even-numbered vertices closest to the vector to be projected. This indicates the number of dimensions in the vector whose components are all 1. This indicates transpose.
6. The low-density parity-check code decoding method according to claim 1, characterized in that, The projection result satisfies the following expression: ; In the formula, This represents the indicator vector corresponding to the vector to be projected. Indicates the projection result. This indicates the number of dimensions in the indicator vector where each component is 1. This indicates transpose.
7. A low-density parity-check code decoding device, characterized in that, include: The acquisition module is used to acquire the vector to be projected. An initialization module is used to initialize the indicator vector; The judgment module is used to determine the parity of the number of elements with a value of 1 in the indicator vector; if it is even, the coordinates of the vector component to be projected that is closest to the center point are determined, and the indicator vector component corresponding to the coordinates is flipped to obtain the updated indicator vector; if it is odd, the indicator vector is kept unchanged; the center point is the geometric center in the parity check polycell; the updated or unchanged indicator vector is used as the current indicator vector. The search module is used to determine the two even-numbered vertices closest to the vector to be projected. The calculation module is used to calculate the projection coefficients based on the two even-numbered vertices closest to the vector to be projected; In addition, the vector to be projected, the projection coefficients, and the current indication vector are input into the projection function, and the projection result is output to generate a decoding result based on the projection result.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the low-density parity check code decoding method as described in any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the low-density parity check code decoding method as described in any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the low-density parity check code decoding method as described in any one of claims 1 to 6.