WO2017193614A1 - 结构化ldpc的编码、译码方法及装置 - Google Patents
结构化ldpc的编码、译码方法及装置 Download PDFInfo
- Publication number
- WO2017193614A1 WO2017193614A1 PCT/CN2017/070488 CN2017070488W WO2017193614A1 WO 2017193614 A1 WO2017193614 A1 WO 2017193614A1 CN 2017070488 W CN2017070488 W CN 2017070488W WO 2017193614 A1 WO2017193614 A1 WO 2017193614A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- matrix
- equal
- upper left
- column
- ldpc
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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
Definitions
- the present invention relates to the field of communications, and in particular, to a coding and decoding method and apparatus for a structured Low Density Parity Check Codes (LDPC).
- LDPC Low Density Parity Check Codes
- FIG. 1 is a typical digital communication system.
- LDPC is 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.
- the latest research shows that the LDPC code has the following characteristics: low decoding complexity, linear time coding, close to Shannon limit performance, parallel decoding, and superior Turbo code under long code length conditions.
- the LDPC code is a special linear block code.
- the LDPC code is a linear block code based on the sparse check matrix. It is because of the sparsity of its check matrix that low-complexity coding and decoding can be realized, which makes the LDPC code practical.
- the Gallager code mentioned above is a regular LDPC code (regular ldpcc), while Luby and Mitzenmacher et al. generalize the Gallager code and propose a non-regular LDPC code (irregular ldpcc).
- the code originally proposed by Gallager has a regular code structure, its check matrix is a sparse matrix, and each row has the same number of 1, and each column also has the same number of ones.
- M.G.Luby believes that if the number of non-zero elements in a row or column of a check matrix is allowed to change, While ensuring the sparsity of the matrix, the coding decoding algorithm is still applicable, and the performance of the coding can be greatly improved, so that it can achieve or exceed the performance of the Turbo code. This is because in this coding structure, if the left and right nodes of the corresponding bipartite graph have a proper degree distribution, there will be a wave effect at the time of decoding, which will greatly Improve decoding performance.
- the non-regular code is the low-density code that allows the same kind of nodes to have different numbers of times, and the code originally proposed by Gallager is called a regular code.
- the graphical representation of the LDPC parity check matrix is a bipartite graph.
- An M*N parity check matrix H defines a constraint that each codeword having N bits satisfies M parity sets.
- a bipartite graph includes 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.
- the concept girth is used to quantitatively describe the short circle in the bipartite graph.
- the girth of the bipartite graph refers to the circle length of the shortest circle in a graph. For example, if a bipartite graph has a length of 6, 8, 10, 12 and a longer length, the girth of the bipartite graph is 6.
- the girth of the variable node refers to the circle length of the shortest circle passing through the node. Since a variable node uniquely corresponds to one codeword bit, the girth of a codeword bit is the girth of a variable node. Structured LDPC code
- Structured LDPC code is one of the most popular LDPC codes in the industry. It has the widest application and is currently appearing in IEEE802.11n/ad, IEEE802.16e and other international standards. This type of LDPC code is often called in academia. It is a quasi-cyclic LDPC code or a multilateral LDPC code.
- the parity check matrix H of such an LDPC code structured LDPC code is set to a (M ⁇ z) ⁇ (N ⁇ z) matrix, which is composed of M ⁇ N block matrices, each of which is z
- the different permutation of the basic permutation matrix of ⁇ z When the basic permutation matrix is a unit matrix, they are cyclic shifting matrices of the unit array (the default is right shift in the text). By such a power j, each block matrix can be uniquely identified.
- the power of the identity matrix can be represented by 0, and the matrix is generally represented by -1.
- Hb is the basic matrix of H
- H is called the extension matrix of Hb.
- z code length / number of columns N of the basic matrix, called the spreading factor.
- the structured LDPC code is defined by a parity check matrix H of size (mb ⁇ z) ⁇ (nb ⁇ z), wherein the parity check matrix H is of size mb ⁇ nb
- the basic matrix Hb, the expansion factor z, and the basic permutation matrix P are determined by three variables.
- the hb ij power matrix of all elements in the base matrix Hb is replaced by a full 0 square matrix or a basic permutation matrix P to obtain an expanded parity check matrix H, where hb ij is an element in Hb.
- the basic matrix Hb is defined as follows.
- the expanded parity check matrix H is defined as follows.
- the encoder of the LDPC code is uniquely generated by the base matrix Hb, the spreading factor z and the selected basic permutation matrix. According to the definition of the above basic matrix, it can be seen Given a spreading factor (an integer z greater than one), the underlying matrix and the parity check matrix are essentially one thing.
- B]. According to H ⁇ x 0, you can get:
- B-1 has a very simple form, which can be directly calculated according to the above formula to obtain a check in the codeword. Bit portion c, and can guarantee that the encoder has 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 length of p 2 is (mg).
- the dimension of A is (mg) ⁇ (nm)
- B is (mg) ⁇ g
- T is (mg) ⁇ (mg)
- C is g ⁇ (nm)
- D is g ⁇ g
- E It is g ⁇ (mg). All of these matrices are sparse matrices
- T is the lower triangular matrix with the main diagonal elements all ones.
- the check bit portion can be obtained by the following formula:
- a vector decoding method can also be considered. If the check bit portion of a structured LDPC code is a strictly lower triangular matrix, it can be coded according to the following vector method, which is very mature and simple.
- the information sequence x can be divided into kb subsequences of length z:
- each subsequence is as follows:
- x(i) [x i ⁇ z , x i ⁇ z+1 , x i ⁇ z+2 ,...,x i ⁇ z+z-1 ]
- the check sequence b is divided into mb subsequences of length z:
- each subsequence is as follows:
- b(i) [b i ⁇ z , b i ⁇ z+1 , b i ⁇ z+2 ,...,b i ⁇ z+z-1 ]
- each subsequence is as follows:
- v(i) [v i ⁇ z , v i ⁇ z+1 , v i ⁇ z+2 ,...,v i ⁇ z+z-1 ]
- the LDPC code encoding steps are as follows:
- the encoder of the LDPC code can be uniquely described by the LDPC parity check matrix H,
- the coding method of the body is very mature and simple, and will not be described here.
- 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, and also determines what can be supported. Incremental redundancy HARQ and whether it is flexible enough. Therefore, it is crucial to find the parity check matrix structure of the appropriate LDPC code, which determines the use prospect of the LDPC code.
- the above direct method or the Richarson method or other method operations may be used to complete the encoding function of the N-bit codeword from the source data of the N-M bit.
- the encoder is a multiplication and addition of sparse matrices in software or hardware implementations.
- the multiplication of sparse matrices can be performed by multiple z-bits (z is The expansion factor is composed of a cyclic shift register and a plurality of z-bit adders, and the addition of the sparse matrix is performed by the above-mentioned plurality of z-bit adders, the plurality of z-bit cyclic shift registers and a plurality of z
- the bit adder constructs a LDPC encoder implemented by a hardware circuit.
- the graphical representation of the LDPC parity check matrix is a bipartite graph.
- An M*N parity check matrix H defines a constraint that each codeword having N bits satisfies M parity sets.
- a bipartite graph includes 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.
- the information transfer decoding algorithm of the LDPC code assumes that the variable nodes are independent of each other, and the existence of the short circle necessarily destroys the assumption of independence, so that the decoding performance is significantly degraded.
- the girth of the bipartite graph, the girth of the node, and the girth of the edge are explained below.
- the short circle in the bipartite graph introduces the related concept of girth.
- the girth of the bipartite graph refers to the circle length of the shortest circle in a figure. For example, if a bipartite graph has a length of 6, 8, 10, 12 and a longer length, the girth of the bipartite graph is 6.
- the girth (the girth at node u) of a node u) of a node u refers to the circle length of the shortest circle passing through the node u.
- the girth of this node u is 8.
- the girth (the girth at node u) of an edge e refers to the circle length of the shortest circle passing through the edge e.
- the circle e has a length of 8, 10, 12 and a longer length. Then the girth of the node u is 8.
- the girth of a variable node is the length of the shortest path, which is equivalent to the minimum number of iterations of information coming out of this node back to the node itself.
- the information associated with this node can be optimally passed to the remainder of the bipartite graph before the actual number of iterations reaches this minimum number of iterations. If the girth of a variable node is larger, the smaller the positive feedback information that the information sent by the variable node is passed to itself, the better the decoding performance. Therefore, it is advantageous to make the girth of the variable node as large as possible to improve the performance of the code.
- the principle of constructing a high LDPC code is as follows: First, the length of the shortest circle (girth) of the selected code should be as large as possible; secondly, for a code having the same size girth, the number of the shortest circle of the selected code should be Try to be as small as possible.
- the base matrix is extended to a parity check matrix, which may also be referred to as an extended matrix or a binary matrix.
- a parity check matrix which may also be referred to as an extended matrix or a binary matrix.
- the extended matrix H of H b may have a short circle of length 4 or more, as follows:
- P i, P j , P k , P l constitute a short circle of length 12 or no short circle in H.
- the extended matrix H of H b may appear as a short circle of length 6 or more, as follows:
- the power matrix elements i, j, k, l, m, n of the z ⁇ z block matrix P i , P j , P k , P l , P m , P n form a length of 6 in H b
- P i , P j , P k , P l , P m , P n form a short circle
- the extended matrix H of H b may appear as a short circle of length 8 or more, as follows:
- the LDPC code codec needs to store a basic matrix.
- the code length is large, a lot of bases are stored.
- Matrix which takes up a lot of storage space or makes the hardware implementation circuit 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 adopt mod and rounding. (scale+floor) or rounding (scale+round), etc. Let Pi,j be the non-negative element of the i-th row and the j-th column of the basic matrix, and P’i,j be the element after the correction, including:
- N is the number of basic 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 2304.
- the reading and writing of the log likelihood ratio information seriously affects the arrangement of the LDPC code pipeline. Specifically, at a high code rate, for ordinary The LDPC code structure, after the decoder needs the basic matrix to complete the processing, can start the next stage pipeline, if the first stage water is particularly long, the efficiency of the decoder will be seriously reduced.
- the new air interface (5G New RAT) of the 5th generation mobile communication standard is officially established.
- This new air interface needs to support ultra-high throughput and low processing delay, so a new coding scheme is needed to replace the current turbo coding.
- the current communication standard LDPC code does not support incremental redundancy HARQ well, and does not have sufficient bit rate and transport block size flexibility. Therefore, it is necessary to design a new LDPC coding structure to ensure the performance close to the turbo code. Incremental redundancy HARQ can be supported under flexible conditions, and there is also a need for much lower complexity and ultra-high-speed processing capabilities than turbo codes.
- the embodiments of the present invention provide a coding and decoding method and a device for a structured LDPC, so as to at least solve the problem that the existing LDPC codec in the related art cannot support incremental redundant HARQ and insufficient flexibility.
- the basic matrix Hb includes one Or a plurality of sub-matrices, the sub-matrix comprising: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the number of rows and the number of columns of the upper left sub-matrix Hb1 and the upper left sub-matrix Hb2 are smaller than the number of rows of the basic matrix Hb And the number of columns, and the upper left sub-matrix Hb1 is an upper left sub-matrix of the upper left sub-matrix Hb2; and the LDPC encoding operation is performed on the source information bit sequence according to the basic matrix and the spreading factor Z corresponding to the basic matrix Hb, a sequence of code words, where Z is a positive integer greater than or equal to .
- a decoding method of an LDPC including:
- hb ij represents the elements of the i-th row and j-column of the base matrix Hb
- i is the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Kb is greater than
- the base matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left corner a matrix Hb2, wherein the number of rows and the number of columns of the upper left corner submatrix Hb1 and the upper left corner submatrix Hb2 are smaller than the number of rows and columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left of the upper left corner submatrix Hb2 Corner submatrix
- the codeword of the preset number of bits is subjected to a decoding operation to obtain a source information bit sequence, wherein Z is a positive integer greater than or equal to 1.
- an apparatus for encoding an LDPC including:
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the number of rows and columns of the upper left sub-matrix Hb1 and the upper left sub-matrix Hb2 are smaller than The number of rows and the number of columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left corner submatrix of the upper left corner submatrix Hb2;
- the encoding module is configured to perform an LDPC encoding operation on the source information bit sequence according to the basic matrix and the spreading factor Z corresponding to the basic matrix Hb, to obtain a codeword sequence, where Z is a positive integer greater than or equal to 1.
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the number of rows and columns of the upper left sub-matrix Hb1 and the upper left sub-matrix Hb2 are smaller than The number of rows and the number of columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left corner submatrix of the upper left corner submatrix Hb2;
- a decoding module configured to perform a decoding operation according to the base matrix and a spreading factor Z corresponding to the basic matrix Hb, and a codeword of a preset number of bits, to obtain a source information bit sequence, where Z is greater than or equal to A positive integer.
- a storage medium is also provided.
- the storage medium is arranged to store program code for performing the following steps:
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the number of rows and the number of columns of the upper left corner submatrix Hb1 and the upper left corner submatrix Hb2 are smaller than the number of rows and columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left corner of the upper left corner submatrix Hb2 a matrix; performing an LDPC encoding operation on the source information bit sequence according to the base matrix and the spreading factor Z corresponding to the base matrix Hb to obtain a codeword sequence, where Z is a positive integer greater than or equal to 1.
- a storage medium is also provided.
- the storage medium is arranged to store program code for performing the following steps:
- hb ij represents the elements of the i-th row and j-column of the base matrix Hb
- i is the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Kb is greater than
- the base matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left corner a matrix Hb2, wherein the number of rows and the number of columns of the upper left corner submatrix Hb1 and the upper left corner submatrix Hb2 are smaller than the number of rows and columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left of the upper left corner submatrix Hb2 Corner submatrix
- the codeword of the preset number of bits is subjected to a decoding operation to obtain a source information bit sequence, wherein Z is a positive integer greater than or equal to 1.
- the solution provided by the embodiment of the present invention completes coding or decoding according to the basic matrix and its corresponding spreading factor by designing a suitable basic matrix, realizes ultra-high speed LDPC encoding and decoding, and realizes close to turbo code.
- the compiled code performance solves the problem that the existing LDPC codec cannot support incremental redundancy HARQ and lack of flexibility.
- FIG. 1 is a block diagram showing the structure of a digital communication system in the related art
- FIG. 2 is a schematic structural diagram of an encoder of a structured LDPC code according to Embodiment 1 of the present invention
- Embodiment 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 of a structured LDPC code according to Embodiment 2 of the present invention.
- FIG. 5 is a flow chart of a method for encoding a structured LDPC code according to Embodiment 3 of the present invention. Cheng Tu
- FIG. 6 is a flowchart of a method for decoding a structured LDPC code according to Embodiment 4 of the present invention.
- FIG. 7 is a schematic structural diagram of a coding apparatus for a structured LDPC code according to Embodiment 5 of the present invention.
- FIG. 8 is a schematic structural diagram of a decoding apparatus for a structured LDPC code according to Embodiment 5 of the present invention.
- FIG. 9 is a first schematic diagram of a memory storage manner according to Embodiment 8 of the present invention.
- FIG. 10 is a second schematic diagram of a memory storage manner according to Embodiment 8 of the present invention.
- an embodiment of the present invention provides a coding and decoding method and apparatus, an encoder, and a decoder for a structured LDPC code.
- Embodiments of the present invention for practical considerations, use the same base matrix for multiple code rates and multiple code lengths, usually corresponding to the maximum code length, and correct the base matrix at different code lengths.
- the embodiment of the present invention by defining the Girth feature of the basic matrix of different code lengths, it is ensured that the turbo code performance can be achieved under various code length conditions.
- the present invention is not limited to this, and may be applied to one for each code length. The way the base matrix is.
- the solution provided in the embodiment of the present application is not limited to the structure of the matrix in the embodiment of the present application, for example, the matrix corresponding to the system bit and the position of the matrix corresponding to the check bit are interchangeable.
- the coding and coding schemes based on the design ideas in the embodiments of the present application are all within the scope of the present application.
- 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.
- the memory 201 is configured to store at least a base matrix used for encoding.
- i is the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Nb is an integer
- Kb is an integer greater than or equal to 4.
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the number of rows and columns of the upper left sub-matrix Hb1 and the upper left sub-matrix Hb2 are smaller than The number of rows and the number of columns of the base matrix Hb are described, and the upper left corner submatrix Hb1 is the upper left corner submatrix of the upper left corner submatrix Hb2.
- the intersection of the front L0 row and the front Kb+4 column of the matrix Hb constitutes an upper left sub-matrix Hb1
- the number of elements of the corresponding non-zero Z*Z square matrix of each row of the upper left sub-matrix Hb1 is Less than or equal to Kb+2 and greater than or equal to Kb-2
- the square matrix of the last four columns of the upper left sub-matrix Hb1 is a lower left triangular matrix or a quasi-lower left triangular matrix
- the upper left sub-matrix Hb2 is composed of an intersection of a front Kb row and a first 2*Kb column of the matrix Hb, and all elements of the sub-matrix formed by the intersection of the first 4 rows and the last Kb-4 column of the upper left sub-matrix Hb2 All of the elements corresponding to the Z*Z zero square matrix, the submatrix formed by the intersection of the last kb-4 row and the last kb-4 column of the upper left submatrix Hb2 is a size of (kb-4)*(kb-4).
- the Kb+1 column of the upper left sub-matrix Hb2 has only one element corresponding to the non-zero Z*Z square matrix, if the upper left sub-matrix Hb1
- the square matrix of the last four columns is a quasi-lower triangular matrix, and all elements of the Kb+1 column of the upper left submatrix Hb2 are elements corresponding to the zero Z*Z square matrix;
- intersection of the last kb-4 row and the front kb column of the upper left sub-matrix Hb2 constitutes a sub-matrix, and the number of elements of the corresponding non-zero Z*Z square matrix of each row in the sub-matrix is less than or equal to Kb-2;
- Nb is greater than or equal to 2*Kb and L0 is equal to 4 or 3.
- the expansion factor Z supports a set of determined values ⁇ z1, z2, z3..., zV ⁇ , where z1, z2, ..., zV are arranged in ascending order, zr, zs, zt, zu are The expansion factor of the four determined values in the set satisfies z1 ⁇ zr ⁇ zs ⁇ zt ⁇ zu ⁇ zV, wherein V, r, s, t, u are subscripts, 1 ⁇ r ⁇ s ⁇ t ⁇ u ⁇ V, V is an integer greater than or equal to 2;
- girth of at least one of all codeword bits having a weight greater than 2 in each LDPC codeword is equal to four.
- all girths of codeword bits having a weight greater than 2 in each LDPC codeword are equal to 6, wherein R is less than or equal to Kb/2 ;
- each codeword bit of one LDPC codeword corresponds to each column of the parity check matrix
- each codeword bit of one LDPC codeword corresponds to each column of the parity check matrix
- the foregoing basic matrix Hb may further include:
- the upper left sub-matrix Hb3 is composed of the intersection of the first 2*kb row and the first 3*Kb column of the base matrix Hb to form the upper left sub-matrix Hb3, and the intersection of the last Kb row and the last Kb column of Hb3 constitutes a sub-matrix.
- All elements of the submatrix formed by the intersection of the pre-Kb line and the last Kb column of Hb3 are elements corresponding to the Z*Z zero square matrix
- the Kb+1 column to the 2*Kb column of Hb3 constitute a submatrix, and there are only one element of each corresponding non-zero square matrix in each column of the L1 column of the submatrix, and the remaining Kb-L1 column in the submatrix All the entries are elements corresponding to the Z*Z zero square matrix, where L1 is an integer greater than or equal to 0 and less than Kb;
- Nb is greater than or equal to 3*Kb.
- Nb is a determined positive integer from 2*Kb to 12*Kb.
- Kb takes an integer between 2 and 16.
- eMMB Enhanced Mobile Broadband
- Ultra-Reliable and Low latency Communication Ultra-Reliable and Low latency Communication
- the URL is referred to as URLLC.
- the scene uses different values of Kb.
- the number of elements of the corresponding non-zero Z*Z square matrix of the g-th row of the base matrix Hb is less than or equal to the number of elements of the non-zero Z*Z square matrix corresponding to the g+1 row.
- g 1, 2, ..., Nb-1.
- the present invention is not limited to this manner, and may be that the last element is 0, and any element may be 0.
- the processor 202 is configured to determine the base matrix and the spreading factor z, and complete an LDPC encoding operation of obtaining Nb ⁇ z bit codewords from source data of (Nb ⁇ Mb) ⁇ z bits.
- the matrix Hb corresponds to a code rate of 1/3
- Hb1 is a matrix of 4*12
- Hb2 is a matrix of 8*16
- Hb3 is 16*24.
- the matrix example of Fig. 3 satisfies both the characteristics of Hb1, the features of Hb2, and the characteristics of Hb3. When the characteristics of Hb1 are satisfied, the 2/3 code rate LDPC code has a performance close to the turbo code, and the matrix has only 4 lines, so the need for ultra high speed processing is satisfied.
- Hb1 and Hb2 are the upper-left sub-matrices of Hb, which belong to a nested structure, so it can support incremental redundant HARQ.
- the A-part matrix is a systematic bit-part matrix
- the B-part is a check-bit partial matrix.
- the element value -1 in the matrix corresponds to a full-zero square matrix
- the element value is a non-zero square matrix corresponding to the square matrix cyclic shift.
- the matrix after the corresponding value.
- 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 LDPC hierarchical decoder having the matrix structure of the present invention does not require a cyclic shift inverse network, and the route is halved as compared with the conventional scheme.
- the foregoing encoder may further have the following feature: further comprising: an expansion module configured to expand the base matrix according to a spreading factor and a basic permutation matrix to obtain (M ⁇ z) ⁇ (N ⁇ z) low-density parity a parity check matrix of the check code, wherein the decoding 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, and the LDPC codewords can be generated.
- the receiving end receives the signals and performs demodulation and the like.
- the received LDPC codeword is generated and the received LDPC codeword is sent to the LDPC decoder.
- the LDPC codeword can ensure the improvement of the decoding pipeline speed, that is, the decoder processing speed has 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 present invention can also reduce the switching network by allowing the use of an inverse cyclic shift network (for write storage), and further reduce hardware complexity.
- Embodiments of the present invention provide a decoding apparatus for a structured low-density parity check code LDPC in digital communication, which has a structure 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 a base matrix used for encoding.
- the basis The check matrix includes the following features:
- i the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Kb is an integer greater than or equal to 4
- Nb is an integer.
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the number of rows and columns of the upper left sub-matrix Hb1 and the upper left sub-matrix Hb2 are smaller than The number of rows and the number of columns of the base matrix Hb are described, and the upper left corner submatrix Hb1 is the upper left corner submatrix of the upper left corner submatrix Hb2.
- the upper left sub-matrix Hb1 is composed of an intersection of a front L0 row and a front Kb+4 column of the matrix Hb, and an element of a corresponding non-zero Z*Z square matrix of each row of the upper left sub-matrix Hb1
- the number is less than or equal to Kb+2 and greater than or equal to Kb-2
- the square matrix of the last four columns of the upper left sub-matrix Hb1 is a lower left triangular matrix or a quasi-lower left triangular matrix;
- the upper left sub-matrix Hb2 is composed of an intersection of a front Kb row and a first 2*Kb column of the matrix Hb, and all elements of the sub-matrix formed by the intersection of the first 4 rows and the last Kb-4 column of the upper left sub-matrix Hb2 All of the elements corresponding to the Z*Z zero square matrix, the submatrix formed by the intersection of the last kb-4 row and the last kb-4 column of the upper left submatrix Hb2 is a size of (kb-4)*(kb-4).
- the Kb+1 column of the upper left sub-matrix Hb2 has only one element corresponding to the non-zero Z*Z square matrix, if the upper left sub-matrix Hb1
- the square matrix of the last four columns is a quasi-lower triangular matrix, and all elements of the Kb+1 column of the upper left submatrix Hb2 are elements corresponding to the zero Z*Z square matrix;
- intersection of the last kb-4 row and the front kb column of the upper left sub-matrix Hb2 constitutes a sub-matrix, and the number of elements of the corresponding non-zero Z*Z square matrix of each row in the sub-matrix is less than or equal to Kb-2;
- Nb is greater than or equal to 2*Kb and L0 is equal to 4 or 3.
- the expansion factor Z supports a set of determined values ⁇ z1, z2, z3..., zV ⁇ , where z1, z2, ..., zV are arranged in ascending order, zr, zs, zt, zu are The expansion factor of the four determined values in the set satisfies z1 ⁇ zr ⁇ zs ⁇ zt ⁇ zu ⁇ zV, wherein V, r, s, t, u are subscripts, 1 ⁇ r ⁇ s ⁇ t ⁇ u ⁇ V, V is an integer greater than or equal to 2;
- each codeword bit of one LDPC codeword corresponds to each column of the parity check matrix
- each codeword bit of one LDPC codeword corresponds to each column of the parity check matrix
- the basic matrix Hb further includes: an upper left sub-matrix Hb3.
- the upper left sub-matrix Hb3 is formed by the intersection of the first 2*kb row and the first 3*Kb column of the base matrix Hb, and the intersection of the last Kb row and the last Kb column of Hb3 constitutes a sub-matrix. Is a cyclic shift matrix of unit array or unit array of size kb*kb;
- All elements of the submatrix formed by the intersection of the pre-Kb line and the last Kb column of Hb3 are elements corresponding to the Z*Z zero square matrix
- the Kb+1 column to the 2*Kb column of Hb3 constitute a submatrix, and there are only one element of each corresponding non-zero square matrix in each column of the L1 column of the submatrix, and the remaining Kb-L1 column in the submatrix All the entries are elements corresponding to the Z*Z zero square matrix, where L1 is an integer greater than or equal to 0 and less than Kb;
- Nb is greater than or equal to 3*Kb and L0 is equal to 4 or 3.
- Nb is a determined positive integer from 2*Kb to 12*Kb.
- Kb takes an integer between 2 and 16.
- the eMMB scenario and the URLLC scenario use different Kb values.
- the number of elements of the corresponding non-zero Z*Z square matrix of the g-th row of the base matrix Hb is less than or equal to the number of elements of the non-zero Z*Z square matrix corresponding to the g+1 row.
- g 1, 2, ..., Nb-1.
- the one processor 402 is configured to perform an LDPC decoding operation of obtaining (Nb-Mb) ⁇ z bit information data from the Nb ⁇ z bit codeword according to the base matrix and the spreading factor z.
- the matrix Hb corresponds to a code rate of 1/3
- Hb1 is a matrix of 4*12
- Hb2 is a matrix of 8*16
- Hb3 is 16*24.
- the matrix example of Fig. 3 satisfies both the characteristics of Hb1, the features of Hb2, and the characteristics of Hb3. When the characteristics of Hb1 are satisfied, the 2/3 code rate LDPC code has a performance close to the turbo code, and the matrix has only 4 lines, so the need for ultra high speed processing is satisfied.
- Hb1 and Hb2 are the upper-left sub-matrices of Hb, which belong to a nested structure, so it can support incremental redundant HARQ.
- the structure of the present invention can support very high or relatively flexible parallelism, satisfying the decoding requirements 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 codewords. Since the number of rows of the basic matrix is very small, the LDPC decoder 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 code and speeds up the decoding speed.
- the structure of the basic matrix proposed by the present invention can also reduce the switching network by allowing the use of an inverse cyclic shift network (for write storage), and further reduce hardware complexity.
- the embodiment of the invention provides a coding method for a structured LDPC code, which is completed by using the method.
- the flow of LDPC encoding is shown in Figure 5, including:
- Step 501 determining a base matrix Hb used for encoding
- the basic check matrix includes the following features:
- i the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Kb is an integer greater than or equal to 4
- Nb is an integer.
- the basic matrix Hb further includes at least the following feature: the basic matrix Hb includes one or more sub-matrices, and the sub-matrices include: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the upper left The number of rows and the number of columns of the corner submatrix Hb1 and the upper left corner submatrix Hb2 are both smaller than the number of rows and columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left submatrix of the upper left corner submatrix Hb2.
- the above features may be expressed as the following implementations, but are not limited thereto:
- the upper left sub-matrix Hb1 is composed of an intersection of a front L0 row and a front Kb+4 column of the matrix Hb, and the number of elements of the corresponding non-zero Z*Z square matrix of each row of the upper left sub-matrix Hb1 is less than or equal to Kb+2 is greater than or equal to Kb-2, and the square matrix of the last four columns of the upper left sub-matrix Hb1 is a lower left triangular matrix or a quasi-lower left triangular matrix; and/or
- the upper left sub-matrix Hb2 is composed of an intersection of a front Kb row and a first 2*Kb column of the matrix Hb, and all elements of the sub-matrix formed by the intersection of the first 4 rows and the last Kb-4 column of the upper left sub-matrix Hb2 All of the elements corresponding to the Z*Z zero square matrix, the submatrix formed by the intersection of the last kb-4 row and the last kb-4 column of the upper left submatrix Hb2 is a size of (kb-4)*(kb-4).
- the Kb+1 column of the upper left sub-matrix Hb2 has only one element corresponding to the non-zero Z*Z square matrix, if the upper left corner
- the square matrix of the last four columns of the sub-matrix Hb1 is a quasi-lower triangular matrix, and all elements of the Kb+1 column of the upper left sub-matrix Hb2 are elements corresponding to the zero Z*Z square matrix;
- intersection of the last kb-4 row and the front kb column of the upper left sub-matrix Hb2 constitutes a sub-matrix, and the number of elements of the corresponding non-zero Z*Z square matrix of each row in the sub-matrix is less than or equal to Kb-2;
- Nb is greater than or equal to 2*Kb and L0 is equal to 4 or 3.
- the expansion factor Z supports a set of determined values ⁇ z1, z2, z3..., zV ⁇ , where z1, z2, ..., zV are arranged in ascending order, zr, zs, zt, zu are The expansion factor of the four determined values in the set satisfies z1 ⁇ zr ⁇ zs ⁇ zt ⁇ zu ⁇ zV, wherein V, r, s, t, u are subscripts, 1 ⁇ r ⁇ s ⁇ t ⁇ u ⁇ V, V is an integer greater than or equal to 2;
- each codeword bit of one LDPC codeword corresponds to each column of the parity check matrix
- the basic matrix Hb of a 1/3 code rate structured LDPC code is defined as follows:
- the basic matrix Hb(zi) corresponding to each spreading factor is obtained by the scale+floor algorithm in the background art.
- the basic matrix further has the following feature: the upper left sub-matrix Hb3 is composed of the intersection of the first 2*kb row and the first 3*Kb column of the basic matrix Hb, and the upper left sub-matrix Hb3, the last Kb row and the last of Hb3 The intersection of the Kb columns constitutes a sub-matrix which is a cyclic array of unit arrays or unit arrays of size kb*kb;
- All elements of the submatrix formed by the intersection of the pre-Kb line and the last Kb column of Hb3 are elements corresponding to the Z*Z zero square matrix
- the Kb+1 column to the 2*Kb column of Hb3 constitute a submatrix, and there are only one element of each corresponding non-zero square matrix in each column of the L1 column of the submatrix, and the remaining Kb-L1 column in the submatrix All the entries are elements corresponding to the Z*Z zero square matrix, where L1 is an integer greater than or equal to 0 and less than Kb;
- Nb is greater than or equal to 3*Kb.
- Nb is a determined positive integer from 2*Kb to 12*Kb.
- Kb takes an integer between 2 and 16.
- the eMMB scenario and the URLLC scenario use different Kb values.
- the number of elements of the corresponding non-zero Z*Z square matrix of the g-th row of the base matrix Hb is less than or equal to the number of elements of the non-zero Z*Z square matrix corresponding to the g+1 row.
- g 1, 2, ..., Nb-1.
- Step 502 Perform an LDPC encoding operation of obtaining Nb ⁇ z bit codewords from source data of (Nb-Mb) ⁇ z bits according to the basic matrix and its corresponding spreading factor.
- 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 decoding method for a structured LDPC code.
- the process for completing the LPDC encoding using the method is as shown in FIG. 6, and includes:
- Step 601 Determine a basic matrix used for decoding.
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the number of rows and columns of the upper left sub-matrix Hb1 and the upper left sub-matrix Hb2 are both Less than the number of rows and columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left corner submatrix of the upper left corner submatrix Hb2;
- the basic matrix includes the following features:
- Hb [A, B]
- hb ij represents the number of the basic matrix
- i is the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Kb is an integer greater than or equal to 4.
- the basic matrix Hb further includes at least one of the following features:
- the upper left sub-matrix Hb1 is composed of an intersection of a front L0 row and a front Kb+4 column of the matrix Hb, and the number of elements of the corresponding non-zero Z*Z square matrix of each row of the upper left sub-matrix Hb1 is less than or equal to Kb+2 is greater than or equal to Kb-2, and the square matrix of the last four columns of the upper left sub-matrix Hb1 is a lower left triangular matrix or a quasi-lower left triangular matrix; and/or
- the upper left sub-matrix Hb2 is composed of an intersection of a front Kb row and a first 2*Kb column of the matrix Hb, and all elements of the sub-matrix formed by the intersection of the first 4 rows and the last Kb-4 column of the upper left sub-matrix Hb2 All of the elements corresponding to the Z*Z zero square matrix, the submatrix formed by the intersection of the last kb-4 row and the last kb-4 column of the upper left submatrix Hb2 is a size of (kb-4)*(kb-4).
- the Kb+1 column of the upper left sub-matrix Hb2 has only one element corresponding to the non-zero Z*Z square matrix, if the upper left sub-matrix Hb1
- the square matrix of the last four columns is a quasi-lower triangular matrix, and all elements of the Kb+1 column of the upper left submatrix Hb2 are elements corresponding to the zero Z*Z square matrix;
- intersection of the last kb-4 row and the front kb column of the upper left sub-matrix Hb2 constitutes a sub-matrix, and the number of elements of the corresponding non-zero Z*Z square matrix of each row in the sub-matrix is less than or equal to Kb-2;
- Nb is greater than or equal to 2*Kb and L0 is equal to 4 or 3.
- the expansion factor Z supports a set of determined values ⁇ z1, z2, z3..., zV ⁇ , where z1, z2, ..., zV are arranged in ascending order, zr, zs, zt, zu are The expansion factor of the four determined values in the set satisfies z1 ⁇ zr ⁇ zs ⁇ zt ⁇ zu ⁇ zV, wherein V, r, s, t, u are subscripts, 1 ⁇ r ⁇ s ⁇ t ⁇ u ⁇ V, V is an integer greater than or equal to 2;
- each codeword bit of one LDPC codeword corresponds to each column of the parity check matrix
- the technical feature of the coding method of the structured LDPC code further includes:
- the upper left sub-matrix Hb3 is composed of the intersection of the first 2*kb row and the first 3*Kb column of the base matrix Hb to form the upper left sub-matrix Hb3, and the intersection of the last Kb row and the last Kb column of Hb3 constitutes a sub-matrix.
- All elements of the submatrix formed by the intersection of the pre-Kb line and the last Kb column of Hb3 are elements corresponding to the Z*Z zero square matrix
- the Kb+1 column to the 2*Kb column of Hb3 constitute a submatrix, and there are only one element of each corresponding non-zero square matrix in each column of the L1 column of the submatrix, and the remaining Kb-L1 column in the submatrix All the entries are elements corresponding to the Z*Z zero square matrix, where L1 is an integer greater than or equal to 0 and less than Kb;
- Nb is greater than or equal to 3*Kb.
- Nb is a determined positive integer from 2*Kb to 12*Kb.
- Kb takes an integer between 2 and 16.
- the eMMB scenario and the URLLC scenario use different Kb values.
- the number of elements of the corresponding non-zero Z*Z square matrix of the g-th row of the base matrix Hb is less than or equal to the number of elements of the non-zero Z*Z square matrix corresponding to the g+1 row.
- g 1, 2, ..., Nb-1.
- Step 602 Perform an LDPC decoding operation for obtaining (Nb-Mb) ⁇ z bit information data from a codeword of Nb ⁇ z bits according to the basic matrix and a corresponding spreading factor.
- z is the expansion factor and z is a positive integer greater than or equal to 1.
- An embodiment of the present invention provides a coding apparatus for a structured LDPC code, and the structure thereof is as shown in FIG. 7, and includes:
- the determining module 701 is configured to determine a basic matrix used for encoding, and the basic check matrix includes the following features:
- i is the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Nb is an integer
- Kb is an integer greater than or equal to 4.
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the number of rows and columns of the upper left sub-matrix Hb1 and the upper left sub-matrix Hb2 are both It is smaller than the number of rows and columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left corner submatrix of the upper left corner submatrix Hb2. That is, the basic matrix Hb includes at least one of the following features:
- the upper left sub-matrix Hb1 is intersected by the front L0 line and the front Kb+4 column of the matrix Hb
- the set configuration, the number of elements of the corresponding non-zero Z*Z square matrix of each row of the upper left corner sub-matrix Hb1 is less than or equal to Kb+2 and greater than or equal to Kb-2, and the square of the last four columns of the upper left sub-matrix Hb1
- the matrix is a lower left triangular matrix or a quasi-lower left triangular matrix; and/or
- the upper left sub-matrix Hb2 is composed of an intersection of a front Kb row and a first 2*Kb column of the matrix Hb, and all elements of the sub-matrix formed by the intersection of the first 4 rows and the last Kb-4 column of the upper left sub-matrix Hb2 All of the elements corresponding to the Z*Z zero square matrix, the submatrix formed by the intersection of the last kb-4 row and the last kb-4 column of the upper left submatrix Hb2 is a size of (kb-4)*(kb-4).
- the Kb+1 column of the upper left sub-matrix Hb2 has only one element corresponding to the non-zero Z*Z square matrix, if the upper left sub-matrix Hb1
- the square matrix of the last four columns is a quasi-lower triangular matrix, and all elements of the Kb+1 column of the upper left submatrix Hb2 are elements corresponding to the zero Z*Z square matrix;
- intersection of the last kb-4 row and the front kb column of the upper left sub-matrix Hb2 constitutes a sub-matrix, and the number of elements of the corresponding non-zero Z*Z square matrix of each row in the sub-matrix is less than or equal to Kb-2;
- Nb is greater than or equal to 2*Kb and L0 is equal to 4 or 3.
- the expansion factor Z supports a set of determined values ⁇ z 1 , z 2 , z 3 ..., z V ⁇ , where z 1 , z 2 , . . . , z V are arranged in ascending order, z r , z s , z t , z u are expansion factors of the four determined values in the set and satisfy z 1 ⁇ z r ⁇ z s ⁇ z t ⁇ z u ⁇ z V , wherein V, r, s, t, u is a subscript, 1 ⁇ r ⁇ s ⁇ t ⁇ u ⁇ V, and V is an integer greater than or equal to 2;
- the girth of all systematic bits having a weight greater than 2 in each LDPC codeword is equal to 8, in Each of the LDPC code words has a girth greater than or equal to 10;
- each codeword bit of one LDPC codeword corresponds to each column of the parity check matrix
- the coding method of the structured LDPC code further includes:
- the upper left sub-matrix Hb3 is composed of the intersection of the first 2*kb row and the first 3*Kb column of the base matrix Hb to form the upper left sub-matrix Hb3, and the intersection of the last Kb row and the last Kb column of Hb3 constitutes a sub-matrix.
- All elements of the submatrix formed by the intersection of the pre-Kb line and the last Kb column of Hb3 are elements corresponding to the Z*Z zero square matrix
- the Kb+1 column to the 2*Kb column of Hb3 constitute a submatrix, and there are only one element of each corresponding non-zero square matrix in each column of the L1 column of the submatrix, and the remaining Kb-L1 column in the submatrix All the entries are elements corresponding to the Z*Z zero square matrix, where L1 is an integer greater than or equal to 0 and less than Kb;
- Nb is greater than or equal to 3*Kb.
- Nb is a determined positive integer from 2*Kb to 12*Kb.
- Kb takes an integer between 2 and 16.
- the eMMB scenario and the URLLC scenario use different Kb values.
- the number of elements of the corresponding non-zero Z*Z square matrix of the g-th row of the base matrix Hb is less than or equal to the number of elements of the non-zero Z*Z square matrix corresponding to the g+1 row.
- g 1, 2, ..., Nb-1.
- the encoding module 702 is configured to perform an LDPC encoding operation of obtaining Nb ⁇ z bit codewords from source data of (Nb-Mb) ⁇ z bits 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.
- the embodiment of the present invention further provides a decoding device for a structured LDPC code, and the structure thereof is as shown in FIG.
- the determining module 801 is configured to determine a base matrix used for decoding, and the basic check matrix includes the following features:
- i is the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Nb is an integer
- Kb is an integer greater than or equal to 4.
- the basic matrix Hb further includes at least one of the following features:
- the upper left sub-matrix Hb1 is composed of an intersection of a front L0 row and a front Kb+4 column of the matrix Hb, and the number of elements of the corresponding non-zero Z*Z square matrix of each row of the upper left sub-matrix Hb1 is less than or equal to Kb+2 and greater than or equal to Kb-2, the last four of the upper left sub-matrix Hb1
- the square matrix of the column is a lower left triangular matrix or a quasi-lower left triangular matrix; and/or
- the upper left sub-matrix Hb2 is composed of an intersection of a front Kb row and a first 2*Kb column of the matrix Hb, and all elements of the sub-matrix formed by the intersection of the first 4 rows and the last Kb-4 column of the upper left sub-matrix Hb2 All of the elements corresponding to the Z*Z zero square matrix, the submatrix formed by the intersection of the last kb-4 row and the last kb-4 column of the upper left submatrix Hb2 is a size of (kb-4)*(kb-4).
- the Kb+1 column of the upper left sub-matrix Hb2 has only one element corresponding to the non-zero Z*Z square matrix, if the upper left sub-matrix Hb1
- the square matrix of the last four columns is a quasi-lower triangular matrix, and all elements of the Kb+1 column of the upper left submatrix Hb2 are elements corresponding to the zero Z*Z square matrix;
- intersection of the last kb-4 row and the front kb column of the upper left sub-matrix Hb2 constitutes a sub-matrix, and the number of elements of the corresponding non-zero Z*Z square matrix of each row in the sub-matrix is less than or equal to Kb-2;
- Nb is greater than or equal to 2*Kb and L0 is equal to 4 or 3.
- the expansion factor Z supports a set of determined values ⁇ z1, z2, z3..., zV ⁇ , where z1, z2, ..., zV are arranged in ascending order, zr, zs, zt, zu are The expansion factor of the four determined values in the set satisfies z1 ⁇ zr ⁇ zs ⁇ zt ⁇ zu ⁇ zV, wherein V, r, s, t, u are subscripts, 1 ⁇ r ⁇ s ⁇ t ⁇ u ⁇ V, V is an integer greater than or equal to 2;
- each codeword bit of one LDPC codeword corresponds to each column of the parity check matrix
- the basic matrix Hb further has the following features:
- the upper left sub-matrix Hb3 is composed of the intersection of the first 2*kb row and the first 3*Kb column of the base matrix Hb to form the upper left sub-matrix Hb3, and the intersection of the last Kb row and the last Kb column of Hb3 constitutes a sub-matrix.
- All elements of the submatrix formed by the intersection of the pre-Kb line and the last Kb column of Hb3 are elements corresponding to the Z*Z zero square matrix
- the Kb+1 column to the 2*Kb column of Hb3 constitute a submatrix, and there are only one element of each corresponding non-zero square matrix in each column of the L1 column of the submatrix, and the remaining Kb-L1 column in the submatrix All the entries are elements corresponding to the Z*Z zero square matrix, where L1 is an integer greater than or equal to 0 and less than Kb;
- Nb is greater than or equal to 3*Kb.
- Nb is a determined positive integer from 2*Kb to 12*Kb.
- Kb takes an integer between 2 and 16.
- the eMMB scenario and the URLLC scenario use different Kb values.
- the number of elements of the corresponding non-zero Z*Z square matrix of the g-th row of the base matrix Hb is less than or equal to the number of elements of the non-zero Z*Z square matrix corresponding to the g+1 row.
- g 1, 2, ..., Nb-1.
- the decoding module 802 is configured to perform an LDPC decoding operation for obtaining (Nb-Mb) ⁇ z bit information data from the Nb ⁇ z bit codeword according to the basic matrix and the corresponding spreading factor, where z is an expansion factor , z is a positive integer greater than or equal to 1.
- the decoding module 802 includes:
- the row updating unit 8021 of the base matrix is configured to perform a row update on the basic matrix by using a hierarchical BP algorithm or a modified minimum sum algorithm, including:
- the side information is check node to variable node information
- the decoding decision unit 8022 is configured to calculate the codeword log likelihood ratio using the side information, 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 embodiments of the present invention provide a coding method, a decoding method, an encoding apparatus, and a decoding apparatus for a structured LDPC code.
- a basic matrix including K0 upper and lower adjacent pairs used for encoding or decoding By determining the basic matrix including K0 upper and lower adjacent pairs used for encoding or decoding, encoding or decoding is completed according to the basic matrix and its corresponding spreading factor, and high-speed line LDPC encoding and decoding is realized, and the solution is solved.
- the technical solution provided by the embodiments of the present invention can be applied to an error correction coding technology 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 scenario.
- Embodiments of the present invention also provide a storage medium.
- the storage medium can be configured to store program code for performing the following steps:
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein the upper left corner
- the number of rows and the number of columns of the matrix Hb1 and the upper-left sub-matrix Hb2 are both smaller than the number of rows and columns of the base matrix Hb, and the upper-left sub-matrix Hb1 is the upper-left sub-matrix of the upper-left sub-matrix Hb2;
- the spreading factor Z corresponding to the basic matrix Hb performs an LDPC encoding operation on the source information bit sequence to obtain a codeword sequence, where Z is a positive integer greater than or equal to 1.
- the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
- ROM Read-Only Memory
- RAM Random Access Memory
- a mobile hard disk e.g., a hard disk
- magnetic memory e.g., a hard disk
- Embodiments of the present invention also provide another storage medium.
- the foregoing storage medium may be configured to store program code for performing the following steps:
- hb ij represents the elements of the i-th row and j-column of the base matrix Hb
- i is the row index of the base matrix
- j is the column index of the base matrix
- Kb Nb-Mb
- Kb is greater than An integer equal to 4.
- the basic matrix Hb includes one or more sub-matrices including: an upper left sub-matrix Hb1 and an upper left sub-matrix Hb2, wherein The number of rows and the number of columns of the upper left corner submatrix Hb1 and the upper left corner submatrix Hb2 are both smaller than the number of rows and columns of the base matrix Hb, and the upper left corner submatrix Hb1 is the upper left submatrix of the upper left corner submatrix Hb2;
- the codeword of the preset number of bits is subjected to a decoding operation to obtain a source information bit sequence, wherein Z is a positive integer greater than or equal to 1.
- the LDPC code supports V code lengths, each code length has a base matrix Hb having the same size Mb*nb, and the position of the corresponding non-zero square matrix element of the base matrix of each code length appears in the matrix. All are the same or at most 3 different (ie, the positions of up to three non-zero square elements in the position of the corresponding non-zero square matrix elements of the base matrix of each code length appearing in the matrix are different).
- the spreading factor Z supports a set of determined sets ⁇ z 1 , z 2 , z 3 , . . .
- each code length is one element of the set of spreading factors, each code length
- the values of the non-zero square matrix elements are calculated by the corresponding non-zero square matrix elements of the maximum code length, and at least include one of the following methods:
- z vmax is the extension of the maximum code length Factor
- z v is the expansion factor of the vth code length
- h ij v corresponding non-zero square matrix elements of the i-th row and the j-th column of the v-th code length.
- Mod is the modulo operation
- [] is the next rounding operation
- Round is the rounding operation.
- the positive integer value pl is an element of the subset Pset, wherein the subset Pset is a subset of all positive integer factors of Pmax, n is a natural number, and Pmax is greater than or equal to 4. Integer.
- the values of the non-zero square matrix elements in the basic matrix corresponding to each code length described above are calculated by using the non-zero square matrix elements of the basic matrix corresponding to the maximum code length, including three modes. Wherein, if the calculation is performed according to mode 1, the basic matrix of other expansion factors is obtained, including two steps:
- Step 1 The first part of the formula 1 is calculated as follows:
- the basic matrix for calculating other expansion factors (less than 1280) according to the method described in step 1 above includes the following:
- Hb' 1 , Hb' 2 , Hb' 3 (the spreading factors are ⁇ 32, 96, 160 ⁇ respectively) are as follows:
- Hb' 4 , Hb' 5 (the expansion factors are ⁇ 256, 768 ⁇ respectively) are as follows:
- Step 2 According to the latter part of the calculation formula of the mode 1, as follows
- h' ij v is the i-th row and the j-th column element in the base matrix Hb' v corresponding to the expansion factor zv, and the value of zv is ⁇ 32, 96, 160, 256, 768 ⁇ . Therefore, according to the calculation method of step 2, the remaining five basic matrices (the corresponding expansion factors are respectively ⁇ 32, 96, 160, 256, 768 ⁇ ) can be calculated, as follows:
- the method of the method 1 has the beneficial effects that a plurality of code lengths can be used in the same set of decoders, and only a small number of control circuits need to be added, that is, the solution enables the LDPC code to support very flexible.
- the code length design solves the problem of lack of flexible code length of the existing LDPC code; and can ensure that the matrix characteristic of the LDPC code does not change much from the large expansion factor to the small expansion factor, thereby ensuring that the LDPC code is in the Maintaining relatively high decoding performance over a large code length range.
- FIG. 9 corresponds to the LDPC code basic matrix.
- the information storage mode of a column includes the storage of external information and channel demodulation information.
- the value of n is a maximum of 5, so 5 words are required, as in word0 to word4 in Fig. 9; since Pmax is equal to 256, the size of each word is 256.
- the codeword information of length 768 may be interleaved before decoding, the interleaving method includes: determining the deinterleaving method by at least one parameter: the parameter Pmax, the parameter Pl and the parameter n.
- the bit reverse order sequential interleaving method is: the index before the interleaving is F0, and the F0 is converted.
- Y is the small data block to be decoded before interleaving
- Y' is the small data block to be decoded after interleaving
- examples of F0 and F1 the decimal value of F0 is 15, and the 8-bit binary sequence is 00001111.
- the method includes: determining the deinterleaving method by at least one of the following parameters: the parameter Pmax, the parameter pl, and the parameter n.
- the codeword bits are then selected from the deinterleaved codeword data sequence.
- the length from the decimal conversion to the binary sequence described above is determined by Pmax, and Pmax needs a positive integer power equal to 2, which is the length of the binary sequence.
- the interleaving and de-interleaving methods described above may also be used, and the codewords of the preset number of bits are first interleaved before decoding the codewords of the preset number of bits.
- the interleaving method is consistent with the above method, and then LDPC decoding is performed to obtain a decoded sequence, and then the decoded sequence is deinterleaved, and corresponding bits are selected to obtain a source information bit sequence.
- the LDPC code decoder (word size 256, with 5 word memory design) can support all expansion factors to satisfy the following: all positive integer factors of Pmax and all of 5 or less The integer value obtained by multiplying a positive integer.
- Pmax is the 8th power of 2
- Pmax is not limited to the positive integer power of 2, and may be greater than any other integer greater than 4.
- the source information bit sequence is subjected to LDPC encoding operation to obtain a codeword sequence.
- the coding method described above may be adopted.
- a decoding method, an interleaving method, and a de-interleaving method, and related algorithms Summarizing the above coding side interleaving method: first, the information bits before encoding are uniformly segmented, each segment length is pl bits; then, Pmax-pl bits are added after each segment, and each segment has a Pmax bit after adding; then, A binary bit flip BRO interlace of length Pmax is performed for each segment.
- the coded codeword bits are uniformly segmented, and each segment length is Pmax bits; then, each segment is subjected to binary bit flip BRO deinterleaving of length Pmax.
- Step 1 The method 2 calculates the partial calculation formula of the formula as follows
- the basic matrix for calculating other expansion factors (less than 1280) according to the method described in step 1 of the above manner 2 includes the following:
- Hb' 1 , Hb' 2 , Hb' 3 (the spreading factors are ⁇ 32, 96, 160 ⁇ respectively) are as follows:
- Hb' 4 , Hb' 5 (the spreading factors are ⁇ 256, 768 ⁇ respectively) are as follows:
- Step 2 According to the remaining calculation formula of the calculation formula of the mode 2, as follows:
- the method of the method 2 has the beneficial effects that a plurality of code lengths can be used in the same set of decoders, and only a small number of control circuits need to be added, that is, the solution enables the LDPC code to be very flexible.
- the code length design solves the problem of lack of flexible code length of the existing LDPC code; and can ensure that the matrix characteristic of the LDPC code does not change much from the large expansion factor to the small expansion factor, thereby ensuring that the LDPC code is in the Maintaining relatively high decoding performance over a large code length range.
- Step 1 The method 3 calculates the partial calculation formula of the formula as follows
- step 1 in the mode 3 is the same as the method of step 1 in the mode 1 described above. Therefore, the basic matrices Hb' 1 , Hb' 2 , Hb' 3 , Hb' 4 and Hb' 5 of other spreading factors (less than 1280) are calculated according to the method described in the first step of the mode 3 described above. The calculations obtained in the first step of the mode 1 and the mode 2 are equal, and are not described here.
- Step 2 According to the remaining calculation formula of the calculation formula of the mode 1, as follows
- the method of the third method has the beneficial effects that a plurality of code lengths can be used in the same set of decoders, and only a few control circuits need to be added, that is, the solution enables the LDPC code to support very flexible.
- the code length design solves the problem of lack of flexible code length of the existing LDPC code; and can ensure that the matrix characteristic of the LDPC code does not change much from the large expansion factor to the small expansion factor, thereby ensuring that the LDPC code is in the Maintaining relatively high decoding performance over a large code length range.
- the LDPC code supports V kinds of code lengths, each code length corresponding to a basic matrix Hb having the same size Mb*Nb, and the position of the corresponding non-zero square matrix element of the basic matrix of each code length appearing in the matrix All are the same or at most 3 different.
- the spreading factor Z supports a set of determined sets ⁇ z 1 , z 2 , z 3 , . . . , z Vmax ⁇ , and the spreading factor of each code length is one element of the set of spreading factors, each code length
- the values of the non-zero square matrix elements are calculated by the corresponding non-zero square matrix elements of the maximum code length, that is,
- z Vmax is the extension of the maximum code length Factor
- z v is the expansion factor of the vth code length
- h ij v the non-negative-1 element of the i-th row and the j-th column of the v-th code length.
- Mod is the modulo operation
- [] is the next rounding operation
- Round is the rounding operation.
- the positive integer value pl is an element of the subset Pset, wherein the subset Pset is a subset of all positive integer factors of Pmax, n is a natural number, and Pmax is greater than or equal to
- the submatrix is the block B corresponding to the Mb ⁇ Mb of the check bits, and the base matrix Hb 6 can be described as [A, B]; the other basic matrices under the other code lengths ⁇ 20, 40, 80, 160, 240 ⁇
- the same matrix parameters Kb, Nb, Mb) are respectively described above, and will not be described again here.
- the spreading factor of various code lengths ⁇ 100, 200, 400, 800, 1200, 2400 ⁇ is one of the elements of the spreading factor set ⁇ 20, 40, 80, 160, 240, 480 ⁇ , and the corresponding non-coding length of each code length
- the value of the zero square matrix element is calculated by the corresponding non-zero square matrix element with a maximum code length of 2400, that is,
- the value of ⁇ corresponding to any expansion factor in 160, 240, 480 ⁇ is as follows ⁇ 24, 12, 6, 3, 2, 1 ⁇ ; further, according to the above formula, the corresponding code length is ⁇ 100, 200, 400,
- the basic matrices of 800, 1200 ⁇ (corresponding to the set of expansion factors is ⁇ 20, 40, 80, 160, 240 ⁇ ) are as follows:
- At least three corresponding non-zero square matrix elements are different between all the basic matrices described above.
- six basic matrices ⁇ Hb 1 , Hb 2 , Hb 3 , Hb 4 , and Hb 5 may be found.
- There are at most three corresponding non-zero square matrix elements between Hb 6 ⁇ and the beneficial effect is that the basic matrix can be guaranteed to maintain a uniform basic matrix characteristic (such as degree distribution), and a new matrix can be added.
- modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
- the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
- the invention is not limited to any specific combination of hardware and software.
- the solution provided by the embodiment of the present invention can be used in the LDPC encoding and decoding process, and by designing a suitable basic matrix, according to the basic matrix and its corresponding expansion factor, encoding or decoding is completed, and ultra-high speed is realized.
- the LDPC encoding and decoding implements the coding and decoding performance close to the turbo code, and solves the problem that the existing LDPC codec cannot support the incremental redundancy HARQ and the lack of flexibility.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Claims (53)
- 一种结构化低密度奇偶校验码LDPC的编码方法,包括:确定编码使用的基础矩阵Hb,其中,所述基础矩阵Hb包括对应于系统比特的Mb×Kb的块A和对应于校验比特的Mb×Mb的块B,即Hb=[A,B],其中,hbij表示所述基础矩阵Hb的第i行和j列的元素,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,Kb=Nb-Mb,Kb是大于等于4的整数,Nb是整数,i=1、…、Mb,j=1,…、Nb;所述基础矩阵Hb包括一个或多个子矩阵,所述子矩阵包括:左上角子矩阵Hb1和左上角子矩阵Hb2,其中,所述左上角子矩阵Hb1和左上角子矩阵Hb2的行数和列数均小于所述基础矩阵Hb的行数和列数,且所述左上角子矩阵Hb1是左上角子矩阵Hb2的左上角子矩阵;根据所述基础矩阵和与所述基础矩阵Hb对应的扩展因子Z,对源信息比特序列进行LDPC编码运算,得到码字序列,其中,Z是大于或者等于1的正整数。
- 根据权利要求1所述的方法,其中,所述源信息比特序列为(Nb-Mb)×Z比特的序列;所述比特码字序列为Nb×Z比特。
- 根据权利要求1所述的方法,其中,所述左上角子矩阵Hb1由所述矩阵Hb的前L0行和前Kb+4列的交集构成,所述左上角子矩阵Hb1的每一行的对应非零Z*Z方阵的元素个数都小于等于Kb+2且大于等于Kb-2,所述左上角子矩阵Hb1的最后四列的方阵是一个左下三角矩阵或者准左下三角矩阵;和/或所述左上角子矩阵Hb2由所述矩阵Hb的前Kb行和前2*Kb列的交集构成,所述左上角子矩阵Hb2的前4行、最后Kb-4列的交集构成的子矩阵的所有元素都是对应Z*Z零方阵的元素,所述左上角子 矩阵Hb2的最后kb-4行和最后kb-4列的交集构成的子矩阵是一个大小为(kb-4)*(kb-4)的左下三角矩阵或者准左下三角矩阵,所述左上角子矩阵Hb2的最后kb-4行、第Kb+1到Kb+3列的交集构成的子矩阵的所有元素都是对应零Z*Z方阵的元素;若左上角子矩阵Hb1的最后四列的方阵是一个下三角矩阵,所述左上角子矩阵Hb2的第Kb+1列仅有一个对应非零Z*Z方阵的元素,若左上角子矩阵Hb1的最后四列的方阵是一个准下三角矩阵,所述左上角子矩阵Hb2的第Kb+1列的所有元素都是对应零Z*Z方阵的元素;所述左上角子矩阵Hb2的最后kb-4行和前kb列的交集构成一个子矩阵,在这个子矩阵中每一行的对应非零Z*Z方阵的元素个数都小于等于Kb-2;其中,Nb大于等于2*Kb,L0等于4或3。
- 根据权利要求1至3中任一项所述的方法,其中,所述扩展因子Z支持一组确定值集合{z1,z2,z3…,zV},其中,z1,z2,…,zV是按照从小到大顺序排列的,zr、zs、zt、zu是所述集合中四个确定值的扩展因子且满足z1≤zr≤zs≤zt≤zu≤zV,其中,V、r、s、t、u是下标,1≤r≤s≤t≤u≤V,V是大于等于2的整数;当z1≤Z=zi<zr时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特中至少一个比特的girth等于4,对于对应扩展因子Z=zi和删除最重R列的基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于6,其中,R小于等于Kb/2;当zr≤Z=zi<zs时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于6;当zs≤Z=zi<zt时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的所有系统比特的girth 都等于6,在每个LDPC码字中至少一个重量大于2的校验比特的girth大于等于8;当zt≤Z=zi<zu时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于8;当zu≤Z=zi<zV时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的系统比特的girth都等于8,在每个LDPC码字中至少一个重量大于2的校验比特的girth大于等于10;其中,一个LDPC码字的每一码字比特对应所述奇偶校验矩阵的每一列,每个码字比特的重量是指对应列中非零元素的个数,且i=1,2,…,V。
- 根据权利要求3所述的方法,其中,所述基础矩阵Hb还包括:左上角子矩阵Hb3,其中:该左上角子矩阵Hb3由所述基础矩阵Hb的前2*kb行和前3*Kb列的交集构成了左上角子矩阵Hb3,Hb3的最后Kb行和最后Kb列的交集构成子矩阵是一个大小为kb*kb的单位阵或者单位阵的循环移位矩阵;Hb3的前Kb行和最后Kb列的交集构成的子矩阵的所有元素都是对应Z*Z零方阵的元素;Hb3的第Kb+1列到2*Kb列构成一个子矩阵,在该子矩阵的L1列中每一列所有的对应非零方阵的元素只有1个,在这个子矩阵的剩余Kb-L1列的所有元素都是对应Z*Z零方阵的元素,其中,L1是大于等于0且小于Kb的整数;其中,Nb大于等于3*Kb。
- 根据权利要求1至3中任一项所述的方法,其中,Nb是取值区间[2*Kb,12*Kb]中的一个正整数。
- 根据权利要求1至3中任一项所述的结构化LDPC码的编码方法,其中,Kb取值为2到16之间的一个整数。
- 根据权利要求7所述的结构化LDPC码的编码方法,其中,增强移动宽带eMMB场景,和,超高可靠和低延迟URLLC场景使用不同的Kb取值。
- 根据权利要求1所述的结构化LDPC码的编码方法,其中,在增强移动宽带eMMB场景中编码器将使用所述的Hb矩阵来实现LDPC码的编码,在超高可靠和低延迟场景中编码器将使用另外一个基础矩阵来实现LDPC码的编码,其中,所述另一个基础矩阵的所有对应非零方阵的元素的行列位置索引对(i,j)构成的集合是所述基础矩矩阵的所有对应非零方阵的元素的行列位置索引(i,j)对构成的集合的子集。
- 根据权利要求1至3中任一项所述的方法,其中,所述基础矩阵Hb的第g行的对应非零Z*Z方阵的元素个数小于等于g+1行对应非零Z*Z方阵的元素个数。其中,g=1,2,…,Nb-1。
- 根据权利要求1至3中任一项所述的方法,其中,所述基础矩阵Hb的第j列所有对应非零方阵的元素有Lj个,从上向下第一个元素是0,Lj是大于等于1的正整数,j=1、…、Nb。
- 根据权利要求1所述的方法,其中,所述的LDPC码支持V种码长,每种码长都对应一个具有相同大 小Mb*Nb的基础矩阵Hb,并且每种码长的基础矩阵的对应非零方阵元素在矩阵中出现的位置都是相同的或者至多3个不同,所述扩展因子Z支持一组确定的集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,每种码长的对应非零方阵元素的取值都是通过最大码长的对应非零方阵元素计算得到的,即
- 根据权利要求1所述的方法,其中,所述的LDPC码支持V种码长,每种码长都有一个具有相同大小mb*Nb的基础矩阵Hb,并且每种码长的基础矩阵的对应非零方阵元素在矩阵中出现的位置都是相同的或者至多3个不同,所述的扩展因子Z支持一组确定的集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,每种码长的对应非零方阵元素的取值都是通过最大码长的对应非零方阵元素计算得到的,至少包括以下方式之一:方式一:取模mod方法:方式2:取整(scale+floor)方法:方式3:舍入(scale+round)方法:
- 根据权利要求12或者13所述的方法,其中,所述n的值是自然数集合nset中的一个元素,其中,所有n的值构成所述自然数集合nset。
- 根据权利要求12或者13所述的方法,其中,所述Pmax等于2的X次幂,其中,X是大于或者等于2的整数。
- 根据权利要求1所述的方法,其中,所述LDPC码支持V种码长,每种码长都对应一个具有相同大小Mb*Nb的基础矩阵Hb;所述扩展因子Z支持一组确定的扩展因子集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,所述扩展因子zv是一个正整数值pl的n倍,即z=pl*n,其中,所述正整数值pl是子集合Pset的一个元素,其中,所述子集合Pset是Pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数;在所述对源信息比特序列进行LDPC编码运算之前,包括:对所 述源信息比特序列进行交织,由以下至少一个参数确定所述交织方法:所述Pmax、所述pl和所述n。
- 根据权利要求16所述的方法,其中,所述对源信息比特序列进行LDPC编码运算之后,所述方法还包括:对得到码字序列进行解交织,由以下至少一个参数确定所述解交织方法:所述Pmax、所述pl和所述n。
- 根据权利要求16所述的方法,其中,对所述源信息比特序列进行交织包括:对编码前信息比特进行均匀分段,每段长度为pl比特;对于每一段后面添加Pmax-pl比特,添加后每一段都有Pmax比特;对每个段进行长度为Pmax的二进制比特翻转BRO交织;其中,所述Pmax等于2的X次幂,其中,X是大于或者等于2的整数。
- 根据权利要求17所述的方法,其中,对得到码字序列进行解交织:对编码后码字比特进行均匀分段,每段长度为Pmax比特;对每个段进行长度为Pmax的二进制比特翻转BRO解交织。
- 一种结构化低密度奇偶校验码LDPC的译码方法,包括:确定译码使用的基础矩阵Hb,其中,所述基础矩阵Hb包括对应于系统比特的Mb×Kb的块A和对应于校验比特的Mb×Mb的块B,即Hb=[A,B],其中,hbij表示所述基础矩阵Hb的第i行和j列的元素,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,Kb=Nb-Mb,Kb是大于等于4的整数,Nb是整数i=1、…、Mb,j=1,…、Nb;所述基础矩阵Hb包括一个或多个子矩阵,所述子矩阵包括:左上角子矩阵Hb1和左上角子矩阵Hb2,其中,所述左上角子矩阵Hb1和左上角子矩阵Hb2的行数和列数均小于所述基础矩阵Hb的行数和列数,且所述左上角子矩阵Hb1是左上角子矩阵Hb2的左上角子矩阵;根据所述基础矩阵和与所述基础矩阵Hb对应的扩展因子Z,预设比特数的码字进行译码运算,得到源信息比特序列,其中,Z是大于或者等于1的正整数。
- 根据权利要求20所述的方法,其中,所述源信息比特序列为(Nb-Mb)×Z比特的序列;所述预设比特数为Nb×Z比特。
- 根据权利要求20所述的方法,其中,所述左上角子矩阵Hb1由所述矩阵Hb的前L0行和前Kb+4列的交集构成,所述左上角子矩阵Hb1的每一行的对应非零Z*Z方阵的元素个数都小于等于Kb+2且大于等于Kb-2,所述左上角子矩阵Hb1的最后四列的方阵是一个左下三角矩阵或者准左下三角角矩阵;和/或所述左上角子矩阵Hb2由所述矩阵Hb的前Kb行和前2*Kb列的交集构成,所述左上角子矩阵Hb2的前4行、最后Kb-4列的交集构成的子矩阵的所有元素都是对应Z*Z零方阵的元素,所述左上角子矩阵Hb2的最后kb-4行、最后kb-4列的交集是一个大小为(kb-4)*(kb-4)的左下三角矩阵或者准左下三角矩阵,所述左上角子矩阵Hb2的最后kb-4行、第Kb+1到Kb+3列的交集构成子矩阵的所有元素都是对应零Z*Z方阵的元素;若左上角子矩阵Hb1的最后四列的方阵是一个下三角矩阵,所述左上角子矩阵Hb2的第Kb+1列的部分仅有一个对应非零Z*Z方阵的元素,若左上角子矩阵Hb1的最后四列的方阵是一个准下三角矩阵,所述左上角子矩阵Hb2的第Kb+1列的部分的所有元素都是对应零Z*Z方阵的元素;所述左上角子矩阵Hb2的最后kb-4行和前kb列的交集构成一个子矩阵,在这个子矩阵中每一行的对应非零Z*Z方阵的元素个数都小于等于Kb-2;其中,Nb大于等于2*Kb,L0等于4或3。
- 根据权利要求20至22中任一项所述的方法,其中,所述扩展因子Z支持一组确定值集合{z1,z2,z3…,zV},其中,z1,z2,…,zV是按照从小到大顺序排列的,zr、zs、zt、zu是所述集合中四个确定值的扩展因子且满足z1≤zr≤zs≤zt≤zu≤zV,其中,V、r、s、t、u是下标,1≤r≤s≤t≤u≤V,V是大于等于2的整数;当z1≤Z=zi<zr时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特中至少一个比特的girth等于4,对于对应扩展因子Z=zi和删除最重R列的基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于6,其中,R小于等于Kb/2;当zr≤Z=zi<zs时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于6;当zs≤Z=zi<zt时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的所有系统比特的girth都等于6,在每个LDPC码字中至少一个重量大于2的校验比特的girth大于等于8;当zt≤Z=zi<zu时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于8;当zu≤Z=zi<zV时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的系统比特的girth都等于8,在每个LDPC码字中至少一个重量大于2的校验比特的girth大于等于10;其中,一个LDPC码字的每一码字比特对应所述奇偶校验矩阵的每一列,每个码字比特的重量是指对应列中非零元素的个数,且i=1,2,…,V。
- 根据权利要求20所述的方法,其中,所述的LDPC码支持V种码长,每种码长都对应一个具有相同大小Mb*Nb的基础矩阵Hb,并且每种码长的基础矩阵的对应非零方阵元素在矩阵中出现的位置都是相同的或者至多3个不同,所述扩展因子Z支持一组确定的集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,每种码长的对应非零方阵元素的取值都是通过最大码长的对应非零方阵元素计算得到的,即
- 根据权利要求20所述的方法,其中,所述的LDPC码支持V种码长,每种码长都有一个具有相同大小Mb*Nb的基础矩阵Hb,并且每种码长的基础矩阵的对应非零方阵元素在矩阵中出现的位置都是相同的或者至多3个不同,所述的扩展因子Z支持一组确定的集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,每种码长的对应非零方阵元素的取值都是通过最大码长的对应非零方阵元素计算得到的,至少包括以下方式之一:方式一:取模mod方法:方式2:取整(scale+floor)方法:方式3:舍入(scale+round)方法:
- 根据权利要求24或者25所述的方法,其中,所述n的值是自然数集合nset中的一个元素,其中,所有n的值构成所述自然数集合nset。
- 根据权利要求24或者25所述的方法,其中,所述Pmax等于2的X次幂,其中,X是大于或者等于2的整数。
- 根据权利要求20所述的方法,其中,所述的LDPC码支持V种码长,每种码长都对应一个具有相同大小Mb*Nb的基础矩阵Hb;所述扩展因子Z支持一组确定的扩展因子集合{z1,z2,z3,…,zVmax},每 种码长的扩展因子是所述扩展因子集合中一个元素,所述扩展因子zv是一个正整数值pl的n倍,即z=pl*n,其中,所述正整数值pl是子集合Pset的一个元素,其中,所述子集合Pset是Pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数;在预设比特数的码字进行译码运算,得到源信息比特序列之前,包括:对预设比特数的码字进行交织,由以下至少一个参数确定所述交织方法:所述Pmax、所述pl和所述n。
- 根据权利要求28所述的方法,其中,对预设比特数的码字进行译码运算,得到源信息比特序列之后,所述方法还包括:对所述源信息比特序列进行解交织,由以下至少一个参数确定所述解交织方法:所述Pmax、所述pl和所述n。
- 一种结构化低密度奇偶校验码LDPC的编码装置,包括:确定模块,设置为确定编码使用的基础矩阵Hb,其中,所述基础矩阵Hb包括对应于系统比特的Mb×Kb的块A和对应于校验比特的Mb×Mb的块B,即Hb=[A,B],其中,hbij表示所述基础矩阵Hb的第i行和j列的元素,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,Kb=Nb-Mb,Kb是大于等于4的整数,Nb是整数,i=1、…、Mb,j=1,…、Nb;所述基础矩阵Hb包括一个或多个子矩阵,所述子矩阵包括:左上角子矩阵Hb1和左上角子矩阵Hb2,其中,所述左上角子矩阵Hb1和左上角子矩阵Hb2的行数和列数均小于所述基础矩阵Hb的行数和列数,且所述左上角子矩阵Hb1是左上角子矩阵Hb2的左上角子矩阵;编码模块,设置为根据所述基础矩阵和与所述基础矩阵Hb对应的扩展因子Z,对源信息比特序列进行LDPC编码运算,得到码字序列,其中,Z是大于等于1的正整数。
- 根据权利要求30所述的装置,其中,所述源信息比特序列 为(Nb-Mb)×Z比特的序列;所述比特码字序列为Nb×Z比特。
- 根据权利要求30所述的装置,其中,所述左上角子矩阵Hb1由所述矩阵Hb的前L0行和前Kb+4列的交集构成,所述左上角子矩阵Hb1的每一行的对应非零Z*Z方阵的元素个数都小于等于Kb+2且大于等于Kb-2,所述左上角子矩阵Hb1的最后四列的方阵是一个左下三角矩阵或者准左下三角矩阵;和/或所述左上角子矩阵Hb2由所述矩阵Hb的前Kb行和前2*Kb列的交集构成,所述左上角子矩阵Hb2的前4行、最后Kb-4列的交集构成的子矩阵的所有元素都是对应Z*Z零方阵的元素,所述左上角子矩阵Hb2的最后kb-4行和最后kb-4列的交集构成的子矩阵是一个大小为(kb-4)*(kb-4)的左下三角矩阵或者准左下三角矩阵,所述左上角子矩阵Hb2的最后kb-4行、第Kb+1到Kb+3列的交集构成的子矩阵的所有元素都是对应零Z*Z方阵的元素;若左上角子矩阵Hb1的最后四列的方阵是一个下三角矩阵,所述左上角子矩阵Hb2的第Kb+1列仅有一个对应非零Z*Z方阵的元素,若左上角子矩阵Hb1的最后四列的方阵是一个准下三角矩阵,所述左上角子矩阵Hb2的第Kb+1列的所有元素都是对应零Z*Z方阵的元素;所述左上角子矩阵Hb2的最后kb-4行和前kb列的交集构成一个子矩阵,在这个子矩阵中每一行的对应非零Z*Z方阵的元素个数都小于等于Kb-2;其中,Nb大于等于2*Kb,L0等于4或3。
- 根据权利要求30至32中任一项所述的装置,其中,所述扩展因子Z支持一组确定值集合{z1,z2,z3…,zV},其中,z1,z2,…,zV是按照从小到大顺序排列的,zr、zs、zt、zu是所述集合中四个确定值的扩展因子且满足z1≤zr≤zs≤zt≤zu≤zV,其中,V、r、s、t、u是下标,1≤r≤s≤t≤u≤V,V是大于等于2的整数;当z1≤Z=zi<zr时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特中至少一个比特的girth等于4,对于对应扩展因子Z=zi和删除最重R列的基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于6,其中,R小于等于Kb/2;当zr≤Z=zi<zs时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于6;当zs≤Z=zi<zt时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的所有系统比特的girth都等于6,在每个LDPC码字中至少一个重量大于2的校验比特的girth大于等于8;当zt≤Z=zi<zu时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于8;当zu≤Z=zi<zV时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的系统比特的girth都等于8,在每个LDPC码字中至少一个重量大于2的校验比特的girth大于等于10;其中,一个LDPC码字的每一码字比特对应所述奇偶校验矩阵的每一列,每个码字比特的重量是指对应列中非零元素的个数,且i=1,2,…,V。
- 根据权利要求30所述的装置,其中,所述的LDPC码支持V种码长,每种码长都对应一个具有相同大小Mb*Nb的基础矩阵Hb,并且每种码长的基础矩阵的对应非零方阵元素在矩阵中出现的位置都是相同的或者至多3个不同,所述扩展因 子Z支持一组确定的集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,每种码长的对应非零方阵元素的取值都是通过最大码长的对应非零方阵元素计算得到的,即
- 根据权利要求30所述的装置,其中,所述的LDPC码支持V种码长,每种码长都有一个具有相同大小Mb*Nb的基础矩阵Hb,并且每种码长的基础矩阵的对应非零方阵元素在矩阵中出现的位置都是相同的或者至多3个不同,所述的扩展因子Z支持一组确定的集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,每种码长的对应非零方阵元素的取值都是通过最大码长的对应非零方阵元素计算得到的,至少包括以下方式之一:方式一:取模mod方法:方式2:取整(scale+floor)方法:方式3:舍入(scale+round)方法:
- 根据权利要求34或者35所述的装置,其中,所述n的值是自然数集合nset中的一个元素,其中,所有n的值构成所述自然数集合nset。
- 根据权利要求34或者35所述的装置,其中,所述Pmax等于2的X次幂,其中,X是大于或者等于2的整数。
- 根据权利要求30所述的装置,其中,所述LDPC码支持V种码长,每种码长都对应一个具有相同大小Mb*Nb的基础矩阵Hb;所述扩展因子Z支持一组确定的扩展因子集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,所述扩展因子zv是一个正整数值pl的n倍,即z=pl*n,其中,所述正整数值pl是子集合Pset的一个元素,其中,所述子集合Pset是Pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数;所述装置还包括:交织模块,设置为对所述源信息比特序列进行 交织,由以下至少一个参数确定所述交织方法:所述Pmax、所述pl和所述n。
- 根据权利要求38所述的装置,其中,所述对源信息比特序列进行LDPC编码运算之后,所述方法还包括:对得到码字序列进行解交织,由以下至少一个参数确定所述解交织方法:所述Pmax、所述pl和所述n。
- 根据权利要求38所述的装置,其中,所述交织模块还设置为对编码前信息比特进行均匀分段,每段长度为pl比特;对于每一段后面添加Pmax-pl比特,添加后每一段都有Pmax比特;以及对每个段进行长度为Pmax的二进制比特翻转BRO交织;其中,所述Pmax等于2的X次幂,其中,X是大于或者等于2的整数。
- 根据权利要求39所述的装置,其中,所述解交织模块,设置为对编码后码字比特进行均匀分段,每段长度为Pmax比特;以及对每个段进行长度为Pmax的二进制比特翻转BRO解交织。
- 一种结构化低密度奇偶校验码LDPC的译码装置,包括:确定模块,设置为确定译码使用的基础矩阵Hb,其中,所述基础矩阵Hb包括对应于系统比特的Mb×Kb的块A和对应于校验比特的Mb×Mb的块B,即Hb=[A,B],其中,hbij表示所述基础矩阵Hb的第i行和j列的元素,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,Kb=Nb-Mb,Nb是整数,Kb是大于等于4的整数,i=1、…、Mb,j=1,…、Nb;所述基础矩阵Hb包括一个或多个子矩阵,所述子矩阵包括:左上角子矩阵Hb1和左上角子矩阵Hb2,其中,所述左上角子矩阵Hb1和左上角子矩阵Hb2的行数和列数均小于所述基础矩阵Hb的行数和列数,且所述左上角子矩阵Hb1是左上角子矩阵Hb2的左上角子矩阵;译码模块,设置为根据所述基础矩阵和与所述基础矩阵Hb对应的扩展因子Z,预设比特数的码字进行译码运算,得到源信息比特序列,其中,Z是大于等于1的正整数。
- 根据权利要求42所述的装置,其中,所述源信息比特序列为(Nb-Mb)×Z比特的序列;所述预设比特数为Nb×Z比特。
- 根据权利要求38所述的装置,其中,所述左上角子矩阵Hb1由所述矩阵Hb的前L0行和前Kb+4列的交集构成,所述左上角子矩阵Hb1的每一行的对应非零Z*Z方阵的元素个数都小于等于Kb+2且大于等于Kb-2,所述左上角子矩阵Hb1的最后四列的方阵是一个左下三角矩阵或者准左下三角矩阵;和/或所述左上角子矩阵Hb2由所述矩阵Hb的前Kb行和前2*Kb列的交集构成,所述左上角子矩阵Hb2的前4行、最后Kb-4列的交集构成的子矩阵的所有元素都是对应Z*Z零方阵的元素,所述左上角子矩阵Hb2的最后kb-4行和最后kb-4列的交集构成的子矩阵是一个大小为(kb-4)*(kb-4)的左下三角矩阵或者准左下三角矩阵,所述左上角子矩阵Hb2的最后kb-4行、第Kb+1到Kb+3列的交集构成的子矩阵的所有元素都是对应零Z*Z方阵的元素;若左上角子矩阵Hb1的最后四列的方阵是一个下三角矩阵,所述左上角子矩阵Hb2的第Kb+1列仅有一个对应非零Z*Z方阵的元素,若左上角子矩阵Hb1的最后四列的方阵是一个准下三角矩阵,所述左上角子矩阵Hb2的第Kb+1列的所有元素都是对应零Z*Z方阵的元素;所述左上角子矩阵Hb2的最后kb-4行和前kb列的交集构成一个子矩阵,在这个子矩阵中每一行的对应非零Z*Z方阵的元素个数都小于等于Kb-2;其中,Nb大于等于2*Kb,L0等于4或3。
- 根据权利要求42至44中任一项所述的装置,其中,所述扩展因子Z支持一组确定值集合{z1,z2,z3…,zV},其中,z1,z2,…,zV是按照从小到大顺序排列的,zr、zs、zt、zu是所述集合中四个确定值的扩展因子且满足z1≤zr≤zs≤zt≤zu≤zV,其中,V、r、s、t、u是下标,1≤r≤s≤t≤u≤V,V是大于等于2的整数;当z1≤Z=zi<zr时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特中至少一个比特的girth等于4,对于对应扩展因子Z=zi和删除最重R列的基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于6,其中,R小于等于Kb/2;当zr≤Z=zi<zs时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于6;当zs≤Z=zi<zt时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的所有系统比特的girth都等于6,在每个LDPC码字中至少一个重量大于2的校验比特的girth大于等于8;当zt≤Z=zi<zu时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的码字比特的girth都等于8;当zu≤Z=zi<zV时候,对于对应扩展因子Z=zi和基础矩阵Hb的LDPC码,在每个LDPC码字中所有重量大于2的系统比特的girth都等于8,在每个LDPC码字中至少一个重量大于2的校验比特的girth大于等于10;其中,一个LDPC码字的每一码字比特对应所述奇偶校验矩阵的每一列,每个码字比特的重量是指对应列中非零元素的个数,且i=1,2,…,V。
- 根据权利要求42所述的装置,其中,所述的LDPC码支持V种码长,每种码长都对应一个具有相同大小Mb*Nb的基础矩阵Hb,并且每种码长的基础矩阵的对应非零方阵元素在矩阵中出现的位置都是相同的或者至多3个不同,所述扩展因子Z支持一组确定的集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,每种码长的对应非零方阵元素的取值都是通过最大码长的对应非零方阵元素计算得到的,即
- 根据权利要求42所述的装置,其中,所述的LDPC码支持V种码长,每种码长都有一个具有相同大小Mb*Nb的基础矩阵Hb,并且每种码长的基础矩阵的对应非零方阵元素在矩阵中出现的位置都是相同的或者至多3个不同,所述的扩展因子Z支持一组确定的集合{z1,z2,z3,…,zVmax},每种码长的扩展因子是所述扩展因子集合中一个元素,每种码长的对应非零方阵元素的取值都是通过最大码长的对应非零方阵元素计算得到的,至少包括以下方式之一:方式一:取模mod方法:方式2:取整(scale+floor)方法:方式3:舍入(scale+round)方法:
- 根据权利要求46或者47所述的装置,其中,所述n的值是自然数集合nset中的一个元素,其中,所有n的值构成所述自然数集合nset。
- 根据权利要求46或者47所述的装置,其中,所述Pmax等于2的X次幂,其中,X是大于或者等于2的整数。
- 根据权利要求42所述的装置,其中,所述的LDPC码支持V种码长,每种码长都对应一个具有相同大小Mb*Nb的基础矩阵Hb;所述扩展因子Z支持一组确定的扩展因子集合{z1,z2,z3,…,zVmax},每 种码长的扩展因子是所述扩展因子集合中一个元素,所述扩展因子zv是一个正整数值pl的n倍,即z=pl*n,其中,所述正整数值pl是子集合Pset的一个元素,其中,所述子集合Pset是Pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数;所述装置还包括:交织模块,设置为预设比特数的码字进行译码运算,得到源信息比特序列之前,对所述预设比特数的码字进行交织,由以下至少一个参数确定所述交织方法:所述Pmax、所述pl和所述n。
- 根据权利要求42所述的装置,其中,所述装置还包括:解交织模块,设置为预设比特数的码字进行译码运算,得到源信息比特序列之后,对所述源信息比特序列进行解交织,由以下至少一个参数确定所述解交织方法:所述Pmax、所述pl和所述n。
- 一种编码器,包括:存储器和处理器,所述存储器,设置为确定编码使用的基础矩阵Hb,其中,所述基础矩阵Hb包括对应于系统比特的Mb×Kb的块A和对应于校验比特的Mb×Mb的块B,即Hb=[A,B],其中,hbij表示所述基础矩阵Hb的第i行和j列的元素,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,Kb=Nb-Mb,Kb是大于等于4的整数,Nb是整数,i=1、…、Mb,j=1,…、Nb;所述基础矩阵Hb包括一个或多个子矩阵,所述子矩阵包括:左上角子矩阵Hb1和左上角子矩阵Hb2,其中,所述左上角子矩阵Hb1和左上角子矩阵Hb2的行数和列数均小于所述基础矩阵Hb的行数和列数,且所述左上角子矩阵Hb1是左上角子矩阵Hb2的左上角子矩阵;处理器,设置为确定所述基础矩阵和与所述基础矩阵Hb对应的扩展因子Z,对源信息比特序列进行LDPC编码运算,得到码字序列,其中,Z是大于等于1的正整数。
- 一种译码器,其中,包括:存储模块,设置为存储译码使用的基础矩阵Hb,其中,所述基础矩阵Hb包括对应于系统比特的Mb×Kb的块A和对应于校验比特的Mb×Mb的块B,即Hb=[A,B],其中,hbij表示所述基础矩阵Hb的第i行和j列的元素,i是所述基础矩阵的行索引,j是所述基础矩阵的列索引,Kb=Nb-Mb,Nb是整数,Kb是大于等于4的整数,i=1、…、Mb,j=1,…、Nb;所述基础矩阵Hb包括一个或多个子矩阵,所述子矩阵包括:左上角子矩阵Hb1和左上角子矩阵Hb2,其中,所述左上角子矩阵Hb1和左上角子矩阵Hb2的行数和列数均小于所述基础矩阵Hb的行数和列数,且所述左上角子矩阵Hb1是左上角子矩阵Hb2的左上角子矩阵;处理器,设置为确定所述基础矩阵和与所述基础矩阵Hb对应的扩展因子Z,并对预设比特数的码字进行译码运算,得到源信息比特序列,其中,Z是大于等于1的正整数。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/301,290 US10892778B2 (en) | 2016-05-13 | 2017-01-06 | Encoding method and device and decoding method and device for structured LDPC |
EP23185378.9A EP4231532A3 (en) | 2016-05-13 | 2017-01-06 | Encoding method and device and decoding method and device for structured ldpc |
JP2018560038A JP7025349B2 (ja) | 2016-05-13 | 2017-01-06 | 構造的ldpcの符号化、復号化方法および装置 |
KR1020187036299A KR102229233B1 (ko) | 2016-05-13 | 2017-01-06 | 구조화된 ldpc의 부호화 및 복호화 방법 및 장치 |
EP17795241.3A EP3457575B1 (en) | 2016-05-13 | 2017-01-06 | Encoding method and device and decoding method and device for structured ldpc |
KR1020217007505A KR102347823B1 (ko) | 2016-05-13 | 2017-01-06 | 구조화된 ldpc의 부호화 및 복호화 방법 및 장치 |
US17/110,832 US11323134B2 (en) | 2016-05-13 | 2020-12-03 | Encoding method and device and decoding method and device for structured LDPC |
JP2022019134A JP7372369B2 (ja) | 2016-05-13 | 2022-02-09 | 構造的ldpcの符号化、復号化方法および装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610319410.1 | 2016-05-13 | ||
CN201610319410 | 2016-05-13 | ||
CN201610884876.6 | 2016-10-10 | ||
CN201610884876.6A CN107370490B (zh) | 2016-05-13 | 2016-10-10 | 结构化ldpc的编码、译码方法及装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/301,290 A-371-Of-International US10892778B2 (en) | 2016-05-13 | 2017-01-06 | Encoding method and device and decoding method and device for structured LDPC |
US17/110,832 Continuation US11323134B2 (en) | 2016-05-13 | 2020-12-03 | Encoding method and device and decoding method and device for structured LDPC |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017193614A1 true WO2017193614A1 (zh) | 2017-11-16 |
Family
ID=60266957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/070488 WO2017193614A1 (zh) | 2016-05-13 | 2017-01-06 | 结构化ldpc的编码、译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2017193614A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934692A (zh) * | 2020-08-20 | 2020-11-13 | 西安电子科技大学 | 基于bibd可变码率的量子ldpc码构造方法 |
CN113541698A (zh) * | 2020-04-22 | 2021-10-22 | 华为技术有限公司 | 编码、译码方法、装置及设备 |
CN118473426A (zh) * | 2024-07-10 | 2024-08-09 | 汉江国家实验室 | 删减矩阵译码方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217337A (zh) * | 2007-01-01 | 2008-07-09 | 中兴通讯股份有限公司 | 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法 |
CN101325474A (zh) * | 2007-06-12 | 2008-12-17 | 中兴通讯股份有限公司 | Ldpc码的混合自动请求重传的信道编码及调制映射方法 |
CN102412842A (zh) * | 2010-09-25 | 2012-04-11 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码的编码方法及装置 |
CN103236860A (zh) * | 2013-05-02 | 2013-08-07 | 广州海格通信集团股份有限公司 | 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法 |
-
2017
- 2017-01-06 WO PCT/CN2017/070488 patent/WO2017193614A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217337A (zh) * | 2007-01-01 | 2008-07-09 | 中兴通讯股份有限公司 | 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法 |
CN101325474A (zh) * | 2007-06-12 | 2008-12-17 | 中兴通讯股份有限公司 | Ldpc码的混合自动请求重传的信道编码及调制映射方法 |
CN102412842A (zh) * | 2010-09-25 | 2012-04-11 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码的编码方法及装置 |
CN103236860A (zh) * | 2013-05-02 | 2013-08-07 | 广州海格通信集团股份有限公司 | 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3457575A4 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113541698A (zh) * | 2020-04-22 | 2021-10-22 | 华为技术有限公司 | 编码、译码方法、装置及设备 |
CN113541698B (zh) * | 2020-04-22 | 2022-07-12 | 华为技术有限公司 | 编码、译码方法、装置及设备 |
CN111934692A (zh) * | 2020-08-20 | 2020-11-13 | 西安电子科技大学 | 基于bibd可变码率的量子ldpc码构造方法 |
CN111934692B (zh) * | 2020-08-20 | 2023-03-10 | 西安电子科技大学 | 基于bibd可变码率的量子ldpc码构造方法 |
CN118473426A (zh) * | 2024-07-10 | 2024-08-09 | 汉江国家实验室 | 删减矩阵译码方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323134B2 (en) | Encoding method and device and decoding method and device for structured LDPC | |
CN104868925B (zh) | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 | |
US8185797B2 (en) | Basic matrix, coder/encoder and generation method of the low density parity check codes | |
CN100486150C (zh) | 基于非正则低密度奇偶校验码的编译码器及其生成方法 | |
US9075738B2 (en) | Efficient LDPC codes | |
US8301975B2 (en) | Structured low-density parity-check (LDPC) code | |
CN100589357C (zh) | 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法 | |
JP2008501287A (ja) | ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法 | |
CN112204888B (zh) | 具有高效编码和良好误码平层特性的一类qc-ldpc码 | |
WO2015135298A1 (zh) | 一种支持低码率编码的方法及装置、计算机存储介质 | |
WO2017193614A1 (zh) | 结构化ldpc的编码、译码方法及装置 | |
JP5789014B2 (ja) | 符号化方法、符号化器、復号器 | |
WO2011144161A1 (zh) | 前向纠错方法、装置及系统 | |
Ma et al. | Recursive encoding of spatially coupled LDPC codes with arbitrary rates | |
Xu et al. | Low-Density Parity Check (LDPC) Codes | |
JP2012019561A (ja) | 符号化方法および符号化装置 | |
Cai et al. | Encoding of certain LDPC codes with decoding resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018560038 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17795241 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20187036299 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2017795241 Country of ref document: EP Effective date: 20181213 |