A method for constructing regular QC-LDPC codes based on Stanley sequences
Through the QC-LDPC code construction method based on Stanley sequence, the problem of the short-ring structure of the QC-LDPC code affecting error correction performance is solved, and a rule code with a boundary length of at least 8 is designed, which achieves high error correction performance and low computational complexity , avoids the wrong flat layer phenomenon and shows a high net encoding gain in simulation.
Patent Information
- Application Number
- CN202210452848.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-26
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2042-05-26
AI Technical Summary
The short-ring structure of the QC-LDPC code seriously affects the error correction performance of the codewords, especially the existence of the four rings will lead to error flat layer phenomenon and affect the reliability of the encoding.
Design a regular QC-LDPC code construction method based on Stanley sequence. By selecting elements from Stanley sequence to form a set of incremental relationships, and using an exhaustive algorithm to search for elements that meet the conditions of no four or six rings within a given range, constructing the index The matrix is finally obtained to obtain a parity check matrix, ensuring the error correction performance and encoding complexity of the codeword.
A regular QC-LDPC code with a circumference of at least 8 is realized, which reduces the computational complexity and hardware resource consumption, improves error correction performance, avoids error flattening phenomenon, and shows a high net encoding gain in simulation.
Smart Images

Figure CN114710169B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of channel coding, and relates to a method for constructing a regular quasi-cyclic low-density parity-check (QC-LDPC) code based on a Stanley sequence (SS). Background Art
[0002] With the rapid development of communication technology, channel coding technology has become a research hotspot. As a block code that approaches the Shannon capacity limit and has linear coding complexity, low-density parity-check (LDPC) code plays an important role in communication systems.
[0003] QC-LDPC codes are an important type of structured LDPC codes, whose parity-check matrix (PCM) has a special structure called quasi-cyclic structure. Well-constructed LDPC codes with medium and long code lengths usually have a low error floor, fast decoding convergence, and better error correction performance than random LDPC codes. QC-LDPC codes have attracted widespread attention in the fields of mobile communications, storage systems, deep space communications, etc. due to their low encoding and decoding complexity and parallel implementation of encoding and decoding.
[0004] Mathematical tools such as algebra and combinatorial methods have been used by scholars at home and abroad to design QC-LDPC codes with excellent performance, such as finite fields, cyclic difference sets, etc. Domestic and foreign studies have shown that QC-LDPC codes with a girth of at least 6 can be constructed through algebraic or combinatorial tools. When using iterative algorithms for decoding, the presence of short loops (especially four loops) will seriously affect the error correction performance of the codeword. Therefore, it is of practical significance to design QC-LDPC codes with larger girths.
[0005] In view of the problem that the short loop structure of QC-LDPC codes will seriously affect the error correction performance of codewords, the present invention designs a class of regular QC-LDPC codes with row weight L, column weight J, and girth of at least 8 based on Stanley sequence. The code has a simple construction method, low coding complexity, easy hardware implementation, good error correction performance, and no obvious error flattening phenomenon. Summary of the invention
[0006] In view of this, the purpose of the present invention is to provide a method for constructing a regular QC-LDPC code based on Stanley sequence. The method first selects certain elements from the Stanley sequence to form a set in an increasing relationship, then uses an exhaustive algorithm to search for elements that meet the conditions of no four or six rings within a given range to obtain another set in an increasing relationship, then constructs a corresponding exponential matrix, and finally obtains its parity check matrix.
[0007] To achieve the above object, the present invention provides the following technical methods:
[0008] First, from the literature [1] "Majdzade M., Gholami M. On the class of high-rate QC-LDPC codes with girth 8 from sequences satisfied in GCD condition [J]. IEEE Communications Letters, 2020, 24 (7): 1391-1394.", we know that the Stanley sequence and the greatest common divisor condition satisfy the equivalence relationship. Therefore, we can consider arbitrarily selecting J elements from the Stanley sequence to form a set a i ={1,3,4,9,…,a J-1}, a J-1 >9.
[0009] Then, according to the literature [2] “Sariduman A.,Pusane AE, ZCOn theconstruction of regular QC-LDPC codes with low error floor[J].IEEECommunications Letters,2020,24(1):25-28." The necessary and sufficient conditions for the existence of the ring length are given. Using the necessary and sufficient conditions and the set a i ={1,3,4,9,…,a J-1} to design an exhaustive algorithm to search for elements that satisfy the conditions of no four or six rings in a given range and construct a set b j , the specific steps are as follows:
[0010] ① Determine the value of z. z is any positive integer, and z=200 can be considered.
[0011] ② Considering that if the exhaustive algorithm is used directly for searching, the computational complexity is high, here we first perform preprocessing and further analyze the necessary and sufficient conditions for the existence of the ring length. It can be seen that when the column weight J = 3, consider the set a i ={1,3,4}, and its computational complexity is further reduced.
[0012] ③ Take the set a obtained in step ② i ={1,3,4} and the necessary and sufficient conditions for the existence of four or six rings given in the literature [2] are used as the search conditions of the exhaustive algorithm. Elements that satisfy the conditions for the absence of four or six rings are searched in the range [0,200] to form a set b j ={b0,b1,b2,…,b j-1}, and b0<b1<b2<…<b j-1 .
[0013] ④The set b obtained in step ③ j Randomly select L elements from the set b j ={b0,b1,b2,…,b L-1}, and b0<b1<…<b L-1 .
[0014] Next, construct the corresponding index matrix P and transform the above obtained set a i and set b j The elements in are multiplied one by one to get the product a i b j , then take the product a i b j The remainder after dividing by the shift coefficient Q is the corresponding cyclic shift value e. i,j , and then the cyclic shift value e i,j Substituting into the corresponding position in its exponential matrix P, we can get an exponential matrix P of size 3×L;
[0015] Finally, the cyclic shift values at corresponding positions in the constructed exponential matrix P are replaced by a cyclic shift matrix of size Q×Q (Q≥z), and the corresponding parity check matrix H can be obtained.
[0016] The beneficial effects of the present invention are:
[0017] The present invention relates to a method for constructing a regular QC-LDPC code based on a Stanley sequence. Further analysis of the construction steps of the construction method of the present invention shows that the method only needs to store two sets and expansion coefficients, and other elements can be obtained only through four arithmetic operations and modular division operations, so its computational complexity is low, which reduces hardware resource consumption to a certain extent. After simulation analysis, the QC-LDPC code type constructed by the present invention has a certain improvement in net coding gain compared with the other four QC-LDPC code types with the same code rate and code length, so its error correction performance is better, and there is no error flattening phenomenon. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to make the purpose, technical method and beneficial effects of the present invention clearer, the present invention provides the following drawings for illustration:
[0019] Figure 1 It is a technical roadmap of the method of the present invention;
[0020] Figure 2 It is the type graph of 4-ring and 6-ring existence in the Tanner graph of the QC-LDPC code parity check matrix;
[0021] Figure 3 Performance comparison diagram of the QC-LDPC code constructed by the present invention and other code types when the code rate is 0.5; DETAILED DESCRIPTION
[0022] The preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0023] (1) Combined with Figure 1 Description: A method for constructing a regular QC-LDPC code based on Stanley sequence is as follows:
[0024] Step 1: Construct set a i Reference [1] has proved that the Stanley sequence and the greatest common divisor condition are an equivalent relationship. Therefore, we can arbitrarily select J elements from the Stanley sequence to form a set a. i ={a0,a1,…,a J-1}, and a0<a1<…<a J-1 ;
[0025] Step 2: Construct set b j . In constructing set b j Before that, we first introduce the existence condition of the ring length of QC-LDPC code. According to the literature [2], the necessary and sufficient condition for the existence of the ring length is as stated in Lemma 1:
[0026] Lemma 1: If the exponential matrix P corresponding to the QC-LDPC code is P = (e i,j ) As shown in formula (1), the necessary and sufficient condition for the codeword to have a 2n ring is that formula (2) holds:
[0027]
[0028]
[0029] In formula (1), e i,j ∈{-1,0,1,2,…,z-1}, 0≤i≤J, 0≤j≤L, in formula (2), 0≤i k ≤J, 0≤j k ≤L,i k ≠i k+1 , jk ≠j k+1 , i0=i n , j0=j n , 0≤k≤n-1, z is a positive integer.
[0030] From Lemma 1, we can see that if there are four or six cycles in the Tanner graph of the QC-LDPC code parity check matrix, then equation (3) holds.
[0031]
[0032] In formula (3),
[0033] Therefore, in order to ensure that there are no four or six cycles in the Tanner graph corresponding to the constructed QC-LDPC code parity check matrix, we can verify the set a i and b j The exhaustive algorithm is designed based on whether the value in satisfies formula (3) when n=2 and n=3. The specific steps are as follows:
[0034] ① Determine the value of z, where z is any positive integer.
[0035] ② Considering that if the exhaustive algorithm is used directly for searching, the computational complexity is high, preprocessing is performed here first; further analysis of the necessary and sufficient conditions for the existence of the ring length shows that when the column weight J = 3, the computational complexity is further reduced. At this time, a i ={a0,a1,a2}, and a0<a1<a2.
[0036] ③When n is 2 and 3 respectively, set a obtained in step ② i = Substitute the elements in {a0, a1, a2} into equation (3), and search for elements that make equation (3) invalid in the range [0, z] to form a set b j To further reduce the difficulty of searching, consider first determining a subset in the range [0, z], such as {0, 1, 2, ..., 9}, first search for the elements in the subset that make equation (3) invalid and select three elements {b1, b2, b3} (where b1 < b2 < b3) to form the set b j Then, we search for the elements in the range [10, z] that make equation (3) invalid. Finally, we search for all the elements in the range [0, z] that satisfy the invalid condition of equation (3) to form a set b. j ={b0,b1,b2,…,b j-1}, and b0<b1<…<b j-1 .
[0037] ④Set b obtained from step ③ j Randomly select L elements from the set b j={b0,b1,b2,…,b L-1}, and b0<b1<…<b L-1 .
[0038] Step 3: Construct the corresponding exponential matrix P, using the two sets a obtained in steps 1 and 2 i and b j , the cyclic shift value e is calculated in turn through formula (4) i,j , we can get the exponential matrix P, as shown in formula (5).
[0039] e i,j =a i ×b j (modQ) (4)
[0040]
[0041] In formula (4), 0≤i≤2, 0≤j≤L-1, Q is the shift coefficient, and Q≥z, and "mod" represents a modulo operation.
[0042] Step 4: Construct the corresponding parity check matrix H. Replace the cyclic shift values of the corresponding positions in the exponential matrix P constructed in step 3 with a cyclic shift matrix of size Q×Q (Q≥z) to obtain its parity check matrix H.
[0043] (2) Combined with attachment Figure 2 It is shown that there are no 4-rings and 6-rings in the Tanner graph corresponding to the parity check matrix of the QC-LDPC code constructed by the present invention.
[0044] According to the necessary and sufficient conditions for the existence of the ring length given in Lemma 1, if there are no 4- and 6-rings in the Tanner graph of the constructed QC-LDPC code parity check matrix, equation (6) holds.
[0045]
[0046] (1) No 4-ring certification.
[0047] Attached Figure 2 (a) shows the structure of the 4-ring in the Tanner graph. If the parity check matrix of the QC-LDPC code does not have a 4-ring in the Tanner graph, equation (6) can be expanded into a special form with n=2, as shown in equation (7).
[0048]
[0049] Because the cyclic shift value e i,j It is calculated by formula (4), that is, e i,j =a i b j(mod Q), it is obvious that equation (8) holds.
[0050]
[0051] Therefore, when the shift coefficient satisfies Q≥z, there is no 4-cycle in the Tanner graph corresponding to the parity check matrix of the designed QC-LDPC code.
[0052] (II) No 6-ring certification
[0053] Attached Figure 2 (b) gives six structures in which six rings exist in the Tanner graph. If the parity check matrix of the QC-LDPC code does not exist in the Tanner graph corresponding to the six rings, equation (6) can be expanded into a special form with n=3, as shown in equation (9).
[0054]
[0055] According to the special properties of Stanley sequence and further analysis of the construction method described in the present invention, the set a i and b j All elements in satisfy equation (6), and the cyclic shift value e i,j =a i b j (modQ), obviously equation (10) holds.
[0056]
[0057] Therefore, when the shift coefficient satisfies Q≥z, there is no 6-cycle in the Tanner graph corresponding to the parity check matrix of the designed QC-LDPC code.
[0058] (3) Combined with attachment Figure 3 In order to verify that the proposed construction scheme has excellent error correction performance, a simulation experiment is conducted. Considering the row weight L = 6, z = 200, and the set a i ={1,3,4}, set b j ={2,6,24,26,31,67}. When the shift coefficient Q = 400, a regular QC-LDPC code with a code rate of 0.5, a code length of 2400, and a girth of at least 8 is obtained, which is denoted as SS-QC-LDPC code.
[0059] The error correction performance of the constructed SS-QC-LDPC code is verified by simulation using MATLAB software. The channel adopts Additive White Gaussian Noise (AWGN) channel, Binary Phase Shift Keying (BPSK) modulation, and Belief Propagation (BP) algorithm is selected for decoding. The maximum number of decoding iterations is 50. The SS-QC-LDPC (2400, 1200) code is compared with the irregular PS-QC-LDPC (2400, 1200) code with a girth of 8 constructed based on the protograph (P) and Stanley sequence in reference [1], the regular ETS-QC-LDPC (2400, 1200) code constructed based on the simulated annealing algorithm to search for a better elementary trapping sets (ETS) distribution in reference [2], the regular HS-QC-LDPC (2400, 1200) code with a girth of at least 8 constructed based on the Hoey sequence (HS) in reference [3] "Yuan Jianguo, Zhang Xirui, Yuan Caijing, et al. A method for constructing QC-LDPC codes with a girth of 8 in visible light communication [J]. Semiconductor Optoelectronics, 2019, 40(6): 857-861." and the reference [4] "Li Huaan, Xu Henzhou, Bai Baoming, et al. Construction of Finite Field based QC-LDPC codes from isomorphism perspective[C]. / / 11th International Conference on Wireless Communications and Signal Processing(WCSP), Xi'an: IEEE Press, 2019: 1-6.” Performance comparison of regular I-QC-LDPC (2400, 1200) codes constructed based on isomorphism (Isomorphism, I) theory.
[0060] The comparison of the bit error rate (BER) and signal-to-noise ratio (SNR) of different QC-LDPC codes under the same parameters is shown in the attached figure. Figure 2 As shown. Figure 2 It can be seen that when the BER is 10 -6The net coding gain (NCG) of the SS-QC-LDPC (2400, 1200) code constructed by the present invention is improved by about 0.11dB, 0.12dB, 0.37dB and 0.78dB respectively compared with the HS-QC-LDPC (2400, 1200) code, PS-QC-LDPC (2400, 1200) code, I-QC-LDPC (2400, 1200) code and ETS-QC-LDPC (2400, 1200) code.
[0061] In addition, further analysis of the attached Figure 2 It can be seen that when the BER is 10 -6 When the BER is 10, the NCG improvement of the constructed SS-QC-LDPC (2400, 1200) code is not obvious compared with the HS-QC-LDPC (2400, 1200) code and the PS-QC-LDPC (2400, 1200) code. However, the HS-QC-LDPC (2400, 1200) code has an error flattening phenomenon at high SNR. The PS-QC-LDPC (2400, 1200) code is constructed by extending the original model graph, and its original model graph basis matrix is searched by the PEG algorithm, which has a higher computational complexity. Similarly, when the BER is 10 -6 When the NCG of SS-QC-LDPC (2400, 1200) code is improved greatly compared with I-QC-LDPC (2400, 1200) code and ETS-QC-LDPC (2400, 1200) code, the reason is that there are 6 rings in the check matrix Tanner graph of I-QC-LDPC (2400, 1200) code, which affects the error correction performance of the codeword. Although the ETS-QC-LDPC (2400, 1200) code is searched for a better basic trap set structure using the simulated annealing algorithm, the existence of 6 rings in the check matrix Tanner graph is not avoided during the construction process, so its error correction performance is poor. Therefore, the SS-QC-LDPC code constructed by the present invention has better error correction performance and no obvious error flattening phenomenon.
[0062] Based on the above analysis, the present invention uses the special properties of Stanley sequences and combines them with an exhaustive algorithm to propose a regular QC-LDPC code construction method. The parity check matrix Tanner diagram corresponding to the codeword does not contain four or six rings. The simulation results show that under the same conditions, the SS-QC-LDPC code constructed by the present invention has a certain improvement in net coding gain NCG compared with the HS-QC-LDPC code, PS-QC-LDPC code, I-QC-LDPC code and ETS-QC-LDPC code with the same code rate and code length, and has good error correction performance and no obvious error flattening phenomenon. In addition, the construction method has low computational complexity and can reduce hardware resource consumption.
Claims
1. A method for constructing a regular QC-LDPC code based on a Stanley sequence, wherein the method first randomly selects certain elements from the Stanley sequence to form a set in an increasing relationship; then an exhaustive algorithm is designed using the set and the condition of no four-ring or six-ring, and an element satisfying the condition of no four-ring or six-ring is searched within a given range to obtain another set in an increasing relationship, and then a corresponding exponential matrix is constructed, and finally the exponential matrix is expanded to obtain its parity check matrix, thereby constructing a class of regular QC-LDPC codes with a row weight of L and a column weight of J; the specific steps are as follows: Step 1: Construct set a i ; Since there is an equivalence relationship between the Stanley sequence and the greatest common divisor condition, we can select J elements from it to form a set a i ={a0,a1,…,a J-1 }, and a0 <a1<…<a J-1 ; Step 2: Construct set b j ; The necessary and sufficient conditions for the ring length of QC-LDPC code are as stated in Lemma 1: Lemma 1: If the exponential matrix P corresponding to the QC-LDPC code is P = (e i,j ) As shown in formula (1), the necessary and sufficient condition for the codeword to have a 2n ring is that formula (2) holds: In formula (1), e i,j ∈{-1,0,1,2,…,z-1}, 0≤i≤J, 0≤j≤L, in formula (2), 0≤i k ≤J, 0≤j k ≤L,i k ≠i k+1 , j k ≠j k+1 , i0=i n , j0=j n , 0≤k≤n-1, z is a positive integer; From Lemma 1, we can see that if there are four or six cycles in the Tanner graph corresponding to the parity check matrix of the QC-LDPC code, then equation (3) holds: In formula (3), To ensure that the parity check matrix of the constructed QC-LDPC code does not have four or six cycles in the Tanner graph, it is only necessary to ensure that when n is 2 and 3 respectively, the set a i and b j All elements in satisfy the condition that formula (3) does not hold. Therefore, by verifying the set a i and b j The exhaustive algorithm is designed based on whether the value in satisfies formula (3) when n is 2 and 3 respectively. The specific steps are as follows: ①Determine the value of z, z is any positive integer; ② Perform preprocessing first; further analysis of the necessary and sufficient conditions for the existence of the ring length shows that when the column weight J = 3, its computational complexity is further reduced. At this time, the set a i ={a0,a1,a2}, and a0 <a1<a2; ③ When n is 2 and 3 respectively, substitute the elements in the set a obtained in step ② i into formula (3), and successively search for the elements that make formula (3) not hold within the range of [0, z] to form set b j ; To further reduce the search difficulty, consider first determining a subset within the range of [0, z], first search for the elements that make formula (3) not hold in this subset and select three elements {b1, b2, b3} (b1 < b2 < b3) to form the first three terms of set b j , then successively search for the elements that make formula (3) not hold within the range of [10, z], and finally search for all the elements that satisfy the condition of formula (3) not holding within the range of [0, z] to form set b j = {b0, b1, b2, …, b j-1}, and b0 < b1 < … < b j-1 ; ④Set b obtained from step ③ j Randomly select L elements from the set b j ={b0,b1,b2,…,b L-1 }, and b0 <b1<…<b L-1 ; Step 3: Construct the corresponding index matrix P, using the set a obtained in steps 1 and 2 i and b j , the cyclic shift value e is calculated in turn through formula (4) i,j , we can get the corresponding exponential matrix P; yes i,j =a i ×b j (modQ) (4) In formula (4), 0≤i≤2, 0≤j≤L-1, Q is the shift coefficient, and Q≥z, "mod" represents the modulo operation; Step 4: Construct the corresponding parity check matrix H, and replace the cyclic shift values of the corresponding positions in the exponential matrix P constructed in step 3 with a cyclic shift matrix of size Q×Q (Q≥z), so as to obtain its parity check matrix H; Finally, through the above four steps, a class of regular QC-LDPC codes with a code length of zL and a code rate of (L-3) / L is further constructed.