Low density parity check (LDPC) code construction method based on elimination of basic trap set
By identifying and eliminating the LDPC code construction method of basic trap sets, the problem that the check matrix in the prior art is easily included in trap sets is solved, and higher error correction performance and reliability of the communication system are achieved.
Patent Information
- Application Number
- CN202510051550.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-13
- Publication Date
- 2025-05-16
AI Technical Summary
When generating the check matrix, the existing LDPC code construction method is prone to include basic trap sets, which makes it difficult for the decoding process to converge correctly, reduce error correction performance, and lacks an effective identification and processing mechanism, making it difficult to meet the needs of modern communication systems for high reliability and high performance encoding.
A LDPC code construction method based on eliminating the basic trap set is proposed. The initial check matrix is generated through the initialization operation, and then the trap set identification and marking, node connection optimization and dynamic optimization adjustment are performed to gradually eliminate the trap set and optimize the check matrix until the preset conditions are met.
Effectively identify and eliminate basic trap sets, improve the error correction performance of LDPC codes, reduce bit error rate, and enhance the reliability and data transmission quality of communication systems. Especially in low signal-to-noise ratio scenarios, the error correction performance can be improved several times.
Smart Images

Figure CN120017075A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the field of communication coding, and in particular to an LDPC code construction method based on eliminating basic trap sets. Background Art
[0002] Low-density parity-check (LDPC) code is an efficient channel coding technology with performance close to the Shannon limit, excellent error correction capability and low decoding complexity. It has been widely used in modern communication systems, such as digital television, deep space communication, high-speed optical fiber communication and other fields. LDPC code encodes information at the transmitting end and decodes the received signal using an iterative decoding algorithm at the receiving end, thereby correcting errors generated during transmission and improving the reliability of information transmission.
[0003] In the existing LDPC code construction method, the check matrix is usually generated in a random manner. On the one hand, the randomly generated check matrix may contain a large number of basic trap sets. Basic trap sets refer to the existence of some specific local structures in the graph structure of LDPC codes, which makes the decoding process easily fall into an erroneous state and cannot correctly converge to the correct codeword, resulting in a decrease in error correction performance.
[0004] On the other hand, the existing construction methods lack an effective identification and processing mechanism for trap sets after generating the check matrix, and are unable to optimize and adjust the nodes that may contain trap sets in a targeted manner, making it difficult to meet the requirements of modern communication systems for high reliability and high performance coding. Summary of the invention
[0005] The object of the present invention is to provide a LDPC code construction method based on eliminating basic trap sets to solve the problems raised in the above background technology.
[0006] To achieve the above object, the present invention provides the following technical solutions:
[0007] A method for constructing an LDPC code based on eliminating a basic trap set comprises the following steps:
[0008] Step S1, initialization operation, setting the relevant parameters of the LDPC code according to the specific requirements of the communication system, and generating an initial check matrix accordingly;
[0009] Step S2, trap set identification and marking, using the pre-built trap set feature information, analyze the initial check matrix, find out the nodes that may be related to the trap set and mark them;
[0010] Step S3, node connection optimization, calculate the weight of the node according to various characteristics of the node, select the check node connected to the variable node according to the specific weight rule, and update the weight of the relevant node after the connection is completed;
[0011] Step S4, dynamic optimization and adjustment, checking the change status of the trap set, dynamically adjusting the optimization strategy according to the change result, and repeating step S3 until the preset condition is met;
[0012] Step S5, final determination and performance verification, determine the final check matrix, and perform performance verification on the generated LDPC code, adjust the optimization strategy and parameters according to the verification results, and then perform the above steps again.
[0013] In the present invention, in step S1, the initialization operation is specifically as follows:
[0014] Step S101, determine the code length n, code rate R and number of rows m of the check matrix of the LDPC code. The calculation formula of the number of rows m of the check matrix is as follows:
[0015] m=n(1-R)
[0016] Among them, n represents the code length of the LDPC code, which represents the length of the encoded codeword and is a positive integer; R represents the code rate of the LDPC code, which is defined as the ratio of the information bit length to the codeword length and has a value range of (0, 1); m represents the number of rows of the check matrix, which represents the number of check bits and is a positive integer.
[0017] Step S102, randomly generating an initial check matrix H0 that satisfies row and column constraints, wherein the row and column constraints include that the number of non-zero elements in each row and column must meet specific distribution requirements to ensure the sparsity and randomness of the matrix.
[0018] In the present invention, in step S2, the trap set identification and marking are specifically as follows:
[0019] Step S201, establishing a trap set feature library, wherein the feature library is obtained by in-depth analysis and statistics of a large number of known LDPC code trap sets under a variety of different channel conditions, including but not limited to the detailed structural characteristics, occurrence frequency and influence degree of various trap sets on error correction performance;
[0020] Step S202, by matching the initial check matrix H0 with the trap set structure pattern in the trap set feature library, a comprehensive scan analysis is performed to predict the existence of potential trap sets, and the variable nodes and check nodes included in the potential trap sets are marked as "suspicious nodes".
[0021] In the present invention, in step S3, the node connection optimization is specifically as follows:
[0022] Step S301, according to the degree of the node, the closeness of the association with the suspicious node and the importance of the position in the current matrix structure, the weight value of the unmarked variable node and the check node is calculated, wherein the higher the degree of the node, the higher the weight value is set accordingly, and the weight value of the node closely associated with the suspicious node is appropriately reduced;
[0023] The calculation formula of node weight value is as follows:
[0024] W i =αD i -βA i +γP i
[0025] Among them, W i represents the weight value of node i, D i A represents the degree of node i, that is, the number of edges connected to the node, which is a non-negative integer. i represents the quantitative value of the association degree between node i and the suspicious node, P i It represents the quantitative value of the position importance of node i in the current matrix structure. The position importance is determined according to the row and column position of the node in the matrix and the characteristics of the local structure. α, β, and γ represent the node degree, the degree of association with the suspicious node, and the weight coefficient of position importance, respectively. It is used to adjust the relative importance of each factor in the weight calculation and is a real number greater than 0.
[0026] Step S302, selecting check nodes connected to the variable nodes in descending order of weight values, and in the selection process, giving priority to check nodes with high weight values that have not been connected to too many other variable nodes, to ensure the rationality and effectiveness of the connection;
[0027] Step S303, after each node connection is completed, the weight values of the nodes related to the connection are recalculated to accurately reflect the real-time changes of the matrix structure.
[0028] In the present invention, in step S4, the dynamic optimization adjustment is specifically as follows:
[0029] Step S401, after completing a round of node connection optimization, a comprehensive trap set scan and analysis is performed on the check matrix again to carefully check whether new trap sets appear and whether the original trap sets are effectively eliminated;
[0030] Step S402, dynamically adjusting the optimization strategy according to the specific changes of the trap set, if a new trap set appears or the elimination effect of the original trap set does not meet expectations, the calculation parameters of the node weight or the connection rules are adjusted accordingly;
[0031] Step S403, repeatedly executing the node connection optimization step and the trap set change check and strategy adjustment operation until the number and size of the trap sets meet the preset performance requirements or reach the preset maximum number of iterations.
[0032] In the present invention, in step S5, the final determination and performance verification are specifically as follows:
[0033] Step S501, after multiple iterations of optimization, when the number and size of the trapping sets meet the preset requirements or reach the maximum number of iterations, a check matrix H that meets the conditions is obtained and is determined as the final LDPC code check matrix;
[0034] Step S502, use the generated LDPC code to conduct a large number of simulation experiments under a variety of different channel conditions and signal-to-noise ratios to fully verify its error correction performance and error leveling improvement effect. If the performance does not meet the expected goals, further adjust the optimization strategy and parameters in a targeted manner based on the detailed simulation results, and then re-execute all the above steps until the performance of the LDPC code meets the actual application requirements.
[0035] In the present invention, when adjusting the strategy, if a certain type of trap set is found to still appear frequently during the inspection process, the weight penalty coefficient of the nodes related to the trap set is increased, so that the probability of these nodes being selected in the subsequent connection process is reduced, and they are less likely to be selected;
[0036] The calculation formula of the weight penalty coefficient is as follows:
[0037] W new =W original ×(1+δ)
[0038] Among them, W new Represents the adjusted node weight value, W original It represents the original weight value of the node, δ represents the weight penalty coefficient, which is a real number greater than 0, indicating the degree of weight penalty for trap-related nodes. The larger δ is, the more severe the penalty is, and the lower the probability of the node being selected in subsequent connections.
[0039] In the present invention, when calculating the degree of association between a node and a suspicious node, it is determined by counting the number of directly connected edges between the node and the suspicious node and the length and number of indirect associated paths. The more directly connected edges there are and the shorter and more indirect associated paths there are, the higher the degree of association between the node and the suspicious node.
[0040] In the present invention, when establishing a trap set feature library, the trap sets under different channel conditions are classified and counted, and the features of the trap sets are analyzed for different types of channels respectively, so that the trap set feature library can more accurately adapt to different communication environments.
[0041] In the present invention, the specific distribution requirement means that the number of non-zero elements in each row and column obeys uniform distribution or Gaussian distribution, so as to ensure that the generated initial check matrix has good structural characteristics, which is beneficial to subsequent optimization operations.
[0042] Compared with the prior art, the present invention has the following beneficial effects:
[0043] 1. The present invention can effectively identify and eliminate basic trap sets through the steps of trap set identification and marking, node connection optimization, and dynamic optimization adjustment. In actual communication systems, when the transmitted data is interfered by noise, LDPC codes can correct errors more accurately and reduce the bit error rate, so that the receiving end can more reliably restore the original information. In some specific low signal-to-noise ratio scenarios, compared with traditional methods, the error correction performance of the present invention may be improved by several times or even more, greatly improving the reliability of the communication system and the data transmission quality;
[0044] 2. The present invention establishes a trap set feature library, classifies and analyzes the trap sets under different channel conditions, and can more accurately identify and process potential trap sets. Under different channel conditions, LDPC codes can be optimized and adjusted according to channel characteristics to ensure that good error correction performance can be maintained in various complex channel environments. In wireless communications, channel conditions may be affected by multiple factors such as multipath fading and shadow effects. The present invention can adaptively adjust the structure of LDPC codes so that they can still work stably and reliably in complex wireless channel environments.
[0045] 3. The present invention adopts a dynamic optimization adjustment mechanism. After each round of node connection optimization, the check matrix will be scanned and analyzed again. The optimization strategy is dynamically adjusted according to the changes in the trap set. The iterative optimization process can gradually reduce the number and size of the trap set, so that the performance of the LDPC code continues to approach the optimal value. Compared with the traditional fixed construction method, the present invention does not require a lot of trial and error and redesign, and can obtain LDPC codes with better performance in a shorter time. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Figure 1 The present invention is a flow chart of a method for constructing an LDPC code based on eliminating a basic trap set. DETAILED DESCRIPTION
[0047] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0048] See also Figure 1 , the present invention provides a technical solution:
[0049] A method for constructing an LDPC code based on eliminating a basic trap set comprises the following steps:
[0050] Step S1, initialization operation, setting the relevant parameters of the LDPC code according to the specific requirements of the communication system, and generating an initial check matrix accordingly;
[0051] The initialization operations are as follows:
[0052] Step S101, determine the code length n, code rate R and number of rows m of the check matrix of the LDPC code. The calculation formula of the number of rows m of the check matrix is as follows:
[0053] m=n(1-R)
[0054] Among them, n represents the code length of the LDPC code, which represents the length of the encoded codeword and is a positive integer; R represents the code rate of the LDPC code, which is defined as the ratio of the information bit length to the codeword length and has a value range of (0, 1); m represents the number of rows of the check matrix, which represents the number of check bits and is a positive integer.
[0055] Step S102, randomly generating an initial check matrix H0 that satisfies row and column constraints, wherein the row and column constraints include that the number of non-zero elements in each row and column must meet specific distribution requirements to ensure the sparsity and randomness of the matrix, and the specific distribution requirements refer to that the number of non-zero elements in each row and column obeys a uniform distribution or a Gaussian distribution to ensure that the generated initial check matrix has good structural characteristics, which is beneficial to subsequent optimization operations.
[0056] In step S102, an initial check matrix H0 satisfying row and column constraints is generated in the following random manner:
[0057] Step S1021, first, according to the set code length n and the number of check matrix rows m, the size of the matrix is determined to be m×n.
[0058] Step S1022: Then, for each row of the matrix, determine the number k of non-zero elements in the row according to uniform distribution or Gaussian distribution. i (1≤i≤m). For example, if uniform distribution is used, k can be uniformly randomly selected within a given range of values. i ; If Gaussian distribution is used, a random number that conforms to the distribution is generated according to the set mean and variance as k i .
[0059] Step S1023: Next, randomly select k columns from the n column positions. iPositions are set to non-zero values (usually 1) and the remaining positions are set to 0. To ensure randomness, a pseudo-random number generator can be used to achieve random selection of positions.
[0060] Step S1024, repeat the above operation for each row until the entire initial check matrix H0 is generated. At the same time, during the generation process, it is necessary to check whether the number of non-zero elements in each column also meets the specific distribution requirements. If not, the columns that do not meet the conditions are appropriately adjusted, such as randomly selecting the non-zero element positions again, until the number of non-zero elements in all columns also meets the requirements.
[0061] In step S1, in the LDPC code, the code length n represents the total length of the encoded codeword, and the code rate R is defined as the ratio of the information bit length to the codeword length. Then the length of the information bit can be expressed as nR. Because the number of check bits is equal to the total length of the codeword minus the information bit length, the number of check bits m is equal to n-nR. After extracting the common factor and simplifying, m=n(1-R) is obtained.
[0062] In a specific embodiment, it is assumed that an LDPC code for a communication system is to be constructed. It is known that the system requires a code length n=1000 and a code rate R=0.5.
[0063] First, the known parameters are clarified: n=1000, R=0.5.
[0064] Then, substitute the parameters into the formula m=n(1-R) to calculate:
[0065] m = 1000 × (1-0.5)
[0066] m = 1000 × 0.5
[0067] m=500
[0068] Therefore, in this embodiment, the number m of rows of the check matrix is 500.
[0069] Step S2, trap set identification and marking, using the pre-built trap set feature information, analyze the initial check matrix, find out the nodes that may be related to the trap set and mark them;
[0070] Trap set identification and marking are as follows:
[0071] Step S201, establishing a trap set feature library, wherein the feature library is obtained by in-depth analysis and statistics of a large number of known LDPC code trap sets under a variety of different channel conditions, including but not limited to the detailed structural characteristics, occurrence frequency and influence degree of various trap sets on error correction performance. When establishing the trap set feature library, the trap sets under different channel conditions are classified and counted, and the characteristics of the trap sets are analyzed for different types of channels, so that the trap set feature library can more accurately adapt to different communication environments;
[0072] In step S201, the process of establishing the trap set feature library is as follows:
[0073] Step S2011, collect a large amount of operating data of known LDPC codes under a variety of different channel conditions, including but not limited to encoding and decoding results under different code lengths, code rates, channel types (such as Gaussian white noise channels, Rayleigh fading channels, etc.) and different signal-to-noise ratios.
[0074] Step S2012: Analyze the collected data and identify the trap sets by observing the error patterns and convergence of the codewords during the decoding process. For example, when the decoding process falls into a loop or fails to converge to the correct codeword, analyze the combination of variable nodes and check nodes involved at this time to determine the possible trap set structure.
[0075] Step S2013: for each identified trap set, analyze its specific structural features, including the number, connection relationship, degree distribution, etc. of variable nodes and check nodes in the trap set. For example, record the degree range of variable nodes in the trap set, the connection mode between check nodes and variable nodes, and other information.
[0076] Step S2014: Count the number of occurrences of different trap sets under various channel conditions and parameter settings, and calculate their occurrence frequencies. The occurrence probability distribution of each trap set under different scenarios can be obtained by statistical analysis of a large amount of experimental data.
[0077] Step S2015, by comparing the error correction performance indicators (such as bit error rate, frame error rate, etc.) when the trap set is present and when the trap set is not present, the influence of the trap set on the error correction performance is evaluated. For example, the difference between the bit error rate when the trap set is present and the bit error rate when the trap set is not present under the same channel conditions and signal-to-noise ratio is calculated as a measure of the influence of the trap set on the error correction performance.
[0078] Step S2016, classify and store the trap sets according to different channel conditions and structural characteristics of the trap sets. For example, the trap sets are classified into different categories according to factors such as channel type, code length, code rate, etc., so as to enable more accurate matching and query in subsequent use.
[0079] Step S202, by matching the initial check matrix H0 with the trap set structure pattern in the trap set feature library, a comprehensive scan analysis is performed to predict the existence of potential trap sets, and the variable nodes and check nodes included in the potential trap sets are marked as "suspicious nodes".
[0080] In step S202, the specific method of matching the initial check matrix with the trap set structure pattern in the trap set feature library is as follows:
[0081] Step S2021: First, the initial check matrix H0 is represented as a bipartite graph G = (V, C, E), where V represents the set of variable nodes, C represents the set of check nodes, and E represents the set of edges connecting the variable nodes and the check nodes. For each non-zero element in the matrix H ij =1(1≤i≤m, 1≤j≤n), add a link to the variable node v in the bipartite graph j and check node c i edge.
[0082] Step S2022: for each trap set structure pattern in the trap set feature library, represent it as a subgraph G t =(V t , C t , E t ). Then, search for the bipartite graph G corresponding to the initial check matrix t Subgraphs with similar structures. The specific search process uses graph isomorphism or subgraph isomorphism algorithms, for example, by comparing node degrees, connection relationships and other features to determine whether there is a match.
[0083] Step S2023, set a certain matching judgment criterion to determine whether a potential trap set is found. For example, when a subgraph G is found in the bipartite graph G s , the number of nodes, node degree distribution and connection relationship are related to the trap set structure pattern G t When the similarity reaches a certain threshold, it is considered that a potential trap set has been found. The similarity threshold can be set according to specific application requirements and experimental experience.
[0084] Step S2024: Once it is determined that there is a potential trap set, the variable nodes and check nodes included in the potential trap set are marked as "suspicious nodes".
[0085] Step S3, node connection optimization, calculate the weight of the node according to various characteristics of the node, select the check node connected to the variable node according to the specific weight rule, and update the weight of the relevant node after the connection is completed;
[0086] The node connection optimization is as follows:
[0087] Step S301, according to the degree of the node, the degree of association with the suspicious node and the importance of the position in the current matrix structure, the weight value is calculated for the unmarked variable node and the check node, wherein the higher the degree of the node, the higher the weight value is set accordingly, and the weight value of the node closely associated with the suspicious node is appropriately reduced. When calculating the degree of association between the node and the suspicious node, it is determined by counting the number of directly connected edges between the node and the suspicious node and the length and number of indirect association paths. The more the number of directly connected edges associated, the shorter and more indirect association paths, the higher the degree of association between the node and the suspicious node;
[0088] The calculation formula of node weight value is as follows:
[0089] W i =αD i -βA i +γP i
[0090] Among them, W i represents the weight value of node i, D i A represents the degree of node i, that is, the number of edges connected to the node, which is a non-negative integer. i represents the quantitative value of the association degree between node i and the suspicious node, P i It represents the quantitative value of the position importance of node i in the current matrix structure. The position importance is determined according to the row and column position of the node in the matrix and the characteristics of the local structure. α, β, and γ represent the node degree, the degree of association with the suspicious node, and the weight coefficient of position importance, respectively. It is used to adjust the relative importance of each factor in the weight calculation and is a real number greater than 0.
[0091] Step S302, selecting check nodes connected to the variable nodes in descending order of weight values, and in the selection process, giving priority to check nodes with high weight values that have not been connected to too many other variable nodes, to ensure the rationality and effectiveness of the connection;
[0092] Step S303, after each node connection is completed, the weight values of the nodes related to the connection are recalculated to accurately reflect the real-time changes of the matrix structure.
[0093] In step S3, the degree D of the node i It reflects the number of connections between the node and other nodes. The higher the degree, the higher the importance of the node in the graph structure. Therefore, the contribution to the weight is positive. The coefficient α is used to adjust its relative importance in the weight calculation. The degree of association between the node and the suspicious node A iThe higher the value, the more susceptible the node is to the trap set, so the contribution to the weight is negative, and the degree of influence is adjusted by the coefficient β; the position importance of the node in the current matrix structure P i It reflects the special status of the node in the entire matrix structure. For example, the node located in the key area may have a greater impact on the performance of the code, so the contribution to the weight is positive, and its weight is adjusted by the coefficient γ. Combining these three factors, the calculation formula of the node weight value is obtained: i =αD i -βA i +γP i .
[0094] In a specific embodiment, assume that in the process of constructing an LDPC code, there is a node i whose weight value needs to be calculated. It is known that α = 0.5, β = 0.3, γ = 0.2, and the degree D of node i i =5, the quantitative value of the degree of association with the suspicious node A i =3 (calculated by counting the number of directly connected edges and indirect associated paths), the quantitative value of position importance P i =4 (determined by factors such as the position of the node in the matrix);
[0095] Clearly know the parameters: β = 0.5, β = 0.3, γ = 0.2, D i =5, A i =3,P i =4.
[0096] Calculate the contribution of each item to the weight separately:
[0097] Contribution of node degree to weight: αD i =0.5×5=2.5;
[0098] Contribution of the degree of association with suspicious nodes to the weight: -βA i =-0.3×3=-0.9;
[0099] Contribution of position importance to weight: γP i =0.2×4=0.8.
[0100] Add up the contributions to get the weight of node i:
[0101] W i =αD i -βA i +γP i =2.5-0.9+0.8=2.4
[0102] Therefore, in this embodiment, the weight value W of node i is i is 2.4.
[0103] Step S4, dynamic optimization and adjustment, checking the change status of the trap set, dynamically adjusting the optimization strategy according to the change result, and repeating step S3 until the preset condition is met;
[0104] The dynamic optimization adjustments are as follows:
[0105] Step S401, after completing a round of node connection optimization, a comprehensive trap set scan and analysis is performed on the check matrix again to carefully check whether new trap sets appear and whether the original trap sets are effectively eliminated;
[0106] In step S401, the specific method of performing a comprehensive trap set scan and analysis on the check matrix is as follows:
[0107] Step S4011, after completing a round of node connection optimization, perform iterative decoding operation on the current check matrix. During the decoding process, record the state changes of variable nodes and check nodes at each iteration, including node values, message transmission, etc. When abnormal conditions are found in the decoding process, such as failure to converge to the correct codeword after multiple iterations, and occurrence of cyclic iterations, it is considered that there may be a trap set.
[0108] Step S4012, the bipartite graph corresponding to the current check matrix is matched again with the trap set structure pattern in the trap set feature library to check whether there is a subgraph similar to the known trap set structure. A subgraph search and matching method similar to that in step S202 can be used to determine whether a new trap set appears based on the matching result.
[0109] Step S4013, for the identified trap set, count its size (such as the number of nodes in the trap set) and quantity. Evaluate the optimization effect by comparing the size and quantity changes of the trap set in the previous and next rounds of iteration. For example, if the number of new trap sets decreases and the size becomes smaller, it means that the optimization strategy has played a certain role; otherwise, it is necessary to further adjust the optimization strategy.
[0110] Step S402, dynamically adjust the optimization strategy according to the specific changes of the trap set. If a new trap set appears or the elimination effect of the original trap set does not meet expectations, the calculation parameters of the node weight or the connection rules are adjusted accordingly. When adjusting the strategy, if a certain type of trap set is found to still appear frequently during the inspection process, the weight penalty coefficient of the nodes related to the trap set is increased to reduce the probability of these nodes being selected in the subsequent connection process, so that they are less likely to be selected;
[0111] The calculation formula of the weight penalty coefficient is as follows:
[0112] W new =W original ×(1+δ)
[0113] Among them, W new Represents the adjusted node weight value, W original Represents the original weight value of the node, δ represents the weight penalty coefficient, which is a real number greater than 0, indicating the degree of weight penalty for trap-related nodes. The larger δ is, the more severe the penalty is, and the lower the probability of the node being selected in subsequent connections;
[0114] Step S403, repeatedly executing the node connection optimization step and the trap set change check and strategy adjustment operation until the number and size of the trap sets meet the preset performance requirements or reach the preset maximum number of iterations.
[0115] In step S4, when a certain type of trap set is found to appear frequently, in order to reduce the probability of nodes related to this type of trap set being selected in subsequent connections, its weight needs to be penalized. original Multiply by a factor greater than 1 (1+δ), where δ is the weight penalty coefficient, so that the new weight W new Increases, so that when node connections are selected based on weights later, the probability of the node being selected decreases.
[0116] In a specific embodiment, suppose that during the construction of the LDPC code, a certain type of trap set is found to appear frequently, and the original weight W of the node j related to the trap set is original =3, now we need to adjust the weight penalty and set the weight penalty coefficient δ = 0.5;
[0117] Clear known parameters: W original =3,δ=0.5.
[0118] Substitute the parameters into the formula W new =W original ×(1+δ):
[0119] W new =3×(1+0.5)
[0120] W new =3×1.5
[0121] W new =4.5
[0122] Therefore, in this embodiment, after the weight penalty adjustment, the new weight W of node j is new is 4.5.
[0123] Step S5, final determination and performance verification, determine the final check matrix, and perform performance verification on the generated LDPC code, adjust the optimization strategy and parameters according to the verification results, and then perform the above steps again;
[0124] The final determination and performance verification are as follows:
[0125] Step S501, after multiple iterations of optimization, when the number and size of the trapping sets meet the preset requirements or reach the maximum number of iterations, a check matrix H that meets the conditions is obtained and is determined as the final LDPC code check matrix;
[0126] Step S502, use the generated LDPC code to conduct a large number of simulation experiments under a variety of different channel conditions and signal-to-noise ratios to fully verify its error correction performance and error leveling improvement effect. If the performance does not meet the expected goals, further adjust the optimization strategy and parameters in a targeted manner based on the detailed simulation results, and then re-execute all the above steps until the performance of the LDPC code meets the actual application requirements.
[0127] In step S502, the specific indicators for the performance verification of the generated LDPC code are as follows:
[0128] Indicator A: Bit error rate. The bit error rate is one of the important indicators for measuring the performance of a communication system. It is defined as the ratio of the number of error bits in the received codeword to the total number of transmitted bits. A large number of simulation experiments are conducted under different channel conditions and signal-to-noise ratios to count the number of error bits in the received codeword and calculate the bit error rate.
[0129] Indicator B: Frame error rate. The frame error rate refers to the ratio of the number of error frames in the received frame to the total number of transmitted frames. For some communication systems based on the frame structure, the frame error rate can more intuitively reflect the performance of the system. In the simulation experiment, the error conditions of the received frames are recorded and the frame error rate is calculated.
[0130] Indicator C: Error floor improvement effect, observe whether the error floor phenomenon of LDPC code is improved under different signal-to-noise ratios. Error floor refers to the phenomenon that in the high signal-to-noise ratio area, the bit error rate or frame error rate no longer decreases significantly with the increase of signal-to-noise ratio. By comparing the error floor of the generated LDPC code with other traditional coding schemes under high signal-to-noise ratio, the error floor improvement effect is evaluated.
[0131] Furthermore, the specific method of performance verification is as follows:
[0132] Step S5021, conduct simulation experiments under various channel conditions (such as Gaussian white noise channel, Rayleigh fading channel, etc.) and signal-to-noise ratio ranges. For each channel condition and signal-to-noise ratio, generate a large number of random information sequences, encode them using the generated LDPC code, and then transmit and decode them through the channel. Record the decoding results, and calculate performance indicators such as bit error rate and frame error rate.
[0133] Step S5022, compare and analyze the performance of the generated LDPC code with other known coding schemes. For example, select some classic LDPC codes or other error correction coding schemes, conduct simulation experiments under the same channel conditions and signal-to-noise ratio, and compare their performance indicators. Through comparative analysis, evaluate the performance advantages and disadvantages of the generated LDPC code.
[0134] Step S5023, based on the simulation results, analyze the factors that affect the performance of the LDPC code, such as code length, code rate, structure of the check matrix, etc. If the performance does not meet the expected target, adjust the optimization strategy and parameters in a targeted manner based on the analysis results, such as adjusting the generation method of the initial check matrix, the calculation parameters of the node weights, the number of optimization iterations, etc., and then re-simulate and re-verify the performance until the performance of the LDPC code meets the actual application requirements.
[0135] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.
[0136] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A method for constructing LDPC codes based on eliminating basic trap sets, characterized in that: The following steps are involved: Step S1, initialization operation, setting the relevant parameters of the LDPC code according to the specific requirements of the communication system, and generating an initial check matrix accordingly; Step S2, trap set identification and marking, using the pre-built trap set feature information, analyze the initial check matrix, find out the nodes that may be related to the trap set and mark them; Step S3, node connection optimization, calculate the weight of the node according to various characteristics of the node, select the check node connected to the variable node according to the specific weight rule, and update the weight of the relevant node after the connection is completed; Step S4, dynamic optimization and adjustment, checking the change status of the trap set, dynamically adjusting the optimization strategy according to the change result, and repeating step S3 until the preset condition is met; Step S5, final determination and performance verification, determine the final check matrix, and perform performance verification on the generated LDPC code, adjust the optimization strategy and parameters according to the verification results, and then perform the above steps again.
2. The LDPC code construction method based on eliminating the basic trap set according to claim 1, characterized in that: In step S1, the initialization operation is specifically as follows: Step S101, determine the code length n, code rate R and number of rows m of the check matrix of the LDPC code. The calculation formula of the number of rows m of the check matrix is as follows: m=n(1-R) Among them, n represents the code length of the LDPC code, which represents the length of the encoded codeword and is a positive integer; R represents the code rate of the LDPC code, which is defined as the ratio of the information bit length to the codeword length and has a value range of (0, 1); m represents the number of rows of the check matrix, which represents the number of check bits and is a positive integer. Step S102, randomly generating an initial check matrix H0 that satisfies row and column constraints, wherein the row and column constraints include that the number of non-zero elements in each row and column must meet specific distribution requirements to ensure the sparsity and randomness of the matrix.
3. The LDPC code construction method based on eliminating the basic trap set according to claim 1, characterized in that: In step S2, the trap set identification and marking are specifically as follows: Step S201, establishing a trap set feature library, wherein the feature library is obtained by in-depth analysis and statistics of a large number of known LDPC code trap sets under a variety of different channel conditions, including but not limited to the detailed structural characteristics, occurrence frequency and influence degree of various trap sets on error correction performance; Step S202, by matching the initial check matrix H0 with the trap set structure pattern in the trap set feature library, a comprehensive scan analysis is performed to predict the existence of potential trap sets, and the variable nodes and check nodes included in the potential trap sets are marked as "suspicious nodes".
4. The LDPC code construction method based on eliminating the basic trap set according to claim 1, characterized in that: In step S3, the node connection optimization is specifically as follows: Step S301, according to the degree of the node, the closeness of the association with the suspicious node and the importance of the position in the current matrix structure, the weight value of the unmarked variable node and the check node is calculated, wherein the higher the degree of the node, the higher the weight value is set accordingly, and the weight value of the node closely associated with the suspicious node is appropriately reduced; The calculation formula of node weight value is as follows: W i =αD i -βA i +γP i Among them, W i represents the weight value of node i, D i A represents the degree of node i, that is, the number of edges connected to the node, which is a non-negative integer. i represents the quantitative value of the association degree between node i and the suspicious node, P i It represents the quantitative value of the position importance of node i in the current matrix structure. The position importance is determined according to the row and column position of the node in the matrix and the characteristics of the local structure. α, β, and γ represent the node degree, the degree of association with the suspicious node, and the weight coefficient of position importance, respectively. It is used to adjust the relative importance of each factor in the weight calculation and is a real number greater than 0. Step S302, selecting check nodes connected to the variable nodes in descending order of weight values, and in the selection process, giving priority to check nodes with high weight values that have not been connected to too many other variable nodes, to ensure the rationality and effectiveness of the connection; Step S303, after each node connection is completed, the weight values of the nodes related to the connection are recalculated to accurately reflect the real-time changes of the matrix structure.
5. The method for constructing an LDPC code based on eliminating a basic trap set according to claim 1, characterized in that: In step S4, the dynamic optimization adjustment is specifically as follows: Step S401, after completing a round of node connection optimization, a comprehensive trap set scan and analysis is performed on the check matrix again to carefully check whether new trap sets appear and whether the original trap sets are effectively eliminated; Step S402, dynamically adjusting the optimization strategy according to the specific changes of the trap set, if a new trap set appears or the elimination effect of the original trap set does not meet expectations, the calculation parameters of the node weight or the connection rules are adjusted accordingly; Step S403, repeatedly executing the node connection optimization step and the trap set change check and strategy adjustment operation until the number and size of the trap sets meet the preset performance requirements or reach the preset maximum number of iterations.
6. The LDPC code construction method based on eliminating the basic trap set according to claim 1, characterized in that: In step S5, the final determination and performance verification are as follows: Step S501, after multiple iterations of optimization, when the number and size of the trapping sets meet the preset requirements or reach the maximum number of iterations, a check matrix H that meets the conditions is obtained and is determined as the final LDPC code check matrix; Step S502, use the generated LDPC code to conduct a large number of simulation experiments under a variety of different channel conditions and signal-to-noise ratios to fully verify its error correction performance and error leveling improvement effect. If the performance does not meet the expected goals, further adjust the optimization strategy and parameters in a targeted manner based on the detailed simulation results, and then re-execute all the above steps until the performance of the LDPC code meets the actual application requirements.
7. The method for constructing LDPC codes based on eliminating basic trap sets according to claim 5, characterized in that: When adjusting the strategy, if a certain type of trap set is still found to appear frequently during the inspection process, the weight penalty coefficient of the nodes related to this type of trap set is increased to reduce the probability of these nodes being selected in the subsequent connection process, making them less likely to be selected; The calculation formula of the weight penalty coefficient is as follows: W new =W original ×(1+δ) Among them, W new Represents the adjusted node weight value, W original It represents the original weight value of the node, δ represents the weight penalty coefficient, which is a real number greater than 0, indicating the degree of weight penalty for trap-related nodes. The larger δ is, the more severe the penalty is, and the lower the probability of the node being selected in subsequent connections.
8. The method for constructing LDPC codes based on eliminating basic trap sets according to claim 4, characterized in that: When calculating the degree of association between a node and a suspicious node, it is determined by counting the number of direct connection edges between the node and the suspicious node and the length and number of indirect association paths. The more directly connected edges there are and the shorter and more indirect association paths there are, the higher the degree of association between the node and the suspicious node.
9. The method for constructing LDPC codes based on eliminating basic trap sets according to claim 3, characterized in that: When establishing the trap set feature library, the trap sets under different channel conditions are classified and counted, and the characteristics of the trap sets are analyzed for different types of channels respectively, so that the trap set feature library can adapt to different communication environments more accurately.
10. The method for constructing LDPC codes based on eliminating basic trap sets according to claim 2, characterized in that: The specific distribution requirement means that the number of non-zero elements in each row and column obeys uniform distribution or Gaussian distribution, so as to ensure that the generated initial check matrix has good structural characteristics, which is beneficial to subsequent optimization operations.