[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN102412842A - Method and device for encoding low-density parity check code - Google Patents

Method and device for encoding low-density parity check code Download PDF

Info

Publication number
CN102412842A
CN102412842A CN2010102933236A CN201010293323A CN102412842A CN 102412842 A CN102412842 A CN 102412842A CN 2010102933236 A CN2010102933236 A CN 2010102933236A CN 201010293323 A CN201010293323 A CN 201010293323A CN 102412842 A CN102412842 A CN 102412842A
Authority
CN
China
Prior art keywords
matrix
bits
code
unit
bit
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN2010102933236A
Other languages
Chinese (zh)
Other versions
CN102412842B (en
Inventor
龚贤卫
袁志锋
徐俊
李长兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201010293323.6A priority Critical patent/CN102412842B/en
Priority to PCT/CN2010/079103 priority patent/WO2012037749A1/en
Publication of CN102412842A publication Critical patent/CN102412842A/en
Application granted granted Critical
Publication of CN102412842B publication Critical patent/CN102412842B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6591Truncation, saturation and clamping

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention provides a method and device for encoding a low-density parity check code. The method comprises the following steps of: comparing a mother code rate and a transmission code rate which are supported by a uniform basic matrix; determining the length K'of an input information grouping bit according to a comparison result; determining an encoding matrix of the low-density parity check (LDPC) code according to the uniform basic matrix and an expansion factor; determining an information bit to be encoded according to the received information grouping bit with the length of K'; and performing LDPC encoding on the information bit to be encoded by using the encoding matrix, and processing a mother code word bit obtained through encoding to acquire a code word bit to be transmitted. By the method and device for encoding the LDPC code, the basic matrix and the expansion factor are determined; the input information grouping length is determined or the encoding matrix is processed according to the received transmission code rate, so the code word which is in accordance with the transmission code rate can be acquired; on the basis of the optimal performance, the changeability of the code rate is realized; furthermore, the hardware design complexity is reduced and the cost is lower.

Description

Coding method and device for low-density parity check code
Technical Field
The present invention relates to the field of digital communications, and in particular, to a method and an apparatus for encoding a low density parity check code.
Background
At present, digital communication systems are commonly used communication systems. As shown in fig. 1, the digital communication system is composed of a transmitting end, a channel and a receiving end, wherein the transmitting end generally includes a source, a source encoder, a channel encoder and a modulator (or a writing unit); the receiving end generally includes a demodulator (or a readout unit), a channel decoder, a source decoder, and a sink; a channel (or a storage medium) exists between a transmitting end and a receiving end, a noise source exists in the channel in the digital communication system, and a channel coding link (including channel coding and decoding, modulation and demodulation, and the like) is the most critical technology of the whole digital communication physical layer, which determines the effectiveness and reliability of the underlying transmission of the digital communication system.
The channel encoder is used for resisting various noises and interferences in the transmission process, and ensuring the reliability of information transmission by artificially adding redundant information to ensure that a system has the capability of automatically correcting errors. Low Density Parity Check (LDPC) codes are linear block codes that can be defined by a very sparse Parity Check matrix or bipartite graph, and Low-complexity encoding and decoding can be implemented by using the sparsity of the Check matrix thereof, so that the LDPC code is put to practical use.
An M × N parity check matrix H defines that each codeword with N bits satisfies the constraint of M parity check sets, i.e., N-bit codewords with M bits of check bits and N-M bits of information bits are encoded. Let the parity check matrix H of the LDPC code be (m)b×z)×(nb×z) Is a matrix of mb×nbEach block matrix is different powers of a basic permutation matrix of z × z, and when the basic permutation matrix is an identity matrix, the basic permutation matrix is a cyclic shift matrix of the identity matrix, and if the basic permutation matrix is a right shift matrix, the block matrix has the following form:
<math> <mrow> <mi>H</mi> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mn>00</mn> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mn>01</mn> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mn>02</mn> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mrow> <mn>0</mn> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> <mi>b</mi> </msubsup> </msup> </mtd> </mtr> <mtr> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mn>10</mn> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mn>11</mn> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mn>12</mn> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mrow> <mn>1</mn> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> <mi>b</mi> </msubsup> </msup> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mrow> <mi>mb</mi> <mo>-</mo> <mn>10</mn> </mrow> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mrow> <msub> <mi>m</mi> <mi>b</mi> </msub> <mo>-</mo> <mn>11</mn> </mrow> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mrow> <msub> <mi>m</mi> <mi>b</mi> </msub> <mo>-</mo> <mn>12</mn> </mrow> <mi>b</mi> </msubsup> </msup> </mtd> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> <mtd> <msup> <mi>P</mi> <msubsup> <mi>h</mi> <mrow> <msub> <mi>m</mi> <mi>b</mi> </msub> <mo>-</mo> <mn>1</mn> <msub> <mi>n</mi> <mi>b</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> <mi>b</mi> </msubsup> </msup> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <msup> <mi>P</mi> <msub> <mi>H</mi> <mi>b</mi> </msub> </msup> </mrow> </math>
by such powers
Figure BSA00000286391200022
Each block matrix can be uniquely identified and the unit matrix can be represented by 0 in power and the zero matrix by-1 in power. Thus, if each block matrix of H is replaced by its power, one m is obtainedb×nbPower matrix of (H)b. Herein is defined as HbIs the basis matrix of H, H being called HbThe spreading matrix of (2). In the actual encoding, z is the code length/the number of columns of the basic matrix N/NbReferred to as spreading factor. For example, a matrix
Figure BSA00000286391200023
A2 x 4 basis matrix H can be used with the following parameters zbAnd the basic permutation matrix is an identity matrix of z x z,
z is 3 and H b = 0 1 0 - 1 2 1 2 1
therefore, it can also be said that the encoder of the LDPC code is composed of the basic matrix HbAnd the expansion factor z and the basic permutation matrix are generated uniquely.
If a basic matrix is adopted by the LDPC for each different spreading factor, a codec of the LDPC code needs to store one basic matrix for each different code length, and when the code length is various, a plurality of basic matrices need to be stored, and the storage and other problems need to be considered. Therefore, when the variable code length needs to be realized, the LDPC codes with various code lengths in a certain range of the same code rate use the same form of basic matrix, and the matrix is called as a uniform basic matrix
Figure BSA00000286391200025
Different code length, pair
Figure BSA00000286391200026
And correcting and expanding to obtain a parity check matrix H, so that the generated codec can be suitable for occasions with variable code length.
Wherein the modification is to use spreading factors of different code lengths to pair the basic matrix HbOr unifying the basis matrices
Figure BSA00000286391200031
The non-negative value in (1) is corrected so that the corrected element value is smaller than the spreading factor value at the code length.
This is because HbOr
Figure BSA00000286391200032
The element in (1) represents the power of the basic permutation matrix, and the basic permutation matrix, namely the unit matrix of z × z, is equivalent to the unit matrix circularly shifts right by one bit every cycle, namely the unit matrix circularly shifts right by one column, so that the basic cyclic matrix is circularly shifted by z-1 times at most; if the loop is cycled z times, the resulting identity matrix is again the identity matrix, which is equal to no cyclic shift. There are many kinds of correction algorithms, for example, a modulo (mod), a round (scale + floor), a round (scale + round), etc. can be used, and P is setijIs a basis matrix HbNon-negative element, P 'of row i and column j of'ijFor the modified basis matrix
Figure BSA00000286391200033
The non-negative elements in the ith row and the jth column of the middle row have:
for the modulo (mod) algorithm: <math> <mrow> <msubsup> <mi>P</mi> <mi>ij</mi> <mo>&prime;</mo> </msubsup> <mo>&equiv;</mo> <msub> <mi>P</mi> <mi>ij</mi> </msub> <mi>mod</mi> <mi>z</mi> <mo>&equiv;</mo> <msub> <mi>P</mi> <mi>ij</mi> </msub> <mi>mod</mi> <mfrac> <mi>N</mi> <msub> <mi>n</mi> <mi>b</mi> </msub> </mfrac> <mo>;</mo> </mrow> </math>
for the round (scale + floor) algorithm:
Figure BSA00000286391200035
for the round (scale + round) algorithm: <math> <mrow> <msubsup> <mi>P</mi> <mi>ij</mi> <mo>&prime;</mo> </msubsup> <mo>=</mo> <mi>Round</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>ij</mi> </msub> <mo>&times;</mo> <mfrac> <mi>z</mi> <msub> <mi>z</mi> <mi>max</mi> </msub> </mfrac> <mo>)</mo> </mrow> <mo>=</mo> <mi>Round</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>ij</mi> </msub> <mo>&times;</mo> <mfrac> <mi>N</mi> <msub> <mi>N</mi> <mi>max</mi> </msub> </mfrac> <mo>)</mo> </mrow> </mrow> </math>
wherein z is the spreading factor corresponding to the current code length, i.e. the number of rows or columns of the block matrix, zmaxFor the maximum supported code length NmaxThe corresponding spreading factor. mod is the operation of the modulus taking,
Figure BSA00000286391200037
for the rounding operation, Round is the rounding operation.
For example, for LDPC code with code length 1152 bits, let its basic matrix HbIs 93, the maximum supported code length is 2304, the size of the basic matrix is 12 × 24, and the result of correcting the basic matrix is:
for the modulo (mod) algorithm: 93 mod 1152 24 = 93 mod 48 = 45 ;
for the round (scale + floor) algorithm:
Figure BSA00000286391200039
for the round (scale + round) algorithm: <math> <mrow> <mi>Round</mi> <mrow> <mo>(</mo> <mn>93</mn> <mo>&times;</mo> <mfrac> <mn>1152</mn> <mn>2304</mn> </mfrac> <mo>)</mo> </mrow> <mo>=</mo> <mi>Round</mi> <mrow> <mo>(</mo> <mn>46.5</mn> <mo>)</mo> </mrow> <mo>=</mo> <mn>47</mn> <mo>.</mo> </mrow> </math>
the LDPC code with variable code length of specific code rate can completely use one coder/decoder because of having the same form of basic matrix, wherein the same form of basic matrix can also be called as uniform basic matrix
Assume that the parity check matrix H of an LDPC code has a size of (m)b×z)×(nbXz), unified basis matrix
Figure BSA00000286391200042
Is m in sizeb×nbThen the LDPC code supports the mother code rate Rm=(nb-mb)/nb(ii) a If the length of the input information packet is K ', the code word bit to be transmitted with the length of N' is obtained after a series of processing, and the code word is called as the transmission code rate Rtx=K′/N′。
In ieee802.16e, the code rates supported by LDPC codes are 1/2, 2/3, 3/4, and 5/6, and in the encoding scheme of the existing LDPC code, LDPC encoding matrices H with different mother code rates are usually adopted to ensure that the LDPC code has a certain degree of flexible code rate and performance, and at this time, four basic matrices H appearbA plurality of LDPC codecs are required on hardware, so that the implementation cost of the hardware is greatly increased; or, a coder/decoder capable of adapting to various mother code rates is used to realize coding and decoding with different code rates, but the hardware design is very complex, and the cost of hardware implementation is also greatly increased.
Disclosure of Invention
In view of the above, the main objective of the present invention is to provide a method and an apparatus for encoding an LDPC code, which implement encoding of an LDPC code with an arbitrary variable code rate.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
a method of encoding a low density parity check, LDPC, code, the method comprising the steps of:
comparing the mother code rate supported by the unified basic matrix with the transmission code rate, and determining the length K' of the input information grouping bit according to the comparison result;
determining an encoding matrix of the LDPC code according to the unified basic matrix and the expansion factor;
determining information bits to be coded by received information packet bits with the length of K';
and performing LDPC coding on the information bits to be coded by using the coding matrix, and processing the code word bits of the mother code obtained by coding to obtain the code word bits to be transmitted.
The method further comprises the following steps: and setting a uniform basic matrix and an expansion factor of the LDPC code.
Before comparing the mother code rate supported by the uniform basic matrix with the transmission code rate, the method further comprises: receiving a current transmission code rate;
determining the length K' of the input information packet bit as follows according to the comparison result:
when R istx≥RmWhen the length K' of the information packet is determined to be (n)b-mb) Xz; when R istx<RmWhen the length of the information packet bit is determined to be K ═ func (m)b×z×Rtx/(1-Rtx) Or K ═ func (m)b×z/(1-Rtx))-mbX z, or K ═ func (func (m)b×z/(1-Rtx))×Rtx);
Wherein R istxFor transmission of code rate, RmIs the code rate of the mother code, mb、nbRespectively, the number of rows and columns of the unified basic matrix, z is a spreading factor, func (x) is one of integer up, integer down, or integer round off for x.
And determining the coding matrix of the LDPC code according to the unified basic matrix and the expansion factor as follows:
and correcting the unified basic matrix, and expanding the corrected basic matrix by using a unit matrix of z multiplied by z according to an expansion factor z to obtain an encoding matrix of the LDPC code.
The received information packet bit with the length of K' determines that the information bit to be coded is as follows:
when R istx≥RmWhen the coding is carried out, the received information grouping bit with the length of K' is directly used as the information bit to be coded; when R istx<RmThen, padding bits are added to the information packet bits of length K' to form a length KbXz information bits to be encoded.
The processing of the mother code codeword bits obtained by encoding is as follows:
rearranging the code words of the mother code obtained by encoding, wherein the code words of the mother code before rearrangement have the bit of A0,A1,…,Anb×z-1The rearranged mother code word bit is B0,B1,…,Bnb×z-1The rearrangement formula is:
Figure BSA00000286391200051
wherein k isb=nb-mbPV represents a codeword rearrangement vector whose set of elements is nb-mb,nb-mb+1,nb-mb+2,…,nb-1}, PV (x) denotes an element in the PV vector with index x, x being a non-negative integer;
when R istx≥RmThen, the rearranged mother code word bit B is processed0,B1,…,Bnb×z-1Taking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted;
when R istx<RmWhen k is to be addedbxz-K' padding bits from rearranged mother code codeword bits B0,B1…,Bnb×z-1The systematic bits are deleted, and the rest code word bits of the mother code are used as code word bits to be transmitted.
The determining of the encoding matrix of the LDPC code is as follows:
correcting the unified basic matrix, and expanding the corrected basic matrix by using a unit matrix of z multiplied by z according to an expansion factor z to obtain an expansion matrix of the LDPC code;
when R istx≥RmThen, taking the extended matrix as the coding matrix of the LDPC code; when R istx<RmWhile, truncating func (m) to the right of the spreading matrixb×z/(1-Rtx) Column), using the intercepted matrix as the coding matrix of the LDPC code; or,
when in use
Figure BSA00000286391200061
When the number of the base matrixes is a positive integer, correcting the unified base matrix to obtain a corrected base matrix;
when R istx≥RmThen, according to an expansion factor z, expanding the corrected basic matrix by using a unit matrix of z multiplied by z to obtain an encoding matrix of the LDPC code; when R istx<RmThen, k 'to the right of the corrected base matrix is intercepted'b+mbAnd expanding the matrix obtained by intercepting by using a unit matrix of z multiplied by z according to the expansion factor z to obtain the coding matrix of the LDPC code.
The received information packet bit with the length of K' determines that the information bit to be coded is as follows: the information packet bits with length K' are directly used as information bits to be encoded.
The processing of the mother code codeword bits obtained by encoding is as follows:
rearranging the code words of the mother code obtained by encoding, wherein the code words of the mother code before rearrangement have the bits of
Figure BSA00000286391200062
The rearranged mother code codeword bits are
Figure BSA00000286391200063
The rearrangement formula is:
Figure BSA00000286391200064
wherein,
Figure BSA00000286391200065
PV represents a codeword rearrangement vector whose elements are grouped into
Figure BSA00000286391200066
PV (x) represents an element with index x in the PV vector, wherein x is a non-negative integer, and
Figure BSA00000286391200067
representing the upward integer of x;
when R istx≥RmThen, the rearranged mother code word bits are rearrangedTaking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted;
when R istx<RmThen directly decoding the rearranged mother code word bits
Figure BSA00000286391200071
As the codeword bits to be transmitted.
An apparatus for encoding an LDPC code, comprising an encoding unit, the apparatus further comprising: the device comprises a comparison unit, a grouping bit determination unit, a coding matrix determination unit, an information bit determination unit and a code word processing unit; wherein,
the comparison unit is used for comparing the mother code rate supported by the unified basic matrix with the transmission code rate;
a packet bit determination unit for determining the length K' of the input information packet bits according to the comparison result of the comparison unit;
the encoding matrix determining unit is used for determining an encoding matrix of the LDPC code according to the unified basic matrix and the expansion factor;
an information bit determining unit, configured to receive an information packet bit with a length of K', determine an information bit to be encoded, and transmit the information bit to an encoding unit;
and the code word processing unit is used for processing the mother code word obtained by LDPC coding of the coding unit to obtain the code word bit to be transmitted.
The device further comprises: and the setting unit is used for setting the uniform basic matrix and the expansion factor of the LDPC code.
The apparatus further comprises an input unit for receiving a current transmission code rate;
the grouping bit determining unit is specifically used for determining when the comparison result of the comparing unit is Rtx≥RmWhen the length K' of the information packet bit is determined to be (n)b-mb) Xz; when the comparison result of the comparison unit is Rtx<RmWhen the length of the information packet bit is determined to be K ═ func (m)b×z×Rtx/(1-Rtx) Or K ═ func (m)b×z/(1-Rtx))-mbX z, or K ═ func (func (m)b×z/(1-Rtx))×Rtx) (ii) a Wherein R istxFor transmission of code rate, RmIs the code rate of the mother code, mb、nbRespectively, the number of rows and columns of the unified basic matrix, z is a spreading factor, func (x) is one of integer up, integer down, or integer round off for x.
The coding matrix determining unit is specifically configured to modify the uniform basic matrix, and extend the modified basic matrix by using a zxz identity matrix according to an extension factor z to obtain a coding matrix of the LDPC code.
The information bit determination unit is specifically configured to determine when the comparison result of the comparison unit is Rtx≥RmThen, the received information packet bit with length of K' is alignedReceiving as information bits to be encoded; when the comparison result of the comparison unit is Rtx<RmThen, padding bits are added to the information packet bits of length K' to form a length KbXz information bits to be encoded.
The code word processing unit is specifically configured to rearrange the mother code word obtained by encoding by the encoding unit, where the mother code word bit before rearrangement is a0,A1,…,Anb×z-1The rearranged mother code word bit is B0,B1,…,Bnb×z-1The rearrangement formula is:
Figure BSA00000286391200081
wherein k isb=nb-mbPV represents a codeword rearrangement vector whose set of elements is nb-mb,nb-mb+1,nb-mb+2,…,nb-1}, PV (x) denotes an element in the PV vector with index x, x being a non-negative integer;
when the comparison result of the comparison unit is Rtx≥RmThen, the rearranged mother code word bit B is processed0,B1,…,Bnb×z-1Taking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted;
when the comparison result of the comparison unit is Rtx<RmWhen k is to be addedbxz-K' padding bits from rearranged mother code codeword bits B0,B1,…,Bnb×z-1The systematic bits are deleted, and the rest code word bits of the mother code are used as code word bits to be transmitted.
The encoding matrix determining unit is specifically used for correcting the uniform basic matrix, and according to an expansion factor z, expanding the corrected basic matrix by using a unit matrix of z multiplied by z to obtain an expansion matrix of the LDPC code; when comparing the ratio of the unitsThe result is Rtx≥RmThen, taking the extended matrix as the coding matrix of the LDPC code; when the comparison result of the comparison unit is Rtx<RmWhile, truncating func (m) to the right of the spreading matrixb×z/(1-Rtx) Column), using the intercepted matrix as the coding matrix of the LDPC code; or at
Figure BSA00000286391200082
When the number of the base matrixes is a positive integer, correcting the unified base matrix to obtain a corrected base matrix; when the comparison result of the comparison unit is Rtx≥RmThen, according to an expansion factor z, expanding the corrected basic matrix by using a unit matrix of z multiplied by z to obtain an encoding matrix of the LDPC code; when the comparison result of the comparison unit is Rtx<RmThen, k 'to the right of the corrected base matrix is intercepted'b+mbAnd expanding the matrix obtained by intercepting by using a unit matrix of z multiplied by z according to the expansion factor z to obtain the coding matrix of the LDPC code.
The information bit determining unit is specifically configured to directly use the received information packet bits with length K' as information bits to be encoded.
The code word processing unit is specifically configured to rearrange the mother code word obtained by the encoding unit, where the mother code word bits before rearrangement are
Figure BSA00000286391200091
The rearranged mother code codeword bits are
Figure BSA00000286391200092
The rearrangement formula is:
Figure BSA00000286391200093
wherein,
Figure BSA00000286391200094
PV represents a codeword rearrangement vector, its element setIs composed of
Figure BSA00000286391200095
PV (x) represents an element with an index of x in a PV vector, wherein x is a non-negative integer;
when the comparison result of the comparison unit is Rtx≥RmThen, the rearranged mother code word bits are rearranged
Figure BSA00000286391200096
Taking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted;
when the comparison result of the comparison unit is Rtx<RmThen directly decoding the rearranged mother code word bits
Figure BSA00000286391200097
As the codeword bits to be transmitted.
The coding method and the device of the LDPC code provided by the invention determine a basic matrix and an expansion factor, determine the length of the input information packet or process the coding matrix according to the received transmission code rate to obtain the code word meeting the transmission code rate, realize the variability of the code rate on the basis of optimal performance, reduce the complexity of hardware design for realizing different code rates and have lower realization cost.
Drawings
Fig. 1 is a block diagram of a digital communication system;
FIG. 2 is a schematic diagram of an implementation flow of a coding method of an LDPC code provided in the present invention;
FIG. 3 is a flowchart illustrating a first embodiment of a method for encoding an LDPC code according to the present invention;
FIG. 4 is a flowchart illustrating a second embodiment of an LDPC encoding method according to the present invention;
fig. 5 is a block diagram of an LDPC code encoding apparatus according to the present invention.
Detailed Description
The basic idea of the invention is as follows: comparing the mother code rate supported by the unified basic matrix with the transmission code rate, and determining the length K' of the input information grouping bit according to the comparison result; determining an encoding matrix of the LDPC code according to the unified basic matrix and the expansion factor; determining information bits to be coded by received information packet bits with the length of K'; and performing LDPC coding on the information bits to be coded by using the coding matrix, and processing the code word bits of the mother code obtained by coding to obtain the code word bits to be transmitted.
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings by way of examples.
Fig. 2 shows a flow of an encoding method of an LDPC code provided by the present invention, as shown in fig. 2, the method includes the following steps:
s201, receiving a uniform basic matrix of LDPC code with fixed size determined by user
Figure BSA00000286391200101
And an expansion factor z;
in this step, the user can determine a size m according to actual requirementsb×nbUnified basis matrix of
Figure BSA00000286391200102
And a maximum spreading factor zmaxWherein m isb、nb、zmaxIs a positive integer, let kb=nb-mbThen obtain
Figure BSA00000286391200103
The supported mother code rate is Rm=(nb-mb)/nb=kb/nb(ii) a And determines the spreading factor z according to the code length of the digital communication system in transmission, and generally, for the convenience of hardware implementation, the spreading factor z is a power of 2 or a positive integer multiple of the power of 2.
S202, receiving the current transmission code rate RtxComparison of RtxAnd RmDetermining the length K' of the input information packet bits according to the comparison result;
in this step, when R istx≥RmWhen the length K' of the information packet is Kb×z=(nb-mb) Xz; when R istx<RmThen, the generated m is encodedbThe xz parity bits are transmitted, so that the information packet length K' can be determined by the parity bit length mbXz and transmission code rate RtxIs determined, therefore K', mbXz and RtxCan be expressed by, but is not limited to, the following formula:
Figure BSA00000286391200111
or
Figure BSA00000286391200112
Or
Figure BSA00000286391200113
Thus, K' may be represented by, but is not limited to, the following formula: k ═ func (m)b×z×Rtx/(1-Rtx) Or K ═ func (m)b×z/(1-Rtx))-mbX z, or K ═ func (func (m)b×z/(1-Rtx))×Rtx) (ii) a Where func (x) may represent one of integer up, integer down, or integer round off for x.
S203, according to the expanding factor z and
Figure BSA00000286391200114
determining an encoding matrix H for an LDPC codebz
In this step, first, the correction algorithm and z pairs are used
Figure BSA00000286391200115
Correcting to obtain a corrected basic matrix
Figure BSA00000286391200116
According to
Figure BSA00000286391200117
And z and zxz are extended to obtain (m)b×z)×(nbXz) LDPC matrices
Figure BSA00000286391200118
In the invention, the device can be used for
Figure BSA00000286391200119
Coding matrix H as LDPC codebzOr according to RtxAnd RmAs a result of the comparison of
Figure BSA000002863912001110
Intercepting to obtain an encoding matrix H of the LDPC codebz
S204, determining information bits to be coded by the received information packet bits with the length of K';
in particular, according to the coding matrix HbzSize and R oftxAnd RmAnd processing the information packet bits to obtain the information bits to be coded.
S205, encoding the matrix HbzAnd carrying out LDPC coding on the information bits to be coded to obtain mother code word bits, and processing the mother code word bits to obtain the code word bits to be transmitted.
In particular, according to the transmission code rate RtxThe length of the code word bit to be transmitted can be determined, and the code word of the mother code is rearranged, shortened or punctured according to the determined length of the code word bit to be transmittedTo the codeword bits to be transmitted.
Fig. 3 shows a flow of implementing a first embodiment of the LDPC code encoding method provided in the present invention, and as shown in fig. 3, the method includes the following steps:
S301-S302, receiving a uniform basic matrix of LDPC code with fixed size determined by user
Figure BSA000002863912001111
And a maximum spreading factor zmaxDetermining a spreading factor z according to the required code length, and then executing S305;
in this step, the user can determine a size m according to actual requirementsb×nbUnified basis matrix of
Figure BSA000002863912001112
And a maximum spreading factor zmaxWherein m isb、nb、zmaxIs a positive integer, let kb=nb-mbThen obtain
Figure BSA00000286391200121
The supported mother code rate is Rm=(nb-mb)/nb=kb/nb(ii) a And determines the spreading factor z according to the code length required by the digital communication system in transmission, and generally, for hardware implementation, the spreading factor z is a power of 2 or a positive integer multiple of the power of 2.
S303 to S304, receiving the current transmission code rate RtxComparison of RtxAnd RmDetermining the length K' of the input information packet bits according to the comparison result;
in this step, when R istx≥RmWhen the length K' of the information packet is Kb×z=(nb-mb) Xz; when R istx<RmThen, the generated m is encodedbXz parity bits are transmitted, and thus the information packet is transmittedThe length K' may be determined by the check bit length mbXz and transmission code rate RtxIs determined, therefore K', mbXz and RtxCan be expressed by, but is not limited to, the following formula:
Figure BSA00000286391200122
or
Figure BSA00000286391200123
Or
Figure BSA00000286391200124
Thus, K' may be represented by, but is not limited to, the following formula: k ═ func (m)b×z×Rtx/(1-Rtx) Or K ═ func (m)b×z/(1-Rtx))-mbX z, or K ═ func (func (m)b×z/(1-Rtx))×Rtx) (ii) a Where func (x) may represent one of integer up, integer down, or integer round off for x.
S305, unifying the basic matrix
Figure BSA00000286391200125
Correcting to obtain the coding matrix H of the LDPC code by using z expansionbzThen, S308 is executed;
in this step, first, the correction algorithm and z pairs are used
Figure BSA00000286391200126
Correcting to obtain a corrected basic matrix
Figure BSA00000286391200127
According to
Figure BSA00000286391200128
And z and zxz are extended to obtain (m)b×z)×(nbXz) LDPC matrices
Figure BSA00000286391200129
And will matrixCoding matrix H as LDPC codebz
S306-S307, determining information bits to be coded by the received information packet bits with the length of K';
specifically, when R istx≥RmWhen the coding is carried out, the received information grouping bit with the length of K' is directly used as the information bit to be coded; when R istx<RmThen, padding bits are added to the information packet bits of length K' to form a length KbXz information bits to be coded, wherein the method for adding the padding bits can be in a mode of front of, behind or alternating with the information packet bits, and the length of the padding bits is kbxz-K', and additionally, for ease of subsequent processing, filled KbThe xz-K' bits are preferably all 0 bits, and may be all 1 bits.
S308 to S309, by (m)b×z)×(nbXz) encoding matrix HbzAnd carrying out LDPC coding on the information bits to be coded to obtain mother code word bits, and processing the mother code word bits to obtain the code word bits to be transmitted.
In particular by encoding the matrix HbzThe bit length of the mother code word is N ═ N by the LDPC codingbXz, where the first k of the mother code codeword bitsbXz bits are systematic bits, mbXz bits are parity bits.
In order to improve the reliability of codeword transmission, the obtained mother code codeword bits may be first subjected to codeword rearrangement, assuming that the mother code codeword bits before rearrangement are a0,A1,…,Anb×z-1The code word bits of the mother code after the code word rearrangement are B0,B1,…,Bnb×z-1Then the codeword rearrangement is represented by the following formula:
Figure BSA00000286391200131
wherein PV represents a codeword rearrangement vector, PV includes mbA different element, whose set of elements is { n }b-mb,nb-mb+1,nb-mb+2,…,nb-1} and each element is different from the others, PV (x) denotes the element in the PV vector with index x, where x is a non-negative integer.
When R istx≥RmThen, the puncturing operation is carried out, namely the rearranged mother code word bit B is obtained0,B1,…,Bnb×z-1Taking func (K'/R) from small to large according to the indextx) And bits as codeword bits to be transmitted, where func (x) may represent a kind of integer fetching up, integer fetching down, or integer fetching by rounding up for x, and specifically, an appropriate operation may be selected for func (x) according to an actual application.
When R istx<RmThen, a shortening operation is performed to add k in S304bMother code word bit B obtained by rearranging xz-K' filling bits0,B1,,Bnb×z-1The systematic bits are deleted (for the deletion operation, the padding bits are preferably all 0 or all 1 bits in S304), and the remaining bits of the mother code codeword are used as the bits of the codeword to be transmitted.
The first embodiment of the LDPC code encoding method is specifically described below with reference to examples:
the first embodiment is as follows:
1. receiving a unified basis matrix for a 4 x 24 LDPC code determined by a userAnd a maximum spreading factor zmaxWherein z ismax=96,
Figure BSA00000286391200133
As follows:
1 25 55 - 1 47 4 - 1 91 84 8 86 52 82 33 5 0 36 20 4 77 80 0 - 1 - 1 - 1 6 - 1 36 40 47 12 79 47 - 1 41 21 12 71 14 72 0 44 49 0 0 0 0 - 1 51 81 83 4 67 - 1 21 - 1 31 24 91 61 81 9 86 78 60 88 67 15 - 1 - 1 0 0 68 - 1 50 15 - 1 36 13 10 11 20 53 90 29 92 57 30 84 92 11 66 80 - 1 - 1 0
can yield mb=4,nb=24,kb=nb-mb=24-4=20,
Figure BSA00000286391200142
The supported mother code rate is Rm=(nb-mb)/nb=kb/nbWhen 20/24 is 5/6 is 0.833, the spreading factor z is 3 × 2 for easy realization and practical code length5=96。
2. Receiving the current transmission code rate RtxCompare R0.78txAnd RmSince 0.78 < 0.833, the size of (c) can be increased by K' ═ ceil (m)b×z/(1-Rtx))-mbX z, K' is 1362, wherein ceil (x) denotes an integer up to x.
3. Correcting the unified basic matrix by a round-robin (scale + floor) algorithm and a spreading factor zObtaining a modified basis matrix
Figure BSA00000286391200144
As follows:
1 25 55 - 1 47 4 - 1 91 84 8 86 52 82 33 5 0 36 20 4 77 80 0 - 1 - 1 - 1 6 - 1 36 40 47 12 79 47 - 1 41 21 12 71 14 72 0 44 49 0 0 0 0 - 1 51 81 83 4 67 - 1 21 - 1 31 24 91 61 81 9 86 78 60 88 67 15 - 1 - 1 0 0 68 - 1 50 15 - 1 36 13 10 11 20 53 90 29 92 57 30 84 92 11 66 80 - 1 - 1 0
according to
Figure BSA00000286391200146
An LDPC matrix of (4 × 96) × (24 × 96) obtained by extending a unit matrix of z 96 and z × z
Figure BSA00000286391200147
And will matrix
Figure BSA00000286391200148
Coding matrix H as LDPC codebz
4. The information packet bit with the length of K' is received, and R is the length of the information packet bit since 0.78 < 0.833tx<RmWill have a length of kbX z-K '558 all 0 bits are padded in front of the information packet bits of length K', resulting in a length KbInformation bits to be encoded of 1920 × z.
5. Mixing (4X 96) X (24X 96) HbzFor length of kbLDPC coding is carried out on the information bits to be coded with the length of 1920 being multiplied by z, and the length of N is obtainedb2304, where the first 1920 bits are systematic bits and the last 384 bits are parity bits.
The code word rearrangement is carried out on the code word bits of the mother code, and the code word bits of the mother code before rearrangement are assumed to be A0,A1,,A2303The code word bit of the mother code after the code word rearrangement is B0,B1,…,B2303The codeword rearrangement is represented by the following formula:
Figure BSA00000286391200149
where PV denotes a codeword rearrangement vector, and PV ═ {20, 21, 22, 23 }. And because 0.78 < 0.833, namely Rtx<RmThe 558 all 0 bits filled in the front of the information packet bit in 4 are rearranged to obtain the mother code word bit B0,B1,…,B2303The rest code word bits B of the mother code are deleted from the systematic bits in the code558,B559,...,B2303As the codeword bits to be transmitted.
Example two:
1. receiving a unified basis matrix for a 4 x 24 LDPC code determined by a user
Figure BSA00000286391200151
And a maximum spreading factor zmaxWherein z ismax=96,
Figure BSA00000286391200152
As follows:
1 25 55 - 1 47 4 - 1 91 84 8 86 52 82 33 5 0 36 20 4 77 80 0 - 1 - 1 - 1 6 - 1 36 40 47 12 79 47 - 1 41 21 12 71 14 72 0 44 49 0 0 0 0 - 1 51 81 83 4 67 - 1 21 - 1 31 24 91 61 81 9 86 78 60 88 67 15 - 1 - 1 0 0 68 - 1 50 15 - 1 36 13 10 11 20 53 90 29 92 57 30 84 92 11 66 80 - 1 - 1 0
m can be obtainedb=4,nb=24,kb=nb-mb=24-4=20,The supported mother code rate is Rm=(nb-mb)/nb=kb/nb20/24-5/6-0.833, and for convenience of implementation, the spreading factor z is determined to be 26=64。
2. Receiving the current transmission code rate RtxCompare R to 0.875txAnd RmSince 0.875 > 0.833, the packet length K' is Kb×z=1280。
3. Correcting the unified basic matrix by a round-robin (scale + floor) algorithm and a spreading factor z
Figure BSA00000286391200155
Obtaining a modified basis matrix
Figure BSA00000286391200156
As follows:
0 16 36 - 1 31 2 - 1 60 56 5 57 34 54 22 3 0 24 13 2 51 53 0 - 1 - 1 - 1 4 - 1 34 26 31 8 52 31 - 1 27 14 8 47 9 48 0 29 32 0 0 0 0 - 1 34 54 55 2 44 - 1 14 - 1 20 16 60 40 54 6 57 52 40 58 44 10 - 1 - 1 0 0 45 - 1 33 10 - 1 24 8 6 7 13 35 60 19 61 38 20 56 61 7 44 53 - 1 - 1 0
according toAn LDPC matrix of (4 × 64) × (24 × 64) obtained by extending a unit matrix of z ═ 64 and z × z
Figure BSA00000286391200159
And will matrix
Figure BSA000002863912001510
Coding matrix H as LDPC codebz
4. Receiving the information packet bit with the length of K '═ 1280, and since 0.875 is greater than 0.833, the length of K' ═ K isbThe 1280 information packet bits are directly used as information bits to be encoded.
5. Mixing (4X 64) × (24X 64) HbzFor length K ═ KbCarrying out LDPC coding on the information bits to be coded with the length of 1280 multiplied by z to obtain the length of NbX z 1536 mother code codeword bits, where the first 1280 bits are systematic bits and the last 256 bits are parity bits.
Performing code word repetition on code word bits of mother codeRow, assume the mother code codeword bits before rearrangement to be A0,A1,…,A1535The code word bits of the mother code after the code word rearrangement are B0,B1,…,B1535Then the codeword rearrangement is represented by the following formula:
Figure BSA00000286391200161
where PV denotes a codeword rearrangement vector, and PV ═ {20, 21, 22, 23 }. Since 0.875 is more than 0.833, the compound belongs to Rtx≥RmThe rearranged mother code word bit B0,B1,…,B1535Taking floor (K'/R) from small to large according to the indextx) 1462 bits, i.e. B0,B1,…,B1461As the codeword bit to be transmitted, wherein floor (x) denotes taking an integer number down for x.
Fig. 4 shows a flow of implementing a second embodiment of the LDPC code encoding method provided in the present invention, and as shown in fig. 4, the method includes the following steps:
s401 to S402, receiving a uniform basic matrix of LDPC code with fixed size determined by user
Figure BSA00000286391200162
And a maximum spreading factor zmaxDetermining an expansion factor z according to the required code length;
in this step, the user can determine a size m according to actual requirementsb×nbUnified basis matrix ofAnd a maximum spreading factor zmaxWherein m isb、nb、zmaxIs a positive integer, let kb=nb-mbThen obtain
Figure BSA00000286391200164
The supported mother code rate is Rm=(nb-mb)/nb=kb/nb(ii) a And determines the spreading factor z according to the code length of the digital communication system in transmission, and generally, for the convenience of hardware implementation, the spreading factor z is a power of 2 or a positive integer multiple of the power of 2.
S403, receiving the current transmission code rate RtxThen, S404 and S405 are respectively executed.
S404, comparing RtxAnd RmDetermines the length K' of the input information packet bits according to the comparison result, and then performs S406;
in this step, when R istx≥RmWhen the length K' of the information packet is Kb×z=(nb-mb) Xz; when R istx<RmThen, the generated m is encodedbThe xz parity bits are transmitted, so that the information packet length K' can be determined by the parity bit length mbXz and transmission code rate RtxIs determined, therefore K', mbXz and RtxCan be expressed by, but is not limited to, the following formula:
Figure BSA00000286391200171
or
Figure BSA00000286391200172
Or
Figure BSA00000286391200173
Thus, K' may be represented by, but is not limited to, the following formula: k ═ func (m)b×z×Rtx/(1-Rtx) Or K ═ func (m)b×z/(1-Rtx))-mbX z, or K ═ func (func (m)b×z/(1-Rtx))×Rtx) (ii) a Where func (x) may represent one of integer up, integer down, or integer round off for x.
S405, for the unified basic matrix
Figure BSA00000286391200174
Correcting to determine the encoding matrix H of LDPC codebzThen, S407 is executed;
in this step, first, the correction algorithm and z pairs are used
Figure BSA00000286391200175
Correcting to obtain a corrected basic matrix
Figure BSA00000286391200176
According to
Figure BSA00000286391200177
And z and zxz are extended to obtain (m)b×z)×(nbXz) LDPC spreading matrix
Figure BSA00000286391200178
When R istx≥RmThen the matrix will be expanded
Figure BSA00000286391200179
Coding matrix H as LDPC codebz(ii) a When R istx<RmBy intercepting
Figure BSA000002863912001710
Right func (m)b×z/(1-Rtx) Column to obtain a size of (m)b×z)×func(mb×z/(1-Rtx) H) of a coding matrixbz. And also
Figure BSA000002863912001711
Thus, the coding matrix H of the LDPC code at this timebzHas a size of (m)b×z)×(K′+mb×z)。
In addition, when
Figure BSA000002863912001712
When it is a positive integer, the step is to unify the basic matrix
Figure BSA000002863912001713
Is corrected to obtainAfter that, it can also be based on RtxAnd RmTo the corrected basis matrix
Figure BSA000002863912001715
After processing, using expansion factor z to expand to obtain coding matrix H of LDPC codebz
Specifically, when R istx≥RmThen, to the corrected basic matrixExpanding to obtain a coding matrix HbzObtaining a coding matrix H in particular according to the above methodbzThe process is the same and is not described again;
when R istx<RmBy interceptingK 'on the right'b+mbColumn, obtained with a size of mb×(k′b+mb) Of (2) matrix
Figure BSA000002863912001718
According to
Figure BSA000002863912001719
And a spreading factor z, spread to obtain (m)b×z)×((k′b+mb) Xz) of LDPC codesbz. In S403, when R istx<RmWhen the temperature of the water is higher than the set temperature,
Figure BSA000002863912001720
and alsoIs a positive integer and, therefore,
Figure BSA00000286391200181
namely, it is
Figure BSA00000286391200182
Therefore, the coding matrix H of the LDPC code is obtained at this timebzIs also (m)b×z)×(K′+mb×z)。
S406, receiving information grouping bits with the length of K', and directly taking the information grouping bits as information bits to be coded;
s407 to S408, by encoding matrix HbzAnd carrying out LDPC coding on the information bits to be coded to obtain mother code word bits, and processing the mother code word bits to obtain the code word bits to be transmitted.
Specifically, when R istx≥RmWhen the passage size is (m)b×z)×(nbXz) of LDPC codesbzLDPC coding is carried out on information bits to be coded, and the length of the obtained mother code codeword bit is N ═ K' + mb×z=nbXz, where the first K' bits of the mother code codeword bits are systematic bits and the last m bits are systematic bitsbXz bits are check bits, wherein the length of the information bits to be encoded is K ═ Kb×z=(nb-mb)×z。
In order to improve the reliability of code word transmission, firstly, code word rearrangement is carried out on the obtained code word bits of the mother code, and the code word bits of the mother code before rearrangement are assumed to be
Figure BSA00000286391200183
The code word rearranged mother code has the code word bits ofThe codeword rearrangement is represented by the following formulaRepresents:
Figure BSA00000286391200185
wherein,
Figure BSA00000286391200186
PV represents a codeword rearrangement vector, PV includes mbA different element, the set of elements being
Figure BSA00000286391200187
And each element is different from the others, PV (x) denotes an element with an index x in the PV vector, where x is a non-negative integer.
When R istx≥RmThen, the puncturing operation is carried out, namely the code word bits of the mother code obtained after rearrangement are carried out
Figure BSA00000286391200188
Taking func (K'/R) from small to large according to the indextx) Bits as code word bits to be transmitted, i.e.Are the codeword bits to be transmitted. Wherein func (x) may represent one of upward integer fetching, downward integer fetching and integer rounding for x, and an appropriate operation may be selected for func (x) according to the actual application.
When R istx<RmThen, since the encoding matrix H is obtained in S403bzThe interception operation is performed in the process, so that the code word bits of the mother code obtained after rearrangement can be obtained
Figure BSA00000286391200191
As the codeword bits to be transmitted.
The second embodiment of the LDPC code encoding method is specifically described below with reference to examples:
example three:
1. receiving a unified basis matrix for a user-defined 6 x 24 LDPC codeAnd a maximum spreading factor zmaxWherein z ismax=96,
Figure BSA00000286391200193
As follows:
6 38 3 93 - 1 - 1 - 1 30 70 - 1 86 - 1 37 30 4 11 - 1 46 48 0 - 1 - 1 - 1 - 1 62 94 19 84 - 1 92 78 - 1 15 - 1 - 1 92 - 1 45 24 32 30 - 1 - 1 0 0 - 1 - 1 - 1 71 - 1 55 - 1 12 66 45 79 - 1 78 - 1 - 1 10 - 1 22 55 70 82 - 1 - 1 0 0 - 1 - 1 38 61 - 1 66 9 73 47 64 - 1 39 61 43 - 1 - 1 - 1 - 1 95 32 0 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 32 52 55 80 95 22 6 51 24 90 44 20 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 63 31 88 20 - 1 - 1 - 1 6 40 56 16 71 53 - 1 - 1 27 26 48 - 1 - 1 - 1 - 1 0
can yield mb=6,nb=24,kb=nb-mb=24-6=18,
Figure BSA00000286391200195
The supported mother code rate is Rm=(nb-mb)/nb=kb/nb18/24-3/4-0.75, and for the convenience of realization and the code length of the code required in practice, the spreading factor z is determined to be 3 × 25=96。
2. Receiving the current transmission code rate RtxCompare R0.9txAnd RmSince 0.9 > 0.75, the packet length K' K ═ Kb×z=1728。
3. By rounding (scale + floor) algorithm andspreading factor z corrects unified basis matrix
Figure BSA00000286391200196
Obtaining a modified basis matrix
Figure BSA00000286391200197
As follows:
6 38 3 93 - 1 - 1 - 1 30 70 - 1 86 - 1 37 30 4 11 - 1 46 48 0 - 1 - 1 - 1 - 1 62 94 19 84 - 1 92 78 - 1 15 - 1 - 1 92 - 1 45 24 32 30 - 1 - 1 0 0 - 1 - 1 - 1 71 - 1 55 - 1 12 66 45 79 - 1 78 - 1 - 1 10 - 1 22 55 70 82 - 1 - 1 0 0 - 1 - 1 38 61 - 1 66 9 73 47 64 - 1 39 61 43 - 1 - 1 - 1 - 1 95 32 0 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 32 52 55 80 95 22 6 51 24 90 44 20 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 63 31 88 20 - 1 - 1 - 1 6 40 56 16 71 53 - 1 - 1 27 26 48 - 1 - 1 - 1 - 1 0
according toAn LDPC matrix of (6 × 96) × (24 × 96) obtained by extending a unit matrix of z 96 and z × z
Figure BSA000002863912001910
And 0.9 > 0.75, then the matrix is dividedCoding matrix H as LDPC codebz
4. Receiving information packet bits of length K1728 and converting the information packet bits of length K to KbThe 1728 information packet bits are directly used as information bits to be encoded.
5. Mixing (6X 96) X (24X 96) HbzFor length K ═ Kb1728, and performing LDPC coding to obtain the final productTo a length of N ═ K' + mb×z=nb2304, where the first 1728 bits are systematic bits and the last 576 bits are parity bits.
The code word rearrangement is carried out on the code word bits of the mother code, and the code word bits of the mother code before rearrangement are assumed to be A0,A1,…,A2303The code word bits of the mother code after the code word rearrangement are B0,B1,…,B2303Then the codeword rearrangement is represented by the following formula:
Figure BSA00000286391200201
wherein,PV denotes a codeword rearrangement vector, and PV ═ 18, 19, 20, 21, 22, 23 }. Since 0.9 is more than 0.75, the compound belongs to Rtx≥RmThe rearranged mother code word bit B0,B1,…,B2303Taking ceil (K'/R) from small to large according to the indextx) 1920 bits, i.e. B0,B1,…,B1919As the codeword bits to be transmitted, ceil (x) indicates that x is taken as an integer.
Example four:
1. receiving a unified basis matrix for a user-defined 6 x 24 LDPC code
Figure BSA00000286391200203
And a maximum spreading factor zmaxWherein z ismax=96,
Figure BSA00000286391200204
As follows:
6 38 3 93 - 1 - 1 - 1 30 70 - 1 86 - 1 37 30 4 11 - 1 46 48 0 - 1 - 1 - 1 - 1 62 94 19 84 - 1 92 78 - 1 15 - 1 - 1 92 - 1 45 24 32 30 - 1 - 1 0 0 - 1 - 1 - 1 71 - 1 55 - 1 12 66 45 79 - 1 78 - 1 - 1 10 - 1 22 55 70 82 - 1 - 1 0 0 - 1 - 1 38 61 - 1 66 9 73 47 64 - 1 39 61 43 - 1 - 1 - 1 - 1 95 32 0 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 32 52 55 80 95 22 6 51 24 90 44 20 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 63 31 88 20 - 1 - 1 - 1 6 40 56 16 71 53 - 1 - 1 27 26 48 - 1 - 1 - 1 - 1 0
can yield mb=6,nb=24,kb=nb-mb=24-6=18,
Figure BSA00000286391200206
The supported mother code rate is Rm=(nb-mb)/nb=kb/nb18/24-3/4-0.75, and for easy realization and practical code length, 2-2 expansion factor is determined6=64。
2. Receiving the current transmission code rate RtxR is 0.6, comparetxAnd RmSince 0.6 < 0.75, the size of (c) can be increased by K' ═ ceil (m)b×z/(1-Rtx))-mbX z, and K' is 576, wherein ceil (x) represents an integer up to x.
3. Correcting the unified basic matrix by a round-robin (scale + floor) algorithm and a spreading factor z
Figure BSA00000286391200207
Obtaining a modified basis matrix
Figure BSA00000286391200208
As follows:
4 25 2 62 - 1 - 1 - 1 20 46 - 1 57 - 1 24 25 2 7 - 1 30 32 0 - 1 - 1 - 1 - 1 41 62 12 56 - 1 61 52 - 1 10 - 1 - 1 61 - 1 30 16 21 20 - 1 - 1 0 0 - 1 - 1 - 1 47 - 1 36 - 1 8 44 30 52 - 1 52 - 1 - 1 6 - 1 14 36 46 54 - 1 - 1 0 0 - 1 - 1 25 40 - 1 44 6 48 31 42 - 1 26 40 28 - 1 - 1 - 1 - 1 63 21 0 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 21 34 36 53 63 14 4 34 16 60 29 13 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 42 20 58 13 - 1 - 1 - 1 4 26 37 10 47 35 - 1 - 1 18 17 32 - 1 - 1 - 1 - 1 0
according to
Figure BSA00000286391200212
An LDPC matrix of (6 × 64) × (24 × 64) obtained by extending a unit matrix of z ═ 64 and z × zAnd since 0.6 < 0.75, therefore intercept
Figure BSA00000286391200214
Ceil (m) on the rightb×z/(1-Rtx) 960 columns, resulting in a coding matrix H of size (6 × 64) × 960bz
In addition, the step can also be processed as follows: obtaining a modified basis matrix
Figure BSA00000286391200215
And because 0.6 is less than 0.75,
Figure BSA00000286391200216
intercepting
Figure BSA00000286391200217
K 'on the right'b+mbColumn 15 with 9+6, resulting in a matrix size of 6 × (9+6)
Figure BSA00000286391200218
According to
Figure BSA00000286391200219
And z ═LDPC coding matrix H of (6 × 64) × (15 × 64) obtained by extending unit matrix of 64 and z × zbz
4. Information packet bits of length K 'are received and the information packet bits of length K' 576 are directed as the information bits to be encoded.
5. Mixing (6X 64) × (15X 64) HbzLDPC coding is carried out on the information bits to be coded with the length of K '═ 576, and the length of N' + m is obtainedb×z=nbX z is 960 bits of the mother code codeword, where the first 576 bits are systematic bits and the last 384 bits are parity bits.
The code word rearrangement is carried out on the code word bits of the mother code, and the code word bits of the mother code before rearrangement are assumed to be A0,A1,…,A959The code word bits of the mother code after the code word rearrangement are B0,B1,…,B959Then the codeword rearrangement is represented by the following formula:
Figure BSA000002863912002110
wherein,PV denotes a codeword rearrangement vector, and PV is {9, 10, 11, 12, 13, 14 }. And because 0.6 is less than 0.75, namely Rtx<RmSince 3 is obtaining the encoding matrix HbzThe interception operation is performed in the process, so that the code bit B of the mother code obtained after rearrangement can be obtained0,B1,…,B959As the codeword bits to be transmitted.
Fig. 5 shows a structure of an encoding apparatus of an LDPC code provided by the present invention, as shown in fig. 5, the apparatus includes: an encoding unit 10, a comparing unit 20, a grouping bit determining unit 30, an encoding matrix determining unit 40, an information bit determining unit 50, and a code word processing unit 60; the comparing unit 20 is configured to compare the mother code rate supported by the uniform basic matrix with the transmission code rate; the grouping bit determining unit 30 is used for determining the length K' of the input information grouping bit according to the comparison result of the comparing unit; the encoding matrix determining unit 40 is configured to determine an encoding matrix of the LDPC code according to the uniform basis matrix and the spreading factor; the information bit determining unit 50 is configured to receive an input information bit, obtain an information packet bit with a length K' according to the information packet bit length determined by the packet bit determining unit 30, determine an information bit to be encoded, and transmit the information bit to the encoding unit 10; the codeword processing unit 60 is configured to process a mother code codeword obtained by performing LDPC encoding on the encoding unit 10 to obtain a codeword bit to be transmitted.
Further, the apparatus further includes a setting unit 70 for setting a uniform basis matrix and a spreading factor of the LDPC code.
Further, the apparatus further comprises an input unit 80, configured to receive a current transmission code rate; the grouping bit determining unit 30 is specifically configured to determine when the comparison result of the comparing unit 20 is Rtx≥RmWhen the length K' of the information packet bit is determined to be (n)b-mb) Xz; when the comparison result of the comparison unit 20 is Rtx<RmWhen the length of the information packet bit is determined to be K ═ func (m)b×z×Rtx/(1-Rtx) Or K ═ func (m)b×z/(1-Rtx))-mbX z, or K ═ func (func (m)b×z/(1-Rtx))×Rtx) (ii) a Wherein R istxFor transmission of code rate, RmIs the code rate of the mother code, mb、nbRespectively, the number of rows and columns of the unified basic matrix, z is a spreading factor, func (x) is one of integer up, integer down, or integer round off for x.
Further, the coding matrix determining unit 40 is specifically configured to modify the uniform basic matrix, and extend the modified basic matrix by using a zxz identity matrix according to an extension factor z to obtain a coding matrix of the LDPC code.
Accordingly, the number of the first and second electrodes,the information bit determination unit 50 is specifically used when the comparison result of the comparison unit 20 is Rtx≥RmWhen the coding is carried out, the received information grouping bit with the length of K' is directly used as the information bit to be coded; when the comparison result of the comparison unit 20 is Rtx<RmThen, padding bits are added to the information packet bits of length K' to form a length KbXz, where the padding bits are all 0 bits or all 1 bits.
Accordingly, the code word processing unit 60 is specifically configured to rearrange the mother code word encoded by the encoding unit 10, where the mother code word bits before rearrangement are a0,A1,…,Anb×z-1The rearranged mother code word bit is B0,B1,…,Bnb×z-1The rearrangement formula is:
Figure BSA00000286391200231
wherein k isb=nb-mbPV represents a codeword rearrangement vector whose set of elements is nb-mb,nb-mb+1,nb-mb+2,…,nb-1}, PV (x) denotes an element in the PV vector with index x, x being a non-negative integer; when the comparison result of the comparison unit 20 is Rtx≥RmThen, the rearranged mother code word bit B is processed0,B1,…,Bnb×z-1Taking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted; when the comparison result of the comparison unit 20 is Rtx<RmWhen k is to be addedbxz-K' padding bits from rearranged mother code codeword bits B0,B1,…,Bnb×z-1The systematic bits are deleted, and the rest code word bits of the mother code are used as code word bits to be transmitted.
Further, the coding matrix determining unit 40 is specifically configured to modify the uniform basic matrix, and according to the expansion factor z, expand the modified basic matrix by using a zxz identity matrix to obtain an LDAn extended matrix of PC codes; when the comparison result of the comparison unit 20 is Rtx≥RmThen, taking the extended matrix as the coding matrix of the LDPC code; when the comparison result of the comparison unit is Rtx<RmWhile, truncating func (m) to the right of the spreading matrixb×z/(1-Rtx) Column), using the intercepted matrix as the coding matrix of the LDPC code; or atWhen the number of the base matrixes is a positive integer, correcting the unified base matrix to obtain a corrected base matrix; when the comparison result of the comparison unit 20 is Rtx≥RmThen, according to an expansion factor z, expanding the corrected basic matrix by using a unit matrix of z multiplied by z to obtain an encoding matrix of the LDPC code; when the comparison result of the comparison unit 20 is Rtx<RmThen, k 'to the right of the corrected base matrix is intercepted'b+mbAnd expanding the matrix obtained by intercepting by using a unit matrix of z multiplied by z according to the expansion factor z to obtain the coding matrix of the LDPC code.
Accordingly, the information bit determination unit 50 is specifically configured to directly take the received information packet bits with length K' as information bits to be encoded.
Accordingly, the code word processing unit 60 is specifically configured to rearrange the mother code word obtained by the encoding unit 10, where the mother code word bits before rearrangement are
Figure BSA00000286391200233
The rearranged mother code codeword bits are
Figure BSA00000286391200234
The rearrangement formula is:
Figure BSA00000286391200241
wherein,
Figure BSA00000286391200242
PV represents a codeword rearrangement vector whose elements are grouped into
Figure BSA00000286391200243
PV (x) represents an element with an index of x in a PV vector, wherein x is a non-negative integer; when the comparison result of the comparison unit 20 is Rtx≥RmThen, the rearranged mother code word bits are rearranged
Figure BSA00000286391200244
Taking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted; when the comparison result of the comparison unit 20 is Rtx<RmThen directly decoding the rearranged mother code word bits
Figure BSA00000286391200245
As the codeword bits to be transmitted.
It should be noted that encoding and decoding are corresponding to each other, so that the encoding method and the decoding device of the LDPC code provided by the present invention also have corresponding inverse operations, and are not described herein again.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention.

Claims (18)

1. A method of encoding a low density parity check, LDPC, code, the method comprising the steps of:
comparing the mother code rate supported by the unified basic matrix with the transmission code rate, and determining the length K' of the input information grouping bit according to the comparison result;
determining an encoding matrix of the LDPC code according to the unified basic matrix and the expansion factor;
determining information bits to be coded by received information packet bits with the length of K';
and performing LDPC coding on the information bits to be coded by using the coding matrix, and processing the code word bits of the mother code obtained by coding to obtain the code word bits to be transmitted.
2. The method of claim 1, further comprising: and setting a uniform basic matrix and an expansion factor of the LDPC code.
3. The method of claim 1 or 2, wherein comparing the mother code rate supported by the uniform basis matrix with the transmission code rate further comprises: receiving a current transmission code rate;
determining the length K' of the input information packet bit as follows according to the comparison result:
when R istx≥RmWhen the length K' of the information packet is determined to be (n)b-mb) Xz; when R istx<RmWhen the length of the information packet bit is determined to be K ═ func (m)b×z×Rtx/(1-Rtx) Or K ═ func (m)b×z/(1-Rtx))-mbX z, or K ═ func (func (m)b×z/(1-Rtx))×Rtx);
Wherein R istxFor transmission of code rate, RmIs the code rate of the mother code, mb、nbRespectively, the number of rows and columns of the unified basic matrix, z is a spreading factor, func (x) is one of integer up, integer down, or integer round off for x.
4. The method according to claim 1 or 2, wherein the determining the coding matrix of the LDPC code according to the unified base matrix and the spreading factor is:
and correcting the unified basic matrix, and expanding the corrected basic matrix by using a unit matrix of z multiplied by z according to an expansion factor z to obtain an encoding matrix of the LDPC code.
5. The method of claim 4, wherein the information bits to be encoded are determined from the received information packet bits of length K':
when R istx≥RmWhen the coding is carried out, the received information grouping bit with the length of K' is directly used as the information bit to be coded; when R istx<RmThen, padding bits are added to the information packet bits of length K' to form a length KbXz information bits to be encoded.
6. The method of claim 5, wherein the processing of the encoded mother code codeword bits is:
rearranging the code words of the mother code obtained by encoding, wherein the code words of the mother code before rearrangement have the bit of A0,A1,…,Anb×z-1The rearranged mother code word bit is B0,B1,…,Bnb×z-1The rearrangement formula is:
Figure FSA00000286391100021
wherein k isb=nb-mbPV represents a codeword rearrangement vector whose set of elements is nb-mb,nb-mb+1,nb-mb+2,…,nb-1}, PV (x) denotes an element in the PV vector with index x, x being a non-negative integer;
when R istx≥RmThen, the rearranged mother code word bit B is processed0,B1,…,Bnb×z-1Taking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted;
when R istx<RmWhen k is to be addedbxz-K' padding bits from rearranged mother code codeword bits B0,B1,…,Bnb×z-1The systematic bits are deleted, and the rest code word bits of the mother code are used as code word bits to be transmitted.
7. The method of claim 3, wherein determining the coding matrix of the LDPC code is:
correcting the unified basic matrix, and expanding the corrected basic matrix by using a unit matrix of z multiplied by z according to an expansion factor z to obtain an expansion matrix of the LDPC code;
when R istx≥RmThen, taking the extended matrix as the coding matrix of the LDPC code; when R istx<RmWhile, truncating func (m) to the right of the spreading matrixb×z/(1-Rtx) Column), using the intercepted matrix as the coding matrix of the LDPC code; or,
when in use
Figure FSA00000286391100022
When the number of the base matrixes is a positive integer, correcting the unified base matrix to obtain a corrected base matrix;
when R istx≥RmThen, according to an expansion factor z, expanding the corrected basic matrix by using a unit matrix of z multiplied by z to obtain an encoding matrix of the LDPC code; when R istx<RmThen, k 'to the right of the corrected base matrix is intercepted'b+mbAnd expanding the matrix obtained by intercepting by using a unit matrix of z multiplied by z according to the expansion factor z to obtain the coding matrix of the LDPC code.
8. The method of claim 7, wherein the information bits to be encoded are determined from the received information packet bits of length K': the information packet bits with length K' are directly used as information bits to be encoded.
9. The method of claim 8, wherein the processing of the encoded mother code codeword bits is:
rearranging the code words of the mother code obtained by encoding, wherein the code words of the mother code before rearrangement have the bits ofThe rearranged mother code codeword bits are
Figure FSA00000286391100032
The rearrangement formula is:
Figure FSA00000286391100033
wherein,
Figure FSA00000286391100034
PV represents a codeword rearrangement vector whose elements are grouped intoPV (x) represents an element with index x in the PV vector, wherein x is a non-negative integer, and
Figure FSA00000286391100036
representing the upward integer of x;
when R istx≥RmThen, the rearranged mother code word bits are rearranged
Figure FSA00000286391100037
Taking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted; when R istx<RmThen directly decoding the rearranged mother code word bits
Figure FSA00000286391100038
As the codeword bits to be transmitted.
10. An apparatus for encoding an LDPC code, comprising an encoding unit, the apparatus further comprising: the device comprises a comparison unit, a grouping bit determination unit, a coding matrix determination unit, an information bit determination unit and a code word processing unit; wherein,
the comparison unit is used for comparing the mother code rate supported by the unified basic matrix with the transmission code rate;
a packet bit determination unit for determining the length K' of the input information packet bits according to the comparison result of the comparison unit;
the encoding matrix determining unit is used for determining an encoding matrix of the LDPC code according to the unified basic matrix and the expansion factor;
an information bit determining unit, configured to receive an information packet bit with a length of K', determine an information bit to be encoded, and transmit the information bit to an encoding unit;
and the code word processing unit is used for processing the mother code word obtained by LDPC coding of the coding unit to obtain the code word bit to be transmitted.
11. The apparatus of claim 10, further comprising: and the setting unit is used for setting the uniform basic matrix and the expansion factor of the LDPC code.
12. The apparatus of claim 10 or 11, further comprising an input unit for receiving a current transmission code rate;
the grouping bit determining unit is specifically used for determining when the comparison result of the comparing unit is Rtx≥RmWhen the length K' of the information packet bit is determined to be (n)b-mb) Xz; when the comparison result of the comparison unit is Rtx<RmWhen the length of the information packet bit is determined to be K ═ func (m)b×z×Rtx/(1-Rtx) Or K ═ func (m)b×z/(1-Rtx))-mbX z, or K ═ func (func (m)b×z/(1-Rtx))×Rtx) (ii) a Wherein R istxFor transmission of code rate, RmIs the code rate of the mother code, mb、nbRespectively, the number of rows and columns of the unified basic matrix, z is a spreading factor, func (x) is one of integer up, integer down, or integer round off for x.
13. The apparatus according to claim 10 or 11, wherein the coding matrix determining unit is specifically configured to modify the uniform base matrix, and extend the modified base matrix by using a zxz identity matrix according to an extension factor z to obtain a coding matrix of the LDPC code.
14. The apparatus according to claim 13, wherein the information bit determining unit is specifically configured to determine when the comparison result of the comparing unit is Rtx≥RmWhen the coding is carried out, the received information grouping bit with the length of K' is directly used as the information bit to be coded; when the comparison result of the comparison unit is Rtx<RmThen, padding bits are added to the information packet bits of length K' to form a length KbXz information bits to be encoded.
15. The apparatus according to claim 14, wherein the codeword processing unit is specifically configured to rearrange the mother code codeword encoded by the encoding unit, and bits of the mother code codeword before rearrangement are a0,A1,…,Anb×z-1The rearranged mother code word bit is B0,B1,…,nb×z-1The rearrangement formula is:
Figure FSA00000286391100051
wherein k isb=nb-mbPV represents a codeword rearrangement vector whose set of elements is nb-mb,nb-mb+1,nb-mb+2,…,nb-1}, PV (x) denotes an element in the PV vector with index x, x being a non-negative integer;
when the comparison result of the comparison unit is Rtx≥RmThen, the rearranged mother code word bit B is processed0,B1,…,Bnb×z-1Sequentially taking fun from small to large according to indexesc(K′/Rtx) Bits as codeword bits to be transmitted;
when the comparison result of the comparison unit is Rtx<RmWhen k is to be addedbxz-K' padding bits from rearranged mother code codeword bits B0,B1,…,Bnb×z-1The systematic bits are deleted, and the rest code word bits of the mother code are used as code word bits to be transmitted.
16. The apparatus according to claim 12, wherein the coding matrix determining unit is specifically configured to modify the uniform base matrix, and extend the modified base matrix by using a zxz identity matrix according to an extension factor z to obtain an extension matrix of the LDPC code; when the comparison result of the comparison unit is Rtx≥RmThen, taking the extended matrix as the coding matrix of the LDPC code; when the comparison result of the comparison unit is Rtx<RmWhile, truncating func (m) to the right of the spreading matrixb×z/(1-Rtx) Column), using the intercepted matrix as the coding matrix of the LDPC code; or atWhen the number of the base matrixes is a positive integer, correcting the unified base matrix to obtain a corrected base matrix; when the comparison result of the comparison unit is Rtx≥RmThen, according to an expansion factor z, expanding the corrected basic matrix by using a unit matrix of z multiplied by z to obtain an encoding matrix of the LDPC code; when the comparison result of the comparison unit is Rtx<RmThen, k 'to the right of the corrected base matrix is intercepted'b+mbAnd expanding the matrix obtained by intercepting by using a unit matrix of z multiplied by z according to the expansion factor z to obtain the coding matrix of the LDPC code.
17. The apparatus according to claim 16, wherein the information bit determining unit is specifically configured to use the received information packet bits with length K' directly as information bits to be encoded.
18. The apparatus according to claim 17, wherein the codeword processing unit is specifically configured to rearrange the mother code codeword obtained by the encoding unit, and bits of the mother code codeword before rearrangement areThe rearranged mother code codeword bits are
Figure FSA00000286391100062
The rearrangement formula is:
Figure FSA00000286391100063
wherein,
Figure FSA00000286391100064
PV represents a codeword rearrangement vector whose elements are grouped intoPV (x) represents an element with an index of x in a PV vector, wherein x is a non-negative integer;
when the comparison result of the comparison unit is Rtx≥RmThen, the rearranged mother code word bits are rearranged
Figure FSA00000286391100066
Taking func (K'/R) from small to large according to the indextx) Bits as codeword bits to be transmitted;
when the comparison result of the comparison unit is Rtx<RmThen directly decoding the rearranged mother code word bits
Figure FSA00000286391100067
As the codeword bits to be transmitted.
CN201010293323.6A 2010-09-25 2010-09-25 The coded method of a kind of low density parity check code and device Expired - Fee Related CN102412842B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010293323.6A CN102412842B (en) 2010-09-25 2010-09-25 The coded method of a kind of low density parity check code and device
PCT/CN2010/079103 WO2012037749A1 (en) 2010-09-25 2010-11-25 Encoding method for low density parity check code and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010293323.6A CN102412842B (en) 2010-09-25 2010-09-25 The coded method of a kind of low density parity check code and device

Publications (2)

Publication Number Publication Date
CN102412842A true CN102412842A (en) 2012-04-11
CN102412842B CN102412842B (en) 2016-06-15

Family

ID=45873399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010293323.6A Expired - Fee Related CN102412842B (en) 2010-09-25 2010-09-25 The coded method of a kind of low density parity check code and device

Country Status (2)

Country Link
CN (1) CN102412842B (en)
WO (1) WO2012037749A1 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015120719A1 (en) * 2014-02-12 2015-08-20 中兴通讯股份有限公司 Information processing method and device
CN106685586A (en) * 2015-11-11 2017-05-17 华为技术有限公司 Method and device of generating low-density odd-even check codes for transmission in channel
WO2017193558A1 (en) * 2016-05-13 2017-11-16 中兴通讯股份有限公司 Data processing method and device for structured ldpc code
WO2017193614A1 (en) * 2016-05-13 2017-11-16 中兴通讯股份有限公司 Encoding method and device and decoding method and device for structured ldpc
CN107370490A (en) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 Coding, interpretation method and the device of structured LDPC
CN107370489A (en) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 The data processing method and device of structured LDPC code
CN107404322A (en) * 2014-09-17 2017-11-28 上海数字电视国家工程研究中心有限公司 Check matrix and LDPC code word for low code rate LDPC code
WO2018001067A1 (en) * 2016-06-30 2018-01-04 华为技术有限公司 Rm sequence generation and use method and device
WO2018059588A1 (en) * 2016-09-30 2018-04-05 中兴通讯股份有限公司 Quasi-cyclic ldpc coding and decoding method and apparatus, and ldpc coder and decoder
CN108134648A (en) * 2016-12-01 2018-06-08 华为技术有限公司 Notice channel transmitting method, method of reseptance and equipment
WO2018103556A1 (en) * 2016-12-09 2018-06-14 中兴通讯股份有限公司 Quasi-cyclic ldpc code data processing apparatus and processing method
CN108270448A (en) * 2017-01-04 2018-07-10 中兴通讯股份有限公司 Quasi-circulating low-density parity check coding method and device
WO2018126914A1 (en) * 2017-01-09 2018-07-12 中兴通讯股份有限公司 Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium
CN108400838A (en) * 2017-02-06 2018-08-14 华为技术有限公司 Data processing method and equipment
WO2018149389A1 (en) * 2017-02-15 2018-08-23 中兴通讯股份有限公司 Data processing method, device, and transmitting terminal
WO2018157390A1 (en) * 2017-03-03 2018-09-07 Huawei Technologies Co., Ltd. High-rate long ldpc codes
WO2018171043A1 (en) * 2017-03-24 2018-09-27 中兴通讯股份有限公司 Processing method and device for quasi-cyclic low density parity check coding
CN108631925A (en) * 2017-03-24 2018-10-09 中兴通讯股份有限公司 A kind of quasi-circulating low-density parity check code processing method and device
CN108809487A (en) * 2017-05-04 2018-11-13 华为技术有限公司 Method, base station and the terminal device of transmission data
WO2019029690A1 (en) * 2017-08-11 2019-02-14 华为技术有限公司 Communication method and device
US10355711B2 (en) 2014-12-30 2019-07-16 Huawei Technologies Co., Ltd. Data processing method and system based on quasi-cyclic LDPC
CN111416625A (en) * 2017-06-15 2020-07-14 华为技术有限公司 Information processing method and communication device
US11277153B2 (en) 2017-06-27 2022-03-15 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US11368241B2 (en) 2017-08-11 2022-06-21 Huawei Technologies Co., Ltd. Communication method and communications apparatus
US11477065B2 (en) 2015-04-15 2022-10-18 Zte Corporation Method and apparatus for code block division

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018201912A1 (en) * 2017-05-05 2018-11-08 电信科学技术研究院有限公司 Method and device for selecting base graph for low-density parity-check code
CN108809509B (en) 2017-05-05 2021-01-22 电信科学技术研究院 Method and device for selecting basic diagram of low-density parity check code
CN115801191B (en) 2017-06-26 2024-09-13 中兴通讯股份有限公司 Quasi-cyclic low-density parity check coding design method and device
CN109150194B (en) * 2017-06-27 2022-01-14 华为技术有限公司 Information processing method and device and communication equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172209A1 (en) * 2004-02-03 2005-08-04 Cameron Kelly B. Efficient LDPC code decoding with new minus operator in a finite precision radix system
CN1953335A (en) * 2005-10-21 2007-04-25 中兴通讯股份有限公司 A coding device and method for low density parity check code of supporting any code rate/code length
CN101217337A (en) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat
CN101325474A (en) * 2007-06-12 2008-12-17 中兴通讯股份有限公司 Method for encoding channel of mixed automatic request retransmission and modulation mapping of LDPC code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188297B2 (en) * 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data
WO2006039801A1 (en) * 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
CN101567697B (en) * 2009-05-25 2012-12-12 普天信息技术研究院有限公司 Coder and method for coding rate-compatible low-density parity-check codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172209A1 (en) * 2004-02-03 2005-08-04 Cameron Kelly B. Efficient LDPC code decoding with new minus operator in a finite precision radix system
CN1953335A (en) * 2005-10-21 2007-04-25 中兴通讯股份有限公司 A coding device and method for low density parity check code of supporting any code rate/code length
CN101217337A (en) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat
CN101325474A (en) * 2007-06-12 2008-12-17 中兴通讯股份有限公司 Method for encoding channel of mixed automatic request retransmission and modulation mapping of LDPC code

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015120719A1 (en) * 2014-02-12 2015-08-20 中兴通讯股份有限公司 Information processing method and device
CN107404322A (en) * 2014-09-17 2017-11-28 上海数字电视国家工程研究中心有限公司 Check matrix and LDPC code word for low code rate LDPC code
US10355711B2 (en) 2014-12-30 2019-07-16 Huawei Technologies Co., Ltd. Data processing method and system based on quasi-cyclic LDPC
US11477065B2 (en) 2015-04-15 2022-10-18 Zte Corporation Method and apparatus for code block division
CN106685586B (en) * 2015-11-11 2020-02-14 华为技术有限公司 Method and apparatus for generating low density parity check code for transmission in a channel
WO2017080249A1 (en) * 2015-11-11 2017-05-18 华为技术有限公司 Method of generating low-density parity-check code transmitted over channel and apparatus utilizing same
CN106685586A (en) * 2015-11-11 2017-05-17 华为技术有限公司 Method and device of generating low-density odd-even check codes for transmission in channel
US10523237B2 (en) 2016-05-13 2019-12-31 Zte Corporation Method and apparatus for data processing with structured LDPC codes
CN111565052A (en) * 2016-05-13 2020-08-21 中兴通讯股份有限公司 Data processing method and device of structured LDPC code
CN107370489B (en) * 2016-05-13 2020-07-28 中兴通讯股份有限公司 Data processing method and device for structured L DPC code
CN111565052B (en) * 2016-05-13 2023-03-07 中兴通讯股份有限公司 Data processing method and device of structured LDPC code
CN107370490A (en) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 Coding, interpretation method and the device of structured LDPC
US10892778B2 (en) 2016-05-13 2021-01-12 Zte Corporation Encoding method and device and decoding method and device for structured LDPC
WO2017193558A1 (en) * 2016-05-13 2017-11-16 中兴通讯股份有限公司 Data processing method and device for structured ldpc code
EP3457574A4 (en) * 2016-05-13 2019-05-08 ZTE Corporation Data processing method and device for structured ldpc code
WO2017193614A1 (en) * 2016-05-13 2017-11-16 中兴通讯股份有限公司 Encoding method and device and decoding method and device for structured ldpc
CN107370490B (en) * 2016-05-13 2023-07-14 中兴通讯股份有限公司 Method and device for encoding and decoding structured LDPC (Low Density parity check)
US11683051B2 (en) 2016-05-13 2023-06-20 Zte Corporation Method and apparatus for data processing with structured LDPC codes
US11139835B2 (en) 2016-05-13 2021-10-05 Zte Corporation Method and apparatus for data processing with structured LDPC codes
CN107370489A (en) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 The data processing method and device of structured LDPC code
WO2018001067A1 (en) * 2016-06-30 2018-01-04 华为技术有限公司 Rm sequence generation and use method and device
CN107566081B (en) * 2016-06-30 2020-04-03 华为技术有限公司 RM sequence generation and application method and device
CN107566081A (en) * 2016-06-30 2018-01-09 华为技术有限公司 A kind of generation of RM sequences and application process, device
US11637568B2 (en) 2016-09-30 2023-04-25 Zte Corporation Quasi-cyclic LDPC coding and decoding method and apparatus, and LDPC coder and decoder
CN107888198B (en) * 2016-09-30 2023-05-26 中兴通讯股份有限公司 Quasi-cyclic LDPC (low density parity check) coding and decoding method and device and LDPC coder and decoder
US11133826B2 (en) 2016-09-30 2021-09-28 Zte Corporation Quasi-cyclic LDPC coding and decoding method and apparatus, and LDPC coder and decoder
CN107888198A (en) * 2016-09-30 2018-04-06 中兴通讯股份有限公司 Quasi-cyclic LDPC coding and decoding method, device and LDPC coders
WO2018059588A1 (en) * 2016-09-30 2018-04-05 中兴通讯股份有限公司 Quasi-cyclic ldpc coding and decoding method and apparatus, and ldpc coder and decoder
CN108134648A (en) * 2016-12-01 2018-06-08 华为技术有限公司 Notice channel transmitting method, method of reseptance and equipment
CN108134648B (en) * 2016-12-01 2020-12-22 华为技术有限公司 Broadcast channel sending method, receiving method and equipment
CN108234064B (en) * 2016-12-09 2022-05-03 中兴通讯股份有限公司 Quasi-cyclic LDPC code data processing device and method
CN108234064A (en) * 2016-12-09 2018-06-29 中兴通讯股份有限公司 Quasi-cyclic LDPC code data processing equipment and processing method
WO2018103556A1 (en) * 2016-12-09 2018-06-14 中兴通讯股份有限公司 Quasi-cyclic ldpc code data processing apparatus and processing method
CN108270448A (en) * 2017-01-04 2018-07-10 中兴通讯股份有限公司 Quasi-circulating low-density parity check coding method and device
WO2018126788A1 (en) * 2017-01-04 2018-07-12 中兴通讯股份有限公司 Quasi-cyclic low-density parity check encoding method and device, and storage medium
CN108270448B (en) * 2017-01-04 2022-11-15 中兴通讯股份有限公司 Quasi-cyclic low-density parity check coding method and device
WO2018126914A1 (en) * 2017-01-09 2018-07-12 中兴通讯股份有限公司 Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium
US11133832B2 (en) 2017-02-06 2021-09-28 Huawei Technologies Co., Ltd. Data processing method and device
CN108400838B (en) * 2017-02-06 2021-05-18 华为技术有限公司 Data processing method and device
CN108400838A (en) * 2017-02-06 2018-08-14 华为技术有限公司 Data processing method and equipment
WO2018149389A1 (en) * 2017-02-15 2018-08-23 中兴通讯股份有限公司 Data processing method, device, and transmitting terminal
US11082061B2 (en) 2017-03-03 2021-08-03 Huawei Technologies Co., Ltd. High-rate long LDPC codes
CN110249536A (en) * 2017-03-03 2019-09-17 华为技术有限公司 The long LDPC code of high code rate
US11671115B2 (en) 2017-03-03 2023-06-06 Huawei Technologies Co., Ltd. High-rate long LDPC codes
CN110249536B (en) * 2017-03-03 2021-07-20 华为技术有限公司 Long LDPC code with high code rate
WO2018157390A1 (en) * 2017-03-03 2018-09-07 Huawei Technologies Co., Ltd. High-rate long ldpc codes
CN108631925B (en) * 2017-03-24 2022-05-03 中兴通讯股份有限公司 Quasi-cyclic low-density parity check coding processing method and device
CN108631925A (en) * 2017-03-24 2018-10-09 中兴通讯股份有限公司 A kind of quasi-circulating low-density parity check code processing method and device
WO2018171043A1 (en) * 2017-03-24 2018-09-27 中兴通讯股份有限公司 Processing method and device for quasi-cyclic low density parity check coding
US11368169B2 (en) 2017-03-24 2022-06-21 Zte Corporation Processing method and device for quasi-cyclic low density parity check coding
US11843394B2 (en) 2017-03-24 2023-12-12 Zte Corporation Processing method and device for quasi-cyclic low density parity check coding
US11588576B2 (en) 2017-05-04 2023-02-21 Huawei Technologies Co., Ltd. Data transmission method, base station, and terminal device
CN108809487A (en) * 2017-05-04 2018-11-13 华为技术有限公司 Method, base station and the terminal device of transmission data
CN111416625B (en) * 2017-06-15 2021-03-23 华为技术有限公司 Information processing method and communication device
US11611356B2 (en) 2017-06-15 2023-03-21 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US11296726B2 (en) 2017-06-15 2022-04-05 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
CN111416625A (en) * 2017-06-15 2020-07-14 华为技术有限公司 Information processing method and communication device
US11996863B2 (en) 2017-06-15 2024-05-28 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US11277153B2 (en) 2017-06-27 2022-03-15 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US11671116B2 (en) 2017-06-27 2023-06-06 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
US12047096B2 (en) 2017-06-27 2024-07-23 Huawei Technologies Co., Ltd. Method and apparatus for low density parity check channel coding in wireless communication system
WO2019029690A1 (en) * 2017-08-11 2019-02-14 华为技术有限公司 Communication method and device
US11368241B2 (en) 2017-08-11 2022-06-21 Huawei Technologies Co., Ltd. Communication method and communications apparatus

Also Published As

Publication number Publication date
WO2012037749A1 (en) 2012-03-29
CN102412842B (en) 2016-06-15

Similar Documents

Publication Publication Date Title
CN102412842B (en) The coded method of a kind of low density parity check code and device
US8185797B2 (en) Basic matrix, coder/encoder and generation method of the low density parity check codes
US8782499B2 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
JP4602418B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, encoder, and decoder
RU2341894C2 (en) Device and method of encoding/decoding discharged even-parity check with variable block length
AU2005239662B2 (en) Method and apparatus for generating a low-density parity check code
CN102638274B (en) Operate the Apparatus and method for of transmitter using the structured LDPC design of vector line packet
CN102714504B (en) Transmit and receive the method and apparatus of data in a communications system
US8656244B1 (en) Rate adaptive nonbinary LDPC codes with low encoding complexity
US7757150B2 (en) Structured puncturing of irregular low-density parity-check (LDPC) codes
US9432052B2 (en) Puncture-aware low density parity check (LDPC) decoding
JP2012231474A (en) Ldpc encoding and decoding of packets of variable sizes
CN101796488A (en) Generation of parity-check matrices
CN112583419B (en) Decoding method and device
RU2743857C1 (en) Method and equipment for designing for quasicyclic rare parity control
CN101373976A (en) Method and equipment for generating LDPC check matrix
CN104106230B (en) A kind of method and device for data transfer
US9379847B2 (en) Method and apparatus for transmitting and receiving in a communication/broadcasting system
KR102635532B1 (en) Method and apparatus for transmitting and receiving a signal using polar coding in a communication system
KR102482110B1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
WO2018126914A1 (en) Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium
CN116054844B (en) Check matrix construction method, system, electronic equipment and computer storage medium
KR20180122911A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR20190000768A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR20180071923A (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160615

Termination date: 20190925