Background
An LDPC (Low Density Parity Check) code is a block error correction code with a sparse Check matrix proposed by Gallager in 1962. In 1996, Mackay et al re-studied LDPC codes and found that LDPC codes have very good performance: approaching to the Shannon limit, simple coding, simple decoding and parallel computation.
In 2005, the IEEE std802.16e standard provided a structured LDPC code (structured LDPC). The coding structure of the LDPC code is based on a mode matrix HbmAnd the cyclic shift identity matrix and the all-zero matrix are used as sub-matrixes for expansion, and a check matrix H required by coding is generated. The check matrix structure corresponding to the LDPC code is shown as formula (1-1).
In the formula (1-1), the submatrix P in the check matrix Hi,jIs generated by expanding the unit matrix and the all-zero matrix of the cyclic shift as sub-matrixes, the sizes of the corresponding unit matrix and the all-zero matrix, zfLine, zfColumn, possibly with spreading factor zfFlexibly changing the mode matrix H corresponding to the check matrix HbmIs a natural number or is-1. Wherein, the natural number comprises 0 and positive integer, is cyclic shift value of the unit matrix, and represents the number of the unit matrix circularly shifted to the right according to the column, and the unit matrix circularly shifted to the right according to the column is used as the sub-matrix P in the corresponding check matrix Hi,j. Wherein-1 represents the corresponding check matrixSubmatrix P in Hi,jAnd the matrix is obtained by expanding the all-zero matrix. Mode matrix HbmThe number of rows and columns is mbAnd nbAs shown in the formula (1-2),
wherein each element hi,j(i=1,…,mb;j=1,…,nb) The value is a natural number or-1. Here, an element taking a positive integer is referred to as a positive integer element, an element taking a 0 is referred to as a zero element, and an element taking a-1 is referred to as an "-1" element.
The formula (1-2) can also be expressed as nbA number of column vectors, each of which is,
wherein each column vector hi(i=1,…,nb) Comprising mbAnd (4) each element.
Wherein x isTIndicating that the vector x is transposed.
The above-mentioned mode matrix HbmIt can also be divided into 2 parts, as shown in FIG. 1, where the mode matrix HbmExpressed as in equations (1-5):
wherein,
a systematic bit portion corresponding to the check matrix H, which includes the matrix H
bmM on the left side of
bLine, k
bElements of the column, corresponding to H
bmLeft side k of
bA column vector h
i(i=1,…,k
b) As shown in the formulas (1-6),
wherein,
a check bit portion corresponding to a check matrix H, which includes the matrix H
bmM on the right side of
bLine, m
bElements of the column, corresponding to H
bmRight side m of
bA column vector h
i(i=k
b+1,…,n
b) As shown in the formulas (1-7),
wherein k isb+mb=nb。
The matrix mentioned above
Or divided into 2 parts, as shown in equations (1-8),
wherein,
is a mode matrix H
bmKth of (1)
b+1 column vectors.
Including a mode matrix H
bmM on the right side of
bLine, m
b1 column of elements, corresponding to H
bmRight side m of
b1 column vector h
i(i=k
b+2,…,n
b) As shown in the formulas (1-9),
generally, a matrix
Adopts a double diagonal structure, as shown in formulas (1-10),
wherein, when i is 1, …, mbAnd i ═ j or i ═ j +1, hi,jThe value is 0, and the others are-1. As shown in Table 1, a modulus matrix H of LDPC coding is given for the IEEE std802.16e standardbmWherein k isb=12,mb=12,nb=24。
TABLE 1 Modular matrix for LDPC coding
In order to flexibly support other shorter code lengths, a smaller spreading factor z is requiredfMeanwhile, the above-mentioned mode matrix H is required to be adjusted according to the following formula (1-11)bmGenerating an adjusted mode matrix H by taking the value of the element(s)bmfIs composed of
Wherein p (i, j) represents the above-mentioned mode matrix HbmThe value of the element or cyclic shift value of the ith row and the jth column of (b), p (f, i, j) is the value corresponding to the above-mentioned spreading factor zfAdjusted mode matrix H ofbmfRow i, column j, or a cyclic shift value. z is a radical of0Is the largest spreading factor. Z provided by the IEEE std802.16e standard0=96。
However, the LDPC code described above has a problem when the mode matrix H is
bmP (i, j) > 0 elements are relatively large, which means more complicated mathematical expressions in the formulas (1-11)
The calculation process of (a) also increases accordingly. In order to further reduce the processing complexity and implementation complexity of encoding and decoding of the LDPC code and increase the processing speed of encoding and decoding, it is necessary to match the mode matrix H
bmFurther improvement is made, so that the operation amount of the formulas (1-11) is further reduced, and the encoding and decoding speed of the LDPC code is improved. In addition, the above-mentioned mode matrix H
bmCan only take values of-1, 0 and positive integers, wherein the positive integers represent values of cyclic shift of the identity matrix to the right by columns, and all elements of the modulus matrix can not be negative integers. Therefore, it is necessary to provide a mode matrix H capable of bidirectional cyclic shift
bmThe flexibility of the encoding process is increased.
Disclosure of Invention
The present invention is directed to solving at least one of the above technical drawbacks, and in particular to solving the problems of reducing the processing complexity and implementation complexity of encoding and decoding of an LDPC code, increasing the processing speed of encoding and decoding, and increasing the flexibility of the encoding process.
In order to achieve the above object, an aspect of the present invention provides a method for encoding an LDPC code, including: using a spreading factor z
fAdjusting the mode matrix H
bmTo generate an adjusted mode matrix H
bmfThe matrix H
bmIs m
bLine n
bA matrix of columns, said matrix H
bmThe value of the element p (i, j) in (b) is-1, 0 or an integer n, and the matrix H
bmThe number of zero elements of (2) is not less than m
b+n
b-1, said matrix H
bmfElement (1) of
Wherein
Presentation pair
Rounding to zero, m
b、n
b、j、i、z
f、z
0Are all positive integers, and i is more than or equal to 1 and less than or equal to m
b,1≤j≤n
b,z
f≤z
0(ii) a Using said matrix H
bmfExpanding to generate a check matrix H, wherein the expansion mode is a sub-matrix P in the check matrix H
i,jExpanding according to the value of P (f, i, j), each sub-matrix P
i,jHas a size of z
f×z
fAnd P (f, i, j) is-1, and the corresponding sub-matrix P
i,jIs an all-zero matrix, and the corresponding sub-matrix P is when the value of P (f, i, j) is 0
i,jIs an identity matrix, and the value of p (f, i, j) is a positive integer
Time, corresponding sub-matrix P
i,jCyclic shift column by column for identity matrix
p (f, i, j) is a negative integer
Time, corresponding sub-matrix P
i,jCyclically shifting the identity matrix column by column to the left
And encoding the input information U by using the check matrix H, and outputting encoded information V.
According to an embodiment of the invention, the matrix H
bmIncluding n
bA column vector
Wherein each column vector h
i(i=1,…,n
b) Comprising m
bEach element, each column vector h
i(i=1,…,n
b) The number of the contained zero elements is not smallAt 1.
According to an embodiment of the invention, the matrix H
bmComprising a matrix
Sum matrix
Wherein
The systematic bit portion corresponding to the check matrix H, including the matrix H
bmM on the left side of
bLine, k
bThe elements of the column are,
a check bit portion corresponding to a check matrix H, including the matrix H
bmM on the right side of
bLine, m
bElements of a column, the matrix H
bmThe number of the zero elements of (2) is not less than
b+k
b-1 or 2n
b-k
b-1。
According to an embodiment of the present invention, the column vector hi(i=1,…,kb+1) number of zero elements not less than 1, column vector hi(i=kb+2,…,nb) The number of zero elements included is 2.
According to an embodiment of the present invention, encoding input information U using the check matrix H includes the steps of: the following operation is performed on the input information U,
wherein u (j) ═ j1,...,k
b) A jth group of bits representing encoder input information U, v (i) (1. -, m)
b) I groups of bits representing the coded information V output by the coder, each group having z bits
f,
Representing a sub-matrix
X is more than or equal to 1 and less than or equal to m
b。
According to an embodiment of the invention, the matrix is a matrix of a plurality of matrices
Column vector h of
i(i=1,…,k
b) M located foremost
b-1 element
The number of zero elements contained is not less than 1.
According to an embodiment of the invention, the matrix is a matrix of a plurality of matricesIs located atLine 1 to mbBetween-1 lines, including 1 st and mb-1 line.
According to an embodiment of the invention, the matrix is a matrix of a plurality of matrices
Column vector h of
i(i=1,…,k
b) M located at the last
b-1 element
The number of zero elements contained is not less than 1.
According to an embodiment of the invention, the matrix is a matrix of a plurality of matrices
Is located at
Line 1 to m
bBetween-1 lines, including 2 nd and m th lines
bAnd (6) rows.
According to an embodiment of the invention, the matrix is a matrix of a plurality of matrices
Column vector h of
i(i=1,…,k
b) M located in the middle
b2 elements
The number of zero elements contained is not less than 1.
According to an embodiment of the invention, the matrix is a matrix of a plurality of matrices
Is located at
Line 2 to m
bBetween-1 lines, including 2 nd and m th lines
b-1 line.
In another aspect, the present invention provides an LDPC code encoder, which includes a matrix adjustment module, a matrix change module, a matrix storage module, and an encoding module: the matrix adjusting module is used for adjusting the matrix according to the expansion factor z
fAdjusting the mode matrix H
bmTo generate an adjusted mode matrix H
bmfThe matrix H
bmIs m
bLine n
bA matrix of columns, said matrix H
bmElement p (b) of (1)i, j) takes the value of-1, 0 or an integer n, and the matrix H
bmThe number of zero elements of (2) is not less than m
b+n
b-1, said matrix H
bmfElement (1) of
Wherein
Presentation pair
Rounding to zero, m
b、n
b、j、i、z
f、z
0Are all positive integers, and i is more than or equal to 1 and less than or equal to m
b,1≤j≤n
b,z
f≤z
0(ii) a The matrix transformation module is used for transforming the matrix H according to the matrix
bmfGenerating a check matrix H in an expansion mode in which a sub-matrix P in the check matrix H is stored in the matrix storage module
i,jExpanding according to the value of P (f, i, j), each sub-matrix P
i,jHas a size of z
f×z
fAnd P (f, i, j) is-1, and the corresponding sub-matrix P
i,jIs an all-zero matrix, and the corresponding sub-matrix P is when the value of P (f, i, j) is 0
i,jIs an identity matrix, and the value of p (f, i, j) is a positive integer
Time, corresponding sub-matrix P
i,jCyclic shift column by column for identity matrix
p (f, i, j) is a negative integer
Time, corresponding sub-matrix P
i,jCyclically shifting the identity matrix column by column to the left
The encoding module is used for encoding the input information U according to the check matrix H and outputting encoded information V; the matrix storage module is used for storing a matrix H required by coding
bm、H
bmfAnd H.
According to an embodiment of the invention, the matrix H
bmIncluding n
bA column vector
Wherein each column vector h
i(i=1,…,n
b) Comprising m
bEach element, each column vector h
i(i=1,…,n
b) The number of zero elements contained is not less than 1.
According to an embodiment of the invention, the matrix H
bmComprising a matrix
Sum matrix
Wherein
The systematic bit portion corresponding to the check matrix H, including the matrix H
bmM on the left side of
bLine, k
bThe elements of the column are,
a check bit portion corresponding to a check matrix H, including the matrix H
bmM on the right side of
bLine, m
bElements of a column, the matrix H
bmThe number of the zero elements of (2) is not less than
b+k
b-1 or 2n
b-k
b-1。
According to the inventionEmbodiment, the column vector hi(i=1,…,kb+1) number of zero elements not less than 1, column vector hi(i=kb+2,…,nb) The number of zero elements included is 2.
According to the technical scheme provided by the invention, by adding a mode matrix HbmThe number of the zero elements can reduce the processing complexity and the realization complexity of the encoding and decoding of the LDPC code and improve the processing speed of the encoding and decoding. The invention provides a mode matrix HbmThe element values of (1) can be-1, 0 and positive integer, and can also be negative and positive number less than-1, so that the unit matrix can also carry out bidirectional cyclic shift, and not only right cyclic shift but also left cyclic shift is supported, thereby increasing the flexibility of coding processing. In addition, the mode matrix HbmCan also become smaller so that the modulus matrix HbmThe quantization bit of the element parameter value can be reduced, thereby saving the storage cost and the hardware expense and reducing the implementation complexity.
Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative only and should not be construed as limiting the invention.
The invention provides a coding method of an LDPC code, which comprises the following steps: using a spreading factor z
fAdjusting the mode matrix H
bmTo generate an adjusted mode matrix H
bmfThe matrix H
bmIs m
bLine n
bA matrix of columns, said matrix H
bmThe value of the element p (i, j) in (b) is-1, 0 or an integer n, and the matrix H
bmThe number of zero elements of (2) is not less than m
b+n
b-1, said matrix H
bmfElement (1) of
Wherein
Presentation pair
Rounding to zero, m
b、n
b、j、i、z
f、z
0Are all positive integers, and i is more than or equal to 1 and less than or equal to m
b,1≤j≤n
b,z
f≤z
0(ii) a Using said matrix H
bmfExpanding to generate a check matrix H, wherein the expansion mode is a sub-matrix P in the check matrix H
i, jExpanding according to the value of P (f, i, j), each sub-matrix P
i,jHas a size of z
f×z
fAnd P (f, i, j) is-1, and the corresponding sub-matrix P
i,jIs an all-zero matrix, and the corresponding sub-matrix P is when the value of P (f, i, j) is 0
i,jIs an identity matrix, and the value of p (f, i, j) is a positive integer
Time, corresponding sub-matrix P
i,jCyclic shift column by column for identity matrix
p (f, i, j) is a negative integer
Time, corresponding sub-matrix P
i,jCyclically shifting the identity matrix column by column to the left
Coding input information U by using the check matrix H and outputting coded information V
As shown in fig. 2, a flow chart of LDPC code coding proposed by the present invention includes the following steps:
s101: using a spreading factor zfAdjusting the mode matrix HbmGenerating an adjusted mode matrix Hbmf。
According to the technical scheme provided by the invention, the mode matrix HbmThe number of rows and columns is mbAnd nbMatrix H as shown in equation (1-2)bmThe value of the element p (i, j) in (a) is-1, 0 or an integer n. In order to reduce the processing complexity and the realization complexity of the encoding and decoding of the LDPC code and improve the processing speed of the encoding and decoding, the invention provides the modular matrix HbmThe number of zero elements of (2) is not less than mb+nb-1。
Existing mode matrix HbmCan only take values of-1, 0 and positive integers, wherein the positive integers represent shift values of the unit matrix circularly shifted to the right according to columns, and all elements of the existing module matrix can not be negative integers. The invention provides a mode matrix HbmThe value of the element can be-1, 0 and positive integer, and can also be negative and positive number less than-1, the unit matrix can be circularly shifted in two directions, namely, the unit matrix not only supports right circular shift, but also supports left circular shift, and the coding position is increasedAnd (4) physical flexibility. In addition, the mode matrix HbmCan also become smaller so that the modulus matrix HbmThe quantization bit of the element parameter value can be reduced, thereby saving the storage cost and the hardware expense and reducing the implementation complexity.
Under this condition, the spreading factor z is usedfAdjusting the mode matrix HbmGenerating an adjusted mode matrix Hbmf. Matrix HbmfThe elements in (A) are adjusted to be:
wherein
Presentation pair
Rounding to zero, m
b、n
b、j、i、z
f、z
0Are all positive integers, and i is more than or equal to 1 and less than or equal to m
b,1≤j≤n
b、z
f≤z
0。
As an embodiment of the invention, matrix HbmIncluding nbA column vectorWherein each column vector hi(i=1,…,nb) Comprising mbEach element, each column vector hi(i=1,…,nb) The number of zero elements contained is not less than 1.
As an embodiment of the invention, the invention proposes a mode matrix HbmOr divided into 2 sections, as shown in FIG. 1, where the mode matrix HbmExpressed as in equations (1-5):
wherein,a systematic bit portion corresponding to the check matrix H, which includes the matrix HbmM on the left side ofbLine, kbElements of the column, corresponding to HbmLeft side k ofbA column vector hi(i=1,…,kb) As shown in the formulas (1-6),
wherein,
a check bit portion corresponding to a check matrix H, which includes the matrix H
bmM on the right side of
bLine, m
bElements of the column, corresponding to H
bmRight side m of
bA column vector h
i(i=k
b+1,…,n
b) As shown in the formulas (1-7),
wherein k isb+mb=nb。
At this time, as an embodiment of the present invention, the matrix HbmThe number of the zero elements of (2) is not less thanb+kb-1 or 2nb-kb-1。
As an embodiment of the invention, the column vector hi(i=1,…,kb+1) number of zero elements not less than 1, column vector hi(i=kb+2,…,nb) The number of zero elements included is 2.
The matrix H provided by the inventionbmThere may also be multiple forms that are subject to the following conditions, for example:
matrix array
Column vector h of
i(i=1,…,k
b) M located foremost
b-1 element
The number of contained zero elements is not less than 1; further, it may be a matrix
Is located at
Line 1 to m
bBetween-1 lines, including 1 st and m
b-1 line.
More specifically, momentMatrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vector of kb=12、mb=12、nb=24:
TABLE 2(a)
Or the matrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vector of kb=20、mb=4、nb=24:
TABLE 3(a)
Matrix array
Column vector h of
i(i=1,…,k
b) M located at the last
b-1 element
The number of contained zero elements is not less than 1; further, it may be a matrix
Is located at
Line 1 to m
bBetween-1 lines, including 2 nd and m th lines
bAnd (6) rows.
More specifically, the matrix HbmN of (A) to (B)bIn the direction of each columnTaking n of a matrixbA column vector of kb=16、mb=8、nb=24:
TABLE 4(a)
Or the matrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vector of kb=16、mb=8、nb=24:
TABLE 5(a)
Matrix array
Column vector h of
i(i=1,…,k
b) M located in the middle
b2 elements
The number of contained zero elements is not less than 1; further, the matrix
Is located at
Line 2 to m
bBetween-1 lines, including 2 nd and m th lines
b-1 line.
More specifically, the matrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vectorWherein k isb=16、mb=12、nb=32:
Watch 6(a)
Or the matrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vector of kb=16、mb=16、nb=32:
TABLE 7(a)
Or the matrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vector of kb=16、mb=16、nb=32:
Watch 8(a)
Or the matrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vector of kb=16、mb=8、nb=24:
Watch 9(a)
Or the matrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vector of kb=18、mb=6、nb=24:
Watch 10(a)
Or the matrix HbmN of (A) to (B)bThe column vectors are taken from n of the matrixbA column vector of kb=18、mb=6、nb=24:
Watch 11(a)
Obviously, there are various expressions for each of the above matrix tables 2(a) to 11(a), and a specific mode matrix H is a specific example of one matrix in the above matrix tables 2(a) to 11(a)bmComprises the following steps:
watch 12(b)
Or the matrix HbmComprises the following steps:
watch 13(b)
Or the matrix HbmComprises the following steps:
watch 14(b)
Or the matrix HbmComprises the following steps:
watch 15(b)
Or the matrix HbmComprises the following steps:
watch 16(b)
Or the matrix HbmComprises the following steps:
watch 17(b)
Or the matrix HbmComprises the following steps:
watch 18(b)
Or the matrix HbmComprises the following steps:
watch 19(b)
Or the matrix HbmComprises the following steps:
watch 20(b)
Or the matrix HbmComprises the following steps:
watch 21(b)
S102: using adjusted mode matrix HbmfAnd expanding to generate a check matrix H.
Determining the modulus matrix H according to step S101
bmAnd then expanding to generate a check matrix H for the input information. The expansion mode is a sub-matrix P in the check matrix H
i,jExpanding according to the value of P (f, i, j), each sub-matrix P
i,jHas a size of z
f×z
fAnd P (f, i, j) is-1, and the corresponding sub-matrix P
i,jIs an all-zero matrix, and the corresponding sub-matrix P is when the value of P (f, i, j) is 0
i,jIs an identity matrix, and the value of p (f, i, j) is a positive integer
Time, corresponding sub-matrix P
i,jCyclic shift column by column for identity matrix
p (f, i, j) is a negative integer
Time, corresponding sub-matrix P
i,jCyclically shifting the identity matrix column by column to the left
S103: the input information is encoded using a check matrix H.
And encoding the input information according to the check matrix H obtained in the step S102. The following operation is performed on the input information U,
wherein u (j) 1
b) A jth group of bits representing encoder input information U, v (i) (1. -, m)
b) I groups of bits representing the coded information V output by the coder, each group having z bits
f,
Representing a sub-matrix
X is more than or equal to 1 and less than or equal to m
b。
The method provided by the invention adds the mode matrix HbmThe number of the zero elements can reduce the processing complexity and the realization complexity of the encoding and decoding of the LDPC code and improve the processing speed of the encoding and decoding. For example, the mode matrix H is calculated using the coding matrices of tables 2(a) and 2(b) proposed in the present invention, as compared to the coding matrix of WiMAX of Table 1bmfComplexity of complex function of formula of elementThe coding method is relatively reduced by 25%, and the whole coding computation complexity of the coding method provided by the invention can be relatively reduced by 9.6%. In addition, the invention correspondingly reduces the processing complexity of the decoder for expanding the modulus matrix and generating the check matrix, improves the decoding processing speed and further reduces the expenses of the memory and the hardware by 12.5 percent. .
As shown in fig. 3, the present invention further provides an LDPC code encoder 300, which includes a matrix adjusting module 310, a matrix changing module, a matrix storing module 330, and an encoding module 340.
Wherein the matrix adjustment module 310 is configured to adjust the spreading factor z
fAdjusting the mode matrix H
bmTo generate an adjusted mode matrix H
bmfAnd stored in a matrix storage block 330, matrix H
bmIs m
bLine n
bMatrix of columns, matrix H
bmThe value of the element p (i, j) in (A) is-1, 0 or an integer n, and the matrix H
bmThe number of zero elements of (2) is not less than m
b+n
b-1, matrix H
bmfElement (1) of
Wherein
Presentation pair
Rounding to zero, m
b、n
b、j、i、z
f、z
0Are all positive integers, and i is more than or equal to 1 and less than or equal to m
b,1≤j≤n
b,z
f≤z
0(ii) a The matrix transformation module 320 is used for transforming the matrix according to the matrix H
bmfGenerating a check matrix H by expansion and storing the check matrix H in the matrix storage module 330, wherein the expansion mode is a sub-matrix P in the check matrix H
i,jExpanding according to the value of P (f, i, j), each sub-matrix P
i,jHas a size of z
f×z
fAnd P (f, i, j) is-1, and the corresponding sub-matrix P
i,jThe value of p (f, i, j) is an all-zero matrixSub-matrix P corresponding to 0
i,jIs an identity matrix, and the value of p (f, i, j) is a positive integer
Time, corresponding sub-matrix P
i,jCyclic shift column by column for identity matrix
p (f, i, j) is a negative integer
Time, corresponding sub-matrix P
i,jCyclically shifting the identity matrix column by column to the left
The encoding module 340 is configured to encode the input information U according to the check matrix H, and output encoded information V; the matrix storage module 330 is used for storing the matrix H required by the coding
bm、H
bmfAnd H.
Matrix H used by
encoder 300 as an embodiment of the present invention
bmIncluding n
bA column vector
Wherein each column vector h
i(i=1,…,n
b) Comprising m
bEach element, each column vector h
i(i=1,…,n
b) The number of zero elements contained is not less than 1.
As an embodiment of the invention, matrix H
bmComprising a matrix
Sum matrix
Wherein
The systematic bit portion corresponding to the check matrix H, including the matrix H
bmM on the left side of
bLine, k
bThe elements of the column are,
a check bit portion corresponding to a check matrix H, including the matrix H
bmM on the right side of
bLine, m
bElements of a column, matrix H
bmThe number of the zero elements of (2) is not less than
b+k
b-1 or 2n
b-k
b-1。
Matrix H used by encoder 300 as an embodiment of the present inventionbmColumn vector h ofi(i=1,…,kb+1) number of zero elements not less than 1, column vector hi(i=kb+2,…,nb) The number of zero elements included is 2.
Matrix H used by encoder 300 as an embodiment of the present inventionbmAlso included are matrices H shown in tables 2(a) to 11(a), 12(b) to 21(b)bmExamples of (1).
The device provided by the invention is characterized in that a mode matrix H is addedbmThe number of the zero elements can reduce the processing complexity and the realization complexity of the encoding and decoding of the LDPC code and improve the processing speed of the encoding and decoding. The invention provides a mode matrix HbmThe element values of (1) can be-1, 0 and positive integer, and can also be negative and positive number less than-1, so that the unit matrix can also carry out bidirectional cyclic shift, and not only right cyclic shift but also left cyclic shift is supported, thereby increasing the flexibility of coding processing. In addition, the mode matrix HbmCan also become smaller so that the modulus matrix HbmThe quantization bits of the parameter values of the elements of (1) can be reduced, thereby saving memory cost and hardware overhead in the encoderAnd the pin reduces the implementation complexity.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.