Construction method and device of symmetrically extended qc-lDPC code and electronic equipment

By constructing a symmetric extended QC-LDPC code, the problem of constructing high-performance QC-LDPC codes in the prior art is solved, achieving low complexity and flexible code rate configuration, which is suitable for 5G/6G communication and large-scale storage systems.

CN120915313BActive Publication Date: 2025-12-12WUHAN YUXIN SEMICON CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511406424.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-29
Publication Date
2025-12-12
Estimated Expiration
2045-09-29

AI Technical Summary

Technical Problem

Existing technologies struggle to construct high-performance QC-LDPC codes, especially in ensuring that the parity check matrix is ​​free of four-rings and has full rank. This leads to decreased iterative decoding performance and insufficient error correction capabilities, and also results in high complexity in manual design.

Method used

A QC-LDPC code construction method based on symmetric extension is adopted. A target basis matrix with full rank and no four-ring 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. The structure is optimized by using parameter k and diagonal offset matrix to achieve the preset error correction performance.

Benefits of technology

It reduces the computational complexity of construction, enables flexible adaptation to multiple code rates, is suitable for 5G/6G communication systems and large-scale storage systems, and ensures good error correction performance and structural feasibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120915313B_ABST
    Figure CN120915313B_ABST
Patent Text Reader

Abstract

The application provides a QC-LDPC code construction method and device based on symmetric extension and electronic equipment, relates to the technical field of communication channel coding and decoding, and 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 ring with a length of 4; generating a longitudinal symmetry 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 symmetry matrix, a modular inverse matrix of the target base matrix and a modular inverse matrix of the longitudinal symmetry matrix; performing extension on 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; and generating the QC-LDPC code based on the quasi-cyclic check matrix. The construction method has the advantages of low complexity and flexible adaptation to various code rates.
Need to check novelty before this filing date? Find Prior Art

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 key points: one is that the check matrix is free of four rings 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 rings, 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:

[0006] determining a target base matrix of the 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;

[0007] generating a longitudinal symmetry 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;

[0008] synthesizing an extended base matrix according to 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;

[0009] 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;

[0010] generating a QC-LDPC code based on the quasi-cyclic check matrix.

[0011] In an embodiment, the method further comprises:

[0012] 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;

[0013] If oscillation occurs during the test, a new integer k is selected, and 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 is executed again;

[0014] If the error correction performance of the quasi-cyclic check matrix does not reach the preset error correction performance target, the step of determining the target base matrix of the QC-LDPC code based on the random code method is executed again;

[0015] 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 the final output quasi-cyclic check matrix.

[0016] In an embodiment, the step of generating a vertically symmetric matrix based on the target base matrix, the diagonal line offset matrix, the extension factor N, and the integer k coprime with the extension factor N comprises:

[0017] Calculating the element-level product of k and the target base matrix to obtain a first intermediate matrix;

[0018] Performing element-level addition on the intermediate matrix and the diagonal line offset matrix to obtain a second intermediate matrix;

[0019] Performing modulo N operation on each element of the second intermediate matrix to obtain the vertically symmetric matrix.

[0020] In an embodiment, before the step of generating a vertically symmetric matrix based on the target base matrix, the diagonal line offset matrix, the extension factor N, and the integer k coprime with the extension factor N, the method further comprises:

[0021] Obtaining a diagonal matrix offset and a critical value set, wherein the diagonal matrix offset serves as 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;

[0022] Filtering out effective diagonal lines of the diagonal line offset matrix based on the position critical value;

[0023] Determining target values corresponding to the effective diagonal lines according to the diagonal matrix offset and the offset critical value, and generating the diagonal line offset matrix based on the target values corresponding to the effective diagonal lines.

[0024] In an embodiment, obtaining a critical value set comprises:

[0025] Iterating to determine 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;

[0026] The products of each of the four-element combinations and k are calculated, and each of the product results is determined as a critical value set with the operation result set of the modulo N.

[0027] In an embodiment, the extending the extended base matrix to obtain the quasi-cyclic check matrix of the QC-LDPC code comprises:

[0028] The element -1 in the extended base matrix is replaced by an N*N zero matrix, the element 0 in the extended base matrix is replaced by an N*N unit matrix, and other elements x in the extended base matrix are replaced by an N*N cyclic shift matrix, where 0

[0029] In an embodiment, the determining the target base matrix of the QC-LDPC code based on the random code method comprises:

[0030] An initial base matrix is obtained according to the random code method.

[0031] 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.

[0032] If the initial base matrix has 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.

[0033] In an embodiment, before the extending the extended base matrix to obtain the quasi-cyclic check matrix of the QC-LDPC code, the method further comprises:

[0034] Determining the existence of 4-loops of the extended base matrix.

[0035] If the extended base matrix has a 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 performed.

[0036] In a second aspect, the application further provides a QC-LDPC code construction device based on symmetric extension, comprising:

[0037] A 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 have a short loop with a length of 4.

[0038] A first generation module is configured to generate a vertically 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.

[0039] a synthesizing module, configured to synthesize an extended base matrix according to the target base matrix, the longitudinal symmetry matrix, the modular inverse of the target base matrix and the modular inverse of the longitudinal symmetry matrix;

[0040] an extending module, configured to extend 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;

[0041] a second generating module, configured to generate a QC-LDPC code based on the quasi-cyclic check matrix.

[0042] In a third aspect, the present application also provides an electronic device, including a processor and a memory; the memory stores a computer program, wherein the computer program, when executed by the processor, implements the symmetric expansion-based QC-LDPC code construction method according to the first aspect.

[0043] The symmetric expansion-based QC-LDPC code construction method, device, equipment and storage medium of the present application have the following beneficial effects relative to the related art:

[0044] 1. The symmetric expansion-based QC-LDPC code construction method of 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 that is 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 of the target base matrix and the modular inverse 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 free of four-cycles and full rank. Since the target base matrix is small in scale, the above scheme greatly reduces the construction and calculation complexity relative to directly constructing a quasi-cyclic check matrix that is free of four-cycles and full rank in the related art. 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, 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.

[0045] 2. By inputting the quasi-cyclic parity-check matrix (QC-LDPC) into an LDPC encoding / decoding system and transmitting QC-LDPC codes constructed based on this QC-LDPC under different signal-to-noise ratio (SNR) conditions, the error correction capability of the QC-LDPC under different channel conditions can be evaluated by statistically analyzing key indicators such as bit error rate (BER) and frame error rate (FR). Based on this, if oscillations occur during testing, a new k value can be selected, and the process can return to the step of generating a vertically symmetric matrix based on the target basis matrix, the expansion factor N, and the new k. The oscillations can be eliminated by adjusting the matrix symmetry to optimize the structure. If the error correction performance does not meet the preset target, other shift values ​​can be selected to construct a new target basis matrix, and the detection steps can be repeated to test the error correction performance until a QC-LDPC matrix that meets the error correction performance target is constructed. If the test confirms that the error correction performance meets the preset target, this QC-LDPC matrix is ​​determined as the final output target QC-LDPC matrix, which can be used for coding design in practical communication or storage systems. The entire process ensures that the final matrix has both good error correction performance and structural feasibility through iterative optimization. Attached Figure Description

[0046] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0047] Figure 1 This is a flowchart illustrating a method for constructing QC-LDPC codes based on symmetric extension in one embodiment of this application;

[0048] Figure 2 This is a flowchart illustrating the process of generating the diagonal offset matrix in one embodiment of this application;

[0049] Figure 3 This is a schematic diagram of a QC-LDPC code construction device based on symmetric extension in one embodiment of this application;

[0050] Figure 4 This is a schematic diagram of the structure of an electronic device in one embodiment of this application. Detailed Implementation

[0051] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0052] 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.

[0053] However, constructing high-performance QC-LDPC codes requires two key conditions to be met: one is that the check matrix has no four rings to avoid performance degradation of iterative decoding; the other is that the matrix is full rank to ensure error correction capability. In related technologies, two methods are usually used: random construction and artificial design. However, random construction cannot guarantee no four rings, and artificial design has high complexity. Traditional solutions such as PEG algorithm have high computational complexity.

[0054] 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.

[0055] S101: determining the target base matrix of the QC-LDPC code based on a random code method, wherein the target base matrix is full rank and does not have a short ring with a length of 4.

[0056] It should be noted that the size of the target base matrix is m x n.

[0057] The related principles of the random code method are as follows: a. parameter initialization, determining the initial construction parameters of the base matrix, code length n, code rate r, cyclic extension parameter N, and pre-allocated matrix degree distribution; b. randomly selecting a shift value x; c. traversing all 2x2 submatrices to detect the existence of 4 rings; d. if there is a 4 ring, reselecting the shift value x, ; e. if there is no 4 ring, 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 the target base matrix which is full rank and does not have a short ring with a length of 4.

[0058] S102: generating a vertically 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.

[0059] Wherein k is selected to satisfy gcd(k, N) = 1, and 2 ≤ k ≤ N-1. The vertical extension structure keeps the no four ring feature while multiplying the number of check equations.

[0060] It can be understood that the longitudinal symmetry matrix B can be generated based on the correspondence between the target base matrix A and the longitudinal symmetry matrix B, 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 longitudinal symmetry matrix B, and the position of the 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*N) of the sub-matrix, and the integer k coprime with N can realize uniform permutation of rows or columns by using the existence of the inverse element of k (because they are coprime), and finally form the longitudinal symmetry matrix B of the target base matrix A. The longitudinal symmetry characteristic can simplify the hardware design of the decoder (such as multiplexing the calculation unit of the symmetric position), 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 has good error correction performance while having the efficiency improvement brought by the symmetric structure.

[0061] S103: Synthesizing an expansion 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.

[0062] Wherein, the modular inverse matrix of the target base matrix A is defined as -A, and the modular inverse matrix of the longitudinal symmetry matrix B is defined as -B, then the expansion base matrix E = [A -A; B -B].

[0063] It can be understood that the upper half of the expansion 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 the symmetric matrix generated based on A by longitudinal symmetry transformation. Therefore, the 4-cycle-free characteristic of the target base matrix A can be used to ensure the cycle length characteristic of the expanded matrix, and the symmetry of the longitudinal symmetry matrix B can be used to simplify the hardware implementation. The block structure can form a quasi-cyclic characteristic, which is convenient for fast encoding. In addition, the negative matrix construction under the modulo operation maintains the algebraic properties of the matrix, and the expansion base matrix E generated finally can be further expanded by the expansion factor N to obtain the actual check matrix, so as to construct a high-performance LDPC code.

[0064] S104: Expanding the expansion 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 expansion base matrix is N.

[0065] In the application, the quasi-cyclic check matrix of the QC-LDPC code is obtained by expanding the extended base matrix. Each element (including each element in the target base matrix A, -A, the vertically symmetric matrix B, and -B constituting the extended base matrix) of the extended base matrix is expanded into an N*N submatrix. Since the expansion dimension is N, the size of the target base matrix is m*n, and the size of the extended base matrix obtained after expansion 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 (that is, the cyclic characteristics of the submatrix block are regularly repeated in the overall matrix). This expansion method not only maintains 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 expansion), but also gives the check matrix quasi-cyclic properties through the cyclic characteristics of the N*N submatrix, so that the final quasi-cyclic check matrix inherits the 4-cycle-free characteristic of the target base matrix and the symmetry of the vertically symmetric matrix, while maintaining sparsity, which not only guarantees the excellent error correction performance of the QC-LDPC code, but also improves the coding and decoding efficiency due to the quasi-cyclic structure facilitating hardware parallel implementation.

[0066] S105: generating the QC-LDPC code based on the quasi-cyclic check matrix.

[0067] In the application, any feasible existing technology can be used to generate the QC-LDPC code based on the quasi-cyclic check matrix, and no further description is made herein.

[0068] The above QC-LDPC code construction method based on symmetric expansion first constructs a target base matrix without 4-cycles and full rank by using a random code method, then selects an integer k coprime with the expansion 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 is a double symmetric 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 expanding the extended base matrix is without 4-cycles and full rank. Since the target base matrix is small in scale, the above scheme greatly reduces the construction and calculation complexity compared with directly constructing a quasi-cyclic check matrix without 4-cycles and full rank in related technologies. In addition, in the matrix expansion, the parameter k can be flexibly selected according to the code rate to realize flexible configuration of different code rates, so that 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.

[0069] In some embodiments, the QC-LDPC code construction method further comprises: inputting the quasi-cyclic check matrix into an LDPC encoding and decoding system, testing the error correction performance corresponding to the quasi-cyclic check matrix; if oscillation occurs in the testing process, selecting a new integer k and returning to 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; if the error correction performance of the quasi-cyclic 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 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.

[0070] wherein the LDPC encoding and decoding system is a pre-constructed system including an encoder, a channel model and a decoder. Oscillation refers to the case that the iteration result repeatedly fluctuates and cannot converge to the correct code group in the decoding process.

[0071] 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 ratios, and key indicators such as bit error rate and frame error rate are counted, so that the error correction capability of the quasi-cyclic check matrix under different channel conditions can be evaluated.

[0072] 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 vertically symmetric matrix, a new k value needs to 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 eliminate the oscillation by adjusting the symmetry of the matrix to optimize the structure.

[0073] If the test result shows that the error correction performance (such as the bit error rate under a certain signal-to-noise ratio) does not reach the preset target (such as being lower than a preset threshold), it indicates that the basic structure such as the degree distribution and the cycle length characteristics of the initial base matrix has defects, 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 of detecting the error correction performance is repeated until a quasi-cyclic check matrix reaching 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. The whole process is optimized through iteration to ensure that the final matrix has good error correction performance and structural feasibility.

[0074] In one embodiment, generating a vertically symmetric matrix based on the target basis matrix, the diagonal offset matrix, the expansion factor N, and an integer k coprime to the expansion factor N includes: calculating the element-wise product of k and the target basis matrix to obtain a first intermediate matrix; performing element-wise addition between the intermediate matrix and the diagonal offset matrix to obtain a second intermediate matrix; and performing a modulo N operation on each element of the second intermediate matrix to obtain a vertically symmetric matrix.

[0075] After selecting a number k that is coprime to N, the formula for calculating the extended matrix B can be as follows:

[0076] B = k × A + D (mod N)

[0077] Where D is the diagonal offset matrix.

[0078] In this embodiment, an integer k is multiplied by each element of the target basis matrix to obtain a first intermediate matrix. This process is equivalent to scaling the elements of the target basis matrix. Since k and N are coprime, this ensures that the transformed elements are evenly distributed and do not repeat. Next, the first intermediate matrix is ​​added element-wise to the diagonal offset matrix. Each element of the diagonal offset matrix is ​​a preset offset. These offsets are superimposed onto the corresponding positions in the first intermediate matrix to obtain a second intermediate matrix. This step introduces additional positional offsets to adjust the structure of subsequent cyclic permutation matrices. Finally, a modulo-N operation is performed on each element of the second intermediate matrix to constrain the element values ​​to the range of 0 to N-1, resulting in a vertically symmetric matrix. For any element in the vertically symmetric matrix, its elements at symmetrical positions about the vertical central axis satisfy a specific symmetry relationship (e.g., the sum of element values ​​is N or 0). This symmetry simplifies the decoding algorithm and improves computational efficiency when subsequently extended into a parity check matrix.

[0079] In some embodiments, such as Figure 2 As shown, before generating the vertical symmetric matrix based on the target basis matrix, the diagonal offset matrix, the expansion factor N, and the integer k coprime to the expansion factor N, the QC-LDPC code construction method further includes the following steps S201 to S203.

[0080] S201: Obtain the diagonal matrix offset and the set of critical values, where the diagonal matrix offset is used as a candidate value for the non-zero element in the diagonal offset matrix, and the set of critical values ​​includes position critical values ​​and offset critical values.

[0081] diagonal matrix offset .

[0082] S202: Filter out the effective diagonals of the diagonal offset matrix based on the position critical value.

[0083] The effective diagonal lines are screened according to the position threshold value, that is, the upper and lower limits of the diagonal line index are set (for example, only the main diagonal line and several diagonal lines near the main diagonal line are reserved, or diagonal lines that are too far away and may cause a short loop are excluded), and the effective diagonal lines that meet the structural sparsity and subsequent expansion requirements are determined from all potential diagonal lines, so as to avoid the performance degradation of the check matrix caused by the disordered distribution of the diagonal lines.

[0084] S203: determining the target value corresponding to the effective diagonal line according to the diagonal matrix offset and the offset threshold value, and generating the diagonal line offset matrix based on the target value corresponding to the effective diagonal line.

[0085] In the application, the diagonal matrix offset is selected as , which represents s is a set of positive integers less than N excluding the calculation threshold value, to obtain the target value corresponding to the effective diagonal line. That is, the target value of each effective diagonal line is selected to meet the constraint of the offset threshold value. 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, and the construction of the QC-LDPC code is completed.

[0086] In some embodiments, in step S201, the threshold value set is obtained, including: traversing all possible row pair combinations and column pair combinations in the target base matrix, and traversing 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 operation result set of each product result with modulus N as the threshold value set.

[0087] The threshold value set can be represented as:

[0088]

[0089] In the above formula, k is the aforementioned integer coprime with N, The first lower index of A matrix (i.e. the target base matrix) element represents the row number, and the second lower index represents the column number. All elements in the A matrix are traversed, and the result of the calculation of each 4-element combination with the N-coprime calculation is calculated.

[0090] In some embodiments, the quasi-cyclic check matrix of the QC-LDPC code is obtained by expanding the expansion base matrix, including: replacing the element -1 in the expansion base matrix with an N*N zero matrix, replacing the element 0 in the expansion base matrix with an N*N unit matrix, and replacing other elements x in the expansion base matrix with an N*N cyclic shift matrix. Wherein, 0

[0091] It can be understood that the extension of the extended base matrix to obtain the quasi-cyclic check matrix of the QC-LDPC code is to extend each element of the extended base matrix into 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), and such a zero matrix 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 shifting the unit matrix to the right by x positions (for example, when x = 1, the first row of the original unit matrix is shifted to the right by 1 position, and the last column element is moved to the first column, and the other rows are the same). The characteristic of the circulant shift makes the check matrix have a quasi-cyclic structure, which facilitates fast encoding and decoding in hardware. Through such element-level replacement, each element in the extended base matrix is expanded into 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 operation amount 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.

[0092] 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 to calculate the degree distribution and the existence of loops of the initial base matrix; and if the initial base matrix contains a 4-loop, performing a zeroing operation until a target base matrix without a 4-loop is obtained. The zeroing operation includes 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.

[0093] It should be noted that for an initial base matrix of m*n dimensions, there are n variable nodes corresponding to each column of the initial base matrix, and each variable node also represents a bit in the code word; there are m check nodes corresponding to each row in the initial base matrix, and each check node also represents a check equation.

[0094] First, a sparse base matrix is constructed to meet preset row weight and column weight, 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 (the number of edges connected to each node) and the existence of loops are calculated by a graph algorithm, and the focus is on detecting the existence of 4-loops (i.e. a closed path formed by 4 edges); if a 4-loop is detected, an iterative optimization is started: the number of times each node participates in a 4-loop (i.e. the number of 4-loops) 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 of the node is set to zero (i.e. one edge is deleted), and after each time of setting to zero, the 4-loop is re-detected, and the process is repeated until there is no 4-loop in the matrix. Since some nodes, after being set to zero, no longer form a 4-loop with the nodes that originally formed a 4-loop with them, the number of times of setting to zero can be reduced by preferentially eliminating the connections of the "most problematic" nodes, and finally a target base matrix that meets 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.

[0095] 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-loops in the extended base matrix; if the extended base matrix has 4-loops, 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.

[0096] It should be noted that in the process of synthesizing the extended base matrix, there is a probability of introducing new 4-loops, therefore, by verifying the existence of 4-loops in the extended base matrix and selecting a new integer k, it can be ensured that the final extended base matrix is free of 4-loops.

[0097] It can be understood that the existence of 4-loops in the extended base matrix can be determined by a loop detection algorithm. If it is detected that the extended base matrix has 4-loops, since the structure of the vertically symmetric matrix is directly affected by the integer k, a new integer k is selected and the step of generating a vertically symmetric matrix is returned to be executed, the element arrangement of the vertically 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 vertically symmetric matrix and its negative matrix is changed, breaking the original 4-loop closed path. By selecting the number k, the probability of introducing 4-loops can be greatly reduced, and the 4-loops are eliminated in the extended base matrix stage in advance, avoiding the performance degradation of the check matrix due to the 4-loop problem after extension, and ensuring that the finally generated QC-LDPC code has better error correction performance.

[0098] In some embodiments, referring to Figure 3 , the application provides a QC-LDPC code construction device 30 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.

[0099] The construction module 31 is configured to determine a target base matrix of the 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;

[0100] The first generation module 32 is configured to generate a vertically 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.

[0101] The synthesis module 33 is configured to synthesize an extension 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.

[0102] The extension module 34 is configured to extend the extension 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 extension base matrix.

[0103] The second generation module 35 is configured to generate the QC-LDPC code based on the quasi-cyclic check matrix.

[0104] In some embodiments, the QC-LDPC code construction apparatus 30 based on symmetric extension further includes a test module, a first execution module, and a second execution module. The test module is configured to input the quasi-cyclic check matrix into an LDPC encoding and decoding system, and test to obtain 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 the vertically symmetric matrix according to 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 a 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 a final output quasi-cyclic check matrix.

[0105] In some embodiments, the first generation module 32 is further configured to calculate an element-level product of the k and 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 a modulo N operation on each element of the second intermediate matrix to obtain the vertically symmetric matrix.

[0106] In some embodiments, the first generating module 32 is further configured to obtain a diagonal matrix offset and a threshold set, wherein the diagonal matrix offset is a candidate value of a non-zero element in the diagonal offset matrix, and the threshold set includes a position threshold and an offset threshold; filter out effective diagonals of the diagonal offset matrix based on the position threshold; determine target values corresponding to the effective diagonals according to the diagonal matrix offset and the offset threshold, and generate the diagonal offset matrix based on the target values corresponding to the effective diagonals.

[0107] In some embodiments, the expanding module 34 is further configured to replace -1 in the expanded base matrix with an N*N zero matrix, replace 0 in the expanded base matrix with an N*N identity matrix, and replace other elements x in the expanded base matrix with an N*N circulant shift matrix, wherein 0

[0108] In some embodiments, the constructing module 31 is further configured to obtain an initial base matrix according to a random code method; traverse check nodes and variable nodes of the initial base matrix, calculate the degree distribution of the initial base matrix and the existence of cycles; when the initial base matrix contains a 4-cycle, perform a zeroing operation until a target base matrix without a 4-cycle is obtained. The zeroing operation includes detecting the number of 4-cycles of each node of the initial base matrix, and zeroing the node with the largest number of 4-cycles.

[0109] In some embodiments, the expanding module 34 is further configured to determine the existence of a 4-cycle in the expanded base matrix; when the expanded base matrix contains a 4-cycle, select a new integer k, and return to 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.

[0110] It should be noted that the QC-LDPC code construction device based on symmetric expansion provided in the embodiments of the present application and the QC-LDPC code construction method based on symmetric expansion provided in 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 aforementioned QC-LDPC code construction method based on symmetric expansion, and the repeated parts will not be described herein.

[0111] In some embodiments, as shown in FIG. 4, Figure 4 As shown in FIG. 4, the electronic device 40 provided in the embodiments of the present application includes 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 aforementioned QC-LDPC code construction method based on symmetric expansion.

[0112] In particular, the processor 41 can include a general purpose microprocessor 41, a set of instructions processor 41 and / or related chipsets and / or a dedicated 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 multiple processing units for performing different actions of the method processes according to embodiments of the present application.

[0113] The memory 42 may, for example, be any medium capable of containing, storing, communicating, propagating or transporting instructions. For example, the memory 42 can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus, device or propagation medium. Specific examples of the memory 42 include a magnetic storage device, such as a magnetic tape or hard disk drive (HDD); an optical storage device, such as a compact disk (CD-ROM); also a random access memory 42 (RAM) or flash memory; and / or a wired / wireless communication link.

[0114] The present application also provides a computer readable medium having stored thereon a computer program, which, when executed by a processor, implements the above-mentioned method for constructing a symmetrically extended QC-LDPC code. The computer readable medium can be included in the device / apparatus / system described in the above embodiments; or can exist separately and not be assembled into the device / apparatus / system. The above computer readable medium carries one or more programs, which, when executed, implement the method according to embodiments of the present application.

[0115] 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.

[0116] 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 ring with a length of 4; calculating a k and an element level product of the target base matrix to obtain a first intermediate matrix; performing element level addition on the first intermediate matrix and a 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 a longitudinal symmetry matrix; composing an extended base matrix according to the target base matrix, the longitudinal symmetry matrix, a modulo inverse matrix of the target base matrix and a modulo inverse matrix of the longitudinal symmetry matrix, wherein the modulo inverse matrix of the target base matrix is defined as -A, the modulo inverse matrix of the longitudinal symmetry matrix is defined as -B, and the extended base matrix E = [A -A; B -B]; performing extension on 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, selecting a new integer k and returning to perform the step of generating a longitudinal symmetry matrix according to the target base matrix, an extension factor N and an 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 perform the step of determining a target base matrix of a QC-LDPC code based on a 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 a final output quasi-cyclic check matrix.

3. The method of constructing a symmetric expanded QC-LDPC code according to claim 1, wherein Before the step of generating a longitudinal symmetry 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 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 out effective diagonals of the diagonal line offset matrix based on the position critical value; determining a target value corresponding to the effective diagonals according to 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.

4. The method of constructing a symmetric expanded QC-LDPC code according to claim 3, wherein Obtaining a critical value set comprises the following steps: iterating to determine all possible row pair combinations and column pair combinations in the target base matrix, and iterating to combine the possible row pair combinations and column pair combinations to form four-element combinations; 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.

5. The method of constructing a symmetric expanded QC-LDPC code according to claim 1, wherein The step of performing extension on 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.

6. 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. Degree distribution and ring existence of the initial base matrix are calculated by traversing check nodes and variable nodes of the initial base matrix. If the initial base matrix contains a 4-ring, zero setting is continuously performed until a target base matrix without a 4-ring is obtained, wherein the zero setting comprises detecting the number of 4-rings of each node in the initial base matrix and setting the node with the largest number of 4-rings to zero.

7. The method of constructing a symmetric expanded QC-LDPC code according to any one of claims 1 to 5, 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 a 4-ring in the extended base matrix. If the extended base matrix contains a 4-ring, a new integer k is selected, and the step of generating a vertically symmetric matrix based on the target base matrix, an extension factor N, and an integer k coprime with the extension factor N is returned to be executed.

8. 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 ring with a length of 4; The first generation module is configured to calculate a first intermediate matrix by calculating the element-level product of k and the elements of the target base matrix, perform element-level addition on the first intermediate matrix and a diagonal line offset matrix to obtain a second intermediate matrix, and perform a modulo N operation on each element of the second intermediate matrix to obtain a vertically symmetric matrix; The synthesis module is configured to synthesize an extended base matrix based on 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, wherein 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 extended base matrix E = [A -A; B -B]; 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.

9. 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 7. 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 7.

Citation Information

Patent Citations

  • Type-II QC-LDPC (Quasi-Cyclic Low-Density Parity-Check) code construction method based on Fibonacci-Lucas sequence

    CN107528596A

  • Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices

    US20070033497A1