A coding method for globally coupled low-density parity-check codes

By constructing the base matrix of the globally coupled LDPC code and performing extended permutation and masking processing to generate the check matrix, the coding efficiency and engineering implementation issues of the globally coupled low-density parity-check code are solved, and a coding scheme with high efficiency and low hardware cost is achieved.

CN114285417BActive Publication Date: 2025-10-03包滨豪
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111572069.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-21
Publication Date
2025-10-03
Estimated Expiration
2041-12-21

AI Technical Summary

Technical Problem

In the prior art, there is no efficient coding method for constructing globally coupled low-density parity-check codes, resulting in insufficient error correction capability and difficulty in engineering implementation.

Method used

A base matrix of globally coupled LDPC codes is constructed, and a parity check matrix is ​​generated through extended permutation and masking. Globally coupled LDPC codes are used for encoding, and the special structure of the base matrix is ​​used for encoding operations to reduce hardware overhead.

Benefits of technology

The coding efficiency is improved, the hardware cost is reduced, and a highly reliable and easy-to-engineer coding scheme is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114285417B_ABST
    Figure CN114285417B_ABST
Patent Text Reader

Abstract

This invention discloses a method for encoding globally coupled low-density parity-check codes, comprising the following steps: S1, constructing a base matrix for the globally coupled LDPC code; S2, performing extended permutation and masking on the base matrix to obtain a parity check matrix for the globally coupled LDPC code; and S3, encoding using the parity check matrix for the globally coupled LDPC code. This method improves transmission reliability in high-speed channels such as memory and optical communications, is easy to implement through engineering, and offers the advantages of low hardware cost and high hardware throughput.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of channel coding, and in particular to a coding method for a globally coupled low-density parity-check code. Background Art

[0002] Channel coding, as one of the key methods for improving transmission reliability, has long been a research hotspot in the communications field. LDPC codes, with their excellent error correction performance and ease of hardware implementation, are considered a milestone in the field of error-correcting codes. The recently proposed globally coupled LDPC codes offer improved coupling characteristics compared to traditional structures. Through their globally coupled components, they enhance information transfer between check nodes and variable nodes during decoding iterations, providing a solution to the high reliability requirements of high-speed transmission scenarios.

[0003] The construction of globally coupled low-density parity-check codes is a research hotspot in this field. Designing the check matrix and the corresponding efficient coding method is of great significance for its engineering application, but there is currently no relevant solution. Summary of the Invention

[0004] In view of the above-mentioned deficiencies in the prior art, the present invention provides a coding method for a globally coupled low-density parity-check code, which has strong error correction capability, high coding efficiency, and easy engineering implementation of the corresponding codec.

[0005] In order to achieve the above-mentioned object of the invention, the technical solution adopted by the present invention is:

[0006] A method for encoding a globally coupled low-density parity-check code is provided, comprising the following steps:

[0007] S1. Construct a basis matrix of a globally coupled LDPC code;

[0008] S2. Performing extended permutation and masking processing on the base matrix to obtain a parity check matrix of the globally coupled LDPC code;

[0009] S3. Use the parity check matrix of the global coupled LDPC code for encoding.

[0010] Furthermore, the specific method of step S1 includes the following sub-steps:

[0011] S1-1. Determine the prime number q and the expansion factor z=q-1=r×l, take the primitive element α on the finite field GF(q), and obtain the set of powers of the primitive element α {α 0 =1,α,α 2 ,...,α q-2}; where r and l are both constants;

[0012] S1-2. Take the power of the primitive element α modulo the prime number q and subtract 1 to obtain the z×z mother matrix B0:

[0013]

[0014] S1-3, split the mother matrix B0 into r×r sub-matrices of dimension l×l, and randomly select one of the sub-matrices of dimension l×l, and take m×n elements from the l×l sub-matrix from top to bottom and from left to right to form the matrix B local ; Where m≤l, n≤l;

[0015] S1-4, matrix B local The l×(r×l) matrix is ​​used as matrix B local The part other than the 1×l vector is taken as the vector set M; take out s×r different 1×l vectors from the vector set M, and take out 1×n elements from left to right for each 1×l vector to obtain a matrix B with a dimension of s×(r×n) global ; That is, matrix B global Contains s×r different 1×n vectors; where s is a constant;

[0016] S1-5, r matrices B local Place it in the diagonal position and fill the rest of the positions with 0 to get the local matrix

[0017] S1-6, coupling the upper matrix B at the bottom of the local matrix global , and obtain the basis matrix B of the globally coupled LDPC code gc :

[0018]

[0019] Among them B global1 Represents the matrix B global The first submatrix in B globalr Represents the matrix B global The rth submatrix in matrix B global The size of each submatrix in is s×n.

[0020] Furthermore, in step S1-1, the value of r is 2≤r≤4.

[0021] Furthermore, the specific method of step S2 includes the following sub-steps:

[0022] S2-1, the current basis matrix B gc Perform extended permutation: replace the current basis matrix B one by one gc The elements in are replaced by the permutation matrix after the z×z unit matrix is ​​cyclically shifted right according to the element coefficient value, and the matrix H is obtained;

[0023] S2-2, obtain the sub-matrix of the matrix H that needs to be inverted;

[0024] S2-3. Determine whether the submatrix to be inverted is full rank. If so, use the matrix H as the check matrix for the global coupled LDPC code. The matrix H1 is composed of B local The elements in are replaced by the z×z unit matrix and the permutation matrix is ​​obtained by cyclic right shift of the element coefficient value. The matrix H r+1 By B globalr The elements in are replaced by the z×z unit matrix and the permutation matrix is ​​obtained by cyclic right shift of the element coefficient values; otherwise, go to step S2-4;

[0025] S2-4. Obtain and convert the base matrix B corresponding to the submatrix in matrix H that needs to be inverted but is not full rank gc The sub-matrix of is used as the mask matrix;

[0026] S2-5. Randomly generate matrix B mask Perform mask operation on the mask matrix to obtain a new basis matrix B gc , return to step S2-1.

[0027] Furthermore, the specific method of step S3 includes the following sub-steps:

[0028] S3-1. Split the matrix H1 from left to right to obtain a submatrix H a and a maximum square submatrix H b ; Sub-matrix H a Split the left and right matrices H into submatrices with nms and s columns respectively m and H n ; That is, H1=[H m ,H n ,H b ];

[0029] S3-2, the matrix H r+1 Split from left to right to obtain submatrices H with nms and s columns respectively j and matrix H k , and a maximum square submatrix H v ; That is H r+1 =[H j ,H k ,H v ];

[0030] S3-3, divide the information sequence to be encoded into r parts, denoted as s1, s2, ..., s r; The bit lengths of the first r-1 information sequences to be encoded are all (nm)×(z), and the bit length of the rth information sequence to be encoded is (nms)×(z);

[0031] S3-4, the r information sequences to be encoded are divided into two groups according to H gc c T =0, and perform multiplication and addition operations on the sub-matrices obtained by splitting to obtain the check sequence p1, p2, ..., p r-1 ,p r1 ,p r2 ; Where c is the code sequence to be obtained c=[c1,c2,...,c r ], c r is the coding subsequence to be obtained; (·) T Represents the transpose of a matrix;

[0032] S3-5, with [[s1,p1],[s2,p2],...,[s r-1 ,p r-1 ],[s r ,p r1 ,p r2 ]] to obtain the coding sequence c and complete the encoding.

[0033] Furthermore, the specific method of step S3-4 is:

[0034] When r=2, according to the formula:

[0035]

[0036] Get the verification sequence p1,p 21 ,p 22 ; Among them, the encoding subsequence c1=[s1,p1], the encoding subsequence c2=[s2,p 21 ,p 22 ];

[0037] When r=3, according to the formula:

[0038]

[0039] Get the verification sequence p1, p2, p 31 ,p 32 ; Among them, the encoding subsequence c1=[s1,p1], the encoding subsequence c2=[s2,p2], the encoding subsequence c3=[s3,p 31 ,p 32 ];

[0040] When r=4, according to the formula:

[0041]

[0042] Get the verification sequence p1, p2, p3, p 41 ,p 42 ; Among them, the encoding subsequence c1=[s1,p1], the encoding subsequence c2=[s2,p2], the encoding subsequence c3=[s3,p3], the encoding subsequence c4=[s4,p 41 ,p 42 ].

[0043] The beneficial effects of the present invention are:

[0044] 1. High coding efficiency: Based on the global coupling LDPC codeword and its parity check matrix structure characteristics, the basic definition of linear block code H gc c T = 0 to expand, which can achieve more efficient encoding.

[0045] 2. Ease of engineering implementation: Compared with traditional spatial coupling methods, this method adds a global coupling part to the check matrix. Since each block of the local matrix has the same dimension and matrix coefficients, in engineering implementation, the globally coupled low-density parity-check code can reuse the operation unit and matrix coefficient storage ROM when decoding the local part, reducing hardware overhead and having high engineering value. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 Schematic diagram of the process of this method;

[0047] Figure 2 Schematic diagram of the error correction performance simulation of this method; DETAILED DESCRIPTION

[0048] The specific embodiments of the present invention are described below to facilitate understanding of the present invention by those skilled in the art. However, it should be clear that the present invention is not limited to the scope of the specific embodiments. For those skilled in the art, as long as various changes are within the spirit and scope of the present invention as defined and determined by the appended claims, these changes are obvious, and all inventions and creations utilizing the concepts of the present invention are protected.

[0049] like Figure 1 As shown, the encoding method of the global coupled low-density parity-check code includes the following steps:

[0050] S1. Construct a basis matrix of a globally coupled LDPC code;

[0051] S2. Performing extended permutation and masking processing on the base matrix to obtain a parity check matrix of the globally coupled LDPC code;

[0052] S3. Use the parity check matrix of the global coupled LDPC code for encoding.

[0053] The specific method of step S1 includes the following sub-steps:

[0054] S1-1. Determine the prime number q and the expansion factor z=q-1=r×l, take the primitive element α on the finite field GF(q), and obtain the set of powers of the primitive element α {α 0 =1,α,α 2 ,...,α q-2}; where r and l are both constants; the value of r is 2≤r≤4;

[0055] S1-2. Take the power of the primitive element α modulo the prime number q and subtract 1 to obtain the z×z mother matrix B0:

[0056]

[0057] S1-3, split the mother matrix B0 into r×r sub-matrices of dimension l×l, and randomly select one of the sub-matrices of dimension l×l, and take m×n elements from the l×l sub-matrix from top to bottom and from left to right to form the matrix B local ; Where m≤l, n≤l;

[0058] S1-4, matrix B local The l×(r×l) matrix is ​​used as matrix B local The part other than the 1×l vector is taken as the vector set M; take out s×r different 1×l vectors from the vector set M, and take out 1×n elements from left to right for each 1×l vector to obtain a matrix B with a dimension of s×(r×n) global ; That is, matrix B global Contains s×r different 1×n vectors; where s is a constant; m and s are positive integers strictly less than the column weight, and n is usually a positive integer close to 1. m, s, n, and r determine the code rate, and n and r combined with z determine the code length;

[0059] S1-5, r matrices B local Place it in the diagonal position and fill the rest of the positions with 0 to get the local matrix

[0060] S1-6, coupling the upper matrix B at the bottom of the local matrix global , we get a base matrix B of a globally coupled LDPC code of order (m×r+s)×(n×r) gc :

[0061]

[0062] Among them B global1 Represents the matrix Bglobal The first submatrix in B globalr Represents the matrix B global The rth submatrix in matrix B global The size of each submatrix in is s×n.

[0063] Traditional methods of constructing LDPC codes using random forms often introduce short cycles. To address this problem, this method first constructs the mother matrix B0. Due to its special structure, it has been theoretically proven that this matrix itself has the advantage of not containing four cycles. At the same time, the advantage of the identical coefficients of the local sub-matrices on its diagonal allows the overall hardware implementation of the decoder to reuse an arithmetic unit and a set of coefficient storage ROMs in a pipelined manner for decoding, effectively reducing hardware costs.

[0064] The specific method of step S2 includes the following sub-steps:

[0065] S2-1, the current basis matrix B gc Perform extended permutation: replace the current basis matrix B one by one gc The elements in are replaced by the permutation matrix after the z×z unit matrix is ​​cyclically shifted right according to the element coefficient value, and the matrix H is obtained;

[0066] S2-2, obtain the sub-matrix of the matrix H that needs to be inverted;

[0067] S2-3. Determine whether the submatrix to be inverted is full rank. If so, use the matrix H as the check matrix for the global coupled LDPC code. The matrix H1 is composed of B local The elements in are replaced by the z×z unit matrix and the permutation matrix is ​​obtained by cyclic right shift of the element coefficient value. The matrix H r+1 By B globalr The elements in are replaced by the z×z unit matrix and the permutation matrix is ​​obtained by cyclic right shift of the element coefficient values; otherwise, go to step S2-4;

[0068] S2-4. Obtain and convert the base matrix B corresponding to the submatrix in matrix H that needs to be inverted but is not full rank gc The sub-matrix of is used as the mask matrix;

[0069] S2-5. Randomly generate matrix B mask Perform mask operation on the mask matrix to obtain a new basis matrix B gc , return to step S2-1.

[0070] The specific method of step S3 includes the following sub-steps:

[0071] S3-1. Split the matrix H1 from left to right to obtain a submatrix H a and a maximum square submatrix H b; Sub-matrix H a Split the left and right matrices H into submatrices with nms and s columns respectively m and H n ; That is, H1=[H m ,H n ,H b ];

[0072] S3-2, the matrix H r+1 Split from left to right to obtain submatrices H with nms and s columns respectively j and matrix H k , and a maximum square submatrix H v ; That is H r+1 =[H j ,H k ,H v ];

[0073] S3-3, divide the information sequence to be encoded into r parts, denoted as s1, s2, ..., s r ; The bit lengths of the first r-1 information sequences to be encoded are all (nm)×(z), and the bit length of the rth information sequence to be encoded is (nms)×(z);

[0074] S3-4, the r information sequences to be encoded are encoded according to the basic definition of linear block code H gc c T =0, and perform multiplication and addition operations on the sub-matrices obtained by splitting to obtain the check sequence p1, p2, ..., p r-1 ,p r1 ,p r2 ; Where c is the code sequence to be obtained c=[c1,c2,...,c r ], c r is the coding subsequence to be obtained; (·) T Represents the transpose of a matrix;

[0075] S3-5, with [[s1,p1],[s2,p2],...,[s r-1 ,p r-1 ],[s r ,p r1 ,p r2 ]] to obtain the coding sequence c and complete the encoding.

[0076] The specific method of step S3-4 is:

[0077] When r=2, according to the formula:

[0078]

[0079] Get the verification sequence p1,p 21 ,p 22 ; Among them, the encoding subsequence c1=[s1,p1], the encoding subsequence c2=[s2,p 21 ,p 22 ];

[0080] When r=3, according to the formula:

[0081]

[0082] Get the verification sequence p1, p2, p 31 ,p 32 ; Among them, the encoding subsequence c1=[s1,p1], the encoding subsequence c2=[s2,p2], the encoding subsequence c3=[s3,p 31 ,p 32 ];

[0083] When r=4, according to the formula:

[0084]

[0085] Get the verification sequence p1, p2, p3, p 41 ,p 42 ; Among them, the encoding subsequence c1=[s1,p1], the encoding subsequence c2=[s2,p2], the encoding subsequence c3=[s3,p3], the encoding subsequence c4=[s4,p 41 ,p 42 ].

[0086] In one embodiment of the present invention, a parity check matrix of a globally coupled LDPC code with a size of 2100×21150, an average row weight of 59.64, and an average column weight of 5.92 is designed and used for encoding. The prime number is selected as 151, the finite field GF(151) is selected, the primitive element α=13, the expansion factor z=150, m=4, n=47, s=2, r=3, and l=50 are selected. According to the set parameters, the base matrix B gc The size is 14×141, and the mother matrix B0 is divided into 3×3 sub-matrices according to 50×50. Then, select one of the 3×3 sub-matrices, select the first 4 rows and the first 47 columns along the main diagonal, and repeat them from the top left to the bottom right and fill the blanks with zeros to obtain the base matrix B. gc The local part of , that is, the local matrix.

[0087] From the above basis matrix B gcThe size is 14×141 and the local matrix size is 12×141. It can be seen that the global coupling part of the base matrix is ​​2×141 in size and consists of 6 1×47 sub-matrices. Assuming that the local matrix is ​​taken from the (x-1)×50+y to (x-1)×50+y+3 rows in the mother matrix B0, the 6 1×47 sub-matrices must be taken from the set of 146 1×50 sub-matrices in the (x-1)×50+1 to x×50 rows except for the local part. The local part and the global coupling part of the base matrix are spliced ​​up and down to obtain the base matrix B gc The base matrix is ​​extended, permuted and masked to obtain the parity check matrix of the globally coupled LDPC code.

[0088] The following simulation is performed on the (21150, 19050) globally coupled LDPC code obtained above:

[0089] Simulation scenario: The source generates and sends a random bit sequence of length 19050. The encoder encodes it according to the coding algorithm to obtain a coded sequence of 21150. After BPSK modulation, the modulated sequence is obtained. Then, it reaches the decoder through a Gaussian white noise channel. The decoder uses the layered minimum sum belief propagation decoding algorithm based on the designed check matrix and base matrix to recover the message sent by the source. The maximum number of iterations is set to 10.

[0090] Simulation content: The error correction performance of the global coupled LDPC code constructed by this method is simulated, and the following results are obtained: Figure 2 The simulation curve represents the bit error rate performance corresponding to the check matrix designed and constructed by the present invention. Figure 2 The vertical axis BER represents the bit error rate, and the horizontal axis represents the receiver demodulation threshold, which is the energy per bit (Eb) divided by the noise power spectral density (No).

[0091] In summary, the present invention improves the transmission reliability in high-speed channels such as memory and optical communication, is easy to implement in engineering, and has the advantages of low hardware cost and high hardware throughput.

Claims

1. A method for encoding a globally coupled low-density parity-check code, characterized in that: The following steps are involved: S1. Construct a basis matrix of a globally coupled LDPC code; S2. Performing extended permutation and masking processing on the base matrix to obtain a parity check matrix of the globally coupled LDPC code; S3, using a check matrix of a globally coupled LDPC code for encoding; The specific method of step S2 includes the following sub-steps: S2-1, the current basis matrix Perform extended permutation: Replace the current basis matrix one by one Replace the elements in z × z The permutation matrix after the identity matrix is ​​cyclically shifted right according to the element coefficient value is obtained ; S2-2. Get Matrix The submatrix that needs to be inverted; S2-3, determine whether the submatrix to be inverted is full rank, if so, then the matrix As the parity check matrix of the globally coupled LDPC code , where the matrix By matrix Replace the elements in z × z The identity matrix is ​​obtained by cyclically shifting the element coefficient value to the right and then permuting the matrix. By matrix Replace the elements in z × z The identity matrix is ​​obtained by cyclically shifting the element coefficient values ​​into the permutation matrix. r is a constant; the matrix and matrix are all elements in the basis matrix, the matrix The size of each submatrix in s × n ,matrix The size is m × n ; Otherwise go to step S2-4; S2-4, obtain and matrix The basis matrix corresponding to the submatrix that needs to be inverted but is not of full rank The sub-matrix of is used as the mask matrix; S2-5. Randomly generated matrix Perform mask operation on the mask matrix to obtain a new basis matrix , return to step S2-1; The specific method of step S3 includes the following sub-steps: S3-1, the matrix Split from left to right to get a sub-matrix and a maximum square submatrix ; Sub-matrix The left and right columns are nms and s Submatrix of and ;Right now ; S3-2, the matrix Split from left to right, and the number of columns is n - m - s and s Submatrix of and matrix , and a maximum square submatrix ;Right now ; S3-3, divide the information sequence to be encoded into r , respectively expressed as ; Among them r -1 bit length of the information sequence to be encoded is , No. r The bit length of the information sequence to be encoded is ; S3-4, will r The information sequence to be encoded is The expanded form of is multiplied and added with the sub-matrix obtained by splitting to obtain the check sequence ;in c The coding sequence to be obtained , is the encoding subsequence to be obtained; Represents the transpose of a matrix; S3-5, The coding sequence is obtained by splicing c , complete the coding; The specific method of step S3-4 is: when r =2, according to the formula: Get the verification sequence ; wherein the coding subsequence , coding subsequence ; when r =3, according to the formula: Get the verification sequence ; wherein the coding subsequence , coding subsequence , coding subsequence ; when r =4, according to the formula: Get the verification sequence ; wherein the coding subsequence , coding subsequence , coding subsequence , coding subsequence .

2. The encoding method of the globally coupled low-density parity-check code according to claim 1, wherein: The specific method of step S1 includes the following sub-steps: S1-1. Determine prime numbers q and expansion factor z = q -1= r × l , take the primitive element on the finite field GF(q) , get the primitive element The set of powers ;in r and l are all constants; S1-2, the original element The set of powers of prime numbers q After taking the modulus and subtracting 1, we get z × z The mother matrix : ; S1-3, the mother matrix Split into r × r The dimensions are l × l A submatrix of , and any one of its dimensions is l × l The sub-matrix of l × l The submatrix is ​​taken from top to bottom and from left to right m × n Elements form a matrix ;in m ≤ l , n ≤ l ; S1-4, the matrix Location Matrix removed as matrix of The part outside the vector is taken as the vector set M; Take from the vector set M different Vector, for each taken out Vectors are taken from left to right elements, and the dimension is Matrix ; That is, the matrix Include s × r Different 1× n vector; where s is a constant; S1-5, will r matrices Place it in the diagonal position and fill the rest of the positions with 0 to get the local matrix ; S1-6. Couple the upper matrix at the bottom of the local matrix , and obtain the basis matrix of the globally coupled LDPC code : in Representation matrix The first submatrix in ; Representation matrix The r submatrices, matrices The size of each submatrix in s × n .

3. The encoding method of the globally coupled low-density parity-check code according to claim 2, wherein: In step S1-1 r The value of .