A method for constructing irregular LDPC codes based on Fibonacci and GCD
Through the non-regular QC-LDPC code construction method based on Fibonacci sequences and GCD sequences, the problem of inflexible code length and code rate selection in the prior art is solved, and good error correction performance and simple hardware implementation are achieved under high signal-to-noise ratio.
Patent Information
- Application Number
- CN202111241479.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-25
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2041-10-25
AI Technical Summary
The existing QC-LDPC code construction method is not flexible enough in the selection of code length and code rate, resulting in poor transmission effect on channels with limited signal transmission and complex hardware implementation.
Using an irregular QC-LDPC code construction method based on Fibonacci sequence and greatest common divisor (GCD) sequence, a specific basis matrix P and cyclic displacement matrix H1 are designed to generate a parity check matrix H with irregular characteristics, and flexible selection of code length and code rate is achieved.
This method can achieve good error correction performance under high signal-to-noise ratio, avoid the existence of 4 rings, and is simple to calculate and less storage space, making it suitable for hardware implementation.
Smart Images

Figure CN113949390B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of channel coding, and relates to a method for constructing an irregular QC-LDPC code based on a Fibonacci sequence and a Greatest Common Divisor (GCD) sequence. Background Art
[0002] With the rapid development of mobile communication technology, channel coding technology has become a hot topic in research today. Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) codes have been widely used because of their advantages of being close to the Shannon limit and easy to implement in hardware. Since the signal will be affected by noise and other factors during the transmission process, the reliability and effectiveness of data transmission will be greatly affected. Therefore, when emphasizing the error correction capability of channel coding, it is also necessary to adjust the code rate according to the real-time situation of the channel, and send codewords of the corresponding code rate in different channel conditions to ensure the reliability and effectiveness of data transmission.
[0003] According to different construction methods, check matrices are mainly divided into two categories: random check matrices and structured check matrices. At present, the classic random constructions mainly include Gallager, MacKay, PEG and other construction methods. Due to the randomness of the check matrix, the hardware requirements are more complex, so simple coding cannot be achieved. The structured check matrix construction mainly includes algebraic geometry, combinatorial mathematics and other methods. Although the construction method is simple, the above methods are limited by specific structures, resulting in inflexible selection of code length and code rate, and the transmission effect is not ideal in channels with limited signal transmission. In order to take into account the problems of flexible selection of code length and code rate and coding complexity, a hybrid construction combining the advantages of random construction and structured construction is proposed, which can not only flexibly select code length and code rate, but also is easy to implement in hardware. Among them, the most widely used is the QC-LDPC code based on the original model graph construction. The original model graph can be used to construct the check matrix more simply and flexibly.
[0004] The present invention relates to a method for constructing an irregular QC-LDPC code based on a Fibonacci sequence and a GCD sequence. In order to improve the error correction performance of a code type, an irregular QC-LDPC code is used to achieve a compromise between a check node and a variable node. The main diagonal of a matrix P with a size of 4×4 on the left side of the original model image base matrix P is an element ∞, and the elements below the diagonal are ∞ and 1 appear alternately. This design method can expand the base matrix to obtain a parity check matrix H with irregular characteristics. In order to further improve the error correction performance of the constructed codeword, the diagonal elements of the matrix with a size of 4×4 on the right side of P are replaced by 0, and the remaining elements in P are represented by 1. Then, a cyclic shift matrix H1 constructed based on the Fibonacci sequence and the GCD sequence is used to expand the base matrix P to generate a check matrix H. The cyclic shift matrix H1 can be constructed by simply multiplying two sets of sequences, which is simple to calculate, requires less storage space, can eliminate 4 rings without computer search, and has very few 6 rings. This construction method can not only flexibly select the code length and code rate, but also has good error correction performance under high signal-to-noise ratio and no obvious error flatness. After simulation analysis, the bit error rate of this code type is 10 at code rate 0.5 and code rate 0.6 respectively. -6 with 10 -7 All have good error correction capabilities. Summary of the invention
[0005] In view of this, the purpose of the present invention is to provide a method for constructing irregular QC-LDPC codes based on Fibonacci numbers and Greatest Common Divisor (GCD) sequences, and to design a cyclic shift matrix H1 to extend the base matrix P using a combination of number sequences, thereby generating a parity check matrix H. The cyclic shift matrix H1 can be constructed by simply multiplying two sets of number sequences, requiring less access space, simple calculation, eliminating 4 rings without computer search, and the constructed code type has very few 6 rings. The method can flexibly select the code rate and code length, and has no obvious error flattening under high signal-to-noise ratio.
[0006] In order to achieve the above object, the present invention provides the following technical solutions:
[0007] First, the main diagonal of the matrix with a size of 4×4 on the left side of the base matrix P is the element ∞, and the elements below the diagonal are ∞ and 1 alternately appearing. This design method can make the parity check matrix obtained by expanding the base matrix P have irregular characteristics. In order to further improve the error correction performance of the constructed codeword, the diagonal part of the matrix with a size of 4×4 on the right side of P is replaced by the element 0, and the remaining elements in the base matrix P are 1.
[0008] Then, in order to prevent the expansion coefficient N of the check matrix from increasing rapidly with the increase of variable nodes n, a set of sequences a obtained by the GCD algorithm in Reference 1 is used. i(1,10,11,23) and the Fibonacci sequence are combined to construct a cyclic shift matrix. To ensure that the element values of the cyclic shift matrix H1 increase, the Fibonacci sequence F r Start from the second element 1, and the number of elements can be flexibly selected according to the code rate and code length. The first column of H1 is sequence a i , the first line is the Fibonacci sequence F r , the remaining elements are the products of the corresponding row and column elements a i ×F r . Because of the Fibonacci sequence and the GCD sequence a i The increasing characteristic of can ensure that the elements in each row and column of H1 increase and the intervals between adjacent elements also increase. Therefore, by choosing a suitable expansion coefficient N, 4 rings can be avoided.
[0009] Next, the basis matrix P is matched with the cyclic shift matrix H1. The element ∞ in P is expanded with a zero matrix of size N×N, the element 0 is expanded with a unit matrix of size N×N, and the element 1 is cyclically shifted by a unit matrix of size N×N. i F r Bit extension, where a i F r is the element a corresponding to element 1 in H1 i ×F r .
[0010] Finally, in the same simulation environment, a non-regular QC-LDPC code construction method based on Fibonacci sequence and GCD sequence proposed in this patent is simulated and compared with other similar coding schemes.
[0011] The beneficial effects of the present invention are:
[0012] The present invention relates to a method for constructing an irregular QC-LDPC code based on a Fibonacci sequence and a GCD sequence. The main diagonal of a matrix with a size of 4×4 on the left side of a base matrix P is an element ∞, and the elements below the diagonal are ∞ and 1 alternately appearing. This design method can make the parity check matrix H constructed by P have irregular characteristics. In order to further improve the error correction performance of the constructed codeword, the diagonal elements of the matrix with a size of 4×4 on the right side of P are replaced by 0, and the remaining elements in P are represented by 1. Then, the cyclic shift matrix H1 constructed by the Fibonacci sequence and the GCD sequence is used to expand the base matrix P to generate the parity check matrix H. Among them, the cyclic shift matrix H1 only needs to be constructed by simply multiplying two sets of sequences, which is simple to calculate and requires less storage space. This construction method can not only flexibly select the code length and code rate, but also eliminate 4 rings without computer search, and there are very few 6 rings, and the error correction performance is good under high signal-to-noise ratio, and there is no obvious error flattening. Through simulation analysis, the bit error rate of this code type is 10 at bit rate 0.5 and bit rate 0.6 respectively. -6 with 10-7 All have good error correction capabilities. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to make the purpose, technical solution and beneficial effects of the present invention clearer, the present invention provides the following drawings for illustration:
[0014] Figure 1 It is a technical flow chart of the algorithm of the present invention;
[0015] Figure 2 Performance comparison chart of the patented QC-LDPC code and other code types when the code rate is 0.5;
[0016] Figure 3 Performance comparison chart of the patented QC-LDPC code and other code types when the code rate is 0.6; DETAILED DESCRIPTION
[0017] The preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0018] (1) Combined with Figure 1 Description: A method for constructing irregular QC-LDPC codes based on Fibonacci sequence and GCD sequence is as follows:
[0019] The diagonal part of the matrix with a size of 4×4 on the left side of the base matrix P is replaced by the element ∞, and the part with diagonal elements below ∞ is replaced by 1 and ∞ alternately; the diagonal part of the matrix with a size of 4×4 on the right side of the base matrix P is replaced by the element 0. Its structure is shown in formula (4):
[0020]
[0021] Reference 1 constructs the entire cyclic shift matrix based on the GCD algorithm, but its algorithm is complex and when the number of base matrix variable nodes n increases, in order to ensure the ring length, the expansion coefficient N of the parity check matrix also increases, thereby increasing the computational complexity. This paper uses a set of increasing sequences a obtained by the GCD algorithm in Reference 1 i (1,10,11,23) and the Fibonacci sequence F r Multiply to construct the cyclic shift matrix H1. To satisfy the increasing elements of the cyclic shift matrix H1, the Fibonacci numbers in this paper start from 1, where the Fibonacci sequence F r The first few items of are (1,1,2,3,5,8,13,21,…). The steps to construct the cyclic shift matrix H1 are as follows:
[0022] Step 1: The first row of elements in H1 is the Fibonacci sequence F r , the first column element is the GCD sequence a i . Since the first element of both sequences is 1, the first element can overlap.
[0023] Step 2: The remaining elements of the cyclic shift matrix H1 are the products of the first elements of the corresponding rows and columns, so F r and a i They are all monotonically increasing, so the elements in H1 constructed by multiplication also have increasing characteristics.
[0024] Step 3: Due to F r and a i The interval between elements also has an increasing characteristic, so the interval between adjacent elements in H1 also has an increasing characteristic. By selecting the largest element in H1, the range of the expansion coefficient N can be determined. Since the last element in the base matrix P is represented by 0, the value of the expansion coefficient N is greater than the element a4×F in the cyclic shift matrix H1. n-1 This avoids 4 rings.
[0025] The cyclic shift matrix H1 constructed by this scheme is shown in formula (5):
[0026]
[0027] Then, the base matrix P is expanded using the cyclic shift matrix H1 to obtain the parity check matrix H, where the element ∞ in P is expanded with a zero matrix of size N×N, the element 0 is expanded with a unit matrix of size N×N, and the element 1 is cyclically shifted by a unit matrix of size N×N i F r Bit extension, a i F r is the element a corresponding to element 1 in H1 i ×F r The obtained parity check matrix H is shown in formula (6):
[0028]
[0029] Wherein m=4 in the cyclic shift matrix H1 and the parity check matrix H.
[0030] Theorem 1 [2k-ring]: If (a1, a2, …, a 2l-1 ,a 2l ) is an element in the basis matrix P, and element a i and a i+1 In the same row or column, and a i and a i+2 In different rows and columns. If there is a minimum positive integer r that satisfies equation (7), then the elements (a1, a2, …, a 2l-1 ,a 2l )The extended check matrix has a ring of length 2lr.
[0031]
[0032] (P(i,t)+P(j,s))-(P(i,s)+P(j,t))≠0 (8)
[0033] It can be seen that if the constructed check matrix does not contain 4 cycles, the elements in the parity check matrix H must satisfy formula (8), where 1≤i<j≤m, 1≤s, t≤n, P(i,t) and P(i,s) are the tth and sth elements of the i-th row in the matrix H, and P(j,t) and P(j,s) are the tth and sth elements of the j-th row in the base matrix. As shown in formula (9), M is any second-order minor formula in H.
[0034]
[0035] The expansion coefficient N in this paper is taken as N≥a4F n-1 +1, assuming that there are 4 rings in H, M can be divided into the following cases:
[0036] ① If M contains the element ∞: ∞ represents the zero matrix. If M contains ∞, no 4-ring will be formed.
[0037] ② If M does not contain element ∞ and element 0: According to the GCD algorithm and ring existence theorem in reference [1], when N≥(a i -a j )(F t -F s )+1,a i,s -a j,s +a j,t -a i,t =(a j,t -a j,s )-(a i,t -a i,s )=a j (F t -F s )-a i (F t -F s )=(a j -a i )(F t -F s )≠0(modN), so there is no 4-ring, which contradicts the assumption.
[0038] ③ If there is an element 0 in M: According to the position of the 0 element, it can be further divided into the following three cases:
[0039]
[0040] From element a in M1 i,s -a j,s +a j,t-0=a j (F t -F s )+a i F s <a j F t -a i F s ≠0(modN), so there is no 4-ring; element a in M2 i,t -0+a j,s -0=a j F s +a i F t <2a j F t ≠0(modN), so there is no 4-ring; similarly, element a in M3 i,s -0+a j,t -a j,s =a i F s +(a j -a i )F t <a j F t -a i F s ≠0(modN), and there is no 4-loop; therefore, the QC-LDPC code constructed in this paper can completely avoid the 4-loop.
[0041] According to the above construction scheme, n=8 is taken to construct a 4×8 cyclic shift matrix. The parity check matrix H can be obtained from the cyclic shift matrix. The expansion coefficient N=300 is taken to obtain an irregular QC-LDPC code with a code rate of 0.5 according to the check matrix. The parity check matrix is shown in formula (11):
[0042]
[0043] Similarly, if we want to use this scheme to construct an irregular QC-LDPC code with a code rate of 0.6, we take n = 10, and we can construct a cyclic shift matrix of size 4 × 10, where the value of the expansion coefficient N must be greater than the element a4 × F9 in the cyclic shift matrix. According to the value of the Fibonacci sequence, the parity check matrix corresponding to the irregular QC-LDPC code with a code rate of 0.6 is shown in formula (12):
[0044]
[0045] (2) Combined with attachment Figure 2 , 3Description: In order to verify that the construction scheme proposed in this patent has excellent error correction performance, the following simulation experiments are carried out. Simulation environment: The channel is an additive white Gaussian noise channel (Additive White Gaussian Noise Channel, AWGNC), binary phase shift keying (Binary Phase Shift Keying, BPSK) modulation is adopted, the belief propagation (Belief Propagation, BP) algorithm is selected, and the number of iterations is 50 times. The irregular QC-LDPC code (2400, 1200) with a code rate of 0.5 constructed by this patent is compared with the finite length irregular FL-QC-LDPC (2400, 1200) code based on the elimination of trap sets, the irregular Type-I QC-LDPC (2400, 1200) code based on the complete difference set, and a fast-compilable irregular GL-QC-LDPC (2400, 1200) code based on the GCD algorithm. The simulation results under the same simulation environment are shown in the figure. Figure 2 When the BER is 10 -6 When compared with other code types, the net coding gain of the irregular QC-LDPC code constructed by this patent is improved by about 0.2dB, 0.2dB and 0.08dB respectively, and no obvious error leveling occurs. To further verify that the code type constructed by this scheme has good error correction capability, the irregular QC-LDPC code with a code rate of 0.6 constructed by this patent is compared with a fast-compilable irregular GL-QC-LDPC (7830, 4698) code based on the GCD algorithm and a RC-LDPC (7830, 4698) code based on matrix expansion. The simulation results are shown in the figure. Figure 3 As shown in the figure, under the same simulation environment, when the BER is 10 -7 When the net coding gain of the irregular QC-LDPC code constructed in this patent is respectively improved by about 0.04dB and 0.1dB compared with other code types.
[0046] Based on the above analysis, it can be seen that the irregular QC-LDPC code constructed using the construction method proposed in the patent has good error correction performance in a larger code rate range. This scheme is simple in design, requires less storage space, is simple to calculate, and can avoid 4 rings without computer search. Compared with several other code types, it has better error correction performance under high signal-to-noise ratio and does not have error flattening phenomenon.
Claims
1. A method for constructing an irregular quasi-cyclic low-density parity-check (QC-LDPC) code based on the Fibonacci sequence and the Greatest Common Divisor (GCD) sequence; a method for designing a base matrix P with good performance, constructing a cyclic shift matrix H1 using the Fibonacci sequence and the GCD sequence, and expanding the base matrix P with H1 to obtain a parity check matrix H; the specific steps of the method are as follows: Step 1: Design the base matrix P. To improve the error correction performance of the code type, an irregular QC-LDPC code is used to achieve a compromise between the check nodes and the variable nodes. The main diagonal of the 4×4 matrix on the left side of the base matrix P is the element ∞, and the elements below the diagonal are ∞ and 1 appear alternately. The parity check matrix obtained by expanding the base matrix constructed by this design method has irregular characteristics. To further improve the error correction performance of the constructed codeword, the diagonal elements of the 4×4 matrix on the right side of P are replaced by 0, and the other elements of P are represented by 1. Its structure is shown in formula (1): Step 2: Determine the cyclic shift matrix H1; To prevent the expansion coefficient of the check matrix from increasing rapidly with the increase of variable nodes n, a set of GCD sequences A obtained by the GCD algorithm is used i The 4-bit element a in i (1,10,11,23), i∈(1,2,3,4) and the Fibonacci sequence F r Combined structure; To ensure the increase of H1, the Fibonacci sequence F r Start from the second element 1, where r∈(1,2,…,n), and flexibly select the number of elements according to the code rate and code length; the first column of H1 is a i (1,10,11,23), the first line is the Fibonacci sequence F r , the remaining elements are the products of the first elements of the corresponding rows and columns a i ×F r ; By Fibonacci sequence and GCD sequence a i The increasing characteristic of can ensure the increasing of H1 elements. By selecting a suitable expansion coefficient N, 4 cycles can be avoided. The form of the cyclic shift matrix H1 is expressed as shown in formula (2): Step 3: Determine the expansion coefficient N; after step 2, the elements of the cyclic shift matrix have an increasing characteristic and the intervals between adjacent elements also have an increasing characteristic, where the largest element is the element a4×F in the 4th row and the nth column n Since the diagonal of the 4×4 matrix on the right side of the basis matrix P is modified with element 0, the value of the expansion coefficient N is greater than a4×F n-1 In this way, 4 loops can be avoided; the value of N in simulation is N=a4×F n-1 +1; Step 4: Generate the parity check matrix H; correspond the basis matrix P to the cyclic shift matrix H1, expand the element ∞ in P with a zero matrix of size N×N, expand the element 0 with a unit matrix of size N×N, and cyclically shift the element 1 with a unit matrix of size N×N i F r Bit extension, where a i F r The element value a corresponding to element 1 in H1 i ×F r ; The parity check matrix H obtained by expanding the base matrix P is shown in formula (3):
2. The method for constructing an irregular QC-LDPC code based on a Fibonacci sequence and a GCD sequence according to claim 1, characterized in that: The base matrix P is modified by elements ∞ and 0 to ensure the irregular characteristics of the parity check matrix while improving the error correction capability of the code type; the combination of the Fibonacci sequence and the GCD sequence can avoid the phenomenon that the expansion coefficient N increases too quickly due to the increase in the dependent variable node n, thereby reducing the computational complexity; only two sets of sequences and the base matrix P need to be stored, the required resources are small and the calculation method is simple, 4 rings can be eliminated without computer search, there are fewer 6 rings, and the code length and code rate can be flexibly selected.