A decoding method of LDPC code for Beidou satellite navigation

By converting the parity check matrix of the 64-ary LDPC code in the BeiDou satellite navigation system from a 64-element field GF(26) to a binary field GF(2), and using a bit-flipping algorithm for iterative decoding, the problem of high decoding complexity of multi-ary LDPC codes is solved, and the decoding performance is improved.

CN122293097APending Publication Date: 2026-06-26INST OF MICROELECTRONICS CHINESE ACAD OF SCI LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
INST OF MICROELECTRONICS CHINESE ACAD OF SCI LTD
Filing Date
2024-12-24
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Multi-ary LDPC codes have high decoding complexity in the BeiDou satellite navigation system, which is difficult to reduce effectively.

Method used

The parity check matrix of the 64-ary LDPC code is converted from the 64-element field GF(26) to the binary field GF(2), and the bit-flipping algorithm is used for iterative decoding. By utilizing the correspondence between the elements in the 64-element field GF(26) and the matrix in the binary field GF(2), the decoding complexity is reduced and the decoding performance is improved.

Benefits of technology

By converting the parity-check matrix into a binary field GF(2), the decoding complexity is significantly reduced and the decoding performance is improved, making it suitable for efficient decoding using bit-flipping algorithms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122293097A_ABST
    Figure CN122293097A_ABST
Patent Text Reader

Abstract

This invention relates to an LDPC code decoding method for BeiDou satellite navigation, comprising: Step S1, the receiving end accumulates the output values ​​corresponding to each bit in the codeword generated by the LDPC-CRC concatenated code encoding in the tracking loop to form a corresponding receiving vector; Step S2, performing bit-by-bit hard decision on the receiving vector to obtain a hard decision vector; Step S3, calculating the checksum of the hard decision using a parity check matrix transformed from a 64-element field to a 2-element field to determine whether the hard decision vector includes error bit information; Step S4, when error bit information appears in the hard decision vector, performing LDPC iterative decoding using a bit-flipping algorithm in the 2-element field, iteratively updating the error bits in the hard decision vector according to the error correction vector until the iteration termination condition is met, outputting the decoding result or discarding the receiving vector. This invention reduces decoding complexity and is suitable for practical applications.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of error correction coding technology in satellite navigation, specifically relating to an LDPC code decoding method for BeiDou satellite navigation. Background Technology

[0002] Low-density parity-check (LDPC) codes are a class of linear block codes based on sparse matrices, exhibiting excellent error correction performance. LDPC codes can be divided into binary LDPC codes and multi-ary LDPC codes based on the set of values ​​for their symbols. In binary LDPC codes, each symbol is an element in a binary field GF(2), while in multi-ary LDPC codes, each symbol is an element in a q-ary field GF(q). Compared to binary LDPC codes, multi-ary LDPC codes have a significant advantage in decoding performance for short to medium code lengths, but their decoding complexity is also higher.

[0003] To enhance the anti-interference capability of navigation message transmission, the third-generation BeiDou satellite navigation system employs a three-set 64-base LDPC code encoding scheme for navigation messages. First, the navigation message is subjected to Cyclic Redundancy Check (CRC) to obtain the navigation message before error correction coding. Then, the navigation message is encoded using 64-base LDPC to obtain the corresponding transmission sequence. At the navigation message receiving device, the received sequence is decoded using 64-base LDPC. If decoding is successful, the information sequence in the decoded codeword is output for further processing; otherwise, the received sequence is discarded, and preparation for re-reception is initiated.

[0004] Currently, researchers have designed many low-complexity decoding algorithms for multi-ary LDPC codes. The BeiDou Navigation Satellite System's space signal interface control document also provides two iterative confidence propagation decoding algorithms: the extended minimum sum method and the fixed path decoding algorithm. However, the amount of message transmitted in each decoding process of multi-ary LDPC codes is linearly related to the number of symbols in the finite field. Therefore, how to further reduce the complexity of multi-ary LDPC codes is a problem worthy of further research. Summary of the Invention

[0005] Based on the above analysis, the present invention aims to disclose an LDPC code decoding method for BeiDou satellite navigation, so as to achieve efficient decoding of LDPC codes in the BeiDou satellite navigation system.

[0006] This invention discloses an LDPC code decoding method for BeiDou satellite navigation, comprising:

[0007] Step S1: The receiver accumulates the output value corresponding to each bit in the codeword generated by the LDPC-CRC concatenated code encoding in the tracking loop to form the corresponding receiving vector;

[0008] Step S2: Perform bit-by-bit hard decision on the received vector to obtain the hard decision vector;

[0009] Step S3: Calculate the checksum of the hard decision using the check matrix transformed from the 64-element field to the 2-element field, and determine whether the hard decision vector includes error bit information.

[0010] Step S4: When an error bit appears in the hard decision vector, perform LDPC iterative decoding using the bit-flipping algorithm in the binary field. Iteratively update the error bit in the hard decision vector according to the error correction vector until the iteration termination condition is met, and output the decoding result or discard the receive vector.

[0011] Furthermore, in the BeiDou Navigation Satellite System, subframes 2 and 3 of the B2a and B1C signals respectively employ 64-ary LDPC(96,48), 64-ary LDPC(200,100), and 64-ary LDPC(88,44) encoding. The 64-element parity check matrix H1 of the 64-ary LDPC(96,48), 64-ary LDPC(200,100), and 64-ary LDPC(88,44) is read from the BeiDou Navigation Satellite System space signal interface control file. A 64-element to 2-element transformation is performed to obtain the corresponding 2-element parity check matrix H2 and the column weight vector of parity check matrix H2, which are used for calculating the hard decision checksum.

[0012] Furthermore, the transformation process from the 64-element field to the 2-element field of the parity-check matrix is ​​as follows:

[0013] 1) Establish a transformation matrix B for transforming elements from a 64-element field to elements in a 2-element field; the transformation matrix B includes a 6×6 matrix in the 2-element field corresponding to each non-zero element in the 64-element field;

[0014] 2) Read the parity check matrix H1 and transformation matrix B of the 64-ary LDPC code used in the BeiDou satellite navigation system;

[0015] 3) Determine the number of rows and columns of the corresponding parity-check matrix H2 in the binary field based on the number of rows and columns of the parity-check matrix H1, and initialize it as a zero matrix;

[0016] 4) Starting from the first row and first column of the verification matrix H1, check the non-zero elements row by row and column by column. For the non-zero elements that are checked, find the corresponding 6×6 matrix in the transformation matrix B and replace it in the corresponding position in the verification matrix H2, until the last row and last column of the verification matrix H1.

[0017] Furthermore, during the construction of transformation matrix B,

[0018] After converting each element in the 64-element field into a 6×6 matrix in the 2-element field, the elements 1 to 63 in the 64-element field are arranged in ascending order, and their corresponding 6×6 matrices are stored in order to obtain a transformation matrix B with a dimension of 378×6.

[0019] Furthermore, the 64-element domain GF(2 6 element b in ) 64 The formula for determining the 6×6 matrix B2 in the transformation matrix B is:

[0020]

[0021] Where α is a primitive element in the 64-element field, a is any element in the polynomial representation of the 64-element field, and B2 is the sum of the elements of b. 64 The matrix corresponds to a 6×6 matrix in the 2-ary field, a′ is the 6-dimensional column vector form of a, “·” is the multiplication in the 64-ary field, “*” is the matrix multiplication in the 2-ary field, and T is the transpose of the matrix.

[0022] Furthermore, in determining the elements in the transformation matrix B,

[0023] Starting with element 1 in the 64-element field, element 1 uses the identity matrix B2. 0 The representation is then performed; next, for each element α in the 64-element field, substituting it into the aforementioned formula yields the corresponding binary matrix B2. 1 :

[0024]

[0025] For the subsequent elements α in the 64-element field i Let i be a positive integer, and 2 ≤ i ≤ 62; based on the associative law of finite field operations, we can deduce the matrix B2 of its corresponding binary field. i Until the last element B2 62 .

[0026] Furthermore, for the identified non-zero elements, the corresponding 6×6 matrix is ​​found in the transformation matrix B, and the replacement formula in the corresponding position of the verification matrix H2 is as follows:

[0027] H2(6*i-5:6*i,6*j-5:6*j)

[0028] =B(6*H1(i,j)-5:6*H1(i,j),1:6)

[0029] Where i and j are the row and column numbers of the verification matrix H1, respectively, and H1(i,j) is the element of the verification matrix H1 in the i-th row and j-th column.

[0030] Furthermore, step S3 includes:

[0031] 1) Calculate the checksum using the hard decision vector y obtained in step S2.

[0032] 2) Determine if the checksum s = 0 is true; if yes, proceed to step 3); otherwise, proceed to step 4.

[0033] 3) If there are no error bits in the hard decision vector y, use the hard decision vector y as the LDPC decoding output; end the decoding process.

[0034] 4) If an error bit appears in the hard decision vector y, then the correlation coefficient vector z is calculated for binary LDPC iterative decoding;

[0035] Correlation coefficient vector: z = 2y - 1.

[0036] Further, step S4 includes:

[0037] 1) Initialize the number of iterations k = 1 and the number of bit flips sum = 1, and set the maximum number of iterations to K. max ;

[0038] 2) Count the number t of each bit that does not satisfy the parity check equation. i This yields the vector t = [t1,...,t] i ,...,t N ];

[0039] 3) Calculate the error correction value E corresponding to each bit. i =r i z i +β(1-2t i / p i This yields the error correction vector E = [E1,...,E2]. i ,...,E N ];

[0040] Where, r i For the receiving vector r = [r1,...,r i ,...,r N The i-th element in ]; z i p is the i-th element in the correlation coefficient vector z. i The column weight vector p = [p1,...,p] of the parity matrix H2 i ,...,p N The i-th element in ];

[0041] β is a set positive integer; used to adjust r. i z i and (1-2t) i / p i The weighting percentages between )

[0042] 4) Select the vector position i corresponding to the minimum value in the error correction vector E: If i is the same as the vector position i′ of the minimum value in the previous iteration E, the number of bit flips sum = sum + 1; otherwise, sum = 1; update the elements E in the error correction vector E. i If E i ≥0, then E i =sum·E i Otherwise E i =E i / sum;

[0043] 5) Select the minimum value E in the updated error correction vector E. i At the corresponding position i, z in vector z will be... i Updated to -z i and the hard decision vector y in y i Updated to in, Modulo 2 operation;

[0044] 6) Calculate the checksum using the updated hard decision vector y. If s = 0, then the decoded vector y is used as the LDPC decoding output; if s ≠ 0 and k ≤ K max If the decoding fails, k = k + 1 and return to step 2) to continue the iteration; otherwise, the decoding fails, the receiver discards the received sequence of that frame, and starts receiving again.

[0045] Furthermore, β is less than the maximum value of the element in the column weight vector p of the parity matrix H2.

[0046] This invention can achieve one of the following beneficial effects:

[0047] The present invention discloses a LDPC code decoding method for BeiDou satellite navigation, which utilizes the 64-element field GF(2 6 By establishing the correspondence between elements in the base-64 LDPC code and the matrix in the binary field GF(2), the parity check matrix in the base-64 LDPC code used for BeiDou satellite navigation is converted into a parity check matrix in the binary field GF(2). Then, a bit-flipping algorithm is used for LDPC decoding, reducing the decoding complexity. At the same time, after converting the parity check matrix in the base-64 LDPC code into a parity check matrix in the binary field GF(2), the column weight of the parity check matrix increases significantly, making it more suitable for using the bit-flipping algorithm and improving the decoding performance. Attached Figure Description

[0048] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0049] Figure 1 A flowchart of an LDPC code decoding method for BeiDou satellite navigation is provided as an example of the present invention.

[0050] Figure 2a The 64-element field GF(2) provided for the example of this invention 6 The matrix over the binary field GF(2) corresponding to elements 0 to 31 in );

[0051] Figure 2b The 64-element field GF(2) provided for the example of this invention 6 The matrix over the binary field GF(2) corresponding to elements 32-63 in );

[0052] Figure 3 A flowchart for converting parity check matrix H1 in base 64 LDPC(88,44) to parity check matrix H2 in binary field GF(2) is provided for an example of the present invention.

[0053] Figure 4 The 64-ary LDPC(88,44) provided for the present invention is converted to a parity check matrix over the binary field GF(2);

[0054] Figure 5 The parity check matrix provided for this invention is converted from base 64 LDPC(96,48) to the binary field GF(2);

[0055] Figure 6 The 64-ary LDPC(200,100) provided for the example of this invention is converted to a parity check matrix over the binary field GF(2). Detailed Implementation

[0056] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0057] One embodiment of the present invention discloses an LDPC code decoding method for BeiDou satellite navigation, such as... Figure 1 As shown, it includes:

[0058] Step S1: The receiver accumulates the output value corresponding to each bit in the codeword generated by the LDPC-CRC concatenated code encoding in the tracking loop to form the corresponding receiving vector;

[0059] Receive vector r = [r1,...,r i ,...,r N ];r i The output value corresponding to the i-th bit is accumulated, and N is the number of bits received;

[0060] Step S2: Perform bit-by-bit hard decision on the received vector to obtain the hard decision vector; the hard decision vector y = [y1,...,y i ,...,y N ];y i This represents the hard decision result corresponding to the i-th bit;

[0061] Step S3: Calculate the checksum of the hard decision using the check matrix transformed from the 64-element field to the 2-element field, and determine whether the hard decision vector includes error bit information.

[0062] Step S4: When an error bit appears in the hard decision vector, perform LDPC iterative decoding using the bit-flipping algorithm in the binary field. Iteratively update the error bit in the hard decision vector according to the error correction vector until the iteration termination condition is met, and output the decoding result or discard the receive vector.

[0063] Specifically, in step S2, the r in the received sequence i It is compared with a set threshold value. If it exceeds the threshold value, then the corresponding hard decision vector y is... i The judgment is 1, otherwise y i The verdict was 0.

[0064] Specifically, in the BeiDou Navigation Satellite System, subframes 2 and 3 of the B2a and B1C signals respectively use 64-ary LDPC(96,48), 64-ary LDPC(200,100), and 64-ary LDPC(88,44). The 64-ary check matrices of 64-ary LDPC(96,48), 64-ary LDPC(200,100), and 64-ary LDPC(88,44) are read from the BeiDou Navigation Satellite System space signal interface control file. The 64-ary domain to 2-ary domain transformation is performed to obtain the corresponding 2-ary domain check matrix H2 and the column weight vector of check matrix H2, which are used for calculating the checksum of the hard decision in step S3.

[0065] More specifically, from the 64-element field GF(2 6 The transformation process from the parity-check matrix on the 2-ary field GF(2) to the parity-check matrix on the 2-ary field GF(2) is as follows:

[0066] 1) Construct a 64-tuple GF(2) 6 The transformation matrix B is a transformation matrix for transforming elements from a 64-element field to elements in a 2-element field; the transformation matrix B includes a 64-element field GF(2 6 A 6×6 matrix over the binary field corresponding to each non-zero element in the matrix;

[0067] 2) Read the parity check matrix H1 and transformation matrix B of the 64-ary LDPC code used in the BeiDou satellite navigation system;

[0068] 3) Determine the number of rows and columns of the parity check matrix H2 on the corresponding 2-ary field GF(2) based on the number of rows and columns of the parity check matrix H1, and initialize it as a zero matrix;

[0069] 4) Starting from the first row and first column of the verification matrix H1, check the non-zero elements row by row and column by column. For the non-zero elements that are checked, find the corresponding 6×6 matrix in the transformation matrix B and replace it in the corresponding position in the verification matrix H2, until the last row and last column of the verification matrix H1.

[0070] Preferably, during the construction of transformation matrix B,

[0071] The 64-element field GF(2) 6 After converting each element of the 64-element field GF(2) to a 6×6 matrix over the 2-element field GF(2), the matrix is ​​then transformed into a 6×6 matrix over the 64-element field GF(2). 6 The elements 1 to 63 on the matrix are arranged in ascending order, and their corresponding 6×6 matrices are stored in order to obtain a transformation matrix B with a dimension of 378×6.

[0072] Specifically, the 64-element domain GF(2 6 element b in ) 64 The formula for determining the 6×6 matrix B2 in the transformation matrix B is:

[0073]

[0074] Where α is the 64-element field GF(2 6 The primitive element on ) is a 64-element field GF(2). 6 Any element of the polynomial over the polynomial, where B2 is b. 64 The matrix corresponding to 6×6 over the binary field GF(2) is a′, which is the 6-dimensional column vector form of a, and “·” represents GF(2). 6 Multiplication over GF(2) is defined as follows: "*" represents matrix multiplication over the binary field GF(2), and T represents the transpose of the matrix.

[0075] Figure 2 shows the 64-element GF(2) domain provided in the example of the present invention. 6 The matrix on the binary field GF(2) corresponding to the elements in ).

[0076] More specifically, in determining the elements in transformation matrix B,

[0077] From the 64-element domain GF(2) 6 Starting with element 1, element 1 uses the identity matrix B2. 0 The representation is then performed; next, for the 64-element field GF(2... 6 Substituting the element α in the given formula, we obtain the matrix B2 of the corresponding binary field GF(2). 1 :

[0078]

[0079] For the 64-element domain GF((2) 6 The subsequent elements α in ) i Let i be a positive integer, and 2≤i≤62; according to the associative law of finite field operations, we can deduce the matrix B2 of its corresponding binary field GF(2). i Until the last element B2 62 .

[0080] 64-element domain GF(2) 6 In the binary field GF(2), the element 0 can be directly represented by a 6×6 zero matrix. In this embodiment, the transformation matrix B does not include the element 0.

[0081] Specifically, for each identified non-zero element, the corresponding 6×6 matrix is ​​found in the transformation matrix B, and the replacement formula in the corresponding position of the check matrix H2 is as follows:

[0082] H2(6*i-5:6*i,6*j-5:6*j)

[0083] =B(6*H1(i,j)-5:6*H1(i,j),1:6)

[0084] Where i and j are the row and column numbers of the verification matrix H1, respectively, and H1(i,j) is the element of the verification matrix H1 in the i-th row and j-th column.

[0085] In this embodiment, the parity check matrix H1 of the 64-ary LDPC(88,44) used in subframe 3 of the B1C signal in the Beidou satellite navigation system is used as an example. The dimension of the parity check matrix H1 of LDPC(88,44) is 44×88. The dimension of the parity check matrix H2 transformed to the binary field GF(2) is 264×528. The number of non-zero elements in the 6th column of the parity check matrix H2 is p6=8.

[0086] Figure 3 A flowchart is provided in this invention to convert the parity check matrix H1 in base 64 LDPC(88,44) into the parity check matrix H2 in the binary field GF(2).

[0087] First, initialize the parity check matrix H2 as a 264×528 zero matrix, and read the parity check matrix H1 and the transformation matrix B;

[0088] Then, search for non-zero elements in the verification matrix H1 by row and then by column; when a non-zero element is found, assign the 6×6 matrix corresponding to that element in the transformation matrix B to the corresponding 6×6 matrix in H2.

[0089] Figure 4 , Figure 5 and Figure 6 The three sets of 64-ary LDPC codes used in subframes 2 and 3 of the B2a and B1C signals in the Beidou satellite navigation system are converted into black and white pixel images corresponding to the check matrix on the binary field GF(2), where black pixels represent element 1 and white pixels represent element 0.

[0090] Specifically, step S3 includes:

[0091] 1) Calculate the checksum using the hard decision vector y obtained in step S2.

[0092] 2) Determine if the checksum s = 0 is true; if yes, proceed to step 3); otherwise, proceed to step 4.

[0093] 3) If there are no error bits in the hard decision vector y, use the hard decision vector y as the LDPC decoding output; end the decoding process.

[0094] 4) If an error bit appears in the hard decision vector y, then the correlation coefficient vector z is calculated for binary LDPC iterative decoding;

[0095] Correlation coefficient vector: z = 2y - 1 = [z1, ..., z i ,...,z N ];z i Let be the correlation coefficient corresponding to the i-th bit.

[0096] Specifically, step S4 includes:

[0097] 1) Initialize the number of iterations k = 1 and the number of bit flips sum = 1, and set the maximum number of iterations to K. max ;

[0098] 2) Count the number t of each bit that does not satisfy the parity check equation. i This yields the vector t = [t1,...,t] i ,...,t N ];

[0099] The verification equation is:

[0100] 3) Calculate the error correction value E corresponding to each bit. i =r i z i +β(1-2t i / p i This yields the error correction vector E = [E1,...,E2]. i ,...,E N ];

[0101] Where, r i For the receiving vector r = [r1,...,r i ,...,r N The i-th element in ]; z i p is the i-th element in the correlation coefficient vector z. i The column weight vector p = [p1,...,p] of the parity matrix H2 i ,...,p N The i-th element in ];

[0102] β is a set positive integer; used to adjust r. i z i and (1-2t) i / p i The weighting percentages between )

[0103] Preferably, β is less than the maximum value of the element in the column weight vector p of the verification matrix H2;

[0104] Since the three sets of LDPC codes used in the BeiDou satellite navigation system are all regular 64-ary LDPC codes with a column weight of 2, after transformation to the binary field, they become irregular LDPC codes with inconsistent column weights. When using the error correction value calculation formula in this embodiment for error correction, the impact of inconsistent column weights on error correction performance can be improved.

[0105] 4) Select the vector position i corresponding to the minimum value of the element in the error correction vector E: If i is the same as the vector position i′ corresponding to the minimum value of the element in the previous iteration E, the number of bit flips sum = sum + 1; otherwise, sum = 1; update the element E in the error correction vector E. i If E i ≥0, then E i =sum·E i Otherwise E i =E i / sum;

[0106] 5) Select the minimum value E in the updated error correction vector E. i At the corresponding position i, z in vector z will be... i Updated to -z i and the hard decision vector y in y i Updated to in, Modulo 2 operation;

[0107] 6) Calculate the checksum using the updated hard decision vector y. If s = 0, then the decoded vector y is used as the LDPC decoding output; if s ≠ 0 and k ≤ K max If the decoding fails, k = k + 1 and return to step 2) to continue the iteration; otherwise, the decoding fails, the receiver discards the received sequence of that frame, and starts receiving again.

[0108] In summary, this method for decoding LDPC codes used in BeiDou satellite navigation utilizes the 64-element field GF(2). 6 By establishing the correspondence between elements in the base-64 LDPC code and the matrix in the binary field GF(2), the parity check matrix in the base-64 LDPC code used for BeiDou satellite navigation is converted into a parity check matrix in the binary field GF(2). Then, a bit-flipping algorithm is used for LDPC decoding, reducing the decoding complexity. At the same time, after converting the parity check matrix in the base-64 LDPC code into a parity check matrix in the binary field GF(2), the column weight of the parity check matrix increases significantly, making it more suitable for using the bit-flipping algorithm and improving the decoding performance.

[0109] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for decoding LDPC codes used in BeiDou satellite navigation, characterized in that, include: Step S1: The receiver accumulates the output value corresponding to each bit in the codeword generated by the LDPC-CRC concatenated code encoding in the tracking loop to form the corresponding receiving vector; Step S2: Perform bit-by-bit hard decision on the received vector to obtain the hard decision vector; Step S3: Calculate the checksum of the hard decision using the check matrix transformed from the 64-element field to the 2-element field, and determine whether the hard decision vector includes error bit information. Step S4: When an error bit appears in the hard decision vector, perform LDPC iterative decoding using the bit-flipping algorithm in the binary field. Iteratively update the error bit in the hard decision vector according to the error correction vector until the iteration termination condition is met, and output the decoding result or discard the receive vector.

2. The LDPC code decoding method for BeiDou satellite navigation according to claim 1, characterized in that, In the BeiDou Navigation Satellite System, subframes 2 and 3 of the B2a and B1C signals are encoded using 64-ary LDPC(96,48), 64-ary LDPC(200,100), and 64-ary LDPC(88,44), respectively. The 64-element parity check matrix H1 of the 64-ary LDPC(96,48), 64-ary LDPC(200,100), and 64-ary LDPC(88,44) is read from the BeiDou Navigation Satellite System space signal interface control file. A 64-element to 2-element transformation is performed to obtain the corresponding 2-element parity check matrix H2 and the column weight vector of parity check matrix H2, which are used for calculating the hard decision checksum.

3. The LDPC code decoding method for BeiDou satellite navigation according to claim 2, characterized in that, The transformation process from the 64-element field to the 2-element field of the parity-check matrix is ​​as follows: 1) Establish a transformation matrix B for transforming elements from a 64-element field to elements in a 2-element field; the transformation matrix B includes a 6×6 matrix in the 2-element field corresponding to each non-zero element in the 64-element field; 2) Read the parity check matrix H1 and transformation matrix B of the 64-ary LDPC code used in the BeiDou satellite navigation system; 3) Determine the number of rows and columns of the corresponding parity-check matrix H2 in the binary field based on the number of rows and columns of the parity-check matrix H1, and initialize it as a zero matrix; 4) Starting from the first row and first column of the verification matrix H1, check the non-zero elements row by row and column by column. For the non-zero elements that are checked, find the corresponding 6×6 matrix in the transformation matrix B and replace it in the corresponding position in the verification matrix H2, until the last row and last column of the verification matrix H1.

4. The LDPC code decoding method for BeiDou satellite navigation according to claim 3, characterized in that, During the construction of transformation matrix B, After converting each element in the 64-element field into a 6×6 matrix in the 2-element field, the elements 1 to 63 in the 64-element field are arranged in ascending order, and their corresponding 6×6 matrices are stored in order to obtain a transformation matrix B with a dimension of 378×6.

5. The LDPC code decoding method for BeiDou satellite navigation according to claim 4, characterized in that, 64-element domain GF(2) 6 element b in ) 64 The formula for determining the 6×6 matrix B2 in the transformation matrix B is: Where α is a primitive element in the 64-element field, a is any element in the polynomial representation of the 64-element field, and B2 is the sum of the elements of b. 64 The matrix corresponds to a 6×6 matrix in the 2-ary field, a′ is the 6-dimensional column vector form of a, "·" is the multiplication in the 64-ary field, "*" is the matrix multiplication in the 2-ary field, and T is the transpose of the matrix.

6. The LDPC code decoding method for BeiDou satellite navigation according to claim 5, characterized in that, In determining the elements in transformation matrix B, Starting with element 1 in the 64-element field, element 1 uses the identity matrix B2. 0 The representation is then performed; next, for each element α in the 64-element field, substituting it into the aforementioned formula yields the corresponding binary matrix B2. 1 : For the subsequent elements α in the 64-element field i Let i be a positive integer, and 2 ≤ i ≤ 62; based on the associative law of finite field operations, we can deduce the matrix B2 of its corresponding binary field. i Until the last element B2 62 .

7. The LDPC code decoding method for BeiDou satellite navigation according to claim 5, characterized in that, For the identified non-zero elements, find the corresponding 6×6 matrix in the transformation matrix B and replace it in the corresponding position in the check matrix H2 using the following replacement formula: H2(6*i-5:6*i,6*j-5:6*j)=B(6*H1(i,j)-5:6*H1(i,j),1:6) Where i and j are the row and column numbers of the verification matrix H1, respectively, and H1(i,j) is the element of the verification matrix H1 in the i-th row and j-th column.

8. The LDPC code decoding method for BeiDou satellite navigation according to any one of claims 1-7, characterized in that, Step S3 includes: 1) Calculate the checksum using the hard decision vector y obtained in step S2. 2) Determine if the checksum s = 0 is true; if yes, proceed to step 3); otherwise, proceed to step 4. 3) If there are no error bits in the hard decision vector y, use the hard decision vector y as the LDPC decoding output; end the decoding process. 4) If an error bit appears in the hard decision vector y, then the correlation coefficient vector z is calculated for binary LDPC iterative decoding; Correlation coefficient vector: z = 2y - 1.

9. The LDPC code decoding method for BeiDou satellite navigation according to claim 8, characterized in that, Step S4 includes: 1) Initialize the number of iterations k = 1 and the number of bit flips sum = 1, and set the maximum number of iterations to K. max ; 2) Count the number t of each bit that does not satisfy the parity check equation. i This yields the vector t = [t1,...,t] i ,...,t N ]; 3) Calculate the error correction value E corresponding to each bit. i =r i z i +β(1-2t i / p i This yields the error correction vector E = [E1,...,E2]. i ,...,E N ]; Where, r i For the receiving vector r = [r1,...,r i ,...,r N The i-th element in ]; z i p is the i-th element in the correlation coefficient vector z. i The column weight vector p = [p1,...,p] of the parity matrix H2 i ,...,p N The i-th element in ]; β is a set positive integer; used to adjust r. i z i and (1-2t) i / p i The weighting percentages between ) 4) Select the vector position i corresponding to the minimum value in the error correction vector E: If i is the same as the vector position i′ of the minimum value in the previous iteration E, the number of bit flips sum = sum + 1; otherwise, sum = 1; update the elements E in the error correction vector E. i If E i ≥0, then E i =sum·E i Otherwise E i =E i / sum; 5) Select the minimum value E in the updated error correction vector E. i At the corresponding position i, z in vector z will be... i Updated to -z i and the hard decision vector y in y i Updated to in, Modulo 2 operation; 6) Calculate the checksum using the updated hard decision vector y. If s = 0, then the decoded vector y is used as the LDPC decoding output; if s ≠ 0 and k ≤ K max If the decoding fails, k = k + 1 and return to step 2) to continue the iteration; otherwise, the decoding fails, the receiver discards the received sequence of that frame, and starts receiving again.

10. The LDPC code decoding method for BeiDou satellite navigation according to claim 9, characterized in that, β is less than the maximum value of the element in the column weight vector p of the parity matrix H2.