WO2018028469A1 - 一种ldpc编码方法、编码装置及通信设备 - Google Patents

一种ldpc编码方法、编码装置及通信设备 Download PDF

Info

Publication number
WO2018028469A1
WO2018028469A1 PCT/CN2017/095428 CN2017095428W WO2018028469A1 WO 2018028469 A1 WO2018028469 A1 WO 2018028469A1 CN 2017095428 W CN2017095428 W CN 2017095428W WO 2018028469 A1 WO2018028469 A1 WO 2018028469A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
ldpc code
check matrix
code check
sub
Prior art date
Application number
PCT/CN2017/095428
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 WO2018028469A1 publication Critical patent/WO2018028469A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present disclosure relates to the field of communications technologies, and in particular, to an LDPC (Low Density Parity Check Code) encoding method, an encoding apparatus, and a communication device.
  • LDPC Low Density Parity Check Code
  • 5G new radio 5G new air port
  • eMMB Enhanced Mobile Broadband, Enhanced Mobile Broadband
  • mMTC Massive Machine Type Communication
  • URLLC Ultra-reliable and Low Latency Communications
  • the 5G new air interface requires a downlink peak throughput of 20 Gbps for the eMMB scenario.
  • the URLLC scenario places high demands on high reliability, and the mMTC scenario requires high power consumption.
  • the existing LTE (Long Term Evolution) turbo code scheme has lower parallelism, and it is difficult to achieve the 20 Gbps design goal of the eMMB scenario; the error floor of the turbo code is difficult to reach the URLLC scenario.
  • the requirement is that the decoding complexity of the turbo code is not very suitable for the mMTC scene.
  • the LDPC code has similar performance to the turbo code. This has been proven, but the structure of the LDPC code is very suitable for parallel or partial parallel decoding.
  • the turbo code used in the 4G era is very suitable for mobile communication scenarios.
  • the turbo code provides 188 QPP (Secondary Permutation Polynomial) interleaver lengths, as shown in Table 1 below, which can provide a minimum of 8 bits and a maximum of 64.
  • the granularity of the bits which is equivalent to a turbo code that provides 1/3 information bit lengths with a code rate of 1/3, that is, corresponding to 188 code lengths, and is composed of 188 QPP interleaver parameters. Number decision.
  • the 188 code length turbo codes are randomly punctured or repeated to match different TBsize and scheduled different transmission resources, so the flexibility of the turbo code in code length and other candidate schemes Compared with obvious advantages.
  • Table 1 Turbo code internal interleaver parameters (Turbo code internal interleaving parameters)
  • f 1 and f 2 are two parameters that determine the QPP interleaver, which is related to the number K of input bits of the Turbo code QPP interleaver.
  • the LDPC codes used in domestic or international standards are mainly quasi-cyclic LDPC codes.
  • the conclusion of the 3GPP #85 conference is that the LDPC codes of the 5G new air interface also use quasi-cyclic LDPC codes, and the check matrix H can be expressed as follows:
  • a i,j is a z ⁇ z cyclic matrix with a column weight of 0 or 1.
  • the base matrix B can be as follows:
  • each 1 element of the base matrix B is expanded into a z ⁇ z Circular Permutation Matrix (CPM), and the 0 element of the base matrix B is expanded into a z ⁇ z all-zero matrix.
  • CPM Circular Permutation Matrix
  • each z ⁇ z cyclic permutation matrix is denoted by P i , where i is a cyclic shift label.
  • the matrix P is a matrix obtained by moving the unit array (P 0 ) to the right by one bit.
  • the matrix P can be as follows:
  • each cyclic permutation matrix P i is actually shifted by the unit array I by a right shift i, and the cyclic shift label i of the cyclic permutation matrix satisfies 0 ⁇ i ⁇ z,
  • 802.11n takes the size z of the cyclic permutation matrix as 27, 54 and 81, respectively, corresponding to 3 code lengths of 1944, 1296 and 648, respectively.
  • the column weight may be greater than 1, such as a column weight of 2 or greater, and the sub-circulant matrix is no longer a CPM.
  • the rate matching can be obtained by puncturing, or by the check matrix expansion or splitting of the high code rate mother code.
  • These methods can be implemented, according to a code length, a plurality of code rates can be obtained, thereby obtaining a plurality of information bit lengths; or obtaining code words of different code rates according to a fixed number of information bits, of course, because the information bits are fixed, each The code rate corresponds to a fixed code length. Therefore, it can be seen that for LDPC, if you want to process different information bit lengths, one method can be obtained by puncturing a codeword of one code length, but only one code length is punctured to adapt.
  • the existing LDPC coding scheme cannot provide flexible granularity to the code length or information bits like the turbo code, and only a few (or a small number of) code length check matrix can be provided from the implementation point of view.
  • the use of zero-padding for information bits to accommodate different information bit lengths cannot be avoided, which significantly reduces resource utilization and is far less flexible than turbo codes.
  • the present disclosure provides an LDPC encoding method, an encoding apparatus, and a communication device, so as to solve the problem that LDPC codes of different code lengths constructed by the related art need to be separately stored, and when the number is large, the complexity is high and the standardization cannot be performed.
  • an LDPC coding method including acquiring a preset LDPC code check matrix of a first value and a different code length, and the first LDPC code check matrix of different code lengths.
  • the step of generating an LDPC code check matrix of a required code length according to the preset LDPC code check matrix of the first value and different code lengths comprises: different code lengths from the first value In the preset LDPC code check matrix, a preset LDPC code check matrix is selected; and based on the selected preset LDPC code check matrix, an LDPC code check matrix of a desired code length is generated.
  • the LDPC code check matrix of the required code length is generated based on a base matrix and a sub-circulation matrix of the selected preset LDPC code check matrix.
  • the base matrix of the LDPC code check matrix of the required code length is the same as the base matrix used by the selected preset LDPC code check matrix; or the LDPC code check of the required code length
  • the base matrix used by the matrix is a subset of the base matrix used by the selected preset LDPC code check matrix; or the base matrix used by the LDPC code check matrix of the required code length is determined by the selected preset
  • the base matrix of the LDPC code check matrix is extended.
  • the step of generating an LDPC code check matrix of a required code length based on the selected preset LDPC code check matrix includes: selecting a non-zero element of a base matrix of the selected preset LDPC code check matrix
  • the sub-circulant matrix of the prime uses a shortened method to obtain an LDPC code check matrix of the required code length.
  • the sub-circulating matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix adopts a shortening method
  • the step of obtaining the LDPC code check matrix of the required code length comprises: obtaining the selected Presetting the position of the non-zero element in the first row of the non-zero element sub-circular matrix of the base matrix of the parity matrix of the LDPC code check matrix; according to the position of the non-zero element in the first row of the sub-circle matrix and the required
  • the dimension of the sub-circulant matrix of the code length LDPC code check matrix is shortened to the sub-circle matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix, and the LDPC code check of the required code length is generated.
  • a sub-circulant matrix of the matrix; an LDPC code check matrix of a desired code length is generated according to all sub-circulant matrices of the LDPC code check matrix of the required code length.
  • the column of the sub-circular matrix of the non-zero elements of the base matrix of the selected preset LDPC code check matrix is greater than or equal to 1.
  • the column weight of the sub-circular matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix is equal to 1
  • the first of the sub-circulant matrices of the LDPC code check matrix of the required code length is obtained by the following method:
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the first of the sub-circulant matrices of the LDPC code check matrix of the required code length is obtained by the following method:
  • the non-zero element of the base matrix of the selected preset LDPC code check matrix corresponds to a position of a non-zero element of the first row of the sub-circular matrix of z ⁇ z, i, 0 ⁇ i ⁇ z
  • the dimension of the sub-circulant matrix of the LDPC code check matrix of the required code length is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is a remainder function, N is a natural number, and i, j, t, and z are integers.
  • offset is a preset non-negative integer offset value.
  • the step of generating an LDPC code check matrix of a required code length according to the preset LDPC code check matrix of the first value and different code lengths comprises: performing a base matrix of a preset LDPC code check matrix
  • the sub-circulant matrix of non-zero elements adopts an extended method to obtain an LDPC code check matrix of a desired code length.
  • the step of obtaining a LDPC code check matrix of a required code length by using an extended method on the sub-circle matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix includes: obtaining the selected Presetting the position of the non-zero element in the first row of the non-zero element sub-circular matrix of the base matrix of the parity matrix of the LDPC code check matrix; according to the position of the non-zero element in the first row of the sub-circle matrix and the required
  • the dimension of the sub-circulant matrix of the code length LDPC code check matrix is extended to the sub-circle matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix to generate an LDPC code check of the required code length A sub-circulant matrix of the matrix; an LDPC code check matrix of a desired code length is generated according to all sub-circulant matrices of the LDPC code check matrix of the required code length.
  • the column of the sub-circular matrix of the non-zero elements of the base matrix of the selected preset LDPC code check matrix is greater than or equal to 1.
  • the column weight of the sub-circular matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix is equal to 1
  • the first of the sub-circulant matrices of the LDPC code check matrix of the required code length is obtained by the following method:
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the first of the sub-circulant matrices of the LDPC code check matrix of the required code length is obtained by the following method:
  • the non-zero element of the base matrix of the selected preset LDPC code check matrix corresponds to a position of a non-zero element of the first row of the sub-circular matrix of z ⁇ z, i, 0 ⁇ i ⁇ z
  • the dimension of the sub-circulant matrix of the LDPC code check matrix of the required code length is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is a remainder function, N is a natural number, and i, j, t, and z are integers.
  • offset is a preset non-negative integer offset value.
  • the first value is at least two
  • the step of generating an LDPC code check matrix of a required code length based on the selected preset LDPC code check matrix includes: when the LDPC code of the required code length is used When the code length of the check matrix is between the code lengths of two adjacent preset LDPC code check matrices, select the required code length from the adjacent two preset LDPC code check matrices The preset LDPC code check matrix of the code length of the LDPC code check matrix is selected; when the code length of the LDPC code check matrix of the preset LDPC code check matrix is selected to be larger than the code length of the LDPC code check matrix of the required code length, the selected The sub-circulant matrix of the non-zero element of the base matrix of the preset LDPC code check matrix is shortened to obtain an LDPC code check matrix of the required code length; when the code length of the check matrix of the preset LDPC code is selected is less than required When the code length of the code length of the code
  • the present disclosure further provides an LDPC encoding apparatus, including: an obtaining module, configured to acquire a preset LDPC code check matrix of a first value and a different code length, and preset LDPC code check of the first value and different code lengths
  • the matrix belongs to a set of LDPC code check matrices including all available code lengths, wherein the number of LDPC code check matrices in the set is a second value, the first value and the second value are both positive integers, the first value
  • a generating module configured to generate an LDPC code check matrix of a required code length according to the preset LDPC code check matrix of the first value and different code lengths, and the LDPC code of the required code length
  • the check matrix is any LDPC code check matrix except the preset LDPC code check matrix in the set; the coding module is configured to check the LDPC code check matrix based on the required code length, and the information Encode.
  • the generating module includes: a selecting submodule, configured to select a preset LDPC code check matrix from the preset LDPC code check matrix of the first value and different code lengths; and the processing submodule, For generating an LDPC code check of a required code length based on the selected preset LDPC code check matrix matrix.
  • the LDPC code check matrix of the required code length is generated based on a base matrix and a sub-circulation matrix of the selected preset LDPC code check matrix.
  • the base matrix of the LDPC code check matrix of the required code length is the same as the base matrix used by the selected preset LDPC code check matrix; or the LDPC code check of the required code length
  • the base matrix used by the matrix is a subset of the base matrix used by the selected preset LDPC code check matrix; or the base matrix used by the LDPC code check matrix of the required code length is determined by the selected preset
  • the base matrix of the LDPC code check matrix is extended.
  • the processing sub-module is configured to obtain a LDPC code check matrix of a required code length by using a shortening method for the sub-circular matrix of the non-zero elements of the base matrix of the selected preset LDPC code check matrix.
  • the processing sub-module is configured to: acquire a location of a non-zero element in a first row of a non-zero element sub-circulation matrix of a base matrix of the selected preset LDPC code check matrix; according to the sub-loop The position of the non-zero element in the first row of the matrix and the dimension of the sub-circular matrix of the LDPC code check matrix of the desired code length, and the non-zero element of the base matrix of the selected preset LDPC code check matrix The cyclic matrix is shortened to generate a sub-circulant matrix of the LDPC code check matrix of the required code length; and an LDPC code check matrix of a desired code length is generated according to all sub-circulant matrices of the LDPC code check matrix of the required code length.
  • the column of the sub-circular matrix of the non-zero elements of the base matrix of the selected preset LDPC code check matrix is greater than or equal to 1.
  • the column weight of the sub-circular matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix is equal to 1
  • the first of the sub-circulant matrices of the LDPC code check matrix of the required code length is obtained by the following method:
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the first of the sub-circulant matrices of the LDPC code check matrix of the required code length is obtained by the following method:
  • the non-zero element of the base matrix of the selected preset LDPC code check matrix corresponds to a position of a non-zero element of the first row of the sub-circular matrix of z ⁇ z, i, 0 ⁇ i ⁇ z
  • the dimension of the sub-circulant matrix of the LDPC code check matrix of the required code length is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is a remainder function, N is a natural number, and i, j, t, and z are integers.
  • offset is a preset non-negative integer offset value.
  • the processing sub-module is configured to adopt an extended method for a sub-circulant matrix of non-zero elements of a base matrix of a preset LDPC code check matrix to obtain an LDPC code check matrix of a required code length.
  • the processing sub-module is configured to: acquire a location of a non-zero element in a first row of a non-zero element sub-circulation matrix of a base matrix of the selected preset LDPC code check matrix; according to the sub-loop The position of the non-zero element in the first row of the matrix and the dimension of the sub-circular matrix of the LDPC code check matrix of the desired code length, and the non-zero element of the base matrix of the selected preset LDPC code check matrix The cyclic matrix is expanded to generate a sub-circulant matrix of an LDPC code check matrix of a desired code length; and an LDPC code check matrix of a desired code length is generated according to all sub-circulant matrices of the LDPC code check matrix of the required code length.
  • the column of the sub-circular matrix of the non-zero elements of the base matrix of the selected preset LDPC code check matrix is greater than or equal to 1.
  • the column weight of the sub-circular matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix is equal to 1
  • the first of the sub-circulant matrices of the LDPC code check matrix of the required code length is obtained by the following method:
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the first of the sub-circulant matrices of the LDPC code check matrix of the required code length is obtained by the following method:
  • the non-zero element of the base matrix of the selected preset LDPC code check matrix corresponds to a position of a non-zero element of the first row of the sub-circular matrix of z ⁇ z, i, 0 ⁇ i ⁇ z
  • the dimension of the sub-circulant matrix of the LDPC code check matrix of the required code length is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is a remainder function, N is a natural number, and i, j, t, and z are integers.
  • offset is a preset non-negative integer offset value.
  • the processing submodule is configured to: when the code length of the LDPC code check matrix of the required code length is located in the adjacent two preset LDPC code check matrix When the code length is between, the preset LDPC code check matrix closest to the code length of the LDPC code check matrix of the required code length is selected from the adjacent two preset LDPC code check matrices; When the code length of the LDPC code check matrix whose preset LDPC code check matrix is larger than the required code length is taken, the sub-circulation matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix is shortened.
  • the LDPC code check matrix of the required code length is obtained; when the code length of the LDPC code check matrix of the preset LDPC code check matrix is less than the required code length, the selected preset LDPC code is selected.
  • the sub-circulant matrix of the non-zero elements of the base matrix of the check matrix adopts an extended method to obtain an LDPC code check matrix of a desired code length.
  • the present disclosure also provides a communication device including the above LDPC encoding device.
  • the present disclosure also provides a communication device, including: a processor, a memory, and a transceiver; wherein the processor is coupled to the memory for reading a program in the memory, and performing the following process: acquiring a first value of a different code length a low density parity check code LDPC code check matrix, wherein the first LDPC code check matrix of different code lengths belongs to a set of LDPC code check matrices including all available code lengths, and LDPC in the set
  • the number of code check matrices is the second value, the first value sum The second value is a positive integer, and the first value is smaller than the second value; and the LDPC code check matrix of the required code length is generated according to the preset LDPC code check matrix of the first value and different code lengths.
  • the LDPC code check matrix of the required code length is any LDPC code check matrix except the preset LDPC code check matrix in the set; the LDPC code check matrix based on the required code length Encoding the information; the transceiver is coupled to the processor for receiving and transmitting data under the control of the processor.
  • the foregoing technical solutions of the present disclosure have the following advantages: when encoding using the LCPD code, only the first value of the preset LDPC code check matrix needs to be stored, and the preset LDPC code check matrix can be generated according to the first value.
  • the LDPC code check matrix of any available code length can provide flexible code length granularity, and the newly generated LDPC code check matrix does not need to be stored, thereby greatly reducing the storage capacity of the encoding device, excellent performance, and easy standardization. Can fully meet the needs of 5G new air interface scenarios.
  • FIG. 1 is a schematic flowchart diagram of an LDPC encoding method according to some embodiments of the present disclosure
  • FIG. 2 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure
  • FIG. 3 is a schematic flowchart diagram of an LDPC encoding method according to some embodiments of the present disclosure
  • FIG. 4 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure
  • FIG. 5 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure
  • FIG. 6 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure.
  • FIG. 7 is a structural block diagram of an LDPC encoding apparatus according to some embodiments of the present disclosure.
  • FIG. 8 is a structural block diagram of a base station according to some embodiments of the present disclosure.
  • FIG. 9 is a structural block diagram of a terminal according to some embodiments of the present disclosure.
  • FIG. 10 and FIG. 11 are schematic diagrams showing performance of an LDPC encoding method according to an embodiment of the present disclosure.
  • FIG. 1 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure.
  • the LDPC encoding method includes the following steps: Step 101: Obtain a preset LDPC code check matrix with a first value and a different code length.
  • the preset LDPC code check matrix of the first value and different code lengths belongs to a set of LDPC code check matrices including all available code lengths, where the number of LDPC code check matrices in the set is a second value, A value and a second value are both positive integers, and the first value is less than the second value; the first value may be 1 or greater than 1.
  • Step 102 Generate an LDPC code check matrix of a required code length according to the preset LDPC code check matrix of the first value and different code lengths, where the LDPC code check matrix of the required code length is the set. And any LDPC code check matrix except the preset LDPC code check matrix; Step 103: encode the information based on the LDPC code check matrix of the required code length.
  • LDPC code check matrix can provide flexible code length granularity, and the newly generated LDPC code check matrix does not need to be stored, thereby greatly reducing the storage capacity of the encoding device, excellent performance, easy to standardize, and fully satisfying 5G new The need for an air interface scenario.
  • the step of generating an LDPC code check matrix of a required code length according to the preset LDPC code check matrix of the first value and different code lengths includes: Step 1021: From the first value In the preset LDPC code check matrix of different code lengths, a preset LDPC code check matrix is selected; Step 1022: Generate an LDPC code check matrix of the required code length based on the selected preset LDPC code check matrix.
  • the selection criterion for selecting a preset LDPC code check matrix may be: selecting a code length of an LDPC code check matrix with a desired code length from the preset LDPC code check matrix of the first value and different code lengths. The closest preset LDPC code check matrix.
  • the LDPC code check matrix of the required code length is generated based on the base matrix and the sub-circulation matrix of the selected preset LDPC code check matrix.
  • the generated LDPC code check matrix of the required code length is a function of the base matrix and the sub-circulant matrix of the selected preset LDPC code check matrix.
  • the base matrix of the LDPC code check matrix of the required code length may be the same as the base matrix used by the selected preset LDPC code check matrix; or the LDPC code check of the required code length
  • the base matrix used by the matrix may also be a subset of the base matrix used by the selected preset LDPC code check matrix; that is, the non-zero element (1) in the base matrix of the LDPC code check matrix of the required code length
  • the location is a subset of the non-zero element locations in the base matrix of the selected preset LDPC code check matrix.
  • the base matrix used by the LDPC code check matrix of the required code length may also be obtained by extending the base matrix used by the selected preset LDPC code check matrix.
  • the first value preset LDPC code check matrix when the first value of the preset LDPC code check matrix is greater than 1, the first value preset LDPC code check matrix may be divided into multiple groups.
  • the preset LDPC code check matrix may be grouped according to different code rates, and the preset LDPC code check matrix belonging to the same group has the same code rate; or the preset LDPC code check matrix belonging to the same group is composed of the same matrix. Expanded to get.
  • FIG. 2 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure.
  • the LDPC encoding method includes the following steps: Step 201: Acquire a preset LDPC code check matrix with a first value and a different code length.
  • the preset LDPC code check matrix of the first value and different code lengths belongs to a set of LDPC code check matrices including all available code lengths, where the number of LDPC code check matrices in the set is a second value, A value and a second value are both positive integers, and the first value is smaller than the second value;
  • Step 202 Select a preset LDPC code from the preset LDPC code check matrix of the first value and different code lengths Checking matrix;
  • Step 203 Shortening the sub-circulant matrix of the non-zero elements of the base matrix of the selected preset LDPC code check matrix to obtain an LDPC code check matrix of a desired code length.
  • the sub-circular matrix corresponding to each non-zero element (1) in the base matrix of the LDPC code check matrix of the required code length is a non-zero element of the corresponding position in the base matrix of the selected preset LDPC code check matrix.
  • the sub-circulant matrix is obtained by a shortened method.
  • the code length of the obtained LDPC code check matrix of the required code length is smaller than the code length of the selected preset LDPC code check matrix.
  • Step 204 Encode information based on the LDPC code check matrix of the required code length.
  • the non-zero element of the base matrix of the selected preset LDPC code check matrix The sub-circulant matrix adopts a shortened method to obtain an LDPC code check matrix of a desired code length, and the implementation is simple.
  • a plurality of shortening methods may be used to shorten a sub-circulant matrix of a non-zero element of a base matrix of the selected preset LDPC code check matrix, thereby obtaining an LDPC code check matrix of a desired code length.
  • FIG. 3 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure.
  • the LDPC encoding method includes the following steps: Step 301: Acquire a preset LDPC code check matrix with a first value and a different code length.
  • the preset LDPC code check matrix of the first value and different code lengths belongs to a set of LDPC code check matrices including all available code lengths, where the number of LDPC code check matrices in the set is a second value, A value and a second value are both positive integers, and the first value is smaller than the second value;
  • Step 302 Select a preset LDPC code from the preset LDPC code check matrix of the first value and different code lengths a check matrix;
  • step 304 according to the sub-circulant matrix The position of the non-zero element in the first row and the dimension of the sub-circular matrix of the LDPC code check matrix of the required code length, and the sub-circular matrix of the non-zero element of the base matrix of the selected preset LDPC
  • the LDPC code check matrix with a shorter code length is obtained by shortening the sub-circular matrix (CM) of the preset LDPC code check matrix, and the performance is excellent, and the method is simple, and only the preset LDPC needs to be stored.
  • the code check matrix is very conducive to standardization.
  • the column weight of the non-zero element sub-circulation matrix of the base matrix of the selected preset LDPC code check matrix may be equal to 1 or greater than 1.
  • a simple example of the shortening method may be: when the column weight of the non-zero element sub-circulation matrix of the base matrix of the selected preset LDPC code check matrix is equal to 1, the base matrix of the check matrix according to the preset LDPC code may be used.
  • the position j of the zero element can be obtained by the following method:
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the specific execution method of the above embodiment may include the following steps.
  • Step 3051 Perform a row-by-line search on the base matrix of the selected preset LDPC code check matrix, that is, search from the first row to the last row.
  • Step 3052 For each non-zero element of the rth row of the base matrix of the selected preset LDPC code check matrix, construct a non-zero element of the base matrix of the LDPC code check matrix of the required code length according to the following method.
  • Subcirculation matrix For each non-zero element of the rth row of the base matrix of the selected preset LDPC code check matrix, construct a non-zero element of the base matrix of the LDPC code check matrix of the required code length according to the following method.
  • Subcirculation matrix For each non-zero element of the rth row of the base matrix of the selected preset LDPC code check matrix, construct a non-zero element of the base matrix of the LDPC code check matrix of the required code length according to the following method.
  • Subcirculation matrix For each non-zero element of the rth row of the base matrix of the selected preset LDPC code check matrix, construct a non-zero element of the base matrix of the LDPC code check matrix of the required code
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the LDPC code check matrix of the required code length is constructed by using the preset LDPC code check matrix, an additional small amount of auxiliary information is not excluded, for example, the offset indication information (if the offset is a fixed value, No instructions required).
  • the LDPC code check matrix is preset and the LDPC code check matrix of the required code length adopts the same base matrix.
  • the performance requirement such as girth may also be the largest.
  • the criterion is to shorten only some of the non-zero elements in the base matrix of the LDPC code check matrix.
  • the above embodiment only describes the case where the sub-loop matrix corresponding to the preset LDPC code check matrix has a column weight of 1.
  • the above shortening method is also applicable, for example, the above The i is modified to the number of columns in the first row of the first row of the z ⁇ z sub-circular matrix, and the sub-circulant matrix of t ⁇ t can be obtained by the same method as described above. Of course, other methods are not excluded.
  • the LDPC code check matrix of the required code length can be obtained by the following method:
  • the non-zero element of the base matrix of the selected preset LDPC code check matrix corresponds to a position of a non-zero element of the first row of the sub-circular matrix of z ⁇ z, i, 0 ⁇ i ⁇ z
  • the dimension of the sub-circulant matrix of the LDPC code check matrix of the required code length is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is a remainder function, N is a natural number, and i, j, t, and z are integers.
  • offset is a preset non-negative integer offset value.
  • the LDPC constructed by 802.11n is taken as an example to illustrate the feasibility and effectiveness of the above method.
  • the parity check matrix has an offset value of 0.
  • the preset LDPC code check matrix uses the same base matrix as the LDPC code check matrix of the required code length.
  • the LDPC code performance constructed according to the above method is as shown in FIGS. 10 and 11.
  • the shortened (1296, 648) LDPC code is shortened by the preset 802.11n (1944, 972), and the size of the sub-circulation matrix is shortened by 81x81 to obtain 54x54.
  • the shortened (648, 324) LDPC is shortened by the preset 802.11n (1296, 648), and the size of the sub-circulant matrix is shortened by 54x54 to obtain 27x27.
  • the LDPC code check matrix of the required code length has the same base matrix as the preset LDPC code check matrix.
  • the LDPC code has almost the same performance as the well-optimized LDPC code. Therefore, the method for shortening the code length provided by the solution provides excellent BLER (block error rate) performance under the premise of ensuring that the matrix is not required to be stored, and is low. Reduce check matrix generation complexity.
  • FIG. 4 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure.
  • the LDPC encoding method includes the following steps: Step 401: Acquire a preset LDPC code check matrix with a first value and a different code length.
  • the preset LDPC code check matrix of the first value and different code lengths belongs to a set of LDPC code check matrices including all available code lengths, where the number of LDPC code check matrices in the set is a second value, A value and a second value are both positive integers, and the first value is smaller than the second value;
  • Step 402 Select a preset LDPC code from the preset LDPC code check matrix of the first value and different code lengths Checking matrix;
  • Step 403 Using an extended method on the sub-circulant matrix of the non-zero elements of the base matrix of the selected preset LDPC code check matrix to obtain an LDPC code check matrix of a desired code length.
  • the sub-circular matrix corresponding to each non-zero element (1) in the base matrix of the LDPC code check matrix of the required code length is a non-zero element of the corresponding position in the base matrix of the selected preset LDPC code check matrix.
  • the sub-circulant matrix is obtained using an extended method.
  • the so-called extension refers to expanding the sub-circular matrix of the selected preset LDPC code check matrix into a larger sub-circle matrix, thereby obtaining an LDPC code check matrix of a desired code length.
  • Step 404 Encode information based on the LDPC code check matrix of the required code length.
  • an extended method is adopted for the sub-circular matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix, and the LDPC code check matrix of the required code length is obtained, and the implementation manner is simple.
  • FIG. 5 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure.
  • the LDPC encoding method includes the following steps: Step 501: Obtain a first LDPC code check matrix with different code lengths.
  • the preset LDPC code check matrix of the first value and different code lengths belongs to a set of LDPC code check matrices including all available code lengths, where the number of LDPC code check matrices in the set is a second value, A value and a second value are both positive integers, and the first value is smaller than the second value;
  • Step 502 Select a preset LDPC code from the preset LDPC code check matrix of the first value and different code lengths a check matrix;
  • step 504 according to the sub-circulant matrix The position of the non-zero element in the first row and the dimension of the sub-circular matrix of the LDPC code check matrix of the required code length, and the sub-circular matrix of the non-zero element of the base matrix of the selected preset LDPC
  • the expansion method adopted by the embodiment of the present disclosure is simple in implementation and low in cost.
  • the column weight of the non-zero element sub-circulation matrix of the base matrix of the selected preset LDPC code check matrix may be equal to 1 or greater than 1.
  • a simple example of the foregoing expansion method may be: when the column weight of the non-zero element sub-circulation matrix of the base matrix of the selected preset LDPC code check matrix is equal to 1, the base matrix of the check matrix according to the preset LDPC code may be A cyclic shift label of a sub-circulant matrix of non-zero elements, a cyclic shift label of a sub-circle matrix of non-zero elements of a base matrix of an LDPC code check matrix of a desired code length.
  • the position j of the non-zero element in the first row of the sub-circulation matrix of the LDPC code check matrix of the required code length is obtained by the following method:
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • Step 5051 Perform a row-by-row search on the base matrix of the selected preset LDPC code check matrix, that is, search from the first row to the last row.
  • Step 5052 For each non-zero element of the rth row of the base matrix of the selected preset LDPC code check matrix, construct a non-zero element of the base matrix of the LDPC code check matrix of the required code length according to the following method.
  • Subcirculation matrix For each non-zero element of the rth row of the base matrix of the selected preset LDPC code check matrix, construct a non-zero element of the base matrix of the LDPC code check matrix of the required code length according to the following method.
  • Subcirculation matrix For each non-zero element of the rth row of the base matrix of the selected preset LDPC code check matrix, construct a non-zero element of the base matrix of the LDPC code check matrix of the required code length according to the following method.
  • Subcirculation matrix For each non-zero element of the rth row of the base matrix of the selected preset LDPC code check matrix, construct a non-zero element of the base matrix of the LDPC code check matrix of the required code
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the LDPC code check matrix of the required code length is constructed by using the preset LDPC code check matrix, an additional small amount of auxiliary information is not excluded, for example, the offset indication information (if the offset is a fixed value, No instructions required).
  • the LDPC code check matrix is preset and the LDPC code check matrix of the required code length adopts the same base matrix.
  • the performance requirement such as girth may also be the largest.
  • the criterion is to extend only some of the non-zero elements in the base matrix of the LDPC code check matrix, or to optimize the offset value.
  • the above embodiment only describes the case where the sub-circulation matrix corresponding to the preset LDPC code check matrix has a column weight of 1.
  • the above expansion method is also applicable.
  • the above i can be modified to z ⁇ .
  • the number of columns in the first row of the first row of the z-sub-circle matrix is processed in the same manner as described above to obtain a sub-circulant matrix of t ⁇ t.
  • other methods are not excluded.
  • the LDPC code check matrix of the required code length can be obtained by the following method:
  • the non-zero element of the base matrix of the selected preset LDPC code check matrix corresponds to a position of a non-zero element of the first row of the sub-circular matrix of z ⁇ z, i, 0 ⁇ i ⁇ z
  • the dimension of the sub-circulant matrix of the LDPC code check matrix of the required code length is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is a remainder function, N is a natural number, and i, j, t, and z are integers.
  • offset is a preset non-negative integer offset value.
  • the shortening or extension of the check matrix of the preset LDPC code can be used to construct an LDPC code with variable code length that does not require additional storage to facilitate standardization, but an obvious fact is that the preset LDPC code is used.
  • the number of check matrices is very limited and is very flexible
  • the code length sometimes needs to be shortened or extended by a large scale.
  • the number of bits can be used simultaneously to shorten and extend the method. The details will be described below.
  • FIG. 6 is a schematic flowchart of an LDPC encoding method according to some embodiments of the present disclosure.
  • the LDPC encoding method includes the following steps: Step 601: Obtain a first LDPC code check matrix with different code lengths.
  • the preset LDPC code check matrix of the first value and different code lengths belongs to a set of LDPC code check matrices including all available code lengths, where the number of LDPC code check matrices in the set is a second value, A value and a second value are both positive integers, and the first value is less than the second value; the first value is at least two; the first value may be 1 or greater than 1.
  • Step 602 Select a preset LDPC code check matrix from the preset LDPC code check matrix of the first value and different code lengths.
  • Step 603 Set the code length of the LDPC code check matrix of the required code length. Comparing with the code length of the preset LDPC code check matrix;
  • Step 604 When the code length of the LDPC code check matrix of the required code length is located in the code length of two adjacent preset LDPC code check matrices During the interval, the preset LDPC code check matrix closest to the code length of the LDPC code check matrix of the required code length is selected from the two adjacent preset LDPC code check matrices;
  • Step 605 Elected When the code length of the LDPC code check matrix whose preset LDPC code check matrix is larger than the required code length is taken, the sub-circulation matrix of the non-zero element of the base matrix of the selected preset LDPC code check matrix is shortened.
  • Step 606 When the code length of the LDPC code check matrix whose preset LDPC code check matrix is smaller than the required code length is selected, the selected pre- Let the sub-circulant matrix of the non-zero element of the base matrix of the LDPC code check matrix adopt an extended method to obtain the required code length.
  • LDPC code check matrix Step 607: Encode the information based on the LDPC code check matrix of the required code length.
  • the LDPC encoding method suitable for the above embodiment is particularly applicable to 5G new radio.
  • Some embodiments of the present disclosure further provide an LDPC encoding apparatus, including: an obtaining module 71, configured to obtain a preset LDPC code check of a first value and a different code length.
  • the check matrix belongs to a set of LDPC code check matrices including all available code lengths, wherein the number of LDPC code check matrices in the set is a second value, and the first value and the second value are both positive integers, the first The value is smaller than the second value;
  • the generating module 72 is configured to generate an LDPC code check matrix of a required code length according to the preset LDPC code check matrix of the first value and different code lengths, where the required code length is
  • the LDPC code check matrix is any LDPC code check matrix except the preset LDPC code check matrix in the set, and the coding module 73 is configured to check the LDPC code check matrix based on the required code length. , encode the information.
  • the generating module 72 includes: a selecting submodule, configured to select a preset LDPC code check matrix from the preset LDPC code check matrix of the first value and different code lengths; and the processing submodule And configured to generate an LDPC code check matrix of a required code length based on the selected preset LDPC code check matrix.
  • the LDPC code check matrix of the required code length is generated based on a base matrix and a sub-circulation matrix of the selected preset LDPC code check matrix.
  • the base matrix of the LDPC code check matrix of the required code length is the same as the base matrix used by the selected preset LDPC code check matrix; or the LDPC code check of the required code length
  • the base matrix used by the matrix is a subset of the base matrix used by the selected preset LDPC code check matrix; or the base matrix used by the LDPC code check matrix of the required code length is determined by the selected preset
  • the base matrix of the LDPC code check matrix is extended.
  • the processing sub-module is configured to shorten a sub-circulant matrix of a non-zero element of a base matrix of the selected preset LDPC code check matrix to obtain an LDPC code check matrix of a desired code length.
  • the processing sub-module is configured to: obtain a non-zero element in a first row of a non-zero element sub-circulant matrix of a base matrix of the selected preset LDPC code check matrix Position; according to the position of the non-zero element in the first row of the sub-circulation matrix and the dimension of the sub-circulation matrix of the LDPC code check matrix of the required code length, the basis of the selected preset LDPC code check matrix
  • the sub-circulant matrix of the non-zero elements of the matrix is shortened to generate a sub-circulant matrix of the LDPC code check matrix of the required code length; and the required code length is generated according to all sub-circulant matrices of the LDPC code check matrix of the required code length LDPC code check matrix.
  • the sub-circulation moment of the non-zero element of the base matrix of the selected preset LDPC code check matrix is greater than or equal to 1.
  • the sub-circular matrix corresponding to the non-zero element of the base matrix of the selected preset LDPC code check matrix is P i , the dimension of P i is z ⁇ z, 0 ⁇ i ⁇ z, and the LDPC code of the required code length
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the processing sub-module is configured to perform an extended method on a sub-circulant matrix of non-zero elements of a base matrix of a preset LDPC code check matrix to obtain an LDPC code check matrix of a desired code length.
  • the processing submodule is configured to: obtain a non-zero element in a first row of a sub-circulant matrix of a non-zero element of a base matrix of the selected preset LDPC code check matrix.
  • the basis of the selected preset LDPC code check matrix The sub-circulant matrix of the non-zero elements of the matrix is extended to generate a sub-circulant matrix of the LDPC code check matrix of the required code length; the required code length is generated according to all sub-circulant matrices of the LDPC code check matrix of the required code length LDPC code check matrix.
  • the column of the sub-circular matrix of the non-zero elements of the base matrix of the selected preset LDPC code check matrix is greater than or equal to 1.
  • the selected check matrix of the LDPC code preset non-zero elements of the matrix corresponding to group sub-cycles is the dimension of matrix P i, P i is a z ⁇ z, 0 ⁇ i ⁇ z, the desired code length of the LDPC code
  • the sub-circulant matrix of the check matrix is P 1 j , the dimension of P 1 j is t ⁇ t, 0 ⁇ j ⁇ t ⁇ z, mod is the remainder function, N is a natural number, and i, j, t, z are all Integer, offset is a preset non-negative integer offset value.
  • the first value is at least two
  • the processing submodule is configured to: when the code length of the LDPC code check matrix of the required code length is located in two adjacent preset LDPC codes Between the code lengths of the matrix, the preset LDPC code check that is closest to the code length of the LDPC code check matrix of the required code length is selected from the two adjacent LDPC code check matrices.
  • Matrix when selecting the code length of the LDPC code check matrix whose preset LDPC code check matrix is larger than the required code length, the sub-loop of the non-zero element of the base matrix of the selected preset LDPC code check matrix
  • the matrix adopts a shortening method to obtain an LDPC code check matrix of a desired code length; when the code length of the LDPC code check matrix of the preset LDPC code check matrix is selected to be smaller than the required code length, the selected pre-selection Let the sub-circulant matrix of the non-zero elements of the base matrix of the LDPC code check matrix adopt an extended method to obtain an LDPC code check matrix of the required code length.
  • the present disclosure also provides a communication device including the LDPC encoding device in any of the above embodiments.
  • some embodiments of the present disclosure further provide a base station, including: a processor 81 , a memory 82 , a bus interface 83 , and a transceiver 84 .
  • the processor 81 is connected to the memory 82 through the bus interface 83 for reading the program in the memory 82, and performs the following process: acquiring a preset LDPC code check matrix of a first value and a different code length, the first value.
  • the preset LDPC code check matrix of different code lengths belongs to a set of LDPC code check matrices including all available code lengths, and the number of LDPC code check matrices in the set is the second value, the first value and the second The value is a positive integer, the first value is smaller than the second value; and the LDPC code check matrix of the required code length is generated according to the preset LDPC code check matrix of the first value and different code lengths.
  • the LDPC code check matrix of the required code length is any LDPC code check matrix except the preset LDPC code check matrix in the set; the LDPC code check matrix based on the required code length, Information is encoded.
  • the transceiver 84 is coupled to the processor 81 via a bus interface for receiving and transmitting data under the control of the processor 81.
  • the bus architecture may include any number of interconnected buses and bridges, specifically one or more processors represented by processor 81 and various circuits of memory represented by memory 82. Linked together. 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.
  • Transceiver 84 can be a plurality of components, including a transmitter and a transceiver, providing means for communicating with various other devices on a transmission medium.
  • the processor 81 is responsible for managing the bus architecture and general processing, and the memory 82 can store data used by the processor 81 in performing the operations.
  • the processor 81 is responsible for managing the bus architecture and general processing, and the memory 82 can store data used by the processor 71 in performing operations.
  • some embodiments of the present disclosure further provide a terminal, including: a processor 91 , a memory 92 , a bus interface 93 , a transceiver 94 , and a user interface 95 .
  • the processor 91 is connected to the memory 92 through the bus interface 93 for reading the program in the memory 92, and performs the following process: acquiring a preset LDPC code check matrix of a first value and a different code length, the first value.
  • the preset LDPC code check matrix of different code lengths belongs to a set of LDPC code check matrices including all available code lengths, and the number of LDPC code check matrices in the set is the second value, the first value and the second The value is a positive integer, the first value is smaller than the second value; and the LDPC code check matrix of the required code length is generated according to the preset LDPC code check matrix of the first value and different code lengths.
  • the LDPC code check matrix of the required code length is any LDPC code check matrix except the preset LDPC code check matrix in the set; the LDPC code check matrix based on the required code length, Information is encoded.
  • the transceiver 94 is coupled to the processor 91 via a bus interface for receiving and transmitting data under the control of the processor 91.
  • the bus architecture may include any number of interconnected buses and bridges, specifically linked by one or more processors represented by processor 91 and various circuits of memory represented by memory 92.
  • 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.
  • Transceiver 94 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 95 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 91 is responsible for managing the bus architecture and the usual processing, and the memory 92 can store the processor. 91 The data used in performing the operation.

Landscapes

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

Abstract

本公开提供一种低密度奇偶校验码LDPC编码方法、编码装置及通信设备,该编码方法包括:获取第一数值个不同码长的预设LDPC码校验矩阵,该预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,该集合中LDPC码校验矩阵的个数为第二数值,第一数值小于第二数值;根据第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所需码长的LDPC码校验矩阵为该集合中除预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;基于所需码长的LDPC码校验矩阵,对信息进行编码。

Description

一种LDPC编码方法、编码装置及通信设备
相关申请的交叉引用
本申请主张在2016年8月11日在中国提交的中国专利申请号No.201610659356.5的优先权,其全部内容通过引用包含于此。
技术领域
本公开涉及通信技术领域,尤其涉及一种LDPC(Low Density Parity Check Code,低密度奇偶校验码)编码方法、编码装置及通信设备。
背景技术
5G new radio(5G新空口)讨论中新增加了eMMB(Enhanced Mobile Broadband,增强型行动宽频应用,)、mMTC(Massive Machine Type Communication,大量连结机器型通讯)、URLLC(Ultra-reliable and Low Latency Communications,超可靠及低延迟通讯)等多种场景,针对这些新的应用场景3GPP要求设计新型纠错编码。
5G新空口针对eMMB场景要求下行峰值吞吐量达到20Gbps,URLLC场景对高可靠性提出很高要求,mMTC场景则对功耗要求很高。而LTE(Long Term Evolution,长期演进)现有turbo码方案其译码具有较低的并行度,达到eMMB场景20Gbps的设计目标很困难;turbo码的error floor(误码平台)也难以达到URLLC场景的要求;同时turbo码的译码复杂度对于mMTC场景也不是很合适。LDPC编码与turbo码具有相似的性能这早已经被证明,但是LDPC码的结构非常适合并行或者部分并行译码,达到eMMB的20Gbps设计目标没有任何问题,而且恰当设计的LDPC码具有很低的error floor,完全可以满足URLLC场景的要求,LDPC译码复杂度比较低,这对mMTC场景也具有一定的吸引力,此外LDPC已经被IEEE的众多标准采纳,实践证明是可靠的,因此LDPC成为5G新空口的纠错编码方案的强力竞争者。
但4G时代采用的turbo码,非常适用于移动通信场景,首先是turbo码提供了188种的QPP(二次置换多项式)交织器长度,如下表1所示,可以提供最小8个比特最大64个比特的颗粒度,这等价于提供了188种信息比特长度的码率为1/3的turbo码,即对应188种码长,由188个QPP交织器参 数决定。如表1所示,通过对这188种码长的turbo码进行随机打孔或者重复的方法去匹配不同的TBsize与调度的不同传输资源,所以turbo码在码长上的灵活性与其他候选方案相比具有明显的优势。
表1:Turbo code internal interleaver parameters(Turbo码内部交织参数)
i K f1 f2 i K f1 f2 i K f1 f2 i K f1 f2
1 40 3 10 48 416 25 52 95 1120 67 140 142 3200 111 240
2 48 7 12 49 424 51 106 96 1152 35 72 143 3264 443 204
3 56 19 42 50 432 47 72 97 1184 19 74 144 3328 51 104
4 64 7 16 51 440 91 110 98 1216 39 76 145 3392 51 212
5 72 7 18 52 448 29 168 99 1248 19 78 146 3456 451 192
6 80 11 20 53 456 29 114 100 1280 199 240 147 3520 257 220
7 88 5 22 54 464 247 58 101 1312 21 82 148 3584 57 336
8 96 11 24 55 472 29 118 102 1344 211 252 149 3648 313 228
9 104 7 26 56 480 89 180 103 1376 21 86 150 3712 271 232
10 112 41 84 57 488 91 122 104 1408 43 88 151 3776 179 236
11 120 103 90 58 496 157 62 105 1440 149 60 152 3840 331 120
12 128 15 32 59 504 55 84 106 1472 45 92 153 3904 363 244
13 136 9 34 60 512 31 64 107 1504 49 846 154 3968 375 248
14 144 17 108 61 528 17 66 108 1536 71 48 155 4032 127 168
15 152 9 38 62 544 35 68 109 1568 13 28 156 4096 31 64
16 160 21 120 63 560 227 420 110 1600 17 80 157 4160 33 130
17 168 101 84 64 576 65 96 111 1632 25 102 158 4224 43 264
18 176 21 44 65 592 19 74 112 1664 183 104 159 4288 33 134
19 184 57 46 66 608 37 76 113 1696 55 954 160 4352 477 408
20 192 23 48 67 624 41 234 114 1728 127 96 161 4416 35 138
21 200 13 50 68 640 39 80 115 1760 27 110 162 4480 233 280
22 208 27 52 69 656 185 82 116 1792 29 112 163 4544 357 142
23 216 11 36 70 672 43 252 117 1824 29 114 164 4608 337 480
24 224 27 56 71 688 21 86 118 1856 57 116 165 4672 37 146
25 232 85 58 72 704 155 44 119 1888 45 354 166 4736 71 444
26 240 29 60 73 720 79 120 120 1920 31 120 167 4800 71 120
27 248 33 62 74 736 139 92 121 1952 59 610 168 4864 37 152
28 256 15 32 75 752 23 94 122 1984 185 124 169 4928 39 462
29 264 17 198 76 768 217 48 123 2016 113 420 170 4992 127 234
30 272 33 68 77 784 25 98 124 2048 31 64 171 5056 39 158
31 280 103 210 78 800 17 80 125 2112 17 66 172 5120 39 80
32 288 19 36 79 816 127 102 126 2176 171 136 173 5184 31 96
33 296 19 74 80 832 25 52 127 2240 209 420 174 5248 113 902
34 304 37 76 81 848 239 106 128 2304 253 216 175 5312 41 166
35 312 19 78 82 864 17 48 129 2368 367 444 176 5376 251 336
36 320 21 120 83 880 137 110 130 2432 265 456 177 5440 43 170
37 328 21 82 84 896 215 112 131 2496 181 468 178 5504 21 86
38 336 115 84 85 912 29 114 132 2560 39 80 179 5568 43 174
39 344 193 86 86 928 15 58 133 2624 27 164 180 5632 45 176
40 352 21 44 87 944 147 118 134 2688 127 504 181 5696 45 178
41 360 133 90 88 960 29 60 135 2752 143 172 182 5760 161 120
42 368 81 46 89 976 59 122 136 2816 43 88 183 5824 89 182
43 376 45 94 90 992 65 124 137 2880 29 300 184 5888 323 184
44 384 23 48 91 1008 55 84 138 2944 45 92 185 5952 47 186
45 392 243 98 92 1024 31 64 139 3008 157 188 186 6016 23 94
46 400 151 40 93 1056 17 66 140 3072 47 96 187 6080 47 190
47 408 155 102 94 1088 171 204 141 3136 13 28 188 6144 263 480
表中f1和f2是决定QPP交织器的两个参数,该参数与Turbo码QPP交织器输入比特的个数K有关。
对LDPC码来说,为了降低编码器与译码器的存储量以及编译码复杂度, 目前国内或者国际标准采用的LDPC码,主要为准循环LDPC码,3GPP#85会议形成的结论是5G新空口的LDPC码也会采用准循环LDPC码,其校验矩阵H可以表示为如下形式:
Figure PCTCN2017095428-appb-000001
其中Ai,j是一个列重量为0或者1的z×z循环矩阵。矩阵H表征的码字称为(N,K)LDPC码,其中N=c×z为码长,K=(c-ρ)×z表示编码信息比特的长度,其编码码率为R=K/N。
对于准循环LDPC码有多种构造方法,2003年VTC会议Tong Zhang等在Design of VLSI Implementation-Oriented LDPC Codes一文中提出:
首先,构造一个大小为ρ×c的Base matrix(基矩阵)B,该矩阵的元素非0即1,举例来说基矩阵B可以如下所示:
Figure PCTCN2017095428-appb-000002
然后,将该基矩阵B的每个1元素扩展为一个z×z循环置换矩阵(CPM,Circular Permutation Matrix),基矩阵B的0元素则扩展为一个z×z的全0矩阵。
后来的802.11n也采用此种方法描述LDPC码的校验矩阵。用Pi表示每个z×z循环置换矩阵,i是循环移位标号。其中,矩阵P就是单位阵(P0)循环右移动一位得到的矩阵,举例来说矩阵P可以如下所示:
Figure PCTCN2017095428-appb-000003
如下所示为一个循环置换矩阵Pi(子分组大小为8×8,即z=8)的实例。
Figure PCTCN2017095428-appb-000004
因此,每个循环置换矩阵Pi实际上为单位阵I循环右移i次数,循环置换矩阵的循环移位标号i满足0≤i<z,
Figure PCTCN2017095428-appb-000005
为了获得多种形式的码长,802.11n将循环置换矩阵的大小z分别取值为27,54和81,对应3种码长分别是1944、1296和648。
需要说明的是,上面描述的准循环LDPC码对应的子循环矩阵(CM,Circular Matrix),列重可以大于1,如列重为2或者更大的值,此时子循环矩阵不再是一个CPM。
对于LDPC码来说,速率匹配可以通过打孔获得,也可以通过高码率母码的校验矩阵扩展或者分裂等方法实现。这些方法可以实现,根据一种码长可以得到多种码率,从而得到多种信息比特长度;或者根据固定的信息比特数,获得不同的码率的码字,当然由于信息比特固定,每种码率对应固定码长。所以可以看出,对于LDPC来说,若想处理不同的信息比特长度,一种方法是可以通过对一种码长的码字进行打孔得到,但是只对一种码长进行打孔去适应各种长度的信息比特,与LTE采用的有一百多种码长的turbo码相比明显处于劣势;另外一种途径是构造多种码长的LDPC码,这完全类似于turbo码具有一百多种交织器长度,但是与turbo码每一种交织长度仅由两个自然数f1与f2确定完全不同,每种码长的LDPC码都必须对应一个N行、M列的校验矩阵,而且不同的码长的校验矩阵是互不相同的,所以188种码长需要对应188个校验矩阵,这需要很大的存储量,且难以描述,实际中无法标准化,这也是著名的802.11n标准只设计了3种长度的LDPC码的原因。如果提供的LDPC码长比较少,这时导致信息比特颗粒度过大,编码灵活性不好。如很短的数据为适应特定码长,需要补多个0,造成较大开销,编码时为了降低开销,需要匹配zero padding(补零)最少的码长,导致不能根据性能最优码长编码。这一问题目前是制约了LDPC码在5G进行应用的最大瓶颈之一。
也就是说,现有LDPC编码方案,无法类似turbo码那样对码长或信息比特提供灵活的颗粒度,从实现角度只能提供几种(或者数量很少)码长的校验矩阵,如此以来对信息比特用补零的方法去适应不同的信息比特长度将无法避免,这明显降低了资源利用率,也远远不如turbo码更灵活。
发明内容
有鉴于此,本公开提供一种LDPC编码方法、编码装置及通信设备,以解决相关技术构造的不同码长的LDPC码需要分别存储,在数量很大时复杂度高,且无法标准化的问题。
为解决上述技术问题,本公开提供一种LDPC编码方法,包括获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
可选地,所述根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵。
可选地,所述所需码长的LDPC码校验矩阵基于所述选取的预设LDPC码校验矩阵的基矩阵和子循环矩阵而生成。
可选地,所述所需码长的LDPC码校验矩阵采用的基矩阵与所述选取的预设LDPC码校验矩阵采用的基矩阵相同;或者所述所需码长的LDPC码校验矩阵采用的基矩阵是所述选取的预设LDPC码校验矩阵采用的基矩阵的子集;或者所述所需码长的LDPC码校验矩阵采用的基矩阵是由所述选取的预设LDPC码校验矩阵采用的基矩阵扩展而得到。
可选地,所述基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:对选取的预设LDPC码校验矩阵的基矩阵的非零元 素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵。
可选地,所述对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵的步骤包括:获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行缩短,生成所需码长的LDPC码校验矩阵的子循环矩阵;根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
Figure PCTCN2017095428-appb-000006
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j通过下述方法得到:
Figure PCTCN2017095428-appb-000007
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置 值。
可选地,所述根据第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:对预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
可选地,所述对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵的步骤包括:获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行扩展,生成所需码长的LDPC码校验矩阵的子循环矩阵;根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
j=i;或者
Figure PCTCN2017095428-appb-000008
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j通过下述方法得到:
j=i;或者
Figure PCTCN2017095428-appb-000009
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
可选地,所述第一数值为至少两个,所述基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:当所需码长的LDPC码校验矩阵的码长位于相邻的两个预设LDPC码校验矩阵的码长之间时,从所述相邻的两个预设LDPC码校验矩阵中选取出与所需码长的LDPC码校验矩阵的码长最接近的预设LDPC码校验矩阵;当选取预设LDPC码校验矩阵的码长大于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵;当选取预设LDPC码校验矩阵的码长小于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
本公开还提供一种LDPC编码装置,包括:获取模块,用于获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;生成模块,用于根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;编码模块,用于基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
可选地,所述生成模块包括:选取子模块,用于从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;处理子模块,用于基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验 矩阵。
可选地,所述所需码长的LDPC码校验矩阵基于所述选取的预设LDPC码校验矩阵的基矩阵和子循环矩阵而生成。
可选地,所述所需码长的LDPC码校验矩阵采用的基矩阵与所述选取的预设LDPC码校验矩阵采用的基矩阵相同;或者所述所需码长的LDPC码校验矩阵采用的基矩阵是所述选取的预设LDPC码校验矩阵采用的基矩阵的子集;或者所述所需码长的LDPC码校验矩阵采用的基矩阵是由所述选取的预设LDPC码校验矩阵采用的基矩阵扩展而得到。
可选地,所述处理子模块用于对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵。
可选地,所述处理子模块用于:获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行缩短,生成所需码长的LDPC码校验矩阵的子循环矩阵;根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
Figure PCTCN2017095428-appb-000010
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j通过下述方法得到:
Figure PCTCN2017095428-appb-000011
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
可选地,所述处理子模块用于对预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
可选地,所述处理子模块用于:获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行扩展,生成所需码长的LDPC码校验矩阵的子循环矩阵;根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
j=i;或者
Figure PCTCN2017095428-appb-000012
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循 环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j通过下述方法得到:
j=i;或者
Figure PCTCN2017095428-appb-000013
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
可选地,所述第一数值为至少两个,所述处理子模块用于:当所需码长的LDPC码校验矩阵的码长位于相邻的两个预设LDPC码校验矩阵的码长之间时,从所述相邻的两个预设LDPC码校验矩阵中选取出与所需码长的LDPC码校验矩阵的码长最接近的预设LDPC码校验矩阵;当选取预设LDPC码校验矩阵的码长大于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵;当选取预设LDPC码校验矩阵的码长小于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
本公开还提供一种通信设备,包括上述LDPC编码装置。
本公开还提供一种通信设备,包括:处理器,存储器以及收发机;其中,处理器与存储器连接,用于读取存储器中的程序,执行下列过程:获取第一数值个不同码长的预设低密度奇偶校验码LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和 第二数值均为正整数,所述第一数值小于第二数值;根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;基于所述所需码长的LDPC码校验矩阵,对信息进行编码;收发机,与处理器连接,用于在处理器的控制下接收和发送数据。
本公开的上述技术方案的有益效果如下:在使用LCPD码编码时,只需要存储第一数值个预设LDPC码校验矩阵,根据该第一数值个预设LDPC码校验矩阵,就可以生成任意可用码长的LDPC码校验矩阵,可提供灵活的码长颗粒度,且新生成的LDPC码校验矩阵不需要存储,从而极大地降低了编码装置的存储量,性能优异,易于标准化,可完全满足5G新空口场景的需求。
附图说明
图1为本公开一些实施例的LDPC编码方法的流程示意图;
图2为本公开一些实施例的LDPC编码方法的流程示意图;
图3为本公开一些实施例的LDPC编码方法的流程示意图;
图4为本公开一些实施例的LDPC编码方法的流程示意图;
图5为本公开一些实施例的LDPC编码方法的流程示意图;
图6为本公开一些实施例的LDPC编码方法的流程示意图;
图7为本公开一些实施例的LDPC编码装置的结构框图;
图8为本公开一些实施例的基站的结构框图;
图9为本公开一些实施例的终端的结构框图;
图10和图11为本公开实施例的LDPC编码方法的性能示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
请参考图1,图1为本公开一些实施例的LDPC编码方法的流程示意图,所述LDPC编码方法包括以下步骤:步骤101:获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;所述第一数值可以为1,也可以大于1。步骤102:根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;步骤103:基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
本公开实施例中,在使用LCPD码编码时,只需要存储第一数值个预设LDPC码校验矩阵,根据该第一数值个预设LDPC码校验矩阵,就可以生成任意可用码长的LDPC码校验矩阵,可提供灵活的码长颗粒度,且新生成的LDPC码校验矩阵不需要存储,从而极大地降低了编码装置的存储量,性能优异,易于标准化,可完全满足5G新空口场景的需求。
可选地,所述根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:步骤1021:从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;步骤1022:基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵。
从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵的选取准则可以是:选取与所需码长的LDPC码校验矩阵的码长最接近的预设LDPC码校验矩阵。
当然,也不排除采用其他方式选取,例如随机选取一预设LDPC码校验矩阵。
本公开实施例中,所述所需码长的LDPC码校验矩阵基于所述选取的预设LDPC码校验矩阵的基矩阵和子循环矩阵而生成。
更具体的,生成的所需码长的LDPC码校验矩阵是所述选取的预设LDPC码校验矩阵的基矩阵和子循环矩阵的函数。
其中,所述所需码长的LDPC码校验矩阵采用的基矩阵可以与所述选取的预设LDPC码校验矩阵采用的基矩阵相同;或者,所述所需码长的LDPC码校验矩阵采用的基矩阵也可以是所述选取的预设LDPC码校验矩阵采用的基矩阵的子集;即,所需码长的LDPC码校验矩阵的基矩阵中非零元素(1)的位置是选取的预设LDPC码校验矩阵的基矩阵中非零元素位置的子集。或者,所述所需码长的LDPC码校验矩阵采用的基矩阵也可以是由所述选取的预设LDPC码校验矩阵采用的基矩阵扩展而得到。
本公开实施例中,当预设LDPC码校验矩阵的个数第一数值大于1时,所述第一数值个预设LDPC码校验矩阵可以分为多组。其中,所述预设LDPC码校验矩阵可以依据不同码率不同分组,属于同一组的预设LDPC码校验矩阵的码率相同;或者属于同一组的预设LDPC码校验矩阵由同一矩阵扩展而得到。
考虑到性能与复杂度的折中,较佳的,可以仅设置一种码率的预设几种码长的LDPC码校验矩阵,所预设的几种码长较佳的具有较大的颗粒区分度,以能够覆盖典型应用场景。
请参考图2,图2为本公开一些实施例的LDPC编码方法的流程示意图,所述LDPC编码方法包括以下步骤:步骤201:获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;步骤202:从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;步骤203:对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵。即,所需码长的LDPC码校验矩阵的基矩阵中每个非零元素(1)所对应的子循环矩阵由选取的预设LDPC码校验矩阵的基矩阵中相应位置的非零元素的子循环矩阵采用缩短的方法得到。其中,得到的所需码长的LDPC码校验矩阵的码长小于所述选取的预设LDPC码校验矩阵的码长。步骤204:基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
本公开实施例中,对选取的预设LDPC码校验矩阵的基矩阵的非零元素 的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵,实现方式简单。
本公开实施例中,可以采用多种缩短方法,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行缩短,从而得到所需码长的LDPC码校验矩阵,下面举例进行说明。
请参考图3,图3为本公开一些实施例的LDPC编码方法的流程示意图,所述LDPC编码方法包括以下步骤:步骤301:获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;步骤302:从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;步骤303:获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;步骤304:根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行缩短,生成所需码长的LDPC码校验矩阵的子循环矩阵;步骤305:根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。步骤306:基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
本公开实施例中,利用将预设LDPC码校验矩阵的子循环矩阵(CM)缩短的方法得到具有更短码长的LDPC码校验矩阵,性能优异,方法简单,只需要存储预设LDPC码校验矩阵,非常有利于标准化。
上述实施例中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重可以等于1,也可以大于1。
上述缩短方法的一简单例子可以是:选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,可以根据预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的循环移位标号,确定所需码长的LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的循环移位标号。
具体的,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非 零元素的位置j可以通过下述方法得到:
Figure PCTCN2017095428-appb-000014
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
上述实施例的具体执行方法可以包括以下步骤。
步骤3051:对选取的预设LDPC码校验矩阵的基矩阵进行逐行搜索,即从第一行逐行搜索至最后一行;
步骤3052:对于选取的预设LDPC码校验矩阵的基矩阵的第r行的每个非零元素,按照以下方法,构造所需码长的LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵:
Figure PCTCN2017095428-appb-000015
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
本公开实施例中,利用预设LDPC码校验矩阵构造所需码长的LDPC码校验矩阵时,不排除额外附加少量辅助信息,例如,上述offset指示信息(如约定offset为固定值,则不需要指示)。
上面描述仅是缩短方法的一个简单例子,当然,本公开不排除采用其它缩短方法。举例来说,上述方法中预设LDPC码校验矩阵与所需码长的LDPC码校验矩阵采用了相同的基矩阵,在本公开的其他一些实施例中,也可以根据性能需求如girth最大化准则,仅缩短LDPC码校验矩阵的基矩阵中的部分非零元素。
上面的实施例仅描述了预设LDPC码校验矩阵对应的子循环矩阵列重为1的情形,对于列重大于1的情形,上述缩短方法同样适用,例如可将上述 的i修改为z×z子循环矩阵第一行中第一个1所处的列数,按照上述方法同样处理可以得到t×t的子循环矩阵。当然并不排除其他方法。
在本公开的一优选实施例中,当选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j可以通过下述方法得到:
Figure PCTCN2017095428-appb-000016
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。下面以802.11n所构造的LDPC为例,说明上述方法的可行性与有效性。802.11n码率为1/2,N=1944、1296、648三种码长的(1944,972)、(1296,648)、(648,324)LDPC码对应的校验矩阵视为预设LDPC码校验矩阵,offset取值为0,预设LDPC码校验矩阵与所需码长的LDPC码校验矩阵采用相同的基矩阵。根据上述方法构造的LDPC码性能如图10和图11所示。
请参考图10,缩短(shortende)(1296,648)LDPC码由预设的802.11n(1944,972)缩短得到,子循环矩阵的大小由81x81缩短得到54x54。请参考图11,缩短(648,324)LDPC由预设的802.11n(1296,648)缩短得到,子循环矩阵的大小由54x54缩短得到27x27。
本公开实施例中,尽管没有对offset及其基矩阵进行优化,即取最简单的offset=0,所需码长的LDPC码校验矩阵与预设LDPC码校验矩阵具有相同的基矩阵,且子循环矩阵缩短的尺度达到50%,缩短的LDPC码与802.11n精心细设计的LDPC码相比在块差错率(Block Error Ratio)BLER=10-3以上性能几乎一样,在高信噪比时才有略有损失,由于5G的EMBB场景采用HARQ(混合自动重传请求,Hybrid Automatic Repeat reQuest)重传机制,需要关心的码字性能的设计目标是BLER=10-1,此时缩短的LDPC码与精心优化的LDPC码性能几乎一致,因此本方案提供的缩短码长的方法,在保证缩短矩阵不需要存储的前提下,还提供了优异的BLER(块差错率)性能,很 低的缩短校验矩阵生成复杂度。
请参考图4,图4为本公开一些实施例的LDPC编码方法的流程示意图,所述LDPC编码方法包括以下步骤:步骤401:获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;步骤402:从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;步骤403:对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。即,所需码长的LDPC码校验矩阵的基矩阵中每个非零元素(1)所对应的子循环矩阵由选取的预设LDPC码校验矩阵的基矩阵中相应位置的非零元素的子循环矩阵采用扩展的方法得到。所谓扩展是指将选取的预设LDPC码校验矩阵的子循环矩阵扩展为更大的子循环矩阵,从而得到所需码长的LDPC码校验矩阵。步骤404:基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
本公开实施例中,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵,实现方式简单。
请参考图5,图5为本公开一些实施例的LDPC编码方法的流程示意图,所述LDPC编码方法包括以下步骤:步骤501:获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;步骤502:从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;步骤503:获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;步骤504:根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行扩展,生成所需码长的LDPC 码校验矩阵的子循环矩阵;步骤505:根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。步骤506:基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
本公开实施例采用的扩展方法,实现方式简单,成本较低。
上述实施例中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重可以等于1,也可以大于1。
上述扩展方法的一简单例子可以是:选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,可以根据预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的循环移位标号,确定所需码长的LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的循环移位标号。
具体的,所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
j=i;或者
Figure PCTCN2017095428-appb-000017
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
上述实施例的具体执行方法可以包括以下步骤:
步骤5051:对选取的预设LDPC码校验矩阵的基矩阵进行逐行搜索,即从第一行逐行搜索至最后一行;
步骤5052:对于选取的预设LDPC码校验矩阵的基矩阵的第r行的每个非零元素,按照以下方法,构造所需码长的LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵:
j=i;或者
Figure PCTCN2017095428-appb-000018
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环 矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
本公开实施例中,利用预设LDPC码校验矩阵构造所需码长的LDPC码校验矩阵时,不排除额外附加少量辅助信息,例如,上述offset指示信息(如约定offset为固定值,则不需要指示)。
上面描述仅是扩展方法的一个简单例子,当然,本公开不排除采用其它扩展方法。举例来说,上述方法中预设LDPC码校验矩阵与所需码长的LDPC码校验矩阵采用了相同的基矩阵,在本公开的其他一些实施例中,也可以根据性能需求如girth最大化准则,仅扩展LDPC码校验矩阵的基矩阵中的部分非零元素,或者优化offset值。
上面的实施例仅描述了预设LDPC码校验矩阵对应的子循环矩阵列重为1的情形,对于列重大于1的情形,上述扩展方法同样适用,例如可将上述的i修改为z×z子循环矩阵第一行中第一个1所处的列数,按照上述方法同样处理可以得到t×t的子循环矩阵。当然并不排除其他方法。
在本公开的一优选实施例中,当选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j可以通过下述方法得到:
j=i;或者
Figure PCTCN2017095428-appb-000019
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
由上述实施例可以看到,利用预设LDPC码校验矩阵的缩短或者扩展都可以构造得到码长可变的不需要额外存储有利于标准化的LDPC码,但一个明显的事实是预设LDPC码校验矩阵的数目是非常有限的,要获得非常灵活 的码长有时需要缩短或者扩展很大的尺度,以缩短为例,当子循环矩阵缩短的尺度越小得到新码长的码字,其性能好的概率就越大,所以为了避免缩短过多的比特数,可以同时运用采用缩短与扩展方法。下面将详细说明。
请参考图6,图6为本公开一些实施例的LDPC编码方法的流程示意图,所述LDPC编码方法包括以下步骤:步骤601:获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;所述第一数值为至少两个;所述第一数值可以为1,也可以大于1。步骤602:从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;步骤603:将所需码长的LDPC码校验矩阵的码长与所述预设LDPC码校验矩阵的码长进行比较;步骤604:当所需码长的LDPC码校验矩阵的码长位于相邻的两个预设LDPC码校验矩阵的码长之间时,从所述相邻的两个预设LDPC码校验矩阵中选取出与所需码长的LDPC码校验矩阵的码长最接近的预设LDPC码校验矩阵;步骤605:当选取预设LDPC码校验矩阵的码长大于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵;步骤606:当选取预设LDPC码校验矩阵的码长小于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。步骤607:基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
还以802.11n为例,如所需码长的LDPC码码长落在1944与1296之间时,其数值靠近1944就采用校验矩阵缩短的方法,靠近1296就采用校验矩阵扩展的方法,当然究竟采用扩展还是缩短完全取决于最终构造的码字性能。
上述实施例中的适用于LDPC编码方法尤其适用于5G new radio。
与上述LDPC编码方法同一发明构思,请参考图7,本公开一些实施例还提供一种LDPC编码装置,包括:获取模块71,用于获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校 验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;生成模块72,用于根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;编码模块73,用于基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
可选地,所述生成模块72包括:选取子模块,用于从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;处理子模块,用于基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵。
可选地,所述所需码长的LDPC码校验矩阵基于所述选取的预设LDPC码校验矩阵的基矩阵和子循环矩阵而生成。
可选地,所述所需码长的LDPC码校验矩阵采用的基矩阵与所述选取的预设LDPC码校验矩阵采用的基矩阵相同;或者所述所需码长的LDPC码校验矩阵采用的基矩阵是所述选取的预设LDPC码校验矩阵采用的基矩阵的子集;或者所述所需码长的LDPC码校验矩阵采用的基矩阵是由所述选取的预设LDPC码校验矩阵采用的基矩阵扩展而得到。
在一实施例中,所述处理子模块用于对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵。
在一缩短方法对应的具体实施例中,所述处理子模块用于:获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行缩短,生成所需码长的LDPC码校验矩阵的子循环矩阵;根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩 阵的列重大于或等于1。
在一缩短方法对应的具体实施例中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
Figure PCTCN2017095428-appb-000020
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
在另一实施例中,所述处理子模块用于对预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
在一扩展方法对应的具体实施例中,所述处理子模块用于:获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行扩展,生成所需码长的LDPC码校验矩阵的子循环矩阵;根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
可选地,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
在一缩短方法对应的具体实施例中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
j=i;或者
Figure PCTCN2017095428-appb-000021
其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
在另一实施例中,所述第一数值为至少两个,所述处理子模块用于:当所需码长的LDPC码校验矩阵的码长位于相邻的两个预设LDPC码校验矩阵的码长之间时,从所述相邻的两个预设LDPC码校验矩阵中选取出与所需码长的LDPC码校验矩阵的码长最接近的预设LDPC码校验矩阵;当选取预设LDPC码校验矩阵的码长大于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵;当选取预设LDPC码校验矩阵的码长小于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
本公开还提供一种通信设备,包括上述任一实施例中的LDPC编码装置。
请参考图8,本公开一些实施例还提供一种基站,包括:处理器81,存储器82,总线接口83以及收发机84。其中,处理器81通过总线接口83与存储器82连接,用于读取存储器82中的程序,执行下列过程:获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;基于所述所需码长的LDPC码校验矩阵,对信息进行编码。收发机84,通过总线接口与处理器81连接,用于在处理器81的控制下接收和发送数据。
其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器81代表的一个或多个处理器和存储器82代表的存储器的各种电路 链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机84可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器81负责管理总线架构和通常的处理,存储器82可以存储处理器81在执行操作时所使用的数据。
处理器81负责管理总线架构和通常的处理,存储器82可以存储处理器71在执行操作时所使用的数据。
请参考图9,本公开一些实施例还提供一种终端,包括:处理器91,存储器92,总线接口93、收发机94以及用户接口95。其中,处理器91通过总线接口93与存储器92连接,用于读取存储器92中的程序,执行下列过程:获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;基于所述所需码长的LDPC码校验矩阵,对信息进行编码。收发机94,通过总线接口与处理器91连接,用于在处理器91的控制下接收和发送数据。
其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器91代表的一个或多个处理器和存储器92代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机94可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口95还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器91负责管理总线架构和通常的处理,存储器92可以存储处理器 91在执行操作时所使用的数据。
以上所述是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。

Claims (32)

  1. 一种低密度奇偶校验码LDPC编码方法,包括:
    获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;
    根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;
    基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
  2. 根据权利要求1所述的LDPC编码方法,其中,所述根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:
    从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;
    基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵。
  3. 根据权利要求2所述的LDPC编码方法,其中,所述所需码长的LDPC码校验矩阵基于所述选取的预设LDPC码校验矩阵的基矩阵和子循环矩阵而生成。
  4. 根据权利要求2所述的LDPC编码方法,其中,
    所述所需码长的LDPC码校验矩阵采用的基矩阵与所述选取的预设LDPC码校验矩阵采用的基矩阵相同;或者
    所述所需码长的LDPC码校验矩阵采用的基矩阵是所述选取的预设LDPC码校验矩阵采用的基矩阵的子集;或者
    所述所需码长的LDPC码校验矩阵采用的基矩阵是由所述选取的预设LDPC码校验矩阵采用的基矩阵扩展而得到。
  5. 根据权利要求2所述的LDPC编码方法,其中,所述基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:
    对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵。
  6. 根据权利要求5所述的LDPC编码方法,其中,所述对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵的步骤包括:
    获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;
    根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行缩短,生成所需码长的LDPC码校验矩阵的子循环矩阵;
    根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
  7. 根据权利要求5所述的LDPC编码方法,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
  8. 根据权利要求7所述的LDPC编码方法,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
    Figure PCTCN2017095428-appb-100001
    其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
  9. 根据权利要求7所述的LDPC编码方法,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j通过下述方法得到:
    Figure PCTCN2017095428-appb-100002
    其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
  10. 根据权利要求2所述的LDPC编码方法,其中,所述根据第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:
    对预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
  11. 根据权利要求10所述的LDPC编码方法,其中,所述对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵的步骤包括:
    获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;
    根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行扩展,生成所需码长的LDPC码校验矩阵的子循环矩阵;
    根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
  12. 根据权利要求11所述的LDPC编码方法,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
  13. 根据权利要求12所述的LDPC编码方法,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
    j=i;或者
    Figure PCTCN2017095428-appb-100003
    其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
  14. 根据权利要求12所述的LDPC编码方法,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j通过下述方法得到:
    j=i;或者
    Figure PCTCN2017095428-appb-100004
    其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
  15. 根据权利要求2所述的LDPC编码方法,其中,所述第一数值为至少两个,所述基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵的步骤包括:
    当所需码长的LDPC码校验矩阵的码长位于相邻的两个预设LDPC码校验矩阵的码长之间时,从所述相邻的两个预设LDPC码校验矩阵中选取出与所需码长的LDPC码校验矩阵的码长最接近的预设LDPC码校验矩阵;
    当选取预设LDPC码校验矩阵的码长大于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵;
    当选取预设LDPC码校验矩阵的码长小于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
  16. 一种低密度奇偶校验码LDPC编码装置,包括:
    获取模块,用于获取第一数值个不同码长的预设LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;
    生成模块,用于根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;
    编码模块,用于基于所述所需码长的LDPC码校验矩阵,对信息进行编码。
  17. 根据权利要求16所述的LDPC编码装置,其中,所述生成模块包括:
    选取子模块,用于从所述第一数值个不同码长的预设LDPC码校验矩阵中,选取一预设LDPC码校验矩阵;
    处理子模块,用于基于选取的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵。
  18. 根据权利要求17所述的LDPC编码装置,其中,所述所需码长的LDPC码校验矩阵基于所述选取的预设LDPC码校验矩阵的基矩阵和子循环矩阵而生成。
  19. 根据权利要求17所述的LDPC编码装置,其中,
    所述所需码长的LDPC码校验矩阵采用的基矩阵与所述选取的预设LDPC码校验矩阵采用的基矩阵相同;或者
    所述所需码长的LDPC码校验矩阵采用的基矩阵是所述选取的预设LDPC码校验矩阵采用的基矩阵的子集;或者
    所述所需码长的LDPC码校验矩阵采用的基矩阵是由所述选取的预设LDPC码校验矩阵采用的基矩阵扩展而得到。
  20. 根据权利要求17所述的LDPC编码装置,其中,所述处理子模块用 于对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵。
  21. 根据权利要求20所述的LDPC编码装置,其中,所述处理子模块用于:
    获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;
    根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行缩短,生成所需码长的LDPC码校验矩阵的子循环矩阵;
    根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
  22. 根据权利要求20所述的LDPC编码装置,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
  23. 根据权利要求22所述的LDPC编码装置,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
    Figure PCTCN2017095428-appb-100005
    其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
  24. 根据权利要求22所述的LDPC编码装置,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j通过下述方法得到:
    Figure PCTCN2017095428-appb-100006
    其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
  25. 根据权利要求17所述的LDPC编码装置,其中,所述处理子模块用于对预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
  26. 根据权利要求25所述的LDPC编码装置,其中,所述处理子模块用于:
    获取选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的第一行中非零元素所在的位置;
    根据所述子循环矩阵的第一行中非零元素所在的位置以及所需码长的LDPC码校验矩阵的子循环矩阵的维数,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵进行扩展,生成所需码长的LDPC码校验矩阵的子循环矩阵;
    根据所需码长的LDPC码校验矩阵的所有子循环矩阵,生成所需码长的LDPC码校验矩阵。
  27. 根据权利要求26所述的LDPC编码装置,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于或等于1。
  28. 根据权利要求27所述的LDPC编码装置,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重等于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中非零元素的位置j通过下述方法得到:
    j=i;或者
    Figure PCTCN2017095428-appb-100007
    其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的子循环矩阵为Pi,Pi的维数为z×z,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵为P1 j,P1 j的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
  29. 根据权利要求27所述的LDPC编码装置,其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵的列重大于1时,所述所需码长的LDPC码校验矩阵的子循环矩阵的第一行中某个非零元素的位置j通过下述方法得到:
    j=i;或者
    Figure PCTCN2017095428-appb-100008
    其中,选取的预设LDPC码校验矩阵的基矩阵的非零元素对应的维数为z×z的子循环矩阵的第一行某个非零元素的位置为i,0≤i<z,所需码长的LDPC码校验矩阵的子循环矩阵的维数为t×t,0≤j<t<z,mod为求余函数,N为自然数,i、j、t、z均为整数,offset为预设的一个非负的整数偏置值。
  30. 根据权利要求17所述的LDPC编码装置,其中,所述第一数值为至少两个,所述处理子模块用于:
    当所需码长的LDPC码校验矩阵的码长位于相邻的两个预设LDPC码校验矩阵的码长之间时,从所述相邻的两个预设LDPC码校验矩阵中选取出与所需码长的LDPC码校验矩阵的码长最接近的预设LDPC码校验矩阵;
    当选取预设LDPC码校验矩阵的码长大于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用缩短的方法,得到所需码长的LDPC码校验矩阵;
    当选取预设LDPC码校验矩阵的码长小于所需码长的LDPC码校验矩阵的码长时,对选取的预设LDPC码校验矩阵的基矩阵的非零元素的子循环矩阵采用扩展的方法,得到所需码长的LDPC码校验矩阵。
  31. 一种通信设备,包括如权利要求16-30任一项所述的LDPC编码装置。
  32. 一种通信设备,包括:处理器,存储器以及收发机;其中,
    处理器与存储器连接,用于读取存储器中的程序,执行下列过程:
    获取第一数值个不同码长的预设低密度奇偶校验码LDPC码校验矩阵,所述第一数值个不同码长的预设LDPC码校验矩阵属于包含全部可用码长的LDPC码校验矩阵的集合,所述集合中LDPC码校验矩阵的个数为第二数值,第一数值和第二数值均为正整数,所述第一数值小于第二数值;
    根据所述第一数值个不同码长的预设LDPC码校验矩阵,生成所需码长的LDPC码校验矩阵,所述所需码长的LDPC码校验矩阵为所述集合中除所述预设LDPC码校验矩阵之外的任一LDPC码校验矩阵;
    基于所述所需码长的LDPC码校验矩阵,对信息进行编码;
    收发机,与处理器连接,用于在处理器的控制下接收和发送数据。
PCT/CN2017/095428 2016-08-11 2017-08-01 一种ldpc编码方法、编码装置及通信设备 WO2018028469A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610659356.5A CN107733439B (zh) 2016-08-11 2016-08-11 一种ldpc编码方法、编码装置及通信设备
CN201610659356.5 2016-08-11

Publications (1)

Publication Number Publication Date
WO2018028469A1 true WO2018028469A1 (zh) 2018-02-15

Family

ID=61162687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/095428 WO2018028469A1 (zh) 2016-08-11 2017-08-01 一种ldpc编码方法、编码装置及通信设备

Country Status (2)

Country Link
CN (1) CN107733439B (zh)
WO (1) WO2018028469A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547033B (zh) * 2018-11-23 2022-12-09 中国电子科技集团公司第五十四研究所 一种支持任意码长的ldpc码实现方法
CN111245444B (zh) * 2020-03-20 2022-03-29 清华大学 归一化最小和ldpc译码方法及译码器
CN117335923A (zh) * 2022-07-01 2024-01-02 华为技术有限公司 Uwb系统中ldpc码字的长度确定方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217337A (zh) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
CN104967455A (zh) * 2015-07-09 2015-10-07 北京邮电大学 空间耦合低密度奇偶校验码的递归编码方法
CN105429645A (zh) * 2014-09-17 2016-03-23 上海数字电视国家工程研究中心有限公司 针对低码率ldpc码的校验矩阵、ldpc码字及编码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217337A (zh) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
CN105429645A (zh) * 2014-09-17 2016-03-23 上海数字电视国家工程研究中心有限公司 针对低码率ldpc码的校验矩阵、ldpc码字及编码方法
CN104967455A (zh) * 2015-07-09 2015-10-07 北京邮电大学 空间耦合低密度奇偶校验码的递归编码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHENG, JIAN ET AL.: "A Construction Algorithm with Optimized Shift Value of Circulant Permutation Matrix for QC-LDPC Codes", JOURNAL OF BEIJING UNIVERSITY OF POSTS AND TELECOMMUNICATIONS, vol. 37, no. 1, 28 February 2014 (2014-02-28), pages 16 - 19 *
ZHONG, HAO ET AL.: "Design of VLSI Implementation-Oriented LDPC Codes, Vehicular Technology Conference", VTC 2003-FALL. 2003 IEEE 58TH, 9 October 2003 (2003-10-09), pages 670 - 673, XP010700823 *

Also Published As

Publication number Publication date
CN107733439B (zh) 2020-02-07
CN107733439A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
US11265018B2 (en) Method and device for transmitting data
US10341044B2 (en) Method for encoding information in communication network
US11374591B2 (en) Apparatus and method for channel coding in communication system
JP7471357B2 (ja) 符号化方法、復号方法、装置、および装置
RU2369008C2 (ru) Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока
WO2018166423A1 (zh) 极化码编码的方法和装置
CN109075799A (zh) 极化Polar码的编译码方法及装置
WO2017121334A1 (zh) 一种数据处理的方法和装置
WO2018171401A1 (zh) 一种信息处理方法、装置及设备
US10924210B2 (en) Method, apparatus, and device for determining polar code encoding and decoding
US20200186168A1 (en) Method and device for determining check matrix, and computer storage medium
WO2018137518A1 (zh) 数据的传输方法和装置
US11239945B2 (en) Encoding method, decoding method, apparatus, and device
US11075653B2 (en) Polar code encoding and decoding method and apparatus
CN109391367B (zh) 通信方法和装置
WO2018028469A1 (zh) 一种ldpc编码方法、编码装置及通信设备
WO2021254422A1 (zh) Polar码编码方法、Polar码译码方法及其装置
WO2022188752A1 (zh) 一种编译码方法及装置
US11115052B2 (en) Information processing method and communications apparatus
KR102520788B1 (ko) 채널 상태 정보 인코딩 방법 및 장치, 저장 매체 및 프로세서
US11463108B2 (en) Information processing method and communications apparatus
EP3602797A1 (en) Puncturing of polar codes with complementary sequences
WO2020147527A1 (zh) 一种极化编译码方法及装置
US20230058149A1 (en) Encoding method and apparatus, decoding method and apparatus, and device
WO2018210216A1 (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: 17838599

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

Country of ref document: EP

Kind code of ref document: A1