WO2009079891A1 - Procédé de codage, dispositif de codage, procédé de décodage et dispositif de décodage pour code de matrice de générateur basse densité - Google Patents

Procédé de codage, dispositif de codage, procédé de décodage et dispositif de décodage pour code de matrice de générateur basse densité Download PDF

Info

Publication number
WO2009079891A1
WO2009079891A1 PCT/CN2008/000378 CN2008000378W WO2009079891A1 WO 2009079891 A1 WO2009079891 A1 WO 2009079891A1 CN 2008000378 W CN2008000378 W CN 2008000378W WO 2009079891 A1 WO2009079891 A1 WO 2009079891A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
code
length
row
column
Prior art date
Application number
PCT/CN2008/000378
Other languages
English (en)
French (fr)
Inventor
Jin Xu
Jun Xu
Zhifeng Yuan
Yuanli Fang
Song Li
Liujun Hu
Original Assignee
Zte Corporation
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 Corporation filed Critical Zte Corporation
Priority to EP08714836A priority Critical patent/EP2228909A4/en
Priority to KR1020107014998A priority patent/KR101248991B1/ko
Priority to JP2010536306A priority patent/JP5216099B2/ja
Priority to US12/746,181 priority patent/US8370700B2/en
Publication of WO2009079891A1 publication Critical patent/WO2009079891A1/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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

Definitions

  • the present invention relates to the field of communications, and in particular, to a coding method and apparatus for low-density generation matrix codes, and a decoding method and apparatus.
  • BACKGROUND OF THE INVENTION Erasing a channel is an important channel model. For example, when files are transmitted over the Internet, they are based on packet communication. Usually, each packet is received by the receiving end without error, or is not received by the receiving end at all.
  • TCP Transmission Control Protocol
  • the network packet loss is the error detection retransmission mechanism, which uses the feedback channel from the input to the output to control the packets that need to be retransmitted.
  • the receiving end When the receiving end detects the packet loss, it generates a retransmission control signal until the complete data packet is correctly received. When the receiving end receives the data packet, it also generates a reception confirmation signal. The sender also tracks each packet until it receives a feedback signal that is fed back, otherwise it will resend.
  • the data broadcast service based on the flow mode and the file download mode is a point-to-multipoint service, and feedback is not allowed.
  • the traditional error detection and retransmission mechanism cannot be used, and forward error correction (FEC) is required to ensure Reliable transmission.
  • the classic application layer FEC includes RS code (Reed-Solomon codes) and digital fountain code (Fou taip bodes)'.
  • the code of the RS code has a high complexity, and is generally only suitable for small code lengths.
  • the LT code's (Luby Transform codes) and Raptor codes are two practical digital fountain codes.
  • the code has a linear encoding and decoding time, which is an essential improvement over the RS code.
  • the Raptor code uses precoding. Technology, therefore, has higher coding efficiency.
  • the Raptor code is used as the FEC coding scheme in 3GPP's Multimedia Broadcast I Multicast Service (MBMS) and Digital Video Broadcasting (DVB).
  • MBMS Multimedia Broadcast I Multicast Service
  • DVD Digital Video Broadcasting
  • Low Density Generator Matrix Codes is a linear block code whose non-zero elements in the generator matrix are usually sparse. At the same time, LDGC is also a system code.
  • the square matrix composed of the first k columns in the generator matrix is usually an upper triangular or lower triangular matrix.
  • the matrix inversion can be completed by iterative method.
  • the coding of LDGC uses the correspondence between information bits and intermediate variables in the system code to first find the intermediate variable, and then multiply it by the intermediate variable.
  • the encoded codeword is obtained by generating a matrix.
  • the decoding process of LDGC is to first obtain the intermediate variable by using the generator matrix, and then find the information bit according to the transformation relationship between the information bit and the intermediate variable.
  • the coding complexity of LDGC is much lower than that of Raptor code. It can support arbitrary information packet length and arbitrary code rate coding. It is similar to Raptor code in performance and can approach theoretical optimal performance.
  • the LT code does not support the coding method of the system code, so the LT code is difficult to meet some actual FEC coding requirements; the Raptor code supports the system code, but the Raptor code needs to be separate.
  • the precoding process that is, a precoding matrix is required, so the coding complexity is high, and the LDGC code directly uses the generator matrix coding, and no additional precoding matrix is needed, and the LDGC coding uses the back generation method to solve the upper triangle ( Or lower triangle equation, so the coding complexity is much lower than the Raptor code.
  • the advantage of LDGC over LT codes is that it supports system code; the advantage of LDGC over Raptor codes is that the coding complexity is lower.
  • the length K obtains the length L of the intermediate variable, where mod ifyQ represents the rounding correction, and the correction method is rounding up, rounding down, or rounding round, a is a positive rational number slightly larger than 1.
  • the number of rows of the base matrix is an integer greater than 2, and the number of columns of the base matrix " 6 is an integer greater than or equal to 1.
  • the generator matrix G ldgc is obtained by increasing the column weight of the specific column of the uncorrected generator matrix G'.
  • the apparatus for encoding a low-density generation matrix code includes: an output matrix storage unit for storing a low-density generation constructed by P low-density generation matrix codes of different code lengths of P code rates R 0
  • the unified basic matrix of the matrix code mother code set where is the number of rows of the basic matrix, " 6 is the number of columns of the basic matrix; and the matrix parameter calculation unit is used to generate the information to be encoded according to the low density to generate the matrix code code set.
  • the relationship between the length K of the bit sequence and the length L of the intermediate variable, the length L of the intermediate variable is calculated, and the length L of the intermediate variable and the base matrix are used.
  • 3 P18170 The number of rows k b is used to calculate the spreading factor z k for processing the matrix, and the base matrix is modified and extended by the expansion factor z k to obtain the generator matrix 0 1 £ ⁇ ; LK known bits are added in the information bit sequence to be encoded to generate an information bit sequence m of length L; a precoding unit for using according to the formula Ix G
  • dgc (1: L, l: L) m, Obtaining an intermediate variable I by using a square matrix G ldgc (1:L, 1:L) composed of L rows and L columns of the generation matrix and an information bit sequence m of length L; a block code coding unit for utilizing a generator matrix A matrix G ldgc ( 1:L, 1:N+LK ) composed of L rows and pre-N + LK columns encodes the intermediate variable to generate a first encoding result of length N + L -K; and a bit deleting unit, The LK known bits are deleted from the first coding
  • the number of rows k b of the base matrix obtains the expansion factor K t and is a set of spreading factors consisting of positive integers ⁇ ⁇ ⁇ ⁇ 2 1 of corpses greater than zero in the matrix code code set corresponding to the density of ⁇ ⁇
  • the matrix parameter calculation unit corrects the base matrix by using a spreading factor for processing the base matrix, and obtains the corrected base matrix G′ ⁇ , and uses the expansion factor for processing the basic matrix,
  • the base matrix after the ⁇ ⁇ is expanded to obtain a generator matrix G′ that is not positive, and then the generator matrix G′ that is not ⁇ is 1' ⁇ , and the generator matrix G ldgc is obtained .
  • the matrix parameter calculation unit corrects the uncorrected generation matrix G′ by increasing the column weight of the specific column of the uncorrected generation matrix G′.
  • the decoding method of the low-density generation matrix code includes the following steps: Step 1: Using the spreading factor used in the encoding process, the basic matrix G TM is modified and extended to obtain the reception generating matrix 6 1 (: , 1" 1 , 1" 2 , .. ); Step 2, filling L-K known bits in the encoded low-density generation matrix code through the erasure channel to obtain a low density to be decoded Generate matrix code COnc-r dCcCenCri], where i is a positive integer satisfying ⁇ / ⁇ N + —, L is the length of the intermediate variable used in the encoding process, and N is the number of the un-erased channel
  • the reception generation matrix retains the L line and the pre-N + L - K of the generation matrix used in the encoding process.
  • Step 3 includes the following steps: Step a, using Gaussian elimination method, generating the reception Matrix 1 (3 ⁇ 4( :(:,1 ⁇ 2,...1" performs row permutation, column permutation, and/or row elimination operations to obtain a matrix containing the upper triangular matrix of L*L; step b, Substituting and superimposing the low-density generation matrix code to be decoded according to the matrix containing the upper triangular matrix of L*L, replacing the intermediate variable used in the encoding process; and step c, solving the upper triangle according to the back-generation method The recursive equation obtains the received intermediate vector I.
  • the step a includes the following steps: selecting the "lightest weight row" and the jth row in the receiving generation matrix to perform row exchange; and selecting the j in the row-receiving receiving generation matrix The column of the first non-zero element of the row and the column j of the row of the received generation matrix after the row exchange; and the elimination of the element of the jth row and the jth column of the reception generation matrix after the column exchange using the row elimination method Deleting the non-zero element between the j+1th row and the last row in the jth column of the exchanged reception generation matrix.
  • the decoding device of the low density generation matrix code includes: a unit, a unified base matrix G A " m/ °TM for storing a low-density generation matrix code code set constructed of P low-density generation matrix codes of different code lengths of P code rates R c , wherein, Is the number of rows of the basic matrix, " 6 is the number of columns of the basic matrix; the matrix parameter calculation unit is used to correct and expand the base matrix G b u rm by using the expansion factor ⁇ used in the encoding process, and obtain the reception generation matrix G Ldgc (:, i ⁇ rz, ...! ⁇ ); a bit stuffing unit for filling L - K known bits in the encoded low density generation matrix code through the erasure channel, to obtain Decoded low density generator matrix code Where i is a positive integer satisfying ⁇ z' ⁇ N + -, L is the length of the intermediate variable used in the encoding process, and N is the length of the encoded low-
  • the length L of the variable and the number of rows of the base matrix ⁇ ⁇ obtain the expansion factor K and pass a positive integer greater than zero ⁇ " ⁇ ⁇ 2 ⁇ ⁇ ⁇ ⁇ *- ' in the matrix code code set corresponding to the low density.
  • the expansion factor set z e find the expansion factor with the following expansion factor to obtain the expansion factor Z k '. z k _ x ⁇ z, ⁇ z used in the encoding process k .
  • the matrix parameter calculation unit obtains the modified base matrix G 4 m ° diW by using the expansion factor used in the encoding process, and uses the expansion factor used in the encoding process to correct the basic matrix.
  • Performing an extension acquiring a ⁇ out generation matrix G, and then taking a L row corresponding to the base generation matrix G and a column corresponding to the sequence number of the low density generation matrix code to be decoded to generate a reception generation matrix, wherein the upper triangular matrix calculation unit passes Selecting the lightest row in the receive generation matrix to perform row exchange with the jth row, and the first non-zero element in the jth row in the row-receiving reception generation matrix and the row-received reception student
  • the jth column of the matrix is column-exchanged, and the row elimination is used to eliminate the j+th in the jth column of the column-received reception generation matrix by the element of the jth row and the jth column of the column-received reception generation matrix.
  • the square matrix G ldgc (1: L, 1) composed of the L row and the first L column of the reception matrix is received.
  • :L) is the upper left triangle or the lower left triangle matrix
  • the LK known bits are padded before the encoded low density generation matrix code through the erasure channel.
  • the L row and the first L column of the reception matrix are received.
  • L - K known bits are padded to generate the matrix code K by the encoded density of the erase channel. - after E bits, where E is the encoded low density generation matrix code that has not passed the erase channel, after erasing the channel
  • FIG. 1 is a schematic diagram of an upper and lower triangular basic matrix
  • FIG. 2 is a flowchart of an encoding method of an LDGC according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of an LDGC generating matrix according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of an LDGC generation matrix of an erased signal according to an embodiment of the present invention
  • FIG. 6 is a Gaussian elimination method in an LDGC according to an embodiment of the present invention.
  • FIG. 7 is a block diagram of an encoding apparatus of an LDGC according to an embodiment of the present invention
  • FIG. 8 is a block diagram of a decoding apparatus of an LDGC according to an embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The coding method of the LDGC code proposed by the present invention can adapt to different code lengths, is simple in expression, is conducive to standardization, and is beneficial to the storage of the basic matrix, thereby having greater versatility. Set this up
  • the generator matrix G of the LDGC code is ( ⁇ xz)x (N x matrix, which is composed of x N block matrices, each block matrix is a different power of the basic permutation matrix of zxz.
  • each block matrix can be uniquely identified, the power of the unit matrix can be represented by 0, and the zero matrix is generally represented by -1.
  • G * the fundamental matrix of G
  • G the extension matrix of G *.
  • z code length / column of the basic matrix
  • the number n b is called the spreading factor.
  • the matrix G can be extended by the following parameter z and a 2x4 base-out matrix G b :
  • the encoder of the LDGC of the present invention is uniquely generated by the base matrix G b , the spreading factor z, and the selected basic permutation matrix. If LDGC uses a basic matrix for each different spreading factor, then for each different code length, the LDGC codec needs to store a basic matrix. When the code length is long, it is necessary to store many matrixes. , this will cause problems with representation and storage. Therefore, when it is necessary to implement a variable code length, a low-density matrix code of a plurality of code lengths within a certain range of the same code rate
  • the corrected element value should be less than the expansion factor value at the code length.
  • correction algorithms for example, mod, scale+floor, or scale+round. Let 1 ⁇ be the base moment - 1 r ' g
  • the non-negative 1 element of the i-th row and the j-th column of the matrix ⁇ is the i-th row of the matrix G after the correction
  • the expansion factor corresponding to the current code length that is, the number of rows or columns of the block square matrix
  • Z max is the expansion factor corresponding to the maximum supported code length.
  • Mod is the modulo operation
  • L is the bottom rounding operation
  • Round is the rounding operation.
  • the low-density generation matrix code proposed by the invention is based on the LDGC mother code set of variable code length, and the coding code of the matrix code of the arbitrary code length and low density is realized by the operation of the correction and expansion by a unified basic matrix.
  • the method includes the following steps:
  • Ff is a certain integer equal to 1) is the number of rows in the ftli matrix. As shown in Figure 1, the base matrix 1 ⁇
  • the method of increasing the column weight may be to replace some of the columns in G' by some additional heavier columns, or by adding other columns in G' to the columns, or The number of elements 1 is directly increased in these columns, and is not limited to these three methods, but it must be ensured that the square matrix formed by the final generation matrix G ldg ⁇ L row and the former L column is still an upper triangle or a lower triangle. matrix.
  • the spreading factor of the mother code set is 1
  • zeZset ⁇ z min :l:z max ⁇
  • the code base rate 1/3 of the mother code set of the unified base matrix GT if " m is shown below:
  • the first column to the z kth column of G' are also corrected, so that there are partial columns in the first column to the z kth column in G'
  • the column weight is 2
  • the modified matrix G ldgc is composed of many z k * z k
  • the square matrix is composed; as shown in Fig. 3 (where black dots indicate element 1, and blank positions indicate element 0).
  • FIG. 4 a decoding method of an LDGC according to an embodiment of the present invention will be described.
  • the method shown in Fig. 4 is to decode the information bit stream having the output length K to the subsequent processing unit for the information bit signal stream after the erasing channel. After the erased channel is set, E bits of the first K bits are erased.
  • the method includes the following steps:
  • the specific method refers to the corresponding step in the encoding method.
  • S404 the received bit signal stream of the erased channel is filled with LK known bits to form a decoder Input signal stream
  • i is a positive integer and L ⁇ i ⁇ N + L - K.
  • LK known bits are used for the L rows of the generator matrix used in the encoding process.
  • LK padding bits are added after the K-th bits in the received bit signal stream. It should be noted that the position of the padding bits is not limited to this.
  • the process of calculating the intermediate vector I includes the following steps: using a special Gaussian elimination method, generating an upper triangular matrix of L*L in the matrix G ldgc (:, r, r 2 , ... ri); Row permutation and row elimination operations of a matrix containing an upper triangular matrix of L*L, performing permutation and superposition of received codewords; according to an upper triangular matrix including L*L
  • the process of generating a matrix containing the upper triangular matrix of L*L by using a recursive method comprises the following steps: selecting G ldgc Bank weight
  • the lightest row is exchanged with the jth row; the column of the first non-zero element in the jth row is sorted with the column j of the matrix; the row elimination method is used, and the jth is used.
  • the element of row j eliminates the non-zero element between the j+1th row and the last row in column j. If the matrix containing the upper triangular matrix of L*L cannot be produced in the end, it means that the solution equation fails.
  • the replacement and superposition of the received codewords are performed; the permutation of the intermediate variables is performed according to the column permutation operation of the matrix.
  • the encoding apparatus includes: a base matrix storage unit 702, a bit stuffing unit 704, a precoding unit 706, a matrix parameter calculation unit 708, a block code encoding unit 710, and a bit deleting unit 712.
  • the basic matrix storage unit is configured to store the unified base matrix G b u " iform of k b X n h , and output the basic matrix to the matrix parameter calculation unit.
  • the row of the basic matrix, the square matrix of the front column G7 /orm (l : k b , l: k b ) is an upper triangular or lower triangular matrix.
  • the bit stuffing unit is used to add LK known bits to the information bit signal stream of length K that needs to be encoded, and generate information of length L.
  • the bit signal stream m and outputs m to the precoding unit.
  • the matrix G ldge (1: L, 1: L) and the information bit signal stream m of length L generate an intermediate variable I, and output I to the block code encoding unit.
  • the matrix parameter calculation unit is required to generate the block code encoding unit
  • K determines that the elements in z' and ⁇ et have the following size relationship z *-, ⁇ z , ⁇ z k , where z * is the adjacent element in Zret, which is the expansion factor that needs to be output; based on the unified out matrix And the expansion factor ⁇ , according to a specific correction algorithm, the corrected ⁇ M matrix G d' can be obtained; the expansion factor ⁇ is used to expand G ⁇ 1 to obtain the generator matrix G', and the Lz k column of the G' to the L+z The k column is corrected to increase the column weight of G' (:, Lz k : L+z k ) (ie, increase the number of elements 1 in the column), and the modified matrix is G ldgc ; the matrix G ldgc will be generated ( 1: L, 1:N+LK), spreading factor, matrix size parameter: L, N input to the block coding unit, bit stuffing unit and bit deleting unit.
  • the block code encoding unit is configured to encode the information packet according to the matrix and parameters generated by the matrix parameter calculation unit, generate a code word, and output the code word to the bit deletion unit.
  • the bit deleting unit is configured to delete the originally filled LK known bits in the encoded codeword, and output the K codewords obtained after the deletion.
  • the decoding apparatus includes: a base matrix storage unit 802, a bit stuffing unit 804, a matrix parameter calculation unit 806, an upper triangular matrix calculation unit 808, an intermediate variable calculation unit 810, a block code decoding unit 812, and Bit deletion unit 814.
  • the base matrix storage unit is configured to store a unified base matrix of k b xn b and output the base matrix to the matrix parameter calculation unit.
  • the bit stuffing unit is configured to fill the received bit signal stream of the erased channel with LK known bits to form an input signal stream of the decoder Where i is a positive integer and L ⁇ i ⁇ N + L - K.
  • K is the size relationship Z " ⁇ Z ' ⁇ , where ⁇ - ⁇ , ⁇ * is the adjacent element in Z ⁇ t, which is the expansion factor that needs to be output; based on the unified base matrix G ⁇ °TM and the spreading factor z k , according to a specific correction algorithm, the corrected base matrix G 6 M can be obtained. di fe / ; The expansion factor is used to extend GT ⁇ to obtain the generation matrix G, and the L rows of the generation matrix and the received bit signal stream are obtained.
  • the column corresponding to the sequence number constitutes a matrix G ld g C Input to the upper triangular matrix calculation unit; input the generation matrix G LDGC ( 1 :L, 1 :N+LK:), the expansion factor to the block coding unit, and input the matrix size parameters K, L, N to the bit stuffing unit and the bit Delete the unit.
  • the upper triangular matrix calculation unit is used to generate an upper triangular matrix of L*L in G LDGC (: , ⁇ , ⁇ ⁇ 2 , ... ,, and output to the intermediate variable calculation unit.
  • first select G LDGC (j ⁇ A,...! ⁇
  • the weight of the line (the number of elements in the line)
  • the lightest line is exchanged with the jth line; the first line of the jth line
  • the intermediate variable calculation unit is used according to (l : L, r,, r 2 , ... ri), solve the upper triangular equation by the back-generation method to obtain the intermediate vector I of 1 * L.
  • the bit deleting unit is configured to delete a certain number of codeword bits in the encoded codeword, and output the K codewords obtained after the deletion.

Description

低密度生成矩阵码的
编码方法和装置、 及译码方法和装置 技术领域 本发明涉及通信领域,更具体地涉及一种低密度生成矩阵码的编码方法 和装置、 及译码方法和装置。 背景技术 擦除信道是一种重要的信道模型。 例如, 当文件在因特网上传输时, 是 基于数据包通信的, 通常每个数据包要么无差错地被接收端接收, 要么根本 就没有被接收端接收到。 在传输控制协议 ( Transmission Control Protocol, 简 称 TCP ) 中, 针对网络丟包的做法是检错重发机制, 即利用输入端到输出端 的反馈信道控制需要重新传送的数据包。 当接收端检测到丟包时, 产生一个 重新发送控制信号, 直到正确接收到完整数据包; 而当接收端接收到数据包 时, 同样要产生一个接收确认信号。 发送端也会跟踪每一个数据包直到接收 到反馈回来的告知信号, 否则就会重新发送。 基于流模式和文件下载模式的数据广播业务是点到多点的业务,不允许 反馈, 传统的检错重发机制无法使用, 需要使用前向纠错 (Forward Error Correction, 筒称 FEC ) 来保证可靠传输。 经典 应用层 FEC 包括 RS 码 ( Reed-Solomon codes )和数字喷泉码( Fou taip bodes ) '等 RS码的编译码 复杂度较高,一般只适用于码长比较小的情 。 LT码'( Luby Transform codes ) 和 Raptor码是两种可实际应用的数字喷泉码 £Τ码具有线性的编码和译码 时间, 相对于 RS码有着本质的提高, 而 Raptor码由于采用了预编码技术, 因此具有更高的译码效率。 在 3GPP 的组播广播多媒体业务 (Multimedia Broadcast I Multicast Service, 简称 MBMS )以及数字视频广播 ( Digital Video Broadcasting, 筒称 DVB ) 中都采用了 Raptor码作为其 FEC编码方案。 低密度生成矩阵码( Low Density Generator Matrix Codes, 简称 LDGC ) 是一种线性分组码, 其生成矩阵中的非零元素通常是稀疏的。 同时, LDGC 还是一种系统码, 它的生成矩阵中的前 k列组成的方阵通常是一个上三角或 下三角矩阵, 该矩阵求逆可以通过迭代的方法完成。 LDGC的编码是利用系 统码中信息位与中间变量的对应关系先求出中间变量, 然后再用中间变量乘
1 P18170 以生成矩阵得到编码后的码字。 LDGC的译码过程是先利用生成矩阵求得中 间变量, 然后才艮据信息位和中间变量的变换关系求出信息位。 LDGC的编码 复杂度远低于 Raptor码, 可以支持任意信息分组长度和任意码率编码, 在性 能上与 Raptor码类似, 都能接近理论最优性能。 同结构化低密度生成矩阵码 (LDGC码)相比, LT码不支持系统码的 编码方式, 因此 LT码难以满足某些实际的 FEC编码需求; Raptor码支持系 统码, 但是 Raptor码需要单独的预编码过程, 即需要一个预编码矩阵, 因此 编码的复杂度较高, 而 LDGC码是直接利用生成矩阵编码, 不需要另外的预 编码矩阵, 且 LDGC编码时利用了回代法求解上三角 (或下三角)方程, 因 此编码复杂度远低于 Raptor码。 总而言之, 同 LT码相比 LDGC的优势是支 持系统码; 同 Raptor码相比 LDGC的优势是编码复杂度更低。 发明内容 鉴于以上所述的一个或多个问题,本发明提供了一种结构化低密度生成 矩阵码的编码方法。 根据本发明实施例的低密度生成矩阵码的编码方法, 包括以下步骤: 步 骤一, 利用 个码率为 ^的、 不同码长的低密度生成矩阵码构建低密度生成 矩阵码母码集, 其中, 低密度生成矩阵码母码集具有统一的 出矩阵 G ™ , 1^ = ^ , 是 出矩阵的行数, 《6是基础矩阵的列数; 步骤二, 根据低密度 生成矩阵码母码集中的待编码的信息比特序列的长度 K与中间变量的长度 L 之间的关系, 获取中间变量的长度 L; 步骤三, 利用中间变量的长度 L和基 础矩阵的行数 kb获取用于对基石出矩阵进行处理的扩展因子 zk, 并利用扩展因 子 对基础矩阵进行修正和扩展, 以获取生成矩阵 Gldg(;; 以及步骤四, 利用 生成矩阵的 L行和前 N + L - K列组成的矩阵 GIdgc ( 1 :L, 1 :N+L-K )对待编 码的信息比特序列进行编码。 其中, 在步骤二中, 通过公式 = mod ¾ a x + 6) , 利用待编码的信息 比特序列的长度 K获取中间变量的长度 L , 其中, mod ifyQ表示取整修正, 修正的方法是向上取整、 向下取整、 或舍入取整, a是略大于 1的正有理数,
2 P18170 b是正整数。 其中, 步骤三包括以下步骤: 步骤 a, 通过公式 z,= , 利用中间变量 的长度 L和基础矩阵的行数 获取扩展因子 ,,并在对应于低密度生成矩阵 码母码集的、 由 尸个大于零的正整数 ζι < Ζ2 << ζ*- 1 构成的扩展 因子集合 Ze,中找出与扩展因子 有如下关系的、 用于对 ^出矩阵进行处理 的扩展因子 : zk^<zt≤zk; 步骤 b, 利用用于对基石出矩阵进行处理的扩展 因子 , 对基础矩阵进行修正,
Figure imgf000005_0001
步骤 c, 利 用用于对基础矩阵进行处理的扩展因子 , 对爹正后的基础矩阵进行扩展, 获取未修正的生成矩阵 G'; 以及步骤 d , 对未修正的生成矩阵 G'进行修正, 获取生成矩阵 Gldgc。 其中, 步骤四包括以下步骤: 步骤 e, 将 L-K个已知比特添加到待编码 的信息比特序列中, 生成长度为 L的信息比特序列 m; 步骤 f, 根据公式 I G,dgc (1: L,l :L) = m,利用生成矩阵的 L行、前 L列组成的方阵 Gldgc (1:L,1:L) 和长度为 L的信息比特序列 m获取中间变量 I, 并根据公式 C = I X Gldgc, 利 用生成矩阵的 L行和前 N + L - K列组成的矩阵 Gldgc ( 1:L, 1:N+L-K ) 对中 间变量进行编码, 生成长度为 N + L- K的第一编码结果; 以及步骤 g, 从长 度为 N + L- K的第一编码结果中删除 L-K个已知比特, 生成长度为 L的 第二编码结果。 其中, 基础矩阵的行数 是大于 2的整数, 基 矩阵的列数《6是大于 等于 1的整数。 在步骤 d中, 通过加大未修正的生成矩阵 G'的特定列的列重 量, 来获取生成矩阵 Gldgc。 根据本发明实施例的低密度生成矩阵码的编码装置, 包括: ^出矩阵存 储单元, 用于存储由 P个码率为 R0的、 不同码长的低密度生成矩阵码构建的 低密度生成矩阵码母码集的统一的基础矩阵 其中, , 是基 础矩阵的行数, 《6是基础矩阵的列数; 矩阵参数计算单元, 用于根据低密度 生成矩阵码母码集中的待编码的信息比特序列的长度 K与中间变量的长度 L 之间的关系, 计算中间变量的长度 L, 利用中间变量的长度 L和基础矩阵的
3 P18170 行数 kb计算用于对^出矩阵进行处理的扩展因子 zk, 并利用扩展因子 zk对基 础矩阵进行修正和扩展计算, 以获取生成矩阵0^; 比特填充单元, 用于将 L-K个已知比特添加在待编码的信息比特序列中, 以生成长度为 L的信息 比特序列 m; 预编码单元, 用于根据公式 Ix G|dgc (1: L,l:L) = m, 利用生成 矩阵的 L行、前 L列组成的方阵 Gldgc (1:L,1:L)和长度为 L的信息比特序列 m 获取中间变量 I; 分组码编码单元, 用于利用生成矩阵的 L行和前 N + L-K 列组成的矩阵 Gldgc ( 1:L, 1:N+L-K )对中间变量进行编码, 生成长度为 N + L -K的第一编码结果; 以及比特删除单元, 用于从长度为 N + L- K的第一 编码结果中删除 L-K个已知比特, 生成长度为 L的第二编码结果。 其中, 基础矩阵的 行、前 列组成的方阵 G (1: 1: 为上三角或下三角矩阵。 其中, 矩阵参数计算单元通过公式 z, =— , 利用中间变量的长度 L和基
K
础矩阵的行数 kb获取扩展因子 Kt,并通过在对应于^ ί氏密度生成矩阵码母码集 的、 由 尸个大于零的正整数 ζι <Ζ2 1 构成的扩展因子集合
Zsel中找出与扩展因子 有如下关系的扩展因子来获取用于对 出矩阵进行 处理的 : , < z, ≤ ^。 其中,矩阵参数计算单元通过利用用于对基础矩阵进行处理的扩展因子 , 对基础矩阵进行修正, 获取修正后的基础矩阵 G '^, 利用用于对基础 矩阵进行处理的扩展因子 , 对^ ί'爹正后的基础矩阵进行扩展, 获取未 4爹正的 生成矩阵 G', 然后对未爹正的生成矩阵 G'进行 1'爹正, 获取生成矩阵 Gldgc。 其中, 矩阵参数计算单元通过加大未修正的生成矩阵 G'的特定列的列 重量来对未修正的生成矩阵 G'进行修正。 根据本发明实施例的低密度生成矩阵码的译码方法, 包括以下步骤: 步 骤一, 利用编码过程中使用的扩展因子 , 对基础矩阵 G ™进行修正和扩 展, 获取接收生成矩阵61 (:,1"1,1"2,.. ); 步骤二, 将 L- K个已知比特填充 在通过擦除信道的编码后的低密度生成矩阵码中, 以获取将进行译码的低密 度生成矩阵码 COnc-r dCcCenCri],其中, i是满足 ≤/≤N + — 的 正整数, L是编码过程中使用的中间变量的长度, N是未通过擦除信道的编
4 P18170 码后的低密度生成矩阵码的长度, K是编码前的低密度生成矩阵码的长度; 步骤三, 根据公式 C (:, ^^r^I* Gldgc (:, r,,r2,...ri), 利用接收生成矩阵和将 进行译码的低密度生成矩阵码获取 I *L的接收中间向量 I; 步骤四, 根据公 式 I* Gldgc (1 :L,1 :L) = m ,利用接收生成矩阵的 L行、前 L列组成的方阵 G,dgc (1 :L,1 :L)和接收中间向量获取长度为 L的译码结果 m; 以及步骤五, 从长度 为 L的译码结果 m中删掉 L - K个已知比特, 获取长度为 K的译码结果。 其中, 接收生成矩阵保留了编码过程中使用的生成矩阵的 L行、 前 N + L - K列组成的矩阵 Gldgc ( 1 :L,1 :N+L-K ) 中的所有非擦除位置序号所对应 的列向量。 其中, 步骤三包括以下步骤: 步骤 a, 利用高斯消去法, 对接收生成矩 阵 1(¾(:(:,1^2,...1" 进行行置换、 列置换、 和 /或行消去运算, 获取包含 L*L的 上三角矩阵的矩阵; 步骤 b, 根据包含 L*L的上三角矩阵的矩阵, 对将进行 译码的低密度生成矩阵码进行置换和叠加, 对编码过程中使用的中间变量进 行置换; 以及步骤 c, 根据回代法解上三角递归方程, 获取接收中间向量 I。 其中, 步骤 a包括以下步骤: 选择接收生成矩阵中的^"重量最轻的一行 与第 j行进行行交换; 将行交换后的接收生成矩阵中的第 j行的第一个非零 元素所在列和行交换后的接收生成矩阵的第 j 列进行列交换; 以及利用行消 去方法, 用列交换后的接收生成矩阵的第 j行第 j 列的元素消掉列交换后的 接收生成矩阵的第 j列中的第 j+1行和最后行之间的非零元素。 根据本发明实施例的低密度生成矩阵码的译码装置, 包括: 出矩阵存 储单元, 用于存储由 P个码率为 Rc的、 不同码长的低密度生成矩阵码构建的 低密度生成矩阵码母码集的统一的基础矩阵 GA"m/°™, 其中, , 是基 础矩阵的行数, 《6是基础矩阵的列数; 矩阵参数计算单元, 用于利用编码过 程中使用的扩展因子 ^ , 对基础矩阵 Gb u rm进行修正和扩展, 获取接收生成 矩阵 Gldgc (:, i^rz,...!^); 比特填充单元, 用于将 L - K个已知比特填充在通过 擦除信道的编码后的低密度生成矩阵码中, 以获取将进行译码的低密度生成 矩阵码
Figure imgf000007_0001
, 其中, i 是满足 ≤z'≤N + - 的正整 数, L是编码过程中使用的中间变量的长度, N是未通过擦除信道的编码后 的低密度生成矩阵码的长度, K是编码前的低密度生成矩阵码的长度; 上三 角矩阵计算单元, 用于利用高斯消去法, 对接收生成矩阵 Gldgc (: ,n,r2,...ri)进
5 P18170 行行置换、 列置换、 和 /或行消去运算, 获取包含 L*L的上三角矩阵的矩阵; 中间变量计算单元, 用于根据公式 C ^ru^I* Gldgc (: ,rl5r2,...ri), 利用包 含 L*L的上三角矩阵的矩阵和将进行译码的低密度生成矩阵码获取 1*L的接 收中间向量 I; 分组码译码单元, 用于才艮据公式 I* G,dgc (1: L, 1:L) = m, 利用 接收生成矩阵的 L行、前 L列组成的方阵 Gldgc (1:L,1:L)和接收中间向量获取 长度为 L的译码结果 m; 以及比特删除单元, 用于从长度为 L的译码结果 m 中删掉 L - K个已知比特, 获取长度为 K的译码结果。 其中, 矩阵参数计算单元通过公式 z, =―, 利用编码过程中使用的中间
K
变量的长度 L和基础矩阵的行数 Αύ获取扩展因子 K 并通过在对应于低密度 生成矩阵码母码集的、 由 Ρ 个大于零的正整数 ζ" <Ζ2 <*- ' * <〜Ρ构 成的扩展因子集合 ze,中找出与扩展因子 有如下关系的扩展因子来获取编 码过程中使用的扩展因子 Zk'. zk_x <z,≤zk。 其中, 矩阵参数计算单元通过利用编码过程中使用的扩展因子 对 基础矩阵进行修正, 获取修正后的基础矩阵 G4 m°diW, 利用编码过程中使用的 扩展因子 , 对修正后的基础矩阵进行扩展, 获取^ δ出生成矩阵 G, 然后取 基础生成矩阵 G的 L行和与将进行译码的低密度生成矩阵码的序号对应的列 生成接收生成矩阵。 其中,上三角矩阵计算单元通过选择接收生成矩阵中的 重量最轻的一 行与第 j行进行行交换, 将行交换后的接收生成矩阵中的第 j行的第一个非 零元素所在列和行交换后的接收生成矩阵的第 j 列进行列交换, 并利用行消 去方法, 用列交换后的接收生成矩阵的第 j行第 j列的元素消掉列交换后的 接收生成矩阵的第 j列中的第 j+1行和最后行之间的非零元素, 来获取包含 L*L的上三角矩阵的矩阵。 其中, 在接收生成矩阵的 L行、 前 L列组成的方阵 Gldgc (1:L,1:L)为左 上三角或左下三角矩阵的情况下, 将 L-K个已知比特填充在通过擦除信道 的编码后的低密度生成矩阵码之前。 在接收生成矩阵的 L行、 前 L列组成的 方阵 Gldgc (1:L,1:L)为右上三角或右下三角矩阵的情况下, 将 L - K个已知比 特填充在通过擦除信道的编码后的氏密度生成矩阵码的 K- E个比特之后, 其中, E是未通过擦除信道的编码后的低密度生成矩阵码通过擦除信道后,
6 P18170 前 K个码字中被擦除的码字的个数。 通过本发明, 可以提高低密度生成矩阵码的码长灵活性, 减小基础矩阵 的存储空降, 从而降低编译码的复杂度。 附图说明 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部 分, 本发明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的 不当限定。 在附图中: 图 1是上下三角基础矩阵的示意图; 图 2 是 居本发明实施例的 LDGC的编码方法的流程图; 图 3 是 居本发明实施例的 LDGC生成矩阵的示意图; 图 4是根据本发明实施例的 LDGC的译码方法的流程图; 图 5 是根据本发明实施例的经过擦除信号的 LDGC 生成矩阵的示意 图; 图 6 是 居本发明实施例的利用高斯消去法在 LDGC生成矩阵中产生 的右上三角矩阵的示意图; 图 7 是根据本发明实施例的 LDGC的编码装置的框图; 以及 图 8 是根据本发明实施例的 LDGC的译码装置的框图。 具体实施方式 本发明提出的 LDGC码的编码方法, 能够适应不同码长, 表述简单, 有利于标准化, 有利于基础矩阵的存储, 从而具有更大的通用性。 设这种
LDGC码的生成矩阵 G为(^ x z)x (N x 矩阵,它是由 x N个分块矩阵构成, 每个分块矩阵都是 z x z的基本置换矩阵的不同幂次。 当基本置换矩阵为单位 阵时,它们都是单位阵的循环移位矩阵(文中默认为右移)。具有如下的形式: 如果 = _1 , 则有 PG'; = 0 ; 如果 是大于或者等于 0 的整数, 则定义
P18170 P g' ■ (p) & 5
在这里 P 是一个 z x z的标准置换矩阵, 如下所示
0 1 0 0
0 0 1 0
P
0 0 0
1 0 0 通过这样的幂次 g"就可以唯一标识每一个分块矩阵, 单位矩阵的幂次 可用 0表示, 零矩阵一般用 -1来表示。 这样, 如果将 G的每个分块矩阵都用 它的幂次代替, 就得到一个 X 的幂次矩阵 。 这里, 定义 G*是 G的基础 矩阵, G称为 G*的扩展矩阵。 在实际编码时, z = 码长 /基础矩阵的列数 nb, 称为扩展因子。 例如,矩阵 G可以用下面的参数 z和一个 2x4的基出矩阵 Gb扩展得到:
z = 3 和
Figure imgf000010_0001
因此, 也可以说本发明的 LDGC的编码器是由基础矩阵 Gb、 扩展因子 z、 及所选择的基本置换矩阵唯一生成的。 如果对于每个不同的扩展因子, LDGC都采用一个基础矩阵, 那么, 对 于每个不同的码长, LDGC编译码器都需要存储一个基础矩阵, 当码长很多 时, 就要存储很多 ^出矩阵, 这样就会出现表示和存储的问题。 因此, 当需 要实现变码长的时候, 同一码率的一定范围内多种码长的低密度生成矩阵码
uniform
会使用统一形式的! ^出矩阵, 这里定义为统一基础矩阵 不同码长时, 若对" * 进行修正和扩展, 可以得到生成矩阵 G, 使得生成的编译码器可 适用于码长可变的场合。 修正是利用不同码长的扩展因子对基础矩阵 中的非负值进行修正,
8 P18170 修正后元素值应小于该码长下的扩展因子值。 修正算法有很多种, 例如, 可 以采用取模 (mod)、 取整 (scale+floor)、 或舍入 (scale+round)等。 设1^为基础矩 — 1 r ' g
阵^的第 i行第 j列的非负 1元素, 为修正以后的矩阵 G 的第 i行第
, N = Pv mod z≡ Ϋ0 mod― j 列的非负 1 元素, 则有: 对于^ ^莫 (mod)方法, "*; 对于取整 (scale+floor)方法,
Figure imgf000011_0001
;对于舍入 (scale+round)
Ρ,,
方法,
Figure imgf000011_0002
其中, 为当前码长对应的 扩展因子, 即分块方阵的行数或者列数; Zmax为最大支持码长对应的扩展因 子。 mod为取模操作, L 」为下取整操作 , Round为四舍五入操作。 本发明提出的低密度生成矩阵码是以可变码长的 LDGC母码集为 出, 由一个统一的基础矩阵通过修正、 扩展等操作, 实现任意码长低密度生成矩 阵码的编译码。 下面参考附图, 详细说明本发明的具体实施方式。 参考图 2 , 说明根据本发明实施例的 LDGC 的编码方法。 其中, 图 2 所示的方法是对长度为 K的信息比特信号流进行编码,然后输出长度为 N的 编码后的信息比特信号流给后续处理单元处理的过程。 其中, 校验位长度为 M=N-K, 码率为 r=K/N。 如图 2所示, 该方法包括以下步骤:
S202 , 确定一个特定码率 Ro的低密度生成矩阵码母码集的统一的基础 矩阵 G* 。 其中, 该低密度生成矩阵码母码集是由 P个码率为 Ro的、 不同 码长(N = z x , = z x yfcA )的低密度生成矩阵码构成。 其中, 1^ = ^ , 远小于 实际编码所需的码率。 Ζ· ^为扩展因子集合, 扩展因子 ζ可以是 Zye/中的任 何一个元素, ΖΪ 是由 个大于零的正整数 ^构成的 集合。 其中, nb (大于 2的确定整数)是基础矩阵 的列数, kb (大于
f f 等于 1的确定整数)是 ftli矩阵 的行数。 如图 1所示, 基础矩阵1^
9 P18170 的 行、 前 列组成的方阵 GA"m/°™(l:/tA,l:/tA)为特殊的上三角或下三角矩阵, 所有实际码率大于 Ro的 LDGC码都可以通过基础矩阵 Gb u"iform编码产生。
S204, 根据信息比特信号流的长度 K与中间变量的长度 L之间的关系 得到 L值。具体地,信息比特信号流的长度 K和中间变量的长度 L之间存在 一定的关系, 即 =1^1 (^^ + 6) , 其中, mod 表示取整修正, 修正的 方法可以是向上取整 (ceil)、 向下取整 ( floor )、 或者舍入 (round)取整。 其中, a是一个略大于 1的正有理数, b是一个正整数, 由此关系可以求得 L。
S206, 根据信息分组长度匹配, 确定扩展因子, 以根据扩展因子和基础 矩阵 GA"m。"", 确定编码所需要的参数和矩阵。 其中, 利用特定的扩展因子公 式 z, =丄确定扩展因子 ,确定 与 Zset中元素有如下关系 zk < z,≤ zk ,其中, κ
Figure imgf000012_0001
中大小相邻的元素, 编码所需的扩展因子是 。
S208, 基于统一的^出矩阵 (^"'。""和扩展因子 , 根据特定的修正算法
Figure imgf000012_0002
, 利用扩展因子 对 Gft mdiM进行扩展得 到未修正的生成矩阵 G'; 对 G'进行爹正, 4 正方法是加大某些列的列重量 (即增加列中元素 1 的个数), 得到最终的生成矩阵 Gldgc。 其中, 生成矩阵 GldgC的 L行和前 N+L-K列组成的矩阵 Gidge ( 1:L, 1:N+L-K) 即为编码所需 的 £阵。 需要指出的是,增大列重量的方法可以是通过另外产生的一些较重的列 来替换掉 G'中的某些列, 或者通过将 G'中的其他列累加到这些列中, 或者 在这些列中直接加大元素 1的个数, 且并不局限于这三种方法, 但必须保证 最终的生成矩阵 Gldg 々 L行、 前 L列构成的方阵仍然是一个上三角或下三 角矩阵。
S210, 在 出矩阵 G fl™的 行, 前 列组成的方 P半 ^ ""(ΙΑ,Ι: )为 左上三角或左下三角矩阵的情况下, 将 L-K个已知比特填充在需要编码的 Κ 比特的信息比特信号流(信息比特 s)之前, 生成长度为 L的新的信息比特
10 Ρ18170 信号流 m; 在 Gra""(l: J: 为右上三角或右下三角矩阵的情况下, 将 L-K 个已知比特填充在需要编码的 K比特的信息比特信号流(信息比特 s )之后, 生成长度为 L的新的信息比特信号流 m。 需要指出的是, 填充比特的位置并 不限于此。 S212, 由于 LDGC是系统码, 所以对填充后的信息比特信号流 m, 根 据 I X G,dgc (1: L,1:L) = m, 利用生成矩阵 Gldgc的 L行、 前 L列组成的方阵 Cage (1:L,1:L)和长度为 L的信息比特信号流 m生成中间变量 I
S214, 居 C = I X Gldgc , 利用生成矩阵 Gldgc对中间变量 I进行编码, 生成长度为 N+L-K的编码信号流。 S216, 从长度为 N+L-K的编码信号流中删除 L-K个已知比特, 生成长 度为 N的编码信号流。 下面以一个实际的例子来说明根据本发明实施例的低密度生成矩阵码 的编码方法。 - 首先, 对低密度生成矩阵码的母码集进行修正, 得到修正的 ^出矩阵。 一个码率为 Ro==l/3, 具有多个码长结构化的低密度生成矩阵码的母码集的统 一的基础矩阵大小为 x«ft =12x36,该母码集的扩展因子以 1为步长从 zmin=2 增加到 zmax=683,记做 zeZset = {zmin :l:zmax}。由于一个特定码长 N对应一个特 定扩展因子 z, 所以信息分组长度是以 为步长从 zminx 增加到 zmaxx 的, 记作 ^ {2 ></^: : 3^ } = {24:12:8196}。 码率 =1/3 的母码集的统一的 基础矩阵 G Tif"m 下所示:
Figure imgf000013_0001
11 P18170 0 255 -1 512 -1 -1 - 1 -1 -1 -1 - 1 -
- 1 0 658 - 1 -1 -1 422 447 -1 363 - 1 -
-1 -1 0 - 1 -1 623 -1 - 1 153 -1 - 1 -
-1 -1 - 1 0 628 291 -1 - 1 -1 461 -1 -
-1 -1 - 1 -1 0 -1 -1 227 -1 -1 -1 -
- 1 -1 -1 -1 -1 320 -1 -1 - 1 - 1 -
- 1 -1 -1 -1 -1 -1 0 -1 318 - 1 - 1 -
-1 -1 -1 -1 -1 -1 -1 -1 -1 - 1 -
-1 -1 -1 -1 -1 -1 -1 -1 0 198 -1 -
- 1 -1 -1 -1 -1 - 1 -1 -1 -1 0 -1 -
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -
-1 -l. 一 1 一 1 -1 -1 -1 -1 -1 一 1 -1 (
367 -1 -1 - 1 -1 580 285 -1 135 -1 593 302 - -1 520 626 -1
-1 -1 -1 -1 -1 -1 216 -1 410 272 -1 -1 -1 4
-1 - 1 131 -1 330 - 1 609 585 -1 -1 -1 6T9
- 1 -1 -1 -1 - 1 -1 168 -1 - 1 -
-1 183 - 1 42 150 -1 - 1 225 331 529 -
447 -1 -1 661 -1 -1 55 一 1 - 582 502 -1 429 -
-1 374 - 1 -1 -1 -1 464 - 478 - -1 一 -1 -1 545
460 -1 541 - 1 -1 -1 66 - 1 - -1 165
1 -1 -1 - 1 -1 - 1 364 661 - 56 -1
-1 -1 82 123 - 1 497 - 1 605 - 1 -1 176
-1 -1 -1 -1 327 231 69 - 242 - 1 - 1 -1 266
-1 661 -1 -1 -1 -1 168 11 133 14 - 332 一 1 一 一 1 一 1 一 1 389 -1 有一个 1 *K=1 *24的二进制信息比特数据流 s ( s用 16进制数可表示为 D8AB 13 )要通过根据本发明实施例的方法编码生成 72比特的 LDGC编码码 字, 所以有 Κ=24, Ν=72。 根据信息分组长度 Κ与中间变量长度 L之间的关系, 求得 L=48; 利用 特定的扩展因子公式 确定扩展因子 = ^ = 4, 可以确定2 '与 中元 素有如下关系 z^^ S z^ z^ ^ 其中, ^ ^是 中大小相邻的元素, 则 z = zk = 4就是编码需要的扩展因子。 为了实现 (ζ χ ^, ζ χ ^)低密度生成矩阵码的编译码,需要用如前所述的某
12 Ρ18170 个修正运算和扩展因子 Z来修正统一的基础矩阵。^。"", 得到修正后的基础 矩阵 G , 根据 G d和 z 就可以得到生成矩阵。 本实例采用了取整 ( Scale+floor )修正公式来修正统一的基础矩阵, 修正是对
Figure imgf000015_0001
的表示非零 方 阵 的 元 素 (g,/) 进 行 的 , 这 里 z =683
Figure imgf000015_0002
通过对上述的 Gu b " 4爹正, 可以得到^ ί氏密度生成矩阵码对应的" ί' ·正基础 矩阵, 如下所示:
G modified一
b =
利用扩展因子 ^对^""^ 进行扩展得到 L*(N+L-K)的生成矩阵 G', 对
G'的第 L-zk=44列到第 L+ zk=48列进行修正, 加重 G' (:, L-zk:L+ zk)6々列重量
(即增力 π列中元素 1 的个数;); 同时, 对 G'的第 1列到第 zk列也进行修正 , 使得 G'中第 1 列到第 zk列中有部分列的列重量为 2, 修正后的矩阵为 Gldgc ( 1 :L, 1: N+L-K)=Gidgc (1:48,1:96),修正后的矩阵 Gldgc是由许多 zk* zk的方块阵 构成; 如图 3所示 (其中, 黑点表示元素 1, 空白位置表示元素 0)。 因为基础矩阵 G ™的 行, 前 列组成的方阵 ^ ""(Ι^,Ι: )是一个 右上三角矩阵, 所以在输入信息流 s后面添加 d=L-K=24个已知填充比特 p ( p用 16进制可表示为 9A0C2C ), 生成 1*L=1*48的信息比特流 m ( m用 16进制可表示为 D8AB139A0C2C )。 才艮据 LDGC 是系统码的特点 (由于 LDGC 码是系统码, 所以有 IxG^c(l:48,l:48) = m ), 利用 Gldgc (1 :L,1 :L)=Gldgc (1 :48,1 :48)是一个右上三角 矩阵,对填充后的 1*L=1*48的信息比特流 m进行解方程计算,求出 1*L=1*48 的中间变量 I ( I用 16进制可表示为 942DA94E0A24 )。 才艮据 c = Ix Gldgc , 对输入的中间变量 I进行编码, 生成 1 *(N+d)=l *96的 二进制码字 c ( c用 16进制可表示为 D8AB139A0C2CCD3AC516ED52 )。
4夸添加的 d=24个填充比特从 l*(N+d)=l*96的二进制码字 c中删除,最 终得到 N=72比特的编码码字(用 16进制可表示为 D8AB13CD3AC516ED52 ) 发送出去。 参考图 4, 说明根据本发明实施例的 LDGC的译码方法。 如图 4所示的 方法是对于经过擦除信道后的信息比特信号流,译码输出长度为 K的信息比 特信号流给后续处理单元。 设经过擦除信道后, 前 K个比特中有 E个比特被 擦除。 如图 4所示, 该方法包括以下步骤:
S402, 对基础矩阵 进行修正和扩展, 得到接收生成矩阵 Gldgc
(:,!^,!^...!^。 其中, 具体方法参照编码方法中的相应步骤。 S404, 对经过擦除信道的接收比特信号流, 填充 L-K个已知比特, 组 成译码器的输入信号流
Figure imgf000016_0001
其中, i是一正整数且 L<i<N + L— K。 其中, 对在编码过程中使用的生成矩阵的 L行, 前 L列组 成的方阵 Gldgc(l:L,l:L)为左上三角或左下三角矩阵的情况下,将 L-K个已知 比特填充到接收比特信号流之前; 在编码过程中使用的生成矩阵的 L行, 前 L列组成的方阵 Gldgc (1:L,1:L)为右上三角或右下三角矩阵的情况下, 将 L-K 个填充比特添加到接收比特信号流中第 K - E个比特之后。 需要指出的是, 填充比特的位置并不限于此。
S406, 根据 C (: , ,Γ2,·..η)=Ι* Gldgc Cruui), 解方程, 得到 1*L的中间 向量 I。 其中, Gldgc (:, ,ι^.,.η)表示的是与接收到的信息比特相对应的接收生 成矩阵 Gldgc (:, Γ,,Γ2,... ), 该矩阵保留了编码过程中使用的生成矩阵 Gldgc ( 1:L,1:N+L-K)中的所有非擦除位置序号所对应的列向量。 具体地, 计算中 间向量 I的过程包括以下步骤:利用特殊的高斯消去法,在矩阵 Gldgc (:, r,,r2,...ri) 中产生一个 L*L的上三角矩阵;根据包含 L*L的上三角矩阵的矩阵的行置换 和行消去运算, 进行接收码字的置换和叠加; 根据包含 L*L的上三角矩阵的
14 P18170 矩阵的列置换运算, 进行中间变量的置换; 利用回代法解上三角递归方程, 最终得到中间变量 I。 其中, 利用高斯消去法, 采用递归的方法产生包含 L*L 的上三角矩阵的矩阵的过程包括以下步骤: 选择 Gldgc
Figure imgf000017_0001
中行重量
(行中元素 1 的个数) 最轻的一行与第 j行进行行交换; 将第 j行第一个非 零元素所在列和矩阵第 j列进行列交换; 采用行消去方法, 用第 j行第 j列的 元素消掉第 j列中第 j+1行和最后行之间的非零元素。 其中, 如果最终无法 产生包含 L*L的上三角矩阵的矩阵, 则表示解方程失败。
S408 , 根据 I* G,dgc (1 :L:,1 :L) = m, 编码得到长度为 L的信号流 m。
S410, 删掉填充的 L-K个已知比特, 得到长度为 K的所需信息比特。 下面以一个实际的例子来说明 居本发明实施例的^ ί氏密度生成矩阵码 的译码方法。 首先, 对低密度生成矩阵码的母码集进行修正与扩展, 修正和扩展的方 法与编码相同, 所得到 正后的基础矩阵以及扩展后的生成矩阵与编码时相 同。 对特定码率 Ro=l/3 , 信息分组长度 K=24的码字译码, 在译码端所用的 基础矩阵 G^^ 和生成矩阵 Gldgc与编码端相同。 有一个信息分组长度 K=24的二进制比特流 c'经过擦除信道后到达译码 端, c'用 16进制可表示为 D(X)AB13CD3(X)C516ED52, 其中, (X)表示该位 置上的比特被擦除, 在 K=24个信息分组比特中有 E=4个比特被擦除, 擦除 位置是第 5、 6、 7、 8位。 由于 GA m°d! ¾i/是一个右上三角矩阵, 所以在第 K-E-20 位后添加 L-K=24个已知比特构成新的接受码字流 c,用 16进制可以表示为 c=DAB 139A0C2CCD3C516ED52, [r,,r2,...ri]=[l :4, 9:36, 41 :96] , 译码解中间变 量使用的相对应的生成矩阵为 G'ldgc=Gldgc(l :L, [Γι2,...η])= Gldgc(l :48, [1 :4, 9:36, 41 :72])。 利用高斯消去法在 G'ldgc中产生一个 L*L=48*48的右上三角矩阵(图 5 和图 6分别表示进行特殊高斯消去法前和进行特殊高斯消去法后的生成矩阵 G'ldgc的形式), 同时根据矩阵的行置换和行消去运算, 进行接收码字的置换 和叠加; 根据矩阵的列置换运算, 进行中间变量的置换。 利用回代法解上三角方程, 得到中间变量 I=942DA94E0A24 , 根据 I*
G,dgc (1 :L:,1 :L) = I* Gldgc (1 :48:,1 :48) = m , 编码得到长度为 L的信号流 m用
15 P18170 16进制表示为 D8AB139A0C2C。 删掉填充的 L-K=48-24=24个已知比特,得到长度为 K=24的所需信息比 特 s, s用 16进制表示为 D8AB13。 参考图 7, 说明 居本发明实施列的低密度生成矩阵码的编码装置。 如 图 7所示, 该编码装置包括: 基础矩阵存储单元 702、 比特填充单元 704、 预编码单元 706、 矩阵参数计算单元 708、 分组码编码单元 710、 和比特删除 单元 712。 其中: 基础矩阵存储单元用于存储统一的 kb X nh的基础矩阵 Gb u"iform , 并输出基 础矩阵到矩阵参数计算单元。 其中, 基础矩阵的 行, 前 列组成的方阵 G7/orm(l :kb,l:kb)为上三角或下三角矩阵。 比特填充单元用于对需要进行编码的长度为 K 的信息比特信号流添加 L-K个已知比特, 生成长度为 L的信息比特信号流 m, 并将 m输出至预编码 单元。 预编码单元用于根据 I X G,dgc (1: L,l:L) = m, 利用生成矩阵 Gldgc的 L 行、 前 L列组成的方阵 Gldge (1: L,1:L)和长度为 L的信息比特信号流 m生成 中间变量 I, 并将 I输出至分组码编码单元。 矩阵参数计算单元用于产生分组码编码单元所需要的矩阵和参数,和比 特填充单元、 比特删除单元所需要的参数。 其中, 首先确定扩展因子 丄,
K 然后确定 z'与 ^et中元素有如下大小关系 z*-, < z, ≤ zk , 其中 z*是 Zret中大 小相邻的元素,则 就是需要输出的扩展因子;基于统一的 出矩阵 和 扩展因子 ^, 根据特定的修正算法可以得到修正后的^出矩阵 G d' ; 利用 扩展因子^对 G^1 进行扩展得到生成矩阵 G', 对 G'的第 L-zk列到第 L+ zk 列进行修正, 加重 G' (:, L-zk:L+zk)的列重量(即增加列中元素 1的个数), 修 正后的矩阵为 Gldgc; 将生成矩阵 Gldgc ( 1:L, 1:N+L-K)、 扩展因子 、 矩阵 大小参数 :、 L、 N输入到分组编码单元、 比特填充单元和比特删除单元。
16 P18170 分组码编码单元用于根据矩阵参数计算单元产生的矩阵和参数,对信息 分组进行编码, 生成码字, 并输出到比特删除单元。 比特删除单元用于删除编码后码字中原来填充的 L-K 个已知比特, 并 将删除后得到的 K个码字输出。 参考图 8, 说明根据本发明实施列的低密度生成矩阵码的译码装置。 如 图 8所示, 该译码装置包括: 基础矩阵存储单元 802、 比特填充单元 804、 矩阵参数计算单元 806、 上三角矩阵计算单元 808、 中间变量计算单元 810、 分组码译码单元 812、 以及比特删除单元 814。 其中: 基础矩阵存储单元用于存储统一的 kb x nb的基础矩阵 , 并输出基 础矩阵到矩阵参数计算单元。 比特填充单元用于对经过擦除信道的接收比特信号流填充 L-K 个已知 比特, 组成译码器的输入信号流
Figure imgf000019_0001
其中, i是一 正整敫且 L≤i < N + L - K。 矩阵参数计算单元用于产生分组码编码单元、上三角矩阵计算单元所需 要的矩阵和参数, 和比特填充单元、 比特删除单元和上下三角矩阵计算单元 所需要的参数。 首先, 确定扩展因子 z, =丄, 然后确定2 '与 ^et中元素有如
K 下大小关系 Z" < Z' , 其中, Ζ -ι,Ζ*是 Z^t中大小相邻的元素, 则 就是需 要输出的扩展因子; 基于统一的基础矩阵 G^°™和扩展因子 zk , 根据特定的 修正算法可以得到修正后的基 矩阵 G6 Mdi fe/; 利用扩展因子 对 GT^ 进行 扩展得到生成矩阵 G , 取生成矩阵的 L行和与接收到的比特信号流序号相对 应的列组成矩阵 GldgC
Figure imgf000019_0002
输入到上三角矩阵计算单元; 将生成矩 阵 GLDGC ( 1 :L, 1 :N+L-K:)、 扩展因子 输入到分组编码单元, 将矩阵大小参数 K、 L、 N输入到比特填充单元和比特删除单元。 上三角矩阵计算单元用于在 GLDGC (: ,Π,Ι·2,...Γ 中产生一个 L*L的上三角 矩阵, 并输出到中间变量计算单元。 其中, 首先选择 GLDGC (j^ A,...!^中行 重量 (行中元素 1 的个数) 最轻的一行与第 j行进行行交换; 将第 j行第一
17 P18170 个非零元素所在列和矩阵第 j列进行列交换; 采用行消去方法, 用第 j行第 j 列的元素消掉第 j列中第 j+1行和最后行之间的非零元素。 接着, 根据包含 L*L的上三角矩阵的矩阵的行置换和行消去运算, 进行接收码字的置换和叠 力口; 根据包含 L*L的上三角矩阵的矩阵的列置换运算, 进行中间变量排列顺 序的置换; 将生成的上三角矩阵和新的接收码字及中间变量的排列顺序输入 到中间变量计算单元。 中间变量计算单元用于根据
Figure imgf000020_0001
(l :L,r,,r2,...ri), 用回代 法解上三角方程, 得到 1 *L的中间向量 I。 分组码编码单元用于利用矩阵参数计算单元产生的矩阵和参数,对译码 装置输入的二进制比特信号流进行编码, 根据 I* Gldge (:, l :L) = m, 编码得到 长度为 k+d的信号流 m , 并输出到比特删除单元。 比特删除单元用于删除编码后码字中一定数量的码字比特,并将删除后 得到的 K个码字输出。 以上所述仅为本发明的实施例而已, 并不用于限制本发明, 对于本领域 的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则 之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的权利要求 范围之内。
18 P18170

Claims

权 利 要 求 书 一种^ ί氏密度生成矩阵码的编码方法, 其特征在于, 包括以下步骤:
步骤一, 利用尸个码率为 R0的、 不同码长的低密度生成矩阵码构 建低密度生成矩阵码母码集, 其中, 所述低密度生成矩阵码母码集具有 统一的 出矩阵 G 'n™ , = , 是所述^出矩阵的行数, 《6是所述 基础矩阵的列数;
步骤二, -据所述低密度生成矩阵码母码集中的待编码的信息比特 序列的长度 K与中间变量的长度 L之间的关系, 获取所述中间变量的长 度 L;
步骤三, 利用所述中间变量的长度 L和所述 出矩阵的行数 kb获 取用于对所述基础矩阵进行处理的扩展因子 , 并利用所述扩展因子 ^ 对所述 出矩阵进行 ί爹正和扩展, 以获取生成矩阵 Gidge; 以及
步骤四, 利用所述生成矩阵的 L 行和前 N + L-K 列组成的矩阵 G,dgc ( 1:L, 1:N+L-K)对所述待编码的信息比特序列进行编码。 根据权利要求 1所述的编码方法, 其特征在于, 在所述步骤二中, 通过^^L = modify{^K + b) ,利用所述待编码的信息比特序列的长度 K获取 所述中间变量的长度 L, 其中, modi ()表示取整修正, 修正的方法是向 上取整、 向下取整、或舍入取整, a是略大于 1的正有理数, b是正整数。 根据权利要求 2所述的编码方法, 其特征在于, 所述步骤三包括以下步 骤:
L
步骤 a, 通过公式 Α , 利用所述中间变量的长度 L和所述基础 矩阵的行数 kb获取扩展因子 Kt, 并在对应于所述低密度生成矩阵码母 码集的、 由 P 个大于零的正整数2'<22 <'''< -'< <'''< 构成的扩展 因子集合 Zset中找出与所述扩展因子 Kt有 下关系的、 用于对所述基 础矩阵进行处理的扩展因子 Zk: 1 <z>≤zk-
19 P18170 步骤 b, 利用用于对所述基础矩阵进行处理的扩展因子 ZkY对所述
mod ified
基础矩阵进 4于修正, 获取修正后的 出矩阵 ^6 ;
步骤 c, 利用用于对所述基础矩阵进行处理的扩展因子 Zk, 对所述 修正后的基础矩阵进行扩展, 获取未修正的生成矩阵 G,; 以及
步骤 d, 对所述未^ M£的生成矩阵 G,进行 4爹正, 获取所述生成矩阵 Gldgc。 根据权利要求 3所述的编码方法, 其特征在于, 所述步骤四包括以下步 骤:
步骤 e,将 L - K个已知比特填充在所述待编码的信息比特序列中, 生成长度为 L的信息比特序列 m;
步骤 f, 根据公式 I Gldgc (1 : L,l :L) = m, 利用所述生成矩阵的 L 行、 前 L列组成的方阵 Gldgc (1 :L,1 :L)和所述长度为 L的信息比特序列 m获取所述中间变量 I, 并根据公式 C = l x Gldgc, 利用所述生成矩阵的 L行和前 N + L - K列组成的矩阵 Gldgc ( 1 :L, 1: N+L-K )对所述中间变 量进行编码, 生成长度为 N + L - K的第一编码结果; 以及
步骤 g, 从所述长度为 N + L - K的第一编码结果中删除所述 L - K 个已知比特, 生成长度为 L的第二编码结果。 根据权利要求 1至 4中任一项所述的编码方法, 其特征在于, 所述基础 矩阵的行数 kb是大于 2的整数, 所述基础矩阵的列数 nb是大于等于 1 的整数。 才艮据权利要求 5所述的编码方法, 其特征在于, 在所述步骤 d中, 通过 加大所述未^■正的生成矩阵 G,的特定列的列重量, 来获取所述生成矩阵 Gldgc。
一种低密度生成矩阵码的编码装置, 其特征在于, 包括:
基础矩阵存储单元, 用于存储由 P个码率为 R0的、 不同码长的低 密度生成矩阵码构建的低密度生成矩阵码母码集的统一的基础矩阵
20 P18170 , 其中, η» , kb是所述基础矩阵的行数, nb是所述基础矩阵 的列数;
矩阵参数计算单元,用于根据所述低密度生成矩阵码母码集中的待 编码的信息比特序列的长度 K与中间变量的长度 L之间的关系, 计算所 述中间变量的长度 L, 利用所述中间变量的长度 L和所述基础矩阵的行 数 kb计算用于对所述 出矩阵进行处理的扩展因子 Zk ,并利用所述扩展 因子 z对所述基础矩阵进行修正和扩展计算, 以获取生成矩阵 Gldgc;
比特填充单元, 用于将 L - K个已知比特添加在所述待编码的信息 比特序列中, 以生成长度为 L的信息比特序列
预编码单元, 用于根据公式 I x Gldgc(l: L,l:L) = m, 利用所述生成 矩阵的 L行、 前 L列组成的方阵 Gldgc (1:L,1:L)和所述长度为 L的信息 比特序列 m获取所述中间变量 I;
分组码编码单元, 用于利用所述生成矩阵的 L行和前 N + L - K列 组成的矩阵 Gldgc ( 1:L, 1:N+L-K )对所述中间变量进行编码, 生成长度 为 N + L- K的第一编码结果; 以及
比特删除单元, 用于从所述长度为 N + L - K的第一编码结果中删 除所述 L- K个已知比特, 生成长度为 L的第二编码结果。 根据权利要求 7所述的编码装置, 其特征在于, 所述基础矩阵的 kb行、 前 kb列组成的方阵 G"' (1 :1 : )为上三角或下三角矩阵。 根据权利要求 8所述的编码装置, 其特征在于, 所述矩阵参数计算单元
L
通过公式 , 利用所述中间变量的长度 L和所述基础矩阵的行数 kb 获取扩展因子 Kt, 并通过在对应于所述低密度生成矩阵码母码集的、 由
P个大于零的正整数 ζ' < 22 << ^-1 < ^ < ''' < 构成的扩展因子集合2561 中找出与所述扩展因子 Kt有如下关系的扩展因子来获取用于对所述基 础矩阵进行处理的 Zk: z*- ' < z'≤zk。
21 P18170
10. 根据权利要求 9所述的编码装置, 其特征在于, 所述矩阵参数计算单元 通过利用用于对所述基础矩阵进行处理的扩展因子 Zk,对所述基础矩阵
f^*
进行 4爹正, 获取^ ί爹正后的基础矩阵" * , 利用用于对所述基础矩阵进 行处理的扩展因子 Zk, 对所述修正后的基础矩阵进行扩展, 获取未修正 的生成矩阵 G,, 然后对所述未 正的生成矩阵 G,进行 正, 获取所述生 成矩阵 Gldgc。
11. 根据权利要求 10所述的编码装置, 其特征在于, 所述矩阵参数计算单元 通过加大所述未修正的生成矩阵 G '的特定列的列重量来对所述未修正 的生成矩阵 G,进行 正。
12. 一种^ ί氏密度生成矩阵码的译码方法, 其特征在于, 包括以下步骤: 步骤一, 利用编码过程中使用的扩展因子 , 对^ 5出矩阵1 ^ 进 行修正和扩展, 获取接收生成矩阵 Gldgc (: ,rl,r2,...ri);
步骤二, 将 L - K个已知比特填充在通过擦除信道的编码后的低密 度生成矩阵码中 , 以获取将进行译码的低密度生成矩阵码 C(rl,r2,...ri)=[Crl,Cr2,Cr3,...,Cri] , 其中, i 是满足 ≤ + ― 的正整 数, L是编码过程中使用的中间变量的长度, N是未通过擦除信道的编 码后的低密度生成矩阵码的长度, K是编码前的低密度生成矩阵码的长 度;
步骤三,才艮据公式 C (:, rl,r2,...ri)=I* Gldgc (:,1"1^2,...1 ,利用所述接收 生成矩阵和所述将进行译码的 4氐密度生成矩阵码获取 1*L的接收中间向 量 I;
步骤四, 根据公式 I* Gldgc (1 :L,1 :L) = m, 利用所述接收生成矩阵 的 L行、 前 L列组成的方阵 Gldgc (1 :L,1 :L)和所述接收中间向量获取长 度为 L的译码结果 m; 以及
步骤五, 从所述长度为 L的译码结果 m 中删掉所述 L - K个已知 比特, 获取长度为 K的译码结果。
13. 居权利要求 12所述的译码方法, 其特征在于, 所述接收生成矩阵保留 了编码过程中使用的生成矩阵的 L行、前 N + L - K列组成的矩阵 Gldgc
( 1 :L, 1 :N+L-K ) 中的所有非擦除位置序号所对应的列向量。
22 P18170
14. 根据权利要求 13所述的译码方法, 其特征在于, 所述步骤三包括以下步 骤:
步骤 a, 利用高斯消去法, 对所述接收生成矩阵 Gldgc (:, rl,r2,...ri) 进行行置换、 列置换、 和 /或行消去运算, 获取包含 L*L的上三角矩阵的 矩阵;
步骤 b, 根据所述包含 L*L的上三角矩阵的矩阵, 对所述将进行译 码的低密度生成矩阵码进行置换和叠加, 对编码过程中使用的中间变量 进行置换; 以及
步骤 c, 居回代法解上三角递归方程, 获取所述接收中间向量 I。
15. 根据权利要求 14所述的译码方法, 其特征在于, 所述步骤 a包括以下步 骤:
选择所述接收生成矩阵中的行重量最轻的一行与第 j 行进行行交 换;
将行交换后的接收生成矩阵中的第 j行的第一个非零元素所在列和 所述行交换后的接收生成矩阵的第 j列进行列交换; 以及
利用行消去方法, 用列交换后的接收生成矩阵的第 j行第 j列的元 素消掉所述列交换后的接收生成矩阵的所述第 j 列中的第 j+1行和最后 行之间的非零元素。
16. 一种低密度生成矩阵码的译码装置, 其特征在于, 包括:
基础矩阵存储单元, 用于存储由 P个码率为 R0的、 不同码长的低 密度生成矩阵码构建的低密度生成矩阵码母码集的统一的基础矩阵 g uniform v
, 其中, " , kb是所述^出矩阵的行数, nb是所述 出矩阵 的列数; 矩阵参数计算单元, 用于利用编码过程中使用的扩展因子 , 对所 uniform
述基础矩阵 进行修正和扩展, 获取接收生成矩阵 Gldgc (:, rl,r2,...ri);
比特填充单元, 用于将 L - K个已知比特填充在通过擦除信道的编 码后的低密度生成矩阵码中, 以获取将进行译码的低密度生成矩阵码
23 P18170 C(rl,r2,...ri)=[Crl,Cr2,Cr3,...,Cri], 其中, i 是满足 ^≤ ≤ 的正整 数, L是编码过程中使用的中间变量的长度, N是未通过擦除信道的编 码后的低密度生成矩阵码的长度, K是编码前的低密度生成矩阵码的长 度;
上三角矩阵计算单元, 用于利用高斯消去法, 对所述接收生成矩阵 Gldgc(:,rl,r2,...ri)进行行置换、 列置换、和 /或行消去运算, 获取包含 L*L 的上三角矩阵的矩阵;
中间变量计算单元, 用于根据公式 C(:,rl,r2,...ri)=I* Gldgc (:, rl,r2,...ri),利用所述包含 L*L的上三角矩阵的矩阵和所述将进行译码的 低密度生成矩阵码获取 1*L的接收中间向量 I;
分组码译码单元, 用于 居公式 I* Gldgc (1:L,1:L) = m, 利用所述 接收生成矩阵的 L行、 前 L列组成的方阵 Gldgc (1:L,1:L)和所述接收中 间向量获取长度为 L的译码结果 m; 以及
比特删除单元, 用于从所述长度为 L的译码结果 m中删掉所述 L - K个已知比特, 获取长度为 K的译码结果。
17. 根据权利要求 16所述的译码装置, 其特征在于, 所述矩阵参数计算单元
L
通过公式 , 利用所述编码过程中使用的中间变量的长度 L和所迷 基础矩阵的行数 kb获取扩展因子 Kt, 并通过在对应于所述低密度生成 矩阵码母码集的、 由 p 个大于零的正整数21 < 22 << -1 < ^ < ''' < 2/>构 成的扩展因子集合 Zset中找出与所述扩展因子 Kt有如下关系的扩展因 子来获取所述编码过程中使用的扩展因子 Zk: z*- 1 < ζ' ≤ z*。
18. 根据权利要求 17所述的译码装置, 其特征在于, 所述矩阵参数计算单元 通过利用所述编码过程中使用的扩展因子 Zk, 对所述基础矩阵进行修_ 正, 获取修正后的 出矩阵 * , 利用所述编码过程中使用的扩展因 子 Zk, 对所述修正后的^ 矩阵进行扩展, 获取! ^出生成矩阵 G, 然后 取所述^出生成矩阵 G的 L行和与所述将进行译码的低密度生成矩阵码 的序号对应的列生成所述接收生成矩阵。
24 P18170
19. 根据权利要求 18所述的译码装置, 其特征在于, 所述上三角矩阵计算单 元通过选择所述接收生成矩阵中的行重量最轻的一行与第 j 行进行行交 换, 将行交换后的接收生成矩阵中的第 j 行的第一个非零元素所在列和 所述行交换后的接收生成矩阵的第 j列进行列交换, 并利用行消去方法, 用列交换后的接收生成矩阵的第 j行第 j列的元素消掉所述列交换后的接 收生成矩阵的所述第 j 列中的第 j+1 行和最后行之间的非零元素, 来获 取所述包含 L*L的上三角矩阵的矩阵。
20. 根据权利要求 16至 19中任一项所述的译码装置, 其特征在于, 在所述 接收生成矩阵的 L行、 前 L列组成的方阵 Gldgc (1 :L,1 :L)为左上三角或 左下三角矩阵的情况下, 将所述 L - K个已知比特填充在所述通过擦除 信道的编码后的低密度生成矩阵码之前。
21. 根据权利要求 16至 19中任一项所述的译码装置, 其特征在于, 在所述 接收生成矩阵的 L行、 前 L列组成的方阵 Gldgc (1 :L,1 :L)为右上三角或 右下三角矩阵的情况下, 将所述 L - K个已知比特填充在所述通过擦除 信道的编码后的低密度生成矩阵码的 K - E个比特之后, 其中, E是所 述未通过擦除信道的编码后的低密度生成矩阵码通过所述擦除信道后, 前 K个码字中被擦除的码字的个数。
25 P18170
PCT/CN2008/000378 2007-12-07 2008-02-21 Procédé de codage, dispositif de codage, procédé de décodage et dispositif de décodage pour code de matrice de générateur basse densité WO2009079891A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP08714836A EP2228909A4 (en) 2007-12-07 2008-02-21 ENCODING METHOD, ENCODING DEVICE, DECODING METHOD, AND DECODING DEVICE FOR LOW DENSITY GENERATOR MATRIX CODE
KR1020107014998A KR101248991B1 (ko) 2007-12-07 2008-02-21 저밀도 생성 행렬 코드의 코딩 방법과 장치 및 디코딩 방법과 장치
JP2010536306A JP5216099B2 (ja) 2007-12-07 2008-02-21 低密度生成マトリックスコードのエンコード方法及び装置、ならびにデコード方法及び装置
US12/746,181 US8370700B2 (en) 2007-12-07 2008-02-21 Coding method, coding device, decoding method and decoding device for low density generator matrix code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710198973.0 2007-12-07
CN2007101989730A CN101453297B (zh) 2007-12-07 2007-12-07 低密度生成矩阵码的编码方法和装置、及译码方法和装置

Publications (1)

Publication Number Publication Date
WO2009079891A1 true WO2009079891A1 (fr) 2009-07-02

Family

ID=40735343

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2008/000378 WO2009079891A1 (fr) 2007-12-07 2008-02-21 Procédé de codage, dispositif de codage, procédé de décodage et dispositif de décodage pour code de matrice de générateur basse densité
PCT/CN2008/070728 WO2009074024A1 (fr) 2007-12-07 2008-04-16 Procédé de codage, dispositif de codage, procédé de décodage et dispositif de décodage pour des codes de matrice génératrice de faible densité

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/070728 WO2009074024A1 (fr) 2007-12-07 2008-04-16 Procédé de codage, dispositif de codage, procédé de décodage et dispositif de décodage pour des codes de matrice génératrice de faible densité

Country Status (6)

Country Link
US (2) US8370700B2 (zh)
EP (1) EP2228909A4 (zh)
JP (1) JP5216099B2 (zh)
KR (1) KR101248991B1 (zh)
CN (1) CN101453297B (zh)
WO (2) WO2009079891A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366284B1 (ko) * 2007-11-13 2014-02-20 엘지전자 주식회사 골레이 부호를 이용한 블록 부호 생성 방법, 데이터 부호화방법 및 데이터 부호화 장치
CN101459430B (zh) * 2007-12-14 2010-12-08 中兴通讯股份有限公司 低密度生成矩阵码的编码方法及装置
JP4898858B2 (ja) 2009-03-02 2012-03-21 パナソニック株式会社 符号化器、復号化器及び符号化方法
EP2315360B1 (en) * 2009-05-25 2012-12-26 Huawei Technologies Co., Ltd. Method and device for encoding by linear block code, and method and device for generating linear block code
US8767854B2 (en) * 2011-04-19 2014-07-01 Broadcom Corporation Modulation code set (MCS) and LDPC (low density parity check) coding within multiple user, multiple access, and/or MIMO wireless communications
TWI485992B (zh) * 2012-08-31 2015-05-21 Ind Tech Res Inst 猛禽碼之編碼加速裝置與方法
CN103684477B (zh) 2012-09-24 2017-02-01 华为技术有限公司 混合极性码的生成方法和生成装置
CN103067024B (zh) * 2012-12-31 2015-12-02 中国科学院微电子研究所 低密度生成矩阵码的生成矩阵构造和编解码方法及装置
WO2015022910A1 (ja) * 2013-08-16 2015-02-19 日本電信電話株式会社 通信路復号方法及び通信路復号装置
JP2017005285A (ja) * 2013-11-07 2017-01-05 三菱電機株式会社 復号装置
US9584163B2 (en) * 2014-11-24 2017-02-28 Zenith Electronics Llc Length and rate compatible LDPC encoder and decoder
US9712188B2 (en) 2015-05-04 2017-07-18 International Business Machines Corporation Decoding data stored with three orthogonal codewords
US9606868B2 (en) * 2015-05-04 2017-03-28 International Business Machines Corporation Encoding and writing of data on multitrack tape
CN106936486B (zh) * 2015-12-30 2020-07-21 电信科学技术研究院 一种csi反馈方法及装置
US10191744B2 (en) * 2016-07-01 2019-01-29 Intel Corporation Apparatuses, methods, and systems for element sorting of vectors
CN108023677B (zh) * 2016-11-03 2020-12-08 华为技术有限公司 信息处理的方法、装置及无线通信设备
CN108809331B (zh) * 2017-05-02 2020-07-21 华为技术有限公司 极化码信道编码方法、设备以及通信系统
CN107302565A (zh) * 2017-05-26 2017-10-27 苏州思创源博电子科技有限公司 一种计算机数据智能无线传输方法
US11190210B2 (en) * 2017-06-25 2021-11-30 Lg Electronics Inc. Method for encoding based on parity check matrix of LDPC code in wireless communication system and terminal using this
CN109391358B (zh) * 2017-08-11 2021-09-21 华为技术有限公司 极化码编码的方法和装置
CN109274462B (zh) * 2018-09-30 2021-01-01 东北大学 一种基于改进在线喷泉码的图像传输方法
CN111525980B (zh) * 2019-02-01 2021-09-17 华为技术有限公司 译码方法及装置
KR102269322B1 (ko) * 2019-07-05 2021-06-24 한양대학교 산학협력단 비트 매칭 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
CN112019304A (zh) * 2020-09-24 2020-12-01 南京理工大学 一种基于网络编码的端到端实时可靠传输方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855730A (zh) * 2005-04-06 2006-11-01 三星电子株式会社 用于编码/解码级联的低密度生成器矩阵码的方法
US20070038916A1 (en) * 2005-06-08 2007-02-15 Conexant Systems, Inc. Method of coding data
CN1953335A (zh) * 2005-10-21 2007-04-25 中兴通讯股份有限公司 支持任何码率/码长的低密度奇偶校验码编码装置和方法
WO2007080827A1 (ja) * 2006-01-10 2007-07-19 Mitsubishi Electric Corporation 検査行列生成方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222284B2 (en) * 2003-06-26 2007-05-22 Nokia Corporation Low-density parity-check codes for multiple code rates
US7581157B2 (en) 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7757150B2 (en) * 2004-08-13 2010-07-13 Nokia Corporation Structured puncturing of irregular low-density parity-check (LDPC) codes
JP4138723B2 (ja) * 2004-09-22 2008-08-27 株式会社東芝 復号処理方法および通信装置
CN1805291B (zh) * 2005-01-10 2010-04-28 华为技术有限公司 一种低密度奇偶校验码并行编码方法及编码装置
WO2006075382A1 (ja) * 2005-01-14 2006-07-20 Fujitsu Limited 符号化方法、復号方法及びそれらの装置
US7774675B1 (en) * 2005-12-05 2010-08-10 Marvell International Ltd. LDPC codes and expansion method
KR20080077992A (ko) 2005-12-20 2008-08-26 미쓰비시덴키 가부시키가이샤 검사 행렬 생성 방법, 부호화 방법, 통신 장치, 통신시스템, 부호화기
CN100592639C (zh) * 2006-04-27 2010-02-24 华为技术有限公司 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
US7831895B2 (en) * 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
CN100508442C (zh) * 2006-08-14 2009-07-01 华为技术有限公司 一种编译码方法及编译码装置
US7934146B2 (en) * 2006-10-18 2011-04-26 Nokia Corporation Method, apparatus and computer program product providing for data block encoding and decoding
US8086929B2 (en) * 2006-11-17 2011-12-27 Lg Electronics Inc. Method of executing LDPC coding using parity check matrix

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855730A (zh) * 2005-04-06 2006-11-01 三星电子株式会社 用于编码/解码级联的低密度生成器矩阵码的方法
US20070038916A1 (en) * 2005-06-08 2007-02-15 Conexant Systems, Inc. Method of coding data
CN1953335A (zh) * 2005-10-21 2007-04-25 中兴通讯股份有限公司 支持任何码率/码长的低密度奇偶校验码编码装置和方法
WO2007080827A1 (ja) * 2006-01-10 2007-07-19 Mitsubishi Electric Corporation 検査行列生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MING,XIAO ET AL.: "On Analysis and Design of Low Density Generator Matrix Codes for Continuous Phase Modulation.", IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, vol. 6, no. 9, 30 September 2007 (2007-09-30), pages 3440 - 3449, XP011195942 *

Also Published As

Publication number Publication date
US8527830B2 (en) 2013-09-03
KR20100099264A (ko) 2010-09-10
KR101248991B1 (ko) 2013-03-29
JP5216099B2 (ja) 2013-06-19
EP2228909A1 (en) 2010-09-15
CN101453297B (zh) 2010-12-01
EP2228909A4 (en) 2011-08-10
JP2011505768A (ja) 2011-02-24
US8370700B2 (en) 2013-02-05
CN101453297A (zh) 2009-06-10
US20100269010A1 (en) 2010-10-21
WO2009074024A1 (fr) 2009-06-18
US20100257427A1 (en) 2010-10-07

Similar Documents

Publication Publication Date Title
WO2009079891A1 (fr) Procédé de codage, dispositif de codage, procédé de décodage et dispositif de décodage pour code de matrice de générateur basse densité
CN107026709B (zh) 一种数据包编码处理方法及装置、基站及用户设备
US9270414B2 (en) Multiple-field based code generator and decoder for communications systems
JP4602418B2 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
CN101459430B (zh) 低密度生成矩阵码的编码方法及装置
WO2007072721A1 (ja) 検査行列生成方法、符号化方法、通信装置、通信システム、符号化器
WO2008086735A1 (fr) Procédé de génération d&#39;un paquet de demande de retransmission automatique hybride d&#39;un code de vérification de parité faible densité
WO2009049504A1 (fr) Procédé et dispositif pour coder le code de matrice de générateur à faible densité
WO2009043261A1 (fr) Procédé de codage et de décodage, codeur et décodeur
CN101286745B (zh) 一种交织编码方法及装置
Martinez-Mateo et al. Interactive reconciliation with low-density parity-check codes
JP5371623B2 (ja) 通信システム及び受信装置
CN1798012A (zh) 基于低密度奇偶校验码的校验式可信度的纠错方法
EP3264612B1 (en) Ldpc code construction using a modified progressive edge-growth (peg) algorithm
US8301961B2 (en) Decoding method for low density generator matrix code
CN109728900B (zh) 离散变量量子密钥分发中ldpc纠错码率自适应方法及系统
CN101471743A (zh) 低密度生成矩阵码的编码方法
JP2007329828A (ja) 復号方法、復号器および通信装置

Legal Events

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

Ref document number: 08714836

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12746181

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2010536306

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2008714836

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008714836

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20107014998

Country of ref document: KR

Kind code of ref document: A