WO2018201540A1 - 信息处理的方法、通信装置 - Google Patents

信息处理的方法、通信装置 Download PDF

Info

Publication number
WO2018201540A1
WO2018201540A1 PCT/CN2017/086227 CN2017086227W WO2018201540A1 WO 2018201540 A1 WO2018201540 A1 WO 2018201540A1 CN 2017086227 W CN2017086227 W CN 2017086227W WO 2018201540 A1 WO2018201540 A1 WO 2018201540A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
sub
base
rows
row
Prior art date
Application number
PCT/CN2017/086227
Other languages
English (en)
French (fr)
Inventor
郑晨
马亮
刘晓健
魏岳军
曾歆
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201710381396.2A external-priority patent/CN108809328B/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to BR112019023243A priority Critical patent/BR112019023243A2/pt
Priority to PCT/CN2017/087073 priority patent/WO2018201547A1/zh
Priority to PCT/CN2017/087830 priority patent/WO2018201553A1/zh
Priority to PCT/CN2017/087943 priority patent/WO2018201554A1/zh
Priority to PCT/CN2017/090417 priority patent/WO2018201597A1/zh
Priority to BR112019023179A priority patent/BR112019023179A2/pt
Priority to RU2019128364A priority patent/RU2740151C1/ru
Priority to MYPI2019004703A priority patent/MY195263A/en
Priority to JP2019546359A priority patent/JP7171590B2/ja
Priority to MX2019010697A priority patent/MX2019010697A/es
Priority to EP23170415.6A priority patent/EP4250571A3/en
Priority to KR1020197023750A priority patent/KR102205936B1/ko
Priority to DE202017007614.4U priority patent/DE202017007614U1/de
Priority to CA3051761A priority patent/CA3051761C/en
Priority to EP17908540.2A priority patent/EP3540948A4/en
Priority to PCT/CN2017/092877 priority patent/WO2018201609A1/zh
Priority to CN201780090448.9A priority patent/CN110999091B/zh
Priority to AU2017413002A priority patent/AU2017413002B2/en
Priority to BR112019018329A priority patent/BR112019018329B8/pt
Publication of WO2018201540A1 publication Critical patent/WO2018201540A1/zh
Priority to US16/205,186 priority patent/US10432219B2/en
Priority to ZA2019/05493A priority patent/ZA201905493B/en
Priority to US16/584,911 priority patent/US10924134B2/en
Priority to US17/161,539 priority patent/US11374591B2/en
Priority to US17/742,183 priority patent/US11777521B2/en
Priority to JP2022175642A priority patent/JP2023014085A/ja
Priority to US18/448,782 priority patent/US20240048155A1/en

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • Embodiments of the present invention relate to the field of communications, and in particular, to a method for information processing and a communication device.
  • Low density parity check (LDPC) code is a kind of linear block coding with sparse check matrix, which has the characteristics of flexible structure and low decoding complexity. Because it uses a partially parallel iterative decoding algorithm, it has a higher throughput than the traditional Turbo code.
  • the LDPC code can be used for the error correction code of the communication system, thereby improving the reliability and power utilization of the channel transmission.
  • LDPC codes can also be widely used in space communication, optical fiber communication, personal communication systems, ADSL, and magnetic recording devices. At present, LDPC codes have been considered as one of channel coding methods in the fifth generation mobile communication.
  • an LDPC matrix with special structured features can be used.
  • the LDPC matrix H with special structuring features can be obtained by extending the LDPC basis matrix of a quasi-cycle (QC) structure.
  • the length of information bit sequences to be encoded ranges from tens to hundreds, and the code rate required by the communication system is also flexible. How to support the encoding of information length sequences of various lengths, in line with the code rate requirements of the system, becomes a problem to be solved.
  • Embodiments of the present invention provide a method, a communication device, and a system for information processing, which can support encoding and decoding of information bit sequences of various lengths, and meet the flexible code length code rate requirements of the system.
  • an encoding method and an encoder are provided that encode an input sequence using a low density parity check LDPC matrix.
  • a decoding method and decoder are provided that decode an input sequence using a low density parity check LDPC matrix.
  • the base map of the LDPC matrix is represented as a matrix of m rows and n columns, m is an integer greater than or equal to 5, and n is an integer greater than or equal to 27.
  • the base map includes at least a sub-matrix A and a sub-matrix B, wherein the sub-matrix A is a matrix of 5 rows and 22 columns; the sub-matrix B is a matrix of 5 rows and 5 columns, wherein the sub-matrix B includes A column with a weight of 3 and a sub-matrix B' of a double-diagonal structure.
  • the weight of one row satisfies greater than or equal to 1, and is less than or equal to 5, and the weights of the remaining four rows respectively satisfy greater than or equal to 17, and Less than or equal to 21.
  • the matrix composed of the sub-matrix A and the sub-matrix B may include a 5-row matrix block composed of the 0th row to the 4th row and the 0th column to the 26th column in the base map 30a, wherein Lines can be exchanged and columns can be exchanged with each other.
  • a portion of the base matrix of the LDPC matrix corresponding to the sub-matrix A and the sub-matrix B may be represented as any one of the base matrices 30b-1, 30b-2, 30b-3, 30b-4, and 30b-5. .
  • the third row and the zero row of the matrix block formed by the sub-matrix A and the sub-matrix B in the base map 30a may be exchanged, the second row and the first row are exchanged, and the 23rd column is Exchange with column 25 to obtain the core matrix in base map 80a.
  • portions of the base matrix of the LDPC matrix corresponding to the sub-matrix A and the sub-matrix B may be represented as base matrices 80b-1, 80b-2, 80b-3, 80b-4, 80b-5, and 80b- 6, wherein 80b-4 is a matrix of 30b-3 after row and column exchange, 80b-5 is a matrix of 30b-4 after row and column exchange, and 80b-6 is a matrix of 30b-5 after row and column exchange.
  • the LDPC code requires different spreading factors Z. Based on the foregoing implementation manner, in a possible implementation manner, a base matrix corresponding thereto is adopted based on different spreading factors Z.
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 30b in FIG. 3b. -1 is shown;
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 30b in FIG. 3b. -2 is shown;
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 3b.
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 30b in FIG. 3b. -4 is shown;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-5 of FIG. 3b.
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-1 of FIG. 8b;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-2 of FIG. 8b;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-3 of FIG. 8b;
  • the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 8b.
  • the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 80b of FIG. 8b. -5 is shown;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-6 in the figure.
  • the sub-matrix A may further include two columns of built-in punctured bit columns.
  • a sub-matrix C, a sub-matrix D, and a sub-matrix E of corresponding sizes may be added based on the core matrix to obtain different code rates.
  • the sub-matrix C is an all-zero matrix of 5 rows and m D columns;
  • the sub-matrix D is a matrix of 27 rows of m D rows;
  • the sub-matrix E is an identity matrix of m D rows and m D columns;
  • n D is an integer and 0 ⁇ m D ⁇ 41.
  • the sub-matrix D includes m D rows in the matrix F, the matrix F is 41 rows and 27 columns, and the row weights of the rows of the matrix F are 7, 7, 9, 8, 7, 7, 8, 6 respectively. ,6,5,6,5,5,6,5,5,5,5,5,4,4,4,5,4,5,4,4,4,4,3,4,4,4,4 , 3, 3, 4, 4, 3, 3, 3, 4.
  • the matrix F is a matrix composed of the 5th row to the 45th row and the 0th column to the 26th column in the base map 30a.
  • the offset matrix of the matrix F can be represented as any of the base matrices 30c-1, 30c-2, 30c-3, 30c-4, and 30c-5.
  • lines 17 and 19 of base map 30a may be swapped, and columns 39 and 41 may be swapped to obtain base map matrix 80a as shown in Figure 8a.
  • the sub-matrix D includes m D rows in the matrix F, and the m D rows may not be exchanged in rows, or one or more rows may be exchanged between rows, and the sub-matrix E is still a diagonal structure, for example, a sub-matrix
  • the matrix D includes m D rows in the matrix F, wherein the 12th row and the 14th row of the matrix F are row-exchanged, and the sub-matrix E is still in a diagonal structure, thereby obtaining the base map 80a.
  • the LDPC code requires different spreading factors Z.
  • a base matrix corresponding thereto is adopted based on different spreading factors Z.
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 30c-1;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 30c-2;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 30c-3 ;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 30c-4;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 30c-5.
  • the set of spreading factors may be ⁇ 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104 , 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384 ⁇ :
  • the offset matrix of the matrix F may be as shown in 80c-1;
  • the offset matrix of the matrix F may be as shown in 80c-2;
  • the offset matrix of the matrix F may be as shown in 80c--3;
  • the offset matrix of the matrix F may be as shown in 80c-4;
  • the offset matrix of the matrix F may be as shown in 80c-5;
  • the offset matrix of the matrix F may be as shown in 80c-6.
  • the base map of the LDPC matrix is represented as a matrix of m rows and n columns, m is an integer greater than or equal to 7, and n is an integer greater than or equal to 17;
  • the base map includes at least a sub-matrix A and a sub-matrix B, wherein
  • the sub-matrix A is a matrix of 7 rows and 10 columns;
  • the sub-matrix B is a matrix of 7 rows and 7 columns, and the sub-matrix B includes a column having a weight of 3 and a sub-matrix B' of a double-diagonal structure.
  • the weight of one row satisfies greater than or equal to 1, and is less than or equal to 5, and the weights of the remaining six rows respectively satisfy greater than or equal to 6, and are less than or equal to 10 .
  • one row has a weight of 3
  • three rows have a weight of 8
  • the remaining three rows have a weight of 7.
  • the matrix formed by the sub-matrix A and the sub-matrix B may include 7 rows composed of the 0th row to the 6th row and the 0th column to the 16th column in the base map 40a, where the row They can be exchanged and columns can be exchanged with each other.
  • portions of the base matrix of the LDPC matrix corresponding to the sub-matrix A and the sub-matrix B may be represented as base matrices 4b-1, 4b-2, 4b-3, 4b-4, 4b-5, and 4b- Any of the 6.
  • the LDPC code requires different spreading factors Z. Based on the foregoing implementation manner, in a possible implementation manner, a base matrix corresponding thereto is adopted based on different spreading factors Z.
  • the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 4b in FIG. 4b. -1 is shown;
  • the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 4b in FIG. 4b. -2 is shown;
  • the portion of the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 4b-3 of FIG. 4b;
  • the portion of the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 4b-4 of FIG. 4b;
  • the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 4b-5. .
  • the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 4b-6. Shown.
  • the sub-matrix A may further include two columns of built-in punctured bit columns.
  • a sub-matrix C, a sub-matrix D, and a sub-matrix E of corresponding sizes may be added based on the core matrix to obtain different code rates.
  • the sub-matrix C is an all-zero matrix of 7 rows and m D columns;
  • the sub-matrix D is a matrix of 17 columns of m D rows;
  • the sub-matrix E is an identity matrix of m D rows and m D columns;
  • n D is an integer and 0 ⁇ m D ⁇ 35.
  • the sub-matrix D includes m D rows in the matrix F, the matrix F is 35 rows and 17 columns, and the row weights of the rows of the matrix F are 5, 4, 4, 4, 4, 4, 4, 3, respectively. ,3,3,4,2,3,3,4,4,2,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3 , 3, 2.
  • the matrix F is a matrix composed of the 7th to 41st rows and the 0th column to the 16th column in the base map 40a.
  • the offset matrix of the matrix F can be represented as any one of the base matrices 4c-1, 4c-2, 4c-3, 4c-4, and 4c-5.
  • the LDPC code requires different spreading factors Z.
  • a base matrix corresponding thereto is adopted based on different spreading factors Z.
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 4c-1;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 4c-2;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 4c-3;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 4c-4;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 4c-5;
  • the sub-matrix D in the base matrix may include m D rows of the offset matrix as shown in 4c-6 .
  • the base map and the base matrix of the LDPC matrix in the first implementation manner can satisfy the performance requirement of the code block with a block length of 352 to 8448 bits, and the base map and the base matrix of the LDPC matrix in the second implementation manner can satisfy the block length. Performance requirements for code blocks of 40 to 2560 bits.
  • the method further includes: determining the expansion factor Z.
  • the value of the spreading factor Z is determined according to the length K of the input sequence. For example, if the input sequence length is K, a minimum value satisfying 22*Z ⁇ K can be determined among a plurality of system-defined spreading factors.
  • encoding the input sequence using an LDPC matrix includes:
  • the input sequence is encoded using an LDPC matrix corresponding to the spreading factor Z.
  • decoding the input sequence using the LDPC matrix includes:
  • the input sequence is decoded using an LDPC matrix corresponding to the spreading factor Z.
  • the base matrix of the LDPC matrix may be stored in a memory.
  • the base map of the LDPC matrix is stored in the memory, and the offset value of the non-zero element in the base matrix of the LDPC matrix may be Saved in memory.
  • At least one of the base map and the base matrix used for LDPC encoding or decoding is at least one of a base map and a base matrix of the foregoing LDPC matrix, or Column exchange, or row exchange and column exchange.
  • a communication apparatus can include a module for performing any of the possible implementations of the first aspect of the method design described above.
  • the module can be software and/or hardware.
  • the communication device provided by the third aspect comprises the encoder, the determining unit and the processing unit according to the first aspect described above.
  • the determining unit is operative to determine a spreading factor Z required to encode the input sequence.
  • the processing unit is configured to encode the input sequence by using an LDPC matrix corresponding to the spreading factor Z.
  • the communication device further includes a transceiver, and the transceiver is configured to send a signal corresponding to the encoded information data.
  • a communication apparatus can include a module for performing any of the possible implementations of the second aspect of the method design described above.
  • the module can be software and/or hardware.
  • the communication device provided by the fourth aspect includes the decoder, the obtaining unit and the processing unit according to the second aspect described above.
  • the obtaining unit is configured to acquire a soft value and an expansion factor Z of the LDPC code.
  • the processing unit is configured to decode the soft value of the LDPC code based on the base matrix H B corresponding to the spreading factor Z to obtain an information bit sequence.
  • the communication device also includes a transceiver for receiving a signal comprising an LDPC based code.
  • a communication device in a fifth aspect, includes one or more processors.
  • one or more of the processors may implement the functions of the encoder of the first aspect, and in another possible design, the encoder of the first aspect may be the processor In part, the processor can implement other functions in addition to the functions of the encoder described in the first aspect.
  • one or more of the processors may implement the functions of the decoder of the second aspect, and in another possible design, the decoder of the second aspect may be Part of the processor.
  • the communication device may further include a transceiver and an antenna.
  • the communication device may further include a device for generating a transport block CRC, a device for code block splitting and CRC check, an interleaver for interleaving, a modulator for modulation processing, and the like.
  • the communication device may further include a demodulator for demodulation operation, a deinterleaver for deinterleaving, a device for de-rate matching, and the like.
  • a demodulator for demodulation operation e.g., a demodulator for demodulation operation
  • a deinterleaver for deinterleaving e.g., a device for de-rate matching
  • the functionality of these devices can be implemented by one or more processors.
  • the functionality of these devices can be implemented by one or more processors.
  • an embodiment of the present invention provides a communication system, including the communication device according to the above third aspect, and the communication device according to the fourth aspect.
  • an embodiment of the present invention provides a communication system, where the system includes one or more communication devices according to the fifth aspect.
  • an embodiment of the present invention provides a computer storage medium having stored thereon a program, and when executed, causes a computer to perform the method described in the above aspect.
  • Yet another aspect of the present application provides a computer program product comprising instructions, when run on a computer, The computer is caused to perform the methods described in the various aspects above.
  • the method, device, communication device and communication system of the information processing according to the embodiments of the present invention can adapt to the flexible code length code rate requirement of the system in coding performance and error leveling.
  • 1 is a schematic diagram of a base map, a base matrix, and a cyclic permutation matrix of an LDPC code
  • FIG. 2 is a schematic structural diagram of a base diagram of an LDPC code
  • FIG. 3a is a schematic diagram of a LDPC code base diagram according to an embodiment of the present invention.
  • 3b is a schematic diagram of a base matrix of an LDPC code according to another embodiment of the present invention.
  • 3c is a schematic diagram of a base matrix of an LDPC code according to another embodiment of the present invention.
  • 4a is a schematic diagram of a LDPC code base diagram according to another embodiment of the present invention.
  • 4b is a schematic diagram of a base matrix of an LDPC code according to another embodiment of the present invention.
  • 4c is a schematic diagram of a base matrix of an LDPC code according to another embodiment of the present invention.
  • FIG. 5a is a schematic diagram of performance provided by another embodiment of the present invention.
  • FIG. 5b is a schematic diagram of performance provided by another embodiment of the present invention.
  • FIG. 5c is a schematic diagram of performance provided by another embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of an information processing apparatus according to another embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a communication system according to another embodiment of the present invention.
  • FIG. 8a is a schematic diagram of a LDPC code base diagram according to another embodiment of the present invention.
  • FIG. 8b is a schematic diagram of a base matrix of an LDPC code according to another embodiment of the present invention.
  • FIG. 8c is a schematic diagram of a base matrix of an LDPC code according to another embodiment of the present invention.
  • FIG. 9a is a schematic diagram of a LDPC code base diagram according to another embodiment of the present invention.
  • 9b is a schematic diagram of a base matrix of an LDPC code according to another embodiment of the present invention.
  • FIG. 10a is a schematic diagram of a LDPC code base diagram according to another embodiment of the present invention.
  • FIG. 10b is a schematic diagram of a basis matrix of an LDPC code according to another embodiment of the present invention.
  • the “communication device” may be a chip (such as a baseband chip, or a data signal processing chip, or a general purpose chip, etc.), a terminal, a base station, or other network device.
  • a terminal is a device having a communication function, and may include a handheld device having a wireless communication function, an in-vehicle device, a wearable device, a computing device, or other processing device connected to a wireless modem.
  • Terminals can be called different names in different networks, such as: user equipment, mobile stations, subscriber units, stations, cellular phones, personal digital assistants, wireless modems, wireless communication devices, handheld devices, laptops, cordless phones, Wireless local loop station, etc.
  • a base station also referred to as a base station device, is a device deployed in a radio access network to provide wireless communication functions.
  • the name of the base station may vary in different wireless access systems, for example in a universal mobile communication system (Universal Mobile)
  • UMTS Telecommunications System
  • NodeB Node B
  • eNB evolved Node B
  • NR new radio
  • the base station is called a transmission reception point (TRP) or a next generation node B (gNB), or other base stations in various evolved networks may also adopt other names.
  • TRP transmission reception point
  • gNB next generation node B
  • the invention is not limited to this.
  • the LDPC code can usually be represented by a parity check matrix H.
  • the parity check matrix H of the LDPC code can be obtained by a base graph and a shift value.
  • the base map can usually include m*n matrix elements, which can be represented by a matrix of m rows and n columns.
  • the value of the matrix element is 0 or 1, and the element with a value of 0 is sometimes called a zero element. , indicating that the element can be replaced by Z*Z's zero matrix.
  • An element with a value of 1, sometimes referred to as a non-zero element indicates that the element can be a cyclic permutation matrix of Z*Z (circulant permutation) Matrix) replacement.
  • each matrix element represents an all-zero matrix or a cyclic permutation matrix.
  • the line number and column number of the base map and the matrix are numbered from 0, just for the convenience of understanding. It can be understood that the line number and column number can also be numbered from 1, and the corresponding line number and column number are incremented by 1 based on the line number and column number shown in this article.
  • the element value of the i-th row and the j-th column in the base map is 1, and the offset value is P i,j , P i,j is an integer greater than or equal to 0, the value of the j-th column of the i-th row is 1
  • the element can be replaced by a cyclic permutation matrix of Z*Z corresponding to P i,j , which can be obtained by cyclically shifting the unit matrix of Z*Z by P i, j times to the right.
  • each element with a value of 0 in the base map is replaced by an all-zero matrix of Z*Z, and each element having a value of 1 is replaced by a cyclic permutation matrix of Z*Z corresponding to its offset value,
  • Z is a positive integer, which can also be called a lifting factor, which can be determined according to the code block size supported by the system and the size of the information data. It can be seen that the size of the parity check matrix H is (m*Z)*(n*Z).
  • the system usually defines a base matrix of m*n.
  • Each element in the base matrix corresponds to the position of each element in the base map.
  • the zero elements in the base map are in the base matrix.
  • the medium position is unchanged, and is represented by -1.
  • the non-zero element with the value of the jth column in the i-th row and the j-th column in the base map is unchanged in the base matrix, and can be expressed as P i,j , P i,j is greater than or equal to A positive integer of 0.
  • the base matrix is sometimes referred to as an offset matrix of the base matrix.
  • a base matrix corresponding to the base map 10a is shown.
  • the LDPC code used in the wireless communication system has a matrix size of m*n, and may include five sub-matrices A, B, C, D, and E, wherein the weight of the matrix is determined by the number of non-zero elements.
  • the weight of the row refers to the number of non-zero elements included in a row
  • the weight of the column refers to the number of non-zero elements included in a column.
  • Submatrix A is a matrix of m A rows and n A columns, which may be of size M A *n A , where each column corresponds to Z systematic bits in the LDPC code, and system bits are sometimes referred to as information bits.
  • the sub-matrix B is a square matrix of m A rows and m A columns, and its size may be m A *m A , and each column corresponds to Z parity bits in the LDPC code.
  • the sub-matrix B includes a sub-matrix B' with a double-diagonal structure and a matrix column with a weight of 3 (referred to as a 3-column re-column), wherein the matrix column with a column weight of 3 is located before the sub-matrix B', as shown in FIG.
  • the sub-matrix B may further include a matrix column having a column weight of 1 (referred to as a single column re-column), and the single-column re-column may be located in the first column or the last column of the sub-matrix B, and the non-zero elements in the sub-matrix B
  • the last line causes the row of the last row of the submatrix B to have a weight of 1, as shown by 20b or 20c in FIG.
  • the matrix generated based on the sub-matrices A and B is usually a core matrix and can be used to support high code rate encoding.
  • the sub-matrix C is an all-zero matrix having a size of m A ⁇ (n - (m A + n A )).
  • the sub-matrix E is an identity matrix having a size of (mm A ) ⁇ (mm A ).
  • the submatrix D has a size of (mm A ) ⁇ (n A + m A ) and is generally used to generate a low bit rate check bit.
  • the structure of the two parts of the sub-matrices A and D is one of the factors influencing the coding performance of the LDPC code.
  • the LDPC code can be obtained based on the base map and the base matrix.
  • the density evolution method of the base map or the base matrix can determine the upper performance limit of the LDPC code, and the error leveling layer of the LDPC code is determined according to the offset value in the base matrix. Improving the performance of the compiled code and reducing the error leveling layer is one of the goals of determining the base map and the base matrix.
  • the code length in the wireless communication system is flexible, and may be a small block length code block such as 40 bits or 1280 bits, or a large block length code block such as 5000 bits 8448 bits.
  • 3a, 3b, and 3c are respectively an example of a base map and a base matrix of an LDPC code obtained according to a density evolution method, which can satisfy performance requirements of a code block having a block length of 352 to 8448 bits
  • FIGS. 4a, 4b, and 4c are respectively based on Another baseband and base matrix example of the LDPC code and its core matrix obtained by the density evolution method can satisfy the performance requirements of the code block with a block length of 40 to 2560 bits.
  • the column number and the row number are shown in Fig. 5a and Fig. 5b respectively.
  • 3b shows the performance of the LDPC code at two different code rates.
  • Figure 5c shows the performance of the LDPC code shown in Figures 4a to 4c.
  • Figure 3a shows an example of a base map 30a of an LDPC code, in which the top row 0-67 in the figure represents the column number, and the leftmost column 0-45 represents the row number, that is, the matrix size of the base map is 46 rows and 68 columns. .
  • the sub-matrix A corresponds to a systematic bit, and has a size of 5 rows and 22 columns, and is composed of elements of the 0th row to the 4th row and the 0th column to the 21st column in the base map 30a;
  • the sub-matrix B corresponds to a parity bit, and has a size of 5 rows and 5 columns, and is composed of elements of the 0th row to the 4th row and the 22nd column to the 26th column in the base map 30a;
  • Submatrix A and submatrix B form the core matrix part of the LDPC code base map, that is, form a matrix of 5 rows and 27 columns, which can be used for high bit rate coding.
  • the row weight of the last row (the fourth row) of the submatrix B and the column weight of the last column (the fourth column of the submatrix B, the 26th column of the core matrix) are both 1, and the matrix B includes 1 column and 3 columns.
  • Re-column that is, column 0 of the sub-matrix B (column 22 of the core matrix) has a column weight of 3, columns 1 to 3 of the sub-matrix B (columns 23 to 25 of the core matrix), and behaviors 0 to 3 Diagonal structure.
  • the core matrix of the base map 30a includes four rows of rows having a weight of 19, and one row of rows having a weight of three. That is, the weights of the rows in the core matrix composed of the submatrix A and the submatrix B are 19, 19, 19, 19, and 3, respectively. It should be noted that the order of the rows in the core matrix can be exchanged, for example, the 0th row and the 2nd row are exchanged, the 1st row and the 3rd row are exchanged, and the like.
  • the row having a weight of 3 may be as shown in the fourth row of the core matrix of the base map 30a, and the columns 0 to 26; the row having the weight 19 may be the 0th to the 3rd rows in the core matrix of the base map 30a, respectively.
  • the order of the columns can also be exchanged.
  • the 3rd row and the 0th row of the core matrix can be exchanged, and the 2nd row and the 1st row can be exchanged.
  • the 23rd column and the 25th column can also be used.
  • the column is exchanged to obtain the core matrix portion of the base map 80a as shown in Fig. 8a, that is, the matrix portion composed of the 0th to 5th rows and the 0th column to the 26th column in 80a. Since the sub-matrix C is an all-zero matrix, the weights of the rows of the base map 80a after row switching and column switching are not changed.
  • a small amount of modification to the matrix elements is acceptable for performance.
  • a small number of modifications may be made based on the core matrix of the base map 30a, for example, where the weight of one row satisfies greater than or equal to 1, and is less than or equal to 5, and the weights of the remaining four rows respectively satisfy greater than or Equal to 17, and less than or equal to 21.
  • 1 row has a weight of 2
  • the remaining 4 rows have a weight of 18, or 1 row has a weight of 4
  • the remaining 4 rows have weights of 17, 18, 19, 19, and so on. It can be understood that the weights of some of the lines may be increased or decreased by 1 to 2 according to the solution provided by the present application, which is not limited in this application.
  • the rows with the row weight of 1 in the submatrix B are usually in the same row.
  • the number of built-in punctured bit columns is 2, that is, the 0th column and the 1st column are built-in punctured bit columns, as shown in the base map 30a or 80a, in the 4th row, the 0th column and the 1st column.
  • the elements are non-zero elements, the elements in columns 2 through 25 are zero elements, the elements in column 26 are non-zero elements, and the weight in row 4 is 3, not only in the core matrix, but also in the weight of the row.
  • the weight of the rows in the graph matrix is also minimal. This setup improves the performance of encoding and decoding.
  • the LDPC code requires different spreading factors Z.
  • the spreading factor Z may comprise one or more of the following designs: 16, 18, 20, 22, 24, 26, 28, 30, 32, 36 ,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320 , 352,384.
  • the base matrix corresponding thereto can be adopted based on different spreading factors Z, respectively.
  • An example of a plurality of base matrices of the core matrix in the base map 30a is shown in Figure 3b.
  • Each base matrix is obtained based on the core matrix of the base map 30a and the spreading factor Z, wherein the non-zero elements of the i-th row and the j-th column in the base map 30a are offset values P i in the i-th row and the j-th column of the base matrix , j , the zero element in the base map 30a is represented by -1 or null in the offset matrix.
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 30b in FIG. 3b. -1 is shown;
  • the base map 30a The portion of the base matrix corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-2 in FIG. 3b;
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 3b.
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 30b in FIG. 3b. -4 is shown;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-5 in the figure.
  • the set of spreading factors may be ⁇ 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384 ⁇ :
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-6 of FIG. 3b;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-7 in FIG. 3b;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-8 of FIG. 3b;
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 3b.
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 30b in FIG. 3b. -4 is shown;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-5 in the figure.
  • the base matrix corresponding to the base map may also be more, and the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may correspond to different Base matrix, for example:
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-6 of FIG. 3b;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-7 in FIG. 3b;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-8 of FIG. 3b;
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-9 or 30b-10 in FIG. 3b. ;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-3 in FIG. 3b;
  • the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 30b in FIG. 3b. -4 is shown;
  • the portion of the base matrix of the base map 30a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 30b-5 in the figure.
  • the set of spreading factors may be ⁇ 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384 ⁇ :
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-1 of FIG. 8b;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-2 of FIG. 8b;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-3 of FIG. 8b;
  • the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 8b.
  • the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 80b of FIG. 8b. -5 is shown;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-6 in the figure.
  • the base matrix corresponding to the base map may also be more, and the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be different.
  • Base matrix for example, where:
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-1 of FIG. 8b;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-2 of FIG. 8b;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-3 of FIG. 8b;
  • the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-7 or 80b-8 in FIG. 8b. ;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-4 in FIG. 8b;
  • the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 80b of FIG. 8b. -5 is shown;
  • the portion of the base matrix of the base map 80a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 80b-6 in the figure.
  • the rows in the base matrix are also interchangeable, and the columns can be exchanged. If the base map is exchanged by at least one of row switching or column switching, the base matrix of the corresponding portion is also exchanged the same.
  • 80b-1 is a matrix after row and column exchange corresponding to 30b-6
  • 80b-2 is a matrix after row and column corresponding to 30b-7
  • 80b-3 is corresponding to 30b- 8 matrix after row and column exchange
  • 80b-4 is the matrix after row and column corresponding to 30b-3
  • 80b-5 is the matrix after row and column corresponding to 30b-4
  • 80b-6 is corresponding to 30b-5
  • 80b-7 is the matrix after the row and column exchange corresponding to 30b-9
  • 80b-8 is the matrix after the row and column exchange corresponding to 30b-10.
  • sub-matrices C, sub-matrices D and sub-mass of corresponding size can be added based on the core matrix.
  • Matrix E to get different code rates. Since the sub-matrix C is an all-zero matrix, the sub-matrix is an identity matrix, and its size is mainly determined according to the code rate, and the structure is relatively fixed. The main factors affecting the performance of the compiled code are the core matrix and the sub-matrix D part. Adding rows and columns on the basis of the core matrix to form corresponding C, D and E parts can obtain different code rates.
  • the number of columns of the sub-matrix D is the sum of the number of columns of the sub-matrices A and B, and the number of rows thereof is mainly related to the code rate.
  • the code rate supported by the LDPC code is R m
  • the size of the base map or the base matrix Is m*n, where n n A /R m +p
  • the minimum code rate R m 1/3
  • a matrix F having a size of 41 rows and 27 columns can be defined, and the sub-matrix D can include the m D rows therein, and the sub-matrices A and B and the sub-matrices C and E of the corresponding sizes constitute a code rate of 22/.
  • m D 41
  • the sub-matrix D has a size of 41 rows and 27 columns, that is, the sub-matrix D, that is, the matrix F
  • the row weights are 7, 7, 9, 8, 7, 7, 8, 6, 6, 5, 6, 5, 5, 6, 5, 5, 5, 5 , 4, 4, 4, 5, 4, 5, 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, 3, 4, 4, 3, 3, 3, 4.
  • the weight of each row in the base map 30a is 8, 8, 10, 9, 8, 8, 9, 7, 7, 6, 7, 6, 6, 7, 6, 6, 6,6,5,5,5,6,5,6,5,5,5,5,4,5,5,5,5,4,4,5,5,4,4,4,5.
  • the two rows are orthogonal to each other.
  • the matrix F may be a matrix of quasi-orthogonal structures, and in the matrix block composed of the remaining columns except the built-in punctured bit columns in the matrix F, in the same column of any two adjacent rows There is at most one non-zero element, that is, the matrix block of the matrix F except the built-in punctured bit column has an orthogonal structure.
  • the matrix F is a matrix composed of the 5th row to the 45th row and the 0th column to the 26th column, wherein the 0th column and the 1st column are built-in punched bit columns, and the 5th row is In the matrix block formed by the 45th row and the 2nd column to the 26th column, the 5th row and the 6th row are orthogonal to each other, the 6th row and the 7th row are orthogonal to each other, and the 23rd row and the 24th row are orthogonal to each other.
  • Lines 32 and 33 are orthogonal to each other, and so on.
  • the size of the sub-matrix D in the LDPC code base map is 15 rows and 27 columns, which may be the 0-14th row of the matrix F in the base map 30a, that is, the 5th row to the 19th row of the base map 30a.
  • 19 rows, the 0th column to the 41st column constitutes a matrix part, wherein the sub-matrix E is an element matrix of 15 rows and 15 columns, and the sub-matrix C is an all-zero matrix of 5 rows and 15 columns;
  • the size of the sub-matrix D in the LDPC code base map is 19 rows and 27 columns, which may be from the 0th to 18th rows of the matrix F in the base map 30a, that is, the 5th to 23rd lines of the base map 30a.
  • the line is formed into the matrix portion of the 23rd line, the 0th column to the 41st column, wherein the sub-matrix E is an element matrix of 19 rows and 19 columns, and the sub-matrix C is an all-zero matrix of 5 rows and 19 columns.
  • the base map of the LDPC code and the rows in the base matrix can be mutually exchanged, and the columns can also be exchanged with each other.
  • the 17th line and the 19th line of the base map 30a can be exchanged, and the 39th and 41st columns can be exchanged to obtain the base map matrix 80a as shown in Fig. 8a.
  • the sub-matrix D includes m D rows in the matrix F. The m D rows may not be exchanged in rows, or one or more rows may be exchanged between rows, and the sub-matrix E is still a diagonal structure, and no row is performed.
  • the column exchange for example, performs row swapping of the 12th row and the 14th row of the matrix F, the submatrix D includes the m D rows in the matrix F, and the submatrix E is still a diagonal structure, thereby obtaining the base map 80a.
  • the matrix F is a quasi-orthogonal matrix before the row exchange, and is still a quasi-orthogonal matrix after the exchange.
  • the matrix F is a matrix composed of the 5th row to the 45th row and the 0th column to the 26th column, wherein the 0th column and the 1st column are built-in punched bit columns, and the 5th column is In the matrix block formed by the 45th row and the 2nd column to the 26th column, the 5th row and the 6th row are orthogonal to each other, the 29th row and the 30th row are orthogonal to each other, and so on.
  • the code rate supported by the corresponding LDPC code is less than 2/5
  • each row can be modified by 1 to 2 non-zero elements or 1 to 2 zero elements without affecting its performance.
  • the base matrix 30c shown in FIG. 3c is an example of a base matrix of the base map 30a, in which the non-zero elements of the i-th row and the j-th column in the base map 30a are not changed in the base matrix 30c, and the value is the offset value P i . j.
  • the offset matrix corresponding to the sub-matrix D is the offset matrix of the matrix F.
  • the offset matrix of the matrix F is to replace the non-zero elements of the i-th row and the j-th column in the matrix F with the offset value P i,j , and the zero elements are represented by -1 or null in the offset matrix.
  • the offset matrix of the matrix F may be as shown in 30c-1;
  • the offset matrix of the matrix F may be as shown in 30c-2;
  • the offset matrix of the matrix F may be as shown in 30c-3;
  • the offset matrix of the matrix F may be as shown in 30c-4;
  • the offset matrix of the matrix F can be as shown in 30c-5.
  • each of the base matrices corresponding to the base map 30a has a code rate of 1/3.
  • the set of spreading factors may be ⁇ 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104 , 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384 ⁇ :
  • the offset matrix of the matrix F may be as shown in 30c-6;
  • the offset matrix of the matrix F may be as shown in 30c-7;
  • the offset matrix of the matrix F may be as shown in 30c-8;
  • the offset matrix of the matrix F may be as shown in 30c-3;
  • the offset matrix of the matrix F may be as shown in 30c-4;
  • the offset matrix of the matrix F can be as shown in 30c-5.
  • the offset matrix of the matrix F has more options.
  • the offset matrix of the matrix F can also be 30c-9 or 30c-10.
  • the expansion factor can be designed as follows:
  • the offset matrix of the matrix F may be as shown in 30c-6;
  • the offset matrix of the matrix F may be as shown in 30c-7;
  • the offset matrix of the matrix F may be as shown in 30c-8;
  • the offset matrix of the matrix F may be as shown in 30c-9 or 30c-10;
  • the offset matrix of the matrix F may be as shown in 30c-3;
  • the offset matrix of the matrix F may be as shown in 30c-4;
  • the offset matrix of the matrix F can be as shown in 30c-5.
  • the set of spreading factors may be ⁇ 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104 , 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384 ⁇ :
  • the offset matrix of the matrix F may be as shown in 80c-1;
  • the offset matrix of the matrix F may be as shown in 80c-2;
  • the offset matrix of the matrix F may be as shown in 80c-3;
  • the offset matrix of the matrix F may be as shown in 80c-4;
  • the offset matrix of the matrix F may be as shown in 80c-5;
  • the offset matrix of the matrix F may be as shown in 80c-6.
  • the granularity supported by the spreading factor Z may be designed to be finer, so that the offset matrix of the matrix F has more choices.
  • the offset matrix of the matrix F may also be 80c-7 or 80c-8.
  • the spreading factor may be designed as follows:
  • the offset matrix of the matrix F may be as shown in 80c-1;
  • the offset matrix of the matrix F may be as shown in 80c-2;
  • the offset matrix of the matrix F may be as shown in 80c-3;
  • the offset matrix of the matrix F may be as shown in 80c-7 or 80c-8;
  • the offset matrix of the matrix F may be as shown in 80c-4;
  • the offset matrix of the matrix F may be as shown in 80c-5;
  • the offset matrix of the matrix F may be as shown in 80c-6.
  • the rows in the base matrix are also interchangeable, and the columns can be exchanged. If the base map has undergone at least one of row switching or column switching, the base matrix of the corresponding portion is also exchanged the same.
  • 80c-1 is a matrix after row switching corresponding to 30c-6
  • 80c-2 is a matrix after row switching corresponding to 30c-7
  • 80c-3 is corresponding to 30c-
  • 80c-4 is the matrix after row row corresponding to 30c-3
  • 80c-5 is the matrix after row row corresponding to 30c-4
  • 80c-6 is corresponding to 30c-5.
  • 80c-7 is the matrix after row row corresponding to 30c-9
  • 80c-8 is the matrix after row row corresponding to 30c-10.
  • Each of the base matrices corresponding to the base map 80a has a code rate of 1/3.
  • the core matrix of the base map that is, the portion formed by the sub-matrices A and B can be used in the base map 30a.
  • the core matrix portion of the base map may include the m D rows in the matrix portion formed by the 5th row to the 45th row and the 0th column to the 26th column in the base map 30a.
  • the core matrix portion in the base matrix may be one of 30b-3, 30b-4, 30b-5, 30b-6, 30b-7, 30b-8, 30b-9, and 30b-10, and the sub-matrix D corresponds to
  • the portion may include m D rows of any of the following matrices: 30c-3, 30c-4, 30c-5, 30c-6, 30c-7, 30c-8, 30c-9, and 30c-10.
  • the core matrix and the portion corresponding to the sub-matrix D can be selected according to the spreading factor.
  • the core matrix of the base map that is, the portion formed by the sub-matrices A and B may adopt the core matrix portion in the base map 80a, and the sub-matrix D of the base map may include the fifth in the base map 80a.
  • the line goes to line 45, and the m D line in the matrix portion formed by the 0th column to the 26th column.
  • the core matrix portion in the base matrix may be one of 80b-1, 80b-2, 80b-3, 80b-4, 80b-5, 80b-6, 80b-7, and 80b-8, and the sub-matrix D corresponds to
  • the portion may include m D rows of any of the following matrices: 80c-1, 80c-2, 80c-3, 80c-4, 80c-5, 80c-6, 80c-7, and 80c-8.
  • the core matrix and the portion corresponding to the sub-matrix D can be selected according to the spreading factor.
  • the core matrix of the base map may adopt the core matrix portion in the base map 30a
  • the sub-matrix D of the base map may include the fifth in the base map 80a.
  • the line to the 45th line, the 0th row to the 26th column constitutes the m D row in the matrix portion, as shown in Fig. 10a.
  • the core matrix portion in the base matrix may be one of 30b-3, 30b-4, 30b-5, 30b-6, 30b-7, 30b-8, 30b-9, and 30b-10, and the sub-matrix D corresponds to
  • the portion may include m D rows of any of the following matrices: 80c-1, 80c-2, 80c-3, 80c-4, 80c-5, 80c-6, 80c-7, and 80c-8.
  • the core matrix and the portion corresponding to the sub-matrix D can be selected according to the spreading factor.
  • the core matrix of the base map may adopt a core matrix portion in the base map 80a, and the sub-matrix D of the base map may include the fifth row to the 45th row in the base map 30a, and the 0th column to The m D row in the matrix portion constituted by the 26th column is the base map 90a as shown in Fig. 9a.
  • the core matrix portion in the base matrix may be one of 80b-1, 80b-2, 80b-3, 80b-4, 80b-5, 80b-6, 80b-7, and 80b-8, and the sub-matrix D corresponds to
  • the portion may include m D rows of any of the following matrices: 30c-6, 30c-7, 30c-8, 30c-3, 30c-4, 30c-5, 30c-9, and 30c-10.
  • the core matrix and the portion corresponding to the sub-matrix D can be selected according to the spreading factor.
  • the base map adopts the base map 90a, and correspondingly, the base matrix may be the m D row and the 0th row in the 5th to 45th rows including the matrix of any one of the following in FIG. 9b.
  • Line 4 one of 90b-1, 90b-2, 90b-3, 90b-4, 90b-5, 90b-6, 90b-7 and 90b-8.
  • the corresponding offset matrix can be selected according to the spreading factor.
  • the offset matrix may be as shown in 90b-1;
  • the offset matrix may be as shown in 90b-2;
  • the offset matrix may be as shown in 90b-3;
  • the offset matrix may be as shown in 90b-4 or 90b-5;
  • the offset matrix may be as shown in 90b-6;
  • the offset matrix may be as shown in 90b-7;
  • the offset matrix can be as shown in 90b-8.
  • the base map adopts the base map 100a, and correspondingly, the base matrix may be the m D row and the 0th row in the 5th row to the 45th row including the matrix of any one of the following figures in FIG. 10b.
  • Line 4 one of 100b-1, 100b-2, 100b-3, 100b-4, 100b-5, 100b-6, 100b-7 and 100b-8. Can be selected according to the expansion factor. E.g:
  • the offset matrix may be as shown in 100b-1;
  • the offset matrix may be as shown in 100b-2;
  • the offset matrix may be as shown in 100b-3;
  • the offset matrix may be as shown in 100b-4 or 100b-5;
  • the offset matrix may be as shown in 100b-6;
  • the offset matrix may be as shown in 100b-7;
  • the offset matrix can be as shown in 100b-8.
  • LDPC 1 indicates that the LDPC code is obtained based on the respective base matrix codes corresponding to the base map 30a
  • LDPC 2 indicates a commonly used LDPC code as a comparison, in which the abscissa represents The length of the information bit sequence, in bits, the ordinate is the symbol signal-to-noise ratio (Es/N0), and the performance curve is the BLER of 0.01 and 0.0001, respectively.
  • Fig. 4a shows an example of a base map 40a of an LDPC code, in which the uppermost row 0 to 51 in the figure indicates the column number, and the leftmost column 0 to 41 indicates the row number.
  • the sub-matrix A corresponds to a systematic bit, and has a size of 7 rows and 10 columns, and is composed of elements of the 0th row to the 6th row and the 0th column to the 9th column in the base map 40a;
  • the sub-matrix B corresponds to a parity bit, and has a size of 7 rows and 7 columns, and is composed of elements of the 0th row to the 6th row and the 10th column to the 16th column in the base map 40a;
  • the sub-matrix A and the sub-matrix B constitute the core matrix portion of the LDPC code base map 40a, that is, a matrix of 7 rows and 17 columns, which can be used for high bit rate encoding.
  • the row weight of the last row (the sixth row) in the submatrix B and the column weight of the last column (the sixth column of the submatrix B, the 16th column of the core matrix) are both 1, and the matrix B includes 1 column and 3 columns.
  • Re-column that is, column 0 of the sub-matrix B (column 10 of the core matrix) has a column weight of 3, columns 1 to 5 of the sub-matrix B (columns 11 to 15 of the core matrix), and behaviors 0 to 6 Diagonal structure.
  • the core matrix of the base map 40a includes one row with a weight of 3, three rows with a weight of 8, and the remaining three rows with a weight of 7. That is, the weights of the rows in the core matrix composed of the submatrix A and the submatrix B are 8, 7, 7, 7, 8, 8, and 3, respectively. It should be noted that the order of the rows in the core matrix can be exchanged, for example, the 0th row and the 2nd row are exchanged, the 1st row and the 3rd row are exchanged, and the like.
  • the row having a weight of 3 may be as shown in the sixth row of the core matrix of the base map 40a, and the columns 0 to 16; the row having the weight of 8 may be the 0th row and the 4th row of the core matrix of the base map 40a, respectively.
  • Line 5 one of the rows shown in columns 0 to 26.
  • the row having a weight of 7 may be one of the rows shown in the first row, the second row, and the third row, and the 0th to the 26th columns in the core matrix of the base map 40a.
  • the 5th row and the 0th row of the core matrix can be exchanged, the 4th row and the 1st row are exchanged, and the 3rd row and the 2nd row are exchanged.
  • the submatrix B it is also possible here.
  • the 12th column and the 14th column are exchanged to obtain another core matrix part. Since the sub-matrix C is an all-zero matrix, the weights of the rows of the base map 80a after row switching and column switching are not changed.
  • the rows with the row weight of 1 in the submatrix B are usually in the same row.
  • the number of built-in punctured bit columns is 2, that is, the 0th column and the 1st column are built-in punctured bit columns.
  • the elements on the 0th column and the 1st column are For non-zero elements, the elements on columns 2 through 15 are zero elements, the elements in column 16 are non-zero elements, and the weight on line 6 is 3, not only the weight of the rows in the core matrix is the smallest, but the entire base matrix Bank of China also has the smallest weight.
  • This setup improves the performance of encoding and decoding.
  • a small amount of modification to the matrix elements is acceptable for performance.
  • a small number of modifications are made, for example, such that the weight of one row satisfies greater than or equal to 1, and is less than or equal to 5, and the weights of the remaining 6 rows respectively satisfy greater than or equal to 6, and are less than or equal to 10, the impact on performance is small.
  • the LDPC code requires different spreading factors Z.
  • the spreading factor Z may include one or more of: 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20 ,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176 , 192, 208, 224, 240, 256.
  • the base matrix corresponding thereto can be adopted based on different spreading factors Z, respectively.
  • An example of a plurality of base matrices of the core matrix in the base map 40a is shown in Figure 4b.
  • Each base matrix is obtained based on the core matrix of the base map 40a and the spreading factor Z, wherein the non-zero elements of the i-th row and the j-th column in the base map 40a are offset values P i in the i-th row and the j-th column of the base matrix , j, the base element of FIG. 40a represents zero or -1 is an offset null matrix.
  • the rows in the base matrix are also interchangeable, and the columns can be exchanged.
  • the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 4b in FIG. 4b. -1 is shown;
  • the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be the base matrix 4b in FIG. 4b. -2 is shown;
  • the portion of the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 4b-3 of FIG. 4b;
  • the portion of the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be as shown in the base matrix 4b-4 of FIG. 4b;
  • the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 4b-5. .
  • the base matrix of the base map 40a corresponding to the sub-matrix A and the sub-matrix B may be as shown in FIG. 4b-6. Shown.
  • sub-matrices C, sub-matrices D and sub-mass of corresponding size can be added based on the core matrix.
  • Matrix E to get different code rates. Since the sub-matrix C is an all-zero matrix, the sub-matrix is an identity matrix, and its size is mainly determined according to the code rate, and the structure is relatively fixed. The main factors affecting the performance of the compiled code are the core matrix and the sub-matrix D part. Adding rows and columns on the basis of the core matrix to form corresponding C, D and E parts can obtain different code rates.
  • the number of columns of the sub-matrix D is the sum of the number of columns of the sub-matrices A and B, and the number of rows thereof is mainly related to the code rate.
  • the code rate supported by the LDPC code is R m
  • the lowest code rate R m 1/5
  • a matrix F having a size of 35 rows and 17 columns may be defined, and the sub-matrix D may include m D rows therein, and the sub-matrices A, B and sub-matrices C and E of corresponding sizes together constitute a code rate of 10/.
  • m D 35
  • the sub-matrix D has a size of 35 rows and 17 columns, that is, the sub-matrix D, that is, the matrix F
  • matrix F has the quasi-orthogonal structure described in the previous embodiments.
  • the row weights are 5, 4, 4, 4, 4, 4, 3, 3, 3, 4, 2, 3, 3, 4, 4, 2, 3, respectively. , 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3. 3, 3.
  • the weight of each row in the base map 40a is 6, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 5, 3, 4, 4, 5, 5, 3,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,3.
  • the size of the sub-matrix D in the LDPC code base map is 10 rows and 17 columns, which may be from the 0th to 9th rows of the matrix F in the base map 40a, that is, the 7th to 16th rows of the base map 40a.
  • the size of the sub-matrix D in the LDPC code base map is 15 rows and 17 columns, which may be the 0-14th row of the matrix F in the base map 40a, that is, the 7th to 21st rows of the base map 40a.
  • the line is formed into the matrix portion of the 21st row, the 0th column to the 31st column, wherein the sub-matrix E is an element matrix of 15 rows and 15 columns, and the sub-matrix C is an all-zero matrix of 7 rows and 15 columns.
  • the base map of the LDPC code and the rows in the base matrix can be mutually exchanged, and the columns can also be exchanged with each other.
  • each row can be modified by 1 to 2 non-zero elements or 1 to 2 zero elements without affecting its performance.
  • the base matrix 40c shown in FIG. 4c is an example of a base matrix of the base map 40a, in which the non-zero elements of the i-th row and the j-th column in the base map 40a are in the same position in the base matrix 30c, and the value is the offset value P i . j .
  • the offset matrix corresponding to the sub-matrix D is the offset matrix of the matrix F.
  • the offset matrix of the matrix F is to replace the non-zero elements of the i-th row and the j-th column in the matrix F with the offset value P i,j , and the zero elements are represented by -1 or null in the offset matrix.
  • the offset matrix of the matrix F may be as shown in 4c-1;
  • the offset matrix of the matrix F may be as shown in 4c-2;
  • the offset matrix of the matrix F may be as shown in 4c-3;
  • the offset matrix of the matrix F may be as shown in 4c-4;
  • the offset matrix of the matrix F may be as shown in 4c-5;
  • the offset matrix of the matrix F can be as shown in 4c-6.
  • each base matrix corresponding to the base map 40a has a code rate of 1/5.
  • FIG. 5c shows an LDPC code obtained by encoding each base matrix corresponding to the base map 40a, wherein the abscissa indicates the length of the information bit sequence, the unit is the bit, and the ordinate is the symbol signal to noise ratio (Es/N0), and the BLER is respectively Symbol signal to noise ratio at 0.01 and 0.0001.
  • an encoder uses an LDPC matrix to encode an input sequence; a base map of the LDPC matrix may be any one of the foregoing examples, and a base matrix H B of the LDPC matrix may be Any of the base matrices in the foregoing examples.
  • the input sequence of the encoder may be an information bit sequence.
  • the method further includes: determining the expansion factor Z; determining the value of the expansion factor Z according to the length K of the input sequence.
  • the encoder encodes the input sequence using the LDPC matrix.
  • the input sequence can be encoded using an LDPC matrix corresponding to the spreading factor Z.
  • the LDPC matrix base matrix H B may be any of the base matrix exemplified in the foregoing embodiments, and the base map includes at least the sub-matrix A and the sub-matrix B, and may further include a sub-matrix C, a sub-matrix D, and a sub-matrix E, each part Reference may be made to the description in the foregoing embodiments, and details are not described herein again.
  • the base matrix H B of the LDPC code may be stored in a memory, and the encoder obtains an LDPC matrix corresponding to the spreading factor Z, thereby encoding the input sequence.
  • the storage according to the matrix structure may occupy a large storage space, and the base map of the LDPC code may be stored in the memory, respectively. Or storing the offset values of the non-zero elements in each base matrix column by column, and then obtaining the LDPC matrix according to the offset values of the base matrix corresponding to the base map and the spreading factor Z.
  • the coded LDPC matrix H can be obtained by expanding the base matrix H B according to Z.
  • a cyclic permutation matrix h i,j of Z*Z size is determined, where h i,j is a cycle obtained by cyclically shifting the unit matrix through P i, j times Substituting a matrix, replacing h i,j with a non-zero element P i,j , replacing the zero-element in the base matrix H B with an all-zero matrix of Z*Z size, thereby obtaining a parity check matrix H;
  • the LDPC code can be obtained by encoding by the above method.
  • the communication device may perform one or more operations of performing rate matching on the LDPC code, interleaving the rate matched LDPC code according to the interleaving scheme, and modulating the interleaved LDPC code according to the modulation scheme.
  • Bit sequence B transmit bit sequence B.
  • a decoder decodes an input sequence by using an LDPC matrix; a base map of the LDPC matrix may be any base diagram in the foregoing example, and a base matrix of the LDPC matrix H B may be any of the base matrices in the foregoing examples.
  • the input sequence of the decoder may be a soft value sequence of the LDPC code.
  • the method further includes: determining an expansion factor Z.
  • the communication device at the receiving end can receive the signal including the LDPC code based, obtain the soft value sequence of the LDPC code therein, and determine the corresponding spreading factor Z.
  • the decoder uses the LDPC matrix to decode the input sequence.
  • the LDPC matrix corresponding to the spreading factor Z may be used to decode the soft value sequence of the LDPC code.
  • the LDPC matrix base matrix H B may be any of the base matrix exemplified in the foregoing embodiments, and the base map includes at least the sub-matrix A and the sub-matrix B, and may further include a sub-matrix C, a sub-matrix D, and a sub-matrix E, each part Reference may be made to the description in the foregoing embodiments, and details are not described herein again.
  • the base matrix H B of the LDPC code may be stored in the memory, and the LDPC matrix corresponding to the extension factor Z may be obtained to decode the soft value of the LDPC code;
  • the storage according to the matrix structure may occupy a large storage space, and the base map of the LDPC code may be stored in the memory, respectively, row by row or by row.
  • the column holds the offset values of the non-zero elements in each base matrix, and then obtains the LDPC matrix according to the offset values of the base matrix corresponding to the base map and the spreading factor Z.
  • Decoding coded reverse process which uses a base matrix H B has the same features in the base matrix of the encoding method embodiment.
  • An extension of the base matrix H B to obtain the LDPC matrix H can also be referred to the coding method embodiment.
  • the communication device may further perform one or more operations of: receiving a signal including LDPC encoding, demodulating, deinterleaving, and de-rate matching the signal to obtain a soft value of the LDPC code. .
  • FIG. 6 is a schematic structural diagram of a communication device 600.
  • the device 600 can be used to implement the method described in the foregoing method embodiments. For details, refer to the description in the foregoing method embodiments.
  • the communication device 600 can be a chip, a base station, a terminal, or other network device.
  • the communication device 600 includes one or more processors 601.
  • the processor 601 can be a general purpose processor or Dedicated processor, etc.
  • it can be a baseband processor, or a central processing unit.
  • the baseband processor can be used to process communication protocols and communication data
  • the central processor can be used to control communication devices (eg, base stations, terminals, or chips, etc.), execute software programs, and process data of the software programs.
  • the communication device 600 includes one or more of the processors 601, and the one or more processors 601 can implement the functions of the encoder described above.
  • the above encoder may be part of the processor 601, and the processor 601 may implement other functions in addition to the functions of the encoder.
  • the communication device 600 encodes an input sequence using an LDPC matrix; the base map of the LDPC matrix may be any one of the foregoing examples, and the base matrix H B of the LDPC matrix may be any of the base matrix in the foregoing embodiment. .
  • the input sequence of the encoder may be an information bit sequence.
  • one or more of the processors 601 may implement the functions of the decoder described above, and in another possible design, the decoder may be part of the processor 601.
  • the communication device 600 may be using an LDPC matrix for decoding the input sequence; yl view of the LDPC matrix may be any of which FIG foregoing example, the base matrix of the LDPC matrix H B may be any one of the preceding examples is Base matrix. Wherein, the input sequence of the decoder may be a soft value sequence.
  • the processor 601 can also include instructions 603 that can be executed on the processor such that the communication device 600 performs the methods described in the above method embodiments.
  • the communication device 600 can also include circuitry that can implement the functions of the encoder, or decoder, or encoder and decoder in the foregoing method embodiments.
  • the communication device 600 may include one or more memories 602 on which the instructions 604 are stored, and the instructions may be executed on the processor, so that the communication device 600 performs the above method embodiment.
  • data may also be stored in the memory. Instructions and/or data can also be stored in the optional processor.
  • the processor and the memory may be provided separately or integrated.
  • the one or more memories 602 may store parameters related to the base matrix, such as offset values, base maps, extensions based on the base map to the matrix, rows in the base matrix, spreading factors, and the like.
  • the one or more memories 602 may store a base matrix or extend to a matrix based on a base matrix.
  • the communication device 600 may further include a transceiver 605 and an antenna 606.
  • the processor 601 may be referred to as a processing unit that controls a communication device (terminal or base station).
  • the transceiver 605 can be referred to as a transceiver unit, a transceiver, a transceiver circuit, or a transceiver, etc., for implementing the transceiver function of the communication device through the antenna 606.
  • the communication device 600 may further include a device for generating a transport block CRC, a device for code block splitting and CRC check, an interleaver for interleaving, a modulator for modulation processing, and the like.
  • a device for generating a transport block CRC a device for generating a transport block CRC
  • a device for code block splitting and CRC check a device for code block splitting and CRC check
  • an interleaver for interleaving
  • a modulator for modulation processing and the like.
  • the functionality of these devices can be implemented by one or more processors 601.
  • the communication device 600 may further include a demodulator for demodulation operation, a deinterleaver for deinterleaving, a device for de-rate matching, and the like.
  • a demodulator for demodulation operation e.g., a demodulator for demodulation operation
  • a deinterleaver for deinterleaving e.g., a device for de-rate matching
  • the functionality of these devices can be implemented by one or more processors 601.
  • FIG. 7 shows a schematic diagram of a communication system 700 that includes a communication device 70 and a communication device 71, wherein the information data is received and transmitted between the communication device 70 and the communication device 71.
  • the communication devices 70 and 71 may be the communication device 600, or the communication devices 70 and 71 respectively include a communication device 600 that receives and transmits information data.
  • communication device 70 can be a terminal, and corresponding communication device 71 can be a base station; in another example, communication device 70 is a base station and corresponding communication device 71 can be a terminal.
  • a general purpose processor may be a microprocessor.
  • the general purpose processor may be any conventional processor, controller, microcontroller, or state machine.
  • the processor may also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other similar configuration. achieve.
  • the steps of the method or algorithm described in the embodiments of the present invention may be directly embedded in hardware, instructions executed by a processor, or a combination of the two.
  • the memory can be RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium in the art.
  • the memory can be coupled to the processor such that the processor can read information from the memory and can write information to the memory.
  • the memory can also be integrated into the processor.
  • the processor and the memory may be disposed in an ASIC, and the ASIC may be disposed in the UE. Alternatively, the processor and memory may also be located in different components in the UE.
  • the present invention can be implemented in hardware, firmware implementation, or a combination thereof.
  • a software program it may be implemented in whole or in part in the form of a computer program product comprising one or more computer instructions.
  • the processes or functions described in accordance with embodiments of the present invention are generated in whole or in part.
  • the functions described above may also be stored in or transmitted as one or more instructions or code on a computer readable medium.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
  • a storage medium may be any available media that can be accessed by a computer.
  • computer readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage media or other magnetic storage device, or can be used for carrying or storing in the form of an instruction or data structure.
  • Any connection may suitably be a computer readable medium.
  • a disk and a disc include a compact disc (CD), a laser disc, a compact disc, a digital versatile disc (DVD), a floppy disk, and a Blu-ray disc, wherein the disc is usually magnetically copied, and the disc is The laser is used to optically replicate the data. Combinations of the above should also be included within the scope of the computer readable media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (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矩阵的基图表示为m行n列的矩阵,m为大于或者等于5的整数,n为大于或者等于27的整数;所述基图至少包括子矩阵A和子矩阵B,其中,所述子矩阵A为5行22列的矩阵;所述子矩阵B为5行5列的矩阵,其中,所述子矩阵B包括一权重为3的列和双对角结构的子矩阵B'。本申请的编码方法、装置、通信设备和通信系统,能够支持多种长度的信息比特序列的编码需求。

Description

信息处理的方法、通信装置 技术领域
本发明实施例涉及通信领域,尤其涉及信息处理的方法、和通信装置。
背景技术
低密度奇偶校验(low density parity check,LDPC)码是一类具有稀疏校验矩阵的线性分组编码,具有结构灵活,译码复杂度低的特点。由于它采用部分并行的迭代译码算法,从而比传统的Turbo码具有更高的吞吐率。LDPC码可用于通信系统的纠错码,从而提高信道传输的可靠性和功率利用率。LDPC码还可以广泛应用于空间通信、光纤通信、个人通信系统、ADSL和磁记录设备等。目前在第五代移动通信中已考虑采用LDPC码作为信道编码方式之一。
实际使用过程中,可以采用具有特殊结构化特征的LDPC矩阵。该具有特殊结构化特征的LDPC矩阵H可以由准循环(quasi cycle,QC)结构的LDPC基矩阵扩展得到。
通常情况下,待编码的信息比特序列长度从几十到上百不等,通信系统要求的码率也灵活多变。如何支持多种长度的信息比特序列的编码,符合系统的码率要求,成为一个需要解决的问题。
发明内容
本发明实施例提供了一种信息处理的方法、通信装置和系统,可以支持多种长度的信息比特序列的编码和译码,符合系统灵活的码长码率要求。
第一方面,提供了一种编码方法及编码器,所述编码器使用低密度奇偶校验LDPC矩阵对输入序列进行编码。
第二方面,提供了一种译码方法及译码器,所述译码器使用低密度奇偶校验LDPC矩阵对输入序列进行译码。
在上述第一方面或第二方面的第一种实现方式中:所述LDPC矩阵的基图表示为m行n列的矩阵,m为大于或者等于5的整数,n为大于或者等于27的整数;所述基图至少包括子矩阵A和子矩阵B,其中,所述子矩阵A为5行22列的矩阵;所述子矩阵B为5行5列的矩阵,其中,所述子矩阵B包括权重为3的列和双对角结构的子矩阵B’。
可选的,所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行的权重满足大于或者等于1,且小于或者等于5,其余4行的权重分别满足大于或者等于17,且小于或者等于21。
例如,在所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行的权重为3,其余4行的权重为19。在这种情况下,所述子矩阵A和所述子矩阵B构成的矩阵可以包括如基图30a中第0行至第4行以及第0列至第26列组成的5行矩阵块,其中行之间可以交换,列之间也能相互交换。基于上述实现方式,LDPC矩阵的基矩阵对应所述子矩阵A和子矩阵B构成的部分可以表示为如基矩阵30b-1、30b-2、30b-3、30b-4和30b-5中任一个。
在又一种可能的实现方式中,可以将基图30a中子矩阵A和子矩阵B构成的矩阵块的第3行和第0行交换,第2行和第1行交换,以及将第23列和第25列进行交换得到基图80a中的核心矩阵。
基于上述实现方式,LDPC矩阵的基矩阵对应所述子矩阵A和子矩阵B构成的部分可以表示为如基矩阵80b-1、80b-2、80b-3、80b-4、80b-5和80b-6中任一个,其中,80b-4是30b-3经过行列交换后的矩阵,80b-5是30b-4经过行列交换后的矩阵,80b-6是30b-5经过行列交换后的矩阵。
为了支持不同块长,LDPC码需要不同的扩展因子Z,基于前述实现方式,在一种可能的实现方式中,基于不同的扩展因子Z采用与之对应的基矩阵。
例如:
若扩展因子Z为{16,18,20,22,24,26,28,30}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-1所示;
若扩展因子Z为{32,36,40,44,48,52,56,60}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-2所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-3所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-4所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-5所示。
在又一种可能的实现方式中,
若扩展因子Z为{24,26,28,30}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-1所示;
若扩展因子Z为{32,36,40,44}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-2所示;
若扩展因子Z为{48,52,56,60}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-3所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-4所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-5所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图中基矩阵80b-6所示。
在又一种可能的实现方式中,子矩阵A还可以包括2列内置打孔比特列。
进一步,为了获得灵活的码率,可以基于核心矩阵添加相应大小的子矩阵C、子矩阵D和子矩阵E,来获得不同的码率。
其中,
所述子矩阵C为5行mD列的全零矩阵;
所述子矩阵D为mD行27列的矩阵;
所述子矩阵E为mD行mD列的单位矩阵;
mD为整数且0≤mD≤41。
其中,子矩阵D包括矩阵F中的mD行,所述矩阵F为41行27列,所述矩阵F的各行的行重分别为7,7,9,8,7,7,8,6,6,5,6,5,5,6,5,5,5,5,4,4,4,5,4,5,4,4,4,4,3,4,4,4,4,3,3,4,4,3,3,3,4。
在一种可能的实现方式中,矩阵F为基图30a中第5行至第45行以及第0列至第26列构成的矩阵。
在一种可能的实现方式中,矩阵F的偏移矩阵可以表示为如基矩阵30c-1、30c-2、30c-3、30c-4和30c-5中任一个。
在又一种可能的实现方式中,,可将基图30a的第17行和第19行进行交换,并且将第39列和第41列进行交换得到如图8a所示的基图矩阵80a。又例如,子矩阵D包括矩阵F中mD行,这mD行可以不进行行交换,也可以将其中一行或多行之间进行行交换,子矩阵E仍为对角结构,例如,子矩阵D包括矩阵F中mD行,其中,矩阵F的第12行和第14行进行行交换,子矩阵E仍为对角结构,从而得到基图80a。
为了支持不同块长,LDPC码需要不同的扩展因子Z,基于前述实现方式,在一种可能的实现方式中,基于不同的扩展因子Z采用与之对应的基矩阵。例如:
在一种可能的实现方式中,
若扩展因子Z为{16,18,20,22,24,26,28,30}中的一个,基矩阵中子矩阵D可以包括如30c-1所示的偏移矩阵的mD行;
若扩展因子Z为{32,36,40,44,48,52,56,60}中的一个,基矩阵中子矩阵D可以包括如30c-2所示的偏移矩阵的mD行;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,基矩阵中子矩阵D可以包括如30c-3所示的偏移矩阵的mD行;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,基矩阵中子矩阵D可以包括如30c-4所示的偏移矩阵的mD行;
若扩展因子Z为{256,288,320,352,384}中的一个,基矩阵中子矩阵D可以包括如30c-5所示的偏移矩阵的mD行。
又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:
若扩展因子Z为{24,26,28,30}中的一个,则矩阵F的偏移矩阵可以如80c-1所示;
若扩展因子Z为{32,36,40,44}中的一个,则矩阵F的偏移矩阵可以如80c-2所示;
若扩展因子Z为{48,52,56,60}中的一个,则矩阵F的偏移矩阵可以如80c--3所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则矩阵F的偏移矩阵可以如80c-4所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则矩阵F的偏移矩阵可以如80c-5所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则矩阵F的偏移矩阵可以如80c-6所示。
在上述第一方面或第二方面的第二种实现方式中,
所述LDPC矩阵的基图表示为m行n列的矩阵,m为大于或者等于7的整数,n为大于或者等于17的整数;
所述基图至少包括子矩阵A和子矩阵B,其中,
所述子矩阵A为7行10列的矩阵;
所述子矩阵B为7行7列的矩阵,所述子矩阵B包括一权重为3的列和双对角结构的子矩阵B’。
其中,
所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行的权重满足大于或者等于1,且小于或者等于5,其余6行的权重分别满足大于或者等于6,且小于或者等于10。
在一种实现方式中,所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行的权重为3,3行的权重为8,其余3行的权重为7。
在这种实现方式中,所述子矩阵A和所述子矩阵B构成的矩阵可以包括如基图40a中第0行至第6行以及第0列至第16列组成的7行,其中行之间可以交换,列之间也能相互交换。
基于上述实现方式,LDPC矩阵的基矩阵对应所述子矩阵A和子矩阵B构成的部分可以表示为如基矩阵4b-1、4b-2、4b-3、4b-4、4b-5和4b-6中任一个。
为了支持不同块长,LDPC码需要不同的扩展因子Z,基于前述实现方式,在一种可能的实现方式中,基于不同的扩展因子Z采用与之对应的基矩阵。
例如:
若扩展因子Z为{8,9,10,11,12,13,14,15}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b中基矩阵4b-1所示;
若扩展因子Z为{16,18,20,22,24,26,28,30}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b中基矩阵4b-2所示;
若扩展因子Z为{32,36,40,44}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b中基矩阵4b-3所示;
若扩展因子Z为{48,52,56,60}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b中基矩阵4b-4所示;
若扩展因子Z为{64,72,80,88,96,104,112,120}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b-5所示。
若扩展因子Z为{128,144,160,176,192,208,224,240,256}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b-6所示。
其中,子矩阵A还可以包括2列内置打孔比特列。
进一步,为了获得灵活的码率,可以基于核心矩阵添加相应大小的子矩阵C、子矩阵D和子矩阵E,来获得不同的码率。
其中,
所述子矩阵C为7行mD列的全零矩阵;
所述子矩阵D为mD行17列的矩阵;
所述子矩阵E为mD行mD列的单位矩阵;
mD为整数且0≤mD≤35。
其中,子矩阵D包括矩阵F中的mD行,所述矩阵F为35行17列,所述矩阵F的各行的行重分别为5,4,4,4,4,4,4,3,3,3,4,2,3,3,4,4,2,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2。
在一种可能的实现方式中,矩阵F为基图40a中第7行至第41行以及第0列至第16列构成的矩阵。
在一种可能的实现方式中,矩阵F的偏移矩阵可以表示为如基矩阵4c-1、4c-2、4c-3、4c-4和4c-5中任一个。
为了支持不同块长,LDPC码需要不同的扩展因子Z,基于前述实现方式,在一种可能的实现方式中,基于不同的扩展因子Z采用与之对应的基矩阵。例如:
其中,
若扩展因子Z为{8,9,10,11,12,13,14,15}中的一个,基矩阵中子矩阵D可以包括如4c-1所示的偏移矩阵的mD行;
若扩展因子Z为{16,18,20,22,24,26,28,30}中的一个,基矩阵中子矩阵D可以包括如4c-2所示的偏移矩阵的mD行;
若扩展因子Z为{32,36,40,44}中的一个,基矩阵中子矩阵D可以包括如4c-3所示的偏移矩阵的mD行;
若扩展因子Z为{48,52,56,60}中的一个,基矩阵中子矩阵D可以包括如4c-4所示的偏移矩阵的mD行;
若扩展因子Z为{64,72,80,88,96,104,112,120}中的一个,基矩阵中子矩阵D可以包括如4c-5所示的偏移矩阵的mD行;
若扩展因子Z为{128,144,160,176,192,208,224,240,256}中的一个,基矩阵中子矩阵D可以包括如4c-6所示的偏移矩阵的mD行。
第一种实现方式中的LDPC矩阵的基图和基矩阵可以满足块长为352至8448比特的码块的性能需求,第二种实现方式中的LDPC矩阵的基图和基矩阵可以满足块长为40至2560比特的码块的性能需求。
基于上述各方面,或者各方面任一种可能的实现方式,在又一种可能的实现方式中,还包括:确定扩展因子Z。例如,根据输入序列的长度K来确定扩展因子Z的取值,如:若输入序列长度为K,可以在多个系统定义的扩展因子中确定满足22*Z≥K的最小值。
对于发送端的通信设备,使用LDPC矩阵对所述输入序列进行编码包括:
使用扩展因子Z对应的LDPC矩阵对所述输入序列进行编码。
对于接收端的通信设备,使用LDPC矩阵对输入序列进行译码包括:
使用扩展因子Z对应的LDPC矩阵对输入序列进行译码。
基于上述各方面,或者各方面任一种可能的实现方式,在又一种可能的实现方式中,LDPC矩阵的基矩阵可以保存在存储器中。
基于上述各方面,或者各方面任一种可能的实现方式,在又一种可能的实现方式中,LDPC矩阵的基图保存在存储器中,LDPC矩阵的基矩阵中非零元素的偏移值可以保存在存储器中。
基于上述各可能的实现方式,在一种可能的设计中,用于LDPC编码或者译码的基图和基矩阵中至少一个是上述LDPC矩阵的基图和基矩阵中至少一个经过行交换、或者列交换、或者行交换和列交换后得到的。
第三方面,提供一种通信装置可以包含用于执行上述方法设计中第一方面任一种可能的实现方式相对应的模块。所述模块可以是软件和/或是硬件。
在一个可能的设计中,第三方面提供的通信装置,包括如上述第一方面所述的编码器、确定单元以及处理单元。所述确定单元用于确定对输入序列编码所需的扩展因子Z。所述处理单元,用于使用所述扩展因子Z对应的LDPC矩阵对所述输入序列进行编码。
可选地,所述通信装置还包括收发器,所述收发器用于发送对应于所编码后的信息数据的信号。
第四方面,提供一种通信装置可以包含用于执行上述方法设计中第二方面任一种可能的实现方式相对应的模块。所述模块可以是软件和/或是硬件。
在一种可能的设计中,第四方面提供的通信装置,包括如上述第二方面所述的译码器,获取单元以及处理单元。所述获取单元用于获取LDPC码的软值和扩展因子Z。所述处理单元,用于基于扩展因子Z对应的基矩阵HB对LDPC码的软值译码得到信息比特序列。
所述通信装置还包括收发器,所述收发器用于接收包含基于LDPC编码的信号。
第五方面,提供了一种通信装置,包括一个或多个处理器。
在一种可能的设计中,一个或多个所述处理器可实现第一方面所述编码器的功能,在另一种可能的设计中,第一方面所述编码器可以是所述处理器的一部分,处理器除了实现第一方面所述编码器的功能,还可以实现其他功能。
在一种可能的设计中,一个或多个所述处理器可实现第二方面所述译码器的功能,在另一种可能的设计中,第二方面所述译码器可以是所述处理器的一部分。
可选地,所述通信装置还可以包括收发器以及天线。
可选的,所述通信装置还可以包括用于产生传输块CRC的器件、用于码块分割和CRC校验的器件、用于交织的交织器、或者用于调制处理的调制器等。
可选的,所述通信装置还可以包括,用于解调操作的解调器、用于解交织的解交织器、或者用于解速率匹配的器件等等。可以通过一个或多个处理器实现这些器件的功能。
在一种可能的设计中,可以通过一个或多个处理器实现这些器件的功能。
第六方面,本发明实施例提供了一种通信系统,该系统包括上述第三方面所述的通信装置和上述第四方面所述的通信装置。
第七方面,本发明实施例提供了一种通信系统,该系统包括一个或多个第五方面所述的通信装置。
再一方面,本发明实施例提供了一种计算机存储介质,其上存储有程序,当其运行时,使得计算机执行上述方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时, 使得计算机执行上述各方面所述的方法。
本发明实施例的信息处理的方法、装置、通信设备和通信系统,在编码性能和错误平层上能够适应系统灵活多变的码长码率需要。
附图说明
图1为一LDPC码的基图、基矩阵及其循环置换矩阵的示意图;
图2为一LDPC码的基图的结构示意图;
图3a为本发明一实施例提供的LDPC码基图的示意图;
图3b为本发明另一实施例提供的LDPC码的基矩阵的示意图;
图3c为本发明另一实施例提供的LDPC码的基矩阵的示意图;
图4a为本发明另一实施例提供的LDPC码基图的示意图;
图4b为本发明另一实施例提供的LDPC码的基矩阵的示意图;
图4c为本发明另一实施例提供的LDPC码的基矩阵的示意图;
图5a为本发明另一实施例提供的性能示意图;
图5b为本发明另一实施例提供的性能示意图;
图5c为本发明另一实施例提供的性能示意图;
图6为本发明另一实施例提供的信息处理装置的结构示意图;
图7为本发明另一实施例提供的通信系统的示意图;
图8a为本发明另一实施例提供的LDPC码基图的示意图;
图8b为本发明另一实施例提供的LDPC码的基矩阵的示意图;
图8c为本发明另一实施例提供的LDPC码的基矩阵的示意图;
图9a为本发明另一实施例提供的LDPC码基图的示意图;
图9b为本发明另一实施例提供的LDPC码的基矩阵的示意图;
图10a为本发明另一实施例提供的LDPC码基图的示意图;
图10b为本发明另一实施例提供的LDPC码的基矩阵的示意图
具体实施方式
为便于理解下面对本申请中涉及到的一些名词做些说明。
本申请中,名词“网络”和“系统”经常交替使用,“装置”和“设备”也经常交替使用,但本领域的技术人员可以理解其含义。“通信装置”可以是芯片(如基带芯片,或者数据信号处理芯片,或者通用芯片等等),终端,基站,或者其他网络设备。终端是一种具有通信功能的设备,可以包括具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备,移动台,用户单元,站台,蜂窝电话,个人数字助理,无线调制解调器,无线通信设备,手持设备,膝上型电脑,无绳电话,无线本地环路台等。为描述方便,本申请中简称为终端。基站(base station,BS),也可称为基站设备,是一种部署在无线接入网用以提供无线通信功能的设备。在不同的无线接入系统中基站的叫法可能有所不同,例如在而在通用移动通讯系统(Universal Mobile  Telecommunications System,UMTS)网络中基站称为节点B(NodeB),而在LTE网络中的基站称为演进的节点B(evolved NodeB,eNB或者eNodeB),在新空口(new radio,NR)网络中的基站称为收发点(transmission reception point,TRP)或者下一代节点B(generation nodeB,gNB),或者其他各种演进网络中的基站也可能采用其他叫法。本发明并不限于此。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
LDPC码通常可以用奇偶校验矩阵H来表示。LDPC码的奇偶校验矩阵H可以通过基图(base graph)和偏移(shift)值得到。基图通常可以包括m*n个矩阵元素(entry),可以用m行n列的矩阵形式表示,矩阵元素的值为0或1,其中值为0的元素,有时候也称之为零元素,表示该元素可以被Z*Z的全零矩阵(zero matrix)替换,值为1的元素,有时候也称之为非零元素,表示该元素可以被Z*Z的循环置换矩阵(circulant permutation matrix)替换。也就是说,每个矩阵元素代表的是一个全零矩阵或者一个循环置换矩阵。如图1中10a所示为一个示例性的m=4,n=20具有QC结构的LDPC码的基图中的各元素。需要说明的是,在本文中,基图和矩阵的行号和列号均是从0开始编号的,仅仅是为了方便理解。可以理解的是,行号和列号也可以从1开始编号,则相应的行号和列号在本文所示的行号和列号基础上加1。
若基图中第i行第j列的元素值为1,其偏移值为Pi,j,Pi,j为大于或者等于0的整数,则表示第i行第j列的值为1的元素可以被Pi,j对应的Z*Z的循环置换矩阵替换,该循环置换矩阵可通过将Z*Z的单位矩阵进行Pi,j次向右循环移位得到。可见,将基图中每个值为0的元素用Z*Z的全零矩阵替换,每个值为1的元素采用其偏移值对应的Z*Z的循环置换矩阵进行替换,则可以得到LDPC码的奇偶校验矩阵。Z为正整数,也可以称之为扩展(lifting)因子,可以根据系统支持的码块大小和信息数据的大小确定的。可见奇偶校验矩阵H的大小为(m*Z)*(n*Z)。例如,扩展因子Z=4,则每个零元素被一个4*4大小的全0矩阵11a替换,若P2,3=2,则第2行第3列的非0元素被4*4的循环置换矩阵11d替换,该矩阵是由4*4的单位矩阵11b经过2次向右循环移位得到的,若P2,4=0,则第2行第3列的非0元素被单位矩阵11b替换。需要说明的是,此处仅仅只是举例说明,并不以此为限制。
由于Pi,j可以是基于扩展因子Z得到的,对于同一个位置上值为1的元素,采用不同的扩展因子Z可能存在不同的Pi,j。为了简化实现,通常系统也会定义一个m*n的基矩阵(base matrix),在基矩阵中每个元素和基图中每个元素的位置一一对应,基图中的零元素在基矩阵中位置不变,采用-1表示,基图中第i行第j列值为1的非零元素在基矩阵中位置不变,可表示为Pi,j,Pi,j为大于或者等于0的正整数。在本申请实施例中,有时也将基矩阵称为基图矩阵的偏移矩阵。
如图1中10b所示为基图10a对应的一个基矩阵。
通常LDPC码的基图或基矩阵中还可以包括p列内置打孔(built-in puncture)比特列,p可以为0~2的整数,这些列参与编码,但是其编码对应的系统比特不被发送,则LDPC码基矩阵的码率满足R=(n-m)/(n-p)。对于一个4行20列(4*20)的基矩阵来讲,如果有2列内置打孔比特列,则码率为(20-4)/(20-2)=8/9。
无线通信系统中采用的LDPC码,其基图的矩阵大小为m*n,可以包括5个子矩阵A、B、C、D和E,其中,矩阵的权重是由非零元素的个数决定的,行的权重(行重)是指一行中包括的非零元素的个数,列的权重(列重)是指一列中包括的非零元素的个数。如图2中200所示,其中:
子矩阵A为mA行nA列的矩阵,其大小可以为mA*nA,其中每列对应LDPC码中的Z个系统比特,系统比特有时候也称为信息比特。
子矩阵B为为mA行mA列的方阵,其大小可以为mA*mA,每列对应于LDPC码中的Z个校验比特。子矩阵B包括双对角结构的子矩阵B’和一列权重为3的矩阵列(简称为3列重列),其中列重为3的矩阵列位于子矩阵B’之前,如图2中20a所示;子矩阵B还可以包括一列重为1的矩阵列(简称为单列重列),单列重列可以位于子矩阵B的首列或者最后一列,并且其中的非零元素在子矩阵B的最后一行,使得子矩阵B的最后一行的行重为1,如图2中20b或20c所示。
通常基于子矩阵A和B生成的矩阵为核心矩阵,可以用来支持高码率的编码。
子矩阵C为全零矩阵,其大小为mA×(n-(mA+nA))。
子矩阵E为单位矩阵,其大小为(m-mA)×(m-mA)。
子矩阵D大小为(m-mA)×(nA+mA),通常可用来生成低码率的校验位。
由于子矩阵B、C和E的结构相对确定,子矩阵A和D两部分的结构是LDPC码的编译码性能的影响因素之一。
通常LDPC码可基于基图和基矩阵获得,对基图或者基矩阵采用密度进化的方法可以确定出LDPC码的性能上限,并且根据基矩阵中的偏移值确定出LDPC码的错误平层。改善编译码性能和降低错误平层是确定基图和基矩阵的目标之一。无线通信系统中码长灵活多变,既可以是如40比特,1280比特这样的小块长码块,也可以是如5000比特8448比特这样的大块长码块。图3a、3b以及3c分别是根据密度进化方法获得的一个LDPC码的基图和基矩阵示例,可满足块长为352至8448比特的码块的性能需求,图4a、4b以及4c分别是根据密度进化方法获得的另一个LDPC码及其核心矩阵的基图和基矩阵示例,可满足块长为40至2560比特的码块的性能需求。为方便说明及理解,附图中3a、3b、3c、4a、4b以及4c中在最上侧以及最左侧,分别示出了列号和行号图5a和图5b分别给出了图3a~3c所示的LDPC码在两种不同码率时的性能示意图,图5c给出了图4a~4c所示的LDPC码的性能示意图。
图3a所示为一个LDPC码的基图30a示例,其中,图中最上面一行0~67表示列编号,最左面一列0~45表示行编号,也就是基图的矩阵大小为46行68列。
子矩阵A对应系统比特,大小为5行22列,在基图30a中由第0行至第4行以及第0列至第21列的元素构成;
子矩阵B对应校验比特,大小为5行5列,在基图30a中由第0行至第4行以及第22列至第26列的元素构成;
子矩阵A和子矩阵B构成了LDPC码基图的核心矩阵部分,也即构成了一个5行27列的矩阵,可用于高码率编码。
其中,子矩阵A中可以包括2列内置打孔比特列,则打孔后,核心矩阵可以支持的码率为22/(27-2)=0.88。
其中,子矩阵B中最后1行(第4行)的行重和最后一列(子矩阵B的第4列,核心矩阵的第26列)的列重均为1,矩阵B包括1列3列重列,即子矩阵B的第0列(核心矩阵的第22列)列重为3,子矩阵B的第1至3列(核心矩阵的第23至25列),第0至3行为双对角结构。
基图30a的核心矩阵中,包括了4行权重为19的行,和1行权重为3的行。也就是,子矩阵A和子矩阵B构成的核心矩阵中各行的权值分别为19,19,19,19和3。需要说明的是,核心矩阵中各行的顺序是可以交换的,例如第0行和第2行交换,第1行和第3行交换等等。权重为3的行可以如基图30a的核心矩阵中第4行,第0至第26列所示;权重为19的行可以分别为基图30a的核心矩阵中第0至第3行,第0至第26列所示的各行之一。这些行顺序可以交换,各列的顺序也可以交换。例如,可以将核心矩阵的第3行和第0行交换,第2行和第1行交换,为了保持子矩阵B中的双对角结构,还可以在此基础上将第23列和第25列进行交换得到如图8a所示的基图80a的核心矩阵部分,也即80a中第0行至第5行,第0列至第26列构成的矩阵部分。由于子矩阵C是全零矩阵,经过行交换和列交换后的基图80a的各行的权重没有改变。
通常对于一个LDPC码给定的基图或者基矩阵而言,对矩阵元素的少量修改对性能影响是可接受的。例如,在一种实现方式中,可以基于基图30a的核心矩阵,进行少量修改,例如,其中1行的权重满足大于或者等于1,且小于或者等于5,其余4行的权重分别满足大于或者等于17,且小于或者等于21。例如,1行的权重为2,其余4行的权重为18,或者1行的权重为4,其余4行的权重分别为17,18,19,19等等。可以理解,也可以参照本申请提供的方案,使其中某些行的权重增加或减少1~2,本申请并不对此进行限定。
在子矩阵A中也可以包括1行,在该行中除了位于内置打孔列上的元素,其余元素均为零元素。进一步地,为了使得这一行在核心矩阵或者基图矩阵中权重最小,通常和子矩阵B中行重为1的行在同一行。例如,内置打孔比特列数为2,也就是第0列和第1列为内置打孔比特列,如基图30a或者80a所示,第4行中,第0列和第1列上的元素为非零元素,第2列至第25列上的元素为零元素,第26列的元素为非零元素,第4行的权重为3,不仅在核心矩阵中行的权重最小,在整个基图矩阵中行的权重也是最小的。这种设置可以改善编码和译码的性能。
为了支持不同块长,LDPC码需要不同的扩展因子Z,例如,扩展因子Z可以包括以下设计中的一个或多个:16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384。为了保证不同块长下的LDPC码性能,可以分别基于不同的扩展因子Z采用与之对应的基矩阵。如图3b所示为基图30a中核心矩阵的多个基矩阵示例。各基矩阵是基于基图30a的核心矩阵和扩展因子Z得到的,其中,基图30a中第i行第j列的非零元素在基矩阵第i行第j列为偏移值Pi,j,基图30a中零元素在偏移矩阵中以-1或者null表示。
其中,在一种可能的实现方式中:
若扩展因子Z为{16,18,20,22,24,26,28,30}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-1所示;
若扩展因子Z为{32,36,40,44,48,52,56,60}中的一个,则基图30a的 基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-2所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-3所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-4所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图中基矩阵30b-5所示。
在又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:
若扩展因子Z为{24,26,28,30}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-6所示;
若扩展因子Z为{32,36,40,44}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-7所示;
若扩展因子Z为{48,52,56,60}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-8所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-3所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-4所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图中基矩阵30b-5所示。
基于上述实现方式,在又一种可能的实现方式中,为了进一步改善性能,基图对应的基矩阵也可以更多,基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以对应到不同的基矩阵,例如:
若扩展因子Z为{24,26,28,30}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-6所示;
若扩展因子Z为{32,36,40,44}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-7所示;
若扩展因子Z为{48,52,56,60}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-8所示;
若扩展因子Z为{64,72,80,88}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-9或者30b-10所示;
若扩展因子Z为{96,104,112,120}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-3所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图3b中基矩阵30b-4所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则基图30a的基矩阵对应子矩阵A和子矩阵B的部分可以如图中基矩阵30b-5所示。
在又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:
若扩展因子Z为{24,26,28,30}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-1所示;
若扩展因子Z为{32,36,40,44}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-2所示;
若扩展因子Z为{48,52,56,60}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-3所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-4所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-5所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图中基矩阵80b-6所示。
基于上述实现方式,在又一种可能的实现方式中,为了进一步改善性能,基图对应的基矩阵也可以更多,基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以对应到不同的基矩阵,例如,其中:
若扩展因子Z为{24,26,28,30}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-1所示;
若扩展因子Z为{32,36,40,44}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-2所示;
若扩展因子Z为{48,52,56,60}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-3所示;
若扩展因子Z为{64,72,80,88}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-7或者80b-8所示;
若扩展因子Z为{96,104,112,120}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-4所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图8b中基矩阵80b-5所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则基图80a的基矩阵对应子矩阵A和子矩阵B的部分可以如图中基矩阵80b-6所示。
同样的,基矩阵中各行也是可以交换的,各列也可以交换。若基图经过行交换或列交换中至少一种交换,则相应部分的基矩阵也进行同样的交换。
可以看到,在上述实现方式中,80b-1是相应于30b-6的行列交换后的矩阵,80b-2是相应于30b-7的行列交换后的矩阵,80b-3是相应于30b-8的行列交换后的矩阵,80b-4是相应于30b-3的行列交换后的矩阵,80b-5是相应于30b-4的行列交换后的矩阵,80b-6是相应于30b-5的行列交换后的矩阵,80b-7是相应于30b-9的行列交换后的矩阵,80b-8是相应于30b-10的行列交换后的矩阵。
为了获得灵活的码率,可以基于核心矩阵添加相应大小的子矩阵C、子矩阵D和子 矩阵E,来获得不同的码率。由于子矩阵C为全零矩阵,子矩阵为单位矩阵,其大小主要是根据码率来确定,结构相对固定。影响到编译码性能的主要在于核心矩阵和子矩阵D部分。在核心矩阵的基础上添加行列,形成相应的C、D和E部分可以得到不同码率。
子矩阵D的列数为子矩阵A和B的列数之和,其行数主要与码率相关。以基图30a为例,则相应的子矩阵D的列数mD为(nA+mA)=27列,若LDPC码支持的码率为Rm,则其基图或者基矩阵的大小为m*n,其中,n=nA/Rm+p,m=n-nA=nA/Rm+p-nA。若最低码率Rm=1/3,内置打孔列数p=2,以基图30a为例,则n=68,m=46,子矩阵D的行数mD最大可以为m-mA=46-5=41,也就是0≤mD≤41。
为了方便描述,可以定义一个大小为41行27列的矩阵F,则子矩阵D可以包括其中的mD行,和子矩阵A、B以及相应大小的子矩阵C和E一起构成码率为22/(25+mD)的LDPC码的基图。基图30a中,mD=41,相应地子矩阵D大小为41行27列,也就是子矩阵D即矩阵F,对应LDPC码支持的码率为22/66=1/3。可见,基图30a中第5行至第45行以及第0列至第26列构成的矩阵即为矩阵F。
在图30a所示例的矩阵F中,其行重依次为7,7,9,8,7,7,8,6,6,5,6,5,5,6,5,5,5,5,4,4,4,5,4,5,4,4,4,4,3,4,4,4,4,3,3,4,4,3,3,3,4。
由于子矩阵E为单位矩阵,因此基图30a中每一行的权重为8,8,10,9,8,8,9,7,7,6,7,6,6,7,6,6,6,6,5,5,5,6,5,6,5,5,5,5,4,5,5,5,5,4,4,5,5,4,4,4,5。
在本发明中,若基图中相邻两行的同一列最多只有1个非零元素,则这两行彼此正交。
在一种可能的实现方式中,矩阵F可以是一个准正交结构的矩阵,在矩阵F中除了内置打孔比特列以外的其余列构成的矩阵块中,任意相邻两行的同一列中最多只有一个非零元素,也就是矩阵F中除了内置打孔比特列以外的其余列构成的矩阵块具有正交结构。以基图30a为例,矩阵F为第5行至第45行以及第0列至第26列构成的矩阵,其中,第0列和第1列为内置打孔比特列,则由第5行至第45行以及第2列至第26列构成的矩阵块中,第5行和第6行相互正交,第6行和第7行相互正交,第23行和第24行相互正交,第32行和第33行相互正交,以此类推。若mD=15,LDPC码基图中子矩阵D大小为15行27列,可以是由基图30a中矩阵F的第0-14行,也就是基图30a的第5行至第19行,第0列至第26列的矩阵构成,对应LDPC码支持的码率为22/40=0.55,也就是在该码率下,LDPC码的基图对应于基图30a的第0行至第19行,第0列至第41列构成的矩阵部分,其中子矩阵E为15行15列的单位矩阵,子矩阵C为5行15列的全0矩阵;
若mD=19,LDPC码基图中子矩阵D大小为19行27列,可以是由基图30a中矩阵F的第0-18行,也就是基图30a的第5行至第23行,第0列至第26列的矩阵构成构成,对应LDPC码支持的码率为22/44=1/2,也就是在该码率下,LDPC码的基图对应于基图30a的第0行至第23行,第0列至第41列构成的矩阵部分,其中子矩阵E为19行19列的单位矩阵,子矩阵C为5行19列的全0矩阵。
以此类推,不一一阐述。
需要说明的是,LDPC码的基图和基矩阵中各行是可以相互交换的,各列也是可以相互交换的。例如,可将基图30a的第17行和第19行进行交换,并且将第39列和第41列进行交换得到如图8a所示的基图矩阵80a。又例如,子矩阵D包括矩阵F中mD行,这mD行可以不进行行交换,也可以将其中一行或多行之间进行行交换,子矩阵E仍为对角结构,不做行、列交换,例如,将矩阵F的第12行和第14行进行行交换,子矩阵D包括矩阵F中mD行,子矩阵E仍为对角结构,从而得到基图80a。矩阵F在进行行交换前是一个准正交的矩阵,经过交换后仍然为一个准正交的矩阵。例如,在基图80a中,矩阵F为第5行至第45行以及第0列至第26列构成的矩阵,其中,第0列和第1列为内置打孔比特列,则由第5行至第45行以及第2列至第26列构成的矩阵块中,第5行和第6行相互正交,第29行和第30行相互正交,以此类推。
在又一种可能的实现方式中,若mD>30,则对应LDPC码支持的码率小于2/5,矩阵F中最后11行,也就是矩阵F的第30行至第40行以及第0列至第26列构成的子矩阵可以是正交的。也就是矩阵F第0行至第29行中相邻两行除了内置打孔比特列以外其他列最多只有一个非零元素,第30行至第40行中相邻两行第0列至第26列各列最多只有一个非零元素。
对每一码率中的子矩阵D,每一行可以进行1~2个非零元素或者1~2个零元素的修改,而不影响其性能。
如图3c所示基矩阵30c为基图30a的基矩阵示例,其中,基图30a中第i行第j列的非零元素在基矩阵30c中位置不变,值为偏移值Pi,j。其中,子矩阵D的部分包括矩阵F的偏移矩阵的mD行,对于图3c中所示的基矩阵30c,mD=41,可以根据码率的不同选择mD值。子矩阵D对应的偏移矩阵为矩阵F的偏移矩阵。这里矩阵F的偏移矩阵也就是将矩阵F中第i行第j列的非零元素替换为偏移值Pi,j,零元素在偏移矩阵中以-1或者null表示。
其中,一种可能的实现方式中,
若扩展因子Z为{16,18,20,22,24,26,28,30}中的一个,则矩阵F的偏移矩阵可以如30c-1所示;
若扩展因子Z为{32,36,40,44,48,52,56,60}中的一个,则矩阵F的偏移矩阵可以如30c-2所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则矩阵F的偏移矩阵可以如30c-3所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则矩阵F的偏移矩阵可以如30c-4所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则则矩阵F的偏移矩阵可以如30c-5所示。
将基矩阵30c中子矩阵D替换为上述各矩阵F的偏移矩阵中的mD行,可以得到与基图30a对应的不同码率的各个基矩阵。若mD=41,将基矩阵30c中第5行至第45行,第0列至第26列构成的矩阵部分替换为各矩阵F的偏移矩阵,可以得到与大小为46行68列的基图30a对应的各个基矩阵,此时码率为1/3。
又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:
若扩展因子Z为{24,26,28,30}中的一个,则矩阵F的偏移矩阵可以如30c-6所示;
若扩展因子Z为{32,36,40,44}中的一个,则矩阵F的偏移矩阵可以如30c-7所示;
若扩展因子Z为{48,52,56,60}中的一个,则矩阵F的偏移矩阵可以如30c-8所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则矩阵F的偏移矩阵可以如30c-3所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则矩阵F的偏移矩阵可以如30c-4所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则矩阵F的偏移矩阵可以如30c-5所示。
基于上述实现方式,在又一种可能的实现方式中,为了进一步改善性能,矩阵F的偏移矩阵有更多的选择。例如矩阵F的偏移矩阵还可以是30c-9或者30c-10,例如,可以对扩展因子做如下设计:
若扩展因子Z为{24,26,28,30}中的一个,则矩阵F的偏移矩阵可以如30c-6所示;
若扩展因子Z为{32,36,40,44}中的一个,则矩阵F的偏移矩阵可以如30c-7所示;
若扩展因子Z为{48,52,56,60}中的一个,则矩阵F的偏移矩阵可以如30c-8所示;
若扩展因子Z为{64,72,80,88}中的一个,则矩阵F的偏移矩阵可以如30c-9或者30c-10所示;
若扩展因子Z为{96,104,112,120}中的一个,则矩阵F的偏移矩阵可以如30c-3所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则矩阵F的偏移矩阵可以如30c-4所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则矩阵F的偏移矩阵可以如30c-5所示。
又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:
若扩展因子Z为{24,26,28,30}中的一个,则矩阵F的偏移矩阵可以如80c-1所示;
若扩展因子Z为{32,36,40,44}中的一个,则矩阵F的偏移矩阵可以如80c-2所示;
若扩展因子Z为{48,52,56,60}中的一个,则矩阵F的偏移矩阵可以如80c-3所示;
若扩展因子Z为{60,64,72,80,88,96,104,112,120}中的一个,则矩阵F的偏移矩阵可以如80c-4所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则矩阵F的偏移矩阵可以如80c-5所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则矩阵F的偏移矩阵可以如80c-6所示。
基于上述实现方式,在又一种可能的实现方式中,为了进一步改善性能,可以将扩展因子Z支持的粒度设计得更细,从而使得矩阵F的偏移矩阵有更多的选择。例如矩阵F的偏移矩阵还可以是80c-7或者80c-8,例如,可以对扩展因子做如下设计,其中:
若扩展因子Z为{24,26,28,30}中的一个,则矩阵F的偏移矩阵可以如80c-1所示;
若扩展因子Z为{32,36,40,44}中的一个,则矩阵F的偏移矩阵可以如80c-2所示;
若扩展因子Z为{48,52,56,60}中的一个,则矩阵F的偏移矩阵可以如80c-3所示;
若扩展因子Z为{64,72,80,88}中的一个,则矩阵F的偏移矩阵可以如80c-7或者80c-8所示;
若扩展因子Z为{96,104,112,120}中的一个,则矩阵F的偏移矩阵可以如80c-4所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则矩阵F的偏移矩阵可以如80c-5所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则矩阵F的偏移矩阵可以如80c-6所示。
同样的,基矩阵中各行也是可以交换的,各列也可以交换。若基图经过了行交换或列交换中至少一种,则相应部分的基矩阵也进行同样的交换。
可以看到,在上述实现方式中,80c-1是相应于30c-6的行交换后的矩阵,80c-2是相应于30c-7的行交换后的矩阵,80c-3是相应于30c-8的行交换后的矩阵,80c-4是相应于30c-3的行交换后的矩阵,80c-5是相应于30c-4的行交换后的矩阵,80c-6是相应于30c-5的行交换后的矩阵,80c-7是相应于30c-9的行交换后的矩阵,80c-8是相应于30c-10的行交换后的矩阵。
将基矩阵80c中子矩阵D替换为上述各矩阵F的偏移矩阵中的mD行,可以得到与基图80a对应的不同码率的各个基矩阵。若mD=41,将基矩阵80c中第5行至第45行,第0列至第26列构成的矩阵部分替换为各矩阵F的偏移矩阵,可以得到与大小为46行68列的基图80a对应的各个基矩阵,此时码率为1/3。
需要说明的是,由于基图和基矩阵中各行、各列都可以交换,一种可能的实现方式中,基图的核心矩阵,也就是子矩阵A和B构成的部分可以采用基图30a中的核心矩阵 部分,基图的子矩阵D可以包括基图30a中第5行到第45行,第0列到第26列构成的矩阵部分中的mD行。相应地,基矩阵中核心矩阵部分可以为30b-3,30b-4,30b-5,30b-6,30b-7、30b-8、30b-9以及30b-10中的一个,子矩阵D对应的部分可以包括以下任一矩阵的mD行:30c-3,30c-4,30c-5,30c-6,30c-7、30c-8、30c-9和30c-10。可以根据扩展因子选择核心矩阵和子矩阵D对应的部分。
又一种可能的实现方式中,基图的核心矩阵,也就是子矩阵A和B构成的部分可以采用基图80a中的核心矩阵部分,基图的子矩阵D可以包括基图80a中第5行到第45行,第0列到第26列构成的矩阵部分中的mD行。相应地,基矩阵中核心矩阵部分可以为80b-1,80b-2,80b-3,80b-4,80b-5、80b-6、80b-7和80b-8中的一个,子矩阵D对应的部分可以包括以下任一矩阵的mD行:80c-1,80c-2,80c-3,80c-4,80c-5、80c-6、80c-7和80c-8。可以根据扩展因子选择核心矩阵和子矩阵D对应的部分。
又一种可能的实现方式中,基图的核心矩阵,也就是子矩阵A和B构成的部分可以采用基图30a中的核心矩阵部分,基图的子矩阵D可以包括基图80a中第5行到第45行,第0列到第26列构成的矩阵部分中的mD行,如图10a所示的基图100a。相应地,基矩阵中核心矩阵部分可以为30b-3,30b-4,30b-5,30b-6,30b-7、30b-8、30b-9以及30b-10中的一个,子矩阵D对应的部分可以包括以下任一矩阵的mD行:80c-1,80c-2,80c-3,80c-4,80c-5、80c-6、80c-7和80c-8。可以根据扩展因子选择核心矩阵和子矩阵D对应的部分。
又一种可能的实现方式中,基图的核心矩阵,可以采用基图80a中的核心矩阵部分,基图的子矩阵D可以包括基图30a中第5行到第45行,第0列到第26列构成的矩阵部分中的mD行,如图9a所示的基图90a。相应地,基矩阵中核心矩阵部分可以为80b-1,80b-2,80b-3,80b-4,80b-5、80b-6、80b-7和80b-8中的一个,子矩阵D对应的部分可以包括以下任一矩阵的mD行:30c-6,30c-7,30c-8,30c-3,30c-4、30c-5、30c-9和30c-10。可以根据扩展因子选择核心矩阵和子矩阵D对应的部分。
又一种可能的实现方式中,基图采用基图90a,相应地,基矩阵可以是包括如图9b中以下任一矩阵的第5行至第45行中的mD行和第0行至第4行:90b-1,90b-2,90b-3,90b-4,90b-5、90b-6、90b-7和90b-8中的一个。可以根据扩展因子选择相应的偏移矩阵。例如:
若扩展因子Z为{24,26,28,30}中的一个,则偏移矩阵可以如90b-1所示;
若扩展因子Z为{32,36,40,44}中的一个,则偏移矩阵可以如90b-2所示;
若扩展因子Z为{48,52,56,60}中的一个,则偏移矩阵可以如90b-3所示;
若扩展因子Z为{64,72,80,88}中的一个,则偏移矩阵可以如90b-4或者90b-5所示;
若扩展因子Z为{96,104,112,120}中的一个,则偏移矩阵可以如90b-6所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则偏移矩阵可以如90b-7所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则偏移矩阵可以如90b-8所示。
又一种可能的实现方式中,基图采用基图100a,相应地,基矩阵可以是包括如图10b中以下任一矩阵的第5行至第45行中的mD行和第0行至第4行:100b-1,100b-2,100b-3, 100b-4,100b-5、100b-6、100b-7和100b-8中的一个。可以根据扩展因子选择。例如:
若扩展因子Z为{24,26,28,30}中的一个,则偏移矩阵可以如100b-1所示;
若扩展因子Z为{32,36,40,44}中的一个,则偏移矩阵可以如100b-2所示;
若扩展因子Z为{48,52,56,60}中的一个,则偏移矩阵可以如100b-3所示;
若扩展因子Z为{64,72,80,88}中的一个,则偏移矩阵可以如100b-4或者100b-5所示;
若扩展因子Z为{96,104,112,120}中的一个,则偏移矩阵可以如100b-6所示;
若扩展因子Z为{128,144,160,176,192,208,224,240}中的一个,则偏移矩阵可以如100b-7所示;
若扩展因子Z为{256,288,320,352,384}中的一个,则偏移矩阵可以如100b-8所示。
图5a和图5b所示的性能曲线图中,LDPC 1表示该LDPC码是基于基图30a对应的各个基矩阵编码得到的,LDPC 2表示作为对比的一种常用的LDPC码,其中横坐标表示信息比特序列的长度,单位为比特,纵坐标为符号信噪比(Es/N0),性能曲线为BLER分别为0.01和0.0001时,LDPC 1和LDPC 2在不同信息比特序列长度下符号信噪比的性能。其中,图5a中码率R=8/9,图5b中码率R=1/3。可以看出在同样的BLER下,LDPC 1在不同信息比特序列长度下的符号信噪比低于LDPC 2,也就是性能优于LDPC 2。
图4a所示为一个LDPC码的基图40a示例,其中,图中最上面一行0~51表示列编号,最左面一列0~41表示行编号。
子矩阵A对应系统比特,大小为7行10列,在基图40a中由第0行至第6行以及第0列至第9列的元素构成;
子矩阵B对应校验比特,大小为7行7列,在基图40a中由第0行至第6行以及第10列至第16列的元素构成;
子矩阵A和子矩阵B构成了LDPC码基图40a的核心矩阵部分,也即构成了一个7行17列的矩阵,可用于高码率编码。
其中,子矩阵A中可以包括2列内置打孔比特列,则打孔后,核心矩阵可以支持的码率为10/(17-2)=2/3。
其中,子矩阵B中最后1行(第6行)的行重和最后一列(子矩阵B的第6列,核心矩阵的第16列)的列重均为1,矩阵B包括1列3列重列,即子矩阵B的第0列(核心矩阵的第10列)列重为3,子矩阵B的第1至5列(核心矩阵的第11至15列),第0至6行为双对角结构。
基图40a的核心矩阵中,包括了1行权重为3的行,3行权重为8的行,其余3行权重为7的行。也就是,子矩阵A和子矩阵B构成的核心矩阵中各行的权值分别为8,7,7,7,8,8和3。需要说明的是,核心矩阵中各行的顺序是可以交换的,例如第0行和第2行交换,第1行和第3行交换等等。权重为3的行可以如基图40a的核心矩阵中第6行,第0至第16列所示;权重为8的行可以分别为基图40a的核心矩阵中第0行,第4行以及第5行,第0至第26列所示的各行之一。权重为7的行可以分别为基图40a的核心矩阵中第1行,第2行以及第3行,第0至第26列所示的各行之一。这些行顺序可以 交换,各列的顺序也可以交换,并不影响编译码性能。
例如,可以将核心矩阵的第5行和第0行交换,第4行和第1行交换,第3行和第2行交换,为了保持子矩阵B中的双对角结构,还可以在此基础上将第15列和第11列交换,第12列和第14列进行交换得到又一核心矩阵部分。由于子矩阵C是全零矩阵,经过行交换和列交换后的基图80a的各行的权重没有改变。
在子矩阵A中也可以包括1行,在该行中除了位于内置打孔列上的元素,其余元素均为零元素。进一步地,为了使得这一行在核心矩阵或者基图矩阵中权重最小,通常和子矩阵B中行重为1的行在同一行。例如,内置打孔比特列数为2,也就是第0列和第1列为内置打孔比特列,如基图40a所示,第6行中,第0列和第1列上的元素为非零元素,第2列至第15列上的元素为零元素,第16列的元素为非零元素,第6行的权重为3,不仅在核心矩阵中行的权重最小,在整个基图矩阵中行的权重也是最小的。这种设置可以改善编码和译码的性能。
通常对于一个LDPC码给定的基图或者基矩阵而言,对矩阵元素的少量修改对性能影响是可接受的。对于基图40a的核心矩阵而言,进行少量修改,例如,使得其中1行的权重满足大于或者等于1,且小于或者等于5,其余6行的权重分别满足大于或者等于6,且小于或者等于10,对性能影响较小。
为了支持不同块长,LDPC码需要不同的扩展因子Z,例如,扩展因子Z可以包括中的一个或多个:8,9,10,11,12,13,14,15,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256。为了保证不同块长下的LDPC码性能,可以分别基于不同的扩展因子Z采用与之对应的基矩阵。如图4b所示为基图40a中核心矩阵的多个基矩阵示例。各基矩阵是基于基图40a的核心矩阵和扩展因子Z得到的,其中,基图40a中第i行第j列的非零元素在基矩阵第i行第j列为偏移值Pi,j,基图40a中零元素在偏移矩阵中以-1或者null表示。同样的,基矩阵中各行也是可以交换的,各列也可以交换。
其中,
若扩展因子Z为{8,9,10,11,12,13,14,15}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b中基矩阵4b-1所示;
若扩展因子Z为{16,18,20,22,24,26,28,30}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b中基矩阵4b-2所示;
若扩展因子Z为{32,36,40,44}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b中基矩阵4b-3所示;
若扩展因子Z为{48,52,56,60}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b中基矩阵4b-4所示;
若扩展因子Z为{64,72,80,88,96,104,112,120}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b-5所示。
若扩展因子Z为{128,144,160,176,192,208,224,240,256}中的一个,则基图40a的基矩阵对应子矩阵A和子矩阵B的部分可以如图4b-6所示。
为了获得灵活的码率,可以基于核心矩阵添加相应大小的子矩阵C、子矩阵D和子 矩阵E,来获得不同的码率。由于子矩阵C为全零矩阵,子矩阵为单位矩阵,其大小主要是根据码率来确定,结构相对固定。影响到编译码性能的主要在于核心矩阵和子矩阵D部分。在核心矩阵的基础上添加行列,形成相应的C、D和E部分可以得到不同码率。
子矩阵D的列数为子矩阵A和B的列数之和,其行数主要与码率相关。以基图40a为例,则相应的子矩阵D的列数mD为(nA+mA)=17列,若LDPC码支持的码率为Rm,则其基图或者基矩阵的大小为m*n,其中,n=nA/Rm+p,m=n-nA=nA/Rm+p-nA。若最低码率Rm=1/5,内置打孔列数p=2,以基图40a为例,则n=52,m=42,子矩阵D的行数mD最大可以为m-mA=42-7=35,也就是0≤mD≤35。
为了方便描述,可以定义一个大小为35行17列的矩阵F,则子矩阵D可以包括其中的mD行,和子矩阵A、B以及相应大小的子矩阵C和E一起构成码率为10/(15+mD)的LDPC码的基图。基图40a中,mD=35,相应地子矩阵D大小为35行17列,也就是子矩阵D即矩阵F,对应LDPC码支持的码率为10/50=1/5。可见,基图40a中第7行至第41行以及第0列至第16列构成的矩阵即为矩阵F。同样地,矩阵F具有前述实施例所述的准正交结构。
在图40a所示例的矩阵F中,其行重依次为5,4,4,4,4,4,4,3,3,3,4,2,3,3,4,4,2,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2。
由于子矩阵E为单位矩阵,因此基图40a中每一行的权重为6,5,5,5,5,5,5,4,4,4,5,3,4,4,5,5,3,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,3。
若mD=10,LDPC码基图中子矩阵D大小为10行17列,可以是由基图40a中矩阵F的第0-9行,也就是基图40a的第7行至第16行,第0列至第16列的矩阵构成,对应LDPC码支持的码率为10/25=0.4,也就是在该码率下,LDPC码的基图对应于基图40a的第0行至第16行,第0列至第26列构成的矩阵部分,其中子矩阵E为10行10列的单位矩阵,子矩阵C为7行10列的全0矩阵;
若mD=15,LDPC码基图中子矩阵D大小为15行17列,可以是由基图40a中矩阵F的第0-14行,也就是基图40a的第7行至第21行,第0列至第16列的矩阵构成构成,对应LDPC码支持的码率为10/30=1/3,也就是在该码率下,LDPC码的基图对应于基图40a的第0行至第21行,第0列至第31列构成的矩阵部分,其中子矩阵E为15行15列的单位矩阵,子矩阵C为7行15列的全0矩阵。
以此类推,不一一阐述。
需要说明的是,LDPC码的基图和基矩阵中各行是可以相互交换的,各列也是可以相互交换的。
对每一码率中的子矩阵D,每一行可以进行1~2个非零元素或者1~2个零元素的修改,而不影响其性能。
如图4c所示基矩阵40c为基图40a的基矩阵示例,其中,基图40a中第i行第j列的非零元素在基矩阵30c中位置不变,值为偏移值Pi,j。其中,子矩阵D的部分包括矩阵F的偏移矩阵的mD行,对于图4c中所示的基矩阵40c,mD=41,可以根据码率的不同选 择mD值。子矩阵D对应的偏移矩阵为矩阵F的偏移矩阵。这里矩阵F的偏移矩阵也就是将矩阵F中第i行第j列的非零元素替换为偏移值Pi,j,零元素在偏移矩阵中以-1或者null表示。
其中,
若扩展因子Z为{8,9,10,11,12,13,14,15}中的一个,则矩阵F的偏移矩阵可以如4c-1所示;
若扩展因子Z为{16,18,20,22,24,26,28,30}中的一个,则矩阵F的偏移矩阵可以如4c-2所示;
若扩展因子Z为{32,36,40,44}中的一个,则矩阵F的偏移矩阵可以如4c-3所示;
若扩展因子Z为{48,52,56,60}中的一个,则矩阵F的偏移矩阵可以如4c-4所示;
若扩展因子Z为{64,72,80,88,96,104,112,120}中的一个,则矩阵F的偏移矩阵可以如4c-5所示;
若扩展因子Z为{128,144,160,176,192,208,224,240,256}中的一个,则则矩阵F的偏移矩阵可以如4c-6所示。
将基矩阵40c中子矩阵D替换为上述各矩阵F的偏移矩阵中的mD行,可以得到与基图40a对应的不同码率的各个基矩阵。若mD=35,将基矩阵40c中第7行至第41行,第0列至第16列构成的矩阵部分替换为各矩阵F的偏移矩阵,可以得到与大小为42行52列的基图40a对应的各个基矩阵,此时码率为1/5。
图5c所示为基于基图40a对应的各个基矩阵编码得到的LDPC码,其中横坐标表示信息比特序列的长度,单位为比特,纵坐标为符号信噪比(Es/N0),BLER分别为0.01和0.0001时的符号信噪比。
在本发明一实施例提供的编码方法中,编码器使用LDPC矩阵对输入序列进行编码;该LDPC矩阵的基图可以为前述示例中的任一基图,该LDPC矩阵的基矩阵HB可以为前述示例中的任一基矩阵。其中,编码器的输入序列可以是信息比特序列。
进一步地,还包括:确定扩展因子Z;可以根据输入序列的长度K来确定扩展因子Z的取值。信息比特序列有时也称为码块(code block),可以通过对传输块进行码块划分得到。若信息比特序列长度为K,可以在多个系统定义的扩展因子中确定满足22*Z≥K的最小值,例如,K=3800,系统定义的扩展因子包括16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384,则可以确定Z为176。需要说明的是,此处只是举例,并不以此为限制。
编码器使用LDPC矩阵对输入序列进行编码可以是使用扩展因子Z对应的LDPC矩阵对输入序列进行编码。
其中LDPC矩阵基矩阵HB可以是前述各实施例中例举的任一基矩阵,其基图至少包括子矩阵A和子矩阵B,还可以包括子矩阵C、子矩阵D和子矩阵E,各部分可以参考前述各实施例中的描述,此处不再赘述。
在一种可能的实现方式中,LDPC码的基矩阵HB可以是保存在存储器中,编码器获取扩展因子Z对应的LDPC矩阵,从而对输入序列进行编码。在又一种可能的实现方式中,由于LDPC码的基矩阵HB有多个,按照矩阵结构保存会占用较大的存储空间,也 可以将LDPC码的基图保存在存储器中,分别逐行或者逐列保存各基矩阵中非零元素的偏移值,然后根据基图和扩展因子Z对应的基矩阵的偏移值得到LDPC矩阵。
需要说明的是,此处均只是举例,并不以此为限制。
对信息比特序列进行编码时,可以根据Z对基矩阵HB进行扩展得到编码的LDPC矩阵H。对基矩阵HB中每一非零元素Pi,j,确定Z*Z大小的循环置换矩阵hi,j,其中hi,j为单位矩阵经过Pi,j次循环移位得到的循环置换矩阵,将hi,j替换非零元素Pi,j,将Z*Z大小的全零矩阵替换基矩阵HB中的零元素,从而得到奇偶校验矩阵H;
在通信系统中,可采用上述方法编码后得到LDPC码。获得LDPC码后,通信装置,还可以进行以下一个或多个操作:对LDPC码进行速率匹配;根据交织方案对速率匹配后的LDPC码进行交织;根据调制方案对交织后的LDPC码进行调制得到比特序列B;发送比特序列B。
在本发明另一实施例提供的译码方法中,译码器使用LDPC矩阵对输入序列进行译码;该LDPC矩阵的基图可以为前述示例中的任一基图,该LDPC矩阵的基矩阵HB可以为前述示例中的任一基矩阵。其中,译码器的输入序列可以是LDPC码的软值序列。
进一步地,还包括:确定扩展因子Z。接收端的通信设备可以接收包含基于LDPC编码的信号,获取其中LDPC码的软值序列,并确定出相应的扩展因子Z。
译码器使用LDPC矩阵对输入序列进行译码可以是使用扩展因子Z对应的LDPC矩阵对LDPC码的软值序列进行译码。
其中LDPC矩阵基矩阵HB可以是前述各实施例中例举的任一基矩阵,其基图至少包括子矩阵A和子矩阵B,还可以包括子矩阵C、子矩阵D和子矩阵E,各部分可以参考前述各实施例中的描述,此处不再赘述。
在一种可能的设计中,,LDPC码的基矩阵HB可以是保存在存储器中,获取到扩展因子Z对应的LDPC矩阵可以对LDPC码的软值进行译码;
在又一种可能的实现方式中,由于LDPC码的基矩阵有多个,按照矩阵结构保存会占用较大的存储空间,也可以将LDPC码的基图保存在存储器中,分别逐行或者逐列保存各基矩阵中非零元素的偏移值,然后根据基图和扩展因子Z对应的基矩阵的偏移值得到LDPC矩阵。
需要说明的是,此处均只是举例,并不以此为限制。
译码是编码的逆过程,其使用的基矩阵HB具有与编码方法实施例中的基矩阵相同的特征。对基矩阵HB扩展得到LDPC矩阵H也可以参考编码方法实施例。
在通信系统中,所述译码方法之前,通信装置还可以进行以下一个或多个操作:接收包含基于LDPC编码的信号,对信号进行解调,解交织以及解速率匹配得到LDPC码的软值。
图6给出了一种通信装置600的结构示意图,装置600可用于实现上述方法实施例中描述的方法,可以参见上述方法实施例中的说明。所述通信装置600可以是芯片,基站,终端或者其他网络设备。
所述通信装置600包括一个或多个处理器601。所述处理器601可以是通用处理器或 者专用处理器等。例如可以是基带处理器、或中央处理器。基带处理器可以用于对通信协议以及通信数据进行处理,中央处理器可以用于对通信装置(如,基站、终端、或芯片等)进行控制,执行软件程序,处理软件程序的数据。
在一种可能的设计中,所述通信装置600包括一个或多个所述处理器601,所述一个或多个处理器601可实现上述编码器的功能,在另一种可能的设计中,上述编码器可以是所述处理器601的一部分,处理器601除了实现编码器的功能,还可以实现其他功能。
所述通信装置600使用LDPC矩阵对输入序列进行编码;该LDPC矩阵的基图可以为前述示例中的任一基图,该LDPC矩阵的基矩阵HB可以为前述实施例中的任一基矩阵。其中,编码器的输入序列可以是信息比特序列。
在一种可能的设计中,一个或多个所述处理器601可实现上述译码器的功能,在另一种可能的设计中,上述译码器可以是所述处理器601的一部分。
所述通信装置600可用于使用LDPC矩阵对输入序列进行译码;该LDPC矩阵的基图可以为前述示例中的任一基图,该LDPC矩阵的基矩阵HB可以为前述示例中的任一基矩阵。其中,译码器的输入序列可以是软值序列。
可选的一种设计中,处理器601也可以包括指令603,所述指令可以在所述处理器上被运行,使得所述通信装置600执行上述方法实施例中描述的方法。
在又一种可能的设计中,通信装置600也可以包括电路,所述电路可以实现前述方法实施例中编码器、或者译码器、或者编码器和译码器的功能。
可选的,所述通信装置600中可以包括一个或多个存储器602,其上存有指令604,所述指令可在所述处理器上被运行,使得所述通信装置600执行上述方法实施例中描述的方法。可选的,所述存储器中还可以存储有数据。可选的处理器中也可以存储指令和/或数据。所述处理器和存储器可以单独设置,也可以集成在一起。可选的,一个或多个存储器602可以存储与基矩阵相关的参数,例如偏移值,基图,基于基图扩展到矩阵、基矩阵中的各行,扩展因子等等。可选的,所述一个或者多个存储器602可以存储基矩阵或者基于基矩阵扩展到矩阵。
可选的,所述通信装置600还可以包括收发器605以及天线606。所述处理器601可以称为处理单元,对通信装置(终端或者基站)进行控制。所述收发器605可以称为收发单元、收发机、收发电路、或者收发器等,用于通过天线606实现通信装置的收发功能.
可选的,所述通信装置600还可以包括用于产生传输块CRC的器件、用于码块分割和CRC校验的器件、用于交织的交织器、或者用于调制处理的调制器等。可以通过一个或多个处理器601实现这些器件的功能。
可选的,所述通信装置600还可以包括,用于解调操作的解调器、用于解交织的解交织器、或者用于解速率匹配的器件等等。可以通过一个或多个处理器601实现这些器件的功能。
图7给出了一种通信系统700的示意图,通信系统700中包括通信设备70和通信设备71,其中,信息数据在通信设备70和通信设备71之间接收和发送。通信设备70和71可以是所述通信装置600,或者通信设备70和71分别包括通信装置600,对信息数据进行接收和发送。在一个例子中,通信设备70可以为终端,相应的通信设备71可以为基站;在另一个例子中,通信设备70为基站,相应的通信设备71可以为终端。
本领域技术任何还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block)和步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的指令、或者这两者的结合。存储器可以是RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介。示例性地,存储器可以与处理器连接,以使得处理器可以从存储器中读取信息,并可以向存储器存写信息。可选地,存储器还可以集成到处理器中。处理器和存储器可以设置于ASIC中,ASIC可以设置于UE中。可选地,处理器和存储器也可以设置于UE中的不同的部件中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本发明实施例所述的流程或功能。当使用软件程序实现时,也可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定义中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (30)

  1. 一种编码方法,其特征在于,所述方法包括:
    使用低密度奇偶校验LDPC矩阵对输入序列进行编码;
    所述LDPC矩阵的基图表示为m行n列的矩阵,m为大于或者等于5的整数,n为大于或者等于27的整数;
    所述基图至少包括子矩阵A和子矩阵B,其中,
    所述子矩阵A为5行22列的矩阵;
    所述子矩阵B为5行5列的矩阵,其中,所述子矩阵B包括权重为3的列和双对角结构的子矩阵B’。
  2. 一种译码方法,其特征在于,所述方法包括:
    使用低密度奇偶校验LDPC矩阵对输入序列进行译码;
    所述LDPC矩阵的基图表示为m行n列的矩阵,m为大于或者等于5的整数,n为大于或者等于27的整数;
    所述基图至少包括子矩阵A和子矩阵B,其中,
    所述子矩阵A为5行22列的矩阵;
    所述子矩阵B为5行5列的矩阵,其中,所述子矩阵B包括一权重为3的列和双对角结构的子矩阵B’。
  3. 根据权利要求1或2所述的方法,其特征在于,所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行的权重满足大于或者等于1,且小于或者等于5,其余4行的权重分别满足大于或者等于17,且小于或者等于21。
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行的权重为3,其余4行的权重为19。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行为:
    Figure PCTCN2017086227-appb-100001
    其余4行分别为以下各行之一:
    Figure PCTCN2017086227-appb-100002
  6. 根据权利要求1至5任一项所述的方法,其特征在于,所述子矩阵A和子矩阵B构成的矩阵表示为
    Figure PCTCN2017086227-appb-100003
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述LDPC矩阵的基矩阵HB对应所述子矩阵A和子矩阵B的部分表示为以下之一:
    Figure PCTCN2017086227-appb-100004
  8. 根据权利要求1至7任一项所述的方法,其特征在于,所述基图还包括子矩阵C、子矩阵D和子矩阵E,其中,
    所述子矩阵C为5行mD列的全零矩阵;
    所述子矩阵D为mD行27列的矩阵;
    所述子矩阵E为mD行mD列的单位矩阵;
    mD为整数且0≤mD≤41。
  9. 根据权利要求8所述的方法,其特征在于,所述子矩阵D包括矩阵F中的mD行,所述矩阵F为41行27列,所述矩阵F的各行的行重分别为7,7,9,8,7,7,8,6,6,5,6,5,5,6,5,5,5,5,4,4,4,5,4,5,4,4,4,4,3,4,4,4,4,3,3,4,4,3,3,3,4。
  10. 根据权利要求9所述的方法,其特征在于,所述矩阵F表示为:
    Figure PCTCN2017086227-appb-100005
  11. 根据权利要求10所述的方法,其特征在于,所述基矩阵HB对应子矩阵D的部分包括所述矩阵F的偏移矩阵中的mD行,所述矩阵F的偏移矩阵表示为以下之一:
    Figure PCTCN2017086227-appb-100006
    Figure PCTCN2017086227-appb-100007
    Figure PCTCN2017086227-appb-100008
    Figure PCTCN2017086227-appb-100009
    Figure PCTCN2017086227-appb-100010
  12. 一种编码方法,其特征在于,所述方法包括:
    使用低密度奇偶校验LDPC矩阵对输入序列进行编码;
    所述LDPC矩阵的基图表示为m行n列的矩阵,m为大于或者等于7的整数,n为大于或者等于17的整数;
    所述基图至少包括子矩阵A和子矩阵B,其中,
    所述子矩阵A为7行10列的矩阵;
    所述子矩阵B为7行7列的矩阵,所述子矩阵B包括权重为3的列和双对角结构的子矩阵B’。
  13. 一种译码方法,其特征在于,所述方法包括:
    使用低密度奇偶校验LDPC矩阵对输入序列进行译码;
    所述LDPC矩阵的基图表示为m行n列的矩阵,m为大于或者等于7的整数,n为大于或者等于17的整数;
    所述基图至少包括子矩阵A和子矩阵B,其中,
    所述子矩阵A为7行10列的矩阵;
    所述子矩阵B为7行7列的矩阵,所述子矩阵B包括一权重为3的列和双对角结构的子矩阵B’。
  14. 根据权利要求12或13所述的方法,其特征在于,所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行的权重满足大于或者等于1,且小于或者等于5,其余6行的权重分别满足大于或者等于6,且小于或者等于10。
  15. 根据权利要求12至14任一项所述的方法,其特征在于,所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行的权重为3,3行的权重为8,其余3行的权重为7。
  16. 根据权利要求12至15任一项所述的方法,其特征在于,所述子矩阵A和所述子矩阵B构成的矩阵中,其中1行为,
    Figure PCTCN2017086227-appb-100011
    其余3行分别为以下各行之一,
    Figure PCTCN2017086227-appb-100012
    权重为7的3行分别为以下各行之一,
    Figure PCTCN2017086227-appb-100013
  17. 根据权利要求12至16任一项所述的方法,其特征在于,所述子矩阵A和子矩阵B构成的矩阵表示为
    Figure PCTCN2017086227-appb-100014
  18. 根据权利要求12至17任一项所述的方法,其特征在于,所述LDPC矩阵的基矩阵对应所述子矩阵A和子矩阵B的部分表示为以下之一
    Figure PCTCN2017086227-appb-100015
    Figure PCTCN2017086227-appb-100016
  19. 根据权利要求12至18任一项任一项所述的方法,其特征在于,所述基图还包括子矩阵C、子矩阵D和子矩阵E,其中,
    所述子矩阵C为7行mD列的全零矩阵;
    所述子矩阵D为mD行17列的矩阵;
    所述子矩阵E为mD行mD列的单位矩阵;
    mD为整数且0≤mD≤35。
  20. 根据权利要求19所述的方法,其特征在于,所述子矩阵D包括矩阵F中的mD行,所述矩阵F为35行17列,所述矩阵F的各行的行重分别为5,4,4,4,4,4,4,3,3,3,4,2,3,3,4,4,2,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2。
  21. 根据权利要求20所述的方法,其特征在于,所述矩阵F表示为:
    Figure PCTCN2017086227-appb-100017
  22. 根据权利要求21所述的方法,其特征在于,所述基矩阵HB对应子矩阵D的部分包括所述矩阵F的偏移矩阵中的mD行,所述矩阵F的偏移矩阵表示为以下之一:
    Figure PCTCN2017086227-appb-100018
    Figure PCTCN2017086227-appb-100019
    Figure PCTCN2017086227-appb-100020
    Figure PCTCN2017086227-appb-100021
    Figure PCTCN2017086227-appb-100022
    Figure PCTCN2017086227-appb-100023
  23. 根据权利要求1至22任一项所述的方法,其特征在于,用于编码或者译码的基图和基矩阵中至少一个是所述LDPC矩阵的基图和基矩阵中至少一个经过行交换、或者列交换、或者行交换和列交换后得到的。
  24. 一种装置,用于执行如权利要求1至23项任一项所述的方法。
  25. 一种通信装置,其特征在于,所述通信装置包括处理器、存储器以及存储在存储器上并可在处理器上运行的指令,当所述指令被运行时,使得所述通信装置执行如权利要求1至23项任一项所述的方法。
  26. 一种终端,其特征在于,包括如权利要求24所述的装置或权利要求25所述的通信装置。
  27. 一种基站,其特征在于,包括如权利要求24所述的装置或权利要求25所述的通信装置。
  28. 一种通信系统,其特征在于包括如权利要求26所述的终端以及如权利要求27所述的基站。
  29. 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至23任一项所述的方法。
  30. 一种计算机程序产品,当其在计算机上运行时,使得计算机执行权利要求1至23任一项所述的方法。
PCT/CN2017/086227 2017-05-05 2017-05-26 信息处理的方法、通信装置 WO2018201540A1 (zh)

Priority Applications (26)

Application Number Priority Date Filing Date Title
BR112019023243A BR112019023243A2 (pt) 2017-05-05 2017-05-26 método de processamento de informação, aparelho de comunicações, dispositivo de comunicação, terminal, estação base, sistema de comunicações, meio de armazenamento legível por computador e produto de programa de computador
PCT/CN2017/087073 WO2018201547A1 (zh) 2017-05-05 2017-06-02 信息处理的方法、通信装置
PCT/CN2017/087830 WO2018201553A1 (zh) 2017-05-05 2017-06-09 信息处理的方法、通信装置
PCT/CN2017/087943 WO2018201554A1 (zh) 2017-05-05 2017-06-12 信息处理的方法、通信装置
PCT/CN2017/090417 WO2018201597A1 (zh) 2017-05-05 2017-06-27 信息处理的方法、通信装置
BR112019023179A BR112019023179A2 (pt) 2017-05-05 2017-06-27 método de processamento de informação e aparelho de comunicações
BR112019018329A BR112019018329B8 (pt) 2017-05-05 2017-07-13 Método para processamento de informação e aparelho em um dispositivo de comunicações
DE202017007614.4U DE202017007614U1 (de) 2017-05-05 2017-07-13 Kommunikationsvorrichtung, Computerspeichermedium, Computerprogrammprodukt und Kommunikationssystem
AU2017413002A AU2017413002B2 (en) 2017-05-05 2017-07-13 Information processing method and communication apparatus
JP2019546359A JP7171590B2 (ja) 2017-05-05 2017-07-13 情報処理方法および通信装置
MX2019010697A MX2019010697A (es) 2017-05-05 2017-07-13 Metodo de procesamiento de informacion y aparato de comunicacion.
EP23170415.6A EP4250571A3 (en) 2017-05-05 2017-07-13 Information processing method and communication apparatus
KR1020197023750A KR102205936B1 (ko) 2017-05-05 2017-07-13 정보 처리 방법 및 통신 장치
RU2019128364A RU2740151C1 (ru) 2017-05-05 2017-07-13 Способ обработки информации и устройство связи
CA3051761A CA3051761C (en) 2017-05-05 2017-07-13 Information processing method and communications apparatus
EP17908540.2A EP3540948A4 (en) 2017-05-05 2017-07-13 INFORMATION PROCESSING AND COMMUNICATION DEVICE
PCT/CN2017/092877 WO2018201609A1 (zh) 2017-05-05 2017-07-13 信息处理的方法和通信装置
CN201780090448.9A CN110999091B (zh) 2017-05-05 2017-07-13 信息处理的方法和通信装置
MYPI2019004703A MY195263A (en) 2017-05-05 2017-07-13 Information Processing Method And Communications Apparatus
US16/205,186 US10432219B2 (en) 2017-05-05 2018-11-29 Apparatus and method for channel coding in communication system
ZA2019/05493A ZA201905493B (en) 2017-05-05 2019-08-20 Information processing method and communications apparatus
US16/584,911 US10924134B2 (en) 2017-05-05 2019-09-26 Apparatus and method for channel coding in communication system
US17/161,539 US11374591B2 (en) 2017-05-05 2021-01-28 Apparatus and method for channel coding in communication system
US17/742,183 US11777521B2 (en) 2017-05-05 2022-05-11 Apparatus and method for channel coding in communication system
JP2022175642A JP2023014085A (ja) 2017-05-05 2022-11-01 情報処理方法および通信装置
US18/448,782 US20240048155A1 (en) 2017-05-05 2023-08-11 Apparatus and method for channel coding in communication system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201710314217 2017-05-05
CN201710314217.3 2017-05-05
CN201710381396.2 2017-05-25
CN201710381396.2A CN108809328B (zh) 2017-05-05 2017-05-25 信息处理的方法、通信装置

Publications (1)

Publication Number Publication Date
WO2018201540A1 true WO2018201540A1 (zh) 2018-11-08

Family

ID=64015756

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2017/086227 WO2018201540A1 (zh) 2017-05-05 2017-05-26 信息处理的方法、通信装置
PCT/CN2017/087830 WO2018201553A1 (zh) 2017-05-05 2017-06-09 信息处理的方法、通信装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/087830 WO2018201553A1 (zh) 2017-05-05 2017-06-09 信息处理的方法、通信装置

Country Status (1)

Country Link
WO (2) WO2018201540A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110083052A1 (en) * 2009-10-05 2011-04-07 The Hong Kong Polytechnic University Method and system for encoding and decoding low-density-parity-check (ldpc) codes
CN106471782A (zh) * 2014-02-19 2017-03-01 三星电子株式会社 发送设备及其交织方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9306601B2 (en) * 2013-02-13 2016-04-05 Qualcomm Incorporated LDPC design for high parallelism, low error floor, and simple encoding
US20160173132A1 (en) * 2014-12-10 2016-06-16 Alcatel-Lucent Usa Inc. Construction of Structured LDPC Convolutional Codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110083052A1 (en) * 2009-10-05 2011-04-07 The Hong Kong Polytechnic University Method and system for encoding and decoding low-density-parity-check (ldpc) codes
CN106471782A (zh) * 2014-02-19 2017-03-01 三星电子株式会社 发送设备及其交织方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
3GPP: "3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Study on New Radio (NR) Access Technology (Release 14", 3GPP TR 38.912 V1.0.0 (MARCH 2017, 31 March 2017 (2017-03-31), XP055549936 *
KT CORP: "Number of LDPC Codes in NR", 3GPP TSG RAN WG 1 MEETING #88 RL-1703210, 17 February 2017 (2017-02-17), XP051210344 *
QUALCOMM ET AL.: "WF on LDPC Matrix", 3GPP TSG RAN WG1 MEETING #88 RL-1703XXX, 17 February 2017 (2017-02-17), pages 1 - 4 *
SAMSUNG: "Consideration on LDPC Proto-Matrix Design", 3GPP TSG RAN WG1 #88 RL-1703000, 17 February 2017 (2017-02-17), XP051210142 *
ZTE ET AL.: "Compact LDPC Design for eMBB", 3GPP TSG RAN WG1 AH NR MEETING RL-1701473, 20 January 2017 (2017-01-20), XP051222469 *
ZTE ET AL.: "Performance Evaluation of LDPC Codes for eMBB", 3GPP TSG RAN WG1 MEETING #88 RL-1701597, 17 February 2017 (2017-02-17), XP051208764 *

Also Published As

Publication number Publication date
WO2018201553A1 (zh) 2018-11-08

Similar Documents

Publication Publication Date Title
CN108809328B (zh) 信息处理的方法、通信装置
JP6815537B2 (ja) 情報処理方法、機器、及び通信装置
JP6820438B2 (ja) 情報処理方法および通信装置
CN109327225B9 (zh) 信息处理的方法、装置和通信设备
WO2018218692A1 (zh) 信息处理的方法和通信装置
WO2019001477A1 (zh) 信息处理的方法、装置和通信设备
WO2018218471A1 (zh) 信息处理的方法和通信装置
WO2018201554A1 (zh) 信息处理的方法、通信装置
WO2019001338A1 (zh) 信息处理的方法、装置和通信设备
WO2018103638A1 (zh) 数据传输的方法、发送设备、接收设备和通信系统
WO2018201540A1 (zh) 信息处理的方法、通信装置
WO2018201547A1 (zh) 信息处理的方法、通信装置
CN109150194B (zh) 信息处理的方法、装置和通信设备
WO2018201609A1 (zh) 信息处理的方法和通信装置
CN109150193B (zh) 信息处理的方法、装置和通信设备
CN110999091B (zh) 信息处理的方法和通信装置
CN110754042B (zh) 信息处理的方法和通信装置
WO2018201925A1 (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: 17908387

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019023243

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112019023243

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20191105

122 Ep: pct application non-entry in european phase

Ref document number: 17908387

Country of ref document: EP

Kind code of ref document: A1