Symmetric extension-based QC-LDPC code construction method and apparatus, and electronic device
By constructing a symmetric extended QC-LDPC code, a full-rank, four-ring-free target basis matrix is constructed using the random mechanism code method. A vertically symmetric matrix is generated and extended to obtain a quasi-cyclic parity check matrix. This solves the problem of high complexity in constructing high-performance QC-LDPC codes and realizes a low-complexity and flexibly adaptable QC-LDPC code, which is suitable for 5G/6G communication and large-scale storage systems.
Patent Information
- Application Number
- CN202511406424.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-29
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2045-09-29
AI Technical Summary
Existing technologies struggle to construct high-performance QC-LDPC codes, especially in achieving error correction capabilities while ensuring no four-rings and full rank. Furthermore, traditional methods have high computational complexity.
A QC-LDPC code construction method based on symmetric extension is adopted. A full-rank target basis matrix without four rings is constructed by following the mechanism code method, a vertical symmetric matrix is generated, and an extended basis matrix is synthesized to obtain a quasi-cyclic parity check matrix. Different code rates can be configured by flexibly selecting the parameter k.
It reduces the computational complexity of construction, realizes the construction of QC-LDPC codes with low complexity and high flexibility, is suitable for 5G/6G communication systems and large-scale storage systems, and has good error correction performance and structural feasibility.
Smart Images

Figure CN120915313A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication channel coding and decoding, and particularly relates to a QC-LDPC code construction method and device based on symmetric extension and electronic equipment. BACKGROUND
[0002] LDPC codes are widely used in modern communication systems (such as 5G, WiFi6) due to their performance close to the Shannon limit. QC-LDPC (Quasi-Cyclic Low-Density Parity-Check) codes have become the mainstream solution due to their structured characteristics, which facilitate hardware implementation and fast encoding.
[0003] However, constructing high-performance QC-LDPC codes requires two keys: one is that the check matrix is free of four cycles to avoid the performance degradation of iterative decoding; and the other is that the matrix is full rank to ensure error correction capability. In related technologies, two methods of random construction and artificial design are usually used, but random construction cannot guarantee no four cycles, and artificial design has high complexity. Traditional solutions such as PEG algorithm have high computational complexity. SUMMARY
[0004] Therefore, the present application provides a QC-LDPC code construction method and device based on symmetric extension and electronic equipment.
[0005] In a first aspect, the present application provides a QC-LDPC code construction method based on symmetric extension, comprising: determining a target base matrix of a QC-LDPC code based on a random code method, wherein the target base matrix is full rank and does not exist a short cycle with a length of 4; generating a longitudinal symmetric matrix according to the target base matrix, a diagonal line offset matrix, an extension factor N, and an integer k coprime with the extension factor N; synthesizing an extended base matrix according to the target base matrix, the longitudinal symmetric matrix, a modular inverse matrix of the target base matrix, and a modular inverse matrix of the longitudinal symmetric matrix; extending the extended base matrix to obtain a quasi-cyclic check matrix of the QC-LDPC code, wherein the quasi-cyclic check matrix has an extension dimension N relative to the extended base matrix; generating a QC-LDPC code based on the quasi-cyclic check matrix.
[0006] In an embodiment, the method further comprises: inputting the quasi-cyclic check matrix into an LDPC encoding and decoding system, and testing to obtain error correction performance corresponding to the quasi-cyclic check matrix; if oscillation occurs in the testing process, a new integer k is selected, and the step of generating a longitudinal symmetric matrix according to the target base matrix, an extension factor N, and an integer k coprime with the extension factor N is executed again; If the error correction performance of the quasi-cyclic parity check matrix does not reach the preset error correction performance target, returning to the step of determining the target base matrix of the QC-LDPC code based on a random code method; If the error correction performance of the quasi-cyclic parity check matrix reaches the error correction performance target, determining the quasi-cyclic parity check matrix as the final output quasi-cyclic parity check matrix.
[0007] In an embodiment, the generating the vertically symmetric matrix according to the target base matrix, the diagonal offset matrix, the extension factor N, and the integer k coprime with the extension factor N comprises: calculating the element-level product of k and the target base matrix to obtain a first intermediate matrix; performing element-level addition on the intermediate matrix and the diagonal offset matrix to obtain a second intermediate matrix; performing modulo N operation on each element of the second intermediate matrix to obtain the vertically symmetric matrix.
[0008] In an embodiment, before the generating the vertically symmetric matrix according to the target base matrix, the diagonal offset matrix, the extension factor N, and the integer k coprime with the extension factor N, the method further comprises: obtaining a diagonal matrix offset and a critical value set, wherein the diagonal matrix offset is used as a candidate value of a non-zero element in the diagonal offset matrix, and the critical value set comprises a position critical value and an offset critical value; filtering out an effective diagonal line of the diagonal offset matrix based on the position critical value; determining a target value corresponding to the effective diagonal line according to the diagonal matrix offset and the offset critical value, and generating the diagonal offset matrix based on the target value corresponding to the effective diagonal line.
[0009] In an embodiment, the obtaining the critical value set comprises: iterating to determine all possible row pair combinations and column pair combinations in the target base matrix, and merging each possible row pair combination and column pair combination to form a four-element combination; calculating the product of each four-element combination and k, and determining the product result and the operation result set of modulo N as the critical value set.
[0010] In an embodiment, the extending the extended base matrix to obtain the quasi-cyclic parity check matrix of the QC-LDPC code comprises: Replace -1 in the extended base matrix with an N*N zero matrix, replace 0 in the extended base matrix with an N*N unit matrix, and replace other elements x in the extended base matrix with an N*N cyclic shift matrix, where 0 < x < N, the cyclic shift matrix being a matrix obtained by cyclically shifting each row of the N*N unit matrix.
[0011] In an embodiment, the method for determining the target base matrix of the QC-LDPC code based on the random code method comprises: obtaining an initial base matrix according to the random code method; traversing check nodes and variable nodes of the initial base matrix to calculate the degree distribution and the existence of loops of the initial base matrix; if the initial base matrix contains a 4-loop, performing a zeroing operation until a target base matrix without a 4-loop is obtained, wherein the zeroing operation comprises detecting the number of 4-loops of each node in the initial base matrix and zeroing the node with the largest number of 4-loops.
[0012] In an embodiment, before the step of expanding the extended base matrix to obtain the quasi-cyclic check matrix of the QC-LDPC code, the method further comprises: determining the existence of a 4-loop in the extended base matrix; if the extended base matrix contains a 4-loop, selecting a new integer k and returning to perform the step of generating a vertically symmetric matrix according to the target base matrix, the expansion factor N, and the integer k coprime with the expansion factor N.
[0013] In a second aspect, the application further provides a QC-LDPC code construction device based on symmetric expansion, comprising: a construction module configured to determine a target base matrix of a QC-LDPC code based on a random code method, wherein the target base matrix is full rank and does not contain a short loop with a length of 4; a first generation module configured to generate a vertically symmetric matrix according to the target base matrix, a diagonal line offset matrix, an expansion factor N, and an integer k coprime with the expansion factor N; a synthesis module configured to synthesize an extended base matrix according to the target base matrix, the vertically symmetric matrix, a modular inverse matrix of the target base matrix, and a modular inverse matrix of the vertically symmetric matrix; an expansion module configured to expand the extended base matrix to obtain a quasi-cyclic check matrix of the QC-LDPC code, wherein the expansion dimension of the quasi-cyclic check matrix relative to the extended base matrix is N; a second generation module configured to generate a QC-LDPC code based on the quasi-cyclic check matrix.
[0014] In a third aspect, the present application also provides an electronic device comprising a processor and a memory; the memory has a computer program stored therein, wherein the computer program, when executed by the processor, implements the method for constructing a symmetrically extended QC-LDPC code according to the first aspect.
[0015] The method, device, equipment and storage medium for constructing a symmetrically extended QC-LDPC code according to the present application have the following beneficial effects relative to the related art: 1. The method for constructing a symmetrically extended QC-LDPC code according to the present application first constructs a target base matrix that is free of four-cycles and full rank by using a random code method, then selects an integer k coprime with the extension factor N, calculates a vertically symmetric matrix of diagonal offset linear transformation, and on this basis, synthesizes an extended base matrix according to the target base matrix, the vertically symmetric matrix, the modular inverse of the target base matrix and the modular inverse of the vertically symmetric matrix. The extended base matrix has a double symmetric structure of the target base matrix, and therefore, the ring length of the extended base matrix remains consistent with that of the target base matrix. On this basis, the quasi-cyclic check matrix obtained by extending the extended base matrix is free of four-cycles and full rank. Since the target base matrix is relatively small in scale, the above scheme greatly reduces the complexity of construction and calculation relative to the related art of directly constructing a quasi-cyclic check matrix that is free of four-cycles and full rank. In addition, in the matrix extension, the parameter k can be flexibly selected according to the code rate to achieve flexible configuration of different code rates, and therefore, the method has the advantages of low complexity and flexible adaptation to multiple code rates, and can be applied to 5G / 6G communication systems and large-scale storage systems.
[0016] 2. By inputting the quasi-cyclic check matrix into an LDPC encoding and decoding system, transmitting the QC-LDPC code constructed based on the quasi-cyclic check matrix under different signal-to-noise ratios, and statistically analyzing key indicators such as error rate and frame error rate, the error correction capability of the quasi-cyclic check matrix under different channel conditions can be evaluated. On this basis, if oscillation occurs in the test, a new k value can be selected, and the step of generating a vertically symmetric matrix based on the target base matrix, the extension factor N and the new k is returned to, so as to optimize the structure by adjusting the symmetry of the matrix to eliminate the oscillation. If the error correction performance does not reach the preset target, a new target base matrix can be constructed by selecting other shift values, and the detection step is repeated to detect the error correction performance until a quasi-cyclic check matrix that meets the error correction performance target is constructed. If the test confirms that the error correction performance meets the preset target, the quasi-cyclic check matrix is determined as the final output target quasi-cyclic check matrix, which can be used for encoding design in actual communication or storage systems. The entire process is optimized through iteration to ensure that the final matrix has good error correction performance and structural feasibility. BRIEF DESCRIPTION OF DRAWINGS
[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the following will briefly introduce the drawings needed to be used in the embodiments or the related art description. Obviously, the drawings in the following description only constitute some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor based on these drawings.
[0018] Figure 1 A flowchart of a QC-LDPC code construction method based on symmetric extension in an embodiment of the present application; Figure 2 A flowchart of a diagonal line offset matrix generation process in an embodiment of the present application; Figure 3 A structural diagram of a QC-LDPC code construction device based on symmetric extension in an embodiment of the present application; Figure 4 A structural diagram of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION
[0019] The technical solutions in the embodiments of the present application will be described clearly and completely in combination with the embodiments of the present application. Obviously, the described embodiments only constitute some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0020] As described in the background, LDPC codes are widely used in modern communication systems (such as 5G, WiFi6) due to their performance close to the Shannon limit. Quasi-cyclic LDPC (QC-LDPC) codes have become the mainstream solution due to their structured characteristics, which facilitate hardware implementation and fast encoding.
[0021] However, constructing high-performance QC-LDPC codes requires two key points: one is that the check matrix is free of four rings to avoid the performance degradation of iterative decoding; the other is that the matrix is full rank to ensure error correction capability. In the related art, two methods of random construction and artificial design are usually used, but random construction cannot guarantee no four rings, and artificial design has high complexity. Traditional solutions such as PEG algorithm have high computational complexity.
[0022] Based on this, in some embodiments, as shown in Figure 1 The present application provides a QC-LDPC code construction method based on symmetric extension, which includes the following steps S101-S105.
[0023] S101: determining a target base matrix of a QC-LDPC code based on a random code method, wherein the target base matrix is full rank and does not exist a short ring with a length of 4.
[0024] It should be noted that the size of the target base matrix is m x n.
[0025] The relevant principles of the random code method are as follows: a. Parameter initialization, determining the initial construction parameters of the base matrix, the code length n, the code rate r, the cyclic expansion parameter N, and the pre-allocated matrix degree distribution; b. Randomly selecting a shift value x; c. Traversing all 2 x 2 sub-matrices to detect the existence of 4-cycles; d. If a 4-cycle exists, a new shift value x is selected, ; e. If no 4-cycle exists, the construction is successful, and the initial base matrix is output. After obtaining the initial base matrix, the initial base matrix can be optimized to obtain a target base matrix that is full rank and does not have a short ring of length 4.
[0026] S102: Generating a vertically symmetric matrix according to the target base matrix, the diagonal line offset matrix, the expansion factor N, and an integer k coprime with the expansion factor N.
[0027] where k is selected to satisfy gcd(k, N) = 1 and 2 ≤ k ≤ N-1. The vertically expanded structure maintains the no-4-cycle property while multiplying the number of check equations.
[0028] It can be understood that, based on the correspondence between the target base matrix A and the vertically symmetric matrix B, the vertically symmetric matrix B can be generated in combination with the diagonal line offset matrix D, the expansion factor N, and the integer k coprime with the expansion factor N. The target base matrix A lays the foundation for the basic sparse structure of the vertically symmetric matrix B, and the position of its non-zero elements determines the distribution of the cyclic permutation sub-matrix in B; the diagonal line offset matrix D provides a basic offset for each non-zero element, and the expansion factor N determines the size (N x N) of the sub-matrix, while the integer k coprime with N can realize uniform permutation of rows or columns by using the existence of the inverse of k (due to coprimality), and finally form the vertically symmetric matrix B of the target base matrix A. The vertically symmetric property can simplify the hardware design of the decoder (such as multiplexing the calculation units of symmetric positions), and the coprimality of k and N ensures the uniqueness and uniformity of the permutation, avoids structural redundancy, and combines the low-density characteristics of the target base matrix and the offset regulation of D, so that the matrix maintains good error correction performance while having the efficiency improvement brought by the symmetric structure.
[0029] S103: Synthesizing an expanded base matrix according to the target base matrix, the vertically symmetric matrix, the modular inverse of the target base matrix, and the modular inverse of the vertically symmetric matrix.
[0030] where the modular inverse of the target base matrix A is defined as -A, the modular inverse of the vertically symmetric matrix B is defined as -B, and the expanded base matrix E = [A -A; B -B].
[0031] It can be understood that the upper half of the extended base matrix E presents an [A-A] structure, and the lower half is a [B-B] structure, which maintains the intra-block symmetry. A is the target base matrix optimized by 4-cycle elimination, and B is a symmetric matrix generated by longitudinal symmetry transformation based on A. Therefore, the 4-cycle-free property of the target base matrix A can be used to guarantee the cycle length property of the extended matrix, and the symmetry of the longitudinal symmetric matrix B can be used to simplify the hardware implementation. The block structure can form a quasi-cyclic property, which is convenient for fast encoding. In addition, the negative matrix construction under the modulo operation maintains the algebraic property of the matrix, and the final generated extended base matrix E can be further extended by the extension factor N to form an actual check matrix to construct a high-performance LDPC code.
[0032] S104: The extended base matrix is extended to obtain a quasi-cyclic check matrix of the QC-LDPC code, wherein the extension dimension of the quasi-cyclic check matrix relative to the extended base matrix is N.
[0033] In the application, the extended base matrix is extended to obtain a quasi-cyclic check matrix of the QC-LDPC code, which is based on the extended base matrix, and each element (including each element in the target base matrix A, -A, the longitudinal symmetric matrix B, -B constituting the extended base matrix) is respectively extended to an N×N submatrix. Since the extension dimension is N, the size of the target base matrix is m×n, and the size of the extended base matrix obtained after extension is 2m×2n, the size of the check matrix is 2mN×2nN, and the quasi-cyclic check matrix as a whole maintains the quasi-cyclic structure of the block matrix (i.e. the cyclic property of the submatrix block is regularly repeated in the overall matrix). This extension method not only retains the original block relationship in the extended base matrix (such as the structure of [A-A; B-B] still maintaining the distribution of the corresponding submatrix block after extension), but also gives the check matrix a quasi-cyclic attribute through the cyclic property of the N×N submatrix, so that the final quasi-cyclic check matrix inherits the 4-cycle-free property of the target base matrix and the symmetry of the longitudinal symmetric matrix, while maintaining sparsity, which not only guarantees the excellent error correction performance of the QC-LDPC code, but also improves the encoding and decoding efficiency due to the quasi-cyclic structure for hardware parallel implementation.
[0034] S105: Generating the QC-LDPC code based on the quasi-cyclic check matrix.
[0035] In the application, any feasible existing technology can be used to generate the QC-LDPC code based on the quasi-cyclic check matrix, which will not be described in detail here.
[0036] The above QC-LDPC code construction method based on symmetric extension first constructs a target base matrix without four cycles and full rank by using a random code method, then selects an integer k coprime with the extension factor N, calculates a longitudinal symmetry matrix of diagonal offset linear transformation, and on this basis, synthesizes an extended base matrix according to the target base matrix, the longitudinal symmetry matrix, the modular inverse matrix of the target base matrix and the modular inverse matrix of the longitudinal symmetry matrix. The extended base matrix is a double symmetry structure of the target base matrix, so the ring length of the extended base matrix is consistent with that of the target base matrix. On this basis, the quasi-cyclic check matrix obtained by extending the extended base matrix is without four cycles and full rank. Since the size of the target base matrix is relatively small, the above scheme greatly reduces the construction and calculation complexity compared with directly constructing a quasi-cyclic check matrix without four cycles and full rank in related technologies. In addition, in the matrix extension, the parameter k can be flexibly selected according to the code rate to realize flexible configuration of different code rates, so the method has the advantages of low complexity and flexible adaptation to multiple code rates, and can be applied to 5G / 6G communication systems and large-scale storage systems.
[0037] In some embodiments, the QC-LDPC code construction method further comprises: inputting the quasi-cyclic check matrix into an LDPC encoding and decoding system to test the error correction performance corresponding to the quasi-cyclic check matrix; if oscillation occurs in the test process, selecting a new integer k and returning to execute the step of generating a longitudinal symmetry matrix according to the target base matrix, the extension factor N and the integer k coprime with the extension factor N; if the error correction performance of the quasi-cyclic check matrix does not reach a preset error correction performance target, returning to execute the step of determining the target base matrix of the QC-LDPC code based on the random code method; if the error correction performance of the quasi-cyclic check matrix reaches the error correction performance target, determining the quasi-cyclic check matrix as the final output quasi-cyclic check matrix.
[0038] Wherein, the LDPC encoding and decoding system is a pre-constructed system including an encoder, a channel model and a decoder. Oscillation means that the iteration result in the decoding process repeatedly fluctuates and cannot converge to the correct code group.
[0039] It can be understood that the quasi-cyclic check matrix is input into the LDPC encoding and decoding system, the QC-LDPC code constructed based on the quasi-cyclic check matrix is transmitted under different signal-to-noise ratio conditions, and key indicators such as bit error rate and frame error rate are counted to evaluate the error correction capability of the quasi-cyclic check matrix under different channel conditions.
[0040] If oscillation occurs in the test, since the integer k is coprime with the extension factor N and directly affects the symmetry and permutation characteristics of the longitudinal symmetry matrix, a new k value needs to be selected, and the step of generating a longitudinal symmetry matrix based on the target base matrix, the extension factor N and the new k is returned to, so as to eliminate the oscillation by adjusting the symmetry optimization structure of the matrix.
[0041] If the test result shows that the error correction performance (e.g., the error rate at a specific signal-to-noise ratio) does not reach the preset target (e.g., is lower than a preset threshold), it indicates that the initial base matrix has defects in the degree distribution, the ring length characteristics, and other basic structures, and the step of reconstructing the target base matrix based on the random code method needs to be returned to. Since the shift value is randomly generated in the construction process of the random code method, a new target base matrix can be constructed by selecting other shift values, and the detection step is repeated to detect the error correction performance until a quasi-cyclic check matrix that meets the error correction performance target is constructed. If the test confirms that the error correction performance reaches the preset target, the quasi-cyclic check matrix is determined as the final output target quasi-cyclic check matrix, which can be used for encoding design in actual communication or storage systems, and the entire process is ensured to have good error correction performance and structural feasibility through iterative optimization.
[0042] In an embodiment, generating the vertically symmetric matrix according to the target base matrix, the diagonal offset matrix, the extension factor N, and an integer k coprime with the extension factor N includes: calculating the element-level product of k and the target base matrix to obtain a first intermediate matrix; performing element-level addition on the intermediate matrix and the diagonal offset matrix to obtain a second intermediate matrix; and performing modulo N operation on each element of the second intermediate matrix to obtain the vertically symmetric matrix.
[0043] Wherein, after selecting the number k coprime with N, the formula for calculating the extension matrix B can be as follows: B=k×A +D (mod N) Wherein, D is the diagonal offset matrix.
[0044] In this embodiment, the integer k is multiplied by each element of the target base matrix to obtain a first intermediate matrix, which is equivalent to performing a scale transformation on the elements of the target base matrix. Since k is coprime with N, the distribution of the transformed elements is uniform and non-repetitive. Then, element-level addition is performed on the first intermediate matrix and the diagonal offset matrix, each element of the diagonal offset matrix being a preset offset. These offsets are added to the corresponding positions of the first intermediate matrix through addition to obtain a second intermediate matrix. This step introduces additional position offsets for adjusting the structure of the subsequent cyclic permutation matrix. Finally, modulo N operation is performed on each element of the second intermediate matrix to constrain the element value within the range of 0 to N-1 to obtain the vertically symmetric matrix. For any element in the vertically symmetric matrix, the element at the symmetric position with respect to the vertical axis satisfies a specific symmetry relationship (such as the sum of the element values being N or 0). This symmetry can simplify the implementation of the decoding algorithm when the matrix is subsequently extended into a check matrix, and improve the calculation efficiency.
[0045] In some embodiments, as Figure 2As shown, before generating the longitudinal symmetry matrix according to the target base matrix, the diagonal line offset matrix, the expansion factor N and the integer k coprime with the expansion factor N, the QC-LDPC code construction method further includes the following steps S201 to S203.
[0046] S201: Obtain a diagonal matrix offset and a critical value set, wherein the diagonal matrix offset is a candidate value of a non-zero element in the diagonal line offset matrix, and the critical value set includes a position critical value and an offset critical value.
[0047] Diagonal matrix offset .
[0048] S202: Screen the effective diagonal line of the diagonal line offset matrix based on the position critical value.
[0049] Wherein, the effective diagonal line is screened according to the position critical value, that is, by setting the upper and lower limits of the diagonal line index (such as only keeping the main diagonal line and a few diagonal lines nearby, or excluding too far diagonal lines that may cause short loops), the effective diagonal line that meets the structural sparsity and subsequent expansion requirements is determined from all potential diagonal lines, avoiding the performance degradation of the check matrix caused by the disorderly distribution of the diagonal line.
[0050] S203: Determine the target value corresponding to the effective diagonal line according to the diagonal matrix offset and the offset critical value, and generate the diagonal line offset matrix based on the target value corresponding to the effective diagonal line.
[0051] In the application, the diagonal matrix offset , represents s is a positive integer less than N excluding the set of critical values calculated above, to obtain the target value corresponding to the effective diagonal line. That is, for each effective diagonal line, a target value that meets the constraint of the offset critical value is selected. In generating the diagonal line offset matrix, the longitudinal symmetry matrix can be generated based on the generated diagonal line offset matrix, the target base matrix, the expansion factor N and the integer k coprime with the expansion factor N, and then the quasi-cyclic check matrix is obtained through steps S103 and S104, and then the QC-LDPC code is generated based on the quasi-cyclic check matrix, completing the construction of the QC-LDPC code.
[0052] In some embodiments, in step S201, the critical value set is obtained, including: traversing to determine all possible row pair combinations and column pair combinations in the target base matrix, and traversing to combine each possible row pair combination and column pair combination to form a four-element combination; calculating the product of each four-element combination and k, and determining the operation result set of each product result with modulus N as the critical value set.
[0053] Wherein, the critical value set can be represented as:
[0054] In the above formula, k is the aforementioned integer coprime with N, The first lower index of A represents the row number of the element of the matrix (i.e., the target base matrix), and the second lower index represents the column number of the matrix element. All elements in the A matrix are traversed, and the result of calculating each combination of 4 elements with N is calculated.
[0055] In some embodiments, the extended base matrix is extended to obtain a quasi-cyclic check matrix of the QC-LDPC code, including: replacing -1 in the extended base matrix with an N*N zero matrix, replacing 0 in the extended base matrix with an N*N identity matrix, and replacing other elements x in the extended base matrix with an N*N circulant shift matrix. Wherein, 0 < x < N, and the circulant shift matrix is a matrix obtained by cyclically shifting each row of the N*N identity matrix.
[0056] It can be understood that the extended base matrix is extended to obtain the quasi-cyclic check matrix of the QC-LDPC code, which is based on the extended base matrix, and each element of the extended base matrix is extended to an N*N submatrix. Different replacement operations need to be performed for each element in the extended base matrix. If the element is -1, it is replaced by an N*N all-zero matrix (i.e., a matrix with all elements being 0), which corresponds to no connection relationship in the subsequent decoding process. If the element is 0, it is replaced by an N*N identity matrix (the main diagonal elements are 1 and the other elements are 0), which is used to maintain the basic structure constraint of the check matrix. For other non-zero elements x (0 < x < N), it is replaced by an N*N circulant shift matrix, which is obtained by cyclically shifting the identity matrix to the right by x positions (for example, when x = 1, the first row of the original identity matrix is shifted to the right by 1 position, and the last column element is moved to the first column, and the remaining rows are the same). The characteristic of the cyclic shift makes the check matrix have a quasi-cyclic structure, which is convenient for hardware to realize fast encoding and decoding. Through this element-level replacement, each element in the extended base matrix is extended to an N*N submatrix, and finally a quasi-cyclic check matrix with N times the number of rows and columns of the original extended base matrix is formed. This matrix inherits the block structure characteristics of the extended base matrix, and at the same time, by using the characteristics of the circulant shift matrix, the storage complexity and the amount of calculation are greatly reduced, so that the QC-LDPC code is more suitable for 5G / 6G communication systems and large-scale storage systems while maintaining excellent error correction performance.
[0057] In some embodiments, determining the target base matrix of the QC-LDPC code based on the random code method can include: obtaining an initial base matrix according to the random code method; traversing the check nodes and variable nodes of the initial base matrix, calculating the degree distribution and the existence of the ring of the initial base matrix; if the initial base matrix contains a 4-ring, performing a zeroing operation until a target base matrix without a 4-ring is obtained. Wherein, the zeroing operation includes: detecting the number of 4-rings of each node of the initial base matrix, and zeroing the node with the most 4-rings.
[0058] It should be noted that for the m*n dimensional initial base matrix, there are n variable nodes corresponding to each column of the initial base matrix, and also representing each bit in the codeword; there are m check nodes corresponding to each row in the initial base matrix, and also representing a check equation.
[0059] First, a sparse base matrix satisfying the preset row weight and column weight is randomly constructed, wherein the row weight determines the check node connectivity, and the column weight determines the variable node connectivity; then the check nodes (rows) and variable nodes (columns) of the matrix are traversed, and the degree distribution (statistic of the number of edges connected to each node) and the existence of loops are calculated by a graph theory algorithm, and the detection of 4-loop (i.e. a closed path composed of 4 edges) is emphasized; if the existence of 4-loop is detected, iterative optimization is started: the number of times (i.e. the number of 4-loops) that each node participates in 4-loop is counted, and the node (check node or variable node) with the largest number of 4-loops is selected, and a non-zero element in the corresponding row or column is set to zero (i.e. one edge is deleted), after each zero setting, the 4-loop is re-detected, and the process is repeated until there is no 4-loop in the matrix. Since some nodes are set to zero, the nodes that originally form 4-loop with it no longer form 4-loop, therefore, by preferentially eliminating the connection of the "most serious" node, the number of zero settings can be reduced, and finally the target base matrix satisfying the 4-loop-free condition is obtained, which can effectively reduce the error floor effect in the LDPC decoding process and improve the decoding reliability.
[0060] In some embodiments, before the extended base matrix is extended to obtain the quasi-cyclic check matrix of the QC-LDPC code, the QC-LDPC code construction method further comprises: determining the existence of 4-loop of the extended base matrix; if the extended base matrix has 4-loop, a new integer k is selected, and the step of generating a vertically symmetric matrix according to the target base matrix, the extension factor N and the integer k coprime with the extension factor N is returned to be executed.
[0061] It should be noted that in the process of synthesizing the extended base matrix, there is a probability of introducing new 4-loop, therefore, by verifying the existence of 4-loop of the extended base matrix and selecting a new integer k, it can be ensured that the final extended base matrix is free of 4-loop.
[0062] It can be understood that whether a 4-cycle exists in the extended base matrix can be determined by a cycle detection algorithm. If it is detected that the extended base matrix has a 4-cycle, since the structure of the longitudinal symmetric matrix is directly affected by the integer k, a new integer k is selected and the step of generating the longitudinal symmetric matrix is returned to, the element arrangement of the longitudinal symmetric matrix is adjusted by changing the value of k, and then the structure of the extended base matrix composed of the target base matrix, the longitudinal symmetric matrix and the negative matrix thereof is changed, so as to break the original 4-cycle closed path. By selecting the number k, the probability of introducing a 4-cycle can be greatly reduced, the 4-cycle is eliminated in the extended base matrix stage in advance, the performance of the check matrix after expansion due to the 4-cycle problem is avoided, and the finally generated QC-LDPC code has better error correction performance.
[0063] In some embodiments, referring to Figure 3 The application provides a QC-LDPC code construction device based on symmetric extension, comprising a construction module 31, a first generation module 32, a synthesis module 33, an extension module 34 and a second generation module 35.
[0064] The construction module 31 is configured to determine a target base matrix of a QC-LDPC code based on a random code method, wherein the target base matrix is full rank and does not have a short cycle with a length of 4. The first generation module 32 is configured to generate a longitudinal symmetric matrix according to the target base matrix, a diagonal line offset matrix, an extension factor N and an integer k coprime with the extension factor N. The synthesis module 33 is configured to synthesize an extended base matrix according to the target base matrix, the longitudinal symmetric matrix, a modular inverse matrix of the target base matrix and a modular inverse matrix of the longitudinal symmetric matrix. The extension module 34 is configured to extend the extended base matrix to obtain a quasi-cyclic check matrix of a QC-LDPC code, wherein the quasi-cyclic check matrix has an extension dimension N relative to the extended base matrix. The second generation module 35 is configured to generate a QC-LDPC code based on the quasi-cyclic check matrix.
[0065] In some embodiments, the QC-LDPC code construction device 30 based on symmetric extension further comprises a testing module, a first execution module and a second execution module. The testing module is configured to input the quasi-cyclic check matrix into an LDPC encoding and decoding system, and test the error correction performance corresponding to the quasi-cyclic check matrix. The first execution module is configured to, when oscillation occurs in the testing process, select a new integer k, and return to execute the step of generating a vertically symmetric matrix based on the target base matrix, the extension factor N and the integer k coprime with the extension factor N. The second execution module is configured to, when the error correction performance of the quasi-cyclic check matrix does not reach the preset error correction performance target, return to execute the step of determining the target base matrix of the QC-LDPC code based on the random code method; and when the error correction performance of the quasi-cyclic check matrix reaches the error correction performance target, determine the quasi-cyclic check matrix as the final output quasi-cyclic check matrix.
[0066] In some embodiments, the first generation module 32 is further configured to calculate the element-level product of k and the elements of the target base matrix to obtain a first intermediate matrix; perform element-level addition on the intermediate matrix and the diagonal line offset matrix to obtain a second intermediate matrix; and perform modulo N operation on each element of the second intermediate matrix to obtain the vertically symmetric matrix.
[0067] In some embodiments, the first generation module 32 is further configured to obtain a diagonal matrix offset and a critical value set, wherein the diagonal matrix offset is used as a candidate value of the non-zero element in the diagonal line offset matrix, and the critical value set includes a position critical value and an offset critical value; filter the effective diagonal line of the diagonal line offset matrix based on the position critical value; determine the target value corresponding to the effective diagonal line according to the diagonal matrix offset and the offset critical value, and generate the diagonal line offset matrix based on the target value corresponding to the effective diagonal line.
[0068] In some embodiments, the extension module 34 is further configured to replace the element -1 in the extension base matrix with an N*N zero matrix, replace the element 0 in the extension base matrix with an N*N unit matrix, and replace other elements x in the extension base matrix with an N*N cyclic shift matrix. Wherein, 0 < x < N, and the cyclic shift matrix is a matrix obtained by cyclically shifting each row of the N*N unit matrix.
[0069] In some embodiments, the construction module 31 is further configured to obtain an initial base matrix according to the random code method; traverse the check nodes and variable nodes of the initial base matrix, calculate the degree distribution and the existence of the ring of the initial base matrix; and when the initial base matrix contains a 4-ring, constantly perform a zeroing operation until a target base matrix without a 4-ring is obtained. Wherein, the zeroing operation includes detecting the number of 4-rings of each node of the initial base matrix, and zeroing the node with the largest number of 4-rings.
[0070] In some embodiments, the extension module 34 is further configured to determine whether a 4-cycle exists in the extended base matrix; when the 4-cycle exists in the extended base matrix, a new integer k is selected, and the step of generating a vertically symmetric matrix according to the target base matrix, the extension factor N and the integer k coprime with the extension factor N is performed again.
[0071] It should be noted that the QC-LDPC code construction device based on symmetric extension 30 provided by the embodiments of the present application and the QC-LDPC code construction method based on symmetric extension provided by the embodiments of the present application are based on the same application concept, and therefore the specific implementation of this embodiment can be referred to the implementation of the foregoing QC-LDPC code construction method based on symmetric extension, and the repeated parts will not be described herein.
[0072] In some embodiments, as shown in FIG. 4, the electronic device 40 provided by the embodiments of the present application comprises a processor 41 and a memory 42; the memory 42 stores a computer program, wherein the computer program, when executed by the processor 41, implements the foregoing QC-LDPC code construction method based on symmetric extension. Figure 4
[0073] Specifically, the processor 41 may, for example, include a general-purpose microprocessor 41, an instruction set processor 41 and / or a related chipset, and / or a special-purpose microprocessor 41 (such as an application-specific integrated circuit (ASIC)), etc. The processor 41 can also include an on-board memory 42 for cache use. The processor 41 can be a single processing unit or a plurality of processing units for performing different actions of the method process according to the embodiments of the present application.
[0074] The memory 42 may, for example, be any medium capable of containing, storing, communicating, propagating or transmitting instructions. For example, the memory 42 may, for example, include but is not limited to electrical, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices, elements or propagation media. Specific examples of the memory 42 include magnetic storage devices such as magnetic tapes or hard disk drives (HDDs); optical storage devices such as compact discs (CD-ROMs); and / or wired / wireless communication links.
[0075] The present application further provides a computer readable medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the foregoing QC-LDPC code construction method based on symmetric extension. The computer readable medium can be included in the device / apparatus / system described in the foregoing embodiments; or can exist separately and not be assembled into the device / apparatus / system. The foregoing computer readable medium carries one or more programs, and when the one or more programs are executed, the method according to the embodiments of the present application is implemented.
[0076] According to the embodiments of the present application, the computer readable medium can be a computer readable signal medium or a computer readable storage medium or any combination thereof. The computer readable storage medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination thereof. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, the computer readable storage medium can be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus or device. In this application, the computer readable signal medium can include a computer readable program code transmitted in baseband or as part of a carrier wave in a propagated signal, where the computer readable program code is embodied in the computer readable program code. The propagated signal can take any of a variety of forms, including but not limited to, electro-magnetic, optical, or any suitable combination thereof. The computer readable signal medium can also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate or transport a program for use by or in connection with an instruction execution system, apparatus or device. The program code embodied on the computer readable medium can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, RF, etc., or any suitable combination thereof.
[0077] Those skilled in the art will appreciate that features recited in the various embodiments of the present application can be combined and / or integrated in various combinations and / or permutations, even if such combinations and / or permutations are not expressly noted in the present application. In particular, features recited in the various embodiments of the present application can be combined and / or integrated in various combinations and / or permutations without departing from the spirit and teachings of the present application. All such combinations and / or integrations are within the scope of the present application. Therefore, the scope of the present application should not be limited to the above-described embodiments. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application should be included in the scope of the present application.
Claims
1. A method for constructing a symmetric extended QC-LDPC code, characterized in that, The method comprises the following steps: determining a target base matrix of a QC-LDPC code based on a random code method, wherein the target base matrix is full rank and does not have a short loop with a length of 4; generating a longitudinal symmetry matrix based on the target base matrix, a diagonal line offset matrix, an extension factor N and an integer k coprime with the extension factor N; synthesizing an extended base matrix based on the target base matrix, the longitudinal symmetry matrix, a modular inverse matrix of the target base matrix and a modular inverse matrix of the longitudinal symmetry matrix; extending the extended base matrix to obtain a quasi-cyclic check matrix of the QC-LDPC code, wherein the quasi-cyclic check matrix has an extension dimension N relative to the extended base matrix; generating a QC-LDPC code based on the quasi-cyclic check matrix. 2.The method of constructing a symmetric expanded QC-LDPC code according to claim 1, wherein, The method further comprises the following steps: inputting the quasi-cyclic check matrix into an LDPC encoding and decoding system to test and obtain error correction performance corresponding to the quasi-cyclic check matrix; if oscillation occurs in the testing process, a new integer k is selected, and the step of generating a longitudinal symmetry matrix based on the target base matrix, an extension factor N and an integer k coprime with the extension factor N is executed again; if the error correction performance of the quasi-cyclic check matrix does not reach a preset error correction performance target, the step of determining a target base matrix of a QC-LDPC code based on a random code method is executed again; if the error correction performance of the quasi-cyclic check matrix reaches the error correction performance target, the quasi-cyclic check matrix is determined as a final output quasi-cyclic check matrix.
3. The method of constructing a symmetric expanded QC-LDPC code according to claim 1, wherein The step of generating a longitudinal symmetry matrix based on the target base matrix, a diagonal line offset matrix, an extension factor N and an integer k coprime with the extension factor N comprises the following steps: calculating a product of the integer k and an element of the target base matrix to obtain a first intermediate matrix; performing element-level addition on the intermediate matrix and the diagonal line offset matrix to obtain a second intermediate matrix; performing a modulo N operation on each element of the second intermediate matrix to obtain the longitudinal symmetry matrix.
4. The method of constructing a symmetric expanded QC-LDPC code according to claim 1, wherein Before the step of generating a longitudinal symmetry matrix based on the target base matrix, a diagonal line offset matrix, an extension factor N and an integer k coprime with the extension factor N, the method further comprises the following steps: obtaining a diagonal matrix offset and a critical value set, wherein the diagonal matrix offset is used as a candidate value of a non-zero element in the diagonal line offset matrix, and the critical value set comprises a position critical value and an offset critical value; screening effective diagonals of the diagonal line offset matrix based on the position critical value; determining a target value corresponding to the effective diagonals based on the diagonal matrix offset and the offset critical value, and generating the diagonal line offset matrix based on the target value corresponding to the effective diagonals.
5. The method of constructing a symmetric expanded QC-LDPC code according to claim 4, wherein The step of obtaining a critical value set comprises the following steps: iterating through all possible row pair combinations and column pair combinations in the target base matrix, and merging the possible row pair combinations and column pair combinations to form four-element combinations; calculating products of the four-element combinations and the integer k, and determining a set of operation results of the products and a modulo N as the critical value set.
6. The method of constructing a symmetric expanded QC-LDPC code according to claim 1, wherein The step of extending the extended base matrix to obtain a quasi-cyclic check matrix of the QC-LDPC code comprises the following steps: Replace element -1 in the extended base matrix with an N*N zero matrix, replace element 0 in the extended base matrix with an N*N unit matrix, and replace other elements x in the extended base matrix with an N*N cyclic shift matrix, where 0 < x < N, the cyclic shift matrix being a matrix obtained by cyclically shifting each row of the N*N unit matrix.
7. The method of constructing a symmetric expanded QC-LDPC code according to claim 1, wherein The target base matrix of the QC-LDPC code determined based on the random code method comprises: An initial base matrix is obtained based on the random code method. The check nodes and variable nodes of the initial base matrix are traversed, and the degree distribution and existence of loops of the initial base matrix are calculated. If the initial base matrix contains a 4-loop, a zeroing operation is continuously performed until a target base matrix without a 4-loop is obtained, wherein the zeroing operation comprises detecting the number of 4-loops of each node of the initial base matrix, and zeroing the node with the largest number of 4-loops.
8. The method of constructing a symmetric expanded QC-LDPC code according to any one of claims 1 to 6, wherein Before the extended base matrix is expanded to obtain the quasi-cyclic check matrix of the QC-LDPC code, the method further comprises: Determining the existence of 4-loops in the extended base matrix; If the extended base matrix contains a 4-loop, a new integer k is selected, and the step of generating a vertically symmetric matrix based on the target base matrix, the expansion factor N, and the integer k coprime with the expansion factor N is returned.
9. A QC-LDPC code construction device based on symmetric extension, characterized in that, Comprise: The construction module is configured to determine a target base matrix of a QC-LDPC code based on a random code method, wherein the target base matrix is full rank and does not contain a short loop with a length of 4; The first generation module is configured to generate a vertically symmetric matrix based on the target base matrix, a diagonal line offset matrix, an expansion factor N, and an integer k coprime with the expansion factor N; The synthesis module is configured to synthesize an extended base matrix based on the target base matrix, the vertically symmetric matrix, a modular inverse matrix of the target base matrix, and a modular inverse matrix of the vertically symmetric matrix; The expansion module is configured to expand the extended base matrix to obtain a quasi-cyclic check matrix of the QC-LDPC code, wherein the expansion dimension of the quasi-cyclic check matrix relative to the extended base matrix is N; The second generation module is configured to generate a QC-LDPC code based on the quasi-cyclic check matrix.
10. An electronic device, comprising: A processor and a memory are included; the memory has a computer program stored therein, wherein the computer program, when executed by the processor, implements the symmetric expansion-based QC-LDPC code construction method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Quasi-cyclic low density parity check code (LDPC) construction method and device based on protographs
CN103152056A
Construction method and system for low density parity check (LDPC) code pattern
CN104868926A
Type-II QC-LDPC (Quasi-Cyclic Low-Density Parity-Check) code construction method based on Fibonacci-Lucas sequence
CN107528596A
Quasi-cyclic structure multivariate LDPC code construction method based on prime number product
CN109951189A
Construction method of QC-LDPC code with girth of 8 and capable of being quickly coded
CN111211789A