Coding and decoding method of LDPC code under slight fading Gaussian channel in NAVDAT system

By designing an LDPC code encoding and decoding method suitable for slightly fading Gaussian channels in the NAVDAT system, and using the basis matrix and the spread factor Z to generate the LDPC matrix, the problem of encoding and decoding various information bit sequences is solved, achieving flexible code length and efficient channel transmission.

CN120915310APending Publication Date: 2025-11-07ZHEJIANG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510827084.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-19
Publication Date
2025-11-07

AI Technical Summary

Technical Problem

Existing technologies struggle to support the encoding and decoding of information bit sequences of various lengths in the NAVDAT system, failing to meet the system's flexible code length requirements. This is especially true in slightly fading Gaussian channels, where traditional QC-LDPC code encoding and decoding schemes require the encoded transmission length to be an integer multiple of the number of columns in the base matrix, making them unsuitable for flexible code rate requirements.

Method used

By designing an LDPC code encoding and decoding method suitable for slightly fading Gaussian channels in the NAVDAT system, a low-density parity-check LDPC matrix is ​​generated using a basis matrix and an extension factor Z. This method supports the encoding and decoding of various information bit sequences, including double-diagonal, single-diagonal, and column structures with a weight of 4. The LDPC matrix structure is optimized to improve decoding performance.

Benefits of technology

It enables flexible encoding of various information lengths in the NAVDAT system, enhances error resistance, meets high code rate requirements, and ensures efficient and reliable transmission in slightly fading channels.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120915310A_ABST
    Figure CN120915310A_ABST
Patent Text Reader

Abstract

The invention discloses a coding and decoding method for LDPC codes under a slight fading Gaussian channel in an NAVDAT system, and the method comprises the steps: determining a basis matrix and an expansion factor Z according to an information bit length and a target code length of an input bit sequence before coding, and the Z is a positive integer; obtaining a low density parity check (LDPC) matrix based on the basis matrix and the expansion factor Z; the method comprises the following steps: encoding an input bit sequence by using a low density parity check (LDPC) matrix under a slight fading Gaussian channel of an NAVDAT system, wherein the code rate is 3 / 4 or 1 / 2; wherein a basis matrix of the LDPC matrix comprises a sub-matrix A and a sub-matrix B, if the basis matrix is expressed as an m-row n-column matrix, the sub-matrix A is an m-row n-m-column matrix, the sub-matrix B is an m-row m-column matrix, and the sub-matrix B comprises a double-diagonal structure matrix B1, a single-diagonal structure matrix B2 and a column B3 with the weight of 4; and outputting the coded or decoded bit sequence. According to the invention, the coding requirements of information bit sequences with various lengths can be met.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of wireless communication, in particular to a method for encoding and decoding LDPC code in a NAVDAT system under a slight fading Gaussian channel. BACKGROUND

[0002] NAVDAT is a new type of shore-based digital maritime broadcasting system, which uses the latest digital transmission technology to broadcast maritime safety information and other service information on 500 kHz. NAVDAT realizes the rapid push of navigation-related safety information such as chart correction information by broadcasting messages, texts, files or images, and realizes seamless connection with ship information systems. Through networking broadcast, NAVDAT system can also realize the coverage of A2 sea area. Therefore, NAVDAT can enhance the ability of maritime information services, and is a key system in the modernization of GMDSS and e-navigation. LDPC code is widely used in NAVDAT system as channel coding.

[0003] Low-Density Parity-Check Code (LDPC) is a high-efficiency error correction coding technology, which is widely used in modern communication systems such as wireless communication, satellite communication and wired communication. LDPC code can effectively detect and correct errors at the receiving end by adding a small number of check bits to the information bit sequence, thereby improving the reliability of communication and data transmission rate. In practical use, LDPC matrix with special structural characteristics can be used. The LDPC matrix H with special structural characteristics can be extended from the quasi cycle (QC) structured LDPC base matrix. QC-LDPC is suitable for high parallel hardware and provides higher throughput. LDPC matrix can be designed for channel coding. The traditional QC-LDPC code encoding and decoding scheme needs to control the length of the final transmission after encoding to be an integer multiple of the number of base matrix rows to ensure the normal operation of encoding and decoding. In general, the length of the information bit sequence to be encoded varies from tens to hundreds, and the code rate required by the communication system is also flexible and variable. How to support the encoding of information bit sequences with multiple lengths and meet the code rate requirements of the system has become a problem to be solved. SUMMARY

[0004] The present application aims to at least solve one of the technical problems in the related art to some extent.

[0005] The present application proposes a method for encoding and decoding LDPC code in a NAVDAT system under a slight fading Gaussian channel, which can support the encoding and decoding of information bit sequences with multiple lengths, meet the flexible code length requirements of the system, and satisfy the standard 1 / 2 or 3 / 4 code rate requirements by puncturing and truncating the encoded sequence.

[0006] To achieve the above object, the application provides a method for encoding and decoding LDPC code in a NAVDAT system under a slight fading Gaussian channel, comprising the following steps:

[0007] determining a base matrix and an extension factor Z according to the length of information bits before encoding of an input bit sequence and a target code length, wherein the length of information bits before encoding comprises 2560, 3840, 1225, 1838, 693, 1040, 152 and 228, the code length after encoding comprises 5120, 2450, 1386 and 304, and the code rate comprises 1 / 2 and 3 / 4;

[0008] obtaining a low-density parity-check (LDPC) matrix based on the base matrix and the extension factor Z;

[0009] encoding the input bit sequence using the LDPC matrix under the slight fading Gaussian channel in the NAVDAT system, wherein the code rate is 3 / 4 or 1 / 2, and wherein the base matrix of the LDPC matrix comprises a sub-matrix A and a sub-matrix B, if the base matrix is represented as an m-row n-column matrix, the sub-matrix A is an m-row n-m-column matrix, and the sub-matrix B is an m-row m-column matrix, wherein the sub-matrix B comprises a double-diagonal structure matrix B1, a single-diagonal structure matrix B2 and a column B3 with a weight of 4;

[0010] outputting a bit sequence after encoding or decoding.

[0011] The method for encoding and decoding LDPC code in the NAVDAT system under the slight fading Gaussian channel can have the following additional technical features:

[0012] In one embodiment of the application, different base matrices and different sizes of extension factor Z are selected according to different information bit lengths, wherein the information bit lengths are 2560, 3840, 1225, 1838, 693, 1040, 152 and 228 respectively, and the method comprises the following steps:

[0013] when the code length is 5120 and the information bit length is 2560, a preset first matrix is selected as the base matrix, and the extension factor Z is 117;

[0014] when the code length is 5120 and the information bit length is 3840, a preset second matrix is selected as the base matrix, and the extension factor Z is 175;

[0015] when the code length is 2450 and the information bit length is 1225, a preset third matrix is selected as the base matrix, and the extension factor Z is 56;

[0016] when the code length is 2450 and the information bit length is 1838, a preset fourth matrix is selected as the base matrix, and the extension factor Z is 84;

[0017] The code length is 1386, the information bit length is 693, the base matrix selects a preset fifth matrix, and the extension factor Z is 32.

[0018] The code length is 1386, the information bit length is 1040, the base matrix selects a preset sixth matrix, and the extension factor Z is 48.

[0019] The code length is 304, the information bit length is 152, the base matrix selects a preset seventh matrix, and the extension factor Z is 16.

[0020] The code length is 304, the information bit length is 228, the base matrix selects a preset eighth matrix, and the extension factor Z is 23.

[0021] The base matrix and the extension factor Z uniquely determine the LDPC check matrix.

[0022] In an embodiment of the application, the base matrix and the extension factor Z are selected to obtain the check matrix under different code lengths, information bit lengths and code rates, and the method comprises the following steps:

[0023] When the code length is 5120 and the information bit length is 2560, Z is 117, the base matrix size is 22 and 44, and the first check matrix is generated according to the selected corresponding base matrix and Z;

[0024] When the code length is 5120 and the information bit length is 3840, Z is 175, the base matrix size is 8 and 30, and the second check matrix is generated according to the selected corresponding base matrix and Z;

[0025] When the code length is 2450 and the information bit length is 1225, Z is 56, the base matrix size is 22 and 44, and the third check matrix is generated according to the selected corresponding base matrix and Z;

[0026] When the code length is 2450 and the information bit length is 1838, Z is 84, the base matrix size is 8 and 30, and the fourth check matrix is generated according to the selected corresponding base matrix and Z;

[0027] When the code length is 1386 and the information bit length is 693, Z is 32, the base matrix size is 22 and 44, and the fifth check matrix is generated according to the selected corresponding base matrix and Z;

[0028] When the code length is 1386 and the information bit length is 1040, Z is 48, the base matrix size is 8 and 30, and the sixth check matrix is generated according to the selected corresponding base matrix and Z;

[0029] When the code length is 304 and the information bit length is 152, Z is 16, the base matrix size is 10 and 20, and the seventh check matrix is generated according to the selected corresponding base matrix and Z;

[0030] When the code length is 304 and the information bit length is 228, Z=16, the base matrix size is 4, 14, and the eighth check matrix is generated according to the selected corresponding base matrix and Z.

[0031] In an embodiment of the present application, different lifting factors Z and base matrices are determined according to different code lengths, and LDPC check matrices are generated, on the basis of which encoding is performed. The code length, information bit length, code rate and total code length, information bit length relationship during LDPC code encoding are shown in Table 1:

[0032] Table 1

[0033]

[0034] In an embodiment of the present application, when LDPC codes of different code lengths are encoded on the basis of LDPC check matrices, 0 padding operation is required at the end of information bits, which is as follows:

[0035] For LDPC codes of code length 5120, 2560 and encoding code length 5148, 2574, 14 zero bits are padded at the end of information bits, length 2560, to obtain encoding information bits, length 2574, which are input into an encoder to obtain encoded bits, length 5148, wherein the first 2574 bits are information bits and the last 2574 bits are check bits; during transmission, the first 2560 bits in the information bits are transmitted first, then the first 2560 bits in the check bits are transmitted, and the total code length is 5120.

[0036] For LDPC codes of code length 5120, 3840 and encoding code length 5250, 3850, 10 zero bits are padded at the end of information bits, length 3840, to obtain encoding information bits, length 3850, which are input into an encoder to obtain encoded bits, length 5250, wherein the first 3850 bits are information bits and the last 1400 bits are check bits; during transmission, the first 3840 bits in the information bits are transmitted first, then the first 1280 bits in the check bits are transmitted, and the total code length is 5120.

[0037] For LDPC codes of code length 2450, 1225 and encoding code length 2464, 1232, 7 zero bits are padded at the end of information bits, length 1225, to obtain encoding information bits, length 1232, which are input into an encoder to obtain encoded bits, length 2464, wherein the first 1232 bits are information bits and the last 1232 bits are check bits; during transmission, the first 1225 bits in the information bits are transmitted first, then the first 1225 bits in the check bits are transmitted, and the total code length is 2450.

[0038] For the LDPC code with code length 2450, 1838 and encoding code length 2520, 1848, first append 10 zero bits to the information bits, length 1838, to obtain the encoding information bits, length 1848, then input the encoding information bits into the encoder to obtain the encoding bits, length 2520, wherein the first 1848 bits are information bits and the last 672 bits are check bits; during transmission, first transmit the first 1838 bits in the information bits, then transmit the first 612 bits in the check bits, and the total code length of transmission is 2450;

[0039] For the LDPC code with code length 1386, 693 and encoding code length 1408, 704, first append 11 zero bits to the information bits, length 693, to obtain the encoding information bits, length 704, then input the encoding information bits into the encoder to obtain the encoding bits, length 1408, wherein the first 704 bits are information bits and the last 704 bits are check bits; during transmission, first transmit the first 693 bits in the information bits, then transmit the first 693 bits in the check bits, and the total code length of transmission is 1386;

[0040] For the LDPC code with code length 1386, 1040 and encoding code length 1440, 1056, first append 16 zero bits to the information bits, length 1040, to obtain the encoding information bits, length 1056, then input the encoding information bits into the encoder to obtain the encoding bits, length 1440, wherein the first 1056 bits are information bits and the last 384 bits are check bits; during transmission, first transmit the first 1040 bits in the information bits, then transmit the first 346 bits in the check bits, and the total code length of transmission is 1386;

[0041] For the LDPC code with code length 304, 152 and encoding code length 320, 160, first append 8 zero bits to the information bits, length 152, to obtain the encoding information bits, length 160, then input the encoding information bits into the encoder to obtain the encoding bits, length 320, wherein the first 160 bits are information bits and the last 160 bits are check bits; during transmission, first transmit the first 152 bits in the information bits, then transmit the first 152 bits in the check bits, and the total code length of transmission is 304;

[0042] For the LDPC code with code length 304, 228 and encoding code length 322, 230, first append 2 zero bits to the information bits, length 228, to obtain the encoding information bits, length 230, then input the encoding information bits into the encoder to obtain the encoding bits, length 322, wherein the first 230 bits are information bits and the last 92 bits are check bits; during transmission, first transmit the first 228 bits in the information bits, then transmit the first 76 bits in the check bits, and the total code length of transmission is 304.

[0043] In one embodiment of the present application, the input encoder information bits are one of 2560, 3840, 1225, 1838, 693, 1040, 152, 228. The code length after encoding and sending is one of 5120, 2450, 1386, 304.

[0044] In one embodiment of the present application, when decoding at the receiving end, the check matrix of the LDPC code is obtained, and decoding is performed based on the check matrix.

[0045] In one embodiment of the present application, before decoding the received sequence, the log-likelihood ratio (LLR) information is supplemented with positive values and 0 to restore the received code length to the encoding length, and the specific process is as follows:

[0046] For code length 2450 and 1838, the encoding code length is 2520 and 1848: the soft demodulation information with length 2450 is received, wherein the first 1838 bits represent information bits, and the last 612 bits represent check bits; 10 large positive values LLR are supplemented at the end of the information bits before decoding, so that the information bit length reaches 1848, then 60 zero LLRs are supplemented at the back of the check bits, so that the check bit length reaches 672, and then the total code length reaches 2520, which is sent to the decoder for decoding, and the first 1838 bits of the decoding result are the original information bits transmitted.

[0047] The second aspect of the present application also provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, and the processor implements the method of the first aspect when executing the program.

[0048] The encoding and decoding method of the LDPC code in the NAVDAT system under the slight fading Gaussian channel in the embodiment of the present application supports flexible encoding of multiple information lengths by optimizing the LDPC base matrix structure and the extension factor design. The decoding performance is improved by using double-diagonal, single-diagonal and weight column structures, and the error correction capability is enhanced. Efficient and reliable transmission is realized under the slight fading channel of the NAVDAT system, and the high code rate requirement is met.

[0049] Additional aspects and advantages of the present application will be in part apparent and in part pointed out hereinafter. BRIEF DESCRIPTION OF DRAWINGS

[0050] The above and / or additional aspects and advantages of the present application will become apparent and be readily understood from the following description, taken in conjunction with the accompanying drawings, in which:

[0051] Figure 1 is a flowchart of the encoding and decoding method of the LDPC code in the NAVDAT system under the slight fading Gaussian channel according to the embodiment of the present application;

[0052] Figure 2 is a base matrix structure diagram of code length and information bits of (5120, 2560) according to an embodiment of the present application;

[0053] Figure 3 is a base matrix structure diagram of code length and information bits of (5120, 3840) according to an embodiment of the present application;

[0054] Figure 4 is a base matrix structure diagram of code length and information bits of (304, 152) according to an embodiment of the present application;

[0055] Figure 5 is a base matrix structure diagram of code length and information bits of (304, 228) according to an embodiment of the present application;

[0056] Figure 6 is a base matrix structure diagram of code length and information bits of (5120, 2560) according to an embodiment of the present application;

[0057] Figure 7 is a base matrix structure diagram of code length and information bits of (2450, 1225) according to an embodiment of the present application;

[0058] Figure 8 is a base matrix structure diagram of code length and information bits of (1386, 693) according to an embodiment of the present application;

[0059] Figure 9 is a base matrix structure diagram of code length and information bits of (5120, 3840) according to an embodiment of the present application;

[0060] Figure 10 is a base matrix structure diagram of code length and information bits of (2450, 1838) according to an embodiment of the present application;

[0061] Figure 11 is a base matrix structure diagram of code length and information bits of (1386, 1040) according to an embodiment of the present application;

[0062] Figure 12 is a base matrix structure diagram of code length and information bits of (304, 228) according to an embodiment of the present application;

[0063] Figure 13 is a base matrix structure diagram of code length and information bits of (304, 228) according to an embodiment of the present application;

[0064] Figure 14is a base matrix double diagonal encoding partial graph with code length and information bits of (5120, 2560), (2450, 1225), (1386, 693) according to an embodiment of the present application;

[0065] Figure 15 is a base matrix double diagonal encoding partial graph with code length and information bits of (5120, 3840), (2450, 1838), (1386, 1040) according to an embodiment of the present application;

[0066] Figure 16 is a base matrix double diagonal encoding partial graph with code length and information bits of (304, 152) according to an embodiment of the present application;

[0067] Figure 17 is an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0068] It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict. The present application will be described in detail below with reference to the drawings and in combination with the embodiments.

[0069] In order for those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor should belong to the protection scope of the present application.

[0070] In the present application, the "communication device" in the present application can be a chip (such as a baseband chip, or a data signal processing chip, or a general-purpose chip, etc.), a terminal, a base station, or other network equipment. The terminal is a device with communication function, which can include handheld devices, vehicle-mounted devices, wearable devices, computing devices or other processing devices connected to wireless modems with wireless communication function, etc. In different networks, the terminal can be called different names, such as user equipment, mobile station, user unit, station, cellular phone, personal digital assistant, wireless modem, wireless communication device, handheld device, laptop, cordless phone, wireless local loop station, etc. For the convenience of description, the present application is referred to as terminal.

[0071] The encoding and decoding method of LDPC code in the NAVDAT system under slight fading Gaussian channel in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.

[0072] Figure 1is a flow chart of a coding and decoding method of an LDPC code in a NAVDAT system under a slight fading Gaussian channel according to an embodiment of the present application, as shown, comprising: Figure 1

[0073] S1, determining a base matrix and an extension factor Z according to a pre-encoding information bit length of an input bit sequence and a target code length, Z being a positive integer; wherein the pre-encoding information bit length comprises 2560, 3840, 1225, 1838, 693, 1040, 152, 228, the post-encoding code length comprises 5120, 2450, 1386, 304, and the code rate comprises 1 / 2 and 3 / 4;

[0074] S2, obtaining a low-density parity-check LDPC matrix based on the base matrix and the extension factor Z;

[0075] S3, using the low-density parity-check LDPC matrix to encode the input bit sequence under a slight fading Gaussian channel of the NAVDAT system, the code rate being 3 / 4 or 1 / 2; wherein the base matrix of the LDPC matrix comprises a sub-matrix A and a sub-matrix B, if the base matrix is represented as an m-row n-column matrix, the sub-matrix A is an m-row n-m-column matrix, and the sub-matrix B is an m-row m-column matrix, wherein the sub-matrix B comprises a double-diagonal structure matrix B1, a single-diagonal structure matrix B2, and a column B3 with a weight of 4;

[0076] S4, outputting a bit sequence after encoding or decoding.

[0077] Specifically, the present application provides an encoding method and an encoder, the encoder using a low-density parity-check LDPC matrix to encode an input sequence.

[0078] Specifically, the present application provides a decoding method and a decoder, the decoder using a low-density parity-check LDPC matrix to decode an input sequence.

[0079] In an embodiment of the present application, the QC-LDPC code check matrix with a code length and information bits of (5120, 2560), (2450, 1225), and (1386, 693) has the same base matrix structure. The QC-LDPC code base matrix is represented as a 22-row 44-column matrix. The base matrix comprises a sub-matrix A and a sub-matrix B. As shown in Figure 2 , the sub-matrix A is a 22-row 22-column matrix; the sub-matrix B is a 22-row 22-column matrix, wherein the sub-matrix B mainly comprises a column B3 with a weight of 8, a 4-row 3-column double-diagonal structure matrix B1, and an 18-row 18-column single-diagonal structure matrix B2.

[0080] ​The base matrix structure of the QC-LDPC code check matrix with code length and information bits of (5120, 3840), (2450, 1838), (1386, 1040) is the same. The base matrix of the QC-LDPC code is expressed as an 8-row 30-column matrix. The base matrix includes sub-matrices A and B. As shown in Figure 3 , the sub-matrix A is an 8-row 22-column matrix; the sub-matrix B is an 8-row 8-column matrix, wherein the sub-matrix B mainly includes a column B3 with a weight of 4, a 4-row 3-column double diagonal structure matrix B1, and a 4-row 4-column single diagonal structure matrix B2.

[0081] The base matrix of the QC-LDPC code check matrix with code length and information bits of (304, 152) is expressed as a 10-row 20-column matrix. The base matrix includes sub-matrices A and B. As shown in Figure 4 , the sub-matrix A is a 10-row 10-column matrix; the sub-matrix B is a 10-row 10-column matrix, wherein the sub-matrix B mainly includes a column B3 with a weight of 4, a 4-row 3-column double diagonal structure matrix B1, and a 6-row 6-column single diagonal structure matrix B2.

[0082] The base matrix of the QC-LDPC code check matrix with code length and information bits of (304, 228) is expressed as a 4-row 14-column matrix. The base matrix includes sub-matrices A and B. As shown in Figure 5 , the sub-matrix A is a 4-row 10-column matrix; the sub-matrix B is a 4-row 4-column matrix, wherein the sub-matrix B mainly includes a column B3 with a weight of 4, a 4-row 3-column double diagonal structure matrix B1.

[0083] According to different information bit lengths and code lengths, different base matrices and lifting factors Z are required to generate LDPC check matrices. Specifically as follows:

[0084] The base matrix includes -1 elements and non-negative elements, the -1 elements correspond to the Z*Z size all-zero matrix in the LDPC matrix, and the non-negative element position in the i-th row and j-th column corresponds to the cyclic permutation matrix of Z*Z size in the LDPC matrix.

[0085] The cyclic permutation matrix of Z*Z size is a matrix obtained by performing P i,j times cyclic shift to the right of the Z*Z size unit matrix, P i,j = mod(V i,j , Z), and V i,j is the value corresponding to the non-negative element position in the i-th row and j-th column of the base matrix. For a base matrix with m rows and n columns, the row number is represented as i = 0, 1, 2, … m-1, and the column number is represented as j = 0, 1, 2, … n-1. Under different information bit lengths, the base matrix size and V i,j values of the non-negative element position are as follows (the elements in the remaining positions are -1).

[0086] When the code length is 5120 and the information bit length is 2560, Z = 117, the base matrix size is (22, 44), V i,j As follows:

[0087] i = 0, j = 0, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, V i,j are respectively 103, 13, 116, 55, 0, 93, 54, 15, 81, 22, 25, 28, 60, 87, 75, 22, 46, 1, 0

[0088] i = 1, j = 1, 2, 3, 5, 6, 7, 8, 9, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, V i,j are respectively 0, 18, 0, 2, 97, 102, 6, 46, 17, 31, 93, 17, 41, 98, 19, 22, 0, 0, 0

[0089] i = 2, j = 0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 24, 25, V i,j are respectively 105, 52, 1, 18, 100, 79, 56, 115, 37, 19, 33, 24, 31, 100, 36, 8, 69, 0, 0

[0090] i = 3, j = 0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 15, 17, 18, 19, 21, 22, 25, V i,j are respectively 0, 57, 1, 23, 76, 4, 40, 116, 40, 5, 98, 0, 14, 0, 30, 82, 65, 1, 0

[0091] i = 4, j = 0, 2, 6, 7, 21, 22, 23, 26, V i,j are respectively 30, 33, 25, 81, 89, 46, 18, 0

[0092] i = 5, j = 8, 13, 15, 21, 22, 27, V i,j are respectively 20, 90, 30, 79, 91, 0

[0093] i = 6, j = 0, 7, 10, 11, 12, 28, V i,j are respectively 52, 0, 110, 5, 64, 0

[0094] i = 7, j = 0, 4, 11, 12, 21, 25, 29, V i,j108, 68, 64, 101, 113, 42, 0

[0095] i = 8, j = 0, 3, 4, 11, 12, 14, 15, 21, 30, V i,j 47, 62, 113, 90, 46, 36, 109, 105, 0

[0096] i = 9, j = 0, 4, 11, 12, 15, 21, 31, V i,j 73, 0, 112, 116, 11, 0, 0

[0097] i = 10, j = 0, 2, 6, 14, 16, 32, V i,j 15, 52, 98, 13, 57, 0

[0098] i = 11, j = 5, 8, 14, 21, 23, 33, V i,j 4, 48, 57, 109, 109, 0

[0099] i = 12, j = 0, 2, 6, 7, 8, 21, 22, 34, V i,j 105, 96, 27, 81, 6, 62, 97, 0

[0100] i = 13, j = 0, 1, 4, 5, 21, 35, V i,j 87, 96, 58, 47, 83, 0

[0101] i = 14, j = 0, 2, 6, 7, 8, 10, 21, 22, 24, 36, V i,j 82, 106, 40, 47, 67, 64, 27, 7, 37, 0

[0102] i = 15, j = 0, 1, 5, 18, 19, 21, 37, V i,j 35, 20, 64, 48, 14, 5, 0

[0103] i = 16, j = 2, 3, 6, 7, 9, 21, 38, V i,j 72, 21, 46, 82, 70, 93, 0

[0104] i = 17, j = 0, 8, 14, 15, 22, 39, V i,j 17, 74, 51, 43, 47, 0

[0105] i = 18, j = 0, 21, 40, V i,j 12, 27, 0

[0106] i = 19, j = 3, 4, 11, 12, 14, 15, 17, 21, 41, V i,j 12, 24, 53, 47, 58, 105, 0

[0107] i = 20, j = 0, 1, 5, 18, 19, 20, 42, V i,j 12, 24, 53, 47, 58, 105, 0

[0108] i = 21, j = 2, 3, 6, 18, 21, 43, V i,j 96, 113, 76, 48, 66, 0

[0109] When the code length is 5120 and the information bit length is 3840, Z = 175, the base matrix size is (8, 30), V i,j As follows:

[0110] i = 0, j = 1, 2, 3, 4, 67, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, V i,j 115, 105, 8, 114, 7, 137, 18, 173, 0, 63, 20, 65, 165, 155, 148, 22, 35, 1, 0;

[0111] i = 1, j = 0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 18, 19, 21, 22, 23, 24, V i,j 23, 78, 103, 3, 18, 166, 122, 119, 39, 149, 65, 144, 2, 62, 59, 158, 0, 0, 0;

[0112] i = 2, j = 0, 1, 2, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 20, 21, 24, 25, V i,j 0, 137, 102, 111, 47, 69, 87, 138, 172, 53, 22, 24, 31, 41, 149, 14, 139, 0, 0;

[0113] i = 3, j = 0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 25, V i,j 164, 174, 71, 28, 166, 105, 117, 116, 118, 5, 127, 64, 85, 131, 116, 34, 21, 1, 0;

[0114] i = 4, j = 4, 11, 12, 18, 19, 21, 22, 26, V i,j respectively 8, 139, 137, 16, 161, 17, 45, 0;

[0115] i = 5, j = 0, 5, 8, 12, 13, 21, 27, V i,j respectively 84, 150, 83, 135, 54, 81, 0;

[0116] i = 6, j = 12, 21, 28, V i,j respectively 167, 71, 0;

[0117] i = 7, j = 1, 3, 9, 10, 16, 17, 20, 21, 29, V i,j respectively 37, 48, 13, 152, 130, 119, 170, 47, 0;

[0118] When the code length is 2450 and the information bit length is 1225, Z = 56, the base matrix size is (22, 44), V i,j as follows:

[0119] i = 0, j = 0, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, V i,j respectively 47, 48, 0, 4, 0, 2, 0, 1, 1, 36, 20, 5, 12, 42, 7, 15, 32, 1, 0

[0120] i = 1, j = 1, 2, 3, 5, 6, 7, 8, 9, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, V i,j respectively 0, 6, 36, 0, 2, 49, 45, 53, 3, 31, 1, 1, 31, 32, 5, 1, 0, 0, 0

[0121] i = 2, j = 0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 24, 25, V i,j respectively 4, 5, 13, 2, 22, 10, 38, 40, 30, 51, 31, 0, 42, 29, 42, 43, 35, 0, 0

[0122] i = 3, j = 0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 15, 17, 18, 19, 21, 22, 25, V i,j respectively 2, 11, 1, 3, 10, 18, 2, 29, 15, 2, 2, 0, 26, 33, 13, 22, 9, 1, 0

[0123] i = 4, j = 0, 2, 6, 7, 21, 22, 23, 26, V i,j 0, 40, 29, 45, 54, 0

[0124] i = 5, j = 8, 13, 15, 21, 22, 27, V i,j 0, 40, 29, 45, 54, 0

[0125] i = 6, j = 0, 7, 10, 11, 12, 28, V i,j 2, 42, 49, 55, 18, 0

[0126] i = 7, j = 0, 4, 11, 12, 21, 25, 29, V i,j 0, 44, 54, 1, 3, 7, 0

[0127] i = 8, j = 0, 3, 4, 11, 12, 14, 15, 21, 30, V i,j 38, 28, 43, 5, 12, 28, 17, 27, 0

[0128] i = 9, j = 0, 4, 11, 12, 15, 21, 31, V i,j 12, 32, 51, 22, 9, 28, 0

[0129] i = 10, j = 0, 2, 6, 14, 16, 32, V i,j 10, 1, 17, 55, 20, 0

[0130] i = 11, j = 5, 8, 14, 21, 23, 33, V i,j 27, 1, 0, 12, 24, 0

[0131] i = 12, j = 0, 2, 6, 7, 8, 21, 22, 34, V i,j 19, 42, 1, 2, 13, 3, 48, 0

[0132] i = 13, j = 0, 1, 4, 5, 21, 35, V i,j 39, 45, 36, 2, 6, 0

[0133] i = 14, j = 0, 2, 6, 7, 8, 10, 21, 22, 24, 36, V i,j 29, 40, 17, 34, 17, 13, 2, 53, 2, 0

[0134] i = 15, j = 0, 1, 5, 18, 19, 21, 37, Vi,j The values ​​are 0, 30, 38, 44, 39, 2, 0 respectively.

[0135] i = 16, j = 2, 3, 6, 7, 9, 21, 38, V i,j The values ​​are 51, 20, 8, 50, 7, 0, 0 respectively.

[0136] i = 17, j = 0, 8, 14, 15, 22, 39, V i,j They are 55, 0, 40, 37, 4, 0 respectively.

[0137] i = 18, j = 0, 21, 40, V i,j They are 28, 10, and 0 respectively.

[0138] i=19,j=3,4,11,12,14,15,17,21,41,V i,j The values ​​are 38, 13, 35, 39, 29, 13, 13, 34, 0 respectively.

[0139] i=20,j=0,1,5,18,19,20,42,V i,j The values ​​are 51, 54, 17, 36, 13, 55, and 0 respectively.

[0140] i = 21, j = 2, 3, 6, 18, 21, 43, V i,j The values ​​are 17, 18, 39, 3, 45, and 0 respectively.

[0141] When the code length is 2450 and the information bit length is 1838, Z = 84, the size of the basis matrix is ​​(8, 30), and V i,j as follows:

[0142] i=0,j=1,2,3,4,6,7,9,11,12,14,15,16,17,18,19,20,21,22,23,V i,j The values ​​are 66, 28, 64, 23, 63, 81, 67, 1, 76, 77, 6, 2, 81, 1, 57, 78, 42, 1, 0 respectively.

[0143] i=1,j=0,2,3,4,5,6,7,8,10,11,13,14,15,18,19,21,22,23,24,V i,j The values ​​are 79, 71, 82, 38, 0, 82, 31, 14, 74, 72, 58, 81, 2, 13, 1, 67, 0, 0, 0 respectively.

[0144] i=2,j=0,1,2,5,6,7,8,9,10,12,13,14,15,16,17,20,21,24,25,V i,j43, 18, 25, 62, 54, 13, 10, 12, 67, 81, 15, 66, 10, 41, 30, 70, 62, 0, 0;

[0145] i = 3, j = 0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 25, V i,j 31, 20, 43, 56, 33, 21, 26, 25, 62, 54, 43, 15, 64, 47, 18, 13, 49, 1, 0;

[0146] i = 4, j = 4, 11, 12, 18, 19, 21, 22, 26, V i,j 22, 6, 18, 51, 77, 73, 3, 0;

[0147] i = 5, j = 0, 5, 8, 12, 13, 21, 27, V i,j 70, 38, 34, 30, 47, 81, 0;

[0148] i = 6, j = 12, 21, 28, V i,j 20, 78, 0;

[0149] i = 7, j = 1, 3, 9, 10, 16, 17, 20, 21, 29, V i,j 9, 62, 13, 33, 81, 35, 65, 12, 0;

[0150] When the code length is 1386 and the information bit length is 693, Z = 32, the base matrix size is (22, 44), V i,j As follows:

[0151] i = 0, j = 0, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, V i,j 2, 2, 8, 8, 7, 18, 19, 0, 3, 28, 1, 19, 28, 2, 15, 15, 0, 1, 0

[0152] i = 1, j = 1, 2, 3, 5, 6, 7, 8, 9, 10, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, V i,j 2, 22, 28, 1, 12, 25, 21, 21, 19, 31, 7, 8, 1, 16, 29, 1, 0, 0, 0

[0153] i = 2, j = 0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 24, 25, V i,j 6, 27, 9, 9, 3, 10, 2, 5, 7, 31, 18, 0, 6, 1, 4, 30, 9, 1, 0

[0154] i = 3, j = 0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 15, 17, 18, 19, 21, 22, 25, V i,j 6, 27, 9, 9, 3, 10, 2, 5, 7, 31, 18, 0, 6, 1, 4, 30, 9, 1, 0

[0155] i = 4, j = 0, 2, 6, 7, 21, 22, 23, 26, V i,j 23, 2, 30, 13, 25, 30, 8, 0

[0156] i = 5, j = 8, 13, 15, 21, 22, 27, V i,j 0, 0, 13, 5, 22, 0

[0157] i = 6, j = 0, 7, 10, 11, 12, 28, V i,j 10, 2, 25, 0, 10, 0

[0158] i = 7, j = 0, 4, 11, 12, 21, 25, 29, V i,j 27, 2, 6, 8, 27, 15, 0

[0159] i = 8, j = 0, 3, 4, 11, 12, 14, 15, 21, 30, V i,j 1, 20, 11, 21, 12, 4, 9, 27, 0

[0160] i = 9, j = 0, 4, 11, 12, 15, 21, 31, V i,j 12, 8, 19, 22, 9, 4, 0

[0161] i = 10, j = 0, 2, 6, 14, 16, 32, V i,j 10, 1, 25, 15, 20, 0

[0162] i = 11, j = 5, 8, 14, 21, 23, 33, V i,j 19, 3, 1, 28, 8, 0

[0163] i = 12, j = 0, 2, 6, 7, 8, 21, 22, 34, V i,j0, 10, 17, 10, 5, 13, 8, 0

[0164] i = 13, j = 0, 1, 4, 5, 21, 35, V i,j 15, 21, 4, 10, 30, 0

[0165] i = 14, j = 0, 2, 6, 7, 8, 10, 21, 22, 24, 36, V i,j 21, 16, 1, 10, 25, 5, 10, 13, 10, 0

[0166] i = 15, j = 0, 1, 5, 18, 19, 21, 37, V i,j 1, 6, 30, 12, 7, 26, 0

[0167] i = 16, j = 2, 3, 6, 7, 9, 21, 38, V i,j 11, 28, 24, 18, 31, 0, 0

[0168] i = 17, j = 0, 8, 14, 15, 22, 39, V i,j 7, 0, 16, 29, 28, 0

[0169] i = 18, j = 0, 21, 40, V i,j 28, 2, 0

[0170] i = 19, j = 3, 4, 11, 12, 14, 15, 17, 21, 41, V i,j 22, 5, 11, 7, 5, 21, 21, 10, 0

[0171] i = 20, j = 0, 1, 5, 18, 19, 20, 42, V i,j 27, 6, 9, 4, 13, 15, 0

[0172] i = 21, j = 2, 3, 6, 18, 21, 43, V i,j 1, 2, 15, 19, 21, 0

[0173] When the code length is 1386 and the information bit length is 1040, Z = 48, the base matrix size is (8, 30), V i,j As follows:

[0174] i = 0, j = 1, 2, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, V i,j31, 23, 10, 14, 1, 0, 43, 26, 26, 0, 10, 9, 26, 1, 0, 19, 0, 0, 0;

[0175] i = 1, j = 0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 18, 19, 21, 22, 23, 24, V i,j 31, 23, 10, 14, 1, 0, 43, 26, 26, 0, 10, 9, 26, 1, 0, 19, 0, 0, 0;

[0176] i = 2, j = 0, 1, 2, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 20, 21, 24, 25, V i,j 19, 42, 37, 14, 6, 37, 0, 12, 7, 33, 15, 42, 10, 41, 30, 46, 26, 0, 0;

[0177] i = 3, j = 0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 25, V i,j 31, 44, 19, 0, 33, 9, 38, 25, 38, 6, 31, 15, 16, 47, 42, 37, 37, 1, 0;

[0178] i = 4, j = 4, 11, 12, 18, 19, 21, 22, 26, V i,j 22, 6, 30, 3, 29, 1, 3, 0;

[0179] i = 5, j = 0, 5, 8, 12, 13, 21, 27, V i,j 34, 38, 46, 30, 35, 21, 0;

[0180] i = 6, j = 12, 21, 28, V i,j 8, 30, 0;

[0181] i = 7, j = 1, 3, 9, 10, 16, 17, 20, 21, 29, V i,j 33, 14, 1, 9, 9, 23, 29, 36, 0;

[0182] When the code length is 304 and the information bit length is 152, Z = 16, the base matrix size is (10, 20), V i,j As follows:

[0183] i = 0, j = 0, 1, 3, 7, 8, 9, 10, 11, V i,j0, 1, 0, 14, 12, 1, 1, 0

[0184] i = 1, j = 0, 1, 2, 4, 5, 6, 8, 9, 11, 12, V i,j 3, 0, 1, 14, 15, 5, 6, 7, 0, 0

[0185] i = 2, j = 1, 3, 4, 6, 9, 10, 12, 13, V i,j 12, 3, 1, 10, 9, 0, 0, 0

[0186] i = 3, j = 0, 2, 3, 4, 5, 6, 7, 8, 10, 13, V i,j 2, 4, 14, 6, 6, 14, 15, 1, 1, 0

[0187] i = 4, j = 3, 9, 12, 14, V i,j 7, 9, 8, 0

[0188] i = 5, j = 3, 6, 10, 11, 15, i,j 14, 9, 6, 0, 0

[0189] i = 6, j = 2, 3, 5, 9, 11, 16, V i,j 7, 0, 6, 4, 1, 0

[0190] i = 7, j = 0, 2, 5, 9, 11, 17, V i,j 2, 5, 9, 0, 6, 0

[0191] i = 8, j = 3, 9, 11, 18, V i,j 6, 6, 14, 0

[0192] i = 9, j = 2, 3, 5, 11, 13, 19, V i,j 8, 4, 11, 14, 10, 0

[0193] When the code length is 304 and the information bit length is 228, Z = 16, the base matrix size is (4, 14), V i,j As follows:

[0194] i = 0, j = 0, 1, 2, 5, 6, 9, 10, 11, V i,j 14, 1, 21, 9, 1, 22, 1, 0

[0195] i = 1, j = 1, 2, 3, 4, 5, 7, 8, 9, 11, 12, V i,j 11, 13, 18, 22, 3, 4, 12, 11, 0, 0

[0196] i=2, j=0, 2, 4, 7, 9, 10, 12, 13, V i,j 9, 8, 7, 15, 1, 3, 0, 6, 1, 0

[0197] i=3, j=0, 1, 3, 4, 5, 6, 7, 8, 10, 13, V i,j 9, 8, 7, 15, 1, 3, 0, 6, 1, 0

[0198] After obtaining the LDPC check matrix, in order to adapt to the fixed code rate of 3 / 4 or 1 / 2, the information bits need to be padded with 0 to the length of the information bits corresponding to the LDPC code check matrix before encoding of the LDPC code, and after the padding of 0 is completed, the check matrix is encoded. The specific process is as follows:

[0199] When the length of the input encoder information bits is 2560, 14 0s need to be padded at the end to a length of 2574.

[0200] When the length of the input encoder information bits is 3840, 10 0s need to be padded at the end to a length of 3850.

[0201] When the length of the input encoder information bits is 1225, 7 0s need to be padded at the end to a length of 1232.

[0202] When the length of the input encoder information bits is 1838, 10 0s need to be padded at the end to a length of 1848.

[0203] When the length of the input encoder information bits is 693, 11 0s need to be padded at the end to a length of 704.

[0204] When the length of the input encoder information bits is 1040, 16 0s need to be padded at the end to a length of 1056.

[0205] When the length of the input encoder information bits is 152, 8 0s need to be padded at the end to a length of 160.

[0206] When the length of the input encoder information bits is 228, 2 0s need to be padded at the end to a length of 230.

[0207] For the communication device of the sending end, the encoding of the information bit input sequence using the LDPC matrix can include: using the LDPC matrix corresponding to the base matrix and the extension factor Z to encode the input sequence; or the LDPC matrix corresponding to the base matrix and the extension factor Z is subjected to row / column transformation, and the input sequence is encoded using the matrix after the row / column transformation. In the present application, the row / column transformation refers to row transformation, column transformation, or row transformation and column transformation.

[0208] In one possible implementation, an LDPC matrix can be saved, used to encode an input sequence, or transformed (row / column transformation) or extended based on the LDPC matrix to obtain an LDPC matrix that can be used for encoding.

[0209] In another possible implementation, parameters can be saved from which an LDPC matrix used for encoding or decoding can be obtained, so that an input sequence can be encoded or decoded based on the LDPC matrix. The parameters include at least one of the following: a base matrix, a transformed matrix based on the base matrix or a row / column transformation of the base matrix, an extended matrix based on the base matrix or the base matrix, an offset value of non-negative elements in the base matrix, or any parameter related to obtaining the LDPC matrix.

[0210] In yet another possible implementation, a base matrix of an LDPC matrix can be saved in a memory.

[0211] In yet another possible implementation, a base graph of a base matrix of an LDPC matrix can be saved in a memory, and an offset value of non-negative elements in the base matrix of the LDPC matrix can be saved in the memory.

[0212] In one embodiment of the present application, the code length is 5120, the information bit length is 2560, and the base matrix selects a preset first matrix as Figure 6 .

[0213] In one embodiment of the present application, the code length is 5120, the information bit length is 3840, and the base matrix selects a preset second matrix as Figure 7 .

[0214] In one embodiment of the present application, the code length is 2450, the information bit length is 1225, and the base matrix selects a preset third matrix as Figure 8 .

[0215] In one embodiment of the present application, the code length is 2450, the information bit length is 1838, and the base matrix selects a preset fourth matrix as Figure 9 .

[0216] In one embodiment of the present application, the code length is 1386, the information bit length is 693, and the base matrix selects a preset fifth matrix as Figure 10 .

[0217] In one embodiment of the present application, the code length is 1386, the information bit length is 1040, and the base matrix selects a preset sixth matrix as Figure 11 .

[0218] In one embodiment of the present application, the code length is 304, the information bit length is 152, and the base matrix selects the preset seventh matrix as Figure 12 ;

[0219] In one embodiment of the present application, the code length is 304, the information bit length is 228, and the base matrix selects the preset eighth matrix as Figure 13 .

[0220] In order to ensure that the code rate of the sending sequence is 3 / 4 or 1 / 2 after encoding, the sending sequence needs to be selected according to the code rate, the code length and the information bit length, and the details are as follows:

[0221] When the base matrix is Figure 6 and the lifting factor Z is 117, the sending code word is: the first 2560 information bits and the first 2560 check bits after encoding.

[0222] When the base matrix is Figure 7 and the lifting factor Z is 175, the sending code word is: the first 3840 information bits and the first 1280 check bits after encoding.

[0223] When the base matrix is Figure 8 and the lifting factor Z is 56, the sending code word is: the first 1225 information bits and the first 1225 check bits after encoding.

[0224] When the base matrix is Figure 9 and the lifting factor Z is 84, the sending code word is: the first 1838 information bits and the first 612 check bits after encoding.

[0225] When the base matrix is Figure 10 and the lifting factor Z is 32, the sending code word is: the first 693 information bits and the first 693 check bits after encoding.

[0226] When the base matrix is Figure 11 and the lifting factor Z is 48, the sending code word is: the first 1040 information bits and the first 346 check bits after encoding.

[0227] When the base matrix is Figure 12 and the lifting factor Z is 16, the sending code word is: the first 152 information bits and the first 152 check bits after encoding.

[0228] When the base matrix is Figure 13 and the lifting factor Z is 23, the sending code word is: the first 228 information bits and the first 76 check bits after encoding.

[0229] Based on the above encoding and post-encoding sequence transmission method, the received sequence can be decoded by using soft value decoding of LDPC code. The soft information of the receiving end is completed according to the different code length and code rate of the sending end, and then iterative decoding is performed. Specifically, the following is performed:

[0230] When the received code length is 5120 and the code rate is 1 / 2, 14 large positive soft information LLRs (LLR is positive, which means that the bit is more likely to be zero) are needed to be supplemented after the information bits (the first 2560 bits), and 14 soft information (LLR) of 0 are supplemented after the check bits (the last 2560 bits). Through the corresponding LDPC check matrix, iterative decoding is performed, and the first 5120 bits after decoding are the original information bits.

[0231] When the received code length is 5120 and the code rate is 3 / 4, 10 large positive soft information LLRs are needed to be supplemented after the information bits, and 120 soft information of 0 are supplemented after the check bits;

[0232] When the received code length is 2450 and the code rate is 1 / 2, 7 large positive soft information LLRs are needed to be supplemented after the information bits, and 7 soft information of 0 are supplemented after the check bits;

[0233] When the received code length is 2450 and the code rate is 3 / 4, 10 large positive soft information LLRs are needed to be supplemented after the information bits, and 60 soft information of 0 are supplemented after the check bits;

[0234] When the received code length is 1386 and the code rate is 1 / 2, 11 large positive soft information LLRs are needed to be supplemented after the information bits, and 11 soft information of 0 are supplemented after the check bits;

[0235] When the received code length is 1386 and the code rate is 3 / 4, 16 large positive soft information LLRs are needed to be supplemented after the information bits, and 38 soft information of 0 are supplemented after the check bits;

[0236] When the received code length is 304 and the code rate is 1 / 2, 8 large positive soft information LLRs are needed to be supplemented after the information bits, and 8 soft information of 0 are supplemented after the check bits;

[0237] When the received code length is 304 and the code rate is 3 / 4, 2 large positive soft information LLRs are needed to be supplemented after the information bits, and 16 soft information of 0 are supplemented after the check bits.

[0238] LDPC codes are typically represented by a parity check matrix H. The parity check matrix H of an LDPC code can be uniquely represented by a basis matrix and a boosting factor Z. The basis matrix typically includes m*n matrix elements (entries), represented as an m x n matrix, with element values ​​of -1 or non-negative values. An element with a value of -1 indicates that it can be replaced by a Z*Z zero matrix, and a non-negative element indicates that its position can be replaced by a Z*Z circulant permutation matrix. In other words, each matrix element represents either a zero matrix or a circulant permutation matrix. It should be noted that in this invention, the row and column numbers of the basis matrix start from 0, merely for ease of explanation. For example, column 0 represents the first column of the basis matrix, column 1 represents the second column, row 0 represents the first row, row 1 represents the second row, and so on.

[0239] If the element in the i-th row and j-th column of the basis matrix is ​​non-negative, its offset is P. i,j P i,j If the integer is greater than or equal to 0, then the element with a value of 1 in the i-th row and j-th column can be P. i,j The corresponding Z*Z cyclic permutation matrix replacement, which can be obtained by performing a P-transformation on the Z*Z identity matrix. i,j The parity check matrix H is obtained by a right circular shift. Z is a positive integer, also known as the lifting factor, lifting size, or lifting factor, which is determined based on the block size supported by the system and the size of the information data. Therefore, the size of the parity check matrix H is (m*Z)*(n*Z). For example, if the lifting factor Z = 4, then each zero element is replaced by a 4*4 matrix of all zeros. If P... 2,3 =2, then the non-zero element in the 2nd row and 3rd column is replaced by a 4*4 cyclic permutation matrix, which is obtained by cyclically shifting a 4*4 identity matrix twice to the right. If P 2,4 If the value is 0, then the non-zero element in the 2nd row and 4th column is replaced by the identity matrix. It should be noted that this is merely an example and is not a limitation.

[0240] The LDPC code used in this system is the QC-LDPC code, whose parity bit portion has a double-diagonal structure B1 and a single-diagonal structure B2, which simplifies the encoding. QC-LDPC code decoders typically employ a QC-LDPC shift network (QSN), a Banyan network, or a Benes network to implement cyclic shifting of information.

[0241] In order to support different code lengths, the application selects different base matrices and their expansion factors Z = {117, 175, 56, 84, 42, 48, 16, 23} respectively in the case of information bit lengths being {2560, 3840, 1225, 1838, 693, 1040, 152, 228} to obtain QC-LDPC check matrices required for encoding and decoding, and to obtain fixed 3 / 4 or 1 / 2 code rates by puncturing a small amount of information bits and truncating check bits.

[0242] As Figure 2 , the LDPC codes with code lengths and information bits being (5120, 2560), (2450, 1225) and (1386, 693) have the same base matrix structure. The base matrix has a matrix size of 22 rows and 44 columns and can include two sub-matrices A and B. The weight of a matrix is determined by the number of non-zero elements, the weight of a row (row weight) refers to the number of non-zero elements included in a row, and the weight of a column (column weight) refers to the number of non-zero elements included in a column. The sub-matrix A is a 22-row and 22-column matrix, in which each column corresponds to Z system bits in the LDPC code, and the system bits are also called information bits sometimes. The sub-matrix B is a 22-row and 22-column square matrix, and each column corresponds to Z check bits in the LDPC code. The sub-matrix B mainly includes a column with a weight of 8, a 4-row and 3-column double diagonal structure matrix B1 and an 18-row and 18-column single diagonal structure matrix B2.

[0243] When encoding is performed using the matrix with this structure, first, the first 4 rows and 26 columns of the matrix are encoded, i.e., the sub-matrices A1, B1 and the first 4 rows of the column with a weight of 4, as Figure 14 which is a QC-LDPC code with a double diagonal structure, the check bits corresponding to the double diagonal structure are obtained first, and then the check bits corresponding to the single column weight column, i.e., the check bits corresponding to the B2 part, are obtained.

[0244] An example way of encoding is given below. It is assumed that the sub-matrices A1, B1 and the first 4 rows of the column with a weight of 4 constitute H1, and the check bit part in H1 is denoted as He = [He1 He2], He1 is a 3-column weight column, and He2 is a double diagonal structure. According to the definition of the LDPC code matrix, H1*[S Pe] T = 0, where S is an input sequence, a vector composed of information bits, Pe is a vector composed of check bits, and [S Pe] T represents the transposition of the matrix composed of the input sequence S and Pe. Therefore, the check bits corresponding to H1 can be calculated first according to the input sequence S and H1, and the input sequence S includes all information bits; then the check bits corresponding to the single column weight column in the sub-matrix B2 are calculated according to the check bits corresponding to H1 and the input sequence S, at this time, all check bits corresponding to the sub-matrix B can be obtained. These bits constitute the encoded sequence, i.e., an LDPC code sequence.

[0245] Similarly, as Figure 3 , the LDPC codes with code length and information bits of (5120, 3840), (2450, 1838), (1386, 1040) have the same base matrix structure. When encoding is performed on the matrix with this structure, first, the matrix of the first 4 rows and 26 columns, i.e., the sub-matrix A1, B1 and the first 4 rows of the weight 4 column B3, is encoded, as Figure 15 , which is a QC-LDPC code with a double diagonal structure, the check bits corresponding to the double diagonal structure are obtained first, and then the check bits corresponding to the single column weight column, i.e., the check bits corresponding to the B2 part, are obtained.

[0246] As Figure 4 is the base matrix structure of the LDPC code with code length and information bits of (304, 152). When encoding is performed on the matrix with this structure, first, the matrix of the first 4 rows and 14 columns, i.e., the sub-matrix A1, B1 and the first 4 rows of the weight 4 column B3, is encoded, as Figure 16 , which is a QC-LDPC code with a double diagonal structure, the check bits corresponding to the double diagonal structure are obtained first, and then the check bits corresponding to the single column weight column, i.e., the check bits corresponding to the B2 part, are obtained.

[0247] As Figure 5 is the base matrix structure of the LDPC code with code length and information bits of (304, 228), which is a QC-LDPC code with a double diagonal structure, and can be encoded according to the encoding mode of the QC-LDPC code with a double diagonal structure.

[0248] The LDPC code encoding can also include shortening and puncturing operations. The bits that are shortened and the bits that are punctured are not transmitted.

[0249] In order to ensure a fixed code rate, p bits in the LDPC code check matrix can be included, p can be a small integer, these columns participate in encoding, but the system bits corresponding to the encoding are not transmitted, and a small number of columns at the end of the check bits can also participate in encoding, but the bits are not transmitted. For an LDPC check matrix of size n*m, if p information bits are not transmitted and q check bits are not transmitted, the code rate is At different code lengths, a small number of puncturing of information bits is required, the puncturing of information bits can be 0 (or 1) supplement, and then encoding is performed through the corresponding LDPC check matrix. After the encoding is completed, a small number of truncations of the check bits are performed. The truncated information bits and check bits are not transmitted.

[0250] It should be noted that the encoding mode is only an example, other encoding modes known to those skilled in the art can also be used based on the base matrix provided by the present application, and the present application is not limited.

[0251] The decoding in the present application needs to supplement a large log-likelihood ratio (LLR) (indicating that the punctured information bit is 0) to the punctured information bit and supplement 0 to the log-likelihood ratio of the punctured check bit before decoding the received sequence. After the length of the supplemented sequence is supplemented to the length of the matrix row, a plurality of decoding methods can be used, for example, a min-sum (MS) decoding method or a belief propagation decoding method. The MS decoding method is also referred to as a Flood MS decoding method. For example, the input sequence is initialized and iterative processing is performed. After the iteration, hard decision detection is performed, and the hard decision result is checked. If the decoding result meets the check equation, the decoding is successful, the iteration is terminated, and the decision result is output. If the check equation is not met, the iterative processing is performed again within a maximum iteration number. If the maximum iteration number is reached and the check fails, the decoding fails. It can be understood that those skilled in the art can understand the principle of the MS decoding, which is not described in detail here.

[0252] When the input sequence is encoded / decoded, the LDPC matrix H can be obtained by extension according to the Z and the base matrix. For each non-negative element P i,j in the base matrix, a cyclic permutation matrix h i,j of size Z*Z is determined, where h i,j is a cyclic permutation matrix obtained by performing P i,j times of cyclic shift on the unit matrix, and h i,j is substituted for the non-negative element P i,j , and a zero matrix of size Z*Z is substituted for the -1 element in the base matrix, so as to obtain the parity check matrix H.

[0253] In a possible implementation, since there are a plurality of base matrices of the LDPC code, a large storage space is occupied when the base matrices are saved according to the matrix structure. Alternatively, the base matrices of the LDPC code can be saved in the memory, and the offset values of the non-negative elements in each base matrix are saved row by row or column by column, respectively. Then, the LDPC matrix is obtained according to the offset values of the base matrix corresponding to the base matrix and the extension factor Z.

[0254] Decoding is the inverse process of encoding, and the base matrix used in the decoding process has the same characteristics as the base matrix used in the encoding process. The encoding process of the LDPC code can be described with reference to the foregoing implementation, which is not described here. In an implementation, before decoding, the communication device can further perform one or more of the following operations: receiving a signal containing LDPC encoding based, demodulating the signal, deinterleaving and de-rate matching to obtain a soft value sequence of the LDPC code, and decoding the soft value sequence of the LDPC code.

[0255] The encoding and decoding method of the LDPC code in the NAVDAT system under the slight fading Gaussian channel according to the embodiment of the application can support the encoding and decoding of information bit sequences with various lengths, meet the flexible code length requirement of the system, and satisfy the standard 1 / 2 or 3 / 4 code rate requirement by puncturing and truncating the encoding sequence.

[0256] In order to implement the method of the above embodiment, the application further provides an electronic device, as shown in the figure, the computer device 600 comprises a memory 601, a processor 602; wherein the processor 602 runs the program corresponding to the executable program code stored in the memory 601 by reading the executable program code, so as to implement the steps of the above method. Figure 17

[0257] The storage referred to in the application can refer to storage in one or more memories. The one or more memories can be separately arranged or integrated in the encoder or decoder, processor, chip, communication device, or terminal. The one or more memories can also be partially separately arranged and partially integrated in the decoder, processor, chip, communication device, or terminal, and the type of memory can be any form of storage medium, which is not limited in the application

[0258] The storage referred to in the application can refer to storage in one or more memories. The one or more memories can be separately arranged or integrated in the encoder or decoder, processor, chip, communication device, or terminal. The one or more memories can also be partially separately arranged and partially integrated in the decoder, processor, chip, communication device, or terminal, and the type of memory can be any form of storage medium, which is not limited in the application

[0259] In the description of the present specification, the description of the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the application. In the present specification, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, the person skilled in the art can combine and combine the different embodiments or examples described in the present specification and the features of the different embodiments or examples without contradiction.

[0260] ​Furthermore, the terms "first", "second", "third", "fourth", "fifth" and "sixth" are used herein for descriptive purposes only and are not to be construed as indicating or implying relative importance or a significant nature of so described technical features. It is to be understood that a technical feature described with the "first", "second", "third", "fourth", "fifth" or "sixth" can implicitly or explicitly include at least one of the technical features described with the "first", "second", "third", "fourth", "fifth" or "sixth". In the description of the present application, the meaning of "a plurality" is at least two, for example, two, three, etc., unless otherwise specifically defined.

Claims

1. A method for encoding and decoding LDPC codes in a NAVDAT system under a slightly fading Gaussian channel, characterized in that, The method comprises the following steps: determining a base matrix and an extension factor Z according to the pre-encoding information bit length of the input bit sequence and the target code length, wherein the pre-encoding information bit length comprises 2560, 3840, 1225, 1838, 693, 1040, 152 and 228, the post-encoding code length comprises 5120, 2450 and 1386, and the code rate comprises 1 / 2 and 3 / 4; obtaining a low-density parity-check (LDPC) matrix based on the base matrix and the extension factor Z; encoding the input bit sequence using the LDPC matrix under a slight fading Gaussian channel of a NAVDAT system, wherein the code rate is 3 / 4 or 1 / 2; wherein the base matrix of the LDPC matrix comprises a sub-matrix A and a sub-matrix B, if the base matrix is represented as an m-row n-column matrix, the sub-matrix A is an m-row n-m-column matrix, and the sub-matrix B is an m-row m-column matrix, wherein the sub-matrix B comprises a double-diagonal structure matrix B1, a single-diagonal structure matrix B2 and a column B3 with a weight of 4; outputting the encoded or decoded bit sequence.

2. The method of claim 1, wherein, According to different information bit lengths, different base matrices and different sizes of extension factors Z are selected when the input information bit lengths are 2560, 3840, 1225, 1838, 693, 1040, 152 and 228, comprising: when the code length is 5120 and the information bit length is 2560, the base matrix is selected as a preset first matrix, and the extension factor Z is 117; when the code length is 5120 and the information bit length is 3840, the base matrix is selected as a preset second matrix, and the extension factor Z is 175; when the code length is 2450 and the information bit length is 1225, the base matrix is selected as a preset third matrix, and the extension factor Z is 56; when the code length is 2450 and the information bit length is 1838, the base matrix is selected as a preset fourth matrix, and the extension factor Z is 84; when the code length is 1386 and the information bit length is 693, the base matrix is selected as a preset fifth matrix, and the extension factor Z is 32; when the code length is 1386 and the information bit length is 1040, the base matrix is selected as a preset sixth matrix, and the extension factor Z is 48; when the code length is 304 and the information bit length is 152, the base matrix is selected as a preset seventh matrix, and the extension factor Z is 16; when the code length is 304 and the information bit length is 228, the base matrix is selected as a preset eighth matrix, and the extension factor Z is 23; the LDPC check matrix is uniquely determined based on the base matrix and the extension factor Z.

3. The method of claim 2, wherein, The base matrix and the extension factor Z are selected to obtain the check matrix under different code lengths, information bit lengths and code rates, comprising: when the code length is 5120 and the information bit length is 2560, Z=117, the base matrix size is 22 and 44, and the first check matrix is generated according to the selected corresponding base matrix and Z; when the code length is 5120 and the information bit length is 3840, Z=175, the base matrix size is 8 and 30, and the second check matrix is generated according to the selected corresponding base matrix and Z; when the code length is 2450 and the information bit length is 1225, Z=56, the base matrix size is 22 and 44, and the third check matrix is generated according to the selected corresponding base matrix and Z; When the code length is 2450 and the information bit length is 1838, Z=84, the base matrix size is 8, 30, and the fourth check matrix is generated according to the selected corresponding base matrix and Z; When the code length is 1386 and the information bit length is 693, Z=32, the base matrix size is 22, 44, and the fifth check matrix is generated according to the selected corresponding base matrix and Z; When the code length is 1386 and the information bit length is 1040, Z=48, the base matrix size is 8, 30, and the sixth check matrix is generated according to the selected corresponding base matrix and Z; When the code length is 304 and the information bit length is 152, Z=16, the base matrix size is 10, 20, and the seventh check matrix is generated according to the selected corresponding base matrix and Z; When the code length is 304 and the information bit length is 228, Z=16, the base matrix size is 4, 14, and the eighth check matrix is generated according to the selected corresponding base matrix and Z.

4. The method of claim 3, wherein, When the LDPC codes of different code lengths are encoded based on the LDPC check matrix, the operation of supplementing 0 at the end of the information bit is needed, and the operation is as follows: For the LDPC codes of the code lengths 5120 and 2560 and the encoding code lengths 5148 and 2574, first, 14 zero bits are supplemented at the end of the information bit with the length 2560 to obtain the encoding information bit with the length 2574, which is input into the encoder to obtain the encoded bit with the length 5148, wherein the first 2574 bits are information bits and the last 2574 bits are check bits; when transmitting, first, the first 2560 bits in the information bits are transmitted, and then the first 2560 bits in the check bits are transmitted, and the total code length for transmission is 5120; For the LDPC codes of the code lengths 5120 and 3840 and the encoding code lengths 5250 and 3850, first, 10 zero bits are supplemented at the end of the information bit with the length 3840 to obtain the encoding information bit with the length 3850, which is input into the encoder to obtain the encoded bit with the length 5250, wherein the first 3850 bits are information bits and the last 1400 bits are check bits; when transmitting, first, the first 3840 bits in the information bits are transmitted, and then the first 1280 bits in the check bits are transmitted, and the total code length for transmission is 5120; For the LDPC codes of the code lengths 2450 and 1225 and the encoding code lengths 2464 and 1232, first, 7 zero bits are supplemented at the end of the information bit with the length 1225 to obtain the encoding information bit with the length 1232, which is input into the encoder to obtain the encoded bit with the length 2464, wherein the first 1232 bits are information bits and the last 1232 bits are check bits; when transmitting, first, the first 1225 bits in the information bits are transmitted, and then the first 1225 bits in the check bits are transmitted, and the total code length for transmission is 2450; For the LDPC code with code length 2450, 1838 and encoding code length 2520, 1848, first 10 zero bits are appended to the information bits with length 1838 to obtain the encoding information bits with length 1848, which are input into the encoder to obtain the encoded bits with length 2520, wherein the first 1848 bits are information bits and the last 672 bits are check bits; during transmission, the first 1838 bits in the information bits are transmitted first, then the first 612 bits in the check bits are transmitted, and the total code length for transmission is 2450; For the LDPC code with code length 1386, 693 and encoding code length 1408, 704, first 11 zero bits are appended to the information bits with length 693 to obtain the encoding information bits with length 704, which are input into the encoder to obtain the encoded bits with length 1408, wherein the first 704 bits are information bits and the last 704 bits are check bits; during transmission, the first 693 bits in the information bits are transmitted first, then the first 693 bits in the check bits are transmitted, and the total code length for transmission is 1386; For the LDPC code with code length 1386, 1040 and encoding code length 1440, 1056, first 16 zero bits are appended to the information bits with length 1040 to obtain the encoding information bits with length 1056, which are input into the encoder to obtain the encoded bits with length 1440, wherein the first 1056 bits are information bits and the last 384 bits are check bits; during transmission, the first 1040 bits in the information bits are transmitted first, then the first 346 bits in the check bits are transmitted, and the total code length for transmission is 1386; For the LDPC code with code length 304, 152 and encoding code length 320, 160, first 8 zero bits are appended to the information bits with length 152 to obtain the encoding information bits with length 160, which are input into the encoder to obtain the encoded bits with length 320, wherein the first 160 bits are information bits and the last 160 bits are check bits; during transmission, the first 152 bits in the information bits are transmitted first, then the first 152 bits in the check bits are transmitted, and the total code length for transmission is 304; For the LDPC code with code length 304, 228 and encoding code length 322, 230, first 2 zero bits are appended to the information bits with length 228 to obtain the encoding information bits with length 230, which are input into the encoder to obtain the encoded bits with length 322, wherein the first 230 bits are information bits and the last 92 bits are check bits; during transmission, the first 228 bits in the information bits are transmitted first, then the first 76 bits in the check bits are transmitted, and the total code length for transmission is 304.

5. The method of claim 4, wherein, During decoding at the receiving end, the check matrix of the LDPC code is obtained, and decoding is performed based on the check matrix.

6. The method of claim 5, wherein, Before decoding the received sequence, the log-likelihood ratio information LLR is supplemented with positive values and 0 to restore the received code length to the encoding length, which is as follows: Code length 2450, 1838, encoding code length 2520, 1848: received soft demodulation information of length 2450, wherein the first 1838 bits represent information bits and the last 612 bits represent check bits; before decoding, 10 large positive LLRs are added at the end of the information bits to make the information bit length 1848, then 60 LLRs of zero are added at the end of the check bits to make the check bit length 672, after that, the total code length reaches 2520, which is sent to the decoder for decoding, and the first 1838 bits of the decoding result are the original information bits transmitted.

7. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor implements the method of any one of claims 1-6 when executing the program.