WO2013004090A1 - 一种用于数据传输的方法及装置 - Google Patents

一种用于数据传输的方法及装置 Download PDF

Info

Publication number
WO2013004090A1
WO2013004090A1 PCT/CN2012/072413 CN2012072413W WO2013004090A1 WO 2013004090 A1 WO2013004090 A1 WO 2013004090A1 CN 2012072413 W CN2012072413 W CN 2012072413W WO 2013004090 A1 WO2013004090 A1 WO 2013004090A1
Authority
WO
WIPO (PCT)
Prior art keywords
line
row
sub
matrix
matrices
Prior art date
Application number
PCT/CN2012/072413
Other languages
English (en)
French (fr)
Inventor
鲍东山
王加庆
Original Assignee
北京新岸线无线技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN2011102606614A external-priority patent/CN102868483A/zh
Application filed by 北京新岸线无线技术有限公司 filed Critical 北京新岸线无线技术有限公司
Priority to CN201280012767.5A priority Critical patent/CN104106230B/zh
Priority to KR1020147002998A priority patent/KR101862812B1/ko
Priority to DK12808016.5T priority patent/DK2755340T3/da
Priority to EP12808016.5A priority patent/EP2755340B1/en
Priority to US14/130,965 priority patent/US9411676B2/en
Priority to JP2014517401A priority patent/JP6089031B2/ja
Publication of WO2013004090A1 publication Critical patent/WO2013004090A1/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6552DVB-T2

Definitions

  • the application date for this application is September 5, 2011, and the application number is 201110260661.4.
  • the invention name is
  • the invention belongs to communication technology, and in particular relates to a method and device for data transmission. Background technique
  • LDPC low density parity check
  • the LDPC code is a linear error correction code based on the sparse parity check matrix H, and the elements in H are 1 except 0. If N indicates the code length of the LDPC code, K indicates the information bit length, M indicates the check bit length, 7 indicates the column weight, indicates the line weight, and R indicates the code rate, the LDPC code can be expressed as (N, K) LDPC. code. If the sum is constant, the LDPC code is a regular LDPC code (regular LDPC;); otherwise, it is an irregular LDPC code (Irregular LDPC).
  • the LDPC code code word is the zero space of its check matrix H, and the encoding process is described as follows. First, the parity check matrix construction unit constructs a parity check matrix H according to a preset LDPC coding parameter; then, a generator matrix G is obtained from the parity matrix construction unit according to the check matrix H, where the matrix G and the corresponding checksum are generated. The matrix H is a dual matrix; finally, the coding unit encodes the input data s with the generator matrix G to obtain the codeword c of the output LDPC code.
  • the technical problem to be solved by the present invention is to provide a method for data transmission to reduce the storage space required for storing a parity check matrix.
  • Generating a parity check matrix according to a generated sequence corresponding to the pre-stored row generator The input data is encoded using a generator matrix obtained from the parity check matrix to obtain output data including parity information.
  • An object of the present invention is to provide an apparatus for data transmission, the apparatus comprising: a storage module, a check matrix generation module, and a codeword generation module;
  • the storage module is configured to save a generation sequence corresponding to the row generator, and provide the generation sequence to the verification matrix generation module;
  • the check matrix generating module is configured to generate a parity check matrix according to the generated sequence provided by the storage module, and send the parity check matrix to the codeword generating module;
  • the codeword generating module is configured to receive the parity check matrix from the check matrix generating module, and encode the input data by using a generating matrix obtained by the parity check matrix.
  • a method and apparatus for data transmission uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts the row generator or directly addresses the parity. The way the matrix is checked minimizes the storage space required to store the parity matrix.
  • FIG. 1 is a schematic flowchart of a method for data transmission according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of performance of a (1344, 672) LDPC code according to Embodiment 1 of the present invention
  • FIG. 3 is a schematic diagram of (1344, 840) LDPC code performance provided by Embodiment 2 of the present invention.
  • FIG. 4 is a schematic diagram of performance of (1344, 1008) LDPC code according to Embodiment 3 of the present invention
  • FIG. 5 is a schematic diagram of performance of (1344, 1176) LDPC code according to Embodiment 4 of the present invention
  • Figure 2 is a schematic diagram showing the performance of the (2688, 1680) LDPC code provided in Embodiment 6 of the present invention
  • Figure 8 is a (2688, 2016) LDPC provided in Embodiment 7 of the present invention
  • Figure 9 is a schematic diagram showing the performance of (2688, 2240) LDPC code provided in Embodiment 8 of the present invention
  • Figure 10 is a schematic diagram showing the performance of (5376, 2688) LDPC code provided in Embodiment 9 of the present invention
  • FIG. 12 is a schematic diagram showing the performance of (5376, 4032) LDPC code according to Embodiment 11 of the present invention
  • FIG. 13 is a schematic diagram of Embodiment 12 of the present invention.
  • FIG. 14 is a schematic structural diagram of an apparatus for data transmission according to Embodiment 13 of the present invention;
  • FIG. 15 is a schematic diagram of Embodiment 14 of the present invention. Another schematic structure of an apparatus for data transmission. detailed description
  • An object of the present invention is to generate a parity check matrix by generating a sequence corresponding to a row generator saved in advance; and encoding the input data by using a generator matrix obtained by the parity check matrix, so that only a very small amount of storage space is needed
  • the generation sequence corresponding to the row generator By storing the generation sequence corresponding to the row generator, the problem that the parity check matrix is excessively stored can be solved.
  • FIG. 1 is an exemplary flowchart of a method for data transmission provided by the present invention. Referring to FIG. 1, the method includes the following steps:
  • Step 101 Generate a parity check matrix H according to a generation sequence corresponding to the pre-stored row generator.
  • the number of rows and the number of columns of the parity check matrix to be constructed in this example are determined according to a preset code length, a code rate, and a dimension of the submatrix, and the parity check matrix is divided into sub An array of matrices.
  • the number of columns is the code length of the LDPC code, denoted as N;
  • denotes a column weight, denotes a row weight, R denotes a code rate, ⁇ denotes a number of row generators, and the LDPC code can be represented as an (N, K) LDPC code, and assuming that the constructed LDPC code of the embodiment of the present invention
  • the parity check matrix H can be expressed as follows:
  • H is a full rank matrix of ⁇ ⁇ ⁇ .
  • the first line of OA ⁇ p - l is called the ith row generator of H, then H has a total of P row generators.
  • the i-th row sub-matrix of the parity check matrix (where 0 ⁇ ⁇ P ) can be generated by the first row of the first row sub-matrix, so that the i-th row generator of the first behavior matrix H of the i-th row sub-matrix , then H has a total of P line generators.
  • the first '', G ⁇ ⁇ P row generators, the number of columns in which element 1 is located (range: 0 ⁇ N-1) is called the matrix H
  • the row generators of the matrix ⁇ correspond to one generation sequence.
  • the row generation sequence consists of X numbers, and the required storage space is greatly reduced relative to ⁇ ;
  • the elements of other rows in the entire sub-matrix are obtained by cyclic shift or direct addressing, thereby generating the entire parity check matrix H.
  • Each row of the submatrix is obtained by shifting one line of its previous line to the right by one, where the first line is the right shift of the last line.
  • the value of the other row elements in the loop submatrix is obtained by cyclically shifting its first row of elements. For example, you can rotate the w bit to the right of the first row of elements to get the second row of elements; shift the w bit to the right of the second row of elements to get the third row of elements, and so on, you can get the second row to the The value of all elements of the t line.
  • the direct addressing method is specifically as follows:
  • the code length is N
  • the code rate is a sequence of R generation.
  • a total of P generation sequences correspond to P row sub-matrices, and the number of sub-matrices in each sub-matrix is N/t.
  • a parity check matrix with a code length of N and a code rate of R includes a P* ⁇ ) submatrix whose dimension is txt.
  • Each nonzero element in the generated sequence corresponds to a non-zero matrix, and the remaining submatrices , are all zero matrices with dimensions ⁇ ⁇ .
  • the above calculation method can be understood as: according to the code length, the code rate and the row weight, confirm the dimension of the sub-matrix, and take any element in the generated sequence to generate a sub-matrix, and only the first row element in the generated sub-matrix One position is 1, and the remaining positions are 0; the position of the element is 1 according to the number in the generated sequence according to the following rules Determine: The number obtains the position information of the element according to the divisibility principle, so the first line information of the sub-matrix can be determined, and the position of the element of the sub-matrix other than the first line is 1 according to the first line element.
  • Direct addressing is obtained, that is, the position of the element other than the first row in the sub-matrix is 1 can correspond to the first row, and the corresponding relationship is: except the column value of any row of the first row minus the row After the value, the result of modulo the dimension is equal to the value of the column in the first row.
  • Each non-zero element in the generated sequence corresponds to a non-zero matrix, and the remaining sub-matrices are all zero matrices.
  • a parity check matrix is obtained. It is assumed that the generated sequence corresponding to the row generator for generating the parity check matrix contains y numbers, and the obtained check matrix contains y sub-matrices containing element 1, which are known by the properties of the matrix.
  • the submatrix of 1 is a permutation unit matrix.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • Step 102 Encode the input data by using a generation matrix obtained by a parity check matrix.
  • a corresponding generation matrix G can be obtained from the parity check matrix H in the same manner as in the prior art, wherein the generation matrix G and the corresponding parity risk matrix H are dual matrices.
  • the generation matrix G and the corresponding parity check matrix H are dual matrices.
  • the generator matrix G can be obtained in the following manner:
  • the generator matrix G corresponding to the check matrix H can be expressed as:
  • each column of the matrix is obtained by shifting one column of the previous column down one bit, wherein the first column is the cyclic down of the last column.
  • ⁇ w ⁇ f '' ⁇ ' 1 ''' The first column of ⁇ 1 is called the j+1th column generator of the generator matrix G, then G has a total of p column generators.
  • This embodiment only exemplifies the above-described representation of the generation matrix G.
  • the present invention is not limited to the above-described representation, and the manner of the G matrix obtained by the H matrix and the G matrix are also within the scope of the present invention.
  • the input data is encoded, and the input data is converted into an LDPC codeword to obtain output data including parity information.
  • the LDPC code is a linear block code, and the encoding process can be expressed as:
  • K coded information bits
  • ( ⁇ .' ⁇ ⁇ ' ⁇ ' ⁇ - ⁇ ' ⁇ .' ⁇ ⁇ ' ⁇ 1) is ⁇
  • ( ⁇ ⁇ ''"' ⁇ TM) is ⁇ - ⁇ check bits
  • the input data can be encoded in the same manner as in the prior art.
  • the above method determines that the generation sequence corresponding to the line generator matching the code length, the code rate, and the dimension of the sub-matrix is stored in advance in the case where the LDPC code length, the code rate, and the dimension of the sub-matrix have been selected.
  • the selection of the code length and code rate of the multi-rate LDPC code includes many methods, and a feasible method can determine the length of the code used according to the principle of the highest spectrum efficiency according to the upper layer indicating the length of the transmission packet.
  • the code length is determined by first using the codeword with the highest code rate under the code length, and determining whether the code rate is applicable according to the metric of the PER.
  • the code rate is lowered to be adjacent thereto. Lower code rate until the lowest bit rate is reached.
  • the above is only an example of a selection method.
  • the present invention is not limited to the above selection method, and the selection of the LDPC code length, the code rate, and the dimension of the sub-matrix by other methods are all within the scope of the present invention.
  • the data after the data transmission method of the present invention is interleaved and modulated, and then transmitted outward.
  • the modulation method may include: quadrature amplitude modulation (QAM), phase shift keying (PSK), amplitude phase shift keying (APSK), differential phase shift keying (DPSK), absolute phase shift keying (BPSK), Differential amplitude phase shift keying (DAPSK) and orthogonal frequency division multiplexing (OFDM).
  • the modulated signal can be transmitted through various communication systems, including terrestrial links supporting mobile multimedia broadcasting, etc., for example: It can be transmitted through a terrestrial mobile multimedia broadcasting system (T-MMB: Terrestrial Mobile Multimedia Broadcasting).
  • T-MMB Terrestrial Mobile Multimedia Broadcasting
  • the LDPC code length, code rate, information bit length, and size of the cyclic submatrix are shown in Table 1.
  • the present invention can be applied to a regular LDPC code and an irregular LDPC code.
  • the technical solutions of the present invention are described in detail below through twelve embodiments. [Embodiment 1]
  • This embodiment uses (1344, 672) an irregular LDPC code as an example for description.
  • the code length N of the irregular LDPC code to be implemented in this embodiment is 1344
  • the information bit length K is 672
  • the line weight is ⁇ 2
  • the sub-matrix of 42 rows and 42 columns is taken as the most 'J, and the unit is taken as an example to describe the implementation process of the LDPC code.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 2, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 16) of the (i+1)th row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 1344 and a code rate of 1/2, a total of 16 row generators, each row generator corresponding to a row of sub-matrices, and the number of sub-matrices in each row of sub-matrices is 32.
  • a parity check matrix with a code length of 1344 and a code rate of 1/2 includes 16 x 32 sub-matrices with a dimension of 42x 42.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 7, therefore, there are 7 elements 1 in the first row of each row of sub-matrices, that is, there are 7 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 2 includes a number of generated sequences containing rows of numbers, and the number of sequences generated by each row in Table 2
  • the word is the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 2 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 2 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 2 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • Table 2 is evenly divided into a plurality of generated sequences including 7 numbers, and a number in the sequence is generated according to each obtained line, that is, a number in each row as shown in Table 2, and a parity check matrix is obtained.
  • the first row generation sequence is 156, 326, 342, 444, 575, 898, and 1005, indicating the first row of the first row of sub-matrices in the parity check matrix, that is, the parity check matrix.
  • the first row of the first row of the 157th column, the 327th column, the 343th column, the 445th column, the 576th column, the 899th column, and the 1006th column have a value of 1 in the first row of the first row of the submatrix The remaining columns are 0;
  • the second row generation sequence is 55, 85, 167, 486, 617, 1047, and 1307, indicating the first row of the second row sub-matrix of the parity check matrix, that is, the 56th row in the 43rd row of the parity check matrix.
  • Columns, 86th column, 168th column, 487th column, 618th column, 1048th column, and 1308th column have a value of 1, and the remaining columns in the first row of the second row of the submatrix are 0, for other rows.
  • the value of the first row of the sub-matrix can be obtained by reference to an example, and is not described here.
  • the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • FIG. 2 is a schematic diagram showing the BER/BLER performance of the (1344,672) LDPC code in the AWGN channel and its performance comparison with Shannon Limit and uncoded BPSK in the first embodiment.
  • the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • line 201 represents Shannon limit
  • AWGN additive white Gaussian noise
  • BER Bit error rate
  • Curve 204 represents the BER performance curve of the signal transmitted without the use of BPSK modulation and then transmitted over the AWGN channel.
  • This embodiment uses (1344, 840) an irregular LDPC code as an example for description.
  • the code length N of the non-regular LDPC code to be implemented in this embodiment is 1344
  • the information bit length K is 672
  • the line weight is 10
  • the sub-matrix of 42 rows x 42 columns is taken as the most 'J, the unit is taken as an example to describe the implementation process of the LDPC code.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 3.
  • the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 12) of the (i+1)th row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 1344 and a code rate of 5/8, a total of 12 row generators, each row generator corresponding to 12 rows of sub-matrices, and the number of sub-matrices in each row of sub-matrices is 32.
  • a parity check matrix having a code length of 1344 and a code rate of 5/8 includes a total of 1 2 ⁇ 32 sub-matrices having a dimension of 42 ⁇ 42.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 10, there are 10 elements 1 in the first row of each row of sub-matrices, that is, there are 10 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 3 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 3 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the sequence of the first row in Table 3 is used as the number of columns in which the element 1 in the first row of the first row of sub-matrix is located, in the second row in Table 3.
  • Table 3 is evenly divided into a plurality of generated sequences including 10 numbers, and a number in the sequence is generated according to each obtained line, that is, a number in each row as shown in Table 3, and a parity check matrix is obtained.
  • the first row generation sequence is 265, 295, 377, 408, 422, 544, 578, 696, 722, 1176, representing the first row of the first row of sub-matrices in the parity check matrix.
  • 266, 296, 378, 409, 423, 545, 579, 697, 723, and 1177 in the first row of the parity check matrix The value of the column is 1 and the remaining columns in the first row of the sub-matrix of the first row are 0.
  • the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • FIG. 3 is a schematic diagram showing the BER/BLER performance of the (1344,840) LDPC code in the AWGN channel and its performance comparison with Shannon Limit and uncoded BPSK in the second embodiment.
  • the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • a straight line 301 represents Shannon limit; , ' ⁇ modulation, then transmitted in an additive white Gaussian noise (AWGN) channel, and decoded by a SPA (Sum-Product Arithmetic) algorithm.
  • Bit error rate (BER) curve of the signal a frame error rate (BLER) curve of the signal modulated and then transmitted in the AWGN channel and decoded using the SPA algorithm;
  • BLER frame error rate
  • Curve 304 represents the BER performance curve of the signal transmitted without the use of BPSK modulation and then transmitted over the AWGN channel.
  • This embodiment uses (1344, 1008) an irregular LDPC code as an example for description.
  • the code length N of the irregular LDPC code to be implemented in this embodiment is 1344
  • the information bit length K is 1008
  • the line weight is 15
  • the implementation process of the LDPC code will be described by taking the sub-matrix of 42 rows and 42 columns as the minimum unit as an example.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 4, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 8) of the (i+1)th row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 1344 and a code rate of 3/4, a total of 8 row generators, each row generator corresponding to 8 rows of sub-matrices, and the number of sub-matrices in each row of sub-matrices is 32.
  • the parity check matrix with a code length of 1344 and a code rate of 5/8 contains 8 X 32 sub-matrices with a dimension of 42 X 42.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 15, therefore, there are 15 elements 1 in the first row of each row of sub-matrices, that is, there are 15 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 4 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 4 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 4 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 4 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 4 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • Table 4 is evenly divided into a plurality of generated sequences including 15 numbers, and a parity check matrix is obtained according to the numbers in each generated sequence, that is, the numbers in each row as shown in Table 4.
  • the first generation sequence is 3, 91, 140, 223, 253, 335, 366, 502, 536, 680, 718, 785, 1089, 1103, and 1253, indicating the parity check matrix.
  • the first row of the first row of sub-matrices that is, the fourth ⁇ ij, the 92 ⁇ ij, the 141 ⁇ ij, the 224th in the first row of the parity check matrix
  • Columns, columns 254, 336, 367, 503, 537, 681, 719, 786, 1090, 1104, and 1254 are 1
  • the remaining columns in the first row of the first row of the sub-matrix are 0.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • Embodiment 3 of the present invention The performance of the (1344, 1008) irregular LDPC code provided in Embodiment 3 of the present invention will be described below by comparison with the prior art simulation.
  • 4 is a schematic diagram showing the BER/BLER performance of the (1344,1008) LDPC code modulated by BPSK in the third embodiment and its performance comparison with Shannon Limit and uncoded BPSK. In this simulation, the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • Curve 402 represents the encoding using the inventive (1344, 1008) irregular LDPC code, BPSK modulation, and then in the additive white Gaussian noise (AWGN) channel, and using the sum product decoding algorithm (SPA: Sum) -Product Arithmetic ) a bit error rate (BER ) curve of the decoded signal;
  • Curve 403 represents a frame error rate (BLER) curve of a signal encoded by the inventive (1344, 1008) irregular LDPC code, BPMS modulated, then transmitted in the AWGN channel, and decoded using the SPA algorithm;
  • BLER frame error rate
  • Curve 404 represents the BER performance curve of the signal transmitted without the encoding, directly using BPSK modulation, and then transmitted over the AWGN channel.
  • This embodiment uses (1344, 1176) an irregular LDPC code as an example for description.
  • the code length N of the irregular LDPC code to be implemented in this embodiment is 1344
  • the information bit length K is 1176
  • the line weight is 28
  • the sub-matrix of 42 rows x 42 columns is taken as a minimum unit as an example to illustrate the implementation process of the LDPC code.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • a parity check matrix is generated based on a generation sequence corresponding to the row generator stored in advance.
  • the row generator of the LDPC code is as shown in Table 5, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 4 ) of the (i+1)th row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 1344 and a code rate of 7/8, a total of 4 row generators, each row generator corresponding to 4 rows of sub-matrices, and the number of sub-matrices in each row of sub-matrices is 32.
  • the parity check matrix with a code length of 1344 and a code rate of 7/8 contains 4 X 28 sub-matrices with a dimension of 42 X 42.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 28, there are 28 elements 1 in the first row of each row of sub-matrices, that is, there are 28 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 5 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 5 is taken as the number of columns in which the element 1 of the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 5 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 5 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence is generated from the last row in Table 5 as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • Table 5 is evenly divided into a plurality of generated sequences of 28 numbers, and a number in the sequence is generated according to each obtained line, that is, a number in each row as shown in Table 5, to obtain a parity check matrix.
  • the first line generation sequence is 55, 85, 167, 198, 212, 274, 334, 368, 384, 429, 486, 512, 550, 617, 666, 689, 752, 779. , 874, 885, 940, 973, 1047, 1064, 1103, 1149, 1253, and 1265, indicating the first row of the first row of sub-matrices in the parity check matrix, that is, the 56th row in the first row of the parity check matrix Columns, 86, 168, 199, 213, 275, 335, 369, 385, 430, 487, 513, 551, Columns 618, 667, 690, 753, 780, 875, 886, 941, 974, 1048, 1065, 1104, 1150
  • the value of the 1254, 1266 column is 1, and the remaining columns in the first row of the first row of the sub-matrix are 0.
  • the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • FIG. 5 is a schematic diagram showing the BER/BLER performance of the (1344, 1176) LDPC code in the AWGN channel and its performance comparison with the Shannon Limit and the uncoded BPSK in the fourth embodiment.
  • the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • Curve 502 represents the encoding using the inventive (1344, 1176) irregular LDPC code, BPSK modulation, and then in the additive white Gaussian noise (AWGN) channel, and using the sum product decoding algorithm (SPA: Sum) -Product Arithmetic ) a bit error rate (BER ) curve of the decoded signal;
  • Curve 503 represents a frame error rate (BLER) curve of a signal encoded by the inventive (1344, 1176) irregular LDPC code, BPSK modulated, then transmitted in the AWGN channel, and decoded using the SPA algorithm;
  • BLER frame error rate
  • Curve 504 represents the BER performance curve of the signal transmitted without the use of BPSK modulation and then transmitted over the AWGN channel.
  • This embodiment uses the (2688, 1344) irregular LDPC code as an example for description.
  • the code length N of the non-regular LDPC code to be implemented in this embodiment is 2688
  • the information bit length K is 1344
  • the line weight is 7
  • the sub-matrix of 112 rows x 11 column is taken as the most, and the unit is taken as an example to describe the implementation process of the LDPC code.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 6, in which the (i+1 row) corresponds to the generation sequence (0 ⁇ ⁇ 12) of the (i+1)th row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 2688 and a code rate of 1/2, a total of 12 row generators, each row generator corresponding to 12 rows of sub-matrices, and the number of sub-matrices in each row of sub-matrices is twenty four.
  • a parity check matrix with a code length of 2688 and a code rate of 1/2 includes 12 X 24 sub-matrices with a dimension of 112 X 112.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 7, therefore, there are 7 elements 1 in the first row of each row of sub-matrices, that is, there are 7 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 6 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 6 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 6 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 6 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 6 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • the table 6 is evenly divided into a plurality of generation sequences including 7 numbers, and the numbers in the sequence are generated according to each of the obtained lines, that is, the numbers in each row as shown in Table 6, to obtain a parity check matrix.
  • the first generation sequence is 417, 582, 1113, 1518, 2328, 2388, and 2544, indicating the first row of the first row of sub-matrices in the parity check matrix, that is, the parity check matrix.
  • the first row of the first row of the 418th column, the 583th column, the 1114th column, the 15th column, the 2329th column, the 2389th column, and the 2545th column have a value of 1 in the first row of the first row of the submatrix
  • the remaining columns are 0;
  • the second row generation sequence is 112, 343, 529, 607, 844, 1405 and 1861, indicating the first row of the second row sub-matrix of the parity check matrix, that is, the 113th in the 113th row of the parity check matrix.
  • the 344th column, the 530th column, the 608th column, the 845th column, the 1406th column, and the 1862th column have a value of 1, and the remaining columns in the first row of the second row of the submatrix are 0, for other rows.
  • the value of the first row of the sub-matrix can be obtained by reference to an example, and is not described here.
  • the values of the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • step 102 The specific implementation is the same as that in step 102, and will not be described again.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • Embodiment 5 of the present invention The performance of the (2688, 1344) irregular LDPC code provided in Embodiment 5 of the present invention will be described below by comparison with the prior art simulation.
  • 6 is a schematic diagram showing the BER/BLER performance of the (2688, 1344) LDPC code in the AWGN channel and its performance comparison with Shannon Limit and uncoded BPSK in the fifth embodiment. In this simulation, the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • line 601 represents the Shannon limit
  • Curve 602 represents an encoding using the inventive (2688, 1344) irregular LDPC code, BPSK modulation, and then in an additive white Gaussian noise (AWGN) channel, and using a sum product decoding algorithm (SPA: Sum) -Product Arithmetic ) a bit error rate (BER ) curve of the decoded signal;
  • SPA Sum
  • SPA sum product decoding algorithm
  • BER bit error rate
  • Curve 603 represents a frame error rate (BLER) curve of a signal encoded by the non-regular LDPC code of the present invention (2688, 1344), modulated by the BPSK method, then transmitted in the AWGN channel, and decoded using the SPA algorithm;
  • BLER frame error rate
  • Curve 604 represents the BER performance curve of the signal transmitted without the encoding, directly using BPSK modulation, and then transmitted over the AWGN channel.
  • This embodiment uses (2688, 1680) an irregular LDPC code as an example for description.
  • the code length N of the irregular LDPC code to be implemented in this embodiment is 2688
  • the information bit length K is 1680
  • the line weight is 10
  • the implementation process of the LDPC code is described by using the sub-matrix of 112 rows and x11 columns as the most, and the unit as an example.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 2688 and a code rate of 5/8, a total of 9 row generators, each row generator corresponding to 9 rows of sub-matrices, and the number of sub-matrices in each row of sub-matrices is twenty four.
  • a parity check matrix having a code length of 2688 and a code rate of 5/8 includes a total of 9 X 24 sub-matrices having a dimension of 11 2 X 11 2 .
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 10, there are 10 elements 1 in the first row of each row of sub-matrices, that is, there are 10 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 7 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 7 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 7 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 7 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 7 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • the table 7 is evenly divided into a plurality of generated sequences including 10 numbers, and the numbers in the sequence are generated according to each of the obtained lines, that is, the numbers in each row as shown in Table 7, and the parity check matrix is obtained.
  • the first row generation sequence is 7, 193, 271, 358, 508, 941, 1069, 1232, 1830, 2544, representing the first row of the first row of sub-matrices in the parity check matrix.
  • the eighth column the 194th column, the 272th column, the 359th column, the 509th column, the 942th column, the 1070th column, the 1233th column, the 1831th column, the 2545th in the first row of the parity check matrix
  • the value of the column is 1 and the remaining columns in the first row of the sub-matrix of the first row are 0.
  • the values of other row elements in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated, row-replaced, and replaced at various angles. Column permutation or any transformation that changes the position of the submatrix.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • Embodiment 6 of the present invention The performance of the (2688, 1680) irregular LDPC code provided in Embodiment 6 of the present invention will be described below by comparison with the prior art simulation.
  • 7 is a schematic diagram showing the BER/BLER performance of the (2688, 1680) LDPC code in the AWGN channel and its performance comparison with Shannon Limit and uncoded BPSK in the sixth embodiment. In this simulation, the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • Curve 702 represents an encoding using the inventive (2688, 1680) irregular LDPC code, BPSK modulation, and then in an additive white Gaussian noise (AWGN) channel, and using a sum product decoding algorithm (SPA: Sum) -Product Arithmetic ) a bit error rate (BER ) curve of the decoded signal;
  • SPA sum product decoding algorithm
  • BER bit error rate
  • Curve 703 represents a frame error rate (BLER) curve of a signal encoded by the non-regular LDPC code of the present invention (2688, 1680), modulated by the BPSK method, then transmitted in the AWGN channel, and decoded using the SPA algorithm;
  • BLER frame error rate
  • Curve 704 represents the BER performance curve of the signal transmitted without the encoding, directly using BPSK modulation, and then transmitted over the AWGN channel.
  • This embodiment uses (2688, 2016) an irregular LDPC code as an example for description.
  • the code length N of the non-regular LDPC code to be implemented in this embodiment is 2688
  • the information bit length K is 2016, the line weight is 15
  • the sub-matrix of 112 rows x 11 column is taken as the most, and the unit is taken as an example to describe the implementation process of the LDPC code.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 8, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 6) of the (i+1)th row generator.
  • a parity check matrix with a code length of 2688 and a code rate of 3/4 includes a total of 6 X 24 sub-matrices with a dimension of 112 X 112.
  • the row weight of the LDPC code in this embodiment is 15, therefore, there are 15 elements 1 in the first row of each row of sub-matrices, that is, there are 15 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 8 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 8 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 8 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 8 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 8 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • the table 8 is evenly divided into a plurality of generated sequences of 15 numbers, and the numbers in the sequence are generated according to each of the obtained lines, that is, the numbers in each row as shown in Table 8, to obtain a parity check matrix.
  • the first row generation sequence is 62, 293, 374, 514, 679, 865, 943, 1030, 1180, 1257, 1435, 1613, 1904, 2203, and 2388, indicating the parity check matrix.
  • the first row of the first row of sub-matrices that is, the 63rd column, the 294th column, the 375th column, the 515th column, the 680th column, the 866th column, the 944th column in the first row of the parity check matrix
  • Columns 1031, 1181, 1258, 1436, 1614, 1905, 2204, 2389 are 1 and the remaining columns in the first row of the first row of sub-matrix
  • the values of the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using the generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • Figure 8 is a comparison of the BER/BLER performance of the (2688,2016) LDPC code in the AWGN channel and its performance with Shannon Limit and uncoded BPSK in the seventh embodiment. Schematic diagram. In this simulation, the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • line 801 represents the Shannon limit
  • Curve 802 represents an encoding using the inventive (2688, 2016) irregular LDPC code, BPSK modulation, and then in an additive white Gaussian noise (AWGN) channel, and using a sum product decoding algorithm (SPA: Sum) -Product Arithmetic ) a bit error rate (BER ) curve of the decoded signal;
  • SPA sum product decoding algorithm
  • BER bit error rate
  • Curve 803 represents a frame error rate (BLER) curve of a signal encoded by the non-regular LDPC code of the present invention (2688, 2016), modulated by the BPSK method, then transmitted in the AWGN channel, and decoded using the SPA algorithm;
  • BLER frame error rate
  • Curve 804 represents the BER performance curve of the signal transmitted without the encoding, directly using BPSK modulation, and then transmitted over the AWGN channel.
  • This embodiment uses the (2688, 2240) irregular LDPC code as an example for description.
  • the code length N of the non-regular LDPC code to be implemented in this embodiment is 2688
  • the information bit length K is 2240
  • the implementation process of the LDPC code is described by using the sub-matrix of 112 rows x l l2 columns as the most and unit.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 9, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 4 ) of the (i+1)th row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 2688 and a code rate of 7/8, a total of 4 row generators, each row generator corresponding to 4 rows of sub-matrices, and the number of sub-matrices in each row of sub-matrices is twenty four.
  • a parity check matrix having a code length of 2688 and a code rate of 7/8 includes a total of 4 X 24 sub-matrices having a dimension of 11 2 X 112.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 21, there are 21 elements 1 in the first row of each row of sub-matrices, that is, 21 columns having a value of 1; and, in addition, the parity in this embodiment
  • Table 9 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 9 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 9 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 9 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 9 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • the table 9 is evenly divided into a plurality of generation sequences including 21 numbers, and the numbers in the sequence are generated according to each of the obtained lines, that is, the numbers in each row as shown in Table 9, and the parity check matrix is obtained.
  • the first line generation sequence is 7, 193, 271, 358, 508, 585, 763, 889, 941, 1069, 1184, 1232, 1370, 1518, 1598, 1749, 1830, 1970.
  • 2086 , 2203 and 2544 indicating the first row of the first row of sub-matrices in the parity check matrix, that is, the eighth column, the 194th column, the 272th column, the 359th column in the first row of the parity check matrix
  • Column, column 1971, column 2087, column 2204, column 2545 have a value of 1, the remaining columns in the first row of the first row of submatrix are 0; for the first row of other row submatrices Values can be obtained by reference to the examples, and will not be described here.
  • the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • Embodiment 8 of the present invention The performance of the (2688, 2240) irregular LDPC code provided in Embodiment 8 of the present invention will be described below by comparison with the prior art simulation.
  • 9 is a schematic diagram showing the BER/BLER performance of the (2688, 2240) LDPC code in the AWGN channel and its performance comparison with Shannon Limit and uncoded BPSK in the eighth embodiment. In this simulation, the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • line 901 represents the Shannon limit
  • Curve 902 represents an encoding using the inventive (2688, 2240) irregular LDPC code, BPSK modulation, and then in an additive white Gaussian noise (AWGN) channel, and using a sum decoding algorithm (SPA: Sum) -Product Arithmetic ) a bit error rate (BER ) curve of the decoded signal;
  • SPA Sum
  • SPA Sum
  • SPA sum
  • BER bit error rate
  • a curve 903 indicates a frame error rate of a signal encoded by the non-regular LDPC code of the present invention (2688, 2240), modulated by the BPSK method, then transmitted in the AWGN channel, and decoded by the SPA algorithm. (BLER) curve;
  • Curve 904 represents the BER performance curve of the signal transmitted without the use of BPSK modulation and then transmitted over the AWGN channel.
  • an irregular LDPC code with different line weights (5376, 2688) is taken as an example for description.
  • the code length N of the irregular LDPC code to be implemented in this embodiment is 5376
  • the information bit length K is 2688
  • the implementation process of the LDPC code will be described by taking the sub-matrix of 112 rows and 112 columns as the minimum unit as an example.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 10, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 24) of the (i+1)th row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 5376 and a code rate of 1/2, a total of 24 row generators, each row generator corresponding to 24 rows of sub-matrices, and the number of sub-matrices in each sub-matrix still For 48.
  • a parity check matrix having a code length of 5376 and a code rate of 1/2 includes a total of 24 X 48 sub-matrices having a dimension of 112 X 112.
  • the first row element in each sub-matrix is then determined according to the generation sequence corresponding to the row generator and the row weight.
  • Table 10 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 10 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 10 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 10 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 10 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • the table 10 is evenly divided into a plurality of generation sequences including 7 numbers, and the numbers in the sequence are generated according to each of the obtained lines, that is, the numbers in each row as shown in Table 10, and the parity check matrix is obtained.
  • the first row generation sequence is 147, 281, 1109, 1381, 2089, 4658, 5232, indicating the first row of the first row of sub-matrices in the parity check matrix, that is, the parity check matrix.
  • the first row of the first row of the 148th column, the 282th column, the 11th column, the 1382th column, the 2090th column, the 4659th column, and the 5233th column have a value of 1 in the first row of the first row of the submatrix The rest of the columns are 0.
  • the values of the first row of other row sub-matrices reference may be made to the analogy of the example, and details are not described herein again.
  • the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by a parity check matrix ,, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • Embodiment 9 of the present invention The performance of the (5376, 2688) irregular LDPC code provided in Embodiment 9 of the present invention will be described below by comparison with the prior art simulation.
  • 10 is a BER/BLER performance of a (5376, 2688) LDPC code modulated by BPSK in the ninth embodiment and its performance ratio with Shannon Limit, uncoded BPSK.
  • line 1001 represents the Shannon limit
  • AWGN additive white Gaussian noise
  • SPA sum-product decoding algorithm
  • BER bit error rate
  • BLER bit error rate
  • Curve 1004 represents the BER performance curve of the signal transmitted without the encoding, directly using BPSK modulation, and then transmitted over the AWGN channel.
  • an irregular LDPC code with different line weights (5376, 3360) is taken as an example for description.
  • the code length N of the irregular LDPC code to be implemented is 5376
  • the information bit length K is 3360
  • the line weight is 10
  • the sub-matrix of 112 rows xl l2 columns is taken as a minimum unit as an example to illustrate the implementation process of the LDPC code.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generation of the LDPC code is as shown in Table 11, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 18) of the (i+1)th row generator.
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 5376 and a code rate of 5/8, a total of 18 row generators, each row generator corresponding to 24 rows of sub-matrices, and the number of sub-matrices per 24 rows of sub-matrices Still 48.
  • the code length is 5376
  • the code rate is
  • the 5/8 parity check matrix contains a total of 18 X 48 sub-matrices with a dimension of 112 X 112.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 10, there are 10 elements 1 in the first row of each row of sub-matrices, that is, there are 10 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 11 includes a plurality of generated sequences containing the row-repeated numbers, and the number of the sequence generated in each of the rows in Table 11 is taken as the number of columns in which the element 1 of the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 11 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 11 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 11 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • the table 11 is evenly divided into a plurality of generation sequences including 10 numbers, and the numbers in the sequence are generated according to the obtained each line, that is, the numbers in each row as shown in Table 11, and the parity check matrix is obtained.
  • the first row generation sequence is 60, 773, 981, 1045, 1226, 1234, 1576, 1846, 2969, 4437, indicating the first row of the first row of sub-matrices in the parity check matrix.
  • the value of the column is 1 and the remaining columns in the first row of the sub-matrix of the first row are 0.
  • the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • FIG. 11 is a schematic diagram showing the BER/BLER performance of the (5376, 3360) LDPC code in the AWGN channel and its performance comparison with the Shannon Limit, uncoded BPSK in the tenth embodiment. In this simulation, the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • line 1101 represents the Shannon limit
  • AWGN additive white Gaussian noise
  • SPA sum-Product Arithmetic
  • BER bit error rate
  • BLER bit error rate
  • Curve 1104 represents the BER performance curve of the signal transmitted without the encoding, directly using BPSK modulation, and then transmitted over the AWGN channel.
  • This embodiment uses (5376, 4032) an irregular LDPC code as an example for description.
  • the code length N of the non-regular LDPC code to be implemented in this embodiment is 5376
  • the information bit length K is 4032
  • the line weight is 15
  • the sub-matrix of 112 rows and 112 columns is taken as the most, and the unit is taken as an example to describe the implementation process of the LDPC code.
  • the flowchart of the method in this embodiment is similar to the flowchart of the exemplary method of the present invention shown in FIG. 1.
  • the implementation method of the LDPC code in this embodiment includes the following steps:
  • step 101 a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 12, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 12) of the (i+1)th row generator.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 15, therefore, there are 15 elements 1 in the first row of each row of sub-matrices, that is, there are 15 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 12 includes a plurality of generated sequences including the row-repeated numbers, and the number of the sequence generated in each of the rows in Table 12 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 12 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 12 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 12 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • the table 12 is evenly divided into a plurality of generation sequences including 15 numbers, and the numbers in the sequence are generated according to each of the obtained lines, that is, the numbers in each row as shown in Table 12, and the parity check matrix is obtained.
  • the first line generation sequence is 0, 181, 342, 661, 686, 869, 933, 1963, 2919, 3105, 3183, 3270, 4398, 4518, 5076, indicating the parity check matrix.
  • the first row of the first row of sub-matrices that is, the first column, the 182th column, the 343th column, the 662th column, the 687th column, the 870th column, the 934th column in the first row of the parity check matrix
  • Columns 1964, 2920, 3106, 3184, 3271, 4399, 4519, and 5077 have a value of 1, and the remaining columns in the first row of the first row of the submatrix
  • the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by a parity check matrix ,, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • Fig. 12 is a diagram showing the BER/BLER performance of the (5376, 4032) LDPC code modulated by BPSK in the eleventh embodiment and its performance comparison with the Shannon Limit, uncoded BPSK. In this simulation, the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • line 1201 represents the Shannon limit; Line modulation, then force.
  • Curve 1204 represents the BER performance curve of the signal transmitted without the encoding, directly using BPSK modulation, and then transmitted over the AWGN channel.
  • an irregular LDPC code having a different row weight (5376, 4704) is taken as an example for description.
  • the code length N of the irregular LDPC code to be implemented is 5376
  • the information bit length K is 4704
  • the sub-matrix of 112 rows xl l2 columns is taken as a minimum unit as an example to illustrate the implementation process of the LDPC code.
  • a parity check matrix is generated based on a generation sequence corresponding to the pre-stored row generator.
  • the row generator of the LDPC code is as shown in Table 13, and the (i+1 row) in the table corresponds to the generation sequence (0 ⁇ ⁇ 6) of the (i+1)th row generator, as shown below. :
  • determining the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and code rate and a dimension of the sub-matrix, and dividing the parity check matrix into sub-matrices An array of units; a parity check matrix with a code length of 5376 and a code rate of 7/8, a total of 6 row generators, each row generator corresponding to 6 rows of sub-matrices, and the number of sub-matrices in each row of sub-matrices is 48.
  • the parity check matrix with a code length of 5376 and a code rate of 7/8 contains a total of 6 X 48 sub-matrices with a dimension of 112 X 112.
  • the first row element in each sub-matrix is then determined based on the generation sequence corresponding to the row generator and the row weight.
  • the row weight of the LDPC code in this embodiment is 28, there are 28 elements 1 in the first row of each row of sub-matrices, that is, there are 28 columns with a value of 1; in addition, due to the parity in this embodiment
  • Table 13 includes a plurality of generated sequences including row-repeated numbers, and the number of sequences generated in each of the rows in Table 13 is taken as the number of columns in which the element 1 in the first row of the corresponding sub-matrix is located. That is, the number in the first row generation sequence in Table 13 is taken as the number of columns in which the element 1 in the first row of the first row submatrix is located, and the number in the second row generation sequence in Table 13 is taken as the second. The number of columns in which the element 1 is in the first row of the row submatrix, and so on, until the number in the sequence of the last row in Table 13 is used as the column in which the element 1 in the first row of the last row of the submatrix is located number.
  • the table 13 is evenly divided into a plurality of generation sequences including 28 numbers, and the numbers in the sequence are generated according to each of the obtained lines, that is, the numbers in each row as shown in Table 13, and the parity check matrix is obtained.
  • the first line generation sequence is 55, 85, 167, 198, 212, 274, 334, 368, 384, 429, 486, 512, 550, 617, 666, 689, 752, 779 , 874, 885, 940, 973, 1047, 1064, 1103, 1149, 1253, and 1265, indicating the first row of the first row of sub-matrices in the parity check matrix, that is, the 56th row in the first row of the parity check matrix Columns, 86, 168, 199, 213, 275, 335, 369, 385, 430, 487, 513, 551, Columns 618, 667, 690, 753, 780, 875, 886, 941, 974, 1048, 1065, 1104, 1150
  • the value of the 1254, 1266 column is 1, and the remaining columns in the first row of the first row of the sub-matrix are 0.
  • the elements of other rows in the sub-matrix can be obtained by using two implementations of cyclic shift or direct addressing.
  • the parity check matrix after the parity check matrix is obtained, it can be rotated at various angles, row permutation, column permutation, or any transformation of the submatrix position.
  • step 102 the input data is encoded using a generator matrix G obtained by the parity check matrix H, and converted into an LDPC codeword to obtain output data including parity information.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts or directly addresses the row generator to obtain a parity check matrix, so that the parity is stored.
  • the storage space required for the matrix is minimized.
  • Figure 13 is a schematic diagram showing the BER/BLER performance of the (5376, 4704) LDPC code modulated by BPSK in the AWGN channel and its performance compared with the Shannon Limit, uncoded BPSK. In this simulation, the sum-product algorithm is used for decoding, and the maximum number of iterations is 50.
  • line 1301 represents the Shannon limit
  • AWGN additive white Gaussian noise
  • SPA sum-product decoding algorithm
  • BER bit error rate
  • BLER frame error rate
  • Curve 1304 represents the BER performance curve of the signal transmitted without the encoding, directly using BPSK modulation, and then transmitted over the AWGN channel.
  • FIG. 14 is a schematic structural diagram of an apparatus for data transmission according to Embodiment 13 of the present invention.
  • the device includes: a storage module 1410, a check matrix generation module 1420, and a codeword generation module 1430.
  • the check matrix generation module 1420 further includes: a sequence analysis unit 1421 and a cyclic shift unit 1422.
  • the storage module 1410 is configured to store the generated sequence, and provide the generated sequence analyzing unit 1421 in the check matrix generating module 1420 with the generated generating sequence thereof.
  • the generating sequence analyzing unit 1421 in the check matrix generating module 1420 is configured to determine the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and a code rate and a dimension of the sub-matrix. And dividing the parity check matrix into an array in units of sub-matrices: determining a first row element in each sub-matrix according to a generation sequence corresponding to the row generator and a row weight; according to each of the sub-matrices a row of elements, the elements of each of the other rows of the sub-matrix are obtained, and the obtained sub-matrix of each row of the determined first row of elements is sent to the cyclic shifting unit 1422;
  • the cyclic shift unit 1422 in the check matrix generation module 1420 is configured to obtain each sub-matrix according to the first row element of each sub-matrix and to use a cyclic shift, where each sub-matrix constitutes the sub-matrix
  • the parity check matrix in the embodiment, the parity check matrix is sent to the codeword generation module 1430;
  • the codeword generation module 1430 is configured to receive the parity check matrix from the cyclic shift unit 1422 in the check matrix generation module 1420, and encode the input data by using the generator matrix obtained by the parity check matrix.
  • the device shown in FIG. 14 may further include: a check matrix transform unit, which may be used to perform rotation, row replacement, and various angle rotations on the parity check matrix obtained by the cyclic shift unit 1422.
  • the column replaces or changes various sub-matrix positions and the like, and then transmits the transformed parity risk matrix to the codeword generation module 1430.
  • the check matrix conversion unit may be separately provided in the implementation device of the embodiment, or may be provided in the verification matrix generation module 1420, or may be disposed in other modules.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and cyclically shifts the generated sequence to obtain a parity check matrix, so that the storage required for storing the parity check matrix is used. The space is minimized.
  • FIG. 15 is a schematic structural diagram of an apparatus for data transmission according to Embodiment 13 of the present invention.
  • the device includes: a storage module 1510, a check matrix generation module 1520, and a codeword generation module 1530.
  • the check matrix generation module 1520 further includes: a sequence analysis unit 1521 and a direct addressing unit 1522.
  • a storage module 1510 is configured to store a generated sequence and provide the generated sequence analysis unit 1521 in the check matrix generation module 1520 with the generated sequence stored therein;
  • the generated sequence analyzing unit 1521 in the check matrix generating module 1520 is configured to determine the number of rows and the number of columns of the parity check matrix to be constructed according to a preset code length and a code rate and a dimension of the sub-matrix. And dividing the parity check matrix into an array in units of sub-matrices: determining a first row element in each sub-matrix according to a generation sequence corresponding to the row generator and a row weight; according to each of the sub-matrices One line element, Obtaining elements of other rows in each sub-matrix, and sending each row sub-matrix of the determined first row element to the direct addressing unit 422;
  • the direct addressing unit 1522 in the check matrix generation module 1520 is configured to obtain each sub-matrix according to the first row element of each sub-matrix and directly address it.
  • each sub-matrix constitutes the sub-matrix
  • the parity check matrix in the embodiment, the parity check matrix is sent to the codeword generation module 1530;
  • the codeword generation module 1530 is configured to receive a parity check matrix from the direct addressing 1522 in the check matrix generation module 1520, and use the parity check matrix to convert the input data into an LDPC codeword.
  • the method further includes: a check matrix transform unit, where the check matrix transform unit can be used to perform various angle rotations and row replacements on the parity check matrix obtained by the direct addressing unit 1522.
  • the column replaces or changes various sub-matrix positions and the like, and then transmits the transformed parity risk matrix to the codeword generation module 1530.
  • the check matrix conversion unit may be separately provided in the implementation device of the embodiment, or may be provided in the verification matrix generation module 1520, or may be disposed in other modules.
  • the apparatus for data transmission provided in the thirteenth and fourteenth embodiments of the present invention, the working principle and the related operation procedure are basically the same as those in the foregoing method for implementing data transmission, and details are not described herein again.
  • the present invention uses a generation sequence corresponding to a row generator to represent a parity check matrix, and directly addresses the generated sequence to obtain a parity check matrix, so that the storage required for storing the parity check matrix is used. The space is minimized.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种用于数据传输的方法,包括:根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵;利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码,得到包含奇偶校验信息的输出数据。本发明还公开了一种用于数据传输的装置。采用本发明的方法和装置,可使得存储奇偶校验矩阵所需的存储空间达到了最小化。

Description

一种用于数据传输的方法及装置 本申请要求申请日为 2011年 7月 6日, 申请号为 201110189200.2, 发明名称为
"一种用于数据传输的方法及装置"的在先申请的优先权,该在先申请的全部内容均 已在本申请中体现。
本申请要求申请日为 2011年 9月 5 日, 申请号为 201110260661.4, 发明名称为
"一种用于数据传输的方法及装置"的在先申请的优先权,该在先申请的全部内容均 已在本申请中体现。
本申请要求申请日为 2012年 2月 14日, 申请号为 201210033174.9, 发明名称 为 "一种用于数据传输的方法及装置"的在先申请的优先权, 该在先申请的全部内容 均已在本申请中体现。 技术领域
本发明属于通信技术, 尤其涉及一种用于数据传输的方法及装置。 背景技术
由于随机噪声、 无线传输中的多径衰落等因素的影响, 使得通信***中的数据 传输经常发生各种差错, 通常, 釆用信道编码的方法来确保在有噪声的通信信道中 提供可靠的通信。 现有实现方法中, 低密度奇偶校验(LDPC )码因其优异的性能, 高效的译码算法, 被广泛认为是最好的纠错编码实现方法之一。
LDPC码是一种基于稀疏奇偶校验矩阵 H的线性纠错码, H中的元素除了 0就 是 1。 若以 N表示 LDPC码的码长、 K表示信息位长度、 M表示校验位长度、 7表 示列重、 表示行重、 R表示码率, 可以将该 LDPC码表示为 (N,K) LDPC码。 若 与 为常数,则该 LDPC码为规则 LDPC码( regular LDPC;),否则,为非规则 LDPC 码( Irregular LDPC )。
LDPC码码字是其校验矩阵 H的零空间, 编码过程描述如下。 首先, 奇偶校验 矩阵构造单元根据预先设定的 LDPC编码参数, 构造奇偶校验矩阵 H; 然后, 由生 成矩阵构造单元根据校验矩阵 H得到生成矩阵 G,这里生成矩阵 G和相应的校验矩 阵 H是对偶矩阵; 最后, 编码单元用生成矩阵 G对输入数据 s进行编码, 得到输出 的 LDPC码的码字 c。
从实用性角度来看, 制约 LDPC码广泛应用的一个重要因素是: 稀疏的奇偶校 验矩阵和非稀疏的生成矩阵的存储量过大, 导致在使用 LDPC码进行编码时所需要 的存储空间非常大。 此外, 传统的 LDPC码编码复杂度过高也是制约其广泛应用的 一个比较重要的因素。 由于上述缺点的存在, 导致 LDPC码尚未被广泛地投入实际 应用中。 发明内容
有鉴于此, 本发明所要解决的技术问题是提供一种用于数据传输的方法, 以降 低存储奇偶校验矩阵所需的存储空间。 为了对披露的实施例的一些方面有一个基本 的理解, 下面给出了简单的概括。 该概括部分不是泛泛评述, 也不是要确定关键 / 重要组成元素或描绘这些实施例的保护范围。 其唯一目的是用简单的形式呈现一些 概念, 以此作为后面的详细说明的序言。
本发明的目的在于提供一种用于数据传输的方法, 包括:
根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵; 利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码, 得到包含奇偶 校验信息的输出数据。
本发明的目的在于还提供一种用于数据传输的装置, 该装置包括: 存储模块、 校验矩阵生成模块和码字生成模块;
所述存储模块, 用于保存行生成器对应的生成序列, 并向所述校验矩阵生成模 块提供所述生成序列;
所述校验矩阵生成模块, 用于根据所述存储模块提供的所述生成序列, 生成奇 偶校验矩阵, 并将所述奇偶校验矩阵发送给所述码字生成模块;
所述码字生成模块, 用于接收来自于所述校验矩阵生成模块的所述奇偶校验矩 阵, 并利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码。
由上述技术方案可见, 本发明的一种用于数据传输的方法及装置釆用了以行生 成器对应的生成序列表示奇偶校验矩阵、 并对行生成器循环移位或直接寻址得到奇 偶校验矩阵的方式, 使得存储奇偶校验矩阵所需的存储空间达到了最小化。
为了上述以及相关的目的, 一个或多个实施例包括后面将详细说明并在权利要 求中特别指出的特征。 下面的说明以及附图详细说明某些示例性方面, 并且其指示 的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。 其它的益处和新颖 性特征将随着下面的详细说明结合附图考虑而变得明显, 所公开的实施例是要包括 所有这些方面以及它们的等同。 附图说明
图 1是本发明一实施例提供的一种用于数据传输的方法的流程示意图; 图 2是本发明实施例一提供的(1344,672) LDPC code性能的示意图;
图 3是本发明实施例二提供的(1344,840) LDPC code性能的示意图;
图 4是本发明实施例三提供的(1344, 1008) LDPC code性能的示意图; 图 5是本发明实施例四提供的(1344, 1176) LDPC code性能的示意图; 图 6是本发明实施例五提供的 (2688, 1344) LDPC code性能的示意图; 图 7是本发明实施例六提供的 (2688, 1680) LDPC code性能的示意图; 图 8是本发明实施例七提供的 (2688, 2016) LDPC code性能的示意图; 图 9是本发明实施例八提供的 (2688, 2240) LDPC code性能的示意图; 图 10是本发明实施例九提供的 (5376, 2688) LDPC code性能的示意图; 图 11是本发明实施例十提供的 (5376, 3360) LDPC code性能的示意图; 图 12是本发明实施例十一提供的 (5376, 4032) LDPC code性能的示意图; 图 13是本发明实施例十二提供的 (5376, 4704) LDPC code性能的示意图; 图 14是本发明实施例十三提供的一种用于数据传输的装置的结构示意图; 图 15是本发明实施例十四提供的另一种用于数据传输的装置的结构示意图。 具体实施方式
以下描述和附图充分地示出本发明的具体实施方案, 以使本领域的技术人员能 够实践它们。 其他实施方案可以包括结构的、 逻辑的、 电气的、 过程的以及其他的 改变。 实施例仅代表可能的变化。 除非明确要求, 否则单独的组件和功能是可选的, 并且操作的顺序可以变化。 一些实施方案的部分和特征可以被包括在或替换其他实 施方案的部分和特征。 本发明的实施方案的范围包括权利要求书的整个范围, 以及 权利要求书的所有可获得的等同物。 在本文中, 本发明的这些实施方案可以被单独 地或总地用术语 "发明" 来表示, 这仅仅是为了方便, 并且如果事实上公开了超过 一个的发明, 不是要自动地限制该应用的范围为任何单个发明或发明构思。
虽然下文中描述的方法和***的各种原理和特征可以应用于多种通信***, 但 是出于例证目的,在下文将会在无线通信***的环境中描述这些实施例。尽管如此, 在用不同通信协议工作的其他通信***的情况下,下文描述的一般原理也是适用的。 当然, 本发明的范围是有随附于此的权利要求书限定, 并且该范围是不受下文描述 的特定实施 A例…, 限制的。
本发明的目的在于通过根据预先保存的行生成器对应的生成序列, 生成奇偶校 验矩阵; 利用由奇偶校验矩阵得到的生成矩阵对输入数据进行编码, 如此, 只需用 非常少量的存储空间存储行生成器对应的生成序列, 即可解决奇偶校验矩阵存储量 过大的问题。
图 1为本发明提供的一种用于数据传输的方法的示例性流程图, 参见图 1 , 该 方法包括以下步骤:
步骤 101、 根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵 H。 本示例中, 根据预先设定的码长、 码率及子矩阵的维数, 确定本示例将要构造 的奇偶校验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的 阵列。 其中, 列数为 LDPC码的码长, 表示为 N; 行数为校验位长度, 表示为 M, 信息位的长度 Κ=Ν-Μ。 γ表示列重、 表示行重、 R表示码率、 Ρ表示行生成器的 个数,可以将该 LDPC码表示为 (N,K) LDPC码,并假设所构造的本发明实施例 LDPC 码的奇偶校验矩阵 H可以表示为如下形式:
H
其中 "是一个行重量为 0或者 1的 ^矩阵, 称为奇偶校验矩阵 H的子矩阵, H为 Μ χ Ν的满秩矩阵。
矩阵 Η表征的码字称为 (N,K) LDPC码, 其中 W = c "为码长, K = (c - P) x t表示 编码信息比特的长度, 其编码码率为 w = /w。 4 = [4,。'4·, ··'4— !L^ OA^p - l的 第一行称为 H的第 i个行生成器, 则 H共有 P个行生成器。
其中, 共有 P = M/t行子矩阵, 每行子矩阵中子矩阵的个数 c = N/t。 奇偶验矩阵由 P行 c列子矩阵构成,每个子矩阵的维数为 , 则奇偶验矩阵 H 的维数为 (p ' x (e ' 。其中奇偶校验矩阵列数对应 LDPC码的码长,即码长 N = c ' t 。
然后, 根据各个行生成器对应的生成序列及行重确定每一行子矩阵中的第一行 元素, 具体为:
奇偶校验矩阵的第 i行子矩阵(其中, 0≤ < P ), 可由第 行子矩阵的第一行生 成, 故称第 i行子矩阵的第一行为矩阵 H的第 i个行生成器, 则 H共有 P个行生成 器。 第' ',G≤ < P个行生成器中元素 1所处的列数(范围: 0〜N-1 )称为矩阵 H的第 i个生成序列, 则矩阵 Η的 Ρ个行生成器对应 Ρ个生成序列。
对于规则 LDPC码以及非规则 LDPC码, 若以 表示行重、 Ρ表示校验矩阵中 子矩阵的行数, 由于该行生成序列中的每 个数字代表一行子矩阵的第一行中元素 1所处的列数, 因此, 该行生成序列由 X Ρ个数字组成, 相对于 Μ χΝ来说, 所 需的存储空间得以极大地减少; 对于行重不相同的非规则 LDPC码, 虽然其行重不 确定, 但是, 该行生成序列中所包含的数字个数最多为行重最大值与 P之积, 因此, 相对于 M X N来说, 其所需的存储空间也将得以极大地减少。
之后, 将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本实施例中奇偶校验矩阵的子矩阵是 t xt的矩阵, 而码长为 N, 因此, 每行子 矩阵中子矩阵的个数 c = N/t个; 经划分之后, 本实施例的奇偶校验矩阵将被划分为 P行 X (N/t) 列个 t x t的子矩阵, 且每个子矩阵的第一行元素的取值已经确定。
最后, 根据每个子矩阵的第一行元素, 釆用循环移位的方式或直接寻址的方式 得到整个子矩阵中其他行的元素, 从而生成整个奇偶校验矩阵 H。
循环移位的方式具体为:
子矩阵的每行皆由其上一行循环右移一位得到, 其中第一行是最后一行的循环 右移。 针对每个子矩阵, 釆用将其第一行元素循环移位的方式得到该循环子矩阵中 其他行元素的取值。 例如, 可以对第 1行元素循环右移 w位, 得到第 2行元素; 对 第 2行元素循环右移 w位, 得到第 3行元素, 依此类推, 即可得到从第 2行到第 t 行的所有元素的取值。 这里, 当然也可以釆取循环左移或者其他循环移位方式进行 移位。
直接寻址的方式具体为:
码长为 N, 码率为 R的生成序列, 共有 P个生成序列对应 P行子矩阵, 每行子 矩阵中子矩阵的个数为 N/t。 则码长为 N、 码率为 R 的奇偶校验矩阵共包含个 P*^^)维数为 txt的子矩阵。
首先, 取第 z+1个生成序列 Χ'· _L¾。, , '¾, iJ'U≤ z <^ 第■/个元素 ¾ - 1, 则可以生成第 ζ· + 1行, 第" + 1列子矩阵 其中"
Figure imgf000006_0001
, 表示生成序列 的标号, 表示第 z' + l个生成序列; · 表示每个生成序列中元素的序号, Ζ'·表示第 个 生成序列 中元素的个数。 子矩阵 4,„ =[¾J,0≤/< 0≤w<t 的第一行
["。,。,"。 …,"。,― = ["。," ···,"— J中只有第 mod(x¾- i,t)+l个位置为 1,其余 t_ 1个位 置皆为 0。
然后, 根据第一行 ["。,"ι,···,Α-ι]可以产生整个矩阵 4 , 计算方法如下: = "m°d(mW,G≤ l<t;0<m<t ^ I表示在每个子矩阵中的元素所在的行数, m表示 在每个子矩阵中的元素所在的列数。生成序列中每个非零元素都对应一个非零矩阵, 其余的子矩阵, 都是维数为^ ^的零矩阵。
上述计算方法可以理解为: 根据码长、 码率和行重, 确认子矩阵的维数, 取生 成序列中的任意一个元素可以生成子矩阵, 且生成的子矩阵中的第一行元素中只有 一个位置为 1, 其余位置为 0; 元素为 1的位置根据生成序列中的数字按照以下规律 确定: 数字根据整除原则, 获取元素为 1的位置信息, 因此子矩阵第一行信息可以 确定, 子矩阵中除第一行之外的其他行的元素为 1的位置都可以根据第一行元素直 接寻址得到, 即子矩阵中除第一行之外的其他行的元素为 1的位置都可与第一行对 应, 其对应关系为: 除第一行的任意行的列值减去行值后, 对维数取模的结果与第 一行中的列值相等。生成序列中每个非零元素都对应一个非零矩阵, 其余的子矩阵, 都是零矩阵。
经过上述过程, 得到奇偶校验矩阵。 假设所设置的用于生成奇偶校验矩阵的行 生成器对应的生成序列包含 y个数字, 所得到的校验矩阵中包含 y个含有元素 1的 子矩阵, 由矩阵的性质可知, 这些含有元素 1的子矩阵是置换单位阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
步骤 102、 利用由奇偶校验矩阵得到的生成矩阵对所述输入数据进行编码。 由所述奇偶校验矩阵 H 可以按照与现有技术相同的方式得到对应的生成矩阵 G, 其中所述生成矩阵 G和相应的奇偶校险矩阵 H是对偶矩阵。
所述生成矩阵 G和相应的奇偶校验矩阵 H是对偶矩阵。
较佳地, 可以釆用如下方式得到生成矩阵 G:
校验矩阵 H对应的生成矩阵 G可以表示为:
G = [/|P] , 其中 I是单位阵, 矩阵 p可以如下表示:
Figure imgf000007_0001
其中 是一个 t x t循环矩阵, 该矩阵的各列皆由其前一列循环下移一位得到, 其中第一列是最后一列的循环下移。 ^^^w ^^ f ' ' ^'1' '' ^ 1的第一列称 为生成矩阵 G的第 j+1个列生成器, 则 G共有 p个列生成器。
本实施例仅列举了上述一种生成矩阵 G的表示方式, 但本发明不限于上述表示 方式, 其它由 H矩阵得到的 G矩阵的方式及 G矩阵也在本发明保护范围之内。
本步骤中, 得到生成矩阵 G之后, 对输入数据进行编码, 将输入数据变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
较佳地, LDPC码是线性分组码, 其编码过程可以表示为:
c = b G
其中, "(k'H 、为 κ个编码信息比特, c = (¾>' '''', — , ···, — 为 长度为 N的码字, v = (v。''"'v™)为 N-K个校验比特, 且编码码字满足校验方程
H e1 = 0
较佳地, LDPC码编码过程还可以表示为: x = u - G 其中, " = (1/。,^,· 为 K个编码信息比特, χ = (Μ。'Μι'···'Μ - ι'ν。' νι'· 1) 为长度为 Ν的码字, ν = (νι''"'ν™)为 Ν-Κ个校验比特, 且编码码字满足校 验方程 Η· = ο。
或者可以按照与现有技术相同的方式对输入数据进行编码。
至此, 结束本发明一种用于数据传输的方法的示例性流程。
上述方法是针对已经选择好的 LDPC码码长、 码率与子矩阵的维数的情况下确 定预先保存好与码长、 码率和子矩阵的维数所匹配的行生成器对应的生成序列。 另 对于多码率 LDPC码码长与码率的选择包括很多方法, 其中一种可行的方法, 可以根据上层指示传输包的长度, 利用频谱效率最高的原则确定所釆用何种码长, 一旦码长确定, 首先釆用该码长下码率最高的码字, 根据 PER的度量准则, 判断该 码率是否适用, 一旦传输 PER高于 PER门限值, 则码率降为与其相邻的较低码率, 直到抵达最低码率。 以上只是一种选择方法的示例, 本发明不限于上述选择方法, 通过其他方法来实现选择 LDPC码码长、 码率与子矩阵的维数均在本发明所要求保 护的范围之内。
在实际应用中, 将经过本发明数据传输方法之后的数据进行交织、 调制之后, 即可向外发射。这里,调制方式可以包括:正交幅度调制(QAM)、相移键控(PSK)、 幅度相移键控(APSK)、 差分相移键控(DPSK)、 绝对相移键控(BPSK)、 差分幅 度相移键控 (DAPSK)和正交频分复用 (OFDM)等。 调制信号可以通过各种通信 ***来传输, 包括支持移动多媒体广播的地面链路等, 例如: 可以通过地面移动多 媒体广播*** ( T-MMB: Terrestrial Mobile Multimedia Broadcasting )来传输。
LDPC码长、 码率、 信息比特长度、 循环子矩阵的大小如表 1所示。
表 1
Figure imgf000008_0001
本发明可以适用于规则 LDPC码和非规则 LDPC码, 以下通过十二个实施例, 对本发明技术方案进行详细说明。 【实施例一】
本实施例以( 1344,672) 非规则 LDPC码为例进行说明。 本实施例将要实现的非 规则 LDPC码的码长 N为 1344 ,信息位长度 K为 672 ,行重 λ二, 码率为 ν = 1 / 2。 由码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方 程个数 Μ = 1344 - 672 = 672。 另外, 本实施例中, 将以 42行 χ42列的子矩阵为最 'J、单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(1344,672)LDPC码的行生成器如表 2所示, 表中第 (i+1行)对应第 ( i+1 )个 行生成器的生成序列 ( 0≤ < 16 )。
Figure imgf000009_0001
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 1344, 码率为 1/2的奇偶校验矩阵, 共有 16个行生成器, 每个行生成器 对应 1行子矩阵, 每行子矩阵中子矩阵的个数为 32。 则码长为 1344、 码率为 1/2的 奇偶校验矩阵共包含 16 x 32个维数为 42x 42的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 2, 该表 2中的每一行为一个生成器对应的生成序列, 每个行生成器对 应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数 (范围: 0〜N-1 , N=1344 )。
由于本实施例中 LDPC码的行重为 7, 因此, 每一行子矩阵的第一行中存在 7 个元素 1 , 即存在 7个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 42 x 42的矩阵, 而校验方程的个数为 672 , 因此, 奇偶校验矩阵中子矩阵的行 数 P =672/42 =16个, 所以, 本实施例中的 16个行生成器对应的所有生成序列共包 括 16行 X 7列 = 192个数字组成的序列。 其中, 每 7个数字为一组生成序列, 代表 了一行子矩阵的第一行中元素 1所处的列数。
表 2包括多个包含行重个数字的生成序列 , 并以表 2中的每一行生成序列的数 字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 2中的第一行生成 序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数, 以表 2中的第二行 生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直 至以表 2中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素 1 所处的列数。
具体而言, 将表 2均匀划分为多个包含 7个数字的生成序列, 根据所得到的每 一行生成序列中的数字, 即如表 2所示的每一行中的数字, 得到奇偶校验矩阵的每 行子矩阵的第一行元素。
例如, 如表 2所示, 其第一行生成序列为 156, 326, 342, 444, 575 , 898和 1005 , 表示奇偶校验矩阵中第一行子矩阵的第一行, 即奇偶校验矩阵的第一行中的 第 157列、 第 327列、 第 343列、 第 445列、 第 576列、 第 899列和第 1006列的取 值为 1 , 第一行子矩阵的第一行中的其余列为 0;
其第二行生成序列为 55 , 85 , 167, 486, 617, 1047和 1307, 表示奇偶校验矩 阵的第二行子矩阵的第一行, 即奇偶校验矩阵的第 43行中的第 56列、 第 86列、 第 168列、 第 487列、 第 618列、 第 1048列和第 1308列的取值为 1 , 第二行子矩阵的 第一行中的其余列为 0, 对于其他行子矩阵的第一行的取值, 可以参照举例类推得 到, 在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 42 x 42的矩阵, 而码长为 1344, 因此, 每行子 矩阵中子矩阵的个数 c = 1344/42 =32个; 经划分之后, 本实施例的奇偶校验矩阵将 被划分为 16行 X 32列 = 512个 42 X 42的子矩阵,且每个子矩阵的第一行元素的取 值已经确定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例表 1 中的生成序列中存在 16行 X 7列 = 112个数字。 本实施例所得到的奇偶校验矩阵中 将存在 112个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例一中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例一中所提供的(1344,672) 非规则 LDPC码的性能。 图 2为实施例一中釆用 BPSK调制的(1344,672) LDPC码 在 AWGN信道的 BER/BLER性能及其与 Shannon Limit、 未编码 BPSK的性能比较 的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 2, 其中, 直线 201表示香农限; , ' ^ 调制、 然后在加性高斯白噪声 ( AWGN )信道中传输、 并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线; 调制、然后在 AWGN信道中传 ^、并釆用) SPA算法进行 码的信 的误顿率( BLER ) 曲线;
曲线 204表示未经编码,直接釆用 BPSK调制,再经 AWGN信道传输的信号的 BER性能曲线。
【实施例二】
本实施例以(1344,840)非规则 LDPC码为例进行说明。本实施例将要实现的非规 则 LDPC码的码长 N为 1344, 信息位长度 K为 672, 行重 = 10 , 码率为 v = 5 / 8。 由码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方 程个数 M = 1344 - 840 = 504。 另外, 本实施例中, 将以 42行 x42列的子矩阵为最 'J、单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(1344,840)LDPC码的行生成器如表 3所示, 表中第 (i+1行)对应第 ( i+1 )个 行生成器的生成序列 ( 0≤ < 12 )。
^ 3
265 295 377 408 422 544 578 696 722 1176
122 201 244 279 307 337 450 464 885 1295
164 243 321 349 379 461 492 916 927 1015
120 262 363 391 421 503 548 720 765 958
8 185 280 304 355 576 712 762 1190 1229
24 50 204 278 322 447 618 804 1042 1108
66 283 320 364 388 439 660 899 1257 1313
134 289 325 406 430 531 838 1004 1137 1316
150 214 367 404 448 523 601 880 983 1073
40 90 264 409 615 643 786 862 1088 1276
277 306 354 415 532 607 657 685 828 1130
64 319 348 396 457 493 574 727 870 1172
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 1344, 码率为 5/8的奇偶校验矩阵, 共有 12个行生成器, 每个行生成器 对应 12行子矩阵, 每行子矩阵中子矩阵的个数为 32。 则码长为 1344、 码率为 5/8 的奇偶校验矩阵共包含 12 χ 32个维数为 42x 42的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 3 , 该表 3 中的每一行为一个生成器对应的生成序列, 每个行生成器对 应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数 (范围: 0〜N-1 , N=1344 )。
由于本实施例中 LDPC码的行重为 10 , 因此,每一行子矩阵的第一行中存在 10 个元素 1 , 即存在 10个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 42 x 42的矩阵, 而校验方程的个数为 504 , 因此, 奇偶校验矩阵中分矩阵的个 数 P = 504/42 =12个, 所以, 本实施例中的表 3为 12行 X 10列 = 120个数字组成的 数字组。
表 3包括多个包含行重个数字的生成序列, 并以表 3中的每一行生成序列的数 字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 3中的第一行生成 序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数, 以表 3中的第二行 生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直 至以表 3 中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素 1 所处的列数。
具体而言,将表 3均匀划分为多个包含 10个数字的生成序列,根据所得到的每 一行生成序列中的数字, 即如表 3所示的每一行中的数字, 得到奇偶校验矩阵的每 行子矩阵的第一行元素。
例如, 如表 3所示, 其第一行生成序列为 265 , 295 , 377, 408, 422, 544, 578, 696, 722, 1176, 表示奇偶校验矩阵中第一行子矩阵的第一行, 即奇偶校验矩阵的 第一行中的第 266列、 第 296列、 第 378列、 第 409列、 第 423列、 第 545列、 第 579列、 第 697列、 第 723列和第 1177列的取值为 1 , 第一行子矩阵的第一行中的 其余列为 0; 对于其他行子矩阵的第一行的取值, 可以参照举例类推得到, 在此不 再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 42 x 42的矩阵, 而码长为 1344, 因此, 每行子 矩阵中子矩阵的个数 c = 1344/42 =32个; 经划分之后, 本实施例的奇偶校验矩阵将 被划分为 12行 X 32列 = 384个子矩阵, 且每个子矩阵的第一行元素的取值已经确 定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例生成 序列中存在 12行 10列 = 120个数字, 因此, 本实施例所得到的奇偶校验矩阵中将 存在 120个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例二中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例二中所提供的(1344,840) 非规则 LDPC码的性能。 图 3为实施例二中釆用 BPSK调制的(1344,840) LDPC码 在 AWGN信道的 BER/BLER性能及其与 Shannon Limit、 未编码 BPSK的性能比较 的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 3 , 其中, 直线 301表示香农限; , ' ^ 调制、 然后在加性高斯白噪声 ( AWGN )信道中传输、 并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线; 调制、然后在 AWGN信道中传输、并釆用 SPA算法进行译码的信 的误帧率( BLER ) 曲线;
曲线 304表示未经编码,直接釆用 BPSK调制,再经 AWGN信道传输的信号的 BER性能曲线。
【实施例三】 本实施例以(1344,1008)非规则 LDPC码为例进行说明。 本实施例将要实现的非 规则 LDPC码的码长 N为 1344,信息位长度 K为 1008 ,行重 = 15 ,码率为1 ^ 3 / 4。 由码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方 程个数 M = 1344 - 1008 = 336。另外,本实施例中,与实施例一相同,将以 42行 x42 列的子矩阵为最小单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(1344,1008)LDPC码的行生成器如表 4所示, 表中第 ( i+1行)对应第 ( i+1 ) 个行生成器的生成序列 ( 0≤ < 8 )。
表 4
3 91 140 223 253 335 366 502 536 680 718 785 1089 1103 1253
34 165 237 265 295 377 408 422 544 594 899 989 1106 1295 1307
76 87 279 337 419 450 464 586 681 764 918 1004 1031 1066 1145
207 220 271 321 379 568 628 662 806 960 1053 1099 1148函 1302
238 262 313 363 391 503 534 548 720 765 822 848 953 1025 1173
80 236 280 304 355 405 433 463 576 590 652 890 928 1044 1232
36 159 171 241 278 322 346 397 447 475 505 632 754 849 1274
78 101 202 247 320 364 388 439 517 547 674 830 846 974 1192
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 1344, 码率为 3/4的奇偶校验矩阵, 共有 8个行生成器, 每个行生成器 对应 8行子矩阵, 每行子矩阵中子矩阵的个数为 32。 则码长为 1344、 码率为 5/8的 奇偶校验矩阵共包含 8 X 32个维数为 42 X 42的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 4, 该表 4中的每一行为一个生成器对应的生成序列, 每个行生成器对 应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数 (范围: 0〜N-1 , N=1344 )。
由于本实施例中 LDPC码的行重为 15 , 因此,每一行子矩阵的第一行中存在 15 个元素 1 , 即存在 15个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 42 x 42的矩阵, 而校验方程的个数为 336 , 因此, 奇偶校验矩阵中子矩阵的行 数 P = 336/42 =8个, 所以, 本实施例中的表 4为 8行 X 15列 = 120个数字组成的序 列。
表 4包括多个包含行重个数字的生成序列, 并以表 4中的每一行生成序列的数 字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 4中的第一行生成 序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数, 以表 4中的第二行 生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直 至以表 4中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素 1 所处的列数。
具体而言,将表 4均匀划分为多个包含 15个数字的生成序列,根据所得到的每 一个生成序列中的数字, 即如表 4所示的每一行中的数字, 得到奇偶校验矩阵的每 行子矩阵的第一行元素:
例如, 如表 4所示, 其第一个生成序列为 3 , 91 , 140, 223 , 253 , 335 , 366, 502, 536, 680, 718 , 785 , 1089, 1103和 1253 , 表示奇偶校验矩阵中第一行子矩 阵的第一行, 即奇偶校验矩阵的第一行中的第 4歹 ij、 第 92歹 ij、 第 141 歹 ij、 第 224 列、 第 254列、 第 336列、 第 367列、 第 503列、 第 537列、 第 681列、 第 719列、 第 786列、 第 1090列、 第 1104列和第 1254列的取值为 1 , 第一行子矩阵的第一行 中的其余列为 0; 对于其他行子矩阵的第一行的取值, 可以参照举例类推得到, 在 此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 42 x 42的矩阵, 而码长为 1344, 因此, 每行子 矩阵中子矩阵的个数 c = 1344/42 =32个; 经划分之后, 本实施例的奇偶校验矩阵将 被划分为 8行 X 15列 = 120个 42 X 42的子矩阵, 且每个子矩阵的第一行元素的取 值已经确定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他的行元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例行生 成器中存在 8行 X 15列 = 120个数字, 因此, 本实施例所得到的奇偶校验矩阵中将 存在 120个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例三中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例三中所提供的(1344,1008) 非规则 LDPC码的性能。 图 4为实施例三中釆用 BPSK调制的(1344,1008) LDPC码 在 AWGN信道的 BER/BLER性能及其与 Shannon Limit、 未编码 BPSK的性能比较 的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 4, 其中, 直线 401表示香农限;
曲线 402表示釆用本发明(1344,1008)非规则 LDPC码进行编码、 BPSK方式进 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线;
曲线 403表示釆用本发明(1344,1008)非规则 LDPC码进行编码、 BPSK方式进 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码的信号的误帧率 ( BLER ) 曲线;
曲线 404表示未经编码,直接釆用 BPSK调制,再经 AWGN信道传输的信号的 BER性能曲线。
【实施例四】
本实施例以(1344,1176)非规则 LDPC码为例进行说明。 本实施例将要实现的非 规则 LDPC码的码长 N为 1344,信息位长度 K为 1176,行重 = 28 ,码率为1 = 7 / 8。 由码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方 程个数 M = 1344 - 1176 =168。 另外, 本实施例中, 与实施例一相同, 将以 42行 x42 列的子矩阵为最小单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。 (1344,1176)LDPC码的行生成器如表 5所示, 表中第 (i+1行)对应第 ( i+1 ) 个行生成器的生成序列 ( 0≤ < 4 )。
表 5
55 85 167 198 212 274 334 368 384 429 486 512 550 617 666 689 752 779 874 885 940 973 1047 1064 1103 1149 1253 1265
20 69 97 127 209 240 254 316 376 410 426 471 528 554 592 659 708 731 794 821 873 927 982 1015 1089 1145 1191 1307
15 61 111 139 169 251 282 296 358 418 452 468 513 570 596 634 701 750 773 836 863 915 969 1131 1148 1187 1238 1260
11 52 103 153 181 211 293 324 338 400 460 494 510 555 612 638 676 743 792 815 905 957 1011 1066 1099 1190 1233 1302
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 1344, 码率为 7/8的奇偶校验矩阵, 共有 4个行生成器, 每个行生成器 对应 4行子矩阵, 每行子矩阵中子矩阵的个数为 32。 则码长为 1344、 码率为 7/8的 奇偶校验矩阵共包含 4 X 28个维数为 42 X 42的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 5 , 该表 5 中的每一行为一个生成器对应的生成序列, 每个行生成器对 应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数 (范围: 0〜N-1 , N=1344 )。
由于本实施例中 LDPC码的行重为 28 , 因此,每一行子矩阵的第一行中存在 28 个元素 1 , 即存在 28个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 42 x 42的矩阵, 而校验方程的个数为 168 , 因此, 奇偶校验矩阵中子矩阵的行 数 P = 168/42 =4个, 所以, 本实施例中的生成序列四为 4行 X 28列 = 112个子行 生成器成的序列。
表 5包括多个包含行重个数字的生成序列, 并以表 5中的每一行生成序列的数 字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 5中的第一行生成 序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数, 以表 5中的第二行 生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直 至以表 5 中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素 1 所处的列数。
具体而言,将表 5均匀划分为多个包含 28个数字的生成序列,根据所得到的每 一行生成序列中的数字, 即如表 5所示的每一行中的数字, 得到奇偶校验矩阵的每 行子矩阵的第一行元素。
例如, 如表 5所示, 其第一行生成序列为 55 , 85 , 167, 198 , 212, 274, 334, 368 , 384, 429, 486, 512, 550, 617, 666, 689, 752, 779, 874, 885 , 940, 973 , 1047, 1064, 1103 , 1149, 1253和 1265 , 表示奇偶校验矩阵中第一行子矩阵的第一 行, 即奇偶校验矩阵的第一行中的第 56列、 第 86列、 第 168列、 第 199列、 第 213 列、 第 275列、 第 335列、 第 369列、 第 385列、 第 430列、 第 487列、 第 513列、 第 551列、 第 618列、 第 667列、 第 690列、 第 753列、 第 780列、 第 875列、 第 886列、 第 941列、 第 974列、 第 1048列、 第 1065列、 第 1104列、 第 1150, 1254, 1266列的取值为 1 , 第一行子矩阵的第一行中的其余列为 0; 对于其他行子矩阵的 第一行的取值, 可以参照举例类推得到, 在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 42 x 42的矩阵, 而码长为 1344, 因此, 每行子 矩阵中子矩阵的个数 c = 672/42 =16个; 经划分之后, 本实施例的奇偶校验矩阵将 被划分为 4行 28列 = 112个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例行生 成器中存在 4行 X 28列 = 112个数字, 因此, 本实施例所得到的奇偶校验矩阵中将 存在 112个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例四中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例四中所提供的(1344,1176) 非规则 LDPC码的性能。 图 5为实施例四中釆用 BPSK调制的(1344,1176) LDPC码 在 AWGN信道的 BER/BLER性能及其与 Shannon Limit、 未编码 BPSK的性能比较 的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 5 , 其中, 直线 501表示香农限;
曲线 502表示釆用本发明(1344,1176)非规则 LDPC码进行编码、 BPSK方式进 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线;
曲线 503表示釆用本发明(1344,1176)非规则 LDPC码进行编码、 BPSK方式进 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码的信号的误帧率 ( BLER ) 曲线;
曲线 504表示未经编码,直接釆用 BPSK调制,再经 AWGN信道传输的信号的 BER性能曲线。
【实施例五】
本实施例以 (2688,1344)非规则 LDPC码为例进行说明。 本实施例将要实现的非 规则 LDPC码的码长 N为 2688, 信息位长度 K为 1344, 行重 = 7 , 码率为 1/2。 由码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方 程个数 M = 2688 - 1344= 1344。 另外, 本实施例中, 将以 112行 xll2列的子矩阵为 最 、单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(2688,1344)LDPC码的行生成器如表 6所示,表中,其中第( i+1行)对应第( i+1 ) 个行生成器的生成序列 ( 0≤ < 12 )。
Figure imgf000016_0001
248 371 526 943 1030 1257 1680
91 328 483 729 1292 1792 2390
440 595 841 1561 1613 1904 2502
265 434 552 707 1279 1547 2302
22 273 377 546 1127 1659 2645
134 283 489 808 931 1949 2077
256 497 770 888 920 1198 1351
278 368 1032 1155 1401 2173 2602
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 2688、码率为 1/2的奇偶校验矩阵, 共有 12个行生成器, 每个行生成器 对应 12行子矩阵, 每行子矩阵中子矩阵的个数为 24。 则码长为 2688、 码率为 1/2 的奇偶校验矩阵共包含 12 X 24个维数为 112 X 112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 6, 该表 6中的每一行为一个生成器对应的生成序列, 每个行生成器对 应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数 (范围: 0〜N-1 , N=2688 )。
由于本实施例中 LDPC码的行重为 7, 因此, 每一行子矩阵的第一行中存在 7 个元素 1 , 即存在 7个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 112 X 112的矩阵, 而校验方程的个数为 1344, 因此, 奇偶校验矩阵中子矩阵 的行数 P = 1344/112 =12个, 所以, 本实施例中的行生成器五为 12行 χ 7歹' J = 84 个数字组成的序列。
表 6包括多个包含行重个数字的生成序列, 并以表 6中的每一行生成序列的数 字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 6中的第一行生成 序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数, 以表 6中的第二行 生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直 至以表 6中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素 1 所处的列数。
具体而言, 将表 6均匀划分为多个包含 7个数字的生成序列, 根据所得到的每 一行生成序列中的数字, 即如表 6所示的每一行中的数字, 得到奇偶校验矩阵的每 行子矩阵的第一行元素。
例如, 如表 6所示, 其第一个生成序列为 417 , 582, 1113 , 1518 , 2328 , 2388 和 2544 , 表示奇偶校验矩阵中第一行子矩阵的第一行, 即奇偶校验矩阵的第一行中 的第 418列、 第 583列、 第 1114列、 第 1519列、 第 2329列、 第 2389列、 第 2545 列的取值为 1 , 第一行子矩阵的第一行中的其余列为 0;
其第二行生成序列为 112, 343 , 529, 607, 844, 1405和 1861 , 表示奇偶校验 矩阵的第二行子矩阵的第一行, 即奇偶校验矩阵的第 113行中的第 113歹^ 第 344 列、 第 530列、 第 608列、 第 845列、 第 1406列和第 1862列的取值为 1 , 第二行 子矩阵的第一行中的其余列为 0, 对于其他行子矩阵的第一行的取值, 可以参照举 例类推得到, 在此不再赘述。
对于其他行子矩阵的第一行的取值, 可以参照举例类推得到, 在此不再赘述。 将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 112 X 112的矩阵, 而码长为 2688 , 因此, 每行 子矩阵中子矩阵的个数 c = 2688/112 =24个; 经划分之后,本实施例的奇偶校验矩阵 将被划分为 12行 X 24列 = 288个子矩阵, 且每个子矩阵的第一行元素的取值已经 确定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素的取值。
具体实现与步骤 102中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例行生 成器中存在 12行 X 7列 = 84个数字, 因此,本实施例所得到的奇偶校验矩阵中将存 在 84个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例五中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例五中所提供的 (2688,1344) 非规则 LDPC码的性能。 图 6为实施例五中釆用 BPSK调制的 (2688,1344) LDPC码 在 AWGN信道的 BER/BLER性能及其与 Shannon Limit、 未编码 BPSK的性能比较 的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 6, 其中, 直线 601表示香农限;
曲线 602表示釆用本发明 (2688,1344)非规则 LDPC码进行编码、 BPSK方式进 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线;
曲线 603表示釆用本发明 (2688,1344)非规则 LDPC码进行编码、 BPSK方式进 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码的信号的误帧率 ( BLER ) 曲线;
曲线 604表示未经编码,直接釆用 BPSK调制,再经 AWGN信道传输的信号的 BER性能曲线。
【实施例六】
本实施例以 (2688,1680)非规则 LDPC码为例进行说明。 本实施例要实现的非规 则 LDPC码的码长 N为 2688, 信息位长度 K为 1680, 行重 = 10 , 码率为 5/8。 由 码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方程 个数 M = 2688 - 1680= 1008。 另外, 在本实施例中, 将以 112行 xll2列的子矩阵为 最 、单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(2688,1680)LDPC码的行生成器如表 7所示, 表中第 ( i+1行)对应第 ( i+1 ) 个行生成器的生成序列 ( 0≤ < 9 )
Figure imgf000018_0001
104 136 259 414 1145 1323 1449 1744 2309 2646
98 216 248 371 526 943 1257 1904 2190 2502
41 210 328 360 729 1055 1142 1673 2382 2614
49 153 322 440 595 750 841 1404 1965 2080
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 2688 , 码率为 5/8的奇偶校验矩阵, 共有 9个行生成器, 每个行生成器 对应 9行子矩阵, 每行子矩阵中子矩阵的个数为 24。 则码长为 2688、 码率为 5/8的 奇偶校验矩阵共包含 9 X 24个维数为 112 X 112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 7, 该表 7中的每一行为一个生成器对应的生成序列, 每个行生成器对 应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数 (范围: 0〜N-1 , N=2688 )。
由于本实施例中 LDPC码的行重为 10 , 因此,每一行子矩阵的第一行中存在 10 个元素 1 , 即存在 10个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 112 X 112的矩阵, 而校验方程的个数为 1008 , 因此, 奇偶校验矩阵中子矩阵 的行数 P = 1008/112 =9个, 所以, 本实施例中的生成序列为 9行 X 10列 = 90个数 字组成的序列。
表 7包括多个包含行重个数字的生成序列, 并以表 7中的每一行生成序列的数 字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 7中的第一行生成 序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数, 以表 7中的第二行 生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直 至以表 7中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素 1 所处的列数。
具体而言,将表 7均匀划分为多个包含 10个数字的生成序列,根据所得到的每 一行生成序列中的数字, 即如表 7所示的每一行中的数字, 得到奇偶校验矩阵的每 行子矩阵的第一行元素。
例如, 如表 7所示, 其第一行生成序列为 7, 193 , 271 , 358 , 508 , 941 , 1069, 1232, 1830, 2544, 表示奇偶校验矩阵中第一行子矩阵的第一行, 即奇偶校验矩阵 的第一行中的第 8列、 第 194列、 第 272列、 第 359列、 第 509列、 第 942列、 第 1070列、 第 1233列、 第 1831列、 第 2545列的取值为 1 , 第一行子矩阵的第一行中 的其余列为 0; 对于其他行子矩阵的第一行的取值, 可以参照举例类推得到, 在此 不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 112 X 112的矩阵, 而码长为 2688 , 因此, 每行 子矩阵中子矩阵的个数 c = 2688/112 =24个; 经划分之后,本实施例的奇偶校验矩阵 将被划分为 9行 X 24列 = 216个子矩阵,且每个子矩阵的第一行元素的取值已经确 定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行元素的取值。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例生成 序列存在 9行 X 10列 = 90个数字, 因此,本实施例所得到的奇偶校验矩阵中将存在 90个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例六中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例六中所提供的 (2688,1680) 非规则 LDPC码的性能。 图 7为实施例六中釆用 BPSK调制的 (2688,1680) LDPC码 在 AWGN信道的 BER/BLER性能及其与 Shannon Limit、 未编码 BPSK的性能比较 的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 7, 其中, 直线 701表示香农限;
曲线 702表示釆用本发明 (2688,1680)非规则 LDPC码进行编码、 BPSK方式进 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线;
曲线 703表示釆用本发明 (2688,1680)非规则 LDPC码进行编码、 BPSK方式进 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码的信号的误帧率 ( BLER ) 曲线;
曲线 704表示未经编码,直接釆用 BPSK调制,再经 AWGN信道传输的信号的 BER性能曲线。
【实施例七】
本实施例以 (2688,2016)非规则 LDPC码为例进行说明。 本实施例将要实现的非 规则 LDPC码的码长 N为 2688, 信息位长度 K为 2016, 行重 = 15 , 码率为 3/4。 由码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方 程个数 M = 2688 - 2016= 672。 另外, 本实施例中, 将以 112行 xll2列的子矩阵为 最 、单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(2688,2016)LDPC码的行生成器如表 8所示, 表中第 ( i+1行)对应第 ( i+1 ) 个行生成器的生成序列 ( 0≤ < 6 )。
表 8
62 293 374 514 679 865 943 1030 1180 1257 1435 1613 1904 2203 2388
26 626 729 791 977 1055 1142 1292 1369 1547 1725 1853 1968 2016 2500
138 598 750 841 903 1089 1167 1404 1659 1785 1837 1965 2080 2310 2552
112 398 707 862 953 1015函 1279 1366 1516 1593 1897 1949 2306 2664
61 176 224 362 510 590 696 819 974 1065 1127 1478 1628 1705 2197
288 474 776 808 931 1086 1177 1239 1503 1740 1817 2121 2158 2390 2646 首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 2688, 码率为 3/4的奇偶校验矩阵, 共有 6个行生成器, 每个行生成器 对应 6行子矩阵, 每行子矩阵中子矩阵的个数仍为 24。 则码长为 2688、 码率为 3/4 的奇偶校验矩阵共包含 6 X 24个维数为 112 X 112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。 参见表 8 , 该表 8中的每一行为一个生成器对应的生成序列, 每个行生成器对 应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数 (范围: 0〜N-1 , N=2688 )。
由于本实施例中 LDPC码的行重为 15 , 因此,每一行子矩阵的第一行中存在 15 个元素 1 , 即存在 15个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 112 X 112的矩阵, 而校验方程的个数为 672, 因此, 奇偶校验矩阵中子矩阵的 行数 P =672/112 =6个, 所以, 本实施例中的生成序列为 6行 X 15列 = 90个数字组 成的序列。
表 8包括多个包含行重个数字的生成序列, 并以表 8中的每一行生成序列的数 字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 8中的第一行生成 序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数, 以表 8中的第二行 生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直 至以表 8中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素 1 所处的列数。
具体而言,将表 8均匀划分为多个包含 15个数字的生成序列,根据所得到的每 一行生成序列中的数字, 即如表 8所示的每一行中的数字, 得到奇偶校验矩阵的每 行子矩阵的第一行元素。
例如, 如表 8所示, 其第一行生成序列为 62, 293 , 374, 514, 679, 865 , 943 , 1030, 1180, 1257, 1435 , 1613 , 1904, 2203和 2388 , 表示奇偶校验矩阵中第一行 子矩阵的第一行, 即奇偶校验矩阵的第一行中的第 63列、 第 294列、 第 375列、 第 515列、 第 680列、 第 866列、 第 944列、 第 1031列、 第 1181列、 第 1258列、 第 1436列、 第 1614列、 第 1905列、 第 2204列、 第 2389列的取值为 1 , 第一行子矩 阵的第一行中的其余列为 0; 对于其他行子矩阵的第一行的取值, 可以参照举例类 推得到, 在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 112 X 112的矩阵, 而码长为 2688 , 因此, 每行 子矩阵中子矩阵的个数 c =2688/112 =24个; 经划分之后, 本实施例的奇偶校验矩阵 将被划分为 6行 X 24列 = 144个子矩阵,且每个子矩阵的第一行元素的取值已经确 定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素的取值。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例生成 序列中存在 6行 X 15列 = 90个数字, 因此,本实施例所得到的奇偶校验矩阵中将存 在 90个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码,, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例八中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例七中所提供的 (2688,2016) 非规则 LDPC码的性能。 图 8为实施例七中釆用 BPSK调制的 (2688,2016) LDPC码 在 AWGN信道的 BER/BLER性能及其与 Shannon Limit、 未编码 BPSK的性能比较 的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 8 , 其中, 直线 801表示香农限;
曲线 802表示釆用本发明 (2688,2016)非规则 LDPC码进行编码、 BPSK方式进 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线;
曲线 803表示釆用本发明 (2688,2016)非规则 LDPC码进行编码、 BPSK方式进 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码的信号的误帧率 ( BLER ) 曲线;
曲线 804表示未经编码,直接釆用 BPSK调制,再经 AWGN信道传输的信号的 BER性能曲线。
【实施例八】
本实施例以 (2688,2240)非规则 LDPC码为例进行说明。 本实施例将要实现的非 规则 LDPC码的码长 N为 2688 , 信息位长度 K为 2240, 行重 = 28 , 码率为 7/8。 由码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方 程个数 M = 2688 - 2240= 448。 另外, 本实施例中, 将以 112行 xl l2列的子矩阵为 最 、单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(2688,2240)LDPC码的行生成器如表 9所示, 表中第 ( i+1行)对应第 ( i+1 ) 个行生成器的生成序列 ( 0≤ < 4 )。
表 9
7 193 271 358 508 585 763 889 941 1069 1184 1232 1370 1518 1598 1749 1830 1970 2086 2203 2544
57 119 305 383 470 620 697 875 1001 1053 1181 1296 1344 1482 1630 1861 1942 2198 2315 2440 2500
78 169 231 417 495 582 732 809 987 1113 1165 1293 1408 1456 1594 1742 1822 2054 2194 2310 2612
35 190 281 343 529 607 694 844 921 1099 1225 1277 1405 1520 1568 1706 1934 2085 2306 2422 2664
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 2688、 码率为 7/8的奇偶校验矩阵, 共有 4个行生成器, 每个行生成器 对应 4行子矩阵, 每行子矩阵中子矩阵的个数为 24。 则码长为 2688、 码率为 7/8的 奇偶校验矩阵共包含 4 X 24个维数为 112 X 112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 9, 该表 9中的每一行为一个生成器对应的生成序列, 每个行生成器对 应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数 (范围: 0〜N-1 , N=2688 )。
由于本实施例中 LDPC码的行重为 21 , 因此,每一行子矩阵的第一行中存在 21 个元素 1 , 即存在 21个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 112 X 112的矩阵, 而校验方程的个数为 448 , 因此, 奇偶校验矩阵中子矩阵的 行数 P = 448/112 =4个, 所以, 本实施例中的生成序列为 4行 X 21列 = 84个数字 组成的序列。 表 9包括多个包含行重个数字的生成序列, 并以表 9中的每一行生成序列的数 字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 9中的第一行生成 序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数, 以表 9中的第二行 生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直 至以表 9中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素 1 所处的列数。
具体而言,将表 9均匀划分为多个包含 21个数字的生成序列,根据所得到的每 一行生成序列中的数字, 即如表 9所示的每一行中的数字, 得到奇偶校验矩阵的每 行子矩阵的第一行元素。
例如, 如表 9所示, 其第一行生成序列为 7, 193 , 271 , 358 , 508 , 585 , 763 , 889, 941 , 1069, 1184 , 1232, 1370, 1518 , 1598 , 1749, 1830, 1970, 2086 , 2203 和 2544 , 表示奇偶校验矩阵中第一行子矩阵的第一行, 即奇偶校验矩阵的第一行中 的第 8列、 第 194列、 第 272列、 第 359列、 第 509列、 第 586列、 第 764列、 第 890列、 第 942列、 第 1070列、 第 1185列、 第 1233列、 第 1371列、 第 1519列、 第 1599列、 第 1750列、 第 1831列、 第 1971列、 第 2087列、 第 2204列、 第 2545 列的取值为 1 , 第一行子矩阵的第一行中的其余列为 0; 对于其他行子矩阵的第一行 的取值, 可以参照举例类推得到, 在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 112 X 112的矩阵, 而码长为 2688 , 因此, 每行 子矩阵中子矩阵的个数 c = 2688/112 =24个; 经划分之后,本实施例的奇偶校验矩阵 将被划分为 4行 χ 21列 = 84个子矩阵, 且每个子矩阵的第一行元素的取值已经确 定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例生成 序列中存在 4行 X 21列 = 84个数字, 因此,本实施例所得到的奇偶校验矩阵中将存 在 112个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例八中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例八中所提供的 (2688, 2240) 非规则 LDPC码的性能。图 9为实施例八中釆用 BPSK调制的 (2688, 2240) LDPC码 在 AWGN信道的 BER/BLER性能及其与 Shannon Limit、 未编码 BPSK的性能比较 的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 9, 其中, 直线 901表示香农限;
曲线 902表示釆用本发明 (2688,2240)非规则 LDPC码进行编码、 BPSK方式进 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线;
曲线 903表示釆用本发明 (2688,2240)非规则 LDPC码进行编码、 BPSK方式进 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码的信号的误帧率 ( BLER ) 曲线;
曲线 904表示未经编码,直接釆用 BPSK调制,再经 AWGN信道传输的信号的 BER性能曲线。
【实施例九】
本实施例以 (5376,2688)行重不相同的非规则 LDPC码为例进行说明。 本实施例 将要实现的非规则 LDPC码的码长 N为 5376 , 信息位长度 K为 2688 , 行重 λ =,, 码率为 1/2。 由码率、码长以及校验方程个数之间的对应关系可知, 本实施例校验矩 阵中校验方程个数 Μ = 5376 - 2688= 2688。 另外, 在本实施例中, 将以 112行 χ112 列的子矩阵为最小单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(5376,2688)LDPC码的行生成器如表 10所示, 表中第 ( i+1行 )对应第 ( i+1 ) 个行生成器的生成序列 ( 0≤ < 24 )。
表 10
147 281 1109函 2089 4658 5232
98 607 826 1108匪 2024 4398
1220 1333 1605 2406 3031 4661 4998
248 526 1445 1906 2238 2248 4854
880 968 1092 1162 1557 2149 3494
322 718 827 992 1080 1274 4317
434 1316 1668 3048 3214 3305 5109
377 765 815 1216 2354 3417 3743
1163 1610 1686 1892 2005 2466 3591
658 1039 1166 1275 2117 2808 3967
1101 1151 2501 2682 2985 4079 4571
796 1019 1213 2341 2613 3083 3865
502 706 908 1325 1776 2802 4795
37 818 991 1020 1487 2933 5213
614 930 1300 1835 3682 4764 5325
357 558 946 1244 2394 2676 4953
751 886 1356 1773 1823 2059 2949
100 764 1468 2336 3321 4168 4537
213 876 975 1378 1580 2730 3433
688 835 988 1692 2159 2560 2772
783 1199 1334 2760 3750 4081 4472
912 1311 1504 1916 2884 3952 4193
699 1024 1171 1999 2196 5097 5345
184 771 3221 3474 3816 4315 4840
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 5376、码率为 1/2的奇偶校验矩阵, 共有 24个行生成器, 每个行生成器 对应 24行子矩阵, 每行子矩阵中子矩阵的个数仍为 48。 则码长为 5376、码率为 1/2 的奇偶校验矩阵共包含 24 X 48个维数为 112 X 112的子矩阵。 然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 10, 该表 10中的每一行为一个生成器对应的生成序列, 每个行生成器 对应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数(范围: 0〜N-1 , N=5376 )。
由于本实施例中 LDPC码的行重为 7, 因此, 每一行子矩阵的第一行中存在 7 个元素 1 , 即存在 7个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 112 112的矩阵, 而校验方程的个数为 2688 , 因此, 奇偶校验矩阵中子矩阵 的行数 P = 2688/112 =24个, 所以, 本实施例中的生成序列九为 24行 χ 48列 = 1152 个数字组成的序列。
表 10包括多个包含行重个数字的生成序列, 并以表 10中的每一行生成序列的 数字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 10中的第一行生 成序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数,以表 10中的第二 行生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直至以表 10 中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元 素 1所处的列数。
具体而言,将表 10均匀划分为多个包含 7个数字的生成序列,根据所得到的每 一行生成序列中的数字, 即如表 10所示的每一行中的数字,得到奇偶校验矩阵的每 行子矩阵的第一行元素。
例如, 如表 10所示, 其第一行生成序列为 147 , 281 , 1109, 1381 , 2089, 4658 , 5232, 表示奇偶校验矩阵中第一行子矩阵的第一行, 即奇偶校验矩阵的第一行中的 第 148列、 第 282列、 第 1110列、 第 1382列、 第 2090列、 第 4659列和第 5233列 的取值为 1 , 第一行子矩阵的第一行中的其余列为 0; 对于其他行子矩阵的第一行的 取值, 可以参照举例类推得到, 在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 112 112的矩阵, 而码长为 5376, 因此, 每行 子矩阵中子矩阵的个数 c = 5376/112 =48个; 经划分之后,本实施例的奇偶校验矩阵 将被划分为 24行 48列 = 1152个子矩阵, 且每个子矩阵的第一行元素的取值已经 确定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述的操作之后, 即可得到本实施例中奇偶校验矩阵 Η。 由于本实施例生 成序列存在 24行 7列 = 168个数字, 因此, 本实施例所得到的奇偶校验矩阵中将 存在 168个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 Η得到的生成矩阵 G对所述输入数据进行 编码,, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例九中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例九中所提供的 (5376,2688) 非规则 LDPC码的性能。 图 10为实施例九中釆用 BPSK调制的 (5376,2688) LDPC 码在 AWGN信道的 BER/BLER性能及其与 Shannon Limit, 未编码 BPSK的性能比 较的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 10, 其中, 直线 1001表示香农限; , ' ^ 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线; 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码""的信号的误 ΐ贞率 ( BLER ) 曲线;
曲线 1004表示未经编码, 直接釆用 BPSK调制, 再经 AWGN信道传输的信号 的 BER性能曲线。
【实施例十】
本实施例以 (5376,3360)行重不相同的非规则 LDPC码为例进行说明。 本实施例 将要实现的非规则 LDPC码的码长 N为 5376, 信息位长度 K为 3360, 行重 = 10 , 码率为 5/8。 由码率、码长以及校验方程个数之间的对应关系可知, 本实施例校验矩 阵中校验方程个数 M =5376 - 3360= 2016。 另外, 在本实施例中, 将以 112行 xl l2 列的子矩阵为最小单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(5376,3360)LDPC码的行生成如表 11所示, 表中第 ( i+1行)对应第 ( i+1 )个 行生成器的生成序列 ( 0≤ < 18 )。
Λ1
60 773 981 1045 1226 1234 1576 1846 2969 4437
22 566 772 1093 2048 2289 3329 3984 4318 5344
315 408 532 678 1977 2070 2505 2792 3494 4742
432 520 714 790 996 1570 2936 3214 3305 3367
826 1221 1429 1493 1674 2024 2201 3016 4654 5222
382 491 744 868 938 1786 2313 4137 4189 4997
119 367 603 1126 1445 1470 2238 2747 3395 4301
479 715 968 1444 1557 1765 2350 3234 3830 4413
347 1080 1204 1877 1941 2130 2472 2832 4653 4816
459 653 703 830 939 1462 3662 3703 4585 4765
302 571 942 1216 1428 1918 3056 3195 3815 5040
431 628 877 1054 1163 1328 1686 2458 3307 5290
210 370 543 572 740 1039 1166 2389 2570 4973
153 386 655 907函 2682 2821 3998 4907 5085
498 796 1213 1263 1664 2613 3531 3625 4110 4527
438 879 908 1076 1864 2453 2661 3045 4222 5257
550 608 818 1020 1188 1243 2773 2837 3368 3526
8 527 662 720 834 930 1103 3130 3616 3745
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 5376、码率为 5/8的奇偶校验矩阵, 共有 18个行生成器, 每个行生成器 对应 24行子矩阵, 每 24行子矩阵中子矩阵的个数仍为 48。 则码长为 5376、码率为 5/8的奇偶校验矩阵共包含 18 X 48个维数为 112 X 112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 11 , 该表 11 中的每一行为一个生成器对应的生成序列, 每个行生成器 对应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数(范围: 0〜N-1 , N=5376 )。
由于本实施例中 LDPC码的行重为 10 , 因此,每一行子矩阵的第一行中存在 10 个元素 1 , 即存在 10个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 112 X 112的矩阵, 而校验方程的个数为 2016, 因此, 奇偶校验矩阵中子矩阵 的行数 P =2016/42 =18个, 所以, 本实施例中的行生成器十为 18行 X 10列 = 180 个数字组成的序列。
表 11 包括多个包含行重个数字的生成序列, 并以表 11中的每一行生成序列的 数字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 11中的第一行生 成序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数,以表 11中的第二 行生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直至以表 11 中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元 素 1所处的列数。
具体而言, 将表 11均匀划分为多个包含 10个数字的生成序列, 根据所得到的 每一行生成序列中的数字, 即如表 11所示的每一行中的数字,得到奇偶校验矩阵的 每行子矩阵的第一行元素。
例如, 如表 11所示, 其第一行生成序列为 60 , 773 , 981 , 1045 , 1226, 1234, 1576, 1846, 2969, 4437, 表示奇偶校验矩阵中第一行子矩阵的第一行, 即奇偶校 验矩阵的第一行中的第 61歹^ 第 774列、 第 982列、 第 1046列、 第 1227列、 第 1235列、 第 1577列、 第 1847列、 第 2970列、 第 4438列的取值为 1 , 第一行子矩 阵的第一行中的其余列为 0; 对于其他行子矩阵的第一行的取值, 可以参照举例类 推得到, 在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 112 X 112的矩阵, 而码长为 5376, 因此, 每行 子矩阵中子矩阵的个数 c = 5376/112 =48个; 经划分之后,本实施例的奇偶校验矩阵 将被划分为 18行 X 48列 = 846个子矩阵, 且每个子矩阵的第一行元素的取值已经 确定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵。 由于本实施例生成序 列中存在 18行 X 10列 = 180个数字, 因此,本实施例所得到的奇偶校验矩阵中将存 在 180个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例十中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比, 说明本发明实施例十中所提供的 (5376,3360) 非规则 LDPC码的性能。 图 11为实施例十中釆用 BPSK调制的 (5376,3360) LDPC 码在 AWGN信道的 BER/BLER性能及其与 Shannon Limit, 未编码 BPSK的性能比 较的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 11 , 其中, 直线 1101表示香农限; , ' ^ 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线; 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码""的信号的误 ΐ贞率 ( BLER ) 曲线;
曲线 1104表示未经编码, 直接釆用 BPSK调制, 再经 AWGN信道传输的信号 的 BER性能曲线。
【实施例十一】
本实施例以 (5376,4032)非规则 LDPC码为例进行说明。 本实施例将要实现的非 规则 LDPC码的码长 N为 5376, 信息位长度 K为 4032, 行重 = 15 , 码率 3/4。 由 码率、 码长以及校验方程个数之间的对应关系可知, 本实施例校验矩阵中校验方程 个数 M = 5376 - 4032= 1344。 另外, 在本实施例中, 将以 112行 112列的子矩阵为 最 、单位为例说明 LDPC码的实现过程。
本实施例方法流程图与图 1所示本发明示例性方法流程图类似, 参见图 1 , 本 实施例中 LDPC码的实现方法包括以下步骤:
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。
(5376,4032)LDPC码的行生成器如表 12所示, 表中第 ( i+1行 )对应第 ( i+1 ) 个行生成器的生成序列 ( 0≤ < 12 )。
表 12
0 181 342 661 686 869 933 1963 2919 3105 3183 3270 4398 4518 5076
64 308 378 660 773 1365 2177 2450 2568 2723 2878 3532 4144 4770 5344
296 490 566 772 885 1477 1678 1688 2562 2680 3721 4077 4256 4661 5240 320 532 602 884 997 1022 1450 1458 1589 1790 1800 3193 4011 4205 4854 267 432 644 714 790 1134 1317 1381 1562 1902 2089 3367 3868 4506 4966
379 544 632 826 902 1246 1674 1682 2014 2294 2729 2898 3016 3048 4846 382 491 656 744 868匪 2126 2136 2313 2406 2496 3438 3942 4361 4730 60 157 317 367 494 768 856 1050 1126 1906 2608 3641 3889 4054 4990
235 429 479 606 715 1162 1238 1444 1557 1582 1765 3352 3507 3662 5102 292 347 541 827 1080 1204 1274 2742 2832 3464 3774 3927 4316 5214 5294
236 459 703 939 1806 2053 2234 2242 3083 3185 3576 3608 3886 4428 4697 319 348 516 571 765 815 1893 1918 2354 2686 2966 3297 3720 4089 4225 首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 5376、码率为 3/4的奇偶校验矩阵, 共有 12个行生成器, 每个行生成器 对应 12行子矩阵, 每行子矩阵中子矩阵的个数为 48。 则码长为 5376、 码率为 3/4 的奇偶校验矩阵共包含 12 X 48个维数为 112 X 112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 12, 该表 12中的每一行为一个生成器对应的生成序列, 每个行生成器 对应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数(范围: 0〜N-1 , N=5376 )。
由于本实施例中 LDPC码的行重为 15 , 因此,每一行子矩阵的第一行中存在 15 个元素 1 , 即存在 15个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 112 X 112的矩阵, 而校验方程的个数为 1344, 因此, 奇偶校验矩阵中子矩阵 的行数 P = 1344/112 =12个, 所以, 本实施例中的生成序列为 12行 χ 15列 = 180 个数字组成的序列。
表 12包括多个包含行重个数字的生成序列, 并以表 12中的每一行生成序列的 数字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 12中的第一行生 成序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数,以表 12中的第二 行生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直至以表 12 中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元 素 1所处的列数。
具体而言, 将表 12均匀划分为多个包含 15个数字的生成序列, 根据所得到的 每一行生成序列中的数字, 即如表 12所示的每一行中的数字,得到奇偶校验矩阵的 每行子矩阵的第一行元素。
例如, 如表 12所示, 其第一行生成序列为 0, 181 , 342, 661 , 686, 869, 933 , 1963 , 2919, 3105 , 3183 , 3270 , 4398 , 4518 , 5076, 表示奇偶校验矩阵中第一行 子矩阵的第一行, 即奇偶校验矩阵的第一行中的第 1列、 第 182列、 第 343列、 第 662列、 第 687列、 第 870列、 第 934列、 第 1964列、 第 2920列、 第 3106列、 第 3184列、 第 3271列、 第 4399列、 第 4519列、 第 5077列的取值为 1 , 第一行子矩 阵的第一行中的其余列为 0; 对于其他行子矩阵的第一行的取值, 可以参照举例类 推得到, 在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 112 X 112的矩阵, 而码长为 5376, 因此, 每行 子矩阵中子矩阵的个数 c = 5376/112 =48个; 经划分之后,本实施例的奇偶校验矩阵 将被划分为 12行 X 48列 = 576个子矩阵, 且每个子矩阵的第一行元素的取值已经 确定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 Η。 由于本实施例生成 序列中存在 12行 15列 = 180个数字, 因此, 本实施例所得到的奇偶校验矩阵中将 存在 180个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 Η得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例十一中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例十一中所提供的 (5376,4032) 非规则 LDPC码的性能。图 12为实施例十一中釆用 BPSK调制的 (5376,4032) LDPC 码在 AWGN信道的 BER/BLER性能及其与 Shannon Limit, 未编码 BPSK的性能比 较的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 12, 其中, 直线 1201表示香农限; 行调制、然后在力。性高斯白噪声 (( AWGN ))信道中传输、并""釆用和和^码算法 SPA: Sum-Product Arithmetic )进行译码的信号的误比特率 (BER ) 曲线; 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码""的信号的误 ΐ贞率 ( BLER ) 曲线;
曲线 1204表示未经编码, 直接釆用 BPSK调制, 再经 AWGN信道传输的信号 的 BER性能曲线。
【实施例十二】
本实施例以 (5376,4704)行重不相同的非规则 LDPC码为例进行说明。本实施例 将要实现的非规则 LDPC码的码长 N为 5376, 信息位长度 K为 4704, 行重 = 28 , 码率为 7/8。 由码率、码长以及校验方程个数之间的对应关系可知, 本实施例校验矩 阵中校验方程个数 M =5376 - 4074= 672。 另外, 在本实施例中, 将以 112行 xl l2 列的子矩阵为最小单位为例说明 LDPC码的实现过程。
在步骤 101中,根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵。 (5376,4704)LDPC码的行生成器如表 13所示, 表中第 ( i+1行)对应第 ( i+1 ) 个行生成器的生成序列 ( 0≤ < 6 ), 如下所示:
表 13
70 154 230 436 549 574 757 821 1002 1010 1141 1342 1352 1953 2226 2499 2745 2807 2993 3071 3308 3563 3869 4398 4549 4770 4891 5232
196 266 342 548 661 686 869 1122 1253 1464 1824 1963 2065 2338 2456 2611 2766 2857 3105 3183 3675 3801 3981 4096 4430 4510 4661 5003
184 308 378 454 660 773 798 981 1226 1753 1846 1936 2075 2450 2568 2878 2969 3217 3295 3382 3532 3609 3787 4093 4208 4542 4773 4882
208 296 420 490 566 772 885 910 1093 1157 1346 1477 1678 1688 1865 2187 2680 2990 3081 3494 4077 4320 4368 4654 4734 4994 5110 5352
30 155 320 408 532 602 678 884 1022 1269 1450 1458 1589 2160 2299 2792 3193 3255 3441 3756 3833 4011 4189 4317 4618 4885 4966 5106
62 158 267 432 520 644 714 790 996 1109 1317 1381 1570 1701 2089 2272 2411 2513 2617 3367 3631 3868 3945 4249 4301 5078 5218 5334
首先, 根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校 验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列; 码长为 5376、 码率为 7/8的奇偶校验矩阵, 共有 6个行生成器, 每个行生成器 对应 6行子矩阵, 每行子矩阵中子矩阵的个数为 48。 则码长为 5376、 码率为 7/8的 奇偶校验矩阵共包含 6 X 48个维数为 112 X 112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元 素。
参见表 13 , 该表 13 中的每一行为一个生成器对应的生成序列, 每个行生成器 对应的生成序列代表一行子矩阵的第一行中元素 1 所处的列数(范围: 0〜N-1 , N=5376 )。
由于本实施例中 LDPC码的行重为 28 , 因此,每一行子矩阵的第一行中存在 28 个元素 1 , 即存在 28个取值为 1的列; 另外, 由于本实施例中奇偶校验矩阵的子矩 阵是 112 X 112的矩阵, 而校验方程的个数为 672, 因此, 奇偶校验矩阵中子矩阵的 行数 P = 672/112 =6个, 所以, 本实施例中的生成序列为 6行 X 28列 = 168个数字 组成的序列。 表 13包括多个包含行重个数字的生成序列, 并以表 13中的每一行生成序列的 数字作为相应每行子矩阵的第一行中元素 1所处的列数。 即, 以表 13中的第一行生 成序列中的数字作为第一行子矩阵的第一行中元素 1所处的列数,以表 13中的第二 行生成序列中的数字作为第二行子矩阵的第一行中元素 1所处的列数, 依此类推, 直至以表 13 中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元 素 1所处的列数。
具体而言, 将表 13均匀划分为多个包含 28个数字的生成序列, 根据所得到的 每一行生成序列中的数字, 即如表 13所示的每一行中的数字,得到奇偶校验矩阵的 每行子矩阵的第一行元素。
例如, 如表 2所示, 其第一行生成序列为 55 , 85 , 167, 198, 212, 274, 334, 368, 384, 429, 486, 512, 550, 617, 666, 689, 752, 779, 874, 885 , 940, 973 , 1047, 1064, 1103 , 1149, 1253和 1265 , 表示奇偶校验矩阵中第一行子矩阵的第一 行, 即奇偶校验矩阵的第一行中的第 56列、 第 86列、 第 168列、 第 199列、 第 213 列、 第 275列、 第 335列、 第 369列、 第 385列、 第 430列、 第 487列、 第 513列、 第 551列、 第 618列、 第 667列、 第 690列、 第 753列、 第 780列、 第 875列、 第 886列、 第 941列、 第 974列、 第 1048列、 第 1065列、 第 1104列、 第 1150, 1254, 1266列的取值为 1 , 第一行子矩阵的第一行中的其余列为 0; 对于其他行子矩阵的 第一行的取值, 可以参照举例类推得到, 在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为 c个子矩阵; 这里, 由于本 实施例中奇偶校验矩阵的子矩阵是 112 X 112的矩阵, 而码长为 5376, 因此, 每行 子矩阵中子矩阵的个数 c = 5376/112 =48个; 经划分之后,本实施例的奇偶校验矩阵 将被划分为 6行 X 28列 = 168个子矩阵,且每个子矩阵的第一行元素的取值已经确 定。
最后, 根据每个子矩阵的第一行元素, 可以釆用循环移位或直接寻址两种实现 方式得到该子矩阵中其他行的元素。
具体实现与步骤 101中相同, 不再赘述。
经过上述操作之后, 即可得到本实施例中奇偶校验矩阵 H。 由于本实施例生成 序列中存在 6行 X 28列 = 168个数字, 因此, 本实施例所得到的奇偶校验矩阵中将 存在 168个置换单位矩阵。
本步骤中, 得到奇偶校验矩阵之后, 可以对其进行各种角度的旋转、 行置换、 列置换或改变子矩阵位置的任何变换。
在步骤 102中,利用由奇偶校验矩阵 H得到的生成矩阵 G对所述输入数据进行 编码, 变换为 LDPC码字, 得到包含奇偶校验信息的输出数据。
至此, 结束本发明实施例十二中用于数据传输方法的示例性流程。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校 验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例十二中所提供的 (5376,4704) 非规则 LDPC码的性能。图 13为实施例十二中釆用 BPSK调制的 (5376,4704) LDPC 码在 AWGN信道的 BER/BLER性能及其与 Shannon Limit, 未编码 BPSK的性能比 较的示意图。 本次仿真中, 译码釆用 sum-product算法, 最大迭代次数为 50。
参见图 13 , 其中, 直线 1301表示香农限; , ' ^ 行调制、然后在加性高斯白噪声( AWGN )信道中传输、并釆用和积译码算法( SPA: Sum-Product Arithm tk; )进行译码的信号的误比特率 (BER ) 线; 、 行调制、 然后在 AWGN信道中传输、 并釆用 SPA 算法进行译码的信号的误帧率 ( BLER ) 曲线;
曲线 1304表示未经编码, 直接釆用 BPSK调制, 再经 AWGN信道传输的信号 的 BER性能曲线。
【实施例十三】
图 14为本发明实施例十三中用于数据传输的装置的结构示意图。 参见图 14, 该装置包括: 存储模块 1410、 校验矩阵生成模块 1420、 码字生成模块 1430, 其中, 校验矩阵生成模块 1420 中进一步包括: 生成序列分析单元 1421 和循环移位单元 1422。
图 14所示装置中,
存储模块 1410, 用于存储生成序列, 并向校验矩阵生成模块 1420中的生成序 列分析单元 1421提供其所存储的生成序列;
校验矩阵生成模块 1420中的生成序列分析单元 1421 , 用于根据预先设定的码 长和码率及子矩阵的维数, 确定要构造的所述奇偶校验矩阵的行数和列数, 并且将 所述奇偶校验矩阵划分为以子矩阵为单位的阵列: 根据所述行生成器对应的生成序 列以及行重确定每个子矩阵中的第一行元素; 根据所述每个子矩阵的第一行元素, 得到每个子矩阵中其他行的元素, 将所得到的已确定第一行元素的每一行子矩阵发 送给所述循环移位单元 1422;
校验矩阵生成模块 1420中的循环移位单元 1422, 用于根据每一个子矩阵的第 一行元素、 釆用循环移位的方式得到每一个子矩阵, 这里, 每一个子矩阵即构成了 本实施例中的奇偶校验矩阵, 将该奇偶校验矩阵发送给码字生成模块 1430;
码字生成模块 1430, 用于接收来自于校验矩阵生成模块 1420中的循环移位单 元 1422的奇偶校验矩阵,并利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进 行编码。
在图 14所示装置中, 可以进一步包括: 校验矩阵变换单元, 该校验矩阵变换单 元,可以用于对循环移位单元 1422得到的奇偶校验矩阵进行各种角度的旋转、行置 换、 列置换或改变子矩阵位置等各种变换, 然后将经过变换所得到的奇偶校险矩阵 发送给码字生成模块 1430。
该校验矩阵变换单元可以单独设置于本实施例的实现装置中, 也可以设置于校 验矩阵生成模块 1420中, 或者也可以设置于其他模块之中。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对生成序列循环移位得到奇偶校验矩阵的方式, 使得存储奇偶校验矩阵所需 的存储空间达到了最小化。
【实施例十四】
图 15为本发明实施例十三中用于数据传输的装置的结构示意图。 参见图 15 , 该装置包括: 存储模块 1510、 校验矩阵生成模块 1520、 码字生成模块 1530, 其中, 校验矩阵生成模块 1520 中进一步包括: 生成序列分析单元 1521 和直接寻址单元 1522。
图 15所示装置中, 存储模块 1510, 用于存储生成序列, 并向校验矩阵生成模 块 1520中的生成序列分析单元 1521提供其所存储的生成序列;
校验矩阵生成模块 1520中的生成序列分析单元 1521 , 用于根据预先设定的码 长和码率及子矩阵的维数, 确定要构造的所述奇偶校验矩阵的行数和列数, 并且将 所述奇偶校验矩阵划分为以子矩阵为单位的阵列: 根据所述行生成器对应的生成序 列以及行重确定每个子矩阵中的第一行元素; 根据所述每个子矩阵的第一行元素, 得到每个子矩阵中其他行的元素, 将所得到的已确定第一行元素的每一行子矩阵发 送给所述直接寻址单元 422;
校验矩阵生成模块 1520中的直接寻址单元 1522, 用于根据每一个子矩阵的第 一行元素、 釆用直接寻址的方式得到每一个子矩阵, 这里, 每一个子矩阵即构成了 本实施例中的奇偶校验矩阵, 将该奇偶校验矩阵发送给码字生成模块 1530;
码字生成模块 1530,用于接收来自于校验矩阵生成模块 1520中的直接寻址 1522 的奇偶校验矩阵, 并利用该奇偶校验矩阵, 将输入数据变换为 LDPC码字。
在图 15所示装置中, 可以进一步包括: 校验矩阵变换单元, 该校验矩阵变换单 元,可以用于对直接寻址单元 1522得到的奇偶校验矩阵进行各种角度的旋转、行置 换、 列置换或改变子矩阵位置等各种变换, 然后将经过变换所得到的奇偶校险矩阵 发送给码字生成模块 1530。
该校验矩阵变换单元可以单独设置于本实施例的实现装置中, 也可以设置于校 验矩阵生成模块 1520中, 或者也可以设置于其他模块之中。
本发明实施例十三和十四提供的用于数据传输的装置, 其工作原理及相关操作 流程与前述用于实现数据传输的方法实施方案中基本相同, 在此不再赘述。
由上述实施例可见, 本发明釆用了以行生成器对应的生成序列表示奇偶校验矩 阵、 并对生成序列直接寻址得到奇偶校验矩阵的方式, 使得存储奇偶校验矩阵所需 的存储空间达到了最小化。 应该明白, 公开的过程中的步骤的特定顺序或层次是示例性方法的实例。 基于 设计偏好, 应该理解, 过程中的步骤的特定顺序或层次可以在不脱离本公开的保护 范围的情况下得到重新安排。 所附的方法权利要求以示例性的顺序给出了各种步骤 的要素, 并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中, 以简化本公开。 不应该将这种公开方法解释为反映了这样的意图, 即, 所要求保护的主题的实施方 案需要比清楚地在每个权利要求中所陈述的特征更多的特征。 相反, 如所附的权利 要求书所反映的那样, 本发明处于比所公开的单个实施方案的全部特征少的状态。 因此, 所附的权利要求书特此清楚地被并入详细描述中, 其中每项权利要求独自作 为本发明单独的优选实施方案。
上文的描述包括一个或多个实施例的举例。 当然, 为了描述上述实施例而描述 部件或方法的所有可能的结合是不可能的, 但是本领域普通技术人员应该认识到, 各个实施例可以做进一步的组合和排列。 因此, 本文中描述的实施例旨在涵盖落入 所附权利要求书的保护范围内的所有这样的改变、 修改和变型。 此外, 就说明书或 权利要求书中使用的术语 "包含", 该词的涵盖方式类似于术语 "包括", 就如同 "包 括,"在权利要求中用作衔接词所解释的那样。 此外, 使用在权利要求书的说明书中 的任何一个术语 "或者" 是要表示 "非排它性的或者"。

Claims

权 利 要 求 书
1.一种用于数据传输的方法, 其特征在于, 包括:
根据预先保存的行生成器对应的生成序列, 生成奇偶校验矩阵;
利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码, 得到包含奇偶 校验信息的输出数据。
2.如权利要求 1 所述的方法, 其特征在于, 所述根据预先保存的行生成器对应 的生成序列, 生成奇偶校险矩阵, 具体包括:
根据预先设定的码长和码率及子矩阵的维数, 确定要构造的所述奇偶校验矩阵 的行数和列数, 并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列:
根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素; 根据所述每个子矩阵的第一行元素, 得到每个子矩阵中其他行的元素。
3. 如权利要求 2所述的方法,其特征在于,根据所述每个子矩阵的第一行元素, 釆用循环移位的方式得到每个子矩阵中其他行的元素。
4. 如权利要求 2所述的方法,其特征在于,根据所述每个子矩阵的第一行元素, 釆用直接寻址的方式得到每个子矩阵中其他行的元素, 所述直接寻址方式具体为: 取第 + 1个生成序列 的第■ 个元素 生成第 z' + l行、 第" + 1列子矩阵
其 中 , 所 述 子 矩 阵 4,B =[¾J,0≤/< ;0≤w<t 的 第 一 行
["。,。,"。, ···,"。,— = ["。," ···,"— J中, 只有第 mod(xS- i,t)+i 个位置为 1, 其余 t- 1 个位置皆为 0;
根据第 一行 ["。,""…,6^] 产 生整个矩阵 Α" , 计算方法如下 :
所述生成序列中每个非零元素都对应一个非零矩阵, 其余的子矩阵, 都是维数 为 的零矩阵;
其中, 所 歹 x'(1) = [ 。), y -ι °≤1 <Ρ . η = floor ·
Figure imgf000034_0001
Ρ表示子行生成器的个数;
表示行生成序列的标号;
'表示行生成序列中元素的序号;
Ζ'·表示第 i个行生成序列中元素的个数;
t表示维数。
5. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 1344, 所 述码率为 1/2, 所述行重为 7时, 所述行生成器由生成序列表示, 所述生成序列如下 所示:
第第第第第第第第第第第第第第第第 156, 326, 342, 444, 575, 898, 1005;
¾ m ^ τi ί十十^ Ϊ, 55, 85, 167, 486, 617, 1047, 1307;
410, 821, 873, 927, 982, 1106, 1191;
10, 61, 139, 251, 468, 773, 915;
52, 103, 324, 400, 612, 743, 792;
26, 70, 145, 195, 502, 718, 1108;
31, 68, 112, 187, 544, 578, 1313;
73, 110, 229, 307, 337, 681, 1192;
18, 196, 271, 379, 806, 1168, 1267;
60, 121, 262, 391, 421, 548, 1088;
25, 163, 355, 433, 652, 712, 1067;
96, 144, 505, 618, 632, 1172, 1251;
5, 109, 138, 186, 320, 517, 846;
35, 47, 151, 228, 671, 716, 1256;
0, 89, 270, 367, 713, 1032, 1298;
20, 42, 119, 131, 235, 264, 956;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <16 ); 16行子矩阵, 每行子矩阵中子矩阵的个数为 32;
所述子矩阵为 42行 X 42列的方阵;
所述奇偶校验矩阵中包含 112个置换单位矩阵。
6. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 1344, 所 述码率为 5/8, 所述行重为 10时, 所述行生成器由生成序列表示, 所述生成序列如 下所示:
第一行 265, 295, 377, 408, 422, 544, 578, 696, 722, 1176; 第二行 122, 201, 244, 279, 307, 337, 450, 464, 885, 1295; 第三行 164, 243, 321, 349, 379, 461, 492, 916, 927, 1015; 第四行 120, 262, 363, 391, 421, 503, 548, 720, 765, 958;
第五行: 8, 185, 280, 304, 355, 576, 712, 762, 1190, 1229;
第六行: 24, 50, 204, 278, 322, 447, 618, 804, 1042, 1108;
第七行: 66, 283, 320, 364, 388, 439, 660, 899, 1257, 1313;
第八行: 134, 289, 325, 406, 430, 531, 838, 1004, 1137, 1316;
第九行: 150, 214, 367, 404, 448, 523, 601, 880, 983, 1073;
第十行: 40, 90, 264, 409, 615, 643, 786, 862, 1088, 1276;
第十一行: 277, 306, 354, 415, 532, 607, 657, 685, 828, 1130; 第十二行: 64, 319, 348, 396, 457, 493, 574, 727, 870, 1172;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <12 ); 12行子矩阵, 每行子矩阵中子矩阵的个数为 32;
所述子矩阵为 42行 X 42列的方阵;
所述奇偶校验矩阵中包含 120个置换单位矩阵。
7. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 1344, 所 述码率为 3/4, 所述行重为 15时, 所述行生成器由生成序列表示, 所述生成序列如 下所示: 第一行: 3, 91, 140, 223, 253, 335, 366, 502, 536, 680, 718, 785, 1089, 1103, 1253;
第二行: 34, 165, 237, 265, 295, 377, 408, 422, 544, 594, 899, 989, 1106, 1295, 1307;
第三行: 76, 87, 279, 337, 419, 450, 464, 586, 681, 764, 918, 1004, 1031, 1066, 1145;
第四行: 207, 220, 271, 321, 379, 568, 628, 662, 806, 960, 1053, 1099, 1148, 1187, 1302;
第五行: 238, 262, 313, 363, 391, 503, 534, 548, 720, 765, 822, 848, 953, 1025, 1173;
第六行: 80, 236, 280, 304, 355, 405, 433, 463, 576, 590, 652, 890, 928, 1044, 1232;
第七行: 36, 159, 171, 241, 278, 322, 346, 397, 447, 475, 505, 632, 754, 849, 1274;
第八行: 78, 101, 202, 247, 320, 364, 388, 439, 517, 547, 674, 830, 846, 974, 1192;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <8 );
8行子矩阵, 每行子矩阵中子矩阵的个数为 32;
所述子矩阵为 42行 X 42列的方阵;
所述奇偶校验矩阵中包含 120个置换单位矩阵。
8. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所所述码长为 1344, 所述码率为 7/8, 所述行重为 28时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行: 55, 85, 167, 198, 212, 274, 334, 368, 384, 429, 486, 512, 550, 617, 666, 689, 752, 779, 874, 885, 940, 973, 1047, 1064, 1103, 1149, 1253, 1265;
第二行: 20, 69, 97, 127, 209, 240, 254, 316, 376, 410, 426, 471, 528,
554, 592, 659, 708, 731, 794, 821, 873, 927, 982, 1015, 1089, 1145, 1191, 1307;
第三行: 15, 61, 111, 139, 169, 251, 282, 296, 358, 418, 452, 468, 513, 570, 596, 634, 701, 750, 773, 836, 863, 915, 969, 1131, 1148, 1187, 1238, 1260;
第四行: 11, 52, 103, 153, 181, 211, 293, 324, 338, 400, 460, 494, 510,
555, 612, 638, 676, 743, 792, 815, 905, 957, 1011, 1066, 1099, 1190, 1233, 1302;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <4 );
4行子矩阵, 每行子矩阵中子矩阵的个数为 32;
所述子矩阵为 42行 X 42列的方阵;
所述奇偶校验矩阵中包含 112个置换单位矩阵。
9. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当码长为 2688, 所述码 率为 1/2,所述行重为 7时,所述行生成器由生成序列表示,所述生成序列如下所示: 第一行: 417, 582, 1113, 1518, 2328, 2388, 2544;
第二行: 112, 343, 529, 607, 844, 1405, 1861; 第三行 61, 176, 302, 393, 455, 641, 2054;
第四行 259, 414, 505, 753, 918, 1706, 2166;
第五行 248, 371, 526, 943, 1030, 1257, 1680;
第六行 91, 328, 483, 729, 1292, 1792, 2390;
第七行 440, 595, 841, 1561, 1613, 1904, 2502;
第八行 265, 434, 552, 707, 1279, 1547, 2302;
第九行 22, 273, 377, 546, 1127, 1659, 2645;
第十行 134, 283, 489, 808, 931, 1949, 2077;
第十一行: 256, 497, 770, 888, 920, 1198, 1351;
第十二行: 278, 368, 1032, 1155, 1401, 2173, 2602;
12行子矩阵, 每行子矩阵中子矩阵的个数为 24;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 84个置换单位矩阵。
10. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当码长为 2688, 所述 码率为 5/8, 所述行重为 10时, 所述行生成器由生成序列表示, 所述生成序列如下 所示:
第一行 7, 193, 271, 358, 508, 941, 1069, 1232, 1830, 2544;
第二行 57, 119, 305, 383, 470, 875, 1482, 1630, 1710, 1861; 第三行 78, 169, 231, , 417, 582, 732, 987, 1456, 1594, 2427; 第四行 35, 190, 281, , 343, 529, 607, 1099, 1405, 1520, 2085; 第五行 24, 147, 302, , 393, 641, 806, 1211, 1680, 2197, 2278; 第六行: 104, 136, 259, 414, 1145, 1323, 1449, 1744, 2309, 2646; 第七行: 98, 216, 248, 371, 526, 943, 1257, 1904, 2190, 2502;
第八行: 41, 210, 328, 360, 729, 1055, 1142, 1673, 2382, 2614;
第九行: 49, 153, 322, 440, 595, 750, 841, 1404, 1965, 2080; 其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <9 );
9行子矩阵, 每行子矩阵中子矩阵的个数为 24;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 90个置换单位矩阵。
11. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 2688, 所述码率为 3/4, 所述行重为 15时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行: 62, 293, 374, 514, 679, 865, 943, 1030, 1180, 1257, 1435, 1613, 1904, 2203, 2388;
第二行: 26, 626, 729, 791, 977, 1055, 1142, 1292, 1369, 1547, 1725, 1853, 1968, 2016, 2500;
第三行: 138, 598, 750, 841, 903, 1089, 1167, 1404, 1659, 1785, 1837, 1965, 2080, 2310, 2552;
第四行: 112, 398, 707, 862, 953, 1015, 1201, 1279, 1366, 1516, 1593, 1897, 1949, 2306, 2664;
第五行: 61, 176, 224, 362, 510, 590, 696, 819, 974, 1065, 1127, 1478, 1628, 1705, 2197;
第六行: 288, 474, 776, 808, 931, 1086, 1177, 1239, 1503, 1740, 1817, 2121, 2158, 2390, 2646;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <6);
6行子矩阵, 每行子矩阵中子矩阵的个数为 24;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 90个置换单位矩阵。
12. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 2688, 所述码率为 7/8, 所述行重为 21时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行: 7, 193, 271, 358, 508, 585, 763, 889, 941, 1069, 1184, 1232, 1370, 1518, 1598, 1749, 1830, 1970, 2086, 2203, 2544;
第二行: 57, 119, 305, 383, 470, 620, 697, 875, 1001, 1053, 1181, 1296, 1344, 1482, 1630, 1861, 1942, 2198, 2315, 2440, 2500;
第三行: 78, 169, 231, 417, 495, 582, 732, 809, 987, 1113, 1165, 1293, 1408, 1456, 1594, 1742, 1822, 2054, 2194, 2310, 2612;
第四行: 35, 190, 281, 343, 529, 607, 694, 844, 921, 1099, 1225, 1277, 1405, 1520, 1568, 1706, 1934, 2085, 2306, 2422, 2664;
4行子矩阵, 所行子矩阵中子矩阵的个数为 24;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 84个置换单位矩阵。
13. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 5376, 所述码率为 1/2, 所述行重为 7时, 所述行生成器由生成序列表示, 所述生成序列如 下所示:
第一行 147, 281, 1109, 1381, 2089, 4658, 5232;
第二行 98, 607, 826, 1108, 1813, 2024, 4398;
第三行 1220, 1333, 1605, 2406, 3031, 4661, 4998;
第四行 248, 526, 1445, 1906, 2238, 2248, 4854;
第五行 880, 968, 1092, 1162, 1557, 2149, 3494;
第六行 322, 718, 827, 992, 1080, 1274, 4317;
第七行 434, 1316, 1668, 3048, 3214, 3305, 5109;
第八行 377, 765, 815, 1216, 2354, 3417, 3743;
第九行 1163, 1610, 1686, 1892, 2005, 2466, 3591;
第十行 658, 1039, 1166, 1275, 2117, 2808, 3967;
第十一行 1101, 1151, 2501, 2682, 2985, 4079, 4571;
第十二行 796, 1019, 1213, 2341, 2613, 3083, 3865;
第十三行 502, 706, 908, 1325, 1776, 2802, 4795;
第十四行 37, 818, 991, 1020, 1487, 2933, 5213;
第十五行 614, 930, 1300, 1835, 3682, 4764, 5325;
第十六行 357, 558, 946, 1244, 2394, 2676, 4953;
第十七行 751, 886, 1356, 1773, 1823, 2059, 2949;
第十八行 100, 764, 1468, 2336, 3321, 4168, 4537;
第十九行 213, 876, 975, 1378, 1580, 2730, 3433;
第二十行: 688, 835, 988, 1692, 2159, 2560, 2772;
第二十一行: 783, 1199, 1334, 2760, 3750, 4081, 4472; 第二十二行: 912, 1311, 1504, 1916, 2884, 3952, 4193;
第二十三行: 699, 1024, 1171, 1999, 2196, 5097, 5345;
第二十四行: 184, 771, 3221, 3474, 3816, 4315, 4840;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <24 );
24行子矩阵, 每行子矩阵中子矩阵的个数为 48;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 168个置换单位矩阵。
14. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 5376, 所述码率为 5/8, 所述行重为 10时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行: 60, 773, 981, 1045, 1226, 1234, 1576, 1846, 2969, 4437; 第二行: 22, 566, 772, 1093, 2048, 2289, 3329, 3984, 4318, 5344;
第三行: 315, 408, 532, 678, 1977, 2070, 2505, 2792, 3494, 4742;
第四行: 432, 520, 714, 790, 996, 1570, 2936, 3214, 3305, 3367;
第五行: 826, 1221, 1429, 1493, 1674, 2024, 2201, 3016, 4654, 5222; 第六行: 382, 491, 744, 868, 938, 1786, 2313, 4137, 4189, 4997;
第七行: 119, 367, 603, 1126, 1445, 1470, 2238, 2747, 3395, 4301; 第八行: 479, 715, 968, 1444, 1557, 1765, 2350, 3234, 3830, 4413; 第九行: 347, 1080, 1204, 1877, 1941, 2130, 2472, 2832, 4653, 4816; 第十行: 459, 653, 703, 830, 939, 1462, 3662, 3703, 4585, 4765;
第十一行: 302, 571, 942, 1216, 1428, 1918, 3056, 3195, 3815, 5040; 第十二行: 431, 628, 877, 1054, 1163, 1328, 1686, 2458, 3307, 5290; 第十三行: 210, 370, 543, 572, 740, 1039, 1166, 2389, 2570, 4973; 第十四行: 153, 386, 655, 907, 1101, 2682, 2821, 3998, 4907, 5085; 第十五行: 498, 796, 1213, 1263, 1664, 2613, 3531, 3625, 4110, 4527; 第十六行: 438, 879, 908, 1076, 1864, 2453, 2661, 3045, 4222, 5257; 第十七行: 550, 608, 818, 1020, 1188, 1243, 2773, 2837, 3368, 3526; 第十八行: 8, 527, 662, 720, 834, 930, 1103, 3130, 3616, 3745;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <18 ); 18行子矩阵, 每行子矩阵中子矩阵的个数为 48;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 180个置换单位矩阵。
15. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 5376, 所述码率为 3/4, 所述行重为 15时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行: 0, 181, 342, 661, 686, 869, 933, 1963, 2919, 3105, 3183, 3270, 4398, 4518, 5076;
第二行: 64, 308, 378, 660, 773, 1365, 2177, 2450, 2568, 2723, 2878, 3532, 4144, 4770, 5344;
第三行: 296, 490, 566, 772, 885, 1477, 1678, 1688, 2562, 2680, 3721, 4077, 4256, 4661, 5240;
第四行: 320, 532, 602, 884, 997, 1022, 1450, 1458, 1589, 1790, 1800, 3193, 4011, 4205, 4854; 第五行: 267, 432, 644, 714, 790, 1134, 1317, 1381, 1562, 1902, 2089, 3367, 3868, 4506, 4966;
第六行: 379, 544, 632, 826, 902, 1246, 1674, 1682, 2014, 2294, 2729, 2898, 3016, 3048, 4846;
第七行: 382, 491, 656, 744, 868, 1014, 2126, 2136, 2313, 2406, 2496, 3438, 3942, 4361, 4730;
第八行: 60, 157, 317, 367, 494, 768, 856, 1050, 1126, 1906, 2608, 3641, 3889, 4054, 4990;
第九行: 235, 429, 479, 606, 715, 1162, 1238, 1444, 1557, 1582, 1765, 3352, 3507, 3662, 5102;
第十行: 292, 347, 541, 827, 1080, 1204, 1274, 2742, 2832, 3464, 3774, 3927, 4316, 5214, 5294;
第十一行: 236, 459, 703, 939, 1806, 2053, 2234, 2242, 3083, 3185, 3576, 3608, 3886, 4428, 4697;
第十二行: 319, 348, 516, 571, 765, 815, 1893, 1918, 2354, 2686, 2966, 3297, 3720, 4089, 4225;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <12 );
12行子矩阵, 所行子矩阵中子矩阵的个数为 48;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 180个置换单位矩阵。
16. 如权利要求 1至 4任一项所述的方法, 其特征在于, 当所述码长为 5376, 所述码率为 7/8, 所述行重为 28时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行: 70, 154, 230, 436, 549, 574, 757, 821, 1002, 1010, 1141, 1342, 1352, 1953, 2226, 2499, 2745, 2807, 2993, 3071, 3308, 3563, 3869, 4398, 4549, 4770, 4891, 5232;
第二行: 196, 266, 342, 548, 661, 686, 869, 1122, 1253, 1464, 1824, 1963, 2065, 2338, 2456, 2611, 2766, 2857, 3105, 3183, 3675, 3801, 3981, 4096, 4430, 4510, 4661, 5003;
第三行: 184, 308, 378, 454, 660, 773, 798, 981, 1226, 1753, 1846, 1936, 2075, 2450, 2568, 2878, 2969, 3217, 3295, 3382, 3532, 3609, 3787, 4093, 4208, 4542, 4773, 4882;
第四行: 208, 296, 420, 490, 566, 772, 885, 910, 1093, 1157, 1346, 1477, 1678, 1688, 1865, 2187, 2680, 2990, 3081, 3494, 4077, 4320, 4368, 4654, 4734, 4994, 5110, 5352;
第五行: 30, 155, 320, 408, 532, 602, 678, 884, 1022, 1269, 1450, 1458, 1589, 2160, 2299, 2792, 3193, 3255, 3441, 3756, 3833, 4011, 4189, 4317, 4618, 4885, 4966, 5106;
第六行: 62, 158, 267, 432, 520, 644, 714, 790, 996, 1109, 1317, 1381, 1570, 1701, 2089, 2272, 2411, 2513, 2617, 3367, 3631, 3868, 3945, 4249, 4301, 5078, 5218, 5334;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <6);
6行子矩阵, 每行子矩阵中子矩阵的个数为 48; 所述子矩阵为 112行 x 112列的方阵;
所述奇偶校验矩阵中包含 168个置换单位矩阵。
17. 一种用于数据传输的装置, 其特征在于, 该装置包括: 存储模块、 校验矩 阵生成模块和码字生成模块;
所述存储模块, 用于保存行生成器对应的生成序列, 并向所述校验矩阵生成模 块提供所述生成序列;
所述校验矩阵生成模块, 用于根据所述存储模块提供的所述生成序列, 生成奇 偶校验矩阵, 并将所述奇偶校验矩阵发送给所述码字生成模块;
所述码字生成模块, 用于接收来自于所述校验矩阵生成模块的所述奇偶校验矩 阵, 并利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码。
18. 根据权利要求 17所述的装置, 其特征在于, 所述校验矩阵生成模块进一步 包括: 生成序列分析单元和循环移位单元;
所述存储模块, 进一步用于向所述生成序列分析单元提供所述生成序列; 所述生成序列分析单元, 用于根据预先设定的码长和码率及子矩阵的维数, 确 定要构造的所述奇偶校验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子 矩阵为单位的阵列: 根据所述行生成器对应的生成序列以及行重确定每个子矩阵中 的第一行元素; 根据所述每个子矩阵的第一行元素, 得到每个子矩阵中其他行的元 素, 将所得到的已确定第一行元素的每一行子矩阵发送给所述循环移位单元;
所述循环移位单元, 用于根据所述每一个子矩阵的第一行元素、 釆用循环移位 的方式得到所述每一个子矩阵, 所述每一个子矩阵构成所述奇偶校验矩阵, 将所述 奇偶校验矩阵发送给所述码字生成模块。
19. 根据权利要求 17所述的装置, 其特征在于, 所述校验矩阵生成模块进一步 包括: 生成序列分析单元和直接寻址单元;
所述存储模块, 进一步用于向所述生成序列分析单元提供所述生成序列; 所述生成序列分析单元, 用于根据预先设定的码长和码率及子矩阵的维数, 确 定要构造的所述奇偶校验矩阵的行数和列数, 并且将所述奇偶校验矩阵划分为以子 矩阵为单位的阵列: 根据所述行生成器对应的生成序列以及行重确定每个子矩阵中 的第一行元素; 根据所述每个子矩阵的第一行元素, 得到每个子矩阵中其他行的元 素, 将所得到的已确定第一行元素的每一行子矩阵发送给所述直接寻址单元;
所述直接寻址单元, 用于根据所述每一个子矩阵的第一行元素、 釆用直接寻址 的方式得到所述每一个子矩阵, 所述每一个子矩阵构成所述奇偶校验矩阵, 将所述 奇偶校验矩阵发送给所述码字生成模块。
20. 如权利要求 19所述的装置, 其特征在于, 所述直接寻址单元釆用的所述直 接寻址方式具体为:
取第 + 1个生成序列 的第■ 个元素 生成第 z' + l行、 第" + 1列子矩阵
其 中 , 所 述 子 矩 阵 4,B = [¾J,0≤/ < ;0≤w < t 的 第 一 行
["。,。,"。, · · ·,"。,— = ["。," · · ·,"— J中, 只有第 mod( xS- i,t)+i 个位置为 1 , 其余 t - 1 个位置皆为 0; 根据第 一行 产 生整个矩阵 计算方法如下 第第第第第第第第第第第第第第第第
¾ m ^ τ ί十十^i Ϊ,
Figure imgf000042_0001
^ 的零矩阵;
<p
其中, 所 列
n = floor ·
Figure imgf000042_0002
P表示子行生成器的个数;
表示行生成序列的标号;
'表示行生成序列中元素的序号;
Ζ'·表示第 i个行生成序列中元素的个数;
t表示维数。
21. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 1344, 所述码率为 1/2, 所述行重为 7时, 所述行生成器由生成序列表示, 所述存储模块保 存的所述生成序列如下所示:
156, 326, 342, 444, 575, 898, 1005;
55, 85, 167, 486, 617, 1047, 1307;
410, 821, 873, 927, 982, 1106, 1191;
10, 61, 139, 251, 468, 773, 915;
52, 103, 324, 400, 612, 743, 792;
26, 70, 145, 195, 502, 718, 1108;
31, 68, 112, 187, 544, 578, 1313;
73, 110, 229, 307, 337, 681, 1192;
18, 196, 271, 379, 806, 1168, 1267;
60, 121, 262, 391, 421, 548, 1088;
25, 163, 355, 433, 652, 712, 1067;
96, 144, 505, 618, 632, 1172, 1251;
5, 109, 138, 186, 320, 517, 846;
35, 47, 151, 228, 671, 716, 1256;
0, 89, 270, 367, 713, 1032, 1298;
20, 42, 119, 131, 235, 264, 956;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <16 ); 16行子矩阵, 每行子矩阵中子矩阵的个数为 32;
所述子矩阵为 42行 42列的方阵;
所述奇偶校验矩阵中包含 112个置换单位矩阵。
22. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 1344, 所述码率为 5/8, 所述行重为 10时, 所述行生成器由生成序列表示, 所述存储模块 保存的所述生成序列如下所示:
第一行: 265, 295, 377, 408, 422, 544, 578, 696, 722, 1176;
第二行: 122, 201, 244, 279, 307, 337, 450, 464, 885, 1295; 第三行: 164, 243, 321, 349, 379, 461, 492, 916, 927, 1015;
第四行: 120, 262, 363, 391, 421, 503, 548, 720, 765, 958;
第五行: 8, 185, 280, 304, 355, 576, 712, 762, 1190, 1229;
第六行: 24, 50, 204, 278, 322, 447, 618, 804, 1042, 1108;
第七行: 66, 283, 320, 364, 388, 439, 660, 899, 1257, 1313;
第八行: 134, 289, 325, 406, 430, 531, 838, 1004, 1137, 1316;
第九行: 150, 214, 367, 404, 448, 523, 601, 880, 983, 1073;
第十行: 40, 90, 264, 409, 615, 643, 786, 862, 1088, 1276;
第十一行: 277, 306, 354, 415, 532, 607, 657, 685, 828, 1130; 第十二行: 64, 319, 348, 396, 457, 493, 574, 727, 870, 1172;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <12 ); 12行子矩阵, 每行子矩阵中子矩阵的个数为 32;
所述子矩阵为 42行 X 42列的方阵;
所述奇偶校验矩阵中包含 120个置换单位矩阵。
23. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 1344, 所述码率为 3/4, 所述行重为 15时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行: 3, 91, 140, 223, 253, 335, 366, 502, 536, 680, 718, 785, 1089, 1103, 1253;
第二行: 34, 165, 237, 265, 295, 377, 408, 422, 544, 594, 899, 989, 1106, 1295, 1307;
第三行: 76, 87, 279, 337, 419, 450, 464, 586, 681, 764, 918, 1004, 1031, 1066, 1145;
第四行: 207, 220, 271, 321, 379, 568, 628, 662, 806, 960, 1053, 1099, 1148, 1187, 1302;
第五行: 238, 262, 313, 363, 391, 503, 534, 548, 720, 765, 822, 848, 953, 1025, 1173;
第六行: 80, 236, 280, 304 , 355, 405, 433, 463, 576, 590, 652, 890, 928, 1044, 1232;
第七行: 36, 159, 171, 241 , 278, 322, 346, 397, 447, 475, 505, 632, 754, 849, 1274;
第八行: 78, 101, 202, 247 , 320, 364, 388, 439, 517, 547, 674, 830, 846, 974, 1192;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <8 );
8行子矩阵, 每行子矩阵中子矩阵的个数为 32;
所述子矩阵为 42行 X 42列的方阵;
所述奇偶校验矩阵中包含 120个置换单位矩阵。
24. 如权利要求 17至 20任一项所述的装置,其特征在于,当所所述码长为 1344, 所述码率为 7/8, 所述行重为 28时, 所述行生成器由生成序列表示, 所述存储模块 保存的所述生成序列如下所示:
第一行: 55, 85, 167, 198, 212, 274, 334, 368, 384, 429, 486, 512, 550, 617, 666, 689, 752, 779, 874, 885, 940, 973, 1047, 1064, 1103, 1149, 1253, 1265; 第二行: 20, 69, 97, 127, 209, 240, 254, 316, 376, 410, 426, 471, 528,
554,第第第第第第第第第 592, 659, 708, 731, 794, 821, 873, 927, 982, 1015, 1089, 1145, 1191, 1307; 五八二三七一九六四
第三行: 15, 61, 111, 139, 169, 251, 282, 296, 358, 418, 452, 468, 513, 570, 596, 634, 701, 750, 773, 836, 863, 915, 969, 1131, 1148, 1187, 1238, 1260;
第四行: 11, 52, 103, 153, 181, 211, 293, 324, 338, 400, 460, 494, 510,
555, 612, 638, 676, 743, 792, 815, 905, 957, 1011, 1066, 1099, 1190, 1233, 1302;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <4 );
4行子矩阵, 每行子矩阵中子矩阵的个数为 32;
所述子矩阵为 42行 X 42列的方阵;
所述奇偶校验矩阵中包含 112个置换单位矩阵。
25. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 2688, 所述码率为 1/2, 所述行重为 7时, 所述行生成器由生成序列表示, 所述存储模块保 存的所述生成序列如下所示:
第一行 417, 582 1113, 1518, 2328, 2388, 2544;
第二行 112, 343, 529, 607, 844, 1405, 1861;
第三行 61, 176, 302, 393, 455, 641, 2054;
第四行 259, 414 505, 753, 918, 1706, 2166;
第五行 248, 371 526, 943, 1030, 1257, 1680;
第六行 91, 328, 483, 729, 1292, 1792, 2390;
第七行 440, 595 841, 1561, 1613, 1904, 2502;
第八行 265, 434 552, 707, 1279, 1547, 2302;
第九行 22, 273, 377, 546, 1127, 1659, 2645;
第十行 134, 283 489, 808, 931, 1949, 2077;
第十一行: 256, 497, 770, 888, 920, 1198, 1351;
第十二行: 278, 368, 1032, 1155, 1401, 2173, 2602;
12行子矩阵, 每行子矩阵中子矩阵的个数为 24;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 84个置换单位矩阵。
26. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 2688, 所述码率为 5/8, 所述行重为 10时, 所述行生成器由生成序列表示, 所述存储模块 保存的所述生成序列如下所示:
7, 193, 271, 358, 508, 941, 1069, 1232, 1830, 2544;
57, 119, 305, 383, 470, 875, 1482, 1630, 1710, 1861;
78, 169, 231, , 417, 582, 732, 987, 1456, 1594, 2427;
35, 190, 281, , 343, 529, 607, 1099, 1405, 1520, 2085;
24, 147, 302, , 393, 641, 806, 1211, 1680, 2197, 2278;
104, 136, 259, 414, 1145, 1323, 1449, 1744, 2309, 2646; 98, 216, 248, 371, 526, 943, 1257, 1904, 2190, 2502;
41, 210, 328, 360, 729, 1055, 1142, 1673, 2382, 2614;
49, 153, 322, 440, 595, 750, 841, 1404, 1965, 2080; 其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( o≤ <9 );
9行子矩阵, 每行子矩阵中子矩阵的个数为 24;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 90个置换单位矩阵。
27. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 2688, 所述码率为 3/4, 所述行重为 15时, 所述行生成器由生成序列表示, 所述存储模块 保存的所述生成序列如下所示:
第一行: 62, 293, 374, 514, 679, 865, 943, 1030, 1180, 1257, 1435, 1613, 1904, 2203, 2388;
第二行: 26, 626, 729, 791, 977, 1055, 1142, 1292, 1369, 1547, 1725, 1853, 1968, 2016, 2500;
第三行: 138, 598, 750, 841, 903, 1089, 1167, 1404, 1659, 1785, 1837, 1965, 2080, 2310, 2552;
第四行: 112, 398, 707, 862, 953, 1015, 1201, 1279, 1366, 1516, 1593, 1897, 1949, 2306, 2664;
第五行: 61, 176, 224, 362, 510, 590, 696, 819, 974, 1065, 1127, 1478, 1628, 1705, 2197;
第六行: 288, 474, 776, 808, 931, 1086, 1177, 1239, 1503, 1740, 1817, 2121, 2158, 2390, 2646;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <6);
6行子矩阵, 每行子矩阵中子矩阵的个数为 24;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 90个置换单位矩阵。
28. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 2688, 所述码率为 7/8, 所述行重为 21时, 所述行生成器由生成序列表示, 所述存储模块 保存的所述生成序列如下所示:
第一行: 7, 193, 271, 358, 508, 585, 763, 889, 941, 1069, 1184, 1232, 1370, 1518, 1598, 1749, 1830, 1970, 2086, 2203, 2544;
第二行: 57, 119, 305, 383, 470, 620, 697, 875, 1001, 1053 , 1181, 1296, 1344, 1482, 1630, 1861, 1942, 2198, 2315, 2440, 2500;
第三行: 78, 169, 231, 417, 495, 582, 732, 809, 987, 1113 , 1165, 1293, 1408, 1456, 1594, 1742, 1822, 2054, 2194, 2310, 2612;
第四行: 35, 190, 281, 343, 529, 607, 694, 844, 921, 1099 , 1225, 1277, 1405, 1520, 1568, 1706, 1934, 2085, 2306, 2422, 2664;
4行子矩阵, 所行子矩阵中子矩阵的个数为 24;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 84个置换单位矩阵。
29. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 5376, 所述码率为 1/2, 所述行重为 7时, 所述行生成器由生成序列表示, 所述生成序列如 下所示:
第一行: 147, 281, 1109, 1381, 2089, 4658, 5232;
第二行: 98, 607, 826, 1108, 1813, 2024, 4398;
第三行: 1220, 1333, 1605, 2406, 3031, 4661, 4998; 第四行: 248, 526, 1445, 1906, 2238, 2248, 4854;
第五行: 880, 968, 1092, 1162, 1557, 2149, 3494;
第六行: 322, 718, 827, 992, 1080, 1274, 4317;
第七行: 434, 1316, 1668, 3048, 3214, 3305, 5109;
第八行: 377, 765, 815, 1216, 2354, 3417, 3743;
第九行: 1163, 1610, 1686, 1892, 2005, 2466, 3591;
第十行: 658, 1039, 1166, 1275, 2117, 2808, 3967;
第十一行: 1101, 1151, 2501, 2682, 2985, 4079, 4571;
第十二行: 796, 1019, 1213, 2341, 2613, 3083, 3865;
第十三行: 502, 706, 908, 1325, 1776, 2802, 4795;
第十四行: 37, 818, 991, 1020, 1487, 2933, 5213;
第十五行: 614, 930, 1300, 1835, 3682, 4764, 5325;
第十六行: 357, 558, 946, 1244, 2394, 2676, 4953;
第十七行: 751, 886, 1356, 1773, 1823, 2059, 2949;
第十八行: 100, 764, 1468, 2336, 3321, 4168, 4537;
第十九行: 213, 876, 975, 1378, 1580, 2730, 3433;
第二十行: 688, 835, 988, 1692, 2159, 2560, 2772;
第二十一行: 783, 1199, 1334, 2760, 3750, 4081, 4472;
第二十二行: 912, 1311, 1504, 1916, 2884, 3952, 4193;
第二十三行: 699, 1024, 1171, 1999, 2196, 5097, 5345;
第二十四行: 184, 771, 3221, 3474, 3816, 4315, 4840;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <24 );
24行子矩阵, 每行子矩阵中子矩阵的个数为 48;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 168个置换单位矩阵。
30. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 5376, 所述码率为 5/8, 所述行重为 10时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行: 60, 773, 981, 1045, 1226, 1234, 1576, 1846, 2969, 4437; 第二行: 22, 566, 772, 1093, 2048, 2289, 3329, 3984, 4318, 5344;
第三行: 315, 408, 532, 678, 1977, 2070, 2505, 2792, 3494, 4742;
第四行: 432, 520, 714, 790, 996, 1570, 2936, 3214, 3305, 3367;
第五行: 826, 1221, 1429, 1493, 1674, 2024, 2201, 3016, 4654, 5222; 第六行: 382, 491, 744, 868, 938, 1786, 2313, 4137, 4189, 4997;
第七行: 119, 367, 603, 1126, 1445, 1470, 2238, 2747, 3395, 4301; 第八行: 479, 715, 968, 1444, 1557, 1765, 2350, 3234, 3830, 4413; 第九行: 347, 1080, 1204, 1877, 1941, 2130, 2472, 2832, 4653, 4816; 第十行: 459, 653, 703, 830, 939, 1462, 3662, 3703, 4585, 4765;
第十一行: 302, 571, 942, 1216, 1428, 1918, 3056, 3195, 3815, 5040; 第十二行: 431, 628, 877, 1054, 1163, 1328, 1686, 2458, 3307, 5290; 第十三行: 210, 370, 543, 572, 740, 1039, 1166, 2389, 2570, 4973; 第十四行: 153, 386, 655, 907, 1101, 2682, 2821, 3998, 4907, 5085; 第十五行: 498, 796, 1213, 1263, 1664, 2613, 3531, 3625, 4110, 4527; 第十六行: 438, 879, 908, 1076, 1864, 2453, 2661, 3045, 4222, 5257; 第十七行: 550, 608, 818, 1020, 1188, 1243, 2773, 2837, 3368, 3526; 第十八行: 8, 527, 662, 720, 834, 930, 1103, 3130, 3616, 3745;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <18 );
18行子矩阵, 每行子矩阵中子矩阵的个数为 48;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 180个置换单位矩阵。
31. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 5376, 所述码率为 3/4, 所述行重为 15时, 所述行生成器由生成序列表示, 所述生成序列 如下所示:
第一行 0, 181, 342, 661, 686, 869, 933, 1963, 2919, 3105, 3183, 3270, 4398, 4518 5076;
第二行 64, 308, 378, 660, 773, 1365, 2177, 2450, 2568, 2723, 2878, 3532, 4144 4770, 5344
第三行 296, 490, 566, 772, 885, 1477, 1678, 1688, 2562, 2680, 3721, 4077, 4256 4661, 5240;
第四行 320, 532, 602, 884, 997, 1022, 1450, 1458, 1589, 1790, 1800, 3193, 4011 4205, 4854;
第五行 267, 432, 644, 714, 790, 1134, 1317, 1381, 1562, 1902, 2089, 3367, 3868 4506, 4966;
第六行 379, 544, 632, 826, 902, 1246, 1674, 1682, 2014, 2294, 2729, 2898, 3016 3048, 4846;
第七行 382, 491, 656, 744, 868, 1014, 2126, 2136, 2313, 2406, 2496, 3438, 3942 4361, 4730;
第八行 60, 157, 317, 367, 494, 768, 856, 1050, 1126, 1906, 2608, 3641, 3889, 4054 4990;
第九行 235, 429, 479, 606, 715, 1162, 1238, 1444, 1557, 1582, 1765, 3352, 3507 3662, 5102;
第十行 292, 347, 541, 827, 1080, 1204, 1274, 2742, 2832, 3464, 3774, 3927, 4316 5214, 5294
第十一行: 236, 459, 703, 939, 1806, 2053, 2234, 2242, 3083, 3185, 3576, 3608, 3886, 4428, 4697;
第十二行: 319, 348, 516, 571, 765, 815, 1893, 1918, 2354, 2686, 2966, 3297, 3720, 4089, 4225;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <12 );
12行子矩阵, 所行子矩阵中子矩阵的个数为 48;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 180个置换单位矩阵。
32. 如权利要求 17至 20任一项所述的装置, 其特征在于, 当所述码长为 5376, 所述码率为 7/8, 所述行重为 28时, 所述行生成器由生成序列表示, 所述存储模块 保存的所述生成序列如下所示:
第一行: 70, 154, 230, 436, 549, 574, 757, 821, 1002, 1010, 1141, 1342, 1352, 1953, 2226, 2499, 2745, 2807, 2993, 3071, 3308, 3563, 3869, 4398, 4549, 4770, 4891, 5232;
第二行: 196, 266, 342, 548, 661, 686, 869, 1122, 1253, 1464, 1824, 1963, 2065, 2338, 2456, 2611, 2766, 2857, 3105, 3183, 3675, 3801, 3981, 4096, 4430, 4510, 4661, 5003;
第三行: 184, 308, 378, 454, 660, 773, 798, 981, 1226, 1753, 1846, 1936, 2075, 2450, 2568, 2878, 2969, 3217, 3295, 3382, 3532, 3609, 3787, 4093, 4208, 4542, 4773, 4882;
第四行: 208, 296, 420, 490, 566, 772, 885, 910, 1093, 1157, 1346, 1477, 1678, 1688, 1865, 2187, 2680, 2990, 3081, 3494, 4077, 4320, 4368, 4654, 4734, 4994, 5110, 5352;
第五行: 30, 155, 320, 408, 532, 602, 678, 884, 1022, 1269, 1450, 1458, 1589, 2160, 2299, 2792, 3193, 3255, 3441, 3756, 3833, 4011, 4189, 4317, 4618, 4885, 4966, 5106;
第六行: 62, 158, 267, 432, 520, 644, 714, 790, 996, 1109, 1317, 1381, 1570, 1701, 2089, 2272, 2411, 2513, 2617, 3367, 3631, 3868, 3945, 4249, 4301, 5078, 5218, 5334;
其中, 第 (i+1行)对应第 (i+1)个行生成器的生成序列 ( 0≤ <6);
6行子矩阵, 每行子矩阵中子矩阵的个数为 48;
所述子矩阵为 112行 X 112列的方阵;
所述奇偶校验矩阵中包含 168个置换单位矩阵。
PCT/CN2012/072413 2011-07-06 2012-03-16 一种用于数据传输的方法及装置 WO2013004090A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201280012767.5A CN104106230B (zh) 2011-07-06 2012-03-16 一种用于数据传输的方法及装置
KR1020147002998A KR101862812B1 (ko) 2011-07-06 2012-03-16 데이터전송 방법 및 장치
DK12808016.5T DK2755340T3 (da) 2011-07-06 2012-03-16 Fremgangsmåde og indretning til at transmittere data
EP12808016.5A EP2755340B1 (en) 2011-07-06 2012-03-16 Method and device for transmitting data
US14/130,965 US9411676B2 (en) 2011-07-06 2012-03-16 Method and device for transmitting data
JP2014517401A JP6089031B2 (ja) 2011-07-06 2012-03-16 データを伝送する方法及びその装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN201110189200 2011-07-06
CN201110189200.2 2011-07-06
CN201110260661.4 2011-09-05
CN2011102606614A CN102868483A (zh) 2011-07-06 2011-09-05 一种用于数据传输的方法及装置
CN201210033174.9 2012-02-14
CN2012100331749A CN102739350A (zh) 2011-07-06 2012-02-14 一种用于数据传输的方法及装置

Publications (1)

Publication Number Publication Date
WO2013004090A1 true WO2013004090A1 (zh) 2013-01-10

Family

ID=47436484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/072413 WO2013004090A1 (zh) 2011-07-06 2012-03-16 一种用于数据传输的方法及装置

Country Status (1)

Country Link
WO (1) WO2013004090A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960188A (zh) * 2006-04-29 2007-05-09 北京泰美世纪科技有限公司 构造低密度奇偶校验码的方法、译码方法及其传输***
CN101047391A (zh) * 2006-04-27 2007-10-03 华为技术有限公司 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
EP2178213A1 (en) * 2008-10-16 2010-04-21 Thomson Licensing Methods and apparatuses for error correction coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047391A (zh) * 2006-04-27 2007-10-03 华为技术有限公司 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
CN1960188A (zh) * 2006-04-29 2007-05-09 北京泰美世纪科技有限公司 构造低密度奇偶校验码的方法、译码方法及其传输***
EP2178213A1 (en) * 2008-10-16 2010-04-21 Thomson Licensing Methods and apparatuses for error correction coding

Similar Documents

Publication Publication Date Title
JP5231453B2 (ja) 可変サイズのパケットのldpc符号化及び復号化
WO2013004078A1 (zh) 一种用于数据传输的方法及装置
KR101611169B1 (ko) 통신/방송 시스템에서 데이터 송수신 장치 및 방법
JP4688841B2 (ja) 符号化器及び復号器、並びに送信装置及び受信装置
EP3008826A1 (en) Method and apparatus for encoding and decoding low density parity check
EP2510623A2 (en) Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
JP2014523168A5 (zh)
KR102325951B1 (ko) 송신 장치 및 그의 쇼트닝 방법
KR102326036B1 (ko) 송신 장치 및 그의 쇼트닝 방법
KR102329573B1 (ko) 송신 장치 및 그의 신호 처리 방법
WO2013004090A1 (zh) 一种用于数据传输的方法及装置
KR20140145977A (ko) 패리티 검사 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
KR102198773B1 (ko) 송신 장치 및 그의 펑처링 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12808016

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014517401

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20147002998

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14130965

Country of ref document: US