WO2018219001A1 - Ldpc码校验矩阵的构造方法和设备 - Google Patents

Ldpc码校验矩阵的构造方法和设备 Download PDF

Info

Publication number
WO2018219001A1
WO2018219001A1 PCT/CN2018/077448 CN2018077448W WO2018219001A1 WO 2018219001 A1 WO2018219001 A1 WO 2018219001A1 CN 2018077448 W CN2018077448 W CN 2018077448W WO 2018219001 A1 WO2018219001 A1 WO 2018219001A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
cyclic coefficient
coefficient matrix
partial
base
Prior art date
Application number
PCT/CN2018/077448
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
Application filed by 电信科学技术研究院有限公司 filed Critical 电信科学技术研究院有限公司
Publication of WO2018219001A1 publication Critical patent/WO2018219001A1/zh

Links

Images

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/1157Low-density generator matrices [LDGM]
    • 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

Definitions

  • the present application relates to a 5G channel coding technique, and in particular, to a method and a device for constructing an LDPC code check matrix.
  • the 5th Generation mobile communication technology has become a hot spot for global R&D. .
  • the data channel of the Enhanced Mobile Broadband (eMBB) scenario is determined by the Low Density Parity Check Code (LDPC) code instead of the Long Term Evolution (Long Term). Evolution, LTE) Turbo code used.
  • LDPC Low Density Parity Check Code
  • 5G new air interface defines three typical application scenarios: enhanced mobile broadband service (eMBB, enhanced mobile broadband), mass machine type communication (mMTC) and low-latency high-reliability communication (Ultra-Reliable and Low Latency Communications) , URLLC).
  • eMBB enhanced mobile broadband service
  • mMTC mass machine type communication
  • URLLC low-latency high-reliability communication
  • the LDPC code has been selected as the coding scheme for the data channel in the 5G eMBB scenario.
  • the check matrix H of the quasi-cyclic LDPC code can generally be represented as an array as follows:
  • each matrix A i,j is a cyclic matrix of size Z ⁇ Z.
  • these cyclic matrices must be sparse.
  • a cyclic matrix with a weight of 1 is the most common, that is, there is only one non-zero element per row or column in the circular matrix.
  • the transmitting end needs to encode the information sequence packet to be transmitted by the check matrix, and the receiving end also needs to perform decoding based on the check matrix.
  • the design process of quasi-cyclic LDPC codes involves three important concepts: circular permutation matrix (CPM), base graph and base matrix.
  • a method for constructing a quasi-cyclic LDPC code proposed in 2003 is: first construct a base matrix B of size ⁇ ⁇ c, for example:
  • the fundamental mode diagram of the quasi-cyclic LDPC code is a matrix of the same size as the base matrix, and the elements are not 0 or 1: "1" indicates that the shift value of the corresponding position of the base matrix is not equal to -1; "0" indicates the corresponding position of the base matrix.
  • the shift value is -1.
  • the base mode of the base matrix in the above example is:
  • each non-"-1" element in the base matrix B is expanded into a cyclic permutation matrix of size Z x Z
  • the "-1" element is expanded into an all-zero matrix of size Z x Z.
  • P i represents a Z ⁇ Z cyclic permutation matrix, also called a sub-circle matrix of the base matrix, and i is called a shift value of P i .
  • P 0 is a unit matrix
  • each cyclic permutation matrix P i is actually obtained by right shifting i bits of the unit array cycle.
  • Z P i there are Z P i , i.e., i ⁇ ⁇ 0, 1, 2, ..., Z-1 ⁇ .
  • Each P i (0 ⁇ i ⁇ Z) is used to spread an element of the base matrix B with a value of i.
  • the major challenge in the design of LDPC codes in 5G data channels is that 3GPP requires that the LDPC code designed by the LDPC code supports a minimum information sequence length of 40 and a maximum of 8192; and requires different lengths of information sequences to support multiple types.
  • the LDPC code is a linear block code. Given a message sequence length and a code rate, it corresponds to a check matrix. Therefore, the 5G LDPC code design requires designing a plurality of check matrices.
  • the design goal of the LDPC code in the 5G data channel is that the designed LDPC code can maintain excellent performance in the range of information sequence lengths of tens to 8192 and the code rate range of 8/9 to 1/3. Therefore, it is necessary to design a plurality of check matrices corresponding to the sub-matrices composed of different number of rows and different number of columns on the base matrix B and the cyclic coefficients of the sub-matrices.
  • the code rate range of the designed LDPC code meets the lower code rate requirement ( ⁇ 1/3), for example, 1/5, that is, the design needs to be 42 ⁇ 52 size, and the number of information bits is kb.
  • a base matrix of 10 to generate a check matrix.
  • the fundamental mode is different from the base matrix.
  • the elements in the fundamental mode are not 0 or 1 and the check matrix is obtained by expanding the elements in the base matrix using CPM. That is to say, according to the fundamental mode, it can only be known whether the CPM or the all-zero matrix is used for expansion, without knowing the specific form of the CPM, that is, the size and the shift value.
  • the low bit rate ( ⁇ 1/3) portion of the LDPC code has high design flexibility, and the LDPC code is difficult to ensure excellent performance in the code rate range.
  • the embodiment of the present application provides a method and a device for constructing an LDPC code check matrix. It is used to find a set of LDPC code design methods that support multiple code rates and multiple information sequence lengths with low storage complexity.
  • a method for constructing an LDPC code check matrix includes:
  • the check matrix is used to encode and decode the information sequence.
  • the method before determining the cyclic coefficient corresponding to each non-zero element in the basic model based on the constructed original cyclic coefficient matrix, the method further includes:
  • the modulo Z operation is performed on the original cyclic coefficient matrix by using a spreading factor, where Z is a value of the spreading factor.
  • determining a cyclic coefficient corresponding to each non-zero element in the basic mode including:
  • a corresponding base matrix is obtained based on the replaced partial cyclic coefficient matrix, wherein each non-marking element in the base matrix is a cyclic coefficient corresponding to a non-zero element of a corresponding row and column position in the base mode.
  • the partial cyclic coefficient matrix of the corresponding row number is selected from the constructed original cyclic coefficient matrix and the elements are complemented, including:
  • the specified elements are added after the partial cyclic coefficient matrix, and a matrix of the same size as the basic pattern is obtained as a supplemental partial cyclic coefficient matrix.
  • the corresponding base matrix is obtained based on the replaced partial cyclic coefficient matrix, including:
  • the replacement diagonal matrix of the preset double diagonal structure is used to replace the double diagonal region in the replaced partial cyclic coefficient matrix, and the replaced partial cyclic coefficient matrix is used as the base matrix.
  • determining a partial fundamental mode to be used based on the specified code rate and the basic mode, and using a cyclic permutation matrix determined by the expansion factor, and a loop corresponding to the non-zero element in the partial basic mode The coefficients are expanded to obtain the corresponding check matrix, including:
  • the following operations are performed: determining a corresponding cyclic permutation matrix according to the value of one element, and expanding the one element into the cyclic permutation matrix.
  • the value of the A is smaller than the value of the B, and the value of B is at most 5.
  • Each of the obtained check matrices is used to encode the sequence of information to be transmitted according to the corresponding code rate, and to decode the received information separately.
  • a communication device for constructing an LDPC code check matrix includes:
  • a first processing unit configured to generate a corresponding basic mode map based on the preset number of information bit columns and a preset base mode size; and all rows corresponding to the low code rate portion in the basic mode image, the row weight ⁇ is satisfied
  • Setting range: A ⁇ B, A and B are preset parameters
  • a second processing unit configured to determine a loop coefficient corresponding to each non-zero element in the basic pattern based on the constructed original cyclic coefficient matrix
  • a third processing unit configured to determine a partial fundamental mode to be used based on the specified code rate and the basic mode, and a cyclic permutation matrix determined based on a spreading factor, and a non-zero element in the partial basic mode
  • the corresponding cyclic coefficients are extended to obtain a corresponding check matrix, which is used to encode and decode the information sequence.
  • the second processing unit is further configured to:
  • the modulo Z operation is performed on the original cyclic coefficient matrix by using a spreading factor, where Z is a value of the spreading factor.
  • the second processing unit when determining a cyclic coefficient corresponding to each non-zero element in the basic mode graph based on the constructed original cyclic coefficient matrix, is configured to:
  • a corresponding base matrix is obtained based on the replaced partial cyclic coefficient matrix, wherein each non-marking element in the base matrix is a cyclic coefficient corresponding to a non-zero element of a corresponding row and column position in the base mode.
  • the second processing unit is configured to:
  • the specified elements are added after the partial cyclic coefficient matrix, and a matrix of the same size as the basic pattern is obtained as a supplemental partial cyclic coefficient matrix.
  • the second processing unit is configured to:
  • the replacement diagonal matrix of the preset double diagonal structure is used to replace the double diagonal region in the replaced partial cyclic coefficient matrix, and the replaced partial cyclic coefficient matrix is used as the base matrix.
  • the third processing unit determines a partial fundamental mode to be used based on the specified code rate and the basic mode, and using a cyclic permutation matrix determined by the expansion factor, and a loop corresponding to the non-zero element in the partial basic mode
  • the third processing unit is used to:
  • the following operations are performed: determining a corresponding cyclic permutation matrix according to the value of one element, and expanding the one element into the cyclic permutation matrix.
  • the value of the A is smaller than the value of the B, and the value of B is at most 5.
  • the communication unit is configured to use each of the obtained check matrices, encode the information sequence to be transmitted according to the corresponding code rate, and decode the received information separately.
  • an embodiment of the present application provides a communications device, including:
  • a processor for reading a program in the memory performing the following process:
  • the check matrix is used to encode and decode the information sequence
  • the transceiver is configured to receive and transmit data under the control of the processor, and encode and decode the information sequence by using a check matrix.
  • the processor is further configured to: before determining a cyclic coefficient corresponding to each non-zero element in the basic mode map, based on the constructed original cyclic coefficient matrix:
  • the modulo Z operation is performed on the original cyclic coefficient matrix by using a spreading factor, where Z is a value of the spreading factor.
  • the processor when determining a cyclic coefficient corresponding to each non-zero element in the basic mode graph based on the constructed original cyclic coefficient matrix, the processor is configured to:
  • a corresponding base matrix is obtained based on the replaced partial cyclic coefficient matrix, wherein each non-marking element in the base matrix is a cyclic coefficient corresponding to a non-zero element of a corresponding row and column position in the base mode.
  • the processor is configured to:
  • the specified elements are added after the partial cyclic coefficient matrix, and a matrix of the same size as the basic pattern is obtained as a supplemental partial cyclic coefficient matrix.
  • the processor when the corresponding base matrix is obtained based on the replaced partial cyclic coefficient matrix, the processor is configured to:
  • the replacement diagonal matrix of the preset double diagonal structure is used to replace the double diagonal region in the replaced partial cyclic coefficient matrix, and the replaced partial cyclic coefficient matrix is used as the base matrix.
  • the processor determines a partial fundamental mode to be used based on the specified code rate and the basic mode, and using a cyclic permutation matrix determined by the expansion factor, and a loop corresponding to the non-zero element in the partial basic mode
  • the processor is used to:
  • the following operations are performed: determining a corresponding cyclic permutation matrix according to the value of one element, and expanding the one element into the cyclic permutation matrix.
  • the value of the A is smaller than the value of the B, and the value of B is at most 5.
  • the transceiver is configured to use each of the obtained check matrixes, encode the information sequence to be transmitted according to the corresponding code rate, and decode the received information separately.
  • a cache synchronization abnormal device readable storage medium provided by an embodiment of the present application includes program code, where the program code is used to enable the computing device to execute the foregoing when the program code is run on a computing device The steps of any of the methods of the first aspect.
  • FIG. 1 is a flow chart of constructing a check matrix in an embodiment of the present application
  • FIG. 2 is a schematic diagram of a basic mode diagram in an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a matrix of original cyclic coefficients in an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a matrix of original cyclic coefficients after modulo Z operation in the embodiment of the present application
  • FIG. 5 is a schematic diagram of a portion of a base matrix in an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a positive example of a base matrix of 42*52 in the embodiment of the present application.
  • FIG. 7 is a schematic diagram showing a reverse example of a base matrix of 42*52 in the embodiment of the present application.
  • FIG. 8 is a schematic diagram of a simulation effect in an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a first function of a communication device according to an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a second utility structure of a communication device according to an embodiment of the present application.
  • a low code rate ( ⁇ 1/3) portion is adopted.
  • the line weight ⁇ satisfies the basic model of the set range A ⁇ ⁇ ⁇ B, and then obtains the base matrix based on the original mode and the constructed original cyclic coefficient matrix, and finally, according to each of the specified code rates, respectively from the base matrix
  • the corresponding sub-matrix is truncated to the corresponding check matrix.
  • CPM cyclic permutation matrix
  • Step 100 Generate a corresponding base mode map based on the preset number of information bit columns and the size of the preset base mode map (ie, the set number of rows and columns), wherein the corresponding low bit rate portion in the base mode map is generated.
  • the row weight ⁇ satisfies the set range: A ⁇ ⁇ ⁇ B; where A and B are preset parameters.
  • the line weight ⁇ of the low code rate portion ie, the number of 1 elements in each line
  • the low code rate part refers to the part of the code rate ⁇ 1/3.
  • other code rate parts may be referred to, and details are not described herein again.
  • the 5G LDPC code design requirement must support incremental redundancy automatic request retransmission (IR-HARQ). Therefore, the LDPC code for the 5G scenario is constructed by using the incremental redundancy method. First, construct a high-rate LDPC. The code then generates more parity bits in an incrementally redundant manner, resulting in a lower code rate LDPC code.
  • the LDPC code constructed based on the incremental redundancy method has the advantages of excellent performance, wide code length and code rate coverage, high multiplexing degree, easy hardware implementation, and can be directly encoded by the check matrix.
  • a lower code rate can be realized by adding a portion having a row number of 22 to 41 and a column number of 32 to 51.
  • Step 110 Construct a matrix of original cyclic coefficients based on a preset manner, wherein the number of rows of the original cyclic coefficient matrix is not less than the number of rows of the basic mode (ie, Mz), and the number of columns is equal to the number of columns of the basic mode (ie, Nz) Subtract the number of columns of the all-zero matrix in the upper right corner of the fundamental mode.
  • the value of the element in the original cyclic coefficient matrix may be greater than the preset spreading factor. For example, suppose a matrix of original cyclic coefficients is shown in Figure 3.
  • Step 120 Calculate the expansion factor Z according to the length of the information sequence to be transmitted and the number of information bit columns.
  • Step 130 Perform a modulo Z operation on the original cyclic coefficient matrix by using a spreading factor Z.
  • the original cyclic coefficient matrix obtained after the modulo Z operation is the same as the original cyclic coefficient matrix without the modulo Z operation.
  • Step 130 is performed to convert each element in the original cyclic coefficient matrix into a non-negative integer smaller than the expansion factor Z, so as to extend the base matrix based on the cyclic permutation matrix of the Z ⁇ Z size, because Z ⁇ Z
  • the maximum value of the shift value i of the cyclic permutation matrix P i of the size is Z-1.
  • the step 130 may not be performed, and details are not described herein again.
  • Step 140 Select a partial cyclic coefficient matrix of the corresponding row number from the matrix of the cyclic coefficients obtained after the modulo Z operation based on the size of the above-mentioned basic pattern, and perform element complementation.
  • the partial cyclic coefficient matrix of the corresponding row number is selected in the original cyclic coefficient matrix according to the number of rows of the basic pattern (ie, Mz), it is not necessary to continuously select, but may be arbitrarily selected, and only the number of rows to be selected is consistent with the base.
  • the number of lines of the pattern can be Mz, and will not be described here.
  • the partial cyclic coefficient matrix formed by the selected Mz rows does not satisfy the column number requirement, and the number of columns is equal to the number of columns of the basic mode diagram minus the number of columns of the all-zero matrix in the upper right corner of the fundamental mode diagram, and therefore, only corresponds to The first kb+4 column of the base matrix to be designed.
  • the elements in the back (Nz-kb-4) column of the base matrix of the 5G LDPC code are fixed, so it is necessary to add the designation according to the size of the basic pattern, and further to the partial cyclic coefficient matrix of the selected Mz line.
  • the element is obtained as a matrix having the same size as the base matrix (also the same as the size of the base pattern). In this embodiment, it is referred to as a supplemental partial cyclic coefficient matrix for ease of understanding.
  • B' is the complemented partial cyclic coefficient matrix
  • U is the partial cyclic coefficient matrix of the Mz row selected from the cyclic coefficient matrix after the modulo Z operation
  • V is a full-1 matrix
  • W is a diagonal element 0, the remaining elements are square matrix of -1.
  • Step 150 Replace the elements of the corresponding row and column positions in the supplemental partial cyclic coefficient matrix with the marker elements not counting the row weights based on the row and column positions of each 0 element in the above-mentioned basic pattern (eg, -1 ).
  • each element in the basic pattern corresponds to one row in the partial cyclic coefficient matrix. , the elements with the same column position. Since the line weight ⁇ of the low code rate portion in the fundamental mode diagram conforms to A ⁇ ⁇ ⁇ B (for example, 3 ⁇ ⁇ ⁇ 5), then the row weight ⁇ ' of the replaced partial cyclic coefficient matrix also conforms to A ⁇ ⁇ ⁇ B At the same time, the size of the partial cyclic coefficient matrix after replacement is also the same as the size of the base matrix to be designed.
  • the row weight ⁇ ' represents the number of non-1 elements in a row.
  • -1 represents the number of non-1 elements in a row.
  • Step 160 Replace the double diagonal region in the replaced partial cyclic coefficient matrix by using a preset double diagonal structure permutation matrix, and use the replaced partial cyclic coefficient matrix as the base matrix.
  • the permutation matrix can be (for example only):
  • the double diagonal structure means that the element marked with an underline in the matrix takes a value of zero.
  • the double diagonal region generally refers to a portion of the base matrix having line numbers 0 to 3 and column numbers 10 to 13.
  • Step 170 Determine a cyclic permutation matrix to be used based on the spreading factor, and intercept the corresponding sub-matrix from the base matrix based on the specified code rate, and expand the sub-matrix into a corresponding check matrix by using the cyclic permutation matrix.
  • the check matrix is used to encode the sequence of information to be transmitted.
  • a code rate (hereinafter referred to as a code rate R) is taken as an example to introduce a check matrix.
  • the generation process is as follows:
  • the corresponding sub-matrices are intercepted from the base matrix (i.e., the base matrix corresponding to the information length K).
  • the truncated submatrix is the portion of the upper left corner 22*32 in the base matrix.
  • the intercepted sub-matrix is a portion of the upper left corner 42*52 of the base matrix (in this embodiment, the sub-matrix of 42*52 is actually all of the base matrix).
  • each of the above-mentioned sub-matrices (eg, -1) is expanded to an all-zero matrix of Z*Z, where Z represents an expansion factor.
  • each of the zero elements in the sub-matrix is expanded to the unit matrix of Z*Z.
  • the following operations are performed: according to the value of an element and the unit matrix (the element value is the cyclic shift label i), the corresponding The cyclic permutation matrix expands one of the above elements into the above-described cyclic permutation matrix.
  • one element in a partial base matrix has a value of 1, it is obtained based on the unit matrix.
  • the above technical solution may be performed by the transmitting end of the information, or may be performed by the receiving end of the information.
  • the transmitting end can respectively encode the information sequence to be transmitted by using the check matrix corresponding to each code rate, and send the encoded information to the receiving end, and the receiving end is After receiving the information, the received information may be decoded by using a check matrix corresponding to each code rate. In this way, based on the same fundamental mode, the construction of LDPC codes supporting different code rates is realized, and the implementation complexity is not increased.
  • the line weight ⁇ ′ of the low code rate ( ⁇ 1/3) portion of the fundamental mode satisfies: 3 ⁇ ′ ⁇ 5
  • the simulation condition is: orthogonal Quadrature Phase Shift Keyin (QPSK) modulation, Additive White Gaussian Noise (AWGN) channel, decoding using Belief Propagation (BP) decoding algorithm, maximum iteration number (Max Ite) ) is 50 times.
  • QPSK Quadrature Phase Shift Keyin
  • AWGN Additive White Gaussian Noise
  • BP Belief Propagation
  • Max Ite maximum iteration number
  • the maximum line weight ⁇ ' of the low code rate portion is only increased to 6, and the transmission performance (ie, the frame error rate and the signal-to-noise ratio) is significantly deteriorated.
  • the value of B is greater than 5, and only under the simulation condition, determining the value of the line weight ⁇ ' may ensure the transmission performance.
  • the first two columns of the low code rate portion since the first two columns of the low code rate portion generally satisfy the column orthogonal characteristics, and at least one column in the first two columns is ensured in order to ensure effective transmission of information during decoding iteration.
  • the column weight of the base matrix refers to the number of non-1 elements contained in one column
  • the lower right part of the 5G LDPC code base matrix is a unit matrix, therefore, from FIG. 4
  • step 140 and step 150 since the base matrix is based on the partial cyclic coefficient matrix after intercepting and performing element complementation, the row and column positions of each 0 element in the reference base mode map will be supplemented.
  • the elements of the corresponding row and column positions in the partial cyclic coefficient matrix are replaced by the mark elements (eg, -1) that are not counted in the row weight, and in the base mode diagram, the row weight ⁇ represents the ones contained in one row of elements.
  • B the value of B is greater than 5
  • determining the value of the line weight ⁇ may ensure the transmission performance.
  • each non-marking element in the base matrix is a cyclic coefficient corresponding to a non-zero element of a corresponding row and column position in the basic pattern.
  • the most important one is the design of the basic mode, and only the line weight setting of the low code rate part of the basic mode is required to be accurate, and whether or not the base matrix is used, the required understanding can be obtained.
  • the matrix is not described here.
  • a communication device for constructing an LDPC code check matrix includes at least a first processing unit 91, a second processing unit 92, and a third processing unit 93. ,among them,
  • the first processing unit 91 is configured to generate a corresponding basic mode map according to the preset information bit column number and the preset basic mode size; all rows corresponding to the low code rate portion in the basic mode image, the row weight ⁇ Satisfy the setting range: A ⁇ B, A, B are preset parameters;
  • a second processing unit 92 configured to determine, according to the constructed original cyclic coefficient matrix, a cyclic coefficient corresponding to each non-zero element in the basic pattern
  • a third processing unit 93 configured to determine, according to the specified code rate and the basic mode map, a partial base mode to be used, and a cyclic permutation matrix determined by using a spreading factor, where the partial basic mode is non-zero
  • the cyclic coefficients corresponding to the elements are expanded to obtain a corresponding check matrix, which is used to encode and decode the information sequence.
  • the second processing unit 92 is further configured to:
  • the modulo Z operation is performed on the original cyclic coefficient matrix by using a spreading factor, where Z is a value of the spreading factor.
  • the second processing unit 92 when determining a cyclic coefficient corresponding to each non-zero element in the basic pattern based on the constructed original cyclic coefficient matrix, is configured to:
  • a corresponding base matrix is obtained based on the replaced partial cyclic coefficient matrix, wherein each non-marking element in the base matrix is a cyclic coefficient corresponding to a non-zero element of a corresponding row and column position in the base mode.
  • the second processing unit 92 is configured to:
  • the specified elements are added after the partial cyclic coefficient matrix, and a matrix of the same size as the basic pattern is obtained as a supplemental partial cyclic coefficient matrix.
  • the second processing unit 92 is configured to:
  • the replacement diagonal matrix of the preset double diagonal structure is used to replace the double diagonal region in the replaced partial cyclic coefficient matrix, and the replaced partial cyclic coefficient matrix is used as the base matrix.
  • the third processing unit 93 is configured to:
  • the following operations are performed: determining a corresponding cyclic permutation matrix according to the value of one element, and expanding the one element into the cyclic permutation matrix.
  • the value of the A is smaller than the value of the B, and the value of B is at most 5.
  • the communication unit 94 is configured to use each of the obtained check matrices to encode the information sequence to be transmitted according to the corresponding code rate, and separately decode the received information.
  • an embodiment of the present application provides a communications device, including:
  • the processor 1000 is configured to read a program in the memory and perform the following process:
  • the check matrix is used to encode and decode the information sequence
  • the transceiver 1010 is configured to receive and transmit data under the control of the processor 1000, and encode and decode the information sequence by using a check matrix.
  • the processor 1000 is further configured to:
  • the modulo Z operation is performed on the original cyclic coefficient matrix by using a spreading factor, where Z is a value of the spreading factor.
  • the processor 1000 when determining a cyclic coefficient corresponding to each non-zero element in the basic mode graph based on the constructed original cyclic coefficient matrix, the processor 1000 is configured to:
  • a corresponding base matrix is obtained based on the replaced partial cyclic coefficient matrix, wherein each non-marking element in the base matrix is a cyclic coefficient corresponding to a non-zero element of a corresponding row and column position in the base mode.
  • the processor 1000 is configured to:
  • the specified elements are added after the partial cyclic coefficient matrix, and a matrix of the same size as the basic pattern is obtained as a supplemental partial cyclic coefficient matrix.
  • the processor 1000 when the corresponding base matrix is obtained based on the replaced partial cyclic coefficient matrix, the processor 1000 is configured to:
  • the replacement diagonal matrix of the preset double diagonal structure is used to replace the double diagonal region in the replaced partial cyclic coefficient matrix, and the replaced partial cyclic coefficient matrix is used as the base matrix.
  • the processor 1000 is configured to:
  • the following operations are performed: determining a corresponding cyclic permutation matrix according to the value of one element, and expanding the one element into the cyclic permutation matrix.
  • the value of the A is smaller than the value of the B, and the value of B is at most 5.
  • the transceiver 1010 is configured to use each of the obtained check matrices to encode the information sequence to be transmitted according to the corresponding code rate, and separately decode the received information.
  • the bus architecture may include any number of interconnected buses and bridges, specifically linked by one or more processors represented by processor 1000 and various circuits of memory represented by the memory.
  • the bus architecture can also link various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and, therefore, will not be further described herein.
  • the bus interface provides an interface.
  • the transceiver 1010 can be a plurality of components, including a transmitter and a receiver, providing means for communicating with various other devices on a transmission medium.
  • the user interface may also be an interface capable of externally connecting the required devices, including but not limited to a keypad, a display, a speaker, a microphone, a joystick, and the like.
  • the processor 1000 is responsible for managing the bus architecture and the usual processing, and the memory can store data used by the processor 1000 in performing operations.
  • the embodiment of the present application provides a readable storage medium, which is a non-volatile storage medium, including program code, when the program code is run on a computing device, the program code is used to make the The computing device performs the actions of the communication device described above.
  • the transmission performance of the check matrix obtained according to the cyclic coefficient corresponding to the fundamental mode map in the application process is ensured.
  • the row and column positions of the elements that do not calculate the row weight are replaced by the elements of the corresponding row and column positions in the complemented partial loop coefficient matrix, and the required elements are not included in the row weight, thereby obtaining the desired basis.
  • the matrix determines a cyclic permutation matrix to be used based on the spreading factor, and intercepts the corresponding sub-matrix from the base matrix based on the specified code rate, and then expands the sub-matrix into a corresponding check matrix by using the cyclic conversion matrix.
  • a cyclic permutation matrix to be used based on the spreading factor, and intercepts the corresponding sub-matrix from the base matrix based on the specified code rate, and then expands the sub-matrix into a corresponding check matrix by using the cyclic conversion matrix.
  • This design scheme is simple and easy to implement, does not increase storage complexity and does not increase subsequent operation and maintenance costs. At the same time, it can effectively support multiple bit rates and support information bit length in the information transmission process, thereby maximizing Limit the system transmission performance.
  • embodiments of the present application can be provided as a method, system, or computer program product.
  • the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment in combination of software and hardware.
  • the application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请涉及5G信道编码技术,特别涉及LDPC码校验矩阵的构造方法和设备,用于提高系统传输性能。该方法为:生成低码率部分的行重满足预设范围的基模图,再基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵。这样,便通过在设计的基模图中限定低码率部分的行重,保证了根据基模图对应的循环系数获得的校验矩阵在应用过程中的传输性能。这种设计方案简单易实现,不会增加存储复杂度也不会增加后续的运维成本,同时,又能在信息传输过程中,有效地支持多种码率以及支持信息比特长度,从而在最大限度上提高系统传输性能。

Description

LDPC码校验矩阵的构造方法和设备
本申请要求在2017年5月31日提交中国专利局、申请号为201710401669.5、申请名称为“LDPC码校验矩阵的构造方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及5G信道编码技术,特别涉及LDPC码校验矩阵的构造方法和设备。
背景技术
目前,随着第四代移动通信技术(the 4th Generation mobile communication technology,4G)进入规模商用阶段,面向未来的第五代移动通信技术(the 5th Generation mobile communication technology,5G)已成为全球研发的热点。
5G新空口(New radio,NR)设计中,增强移动宽带业务(enhanced Mobile Broadband,eMBB)场景的数据信道决定采用低密度校验(Low Density Parity Check Code,LDPC)码代替原长期演进(Long Term Evolution,LTE)采用的Turbo码。
5G新空口定义了三种典型应用场景:增强移动宽带业务(eMBB,enhanced Mobile Broadband),大规模机器通信(massive Machine Type Communications,mMTC)和低时延高可靠通信(Ultra-Reliable and Low Latency Communications,URLLC)。LDPC码已被遴选为5G eMBB场景中数据信道的编码方案。
针对5G eMBB场景中LDPC码的设计,当前第三代合作伙伴计划(3GPP)已经达成了很多重要共识。
首先5G LDPC码要求采用准循环LDPC码。准循环LDPC码的校验矩阵H通常可以表示为如下阵列:
Figure PCTCN2018077448-appb-000001
其中,每个矩阵A i,j都是大小为Z×Z的循环矩阵。对于这种LDPC码,这些循环矩阵必须是稀疏的。事实上,重量为1的循环矩阵最为常见,也就是说,循环矩阵中的每行或每列只有一个非零元素。如果将校验矩阵H的行数和列数分别记为M=ρZ和N=cZ的话,待传输的信息序列分组长度则为K=N-M。发送端需要用校验矩阵对待传输的信息序列分组进行编码,而接收端也需要基于校验矩阵进行译码。准循环LDPC码的设计过程涉及三个重要概念:循环置换矩阵(Circular permutation matrix,CPM)、基模图(Base graph)和基矩阵。
准循环LDPC码的构造方法有很多种。2003年提出的一种构造准循环LDPC码的方法为:首先构造一个大小为ρ×c的基矩阵B,例如:
Figure PCTCN2018077448-appb-000002
准循环LDPC码的基模图是与基矩阵大小相同的矩阵,元素非0即1的:“1”表示基矩阵相应位置的移位值不等于-1;“0”则表示基矩阵相应位置的移位值为-1。例如,上述例子中基矩阵的基模图为:
Figure PCTCN2018077448-appb-000003
然后,将基矩阵B中的每个非“-1”元素扩展成大小为Z×Z的循环置换矩阵,将“-1”元素则扩展成大小为Z×Z的全零矩阵。假设采用P i表示一个Z×Z的循环置换矩阵,也称为基矩阵的子循环矩阵,i则称为P i的移位值。例如:
Figure PCTCN2018077448-appb-000004
以Z=8为例:
Figure PCTCN2018077448-appb-000005
可以看出,P 0为单位阵,每个循环置换矩阵P i实际上是由单位阵循环右移i位得到。而且,对于一个给定的Z,共有Z个P i,即i∈{0,1,2,…,Z-1}。每个P i(0≤i<Z)用于对基矩阵B中取值为i的元素进行扩展。
这样,可以根据不同的码率,截取基矩阵B的不同部分扩展为相应的校验矩阵,其中,最大可以得到一个(ρZ)×(cZ)的检验矩阵;从而可以根据获得的不同检验矩阵,在不同码率下对待传输的信息序列进行编解码。
5G数据信道中LDPC码的设计面临的重大挑战是:3GPP要求所设计的LDPC码支持的可传输信息的信息序列长度最小为40、最大为8192;而且要求不同的信息序列长度均能够支持多种码率,如,从最高码率R=8/9到最低码率R=1/3或1/5。众所周知,LDPC码是线性分组码,给定信息序列长度和码率,则对应一个校验矩阵,如此看来,5G LDPC码设计需要设计很多校验矩阵。
换言之,5G数据信道中LDPC码的设计目标为:所设计的LDPC码在几十到8192的信息序列长度范围、8/9到1/3的码率范围下都能保持优异的性能。因此,需要设计多个校验矩阵,对应于基矩阵B上不同行数和不同列数构成的子矩阵以及子矩阵的循环系数。
显然,找到一套支持多种码率与多种信息序列长度的LDPC码设计方法是非常困难的。
随着会议的推进,3GPP进一步要求所设计的LDPC码的码率范围满足更低码率要求(<1/3),如,1/5,即需要设计42×52大小、信息位列数kb=10的基矩阵来生成校验矩阵。基模图与基矩阵不同,基模图中的元素非0即1而校验矩阵是通过采用CPM对基矩阵中的元素进行扩展得到的。也就是说,根据基模图仅能获知采用CPM还是全零矩阵进行扩展,而不知道CPM的具体形式,即大小以及移位值。
综上所述,现有技术下,LDPC码的低码率(<1/3)部分具有高设计灵活性,且LDPC码在该码率范围很难保证性能优异。
因此,找到一套支持多种码率与多种信息比特长度,并且低码率(<1/3)部分满足相应的LDPC码设计准则的设计方案仍是亟待解决的问题。
发明内容
本申请实施例提供一种LDPC码校验矩阵的构造方法和设备。用以找到一套支持多种码率与多种信息序列长度且存储复杂度低的LDPC码设计方法。
本申请实施例提供的具体技术方案如下:
第一方面,本申请实施例提供的LDPC码校验矩阵的构造方法,包括:
基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,进一步包括:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数,包括:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充,包括:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵,包括:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对 应的循环系数进行扩展得到相应的的校验矩阵,包括:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
第二方面,本申请实施例提供的构造LDPC码校验矩阵的通信设备,包括:
第一处理单元,用于基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
第二处理单元,用于基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
第三处理单元,用于基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,所述第二处理单元进一步用于:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,所述第二处理单元用于:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,所述第二处理单元用于:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵时,所述第二处理单元用于:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及 采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,所述第三处理单元用于:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
通信单元,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
第三方面,本申请实施例提供了一种通信设备,包括:
处理器,用于读取存储器中的程序,执行下列过程:
基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码;
收发机,用于在处理器的控制下接收和发送数据,并采用校验矩阵对信息序列进行编解码。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,处理器进一步用于:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,处理器用于:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,处理器用于:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵时,处理器用于:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双 对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,处理器用于:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
收发机,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
第四方面,本申请实施例提供的一种缓存同步异常设备可读存储介质,包括程序代码,当所述程序代码在计算设备上运行时,所述程序代码用于使所述计算设备执行上述第一方面任一所述方法的步骤。
本申请实施例中,生成低码率部分的行重满足预设范围的基模图,并基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数,再基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵。这样,便通过在设计的基模图中限定低码率部分的行重,保证了根据基模图对应的循环系数获得的校验矩阵在应用过程中的传输性能。这种设计方案简单易实现,不会增加存储复杂度也不会增加后续的运维成本,同时,又能在信息传输过程中,有效地支持多 种码率以及支持信息比特长度,从而在最大限度上提高系统传输性能。
附图说明
图1为本申请实施例中构造校验矩阵流程图;
图2为本申请实施例中基模图示意图;
图3为本申请实施例中原始循环系数矩阵示意图;
图4为本申请实施例中经模Z操作后的原始循环系数矩阵示意图;
图5为本申请实施例中基矩阵部分示意图;
图6为本申请实施例中42*52的基矩阵的正例示意图;
图7为本申请实施例中42*52的基矩阵的反例示意图;
图8为本申请实施例中仿真效果示意图;
图9为本申请实施例中通信装置第一功能结构示意图;
图10为本申请实施例中通信装置第二功用结构示意图。
具体实施方式
为了找到一套支持多种码率与多种信息序列长度且存储复杂度低的LDPC码设计方法,本申请实施例中,采用了以下设计方案:先生成低码率(<1/3)部分的行重ω满足设定范围A≤ω≤B的基模图,再基于基模图和构造的原始循环系数矩阵获得基矩阵,最后,按照指定的每一种码率,分别从基矩阵中截取相应的子矩阵扩展为对应的校验矩阵。
基于基模图中预设的信息位列数以及预设的基模图的大小,生成相应的基模图,接着,基于得到的基模图,从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵(注:不要求连续选);其中,所述原始循环系数矩阵的行数不少于所述基模图的行数,所述原始循环系数矩阵的列数等于所述基模图的列数减去所述基模图中右上角全零矩阵的列数(注:5G LDPC码基模图的右上角为全零矩阵、右下角为单位阵),且每个元素是小于扩展因子的非负整数;
基于所述基模图中每一个0元素的行、列位置,将所述部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素(如,-1),并基于替换后的部分循环系数矩阵获得基矩阵;
基于扩展因子确定所用到的循环置换矩阵(即CPM)及其大小,基于给定的码率,从基矩阵中截取相应的子矩阵扩展为对应的校验矩阵,所述校验矩阵用于对待传输的信息序列进行编解码。
下面结合附图对本申请优选的实施方式进行详细说明。
参阅图1所示,本申请实施例中,构造LDPC码校验矩阵的详细流程如下:
步骤100:基于预设的信息位列数以及预设的基模图的大小(即设定的行数和列数),生成相应的基模图,其中,基模图中对应低码率部分的所有行中,行重ω满足设定范围:A≤ω≤B;其中,A、B为预设参数。
例如,参阅图2所示,设计一个信息位列数kb=10、大小为42×52的基模图,其低码率部分的行重ω(即每行中1元素的个数)满足:3≤ω≤5,本申请实施例部分,低码率部分指码率<1/3的部分,其他应用场景中,有可能指其他码率部分,在此不再赘述。
现有技术下,5G LDPC码设计要求必须支持递增冗余自动请求重传(IR-HARQ),故当前主要采用递增冗余的方法构造针对5G场景的LDPC码:首先构造一个高码率的LDPC码,然后采用递增冗余的方式产生更多校验位,进而得到更低码率的LDPC码。基于递增冗余方法构造的LDPC码具有性能优异、码长和码率覆盖范围广、复用度高、易于硬件实现、可以直接用校验矩阵进行编码等优点。
进一步地,基于LDPC的定义,在校验矩阵中,矩阵列数(N)与矩阵行数(M)之差等于信道中实际传输的信息比特个数(K),即K=N-M,而由于基模图是用于生成校验矩阵的基础,因此,也需要遵循这一原则,具体的kb(基模图中信息位列数)=Nz(基模图的列数)-Mz(基模图的行数),其中,K=Kb*Z,N=Nz*Z,M=Mz*Z,Z为扩展因子。
基于上述特点,在图2所示的基模图中,在前22行、前32列的基础上,通过增加行号为22~41、列号为32~51的部分可以实现更低码率。这是因为,码率=Kb/N'=(Nz-Mz)/N',其中,N'=Nz-2,这是因为发送端不发送基模图前两列对应的编码比特,所以真正传输的码字序列长度为N'*Z。因此,假设Nz=17,Mz=7,则码率=10/15=2/3,而假设Nz=32,Mz=22,则码率=10/30=1/3。随着行数的增加,码率会越来越低,而超过22行之后,码率将降到1/3以下。
步骤110:基于预设方式,构造原始循环系数矩阵,其中,原始循环系数矩阵的行数不少于基模图的行数(即Mz),列数等于基模图的列数(即Nz)减去基模图右上角全零矩阵的列数。
原始循环系数矩阵中的元素的取值可以大于预设的扩展因子。例如,假设一个原始循环系数矩阵如图3所示。
步骤120:根据待传输的信息序列长度以及上述信息位列数计算得到扩展因子Z。
例如,假设待传输的信息序列长度K=1280,那么,扩展因子Z=K/kb=128。
当然,步骤120也可以放置在步骤100之前执行,即一开始便确定待传输的信息序列长度K=1280,以及扩展因子Z=128。
本实施例中的步骤执行顺序仅为举例。
步骤130:采用扩展因子Z,对上述原始循环系数矩阵进行模Z操作。
具体的,经模Z操作后得到的原始循环系数矩阵与未经模Z操作的原始循环系数矩阵的大小相同。
本实施例中,也可以将经过模Z操作后得到的的循环系数矩阵称为与K=1280、Z=128对应的特定循环系数矩阵。
例如,以上述原始循环系数矩阵为例,采用Z=128进行模Z操作后,得到的特定循环系数矩阵如图4所示。
之所以执行步骤130,是为了将原始循环系数矩阵中的各个元素转换为小于扩展因子Z的非负整数,以便于后续基于Z×Z大小的循环置换矩阵对基矩 阵进行扩展,因为Z×Z大小的循环置换矩阵P i的移位值i的最大取值为Z-1。而实际应用中,假如在设计原始循环系数矩阵时,已将其中各个元素的取值设置为小于Z的非负整数,则也可以不执行步骤130,在此不再赘述。
步骤140:基于上述基模图的大小,从经过模Z操作后得到的循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充。
具体的,可以根据基模图的行数(即Mz)在原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,无需连续选取,而是可以任意选取,只需要选取的行数目符合基模图的行数Mz即可,在此不再赘述。
其中,已选取的Mz行构成的部分循环系数矩阵并不满足列数要求,其列数等于基模图的列数减去基模图中右上角全零矩阵的列数,因此,只对应于待设计的基矩阵的前kb+4列。
而5G LDPC码的基矩阵中后(Nz-kb-4)列中的元素是固定,因而需要按照基模图的大小,进一步地,在已选取的Mz行的部分循环系数矩阵的后面补充指定元素,从而获得与基矩阵大小一样(也与基模图大小一样)的矩阵,本实施例中,为了便于理解,称其为补充后的部分循环系数矩阵。
具体的,只需要作如下处理:
Figure PCTCN2018077448-appb-000006
其中,B’为补充后的部分循环系数矩阵,U为从经模Z操作后的循环系数矩阵中选取的Mz行的部分循环系数矩阵,V是全-1矩阵,W是对角线元素为0、其余元素为-1的方阵。
步骤150:基于上述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素(如,-1)。
具体的,由于在步骤140中得到的补充后的部分循环系数矩阵的行数和列数与基模图相同,因此,基模图中的每一个元素,在部分循环系数矩阵中 均对应一个行、列位置相同的元素。由于基模图中低码率部分的行重ω符合A≤ω≤B(如,3≤ω≤5),那么,替换后的部分循环系数矩阵的行重ω'也符合A≤ω≤B,而同时,替换后的部分循环系数矩阵的大小与待设计的基矩阵大小也相同。
例如,基模图中第1行第2列的元素取值为0,那么,需要将补充后的部分循环系数矩阵中第1行第2列的元素的取值替换为-1。本实施例中的部分特征移位矩阵中,行重ω'表示一行中非-1元素的个数,当然,将-1作为不计入行重的标记元素仅为举例,实际应用中也可以设置为其他取值,在此不再赘述。
步骤160:采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,置换矩阵可以为(仅为举例):
Figure PCTCN2018077448-appb-000007
其中,双对角结构是指矩阵中标注下划线的元素取值为零。
本实施例中,所谓双对角区域,通常情况下是指基矩阵中行号0~3、列号10~13的部分。之所以需要对这部分元素进行转换是因为:信息分组只是对应基模图的前Kb=10列,而取前4行扩展为校验矩阵时(即行数为4),相应的列数需要为14列,这样便存在4*Z校验比特需要确定。而因为基矩阵的前4行、前10列中的非-1元素很多,当校验矩阵对应的基矩阵为4*14时,如果将双对角区域置换为双对角结构的置换矩阵的话,则会比较容易计算获得前14列中后4列对应的校验比特。
例如,经过置换后的基矩阵如图3所示,可以记为与K=1280对应的基矩阵B 1280
可以看出,图3所示的基矩阵B 1280中,序号21行(行数22)-序号41行(行数42)中,各行对应的行重ω'均符合3≤ω'≤5。
步骤170:基于扩展因子确定使用的循环置换矩阵,并基于指定的码率从基矩阵中截取相应的子矩阵,以及采用上述循环置换矩阵将所述子矩阵扩展为对应的校验矩阵,其中,校验矩阵用于对待传输的信息序列进行编码。
所谓的单位阵即是指:
Figure PCTCN2018077448-appb-000008
其中,Z为扩展因子。
那么,在执行步骤170时,需要针对指定的每一种码率获得相应的校验矩阵,本申请实施例中,以一种码率(以下称码率R)为例,介绍校验矩阵的生成过程如下:
首先,按照码率R,从基矩阵(即信息长度K对应的基矩阵)中截取相应的子矩阵。
例如,假设码率R为1/3,则截取的子矩阵为基矩阵中左上角22*32的部分。
又例如,假设码率R为1/5,则截取的子矩阵为基矩阵中左上角42*52的部分(本实施例中,42*52的子矩阵实际为基矩阵的全部)。
其次,将上述子矩阵中的每一个标记元素(如,-1),分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子。
再次,将上述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵。
最后,针对上述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值以及单位阵(元素取值即为循环移位标号i),确定相应的循环置换矩阵,将上述一个元素扩展为上述循环置换矩阵。
例如,假设部分基矩阵中的一个元素的取值为1,则基于单位阵获得的
循环置换矩阵为:
Figure PCTCN2018077448-appb-000009
以此类推,由于单位阵为Z*Z,Z=128,且基矩阵中的各个元素的取值均小于128,则通过单位阵的循环移位, 可以对应每一个元素的取值获得相应的循环置换矩阵。
这样,截取的子矩阵中的所有元素便得到了相应的扩展,在全部元素扩展完毕后,便得到了码率R对应的校验矩阵。
当然,上述标记元素、零元素以及除标记元素和零元素之外的其他元素的扩展顺序可以灵活设置,上述介绍流程仅为一种举例。
这样,将根据不同码率截取的子矩阵进行扩展后,便得到了相应码率下可使用的校验矩阵,至此,便完成了LDPC码的构造。
上述技术方案可以由信息的发送端执行,也可以由信息的接收端执行。在获得了支持各种码率的检验矩阵后,发送端便可以分别采用每一种码率对应的检验矩阵对待传输的信息序列进行编码,并向接收端发送编码后的信息,而接收端在接收到信息后,则可以分别采用每一种码率对应的检验矩阵对接收的信息进行解码。这样,便基于同一基模图,实现了支持不同码率的LDPC码的构造,同时又没有增加实现复杂度。
下面采用一个具体的仿真实例对本申请技术方案的实施效果进行介绍。
参阅图6所示,假设kb=10,K=1280,基模图低码率(<1/3)部分的行重ω'满足:3≤ω'≤5,以及假设仿真条件为:正交相移键控(Quadrature Phase Shift Keyin,QPSK)调制,加性白高斯噪声(Additive White Gaussian Noise,AWGN)信道,译码采用置信传播(Belief Propagation,BP)译码算法,最大迭代次数(Max Ite)为50次。
同时,设置了低码率部分(<1/3)符合3≤ω'≤5的42*52的基矩阵(即码率=1/5),具体如图7所示;以及设置了不满足上述约束条件的反例,即低码率部分(<1/3)中部分行的行重ω'符合ω'=6的42*52的基矩阵(即码率=1/5),具体如图5所示,已在图5中使用灰色标注出了相较于图4新增加的元素取值,
那么,参阅图8所示,采用上述仿真条件进行仿真后,低码率部分的最大行重ω'只增加到6,传输性能(即误帧率以及信噪比)就出现了明显恶化。
因此,基矩阵的行重ω'的取值上限B=5。当然,在其他应用场景下,也不排除B的取值大于5,只需要在仿真条件下,确定行重ω'的取值可能保证传输性能即可。
同时,参阅图4所示,在5G LDPC码基矩阵中,由于低码率部分的前两列一般满足列正交特性,并且为了保证译码迭代时信息的有效传递,前两列中至少一列具有高列重,其中,基矩阵的列重即是指一列中包含的非-1元素的个数,而又由于5G LDPC码基矩阵的右下部分是单位阵,因此,从图4中可以看出,本申请实施例中,ω'的取值下限A=3。当然,其他实施例中,也有可能小于3,只需要A不大于B即可。
进一步地,参阅步骤140和步骤150所示,由于基矩阵是在截取及进行元素补充后的部分循环系数矩阵的基础上,参考基模图中每一个0元素的行、列位置将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素(如,-1)后得到的,而在基模图中,行重ω表示的是一行元素中包含的非0元素的数目,因此,在设置基模图时,也必须遵循ω的上限B=5。当然,在其他应用场景下,也不排除B的取值大于5,只需要在仿真条件下,确定行重ω的取值可能保证传输性能即可。
同理,本申请实施例中,ω的取值下限A=3。当然,其他实施例中,也有可能小于3,只需要A不大于B即可。
基于上述实施例,可以看出,虽然本申请实施例中采用了扩展基矩阵的方式来获得校验矩阵,但是本质上还是对基模图的扩展,即上述方案实际上是基于基模图和原始循环系数矩阵,来确定基模图中每一个非0元素对应的循环系数,然后,按照指定的码率从基模图中截取部分基模图(对应一个子矩阵),并采用基于扩展因子获得的循环置换矩阵,对上述部分基模图中每一个非0元素对应的循环系数进行扩展,从而得到指定的码率对应的校验矩阵。其中,基矩阵中的每一个非标记元素即是基模图中相应的行、列位置的非0元素对应的循环系数。
因此,本申请实施例中,最关键的还是基模图的设计,只需要基模图的低码率部分的行重设置的准确,无论是否使用基矩阵,都可以得到所需的理解的校验矩阵,在此不再赘述。
基于上述实施例,参阅图9所示,本申请实施例中,用于构造LDPC码校验矩阵的一种通信设备,至少包括第一处理单元91、第二处理单元92和第三处理单元93,其中,
第一处理单元91,用于基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
第二处理单元92,用于基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
第三处理单元93,用于基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,第二处理单元92进一步用于:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,第二处理单元92用于:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系 数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,第二处理单元92用于:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵时,第二处理单元92用于:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,第三处理单元93用于:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩 展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
通信单元94,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
进一步地,参阅图10所示,本申请实施例提供了一种通信设备,包括:
处理器1000,用于读取存储器中的程序,执行下列过程:
基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对
应的循环系数;
基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码;
收发机1010,用于在处理器1000的控制下接收和发送数据,并采用校验矩阵对信息序列进行编解码。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,处理器1000进一步用于:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,处理器1000用于:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,处理器1000用于:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵时,处理器1000用于:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,处理器1000用于:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其 中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
收发机1010,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
其中,在图10中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1000代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1010可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器1000负责管理总线架构和通常的处理,存储器可以存储处理器1000在执行操作时所使用的数据。
本申请实施例提供一种可读存储介质,该可读存储介质为非易失性存储介质,包括程序代码,当所述程序代码在计算设备上运行时,所述程序代码用于使所述计算设备执行上述通信设备的动作。
本申请实施例中,生成低码率部分的行重满足预设范围的基模图,并基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数,再基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵。这样,便通过在设计的基模图中 限定低码率部分的行重,保证了根据基模图对应的循环系数获得的校验矩阵在应用过程中的传输性能。
具体而言,本申请实施例中,生成低码率部分的行重满足预设范围的基模图,并基于基模图的大小对构造的原始循环系数矩阵进行截取及元素补充,以及基于基模图中每一个不计算行重的元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素,进而获得所需的基矩阵,最后,基于扩展因子确定使用的循环置换矩阵,并基于指定的码率从基矩阵中截取相应的子矩阵,再采用所述循环转换矩阵将所述子矩阵扩展为对应的校验矩阵。这样,便通过在设计的基模图中限定低码率部分的行重,保证了基于基模图生成的基矩阵的行重控制在设定范围内,从而保证了基于基矩阵扩展获得的校验矩阵在应用过程中的传输性能。
这种设计方案简单易实现,不会增加存储复杂度也不会增加后续的运维成本,同时,又能在信息传输过程中,有效地支持多种码率以及支持信息比特长度,从而在最大限度上提高系统传输性能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (25)

  1. 低密度校验LDPC码校验矩阵的构造方法,其特征在于,包括:
    基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
    基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
    基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码。
  2. 如权利要求1所述的方法,其特征在于,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,进一步包括:
    根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
    采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
  3. 如权利要求1所述的方法,其特征在于,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数,包括:
    基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
    基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
    基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
  4. 如权利要求3所述的方法,其特征在于,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充,包括:
    根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
    基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
  5. 如权利要求3所述的方法,其特征在于,基于替换后的部分循环系数矩阵得到相应的基矩阵,包括:
    直接将替换后的部分循环系数矩阵作为基矩阵;或者,
    采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
  6. 如权利要求3-5任一项所述的方法,其特征在于,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,包括:
    按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
    将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
    将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
    针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
  7. 如权利要求1-6任一项所述的方法,其特征在于,所述A的取值小 于所述B的取值,所述B取值最大为5。
  8. 如权利要求1-6任一项所述的方法,其特征在于,进一步包括:
    采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
  9. 一种构造低密度校验LDPC码校验矩阵的通信设备,其特征在于,包括:
    第一处理单元,用于基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
    第二处理单元,用于基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
    第三处理单元,用于基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码。
  10. 如权利要求9所述的通信设备,其特征在于,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,所述第二处理单元进一步用于:
    根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
    采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
  11. 如权利要求9所述的通信设备,其特征在于,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,所述第二处理单元用于:
    基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数 不少于所述基模图的行数;
    基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
    基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
  12. 如权利要求11所述的通信设备,其特征在于,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,所述第二处理单元用于:
    根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
    基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
  13. 如权利要求11所述的通信设备,其特征在于,基于替换后的部分循环系数矩阵得到相应的基矩阵时,所述第二处理单元用于:
    直接将替换后的部分循环系数矩阵作为基矩阵;或者,
    采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
  14. 如权利要求11-13任一项所述的通信设备,其特征在于,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,所述第三处理单元用于:
    按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
    将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其 中,Z表示扩展因子;
    将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
    针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
  15. 如权利要求9-13任一项所述的通信设备,其特征在于,所述A的取值小于所述B的取值,所述B取值最大为5。
  16. 如权利要求9-13任一项所述的通信设备,其特征在于,进一步包括:
    通信单元,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
  17. 一种通信设备,其特征在于,包括:
    处理器,用于读取存储器中的程序,执行下列过程:
    基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
    基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
    基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码;
    收发机,用于在处理器的控制下接收和发送数据,并采用校验矩阵对信息序列进行编解码。
  18. 如权利要求17所述的通信设备,其特征在于,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,处理器 进一步用于:
    根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
    采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
  19. 如权利要求17所述的通信设备,其特征在于,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数,处理器用于:
    基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
    基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
    基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
  20. 如权利要求19所述的通信设备,其特征在于,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充,处理器用于:
    根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
    基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
  21. 如权利要求19所述的通信设备,其特征在于,基于替换后的部分循环系数矩阵得到相应的基矩阵时,处理器用于:
    直接将替换后的部分循环系数矩阵作为基矩阵;或者,
    采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双 对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
  22. 如权利要求19-21任一项所述的通信设备,其特征在于,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,处理器用于:
    按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
    将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
    将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
    针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
  23. 如权利要求17-22任一项所述的通信设备,其特征在于,所述A的取值小于所述B的取值,所述B取值最大为5。
  24. 如权利要求17-22任一项所述的通信设备,其特征在于,所述收发机具体用于:
    采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
  25. 一种缓存同步异常设备可读存储介质,其特征在于,包括程序代码,当所述程序代码在计算设备上运行时,所述程序代码用于使所述计算设备执行权利要求1~8任一所述方法的步骤。
PCT/CN2018/077448 2017-05-31 2018-02-27 Ldpc码校验矩阵的构造方法和设备 WO2018219001A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710401669.5 2017-05-31
CN201710401669.5A CN108988870B (zh) 2017-05-31 2017-05-31 Ldpc码校验矩阵的构造方法

Publications (1)

Publication Number Publication Date
WO2018219001A1 true WO2018219001A1 (zh) 2018-12-06

Family

ID=64454370

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/077448 WO2018219001A1 (zh) 2017-05-31 2018-02-27 Ldpc码校验矩阵的构造方法和设备

Country Status (2)

Country Link
CN (1) CN108988870B (zh)
WO (1) WO2018219001A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11901914B2 (en) 2019-10-30 2024-02-13 Huawei Technologies Co., Ltd. Low-density parity-check (LDPC) encoding method and apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708078B (zh) * 2019-11-08 2023-02-07 西安电子科技大学 基于基模图的全局耦合ldpc码构造方法
CN116054844B (zh) * 2023-01-30 2023-11-03 中国传媒大学 校验矩阵构造方法、系统、电子设备及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228767A1 (en) * 2004-06-24 2009-09-10 Min Seok Oh Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
CN103152056A (zh) * 2013-01-30 2013-06-12 北京大学 一种基于原模图的准循环ldpc码构造方法及装置
CN104333390A (zh) * 2014-11-26 2015-02-04 西安烽火电子科技有限责任公司 一种ldpc码的校验矩阵的构造方法与编码方法
CN105915232A (zh) * 2016-04-08 2016-08-31 西安电子科技大学 一种结构化的多元速率兼容ldpc码构造方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101191196B1 (ko) * 2006-06-07 2012-10-15 엘지전자 주식회사 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228767A1 (en) * 2004-06-24 2009-09-10 Min Seok Oh Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
CN103152056A (zh) * 2013-01-30 2013-06-12 北京大学 一种基于原模图的准循环ldpc码构造方法及装置
CN104333390A (zh) * 2014-11-26 2015-02-04 西安烽火电子科技有限责任公司 一种ldpc码的校验矩阵的构造方法与编码方法
CN105915232A (zh) * 2016-04-08 2016-08-31 西安电子科技大学 一种结构化的多元速率兼容ldpc码构造方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11901914B2 (en) 2019-10-30 2024-02-13 Huawei Technologies Co., Ltd. Low-density parity-check (LDPC) encoding method and apparatus

Also Published As

Publication number Publication date
CN108988870A (zh) 2018-12-11
CN108988870B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
JP6859429B2 (ja) ポーラー符号を使用してデータを符号化するための方法及び装置
KR101270815B1 (ko) 다양한 클래스의 코드들을 인코딩 및 디코딩하는 애플리케이션을 갖는 인-플레이스 변환
CN108988869B (zh) 一种确定校验矩阵的方法及装置、计算机存储介质
WO2017080249A1 (zh) 生成用于在信道中传输的低密度奇偶校验码的方法及设备
US11108411B2 (en) Polar coding with dynamic frozen bits
WO2014122772A1 (ja) 誤り訂正符号の検査行列のデータ構造、並びに誤り訂正符号の符号化率可変装置および可変方法
WO2018219001A1 (zh) Ldpc码校验矩阵的构造方法和设备
JP2008514102A (ja) Ldpcコードを用いた符号化または復号化方法及びその装置
JP2021064962A (ja) 情報処理方法および通信装置
JP2020511051A (ja) データ処理方法およびデバイス
TW201739175A (zh) 低密度奇偶檢查碼之編解碼方法
JP5333233B2 (ja) 復号装置、データ蓄積装置、データ通信システム、および復号方法
JP2019525638A (ja) 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化
JP2021505096A (ja) 低複雑度組織符号化器を用いた送信データの誤り訂正方法及びシステム
CN107733440B (zh) 多边类型结构化ldpc处理方法及装置
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
WO2019001159A1 (zh) 一种编码方法及装置、计算机存储介质
KR101503995B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
CN105556852A (zh) 用于共享公共硬件资源的不同的低密度奇偶校验(ldpc)码的低密度奇偶校验编码
US20240048160A1 (en) Low-density parity-check encoding method, low-density parity-check decoding method, encoding device, decoding device and medium
US10219278B2 (en) Data transmission method and related device
WO2017214851A1 (zh) 一种信号传输的方法、发射端及接收端
CN108988871A (zh) 一种编码方法及装置、计算机存储介质
CN107317587B (zh) 低密度奇偶检查码的编解码方法
WO2018149304A1 (zh) 数据处理方法和装置、数据处理设备及存储介质

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: 18810641

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18810641

Country of ref document: EP

Kind code of ref document: A1