WO2015123979A1 - 结构化ldpc的编码方法、译码方法、编码装置和译码装置 - Google Patents

结构化ldpc的编码方法、译码方法、编码装置和译码装置 Download PDF

Info

Publication number
WO2015123979A1
WO2015123979A1 PCT/CN2014/085132 CN2014085132W WO2015123979A1 WO 2015123979 A1 WO2015123979 A1 WO 2015123979A1 CN 2014085132 W CN2014085132 W CN 2014085132W WO 2015123979 A1 WO2015123979 A1 WO 2015123979A1
Authority
WO
WIPO (PCT)
Prior art keywords
adjacent pairs
equal
basic matrix
matrix
lower adjacent
Prior art date
Application number
PCT/CN2014/085132
Other languages
English (en)
French (fr)
Inventor
徐俊
李立广
袁志锋
许进
田开波
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to KR1020167025944A priority Critical patent/KR101789959B1/ko
Priority to US15/120,126 priority patent/US10320419B2/en
Priority to ES14882882T priority patent/ES2788664T3/es
Priority to EP14882882.5A priority patent/EP3110009B1/en
Priority to JP2016553305A priority patent/JP6555759B2/ja
Priority to EP20161633.1A priority patent/EP3799313A1/en
Publication of WO2015123979A1 publication Critical patent/WO2015123979A1/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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/6502Reduction of hardware complexity or efficient processing
    • 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/6566Implementations concerning memory access contentions

Definitions

  • the present invention relates to a digital communication system, and more particularly to a coding method, a code method, an encoding apparatus, and a decoding apparatus for a structured LDPC.
  • FIG. 1 shows a typical digital communication system.
  • Low Density Parity Check Codes are a class of linear block codes that can be defined with very sparse parity check matrices or bipartite graphs, originally discovered by Gallager, so called Gallager codes.
  • MacKay and Neal After decades of silence, with the development of computer hardware and related theories, MacKay and Neal rediscovered it and proved its ability to approach the Shannon limit.
  • Recent studies have shown that LDPC has the following characteristics: low decoding complexity, linear time coding, approximation of Shannon's performance, parallel decoding, and superior Turbo code over long code lengths.
  • the LDPC code is a linear block code based on the sparse check matrix. It is the sparseness of its check matrix that can realize the low complexity of the compiled code, which makes the LDPC practical.
  • Irregular codes mean that the row weight and the column weight of the parity check matrix are completely different low density parity check codes, and the column weights of the information bit portions of the parity check matrix are also different.
  • Regular codes refer to low-density parity check codes whose row weight and column weight of the parity check matrix are identical, or information bits in the parity check matrix when the check digit portion corresponds to a fixed structure.
  • some people also refer to the low-density parity code of the second case in the regular code as semi-regular codes. The number distribution of the base matrix and the number distribution of the parity check matrix are identical.
  • LDPC is a special linear block code.
  • binary
  • the parity check matrix 11 of the structured LDPC is set to a ( ⁇ 2 ( ⁇ 2) matrix, which is composed of M3 ⁇ 4x block matrices, each of which is a different power of the basic permutation matrix of zxz,
  • the basic permutation matrix is a unit matrix
  • they are the cyclic shift matrix of the unit matrix (the default is right shift in the text).
  • the power j each block matrix can be uniquely identified, and the power of the unit matrix can be represented by 0.
  • the matrix is generally represented by - 1.
  • Hb is defined as the basic matrix of H
  • H It is the extension matrix of Hb.
  • z one ⁇ , , , , , , , , ⁇ is called the number of columns of the base matrix b expansion factor.
  • the encoder of the LDPC of the embodiment of the present invention is uniquely generated by the base matrix Hb, the spreading factor z, and the selected basic permutation matrix.
  • each element of the basic matrix Hb corresponds to a square matrix of z*z in the parity check matrix.
  • each element having a value of -1 in the base matrix corresponds to a zero square matrix of z*z, and each value is The non-1 element corresponds to a non-zero square matrix of z*z (ie, a unit matrix or a unit array of cyclic shift matrices).
  • ⁇ ]. According to ⁇ 0, you can get:
  • Axs + Bxc 0, and further introduce c B-iAs a.
  • block B uses a special matrix structure, such as strict lower triangular structure (semi-random matrix), double lower triangular structure, etc.
  • B- 1 is very simple.
  • the check bit portion c in the code word can be directly calculated according to the above formula, and the encoder can be guaranteed to have linear complexity.
  • the Richarson linear time coding algorithm can also be used:
  • the parity check matrix H has a quasi-lower triangular structure, and H has the following form:
  • the dimension of A is (mg) X (nm)
  • the dimension of ⁇ is (mg) xg
  • the dimension of T is (mg) x (mg)
  • the dimension of C is gx (nm).
  • the dimension of D is gxg
  • the dimension of E is gx (mg). All of these matrices are sparse matrices
  • T is the lower triangular matrix with the main diagonal elements all ones.
  • the encoder of the LDPC code designed in the embodiment of the present invention can be uniquely generated by the LDPC parity check matrix H, actually
  • the parity check matrix of the LDPC code not only determines the performance of the LDPC code decoder, but also determines the complexity, storage space and processing delay of the encoder and decoder of the LDPC code. Finding the parity check matrix structure of a suitable LDPC code is crucial.
  • the encoding function of obtaining the N-bit codeword from the source data of the NM bit may be completed by the above direct method or the Richarson method or other method operations.
  • the encoder is a multiplication and addition of a sparse matrix in a software or hardware implementation.
  • the multiplication of a sparse matrix can be performed by multiple z-bits (z is an extension).
  • the graphical representation of the LDPC parity check matrix is a bipartite graph.
  • the bipartite graph and the check matrix have a corresponding relationship, and an MxN parity check matrix H defines a constraint that each N-bit codeword satisfies M parity sets.
  • a bipartite graph consists of N variable nodes and M parity nodes.
  • the bipartite graph there is no connection between any nodes of the same class, and the total number of edges in the bipartite graph is equal to the number of non-zero elements in the check matrix.
  • LDPC's Message Passing algorithm also known as the belief-propagation (BP) algorithm
  • BP belief-propagation
  • H the basic matrix
  • the LDPC codec needs to store a basic matrix.
  • the code length is large, a lot of bases are stored. Matrix, this will take up a lot of storage space or make the hardware implementation circuit very complicated.
  • the correction is to use the expansion factor of other code lengths to correct the non-negative elements in the basic matrix Hb.
  • the corrected element value should be smaller than the expansion factor value under the code length.
  • the correction algorithm can use modulo (mod) Scale (floor + floor ) or round ( scale + round ) and so on. Let Pi, j be the non-negative element of the i-th row and j-th column of the basic matrix, P, i, j are the elements after the correction, and have:
  • N is the number of base matrix columns and n is the code length of the low density parity check code to generate the parity check matrix.
  • Mod is the modulo operation, [ ] is the next rounding operation, and Round is the rounding operation.
  • the maximum code length is ⁇ 304.
  • LDPC uses the most popular layered decoding, the reading and writing of log likelihood ratio information seriously affects the arrangement of LDPC pipelines. Specifically, at a high code rate, for a normal LDPC structure, after the decoder needs to complete the processing of the basic matrix, the next stage pipeline can be started, and a long waiting time is required. If the first stage water is particularly long, significantly reduce the efficiency of the decoder.
  • the embodiment of the invention provides a coding method, a decoding method, an encoding device and a decoding device for a structured LDPC, which solves the problem that the existing codec is inefficient.
  • a structured LDPC coding method including:
  • an MbxNb base matrix used for encoding the base matrix including corresponding to system bits Block A of Mbx (Nb-Mb ) and block B of MbxMb corresponding to parity bits, the base matrix includes K0 upper and lower adjacent pairs, and the K0 upper and lower adjacent pairs include K1 first-class adjacent
  • An LDPC encoding operation for obtaining an Nbxz bit codeword from the source data of (Nb-Mb) ⁇ bits is performed according to the base matrix and its corresponding spreading factor z, where z is a positive integer greater than or equal to 1.
  • K2 is greater than or equal to 3
  • xl+1 modMb row
  • there are at most three second-class adjacent pairs, where xl 0, 1, Mb-1.
  • Q is any one of the following: 2, 3, 4, 5, 6, 7, 8.
  • the value of K0 is any of the following:
  • a structured LDPC decoding method includes:
  • Block A of Mbx (Nb-Mb ) and block B of MbxMb corresponding to parity bits, the basic matrix Containing K0 upper and lower adjacent pairs, the ⁇ 0 upper and lower adjacent pairs include K1 first-class upper and lower adjacent pairs and ⁇ 2 second-class adjacent pairs, wherein ⁇ 0 ⁇ 1+ ⁇ 2, ⁇ 0 is greater than or equal to a positive integer of 6*Mb, K2 is a positive integer greater than or equal to 0 and less than or equal to 2*Mb, and the upper and lower adjacent pairs are elements of two corresponding non-zero square matrices in the basic matrix ⁇ hl3 ⁇ 4, hb(( 1) +1 ) m .
  • An LDPC decoding operation for obtaining (Nb-Mb) ⁇ bit information data from the codeword of the Nbxz bits is performed according to the basis matrix and the corresponding spreading factor z, where z is a positive integer greater than or equal to 1.
  • Q is any of the following:
  • the LDPC decoding operation for obtaining (Nb-Mb) ⁇ bit information data from the Nbxz bit codeword is performed according to the base matrix and the corresponding spreading factor, including:
  • the hierarchical updating of the basic matrix is performed by using a hierarchical belief propagation BP algorithm or a modified minimum sum algorithm, including:
  • the side information is check node to variable node information
  • a coding device for a structured LDPC comprising:
  • a base matrix storage module configured to: store at least an MbxNb base matrix used for encoding, the base matrix including a block A corresponding to Mbx (Nb-Mb) of system bits and a block B corresponding to MbxMb of parity bits,
  • Q is any of the following 2, 3, 4, 5, 6, 7, 8.
  • the value of K0 is any of the following:
  • a structured low density parity check code LDPC decoding device comprising:
  • a base matrix storage module configured to: store at least an MbxNb base matrix used for decoding, the base matrix including a block A corresponding to Mbx (Nb-Mb) of system bits and a block B corresponding to MbxMb of parity bits,
  • Nb-1 Nb-1; a decoding operation module, The setting is: determining the basic matrix and the corresponding spreading factor z, and completing an LDPC decoding operation for obtaining (Nb-Mb) ⁇ bit information data from the Nbxz bit codeword, where z is a positive integer greater than or equal to 1.
  • Q is any of the following
  • the decoding operation module includes:
  • a row update unit of the base matrix which is configured to: perform a row update on the base matrix by using a hierarchical belief propagation BP algorithm or a modified minimum sum algorithm, including:
  • the side information is the check node to the variable node information
  • a decoding decision unit is arranged to calculate a codeword log likelihood ratio using the side information, and perform a hard decision, and check whether it is correct, if correct, output the correct codeword, and if it is wrong, continue the decoding process.
  • the embodiment of the invention further provides a computer program comprising program instructions, when the program instructions are executed by the encoding device, such that the encoding device can perform the above encoding method.
  • Embodiments of the present invention also provide a computer program comprising program instructions that, when executed by a decoding device, cause the decoding device to perform the above-described decoding method.
  • Embodiments of the present invention also provide a carrier carrying any of the above computer programs.
  • the embodiment of the present invention provides a coding method, a decoding method, and a coding matrix of a structured LDPC code, and performs coding or decoding according to the basic matrix and its corresponding spreading factor, and implements LDPC coding with high pipeline speed and Decoding solves the problem of inefficiency of existing codecs.
  • BRIEF abstract Figure 1 is a block diagram of a digital communication system
  • FIG. 2 is a schematic structural diagram of an encoder of an LDPC code according to Embodiment 1 of the present invention
  • FIG. 3 is a schematic diagram of a basic matrix used in Embodiment 1 of the present invention
  • FIG. 4 is a schematic structural diagram of a decoder for an LDPC code according to Embodiment 2 of the present invention
  • FIG. 5 is a schematic diagram of a basic matrix used in Embodiment 2 of the present invention
  • FIG. 6 is a schematic diagram of a conventional layered decoding pipeline according to Embodiment 2 of the present invention
  • FIG. 7 is a schematic diagram of a layered decoding pipeline of the present invention according to Embodiment 2 of the present invention
  • FIG. 8 is an implementation of the present invention
  • FIG. 9 is a flowchart of a method for decoding a structured LDPC code according to Embodiment 4 of the present invention.
  • FIG. 10 is a schematic structural diagram of a coding apparatus for a structured LDPC code according to Embodiment 5 of the present invention.
  • FIG. 11 is a schematic structural diagram of a decoding apparatus for a structured LDPC code according to Embodiment 5 of the present invention.
  • the reading and writing of log likelihood ratio information affects the arrangement of the structured LDPC pipeline.
  • the decoder needs to wait for one row of the base matrix to complete the row update process before starting the next stage pipeline. If the first stage water is particularly long, significantly reduce the efficiency of the decoder.
  • the number of possible combinations of the underlying matrices is extremely large, and there is no feasible method for reducing the waiting time in the prior art, nor is there a basic matrix that satisfies such requirements.
  • embodiments of the present invention provide a coding method, a decoding method, an encoding apparatus, and a decoding apparatus of a structured LDPC.
  • Embodiments of the present invention use the same basic matrix for a plurality of code lengths of the same code rate, which are usually generated corresponding to the maximum code length.
  • the base matrix is modified at different code lengths, so that the generated codec can be applied to a case where the code length is variable.
  • the present invention is not limited to this, and is also applicable to a method of using one basic matrix for each code length.
  • Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, in the case of no conflict, the features in the embodiments and the embodiments in the present application may be arbitrarily combined with each other.
  • Embodiment 1 An embodiment of the present invention provides an apparatus for encoding a structured low-density parity check code LDPC in digital communication.
  • the structure thereof is as shown in FIG. 2, and includes at least a processor 202 and a memory 201.
  • K2 is greater than or equal to 3, for any two adjacent rows (xl rows and (xl+1) mod
  • Mb line There are at most three second-class adjacent pairs, and xl and x2 take values from 0 to Mb-1.
  • each vertically adjacent base matrix H b of nonzero matrix elements ⁇ hby, hb ((1 + 1) m. DMb) j ⁇ is a set of configuration, i.e. two base matrix corresponding to a column that is defined as A set of two adjacent elements corresponding to a non-zero square matrix, wherein the last row is defined adjacent to the first row, and the last row is defined as the previous row of the first row.
  • the processor 202 is configured to determine the base matrix and the expansion factor z, complete from (Nb-Mb)
  • the source data of the ⁇ bits yields an LDPC encoding operation of the Nbxz bit codeword.
  • 1113 ⁇ 4 represents an element of the i-th row and the j-th column of a basic matrix, wherein a and b are not equal, a and b are integers greater than or equal to 0 and less than or equal to Q-1, and Q is a multiplication factor of the spreading factor Z,
  • Q is typically one of the following: 2, 3, 4, 5, 6, 7, and 8.
  • the top is the column index, the leftmost is the row index, the A part matrix is the system bit part matrix, the B part is the school risk part part matrix, and the matrix value -1 element corresponds to ⁇ all 0
  • an element with a value other than -1 corresponds to a non-zero square matrix, which is a matrix after the unit square array cyclically shifts the corresponding value.
  • the upper and lower adjacent pairs are a set of two adjacent elements of the corresponding non-zero square matrix in a certain column of the basic matrix, as specifically as the two elements in the rectangular wire frame.
  • there are no more than two second-class adjacent pairs in the adjacent two rows for example: 0th and 1st rows , only one; 1st and 2nd lines, only one; 2nd and 3rd lines, 2; 3rd and 0th, no.
  • the elements of the first corresponding non-zero square matrix in all columns of the base matrix Hb are all zeros.
  • the cyclic shift network only needs to complete the cyclic shift difference.
  • the cyclic shift network only needs to implement shifts of 30-0, 20-30, 36-20, 0-36.
  • the log likelihood ratio information corresponding to the first basic matrix returns to the sequential position after completing a complete LDPC iteration, and can be hardly judged. If it is correct, the output is output. If it is wrong, the iteration is continued.
  • the LDPC layered decoder having the matrix structure of the embodiment of the present invention does not require a cyclic shift inverse network, and the route is halved as compared with the conventional scheme.
  • the above encoder may further have the following features: further comprising an expansion module configured to expand the base matrix according to a spreading factor and a basic permutation matrix to obtain ( Mx x( ⁇ xz) low density parity check code a parity check matrix, wherein the decoding operation module performs an encoding operation based on the parity check matrix obtained by the base matrix extension.
  • an expansion module configured to expand the base matrix according to a spreading factor and a basic permutation matrix to obtain ( Mx x( ⁇ xz) low density parity check code a parity check matrix
  • the decoding operation module performs an encoding operation based on the parity check matrix obtained by the base matrix extension.
  • the information bits are LDPC-encoded by the structure of the proposed basic matrix, which may generate LDPC codeword, such LDPC codeword is sent to the channel after modulation and other modules, and the receiving end receives the signal and performs demodulation and the like to generate the received LDPC codeword, and the received LDPC codeword is sent to the LDPC decoder.
  • the code word can ensure the improvement of the decoding pipeline speed, that is, the processing speed of the decoder is improved. This effectively improves the efficiency of the LDPC and accelerates the decoding speed.
  • the structure of the matrix can also reduce the switching network by allowing the use of an inverse cyclic shift network (for write storage), again Further reduce hardware complexity.
  • Embodiment 2 An embodiment of the present invention provides a decoding apparatus for a structured low-density parity check code LDPC in digital communication.
  • the structure thereof is as shown in FIG. 4, and includes at least a processor 402 and a memory 401.
  • the memory 401 is configured to store at least K0 upper and lower adjacent pairs of base matrices and parameters used for encoding.
  • K2 is greater than or equal to 3, there are at most three second-class adjacent pairs for any two adjacent rows (xl rows and (xl+1) mod Mb rows), wherein xl and x2 take values from 0 to Mb-1.
  • the upper and lower adjacent pairs are defined as a set of two corresponding non-zero square matrix elements ⁇ hby, hb (( 1+1 ) m . d Mb) j ⁇ in each basic matrix H b , that is, a certain matrix matrix A set of two adjacent elements of a non-zero square matrix in a column, where the last row is defined adjacent to the first row and the last row is defined as the previous row of the first row.
  • the one processor 402 is configured to perform an LDPC decoding operation for obtaining (Nb-Mb) ⁇ bit information data from the Nbxz bit codeword according to the base matrix and the spreading factor z.
  • 1113 ⁇ 4 represents the elements of the i-th row and j-column of a basic matrix, where a and b are not equal, a and b are integers between 0 and Q-1, and Q is a multiplication factor of the spreading factor Z
  • one of the typical values of K2 is one of the following: 1, 2, 3 12.
  • Q is typically one of the following: 2, 3, 4, 5, 6, 7, and 8.
  • the top is the column index, the leftmost is the row index, the A part matrix is the system bit part matrix, the B part is the school risk part part matrix, and the matrix value -1 element corresponds to ⁇ all 0
  • an element with a value other than -1 corresponds to a non-zero square matrix, which is a matrix after the unit square array cyclically shifts the corresponding value. among them,
  • a set of two adjacent pairs of elements corresponding to a non-zero square matrix in a column of the base matrix is substantially as shown in Fig. 5 as 2 elements in a rectangular wireframe.
  • the elements of the first corresponding non-zero square matrix in all columns of the base matrix Hb are all zero.
  • the cyclic shift network only needs to complete the cyclic shift difference.
  • the cyclic shift network only needs to implement shifts of 30-0, 20-30, 36-20, 0-36.
  • the log likelihood ratio information corresponding to the first basic matrix returns to the sequential position after completing a complete LDPC iteration, and can be hardly judged. If it is correct, the output is output. If it is not correct, the iteration is continued.
  • the LDPC hierarchical decoder having the matrix structure of the embodiment of the present invention does not require a cyclic shift inverse network, and the route is halved as compared with the conventional scheme.
  • the decoding of the processor uses a hierarchical BP algorithm or a modified minimum sum algorithm to perform row update on the base matrix, and in an odd number of iterations, in addition to elements corresponding to the second type of adjacent pairs
  • the side information is updated, corresponding to only one element of each second type of adjacent pair
  • the side information (check node to variable node information) is updated; in an even number of iterations, except for the side information corresponding to the elements other than the second type of adjacent pairs, only for each second class adjacent
  • the side information (check node to variable node information) corresponding to another element is updated.
  • the row is updated at 0, 2 40 rows at the first time t0, and the layered decoding of the first layer is completed; the decoder updates the rows of 1, 3 41 at the second time t1, and completes The layered decoding of the second layer; the decoder performs row update on the 42, 44, 82 lines at the third time t2 to complete the layered decoding of the third layer; the decoder at the fourth time t3 pairs 43, 45 83
  • the row is updated, and the layered decoding of the fourth layer is completed; the decoder updates the lines of 84, 86 124 at the fifth time t4 to complete the layered decoding of the fifth layer; the decoder is at the sixth moment T5 to 85, 87
  • the sixth layer is decoded hierarchically; the decoder is at the seventh time t6 to 126,
  • the decoder updates the 127, 129 167 lines at the eighth time t7, and completes the eighth layer of layered decoding; thus, it is completed.
  • the LDPC code is completely decoded at one time. If it does not converge, the above process can be repeated until the decoding is successful or until the decoding fails and the maximum allowed number of times is reached.
  • the second layer of decoding pipeline it is necessary to wait for the second layer of decoding pipeline to be completely completed before starting the layered decoding of the third layer, where there is a long waiting time.
  • the layered decoding of the fifth layer can be started. There is a long waiting time.
  • each layer LDPC uses one clock read, one clock processing, one clock write, and each clock occupies T time. It takes 16*T time to complete the complete LDPC decoding.
  • the parallelism can be selected as 7 and there are 6 words. If the odd word is processed first and then the even word is processed, an arrangement similar to that of FIG. 4 and FIG. 5 is performed, and the LDPC needs 32*T as a whole. Time, the decoding of the invention can save 12* times. The effect is more obvious.
  • the degree of parallelism can be extended to 42, from 0, 2 40 lines and 42.
  • the degree of parallelism can be extended to 84, from 0, 2 40 lines and 42, 44 82 and 84, 86 124 and 126, 128 166 lines can be decoded simultaneously, since these lines require data of the same address.
  • the structure of the embodiment of the present invention can support a very high or relatively flexible parallelism, which satisfies the decoding requirement suitable for ultra-high speed decoding, thereby achieving Gbps.
  • the information bits are LDPC-decoded by the structure of the proposed basic matrix, and the LDPC decoder receives the LDPC codeword.
  • the LDPC decoder can ensure that the decoding pipeline speed is improved, that is, the decoder processing speed is improved. This effectively improves the efficiency of the LDPC code and speeds up the decoding speed.
  • the structure of the basic matrix proposed by the embodiment of the present invention can also reduce the switching network by allowing the use of the inverse cyclic shift network (for write storage), and further reduce the hardware complexity.
  • the embodiment of the present invention provides a coding method for a structured LDPC code.
  • the process for completing the LDPC coding using the method is as shown in FIG. 8, and includes:
  • Step 801 Determine a basic matrix that includes K0 upper and lower adjacent pairs used by the encoding.
  • the base matrix includes a block A corresponding to Mbx (Nb-Mb ) of the system bit and a block B corresponding to the check bit MbxMb, and for the basic matrix, there are K1 first-class upper and lower phases
  • the adjacent pair is the element ⁇ hl3 ⁇ 4 , hb l+1 ) m of two corresponding non-zero square matrices in each basic matrix.
  • d Mb) j ⁇ constitutes a collection
  • K2 is greater than or equal to 3
  • K0 is any of the following: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.
  • Step 802 Perform, according to the basic matrix and its corresponding spreading factor, an LDPC encoding operation for obtaining a Nbxz bit codeword from source data of (Nb-Mb) xz bits;
  • z is the expansion factor and z is a positive integer greater than or equal to 1.
  • the embodiment of the present invention provides a coding method for a structured LDPC code.
  • the process for completing the LPDC coding using the method is as shown in FIG. 9, and includes:
  • Step 901 Determine a basic matrix that includes K0 upper and lower adjacent pairs used for decoding.
  • the upper and lower adjacent pairs are a set of two elements corresponding to the non-zero square matrix ⁇ hl3 ⁇ 4, hb ( (l+1) mod Mb ) j ⁇ in each of the basic matrices,
  • 1113 ⁇ 4 represents an element of the i-th row and the j-th column of the base matrix, wherein a and b are not equal, a and b are integers greater than or equal to 0 and less than or equal to Q-1, and Q is a multiplication factor of the expansion factor z
  • xl takes values from 0 to Mb-1.
  • Q is any of the following: 2, 3, 4, 5, 6, 7, 8.
  • Step 902 Perform, according to the basic matrix and the corresponding spreading factor, an LDPC decoding operation for obtaining (Nb-Mb) ⁇ bit information data from a codeword of the Nbxz bit;
  • z is the expansion factor and z is a positive integer greater than or equal to 1.
  • This step is specific:
  • the side information is the check node to the variable node information
  • An embodiment of the present invention provides a coding apparatus for a structured LDPC code, and the structure thereof is as shown in FIG. 10, including:
  • 1113 ⁇ 4 represents an element of the i-th row and the j-th column of the base matrix, wherein a and b are not equal, a and b are integers greater than or equal to 0 and less than or equal to Q-1, and Q is a multiplication factor of the expansion factor z
  • the encoding operation module 1002 is configured to: perform an LDPC encoding operation of obtaining Nbxz bit codewords from source data of (Nb-Mb) ⁇ ⁇ according to the basic matrix and its corresponding spreading factor, where z is an expansion factor, z is a positive integer greater than or equal to 1.
  • K2 is greater than or equal to 3
  • Q is any of the following:
  • the value of K0 is any of the following:
  • the embodiment of the present invention further provides a decoding apparatus for a structured LDPC code, and the structure thereof is as shown in FIG. 11, and includes:
  • the basic matrix storage module 1101 is configured to: determine a base matrix including K0 upper and lower adjacent pairs used for decoding, the basic matrix including a block A corresponding to a systematic bit Mbx (Nb-Mb) and corresponding to a parity bit Block B of MbxMb, for the base matrix, there are K1 first classes
  • the upper and lower adjacent pairs are a set of two corresponding non-zero square matrix elements ⁇ ⁇ ⁇ j ⁇ in each of the basic matrices, that is, elements of two adjacent corresponding non-zero square matrices in a column of the basic matrix
  • the last row is defined as the adjacent row
  • the last row is defined as the previous row of the first row
  • 1113 ⁇ 4 represents elements of the i-th row and j-column of the base matrix, wherein a and b are not equal, a and b are integers between 0 and Q-1, and Q is a multiplication factor of the spreading factor z,
  • the decoding operation module 1102 is configured to: obtain an LDPC decoding operation for obtaining (Nb-Mb) ⁇ ⁇ bit information data from a codeword of Nbxz bits according to the basic matrix and a corresponding spreading factor, where z is an expansion factor , z is a positive integer greater than or equal to 1.
  • K2 is greater than or equal to 3
  • xl takes values from 0 to Mb-1.
  • Q is any of the following:
  • the decoding operation module 1102 includes:
  • the row update unit 11021 of the base matrix is configured to: perform a row update on the base matrix by using a hierarchical BP algorithm or a modified minimum sum algorithm, including:
  • the decoding decision unit 11022 is configured to: calculate the codeword log likelihood ratio using the side information, and perform a hard decision, and check whether it is correct, if it is correct, output the correct codeword, and if it is wrong, continue the decoding process.
  • An embodiment of the present invention provides a coding method, a decoding method, and a coding matrix of a structured LDPC code, and performs coding or decoding according to the basic matrix and its corresponding spreading factor, and implements LDPC coding with high pipeline speed. And decoding, solve the problem of the inefficiency of the existing codec.
  • the matrix designed by the embodiment of the present invention can be used to revolutionize the efficiency of the decoder in combination with a specific decoding algorithm, which is of great significance for the development and application of ultra-high speed and low complexity LDPC codes.
  • the technical solution provided by the embodiments of the present invention can be applied to an error correction coding technique for data transmission in a digital communication system, and an LDPC code with improved efficiency or reduced complexity is obtained, which is particularly suitable for an ultra-high speed scene.
  • all or part of the steps of the foregoing embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
  • the invention is not limited to any particular combination of hardware and software.
  • the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
  • each device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the embodiment of the present invention is applicable to coding and decoding of structured LDPC codes, and realizes high pipeline speed LDPC encoding and decoding.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种结构化LDPC码的编码方法、译码方法、编码装置和译码装置,该方法包括:确定编码使用的包含K0个上下相邻对的基础矩阵;根据所述基础矩阵和其对应的扩展因子,完成从(Nb-Mb)Xz比特的源数据得到NbXz比特码字的LDPC编码运算,其中z为扩展因子,z是大于等于1的正整数。提供的技术方案适用于结构化LDPC码的编码译码,实现了高流水线速度的LDPC编码和译码。

Description

结构化 LDPC的编码方法、 译码方法、 编码装置和译码装置 技术领域
本发明涉及数字通信***, 尤其涉及一种结构化 LDPC的编码方法、 码方法、 编码装置和译码装置。
背景技术
随着无线数字通信的发展及各种高速率、 突发性强的业务的出现, 人们 对纠错编码技术提出了愈来愈高的要求, 图 1为一种典型的数字通信***。 低密度奇偶校验码 ( Low Density Parity Check Codes, LDPC )是一类可以用 非常稀疏的奇偶校验矩阵或者二分图定义的线性分组码, 最初由 Gallager发 现, 所以称为 Gallager码。 经过数十年的沉寂, 随着计算机硬件和相关理论 的发展, MacKay和. Neal重新发现了它, 并证明了它具有逼近香农限的性能。 最新研究表明, LDPC 具有以下特点: 低译码复杂度, 可线性时间编码, 具 有逼近香农限性能, 可并行译码, 以及在长码长条件下优于 Turbo码。
LDPC码是一种基于稀疏校验矩阵的线性分组码, 正是利用它的校验矩 阵的稀疏性, 才能实现低复杂度的编译码, 从而使得 LDPC走向实用化。 非 正则码(irregular codes )是指奇偶校验矩阵的行重量和列重量是完全不同的 低密度奇偶校验码, 并且奇偶校验矩阵的信息位部分的列重量也是不同的。 正则码( regular codes )是指是指奇偶校验矩阵的行重量和列重量是完全相同 的低密度奇偶校验码, 或者在奇偶校验矩阵中当校验位部分对应保持固定结 构时信息位部分行重量和列重量完全相同的低密度奇偶校验码。 在相关文献 中, 也有人将正则码中第二种情况的低密奇偶校验码称为半正则码 ( semi-regular codes )。基础矩阵的次数分布和奇偶校验矩阵的次数分布是一 致的。
LDPC是一种特殊的线性分组码。 通信中, 每发送一个分组长度为 N比 特的码字, 为了保证其具有一定的纠错能力, 需要有 M个校验比特, 每个码 字都要求满足 Τ = °Τ , 其中 Η为二元域上 ΜχΝ维的奇偶校验矩阵。 所有的 运算都是在二元域 GF ( 2 )上进行的, 这里加和减是"异或"运算, 而乘是 "与" 运算 t
结构化 LDPC
结构化的 LDPC 的奇偶校验矩阵 11设为(^^2 (^^2)矩阵, 它是由 M¾x 个分块矩阵构成,每个分块矩阵都是 zxz的基本置换矩阵的不同幂次, 基本置换矩阵为单位阵时, 它们都是单位阵的循环移位矩阵(文中默认为右 移) 。 通过这样的幂次 j 就可以唯一标识每一个分块矩阵, 单位矩阵的幂次 可用 0表示, 矩阵一般用 -1来表示。 这样, 如果将 H的每个分块矩阵都用它 的幂次代替, 就得到一个 X 的幂次矩阵 Hb。 这里, 定义 Hb是 H的基础 矩阵, H称为 Hb的扩展矩阵。 在实际编码时, z =一 ϋ ,、,,,一 , ζ称为 基础矩阵的列数 b 扩展因子。
例如,
Figure imgf000004_0001
可以用下面的参数 ζ和一个 2x4的基础矩阵 Hb扩展得到
0 1 0 -1
z H 2 1 2 1
3 和
因此, 也可以说本发明实施例的 LDPC的编码器是由基础矩阵 Hb, 扩展 因子 z及所选择的基本置换矩阵唯一生成的。总之,基础矩阵 Hb的每个元素 对应奇偶校验矩阵中一个 z*z的方阵, 具体地, 基础矩阵中每个值为 -1的元 素对应 z*z的零方阵, 每个值为非 -1的元素对应 z*z的非零方阵(即单位阵 或者单位阵得循环移位矩阵) 。 根据上述基础矩阵的定义, 可以看出在给定 扩展因子(一个大于 1的整数 z )的条件下,基础矩阵和奇偶校验矩阵本质上 是一个东西。
LDPC编码
***分组码的直接编码方法是: 把一个码字 X划分为 N-M个信息比特 s 和 M个校验比特 c, 相应地, 把 ΜχΝ的奇偶校验矩阵 Η划分为分别对应于 信息比特和校验比特的 Μχ ( Ν-Μ )和 ΜχΜ大小的两块, 即 Η = [Α|Β]。 根据 Ηχχ=0, 可得:
s
[Α \ Β]χ 0
c
于是可以得到 Axs + Bxc=0, 进一步推出 c B-iAs a 当块 B釆用特殊的矩 阵结构, 如严格下三角结构(半随机矩阵)、 双下三角结构等, 则 B-1具有非 常简单的形式, 可以直接按照上面式子直接计算得到码字中校验比特部分 c, 并且可以保证编码器具有线性复杂度。 也可以釆用 Richarson线性时间编码算法: 奇偶校验矩阵 H具有准下三 角结构, 设 H具有如下形式:
(Α Β Ίλ
Η =
D Ej
设编码后码字是 = Α,/½) ,这里 s为编码码字的***比特部分, A和/ ½ 为码字的校验比特部分, A的长度为 g, A长度为 (m-g )。 上式中, A的维 数是 ( m-g ) X ( n-m ) , Β的维数是 ( m-g ) xg, T的维数是 ( m-g ) x ( m-g ) , C的维数是 gx ( n-m ) , D的维数是 gxg, E的维数是 gx ( m-g )。 所有这些 矩阵都是稀疏矩阵, 而 T是下三角矩阵, 主对角线元素全为 1。 校验比特部 分可以由下面式子求得: ρ[ = _φ- ' (-ET- A + C)sr
pT 2 = -T-1 (Asr + Bp[ ) 其中, φ = _ΕΤ- B + D 因此, 本发明实施例设计的 LDPC码的编码器可以由 LDPC奇偶校验矩 阵 H唯一生成, 实际上 LDPC码的奇偶校验矩阵不仅仅决定了 LDPC码译码 器的性能, 而且决定了 LDPC码的编码器和译码器的复杂度、 存储空间和处 理延时。 寻找合适的 LDPC码的奇偶校验矩阵结构是至关重要的。
在具体实现时, 可釆上述直接方法或者 Richarson方法或者其它方法运 算, 来完成从 N-M比特的源数据得到 N比特码字的编码功能。 事实上, 该编 码器就是用软件或硬件实现式中稀疏矩阵的乘法和加法运算, 对于基于单位 阵及其循环移位矩阵的 LDPC, 稀疏矩阵的乘法运算可以由多个 z位( z为扩 展因子) 的循环移位寄存器和多个 z位的加法器构成, 而稀疏矩阵的加法运 算就是由上述的多个 Z位的加法器完成,该多个 Z位循环移位寄存器和多个 Z 位加法器就构造出一个硬件电路实现的 LDPC编码器。
LDPC的译码
LDPC 奇偶校验矩阵的图形表示形式是二分图。 二分图和校验矩阵之间 具有——对应的关系, 一个 MxN的奇偶校验矩阵 H定义了每个具有 N比特 的码字满足 M个奇偶校验集的约束。 一个二分图包括 N个变量节点和 M个 奇偶校验节点。 当第 m个校验涉及到第 n个比特位, 即 H中第 m行第 n列的 元素 Hm, n=l时, 将有一根连线连接校验节点 m和变量节点 n。 二分图中, 任何同一类的节点之间都不会有连接, 并且二分图中的总边数和校验矩阵中 非零元素的个数相等。
LDPC 的信息传递译码 ( Message Passing ) 算法又称置信 ( belief-propagation , BP ) 算法假定变量节点是相互独立的, 短圈的存在必 然破坏了独立性的假设, 使得译码性能明显下降。 事实上, LDPC 奇偶校验 矩阵对应二分图的最短圈长度越长, 即 girth值越大, 从变量节点发出的信息 被传递给自身的正反馈信息将越小, 则译码性能也越好。 校验矩阵 H的 girth 与基础矩阵 Hb之间存在关联,通过数学推理和计算机仿真的验证,有了相关 结论。
基础矩阵修正
如果对于每个不同的扩展因子无法釆用同一基础矩阵, 那么, 对于每个 不同的码长, 所述的 LDPC编译码器都需要存储一个基础矩阵, 当码长很多 时, 就要存储很多基础矩阵, 这样会占用很大的存储空间或者使得硬件实现 电路很复杂。
修正是利用其它码长的扩展因子对基础矩阵 Hb 中的非负值元素进行修 正, 修正后的元素值应小于该码长下的扩展因子值, 修正算法可以釆用取模 ( mod )、 取整( scale+floor )或舍入 ( scale+round )等。 设 Pi, j为基础矩阵 第 i行第 j列的非负元素, P,i, j为修正以后的元素, 有:
对于取模 ( mod )方法:
Figure imgf000006_0001
对于取整( scale+floor )方法:
Figure imgf000007_0001
对于舍入 ( scale+round )方法:
Figure imgf000007_0002
其中, N为基础矩阵列数, n为要生成奇偶校验矩阵的低密度奇偶校验 码的码长。 mod为取模操作, [ ]为下取整操作, Round为四舍五入操作。 这 里, ^^定最大码长为 2304。
例如, 对于码长 1152比特低密度奇偶校验码,设其基础矩阵某个非负元 素为 93 , 则其修正结果为:
对于取模 ( mod )方法:
1152
93 mod = 93 mod 48 = 45
24
对于取整(scale+floor )方法:
1152
[93 x-^^] = [46.5] = 46
2304
对于舍入 ( scale+round )方法:
1152
Round(93 x^^-) = Round(46.5) = 47
LDPC如果使用当前最流行的分层译码, 对数似然比信息的读写严重影 响了 LDPC的流水线的排列。 具体地, 在高码率的时候, 对于普通的 LDPC 结构, 译码器需要基础矩阵一行完成处理以后, 才可以开始下一级流水线, 需要艮长的等待时间, 如果一级流水特别长, 将严重降低译码器的效率。
发明内容
本发明实施例提供了一种结构化 LDPC的编码方法、 译码方法、 编码装 置和译码装置, 解决了现有编译码器效率低下的问题。 一种结构化 LDPC的编码方法, 包括:
确定编码使用的 MbxNb基础矩阵,所述基础矩阵包括对应于***比特的 Mbx (Nb-Mb ) 的块 A和对应于校验比特的 MbxMb的块 B, 所述基础矩阵 包含 K0个上下相邻对, 所述 K0个上下相邻对包括 K1个第一类上下相邻对 和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等于 6*Mb的 正整数, K2是大于等于 0且小于等于 2*Mb的正整数, 所述上下相邻对为所 述基础矩阵中两个对应非零方阵的元素 {hl¾, hb((1+1)mdMb)j}构成的集合, 所述第一类上下相邻对为 (hbirhb((1+1)mdMb)j ) mod Q = a的同余上下 相邻对,
所述第二类上下相邻对为( hbij-hb ((l+i)m0dMb)j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是扩展因子 z的一个乘法因子, i是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0, 1, Mb-1, j=0, 1,..., Nb-1;
根据所述基础矩阵和其对应的扩展因子 z, 完成从(Nb-Mb) χζ比特的 源数据得到 Nbxz比特码字的 LDPC编码运算,其中 z是大于等于 1的正整数。 较佳地, 若 K2大于等于 3, 对于任意第 xl行和第 (xl+1 ) modMb行, 至多有三个第二类相邻对, 其中, xl=0, 1, Mb-1。 较佳地, 根据权利要求 1所述的方法, 其中, Q取值为以下任一: 2、 3、 4、 5、 6、 7、 8。 较佳地, 所述基础矩阵的第 j列所有对应非零方阵的元素有 Lj个, 从上 向下第一个元素是 0, Lj是大于等于 1的正整数, j=0, 1, Nb-1。 较佳地, K0的取值为以下任一:
1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12。 一种结构化 LDPC的译码方法, 包括:
确定译码使用的 MbxNb基础矩阵,所述基础矩阵包括对应于***比特的
Mbx (Nb-Mb ) 的块 A和对应于校验比特的 MbxMb的块 B, 所述基础矩阵 包含 K0个上下相邻对, 所述 Κ0个上下相邻对包括 K1个第一类上下相邻对 和有 Κ2个第二类上下相邻对, 其中, Κ0=Κ1+Κ2, Κ0是大于等于 6*Mb的 正整数, K2是大于等于 0且小于等于 2*Mb的正整数, 所述上下相邻对为所 述基础矩阵中两个对应非零方阵的元素 {hl¾, hb((1+1)mdMb)j}构成的集合, 所述第一类上下相邻对为 (hbirhb((1+1)mdMb)j ) mod Q = a的同余上下 相邻对,
所述第二类上下相邻对为( hbij-hb ((l+i)m0dMb)j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是所述基础矩阵对应的扩展因子 z的一个乘法因子, i是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0, 1, Mb-1, j=0, 1,..., Nb-1;
根据所述基础矩阵和对应的扩展因子 z, 完成从 Nbxz 比特的码字得到 ( Nb-Mb ) χζ比特信息数据的 LDPC译码运算, 其中, z是大于等于 1的正 整数。
较佳地, 若 K2大于等于 3, 对于任意第 xl行和第 (xl+1 ) modMb行, 至多有三个第二类相邻对, 其中, xl=0, 1, Mb-1。 较佳地, Q取值为以下任一:
2、 3、 4、 5、 6、 7、 8。 较佳地, 所述基础矩阵的第 j列所有对应非零方阵的元素有 Lj个, 从上 向下第一个元素是 0, Lj是大于等于 1的正整数, j=0、 1 Nb-1。 较佳地, 根据所述基础矩阵和对应的扩展因子, 完成从 Nbxz 比特的码 字得到 (Nb-Mb) χζ比特信息数据的 LDPC译码运算包括:
釆用分层置信传播 BP算法或者修正的最小和算法, 对所述基础矩阵进 行行更新, 包括:
在奇数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每个第二类相邻对中一个元素对应的边信息进行更新, 在偶数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每个第二类相邻对中另一个元素对应的边信息进行更新,
所述边信息为校验节点到变量节点信息;
使用所述边信息计算码字对数似然比, 并进行硬判, 并检验是否正确, 若正确则输出正确码字, 若错误则继续译码处理。 一种结构化 LDPC的编码装置, 包括:
基础矩阵存储模块, 其设置为: 至少存储编码使用的 MbxNb基础矩阵, 所述基础矩阵包括对应于***比特的 Mbx ( Nb-Mb )的块 A和对应于校验比 特的 MbxMb的块 B, 所述基础矩阵包含 K0个上下相邻对, 所述 K0个上下 相邻对包括 K1 个第一类上下相邻对和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等于 6*Mb的正整数, K2是大于等于 0且小于等于 2*Mb的正整数,所述上下相邻对为所述基础矩阵中两个对应非零方阵的元素 {hby , hb ( (l+i) m。d Mb )」 }构成的集合,
所述第一类上下相邻对为(hbij-hb
Figure imgf000010_0001
) mod Q = a的同余上下相 邻对,
所述第二类上下相邻对为( hbij-hb ( (l +i)m0d Mb) j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是扩展因子 z的一个乘法因子, i是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0, 1 , Mb-1 , j=0, 1,... , Nb-1 ; 编码运算模块, 设置为: 确定所述基础矩阵和其对应的扩展因子 z, 完 成从(Nb-Mb ) χζ比特的源数据得到 Nbxz比特码字的 LDPC编码运算, 其 中 z是大于等于 1的正整数。
较佳地, 若 K2大于等于 3 , 对于任意第 xl行和第 (xl+1 ) mod Mb行, 至多有三个第二类相邻对, 其中, xl=0, 1 , Mb-1。 较佳地, 其中, Q取值为以下任一 2、 3、 4、 5、 6、 7、 8。 较佳地, 所述基础矩阵的第 j列所有对应非零方阵的元素有 Lj个, 从上 向下第一个元素是 0, Lj是大于等于 1的正整数, j=0、 1 Nb-1。 较佳地, K0的取值为以下任一:
1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12。
一种结构化低密度奇偶校验码 LDPC的译码装置, 包括:
基础矩阵存储模块, 其设置为: 至少存储译码使用的 MbxNb基础矩阵, 所述基础矩阵包括对应于***比特的 Mbx (Nb-Mb)的块 A和对应于校验比 特的 MbxMb的块 B, 所述基础矩阵包含 K0个上下相邻对, 所述 K0个上下 相邻对包括 K1 个第一类上下相邻对和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等于 6*Mb的正整数, K2是大于等于 0且小于等于 2*Mb的正整数,所述上下相邻对为所述基础矩阵中两个对应非零方阵的元素 {hby , hb ( (l+i) m。d Mb )」 }构成的集合,
所述第一类上下相邻对为(hbij-hb^+ n^M^ ) modQ = a的同余上下相 邻对,
所述第二类上下相邻对为( hbij-hb ((l+i)m0dMb)j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是扩展因子 z的一个乘法因子, i是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0, 1, Mb-1, j=0, 1,..., Nb-1; 译码运算模块, 其设置为: 确定所述基础矩阵和对应的扩展因子 z, 完 成从 Nbxz比特的码字得到 (Nb-Mb) χζ比特信息数据的 LDPC译码运算, 其中 z是大于等于 1的正整数。
较佳地, 若 K2大于等于 3, 对于任意第 xl行和第 (xl+1 ) modMb行, 至多有三个第二类相邻对, 其中, xl=0, 1, Mb-1。 较佳地, 其中, Q取值为以下任一
2、 3、 4、 5、 6、 7、 8。 较佳地, 所述基础矩阵的第 j列所有对应非零方阵的元素有 Lj个, 从上 向下第一个元素是 0, Lj是大于等于 1的正整数, j=0、 1 Nb-1。 较佳地, 所述译码运算模块包括:
基础矩阵的行更新单元, 其设置为: 釆用分层置信传播 BP算法或者修 正的最小和算法, 对所述基础矩阵进行行更新, 包括:
在奇数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每一个第二类相邻对中一个元素对应的边信息进行更新,
在偶数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每一个第二类相邻对中另一个元素对应的边信息进行更新, 所述边信息为校验节点到变量节点信息;
译码判决单元, 其设置为使用所述边信息计算码字对数似然比, 并进行 硬判, 并检验是否正确, 若正确则输出正确码字, 若错误则继续译码处理。
本发明实施例还提供一种计算机程序, 包括程序指令, 当该程序指令被 编码装置执行时, 使得该编码装置可执行上述编码方法。
本发明实施例还提供一种计算机程序, 包括程序指令, 当该程序指令被 译码装置执行时, 使得该译码装置可执行上述译码的方法。
本发明实施例还提供一种载有上述任一计算机程序的载体。
本发明实施例提供了一种结构化 LDPC码的编码方法、 译码方法、 编码 阵, 根据所述基础矩阵和其对应的扩展因子, 完成编码或译码, 实现了高流 水线速度的 LDPC编码和译码, 解决了现有编译码器效率低下的问题。 附图概述 图 1 为数字通信***的模块图;
图 2 为本发明的实施例一提供的 LDPC码的编码器的结构示意图; 图 3为本发明的实施例一中所使用的基础矩阵示意图;
图 4 为本发明的实施例二提供的 LDPC码的译码器的结构示意图; 图 5为本发明的实施例二中所使用的基础矩阵示意图;
图 6为本发明的实施例二提供的一种传统分层译码流水线示意图; 图 7为本发明的实施例二提供的一种本发明分层译码流水线示意图; 图 8为本发明的实施例三提供的一种结构化 LDPC码的编码方法的流程 图;
图 9为本发明的实施例四提供的一种结构化 LDPC码的译码方法的流程 图;
图 10为本发明的实施例五提供的一种结构化 LDPC码的编码装置的结构 示意图;
图 11为本发明的实施例五提供的一种结构化 LDPC码的译码装置的结构 示意图。
本发明的较佳实施方式
对于传统的结构化 LDPC, 如果使用当前最流行的分层译码, 对数似然 比信息的读写影响了结构化 LDPC的流水线的排列。 具体地, 在高码率的时 候, 对于普通的结构化 LDPC结构, 译码器需要等待基础矩阵的一行的行更 新完成处理以后, 才可以开始下一级流水线, 如果一级流水特别长, 将严重 降低译码器的效率。 但是, 基础矩阵的可能组合方式的数量是极其巨大的, 现有技术还没有 一种减少等待时间的可行方法, 也得不到满足这样要求的基础矩阵。
为了解决上述问题, 本发明的实施例提供了一种结构化 LDPC的编码方 法、 译码方法、 编码装置和译码装置。 本发明的实施例从实用性考虑, 对同 一码率的多种码长, 使用同一个基础矩阵, 通常是对应于最大码长而生成的, 同时在不同码长时对该基础矩阵进行修正, 使得生成的编译码器可适用于码 长可变的场合。 但本发明不局限于此, 也可适用于对每一个码长釆用一个基 础矩阵的方式。 下文中将结合附图对本发明的实施例进行详细说明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一 本发明实施例提供了一种数字通信中结构化低密度奇偶校验码 LDPC的 编码装置, 其结构如图 2所示, 至少包括处理器 202和存储器 201。 所述存储器 201,设置为至少存储编码使用的有 K0个上下相邻对基础矩 阵和参数。 对于每个基础矩阵 Hb,若不同的上下相邻对有 K0个,则有 K1个第一类 上下相邻对和有 K2个第二类上行相邻对, 其中, K0=K1+K2, Κ0是大于等 于 6*Mb的正整数, K2大于等于 0且小于等于 2*Mb的正整数。
较佳地, 若 K2大于等于 3, 对于任何相邻的两行(xl行和(xl+1 ) mod
Mb行 )至多有三个第二类相邻对其中, xl和 x2取值从 0到 Mb-1。
其中, 上下相邻对定义为每个基础矩阵 Hb中两个对应非零方阵的元素 {hby, hb((1+1)mdMb)j}构成的集合, 即基础矩阵的某一列中两个相邻的对应非 零方阵的元素构成的集合, 其中最后一行与第一行定义为相邻, 最后一行定 义为第一行的上一行。第一类上下相邻对定义为(hl^-hbHw ,m0dMb)j ) mod Q = a的同余上下相邻对,第二类上下相邻对定义为(1ιΙ¾-1Λ"1+1 ,m0dMb)j ) mod Q = b的同余上下相邻对。
基础矩阵 Hb的第 j列所有对应非零方阵的元素有 Lj个,从上向下第一个 元素是 0, Lj是大于等于 1的正整数, j=0、 1 Nb-1。 需要指出, 本发明 不局限这种方式, 还可以是最后一个元素为 0, 还可以任意元素是 0。 这些方 式都可以保证, 如果釆用分层译码, 可以不使用循环移位逆网络, 可以明显 减少路由开销, 取得有益效果。
所述处理器 202,设置为确定所述基础矩阵和扩展因子 z,完成从 ( Nb-Mb ) χζ比特的源数据得到 Nbxz比特码字的 LDPC编码运算。
其中, 111¾表示一个基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是扩展因子 Z的一个乘法因子, 第 j列的列重指 ¾的第 j列所有对应非零方阵的元素个数, i是 ¾的行索引, j是 Hb的列索引, i=0, 1, Mb-1, j=0, 1,..., Nb-1, z是扩展因子, z是 大于等于 1的正整数; 较佳地, K2的典型取值以下之一: 1、 2、 3 12。
较佳地, Q的典型取值以下之一: 2、 3、 4、 5、 6、 7和 8。
下面给一个更加具体的例子,符合以上描述要求的基础矩阵 Hb如图 3所 示。
对于图 3 所示基础矩阵, 设参数该矩阵对应码率为 3/4, 矩阵行数为 Mb=4, 矩阵歹 'J数 Nb=16, Q=2, K2=4, K0=47, Kl=43, a=0, b=l。 该基础 矩阵对应扩展因子 z=42。 对于扩展因子 z=42=2*3*7, 所以 Q=2满足是扩展 因子 z的乘法因子。
对于图 3所示基础矩阵 Hb,若不同的上下相邻对有 K0=47个,则有 Kl=43 个第一类上下相邻对和有 Κ2=3个第二类上行相邻对,显然满足: Κ0=Κ1+Κ2, Κ0是大于 24的正整数, Κ2小于 8的正整数。 其中, 第一类上下相邻对定义为 (hbirhbH1+i )m。dMb)j ) mod2 = 0的上 下相邻对, 如图 3虚线框所示, 对于一列最上面半个虚框和最下面半个虚框 构成一个完整的虚框; 第二类上下相邻对定义为(1ιΙ¾-1Λ( (1+1 ) ηΜκ1Μΐ^ ) mod 2 = 1的上下相邻对, 如图 3实线框所示。
以上所给出的矩阵中, 最上面为列索引, 最左边为行索引, A部分矩阵 为***位部分矩阵, B部分为校险位部分矩阵,矩阵中值为 -1的元素对应 ζχζ 全 0方阵, 值为非 -1的元素对应于 ζχζ非零方阵, 该非零方阵为单位方阵循 环移位相应值后的矩阵。
根据以上所描述的特征, 上下相邻对是基础矩阵的某一列中两个相邻的 对应非零方阵的元素构成的集合, 具体如图中矩形线框内的 2元素。 其中虚 线框为第一类上下相邻对,对应 a=0,实线框为第二类上下相邻对,对应 b=l。 可以看出, 存在 4个第二类上下相邻对, 以上的基础校验矩阵中对于相 邻的两行不存在 2个以上的第二类上下相邻对, 例如: 第 0和第 1行, 只有 一个; 第 1和第 2行, 只有一个; 第 2和 3行, 有 2个; 第 3行和第 0行, 没有。
此外, 基础矩阵 Hb的所有列中第一对应非零方阵的元素都是 0。 此时, 循环移位网络只需要完成循环移位差值即可, 比如对于第一列, 循环移位网 络只需要实现移位 30-0、 20-30、 36-20、 0-36 即可, 对应第一个基础矩阵的 对数似然比信息在完成一次完整 LDPC迭代后回到顺序位置, 就可以硬判决 了, 如果正确则输出, 如果错误, 则继续迭代。 此时, 具有本发明实施例矩 阵结构的 LDPC分层译码器不需要循环移位逆网络, 同传统方案比较, 路由 减半。
较佳地, 上述编码器还可具有以下特点: 还包括扩展模块, 设置为根据 扩展因子和基本置换矩阵对所述基础矩阵进行扩展, 得到 (Mx x(^xz)低密 度奇偶校验码的奇偶校验矩阵, 所述译码运算模块是基于所述基础矩阵扩展 得到的该奇偶校验矩阵进行编码运算。 本发明实施例则通过提出的基础矩阵的结构对信息比特进行 LDPC 编 码, 可以产生 LDPC码字, 这样的 LDPC码字经过调制等模块以后发送到信 道,接收端接收信号后进行解调等处理,产生接收的 LDPC码字,接收 LDPC 码字将送到 LDPC译码器。 这样 LDPC码字可以保证译码的流水线速度取得 了提升的效果, 即译码器处理速度取得了提升的效果。 这就有效地提高了 LDPC 的效率, 加速了译码速度。 本发明实施例提出的基础矩阵的结构通过 允许不使用逆循环移位网络(用于写会存储)还可以使得交换网络减少, 同 样进一步减少硬件复杂度。
实施例二 本发明实施例提供了一种数字通信中结构化低密度奇偶校验码 LDPC的 译码装置, 其结构如图 4所示, 至少包括处理器 402和存储器 401。 所述存储器 401 ,设置为至少存储编码使用的有 K0个上下相邻对基础矩 阵和参数。 所述的基础矩阵包括以下特征: 对于每个基础矩阵 Hb,若不同的上下相邻对有 K0个,则有 K1个第一类 上下相邻对和有 K2个第二类上行相邻对, 其中, K0=K1+K2, Κ0是大于等 于 6*Mb的正整数, K2大于等于 1且小于等于 2*Mb的正整数。
较佳地, 若 K2大于等于 3 , 对于任何相邻的两行(xl行和(xl+1 ) mod Mb行 )至多有三个第二类相邻对, 其中, xl和 x2取值从 0到 Mb-1。
其中, 上下相邻对定义为每个基础矩阵 Hb中两个对应非零方阵的元素 {hby, hb ((1+1)md Mb) j }构成的集合, 即基础矩阵的某一列中两个相邻的对应非 零方阵的元素构成的集合, 其中最后一行与第一行定义为相邻, 最后一行定 义为第一行的上一行。第一类上下相邻对定义为(hl^-hb Hw , m0d Mb ) j ) mod Q = a的同余上下相邻对,第二类上下相邻对定义为(1ιΙ¾-1Λ"1+1 ,m0d Mb )j ) mod Q = b的同余上下相邻对。
基础矩阵 Hb的第 j列所有对应非零方阵的元素有 Lj个,从上向下第一个 元素是 0, Lj是大于等于 1的正整数, j=0, 1 , Nb-1。
所述一个处理器 402, 设置为根据所述基础矩阵和扩展因子 z, 完成从 Nbxz比特的码字得到 ( Nb-Mb ) χζ比特信息数据的 LDPC译码运算。
其中, 111¾表示一个基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是 0到 Q-1之间的整数, Q是扩展因子 Z的一个乘法因子, 第 j列的列 重指 ¾的第 j列所有对应非零方阵的元素个数, i是 ¾的行索引, j是 ¾的 列索引, i=0、 1 Mb-1 , j=0、 1,...、 Nb-1 , z是扩展因子, z是大于等于
1的正整数;
较佳地, K2的典型取值以下之一: 1、 2、 3 12。
较佳地, Q的典型取值以下之一: 2、 3、 4、 5、 6、 7和 8。
下面给一个更加具体的例子,符合以上描述要求的基础矩阵 Hb如图 5所 示。
对于图 5 所示的基础矩阵, 设参数该矩阵对应码率为 3/4, 矩阵行数为 Mb=4, 矩阵歹 'J数 Nb=16, Q=2, K2=4, K0=47, Kl=43 , a=0, b=l。 该基础 矩阵对应扩展因子 z=42。 对于扩展因子 z=42=2*3*7, 所以 Q=2满足是扩展 因子 z的乘法因子。
对于图 5所示的基础矩阵 Hb,不同的上下相邻对有 K0=47个,则有 Kl=43 个第一类上下相邻对和有 Κ2=3个第二类上行相邻对,显然满足: Κ0=Κ1+Κ2, Κ0是大于 24的正整数, Κ2小于 8的正整数。 其中, 第一类上下相邻对定义为 (hbirhb H1+i ) m。d Mb ) j ) mod 2 = 0的上 下相邻对, 如图虚线框所示, 对于一列最上面半个虚框和最下面半个虚框构 成一个完整的虚框; 第二类上下相邻对定义为(1ιΙ¾-1Λ ( ) md Mb ) j ) mod 2 = 1的上下相邻对, 如图 5中实线框所示。
以上所给出的矩阵中, 最上面为列索引, 最左边为行索引, A部分矩阵 为***位部分矩阵, B部分为校险位部分矩阵,矩阵中值为 -1的元素对应 ζχζ 全 0方阵, 值为非 -1的元素对应于 ζχζ非零方阵, 该非零方阵为单位方阵循 环移位相应值后的矩阵。 其中,
根据以上所描述的特征, 上下相邻对基础矩阵的某一列中两个相邻的对 应非零方阵的元素构成的集合, 具体如图 5中矩形线框内的 2元素。 其中虚 线框为第一类上下相邻对,对应 a=0,实线框为第二类上下相邻对,对应 b=l。
可以看出, 存在 4个第二类上下相邻对, 以上的基础校验矩阵中对于相 邻的两行不存在 2个以上的第二类上下相邻对, 例如: 第 0和第 1行, 只有 一个; 第 1和第 2行, 只有一个; 第 2和 3行, 有 2个; 第 3行和第 0行, 没有。
此外, 基础矩阵 Hb的所有列中第一对应非零方阵的元素都是 0。 此时, 循环移位网络只需要完成循环移位差值即可, 比如对于第一列, 循环移位网 络只需要实现移位 30-0、 20-30、 36-20、 0-36 即可, 对应第一个基础矩阵的 对数似然比信息在完成一次完整 LDPC迭代后回到顺序位置, 就可以硬判决 了, 如果正确则输出, 如果不正确, 则继续迭代。 此时, 具有本发明实施例 矩阵结构的 LDPC分层译码器不需要循环移位逆网络, 同传统方案比较, 路 由减半。进一步,所述的处理器的译码釆用分层 BP算法或者修正的最小和算 法, 对基础矩阵进行行更新, 在奇数次迭代的时候, 除了对第二类相邻对之 外的元素对应的边信息进行更新, 仅对每一个第二类相邻对中一个元素对应 的边信息 (校验节点到变量节点信息)进行更新; 在偶数次迭代的时候, 除 了对第二类相邻对之外的元素对应的边信息进行更新, 仅对每一个第二类相 邻对中另一个元素对应的边信息 (校验节点到变量节点信息)进行更新。
下面说明本发明实施例的码结构对译码的有益效果。
假设译码器的并行度为 parallel = 21 ,码字比特序列每 zf =42比特有一个 对数似然比 LLR的存储, 则出现了 16个 LLR的存储, 每个存储对应一个基 础矩阵的列。对于每个 LLR存储, 包括 wordnum = zf / parallel =2个字 (word), 一个字存储了对应基础矩阵一列的 42个比特中奇数比特,另一个字存储了偶 数比特。 其中, zf为扩展因子。
译码器译码时候, 对于每一个层 layemum (从 0到译码允许的最大层), 按照下面的公式选择奇偶校验矩阵 H的 21行进行更新:
rowind = RowindHb*zf +
其 中 , layernummod = mod(layernum,Totallayers) , RowindHb = fix(layernummod * parallel/zf); Totallayers = Mb*zf/parallel = 8;
对于分层译码器在第一时刻 tO对 0、 2 40行进行行更新, 完成第 一层的分层译码; 译码器在第二时刻 tl对 1、 3 41行进行行更新, 完 成第二层的分层译码; 译码器在第三时刻 t2对 42、 44 82行进行行更 新, 完成第三层的分层译码; 译码器在第四时刻 t3对 43、 45 83行进 行行更新, 完成第四层的分层译码; 译码器在第五时刻 t4对 84、 86 124 行进行行更新, 完成第五层的分层译码; 译码器在第六时刻 t5对 85、 87
125行进行行更新, 完成第六层的分层译码; 译码器在第七时刻 t6对 126、
128 166行进行行更新, 完成第七层的分层译码; 译码器在第八时刻 t7 对 127、 129 167行进行行更新, 完成第八层的分层译码; 于是, 就完 成了 LDPC码一次完整译码, 如果不收敛, 可以继续重复上述的过程, 直至 译码成功或者直到译码失败且达到最大允许次数。
对于传统的译码器, 需要等待第二层译码流水完全完成以后, 才可以开 始第三层的分层译码, 这里存在一个很长的等待时间。 同样, 需要等待第四 层译码流水完全完成以后, 才可以开始第五层的分层译码, 这里存在一个很 长的等待时间。 同样, 需要等待第六层译码流水完全完成以后, 才可以开始 第七层的分层译码, 这里存在一个很长的等待时间。 同样, 需要等待第六层 译码流水完全完成以后, 才可以开始第七层的分层译码, 这里存在一个很长 的等待时间。 依次类推, 这些等待时间使得 LDPC的流水线产生了很大的延 迟, 极大地降低了分层 LDPC码译码速度。 如图 10, 假设每个层 LDPC, 用 一个时钟读, 一个时钟处理, 一个时钟写, 每个时钟占用 T的时间, 完成完 整的 LDPC译码需要 16*T个时间。
由于我们的设计避免跨层时候上一个流水使用的 word —定和下一个流 水使用的 word不同, 且少量冲突的地方釆用分时处理, 如图 11所示, 只需 要 13 *T个时间; 事实上从整体来看 LDPC译码每 16*T个时间可以节约 4*Τ 个时间。
对于本发明实施例, 并行度可以选择为 7 , 则有 6个 word, 如果先处理 奇数 word后处理偶数 word,进行类似于图 4和图 5的排列,从整体来看 LDPC 需要 32*T个时间, 本发明译码可以节约 12*Τ个时间。 效果更加明显。
对于本发明实施例, 并行度可以扩展到 42, 从 0、 2 40行和 42、
44 82可以同时译码, 因为这些行需要相同地址的数据。 另外, 还可以 排流水线, 不过不是简单的分层译码算法, 但是节约时间效果更加明显。
对于本发明实施例, 并行度可以扩展到 84, 从 0、 2 40行和 42、 44 82和 84、 86 124和 126、 128 166行可以同时译码, 因 为这些行需要相同地址的数据。 另外, 还可以排流水线, 不过不是简单的分 层译码算法, 但是节约时间效果更加明显。
所以, 本发明实施例的结构可以支持非常高或者比较灵活的并行度, 满 足适合于超高速译码,从而达到 Gbps的译码需求。本实施例则通过提出的基 础矩阵的结构对信息比特进行 LDPC译码, LDPC译码器接收 LDPC码字。 这样 LDPC译码器可以保证译码的流水线速度取得了提升的效果, 即译码器 处理速度取得了提升的效果。 这就有效地提高了 LDPC码的效率, 加速了译 码速度。 本发明实施例提出的基础矩阵的结构通过允许不使用逆循环移位网 络(用于写会存储)还可以使得交换网络减少, 同样进一步减少硬件复杂度。 实施例三
本发明实施例提供了一种结构化 LDPC码的编码方法, 使用该方法完成 LDPC编码的流程如图 8所示, 包括:
步骤 801、 确定编码使用的包含 K0个上下相邻对的基础矩阵;
本步骤中, 所述基础矩阵包括对应于***比特的 Mbx ( Nb-Mb ) 的块 A 和对应于校验比特的 MbxMb的块 B, 对于所述基础矩阵, 则有 K1个第一类 上下相邻对和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等 于 6*Mb的正整数, K2是大于等于 0且小于等于 2*Mb的正整数, 上下相邻 对为每个基础矩阵中两个对应非零方阵的元素 {hl¾ , hb l+1)md Mb) j }构成的集 合,
所述第一类上下相邻对为(hbij-hb
Figure imgf000021_0001
) mod Q = a的同余上下相 邻对,
所述第二类上下相邻对为( hbij-hb ( (l +i)m0d Mb) j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1之间的整数, Q是扩展因子 z的一个乘法因 子, 第 j列的列重指所述基础矩阵的第 j列所有对应非零方阵的元素个数, i 是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0、 1 Mb-1 , j=0、 1,...、 Nb-1。
若 K2大于等于 3 , 对于任何相邻的两行( xl行和( xl+1 ) mod Mb行 ) 至多有三个第二类相邻对, 其中, 行索引 xl取值从 0到 Mb-1。
Q取值为以下任一:
2、 3、 4、 5、 6、 7、 8。
所述基础矩阵的第 j列所有对应非零方阵的元素有 Lj个, 从上向下第一 个元素是 0, Lj是大于等于 1的正整数, j=0、 1 Nb-1。
K0的取值为以下任一: 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12。
步骤 802、根据所述基础矩阵和其对应的扩展因子, 完成从(Nb-Mb ) xz 比特的源数据得到 Nbxz比特码字的 LDPC编码运算;
其中 z为扩展因子, z是大于等于 1的正整数。
实施例四
本发明实施例提供了一种结构化 LDPC码的编码方法, 使用该方法完成 LPDC编码的流程如图 9所示, 包括:
步骤 901、 确定译码使用的包含 K0个上下相邻对的基础矩阵;
所述基础矩阵包括对应于***比特的 Mbx ( Nb-Mb )的块 A和对应于校 验比特的 MbxMb的块 B, 对于所述基础矩阵, 则有 K1个第一类上下相邻对 和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等于 6*Mb的 正整数, K2为大于等于 1且小于等于 2*Mb的正整数,
上下相邻对为每个基础矩阵中两个对应非零方阵的元素 {hl¾, hb ( (l+1) mod Mb ) j }构成的集合,
所述第一类上下相邻对为(hbij-hb ^+ n^ M^ ) mod Q = a的同余上下相 邻对,
所述第二类上下相邻对为( hbij-hb ( (l +i)m0d Mb) j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是扩展因子 z的一个乘法因子, 第 j列的列重指所述基础矩阵的第 j列所有对应非零方阵的元素个数, i是所 述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0、 1 Mb-1 , j=0、
1,...、 Nb-1。
若 K2大于等于 3 , 对于任何相邻的两行( xl行和( xl+1 ) mod Mb行 ) 至多有三个第二类相邻对。 其中, xl取值从 0到 Mb-1。
Q取值为以下任一: 2、 3、 4、 5、 6、 7、 8。
所述基础矩阵的第 j列所有对应非零方阵的元素有 Lj个, 从上向下第一 个元素是 0, Lj是大于等于 1的正整数, j=0、 1 Nb-1。
步骤 902、根据所述基础矩阵和对应的扩展因子, 完成从 Nbxz比特的码 字得到 ( Nb-Mb ) χζ比特信息数据的 LDPC译码运算;
其中, z是扩展因子, z是大于等于 1的正整数。
本步骤具体:
1、 釆用分层 BP算法或者修正的最小和算法, 对所述基础矩阵进行行更 新, 包括:
在奇数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每一个第二类相邻对中一个元素对应的边信息进行更新,
在偶数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每一个第二类相邻对中另一个元素对应的边信息进行更新, 所述边信息为校验节点到变量节点信息;
2、使用所述边信息计算码字对数似然比,并进行硬判,并检验是否正确, 若正确则输出正确码字, 若错误则继续译码处理。
实施例五
本发明实施例提供了一种结构化 LDPC码的编码装置,其结构如图 10所 示, 包括:
基础矩阵存储模块 1001 , 设置为: 确定编码使用的包含 K0个上下相邻 对的基础矩阵, 所述基础矩阵包括对应于***比特的 Mbx ( Nb-Mb ) 的块 A 和对应于校验比特的 MbxMb的块 B, 对于所述基础矩阵, 则有 K1个第一类 上下相邻对和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等 于 6*Mb的正整数, K2是大于等于 0且小于等于 2*Mb的正整数, 上下相邻 对为每个基础矩阵中两个对应非零方阵的元素 {hl¾, hb ((1+1)md Mb) j }构成的集 合, 即基础矩阵的某一列中两个相邻的对应非零方阵的元素构成的集合, 其 中最后一行与第一行定义为相邻, 最后一行定义为第一行的上一行, 所述第一类上下相邻对为(hbij-hb ) mod Q = a的同余上下相 邻对,
所述第二类上下相邻对为( hbij-hb ( (l +i)m0d Mb) j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是扩展因子 z的一个乘法因子, 第 j列的列重指所述基础矩阵的第 j列所有对应非零方阵的元素个数, i是所 述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0、 1 Mb-1 , j=0、 1,...、 Nb-1 ;
编码运算模块 1002, 设置为: 根据所述基础矩阵和其对应的扩展因子, 完成从(Nb-Mb ) χ ζ比特的源数据得到 Nbxz比特码字的 LDPC编码运算, 其中 z为扩展因子, z是大于等于 1的正整数。
优选的, 若 K2大于等于 3 , 对于任何相邻的两行(xl行和(xl+1 ) mod Mb行)至多有三个第二类相邻对, 其中, 行索引 xl取值从 0到 Mb-1。
优选的, Q取值为以下任一:
2、 3、 4、 5、 6、 7、 8。
优选的, 所述基础矩阵的第 j列所有对应非零方阵的元素有 Lj个, 从上 向下第一个元素是 0, Lj是大于等于 1的正整数, j=0、 1 Nb-1。
优选的, K0的取值为以下任一:
1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12。
本发明实施例还提供了一种结构化 LDPC码的译码装置, 其结构如图 11 所示, 包括:
基础矩阵存储模块 1101 , 设置为: 确定译码使用的包含 K0个上下相邻 对的基础矩阵, 所述基础矩阵包括对应于***比特的 Mbx ( Nb-Mb ) 的块 A 和对应于校验比特的 MbxMb的块 B, 对于所述基础矩阵, 则有 K1个第一类 上下相邻对和有 K2个第二类上下相邻对, 其中, Κ0=Κ1+Κ2, Κ0是大于等 于 6*Mb的正整数, K2为大于等于 1且小于等于 2*Mb的正整数, 上下相邻对为每个基础矩阵中两个对应非零方阵的元素 ^ ^ ^ j }构成的集合, 即所述基础矩阵的某一列中两个相邻的对应非零方阵的元素 构成的集合, 其中最后一行与第一行定义为相邻, 最后一行定义为第一行的 上一行, 所述第一类上下相邻对为(hbij-hb ^+ n^ M^ ) mod Q = a的同余上下相 邻对,
所述第二类上下相邻对为( hbij-hb ( (l +i)m0d Mb) j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是 0到 Q-1之间的整数, Q是扩展因子 z的一个乘法因子, , 第 j列的 列重指所述基础矩阵的第 j列所有对应非零方阵的元素个数, i是所述基础矩 阵的行索引, j 是所述基础矩阵的列索引, i=0、 1 Mb-1 , j=0、 1,...、 Nb-1 ;
译码运算模块 1102, 设置为: 根据所述基础矩阵和对应的扩展因子, 完 成从 Nbxz比特的码字得到 (Nb-Mb ) χ ζ比特信息数据的 LDPC译码运算, 其中, z是扩展因子, z是大于等于 1的正整数。
优选的, 若 K2大于等于 3 , 对于任何相邻的两行(xl行和(xl+1 ) mod Mb行)至多有三个第二类相邻对。 其中, xl取值从 0到 Mb-1。
优选的, Q取值为以下任一:
2、 3、 4、 5、 6、 7、 8。
优选的, 所述基础矩阵的第 j列所有对应非零方阵的元素有 Lj个, 从上 向下第一个元素是 0, Lj是大于等于 1的正整数, j=0、 1 Nb-1。
优选的, 所述译码运算模块 1102包括:
基础矩阵的行更新单元 11021 , 设置为: 釆用分层 BP算法或者修正的最 小和算法, 对所述基础矩阵进行行更新, 包括:
在奇数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每一个第二类相邻对中一个元素对应的边信息进行更新, 在偶数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每一个第二类相邻对中另一个元素对应的边信息进行更新, 所述边信息为校验节点到变量节点信息;
译码判决单元 11022, 设置为: 使用所述边信息计算码字对数似然比, 并进行硬判, 并检验是否正确, 若正确则输出正确码字, 若错误则继续译码 处理。
本发明的实施例提供了一种结构化 LDPC码的编码方法、 译码方法、 编 矩阵, 根据所述基础矩阵和其对应的扩展因子, 完成编码或译码, 实现了高 流水线速度的 LDPC编码和译码, 解决了现有编译码器效率低下的问题。 本 发明实施例设计的矩阵结合特定的译码算法可以革命性地提高译码器效率, 对于超高速低复杂度 LDPC码的发展和应用将意义重大。 本发明的实施例提 供的技术方案可以应用于数字通信***中数据传输的纠错编码技术, 得到一 种效率提升或者复杂度减少的 LDPC码, 特别适用超高速的场景。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计 算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中, 所述计算机程序在相应的硬件平台上(如***、 设备、 装置、 器件等)执行, 在执行时, 包括方法实施例的步骤之一或其组合。
可选地, 上述实施例的全部或部分步骤也可以使用集成电路来实现, 这 些步骤可以被分别制作成一个个集成电路模块, 或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。 这样, 本发明不限制于任何特定的硬 件和软件结合。
上述实施例中的各装置 /功能模块 /功能单元可以釆用通用的计算装置来 实现, 它们可以集中在单个的计算装置上, 也可以分布在多个计算装置所组 成的网络上。 上述实施例中的各装置 /功能模块 /功能单元以软件功能模块的形式实现 并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。 上述提到的计算机可读取存储介质可以是只读存储器, 磁盘或光盘等。
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想 到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范 围应以权利要求所述的保护范围为准。
工业实用性
通过本发明实施例适用于结构化 LDPC码的编码译码, 实现了高流水线 速度的 LDPC编码和译码。

Claims

权 利 要 求 书
1、 一种结构化低密度奇偶校验 LDPC的编码方法, 包括:
确定编码使用的 MbxNb基础矩阵,所述基础矩阵包括对应于***比特的 Mbx (Nb-Mb ) 的块 A和对应于校验比特的 MbxMb的块 B, 所述基础矩阵 包含 K0个上下相邻对, 所述 K0个上下相邻对包括 K1个第一类上下相邻对 和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等于 6*Mb的 正整数, K2是大于等于 0且小于等于 2*Mb的正整数, 所述上下相邻对为所 述基础矩阵中两个对应非零方阵的元素 {hl¾, hb((1+1)mdMb)j}构成的集合, 所述第一类上下相邻对为 (hbirhb((1+1)mdMb)j ) mod Q = a的同余上下 相邻对,
所述第二类上下相邻对为( hbij-hb ((l+i)m0dMb)j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是扩展因子 z的一个乘法因子, i是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0, 1, Mb-1, j=0, 1,..., Nb-1;
根据所述基础矩阵和其对应的扩展因子 z, 完成从(Nb-Mb) χζ比特的 源数据得到 Nbxz比特码字的 LDPC编码运算,其中 z是大于等于 1的正整数。
2、 根据权利要求 1所述的方法, 其中,
若 K2大于等于 3, 对于任意第 xl行和第(xl+l)modMl^f, 至多有三 个第二类相邻对, 其中, χΐ=0, 1, Mb-1。
3、 根据权利要求 1所述的方法, 其中, Q取值为以下任一:
2、 3、 4、 5、 6、 7、 8。
4、 根据权利要求 1所述的方法, 其中, 所述基础矩阵的第 j列所有对应 非零方阵的元素有 Lj个, 从上向下第一个元素是 0, Lj是大于等于 1的正整 数, j=0, 1, Nb-1。 5、 根据权利要求 1所述的方法, 其中, K0的取值为以下任一:
1、 2、 3、 4、
5、 6、 7、 8、 9、 10、 11、 12。
6、 一种结构化低密度奇偶校验码 LDPC的译码方法, 包括:
确定译码使用的 MbxNb基础矩阵,所述基础矩阵包括对应于***比特的 Mbx (Nb-Mb ) 的块 A和对应于校验比特的 MbxMb的块 B, 所述基础矩阵 包含 K0个上下相邻对, 所述 K0个上下相邻对包括 K1个第一类上下相邻对 和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等于 6*Mb的 正整数, K2是大于等于 0且小于等于 2*Mb的正整数, 所述上下相邻对为所 述基础矩阵中两个对应非零方阵的元素 {hl¾, hb((1+1)mdMb)j}构成的集合, 所述第一类上下相邻对为 (1Λι 1Λ((1 +υ ηΜκ1Μ^ ) mod Q = a的同余上下 相邻对,
所述第二类上下相邻对为( hbij-hb ((l+i)m0dMb)j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是所述基础矩阵对应的扩展因子 z的一个乘法因子, i是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0, 1, Mb-1, j=0, 1,..., Nb-1;
根据所述基础矩阵和对应的扩展因子 z, 完成从 Nbxz 比特的码字得到 ( Nb-Mb ) χζ比特信息数据的 LDPC译码运算, 其中, z是大于等于 1的正 整数。
7、 根据权利要求 6所述的方法, 其中,
若 K2大于等于 3, 对于任意第 xl行和第(xl+l)modMl^f, 至多有三 个第二类相邻对, 其中, χΐ=0, 1, Mb-1。
8、 根据权利要求 6所述的方法, 其中, Q取值为以下任一:
2、 3、 4、 5、 6、 7、 8。
9、 根据权利要求 6所述的方法, 其中, 所述基础矩阵的第 j列所有对应 非零方阵的元素有 Lj个, 从上向下第一个元素是 0, Lj是大于等于 1的正整 数, j=0、 1 Nb-1。
10、 根据权利要求 6所述的方法, 其中, 根据所述基础矩阵和对应的扩 展因子, 完成从 Nbxz比特的码字得到 (Nb-Mb ) ζ比特信息数据的 LDPC 译码运算包括:
釆用分层置信传播 BP算法或者修正的最小和算法, 对所述基础矩阵进 行行更新, 包括:
在奇数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每个第二类相邻对中一个元素对应的边信息进行更新,
在偶数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每个第二类相邻对中另一个元素对应的边信息进行更新,
所述边信息为校验节点到变量节点信息;
使用所述边信息计算码字对数似然比, 并进行硬判, 并检验是否正确, 若正确则输出正确码字, 若错误则继续译码处理。
11、 一种结构化低密度奇偶校验码 LDPC的编码装置, 包括:
基础矩阵存储模块, 其设置为: 至少存储编码使用的 MbxNb基础矩阵, 所述基础矩阵包括对应于***比特的 Mbx ( Nb-Mb )的块 A和对应于校验比 特的 MbxMb的块 B, 所述基础矩阵包含 K0个上下相邻对, 所述 K0个上下 相邻对包括 K1 个第一类上下相邻对和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等于 6*Mb的正整数, K2是大于等于 0且小于等于 2*Mb的正整数,所述上下相邻对为所述基础矩阵中两个对应非零方阵的元素 {hby , hb ( (l+i) m。d Mb )」 }构成的集合,
所述第一类上下相邻对为(hbij-hb
Figure imgf000030_0001
) mod Q = a的同余上下相 邻对,
所述第二类上下相邻对为( hbij-hb ( (l +i)m0d Mb) j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-l的整数, Q是扩展因子 z的一个乘法因子, i是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0, 1 , Mb-1 , j=0, 1,... , Nb-1 ;
编码运算模块, 设置为: 确定所述基础矩阵和其对应的扩展因子 z, 完 成从(Nb-Mb ) χ ζ比特的源数据得到 Nbxz比特码字的 LDPC编码运算, 其 中 z是大于等于 1的正整数。
12、 根据权利要求 11所述的装置, 其中, 若 K2大于等于 3 , 对于任意 第 xl行和第 (xl+1 ) mod Mb行, 至多有三个第二类相邻对, 其中, xl=0, 1 , Mb-1。
13、 根据权利要求 11所述的装置, 其中, Q取值为以下任一:
2、 3、 4、 5、 6、 7、 8。
14、 根据权利要求 11所述的装置, 其中, 所述基础矩阵的第 j列所有对 应非零方阵的元素有 Lj个, 从上向下第一个元素是 0, Lj是大于等于 1的正 整数, j=0、 1 Nb-1。
15、 根据权利要求 11所述的装置, 其中, K0的取值为以下任一:
1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12。
16、 一种结构化低密度奇偶校验码 LDPC的译码装置, 包括:
基础矩阵存储模块, 其设置为: 至少存储译码使用的 MbxNb基础矩阵, 所述基础矩阵包括对应于***比特的 Mbx ( Nb-Mb )的块 A和对应于校验比 特的 MbxMb的块 B, 所述基础矩阵包含 K0个上下相邻对, 所述 K0个上下 相邻对包括 K1 个第一类上下相邻对和有 K2个第二类上下相邻对, 其中, K0=K1+K2, Κ0是大于等于 6*Mb的正整数, K2是大于等于 0且小于等于 2*Mb的正整数,所述上下相邻对为所述基础矩阵中两个对应非零方阵的元素 {hby , hb ( (l+i) m。d Mb )」 }构成的集合,
所述第一类上下相邻对为(hbij-hb ^+ n^ M^ ) mod Q = a的同余上下相 邻对, 所述第二类上下相邻对为( hbij-hb ( (l +i)m0d Mb) j ) mod Q = b的同余上下相 邻对,
其中, 111¾表示所述基础矩阵的第 i行和 j列的元素, 其中, a和 b不等, a和 b是大于等于 0小于等于 Q-1的整数, Q是扩展因子 z的一个乘法因子, i是所述基础矩阵的行索引, j是所述基础矩阵的列索引, i=0, 1 , Mb-1 , j=0, 1,... , Nb-1 ;
译码运算模块, 其设置为: 确定所述基础矩阵和对应的扩展因子 z, 完 成从 Nbxz比特的码字得到 (Nb-Mb ) χζ比特信息数据的 LDPC译码运算, 其中 z是大于等于 1的正整数。
17、 根据权利要求 16所述的装置, 其中,
若 K2大于等于 3 , 对于任意第 xl行和第(xl+l ) mod Ml^f, 至多有三 个第二类相邻对, 其中, χΐ=0, 1 , Mb-1。
18、 根据权利要求 16所述的装置, 其中, Q取值为以下任一:
2、 3、 4、 5、 6、 7、 8。
19、 根据权利要求 16所述的装置, 其中, 所述基础矩阵的第 j列所有对 应非零方阵的元素有 Lj个, 从上向下第一个元素是 0, Lj是大于等于 1的正 整数, j=0、 1 Nb-1。
20、 根据权利要求 16所述的装置, 其中, 所述译码运算模块包括: 基础矩阵的行更新单元, 其设置为: 釆用分层置信传播 BP算法或者修 正的最小和算法, 对所述基础矩阵进行行更新, 包括:
在奇数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每一个第二类相邻对中一个元素对应的边信息进行更新,
在偶数次迭代的时候, 除了对第二类相邻对之外的元素对应的边信息进 行更新, 仅对每一个第二类相邻对中另一个元素对应的边信息进行更新, 所述边信息为校验节点到变量节点信息;
译码判决单元, 其设置为使用所述边信息计算码字对数似然比, 并进行 硬判, 并检验是否正确, 若正确则输出正确码字, 若错误则继续译码处理。
21、 一种计算机程序, 包括程序指令, 当该程序指令被编码装置执行时, 使得该编码装置可执行权利要求 1-5任一项所述的方法。
22、 一种载有权利要求 21所述计算机程序的载体。
23、 一种计算机程序, 包括程序指令, 当该程序指令被译码装置执行时, 使得该译码装置可执行权利要求 6-10任一项所述的方法。
24、 一种载有权利要求 23所述计算机程序的载体。
PCT/CN2014/085132 2014-02-21 2014-08-25 结构化ldpc的编码方法、译码方法、编码装置和译码装置 WO2015123979A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020167025944A KR101789959B1 (ko) 2014-02-21 2014-08-25 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치
US15/120,126 US10320419B2 (en) 2014-02-21 2014-08-25 Encoding method, decoding method, encoding device and decoding device for structured LDPC
ES14882882T ES2788664T3 (es) 2014-02-21 2014-08-25 Procedimiento de codificación, procedimiento de descodificación, dispositivo de codificación y dispositivo de descodificación para códigos LDPC estructurados
EP14882882.5A EP3110009B1 (en) 2014-02-21 2014-08-25 Encoding method, decoding method, encoding device and decoding device for structured ldpc codes
JP2016553305A JP6555759B2 (ja) 2014-02-21 2014-08-25 構造化されたldpcのコーディング方法、デコーディング方法、コーディング装置及びデコーディング装置
EP20161633.1A EP3799313A1 (en) 2014-02-21 2014-08-25 Encoding method, decoding method, encoding device and decoding device for structured qc-ldpc codes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410061163.0A CN104868925B (zh) 2014-02-21 2014-02-21 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN201410061163.0 2014-02-21

Publications (1)

Publication Number Publication Date
WO2015123979A1 true WO2015123979A1 (zh) 2015-08-27

Family

ID=53877603

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/085132 WO2015123979A1 (zh) 2014-02-21 2014-08-25 结构化ldpc的编码方法、译码方法、编码装置和译码装置

Country Status (7)

Country Link
US (1) US10320419B2 (zh)
EP (2) EP3110009B1 (zh)
JP (1) JP6555759B2 (zh)
KR (1) KR101789959B1 (zh)
CN (1) CN104868925B (zh)
ES (1) ES2788664T3 (zh)
WO (1) WO2015123979A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019517209A (ja) * 2016-05-13 2019-06-20 中興通訊股▲ふん▼有限公司Zte Corporation 構造的ldpcの符号化、復号化方法および装置
CN109951250A (zh) * 2017-12-21 2019-06-28 华为技术有限公司 通信信号的ldpc编码方法和装置

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106160937B (zh) 2015-04-15 2019-01-04 中兴通讯股份有限公司 一种实现码块分割的方法及装置
CN106921395B (zh) * 2015-12-28 2021-09-28 北京忆芯科技有限公司 Ldpc编码方法及其装置
WO2017193558A1 (zh) * 2016-05-13 2017-11-16 中兴通讯股份有限公司 结构化ldpc码的数据处理方法及装置
CN107370489B (zh) 2016-05-13 2020-07-28 中兴通讯股份有限公司 结构化ldpc码的数据处理方法及装置
CN107733440B (zh) * 2016-08-12 2022-12-02 中兴通讯股份有限公司 多边类型结构化ldpc处理方法及装置
US10270466B2 (en) * 2016-08-15 2019-04-23 Hughes Network Systems, Llc LDPC performance improvement using SBE-LBD decoding method and LBD collision reduction
CN107888198B (zh) 2016-09-30 2023-05-26 中兴通讯股份有限公司 准循环ldpc编译码方法、装置及ldpc编译码器
WO2018084735A1 (en) * 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
CN108023598B (zh) * 2016-11-03 2021-05-07 华为技术有限公司 编码方法、译码方法及无线通信设备
CN108234064B (zh) * 2016-12-09 2022-05-03 中兴通讯股份有限公司 准循环ldpc码数据处理装置及处理方法
CN108270448B (zh) * 2017-01-04 2022-11-15 中兴通讯股份有限公司 准循环低密度奇偶校验编码方法及装置
CN110430010B (zh) * 2017-01-05 2020-08-07 华为技术有限公司 信息处理的方法和设备
WO2018126914A1 (zh) * 2017-01-09 2018-07-12 中兴通讯股份有限公司 准循环低密度奇偶校验码的编码方法及装置、存储介质
TWI652907B (zh) * 2017-01-09 2019-03-01 聯發科技股份有限公司 用於新無線電低密度奇偶校驗碼的偏移係數和提升因數設計
CN106921396B (zh) * 2017-03-02 2019-12-06 电子科技大学 一种用于ldpc码的混合译码方法
CN108631925B (zh) * 2017-03-24 2022-05-03 中兴通讯股份有限公司 一种准循环低密度奇偶校验编码处理方法及装置
SG11202009379VA (en) 2017-03-24 2020-10-29 Zte Corp Processing method and device for quasi-cyclic low density parity check coding
CN114614947A (zh) * 2017-05-04 2022-06-10 三星电子株式会社 在通信或广播***中用于信道编码和解码的方法和设备
WO2018201912A1 (zh) * 2017-05-05 2018-11-08 电信科学技术研究院有限公司 低密度奇偶校验码的基础图选择方法及装置
CN108809509B (zh) * 2017-05-05 2021-01-22 电信科学技术研究院 低密度奇偶校验码的基础图选择方法及装置
AU2017418080B9 (en) 2017-06-15 2021-01-28 Huawei Technologies Co., Ltd. Information processing method and communication apparatus
US10623139B2 (en) * 2017-06-23 2020-04-14 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in communication or broadcasting system
KR102378706B1 (ko) * 2017-06-23 2022-03-28 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
CN110677157B (zh) 2017-06-27 2023-02-07 华为技术有限公司 信息处理的方法、装置和通信设备
CN108712174B9 (zh) * 2017-06-27 2019-08-30 华为技术有限公司 信息处理的方法、装置和通信设备
CN109391367B (zh) * 2017-08-11 2022-12-30 华为技术有限公司 通信方法和装置
CN109995379B (zh) * 2017-12-29 2021-07-16 华为技术有限公司 处理信息的方法和装置
CN110661593B (zh) * 2018-06-29 2022-04-22 中兴通讯股份有限公司 一种译码器、方法和计算机存储介质
CN111064475A (zh) * 2018-10-16 2020-04-24 华为技术有限公司 基于低密度奇偶校验码的译码方法及装置
CN111224673A (zh) * 2018-11-26 2020-06-02 中兴通讯股份有限公司 译码方法、装置及译码器
CN112583419B (zh) * 2019-09-30 2024-06-18 华为技术有限公司 一种译码方法及装置
CN115250162A (zh) * 2021-04-26 2022-10-28 华为技术有限公司 码字同步方法、接收器、网络设备及网络***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064627A1 (en) * 2004-09-22 2006-03-23 Stmicroelectronics N.V. Method and device for delivering punctured code words encoded with a LDPC code
CN101217337A (zh) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
CN101325474A (zh) * 2007-06-12 2008-12-17 中兴通讯股份有限公司 Ldpc码的混合自动请求重传的信道编码及调制映射方法
CN103220005A (zh) * 2013-05-02 2013-07-24 广州海格通信集团股份有限公司 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法
CN103236860A (zh) * 2013-05-02 2013-08-07 广州海格通信集团股份有限公司 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752521B2 (en) * 2004-10-12 2010-07-06 Nortel Networks Limited Low density parity check (LDPC) code
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
KR101216075B1 (ko) * 2004-12-22 2012-12-26 엘지전자 주식회사 채널 코드를 이용한 복호화 및 복호화 장치
CN100486150C (zh) * 2005-01-23 2009-05-06 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
US7774675B1 (en) * 2005-12-05 2010-08-10 Marvell International Ltd. LDPC codes and expansion method
US8028216B1 (en) * 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
CN101212277A (zh) * 2006-12-29 2008-07-02 中兴通讯股份有限公司 支持多协议标准的ldpc码译码装置
JP4487213B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、並びにプログラム
US20090113256A1 (en) * 2007-10-24 2009-04-30 Nokia Corporation Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding
US8392786B2 (en) * 2008-05-07 2013-03-05 Broadcom Corporation LDPC coding systems for 60 GHz millimeter wave based physical layer extension
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
JP2010114862A (ja) * 2008-10-10 2010-05-20 Panasonic Corp 符号化器、送信装置及び符号化方法
US8627166B2 (en) * 2011-03-16 2014-01-07 Samsung Electronics Co., Ltd. LDPC code family for millimeter-wave band communications in a wireless network
CN104202057B (zh) * 2014-02-12 2019-08-16 中兴通讯股份有限公司 信息处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064627A1 (en) * 2004-09-22 2006-03-23 Stmicroelectronics N.V. Method and device for delivering punctured code words encoded with a LDPC code
CN101217337A (zh) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
CN101325474A (zh) * 2007-06-12 2008-12-17 中兴通讯股份有限公司 Ldpc码的混合自动请求重传的信道编码及调制映射方法
CN103220005A (zh) * 2013-05-02 2013-07-24 广州海格通信集团股份有限公司 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法
CN103236860A (zh) * 2013-05-02 2013-08-07 广州海格通信集团股份有限公司 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019517209A (ja) * 2016-05-13 2019-06-20 中興通訊股▲ふん▼有限公司Zte Corporation 構造的ldpcの符号化、復号化方法および装置
US10892778B2 (en) 2016-05-13 2021-01-12 Zte Corporation Encoding method and device and decoding method and device for structured LDPC
JP7025349B2 (ja) 2016-05-13 2022-02-24 中興通訊股▲ふん▼有限公司 構造的ldpcの符号化、復号化方法および装置
JP2022058949A (ja) * 2016-05-13 2022-04-12 中興通訊股▲ふん▼有限公司 構造的ldpcの符号化、復号化方法および装置
JP7372369B2 (ja) 2016-05-13 2023-10-31 中興通訊股▲ふん▼有限公司 構造的ldpcの符号化、復号化方法および装置
CN109951250A (zh) * 2017-12-21 2019-06-28 华为技术有限公司 通信信号的ldpc编码方法和装置
CN109951250B (zh) * 2017-12-21 2021-01-08 华为技术有限公司 通信信号的ldpc编码方法和装置

Also Published As

Publication number Publication date
KR20160122261A (ko) 2016-10-21
US20170230058A1 (en) 2017-08-10
US10320419B2 (en) 2019-06-11
EP3799313A1 (en) 2021-03-31
EP3110009A4 (en) 2017-03-08
JP2017506469A (ja) 2017-03-02
KR101789959B1 (ko) 2017-10-25
EP3110009B1 (en) 2020-03-11
CN104868925A (zh) 2015-08-26
CN104868925B (zh) 2019-01-22
EP3110009A1 (en) 2016-12-28
ES2788664T3 (es) 2020-10-22
JP6555759B2 (ja) 2019-08-07

Similar Documents

Publication Publication Date Title
WO2015123979A1 (zh) 结构化ldpc的编码方法、译码方法、编码装置和译码装置
US11323134B2 (en) Encoding method and device and decoding method and device for structured LDPC
US9544090B2 (en) Hard input low density parity check decoder
US7343548B2 (en) Method and apparatus for encoding and decoding data
WO2011058760A1 (ja) 符号化方法、復号方法、符号化器、及び、復号器
WO2018128560A1 (en) Efficiently decodable qc-ldpc code
WO2006047919A1 (fr) Matrice de base, coder/encodeur et methode de generation de codes de controle de parite faible densite
WO2006076834A1 (fr) Matrice de base fondee sur un ldcp irregulier et procedes de generation de cette matrice
WO2015135298A1 (zh) 一种支持低码率编码的方法及装置、计算机存储介质
WO2017193614A1 (zh) 结构化ldpc的编码、译码方法及装置
JP5510447B2 (ja) 復号装置および復号方法
US11075650B1 (en) Sub-matrix reduction for quasi-cyclic LDPC codes
Kania et al. Code construction algorithm for architecture aware LDPC codes with low-error-floor
CN113517895A (zh) 用于准循环低密度奇偶校验码的垂直分层解码的方法及装置
Peng Ultra-low power LDPC decoder design with high parallelism for wireless communication system
趙雄心 Research on LDPC Decoder Design Methodology for Error-Correcting Performance and Energy-Efficiency
Zhang et al. High-Throughput Irregular LDPC Decoder

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016553305

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014882882

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014882882

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20167025944

Country of ref document: KR

Kind code of ref document: A