Low density parity check code for terrestrial cloud broadcast

10715179 ยท 2020-07-14

Assignee

Inventors

Cpc classification

International classification

Abstract

Provided is an LDPC (Low Density Parity Check) code for terrestrial cloud broadcast. A method of encoding input information based on an LDPC (Low Density Parity Check) includes receiving information and encoding the input information with an LDPC codeword using a parity check matrix, wherein the parity check matrix may have a structure obtained by combining a first parity check matrix for an LDPC code having a higher code rate than a reference value with a second parity check matrix for an LDPC code having a lower code rate than the reference value.

Claims

1. A method of decoding an LDPC (Low Density Parity Check) code by an LDPC decoder, the method comprising: receiving a signal corresponding to an LDPC codeword; and performing decoding for the signal, the LDPC codeword corresponding to a parity check matrix, wherein the parity check matrix includes a dual diagonal matrix and an identity matrix, wherein the dual diagonal matrix corresponds to dual diagonal lines and the identity matrix corresponds to a diagonal line.

2. The method of claim 1, wherein an element of the dual diagonal lines is located at the neighboring location of an element of the diagonal line.

3. The method of claim 1, wherein the LDPC codeword includes a systematic part corresponding to input information, a first parity part corresponding to the dual diagonal matrix, and a second parity part corresponding to the identity matrix.

4. The method of claim 3, wherein the LDPC codeword is generated by performing: obtaining the first parity part using accumulation corresponding to the dual diagonal matrix based on the input information; and obtaining the second parity part using the identity matrix based on the calculated first parity part.

5. The method of claim 4, wherein the LDPC codeword is generated by further performing puncturing the LDPC codeword corresponding to predetermined locations of at least one of the first parity part and the second parity part for a target code rate.

6. The method of claim 5, wherein the puncturing corresponds to the identity matrix in the parity check matrix.

7. An LDPC (Low Density Parity Check) decoder comprising: a receiving unit configured to receive a signal corresponding to an LDPC codeword; and a decoding unit configured to performing decoding for the signal, the LDPC codeword corresponding to a parity check matrix, wherein the parity check matrix includes a dual diagonal matrix and an identity matrix, wherein the dual diagonal matrix corresponds to dual diagonal lines and the identity matrix corresponds to a diagonal line.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The embodiments of the present invention will become readily apparent by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:

(2) FIG. 1 is a view illustrating a PCM (Parity Check Matrix) structure of a QC-LDPC (Quasi-Cyclic Low Density Parity Check) code used in a DVB (Digital Video Broadcasting) system;

(3) FIG. 2 is a flowchart illustrating a method of encoding input information with an LDPC code that operates in a negative SNR (Signal to Noise Ratio) environment according to an embodiment of the present invention;

(4) FIG. 3 is a view illustrating a PCM structure of an LDPC code according to an embodiment of the present invention;

(5) FIG. 4 is a view illustrating the PCM structure of a QC-LDPC code for terrestrial cloud broadcast, wherein the length of the codeword is 8192;

(6) FIG. 5 is an expanded view of the PCM structure shown in FIG. 4;

(7) FIG. 6 is a view illustrating the PCM structure of a QC-LDPC code for terrestrial cloud broadcast, wherein the length of the codeword is 16384;

(8) FIG. 7 is a view illustrating the PCM structure of a QC-LDPC code for terrestrial cloud broadcast, wherein the length of the codeword is 32768;

(9) FIG. 8 is a view illustrating the PCM structure of a QC-LDPC code for terrestrial cloud broadcast, wherein the length of the codeword is 65536.

(10) FIG. 9 illustrates an example of the PCM structure of an LDPC code according to code rates according to an embodiment of the present invention;

(11) FIG. 10 is a graph illustrating the performance of LDPC codes according to an embodiment of the present invention;

(12) FIG. 11 is a flowchart illustrating a method of decoding an LDPC codeword according to an embodiment of the present invention; and

(13) FIG. 12 is a block diagram illustrating an LDPC encoder and an LDPC decoder according to an embodiment of the present invention.

DESCRIPTION OF THE EMBODIMENTS

(14) Embodiments of the present invention will be described in detail with reference to the accompanying drawings to be worked on by those of ordinary skill in the art. However, the present invention may be embodied in various ways and is not limited thereto. What is irrelevant to the present invention has been omitted from the drawings, and similar denotations have been assigned to similar components throughout the specification.

(15) As used herein, when an element includes or comprises another element, the element, unless stated otherwise, may further include or comprise the other element, but not excluding the other element. Further, as used herein, the term unit or part means a basis for processing at least one function or operation, which may be implemented in hardware or software or in a combination of software and hardware.

(16) FIG. 1 is a view illustrating a PCM (Parity Check Matrix) structure of a QC-LDPC (Quasi-Cyclic Low Density Parity Check) code used in a DVB (Digital Video Broadcasting) system.

(17) In general, the LDPC code is known as an error correction code that is closest to the Shannon limit in an AWGN (Additive White Gaussian Noise) channel and provides asymptotically better performance than that provided by the Turbo code while enabling parallelizable decoding.

(18) Such an LDPC code is defined by a low-density PCM (Parity Check Matrix) that is randomly generated. However, the randomly generated LDPC code needs a lot of memory to store the PCM and requires a long time to access the memory.

(19) To address such a problem with the memory, the QC-LDPC (Quasi-Cyclic LDPC) code has been suggested, and the QC-LDPC code constituted of Zero matrixes or CPMs (Circulant Permutation Matrixes) is defined by PCM(H) as shown in Equation 1:

(20) H = [ P a 11 P a 12 .Math. P a 1 n P a 21 P a 22 .Math. P a 2 n .Math. .Math. .Math. P a m 1 P a m 2 .Math. P a mn ] , for a ij { 0 , 1 , .Math. , L - 1 , } [ Equation 1 ]

(21) Here, P is a CPM having a size of LL and is defined as in Equation 2:

(22) P L L = [ 0 1 0 .Math. 0 0 0 1 .Math. 0 .Math. .Math. .Math. .Math. 0 0 0 .Math. 1 1 0 0 .Math. 0 ] . [ Equation 2 ]

(23) Further, P.sup.i is a matrix obtained by right-shift i(0i<L) times, an identity matrix I(custom characterP.sup.0) having a size of LL, and P.sup. is the zero matrix having a size of LL. Accordingly, in the case of the QC-LDPC code, only exponent i may be stored in order to store P.sup.i, and thus, the memory required for storing PCM is reduced to 1/L.

(24) As an example, the QC-LDPC code used in the DVB system, as shown in FIG. 1, is constituted of I matrixes and P matrixes. The I matrix is a matrix having a size of (NK)K, and the P matrix is a dual diagonal matrix having a size of (NK)(NK). Here, N is the length of codeword, and K is the length of input information.

(25) FIG. 2 is a flowchart illustrating a method of encoding input information with an LDPC code that operates in a negative SNR (Signal to Noise Ratio) environment according to an embodiment of the present invention, and FIG. 3 is a view illustrating a PCM structure of an LDPC code according to an embodiment of the present invention.

(26) Referring first to FIG. 2, the LDPC encoder according to the present invention, if information to be encoded is entered (210) and a code rate is determined (220), determines the size of a dual diagonal matrix that is variably included in the parity check matrix in accordance with the determined code rate (230). At this time, although in FIG. 2 the code rate is determined after the information to be encoded is entered, the code rate, as necessary, may be previously determined before the information is input or may be determined when the information is input.

(27) Thereafter, the LDPC encoder, as shown in FIG. 3, may encode the input information with an LDPC codeword using a determined parity check matrix. Here, the parity check matrix may have a structure in which a first parity check matrix (PCM[A B]) for a LDPC code having a higher code rate a reference value (e.g., 0.5) and a second parity check matrix (PCM[C D]) for an LDPC code having a lower code rate lower than the reference value are combined with each other.

(28) As an example, referring to FIG. 3, the parity check matrix according to the present invention may include a dual diagonal matrix B, an identity matrix D, and a zero matrix. Here, in the dual diagonal matrix B, an element matrix constituting the dual diagonal line may be an identity matrix, and the remaining element matrixes may be zero matrixes. The element matrix constituting the dual diagonal line of the dual diagonal matrix B may be continuous to the element matrix constituting the diagonal line of the identity matrix D.

(29) In FIG. 3, N is the length of the codeword, K is the length of the information, and g is a value that varies depending on the code rate, Matrix A and matrix C have sizes of gK and (NKg)(K+g), respectively, and may be constituted of circulant permutation matrixes and zero matrixes having a size of LL. Further, matrix Z is a zero matrix having a size of g(NKg), and matrix B is a dual diagonal matrix having a size of gg. Matrix B may be expressed as in Equation 3:

(30) B g g [ I L L 0 0 .Math. 0 0 0 I L L I L L 0 .Math. 0 0 0 0 I L L I L L .Math. 0 0 0 .Math. .Math. .Math. .Math. .Math. .Math. 0 0 0 .Math. I L L I L L 0 0 0 0 .Math. 0 I L L I L L ] . [ Equation 3 ]

(31) Here, is an element matrix and is an identity matrix having a size of LL.

(32) The LDPC codeword that is encoded through the parity check matrix as shown in FIG. 3 may include the systematic part of (NK)K corresponding to the input information, a first parity part corresponding to the dual diagonal matrix B, and a second parity part corresponding to the identity matrix D.

(33) The LDPC encoder according to the present invention may calculate the first parity part using the input information and the first parity check matrix (PCM[A B]) and may calculate the second parity part using the second parity check matrix (PCM[C D]) based on the input information and the calculated first parity part.

(34) Specifically, the LDPC encoder according to the present invention may encode input information using Equation 4 as follows:
Hc.sup.T=0[Equation 4]

(35) Here, H is the parity check matrix, and c is the LDPC codeword.

(36) Meanwhile, Equation 4 may be split as shown in Equation 5:
As.sup.T+Bp.sub.1.sup.T=0
C(s, p.sub.1).sup.T+Dp.sub.2.sup.T=0[Equation 5]

(37) Here, s is the systematic part, P.sub.1 is the first parity part, and P.sub.2 is the second parity part.

(38) Since B is a dual diagonal matrix, the encoding process for calculating the first parity part P.sub.1 may be performed by an accumulator of a block type. Further, since D is an identity matrix, the second parity part P.sub.2 may be simply calculated by P.sub.2.sup.T=C(s, p.sub.1).sup.T. As such, the LDPC encoder according to the present invention has an efficient linear time encoding algorithm and thus its complexity is reduced.

(39) As an example, N, K, and g of LDPC codes having a code rate 0.25, which have codeword lengths of 8192, 16384, 32768, and 65536, respectively, are given as in Table 1:

(40) TABLE-US-00001 TABLE 1 N K g 8192 2048 160 16384 4096 320 32768 8192 640 65536 16384 1280

(41) An exemplary method of expressing the PCM of the QC-LDPC code designed as in Table 1 is now described.

(42) Assume that a QC-LDPC code having a code rate of 4/, N=28 and K=16, and that is constituted of a 44 CPM has a PCM as shown in Equation 6:

(43) H = [ P 2 P 3 P P P 0 P P P P 1 P P 2 P P 0 P P 2 P 3 P 0 P P P P 0 ] ( = [ 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ] P 0 = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] , P 1 = [ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 ] , P 2 = [ 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 ] , P 3 = [ 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 ] , P = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ] ) [ Equation 6 ]
The PCM may be represented as follows.

(44) TABLE-US-00002 7 3 Matrix size (# of columns = 7, # of rows = 3) 2 3 1 1 1 1 1 Column weight distribution 0.sup.th column weight = 2, 1.sup.st column weight = 3, 2.sup.nd column weight = 1, 3.sup.rd column weight = 1, 4.sup.th column weight = 1, 5.sup.th column weight = 1, 6.sup.th column weight = 1. 3 3 4 Row weight distribution 0.sup.th row weight = 3, 1.sup.st row weight = 3, 2.sup.nd row weight = 4. Location of non-zero matrix at each row 0 1 4 Non-zero matrix location of 0.sup.th row, row weight = 3 1 3 5 Non-zero matrix location of 1.sup.st row, row weight = 3 0 1 2 6 Non-zero matrix location of 2.sup.nd row, row weight = 4 Exponent value of non-zero matrix at each row 2 3 0 Exponent value of non-zero matrix of 0.sup.th row 1 2 0 Exponent value of non-zero matrix of 1.sup.st row 2 3 0 0 Exponent value of non-zero matrix of 2.sup.nd row

(45) The PCM of the QC-LDPC code with a code rate of 0.25, which operates in a negative SNR environment for a terrestrial cloud broadcast system according to the present invention may be represented in such way, thus resulting in the embodiments in the PA1264-4C_Table.txt file.

(46) FIGS. 4 to 8 show examples of the PCM structure of the LDPC code according to embodiments of the present invention.

(47) As an example, FIG. 4 illustrates the PCM structure of a QC-LDPC code for terrestrial cloud broadcast, wherein the length of the codeword is 8192, and FIG. 5 is an expanded view of the PCM structure shown in FIG. 4.

(48) Meanwhile, FIG. 6 illustrates the PCM structure of a QC-LDPC code for terrestrial cloud broadcast, wherein the length of the codeword is 16384, FIG. 7 illustrates the PCM structure of a QC-LDPC code for terrestrial cloud broadcast, wherein the length of the codeword is 32768, and FIG. 8 illustrates the PCM structure of a QC-LDPC code for terrestrial cloud broadcast, wherein the length of the codeword is 65536.

(49) FIG. 9 illustrates an example of the PCM structure of an LDPC code according to code rates according to an embodiment of the present invention.

(50) The PCM of the LDPC code according to the present invention consists of multiple single parity check codes, and thus, it may be truncated for each of the different code rates, as shown in FIG. 9. For example, LDPC codes having code rates of and may be easily generated by truncating the PCM by 50 and 83.3%. This means that only part of the overall codeword may be decoded in a high SNR region by the LDPC code according to the present invention. Accordingly, the LDPC decoder may save power consumption and reduce waiting time.

(51) FIG. 10 is a graph illustrating the performance of LDPC codes according to an embodiment of the present invention.

(52) As an example, in FIG. 10, the performance of the QC-LDPC code having a code rate of 0.25 is shown as compared with the SNR. For purposes of computational experiment, an LLR (Log-likelihood Ratio)-based sum-product algorithm has been assumed that performs QPSK (Quadratic Phase Shift Keying) modulation and 50 counts of repeated decoding.

(53) Meanwhile, FIG. 10 also illustrates the LDPC codes used in the DVB-T2/S2 system, which have a code rate of 0.25 and a codeword length of 64800, to show the excellent performance of the LDPC codes newly designed according to the present invention. Further, Table 2 below shows the performance gap that stems from the Shannon limit of the LDPC code designed for terrestrial cloud broadcast at BER(Bit Error Probability)=210.sup.6 and Table 3 shows the complexity of the LDPC code that is proportional to the number of 1's in the PCM.

(54) TABLE-US-00003 TABLE 2 Shannon Limit Length (N) [SNR, dB] Gap from Limit [dB] 8192 3.804 1.29 16384 3.804 0.99 32768 3.804 0.79 65536 3.804 0.6 DVB (64800) 3.804 1.29

(55) TABLE-US-00004 TABLE 3 Length (N) Number of ones in PCM 8192 36,352 16384 72,736 32768 145,504 65536 291,040 DVB (64800) 194,399

(56) Referring to FIG. 10 and Tables 2 and 3, among the LDPC codes newly designed according to the present invention, the LDPC code having a codeword length of 65536 is about 0.69 dB better in performance but about 50% higher in complexity than the LDPC code of the DVB-T2/S2 system, which has a codeword length of 64800. However, the LDPC codes having the codeword lengths of 16384 and 32768 are respectively more excellent in performance by about 0.3 dB and about 0.5 dB and lower n complexity by about 63% and about 25% than the LDPC code of the DVB-T2/S2 system which has a codeword length of 64800. Further, the LDPC codes newly designed according to the present invention, when their codeword lengths are 8192, 16384, 32768, and 65536, are spaced apart from the Shannon limit by about 1.29 dB, about 0.99 dB, about 0.79 dB, and about 0.6 dB at BER=210.sup.6.

(57) FIG. 11 is a flowchart illustrating a method of decoding an LDPC codeword according to an embodiment of the present invention.

(58) Referring to FIG. 11, the LDPC decoder according to the present invention, when receiving an LDPC codeword (1110), decodes the received LDPC codeword using a parity check matrix obtained by combining a first parity check matrix for an LDPC code having a higher code rate than a reference value (e.g., 0.5) with a second parity check matrix for an LDPC code having a lower code word than the reference value (1120). At this time, the parity check matrix, as shown in FIG. 3, may include the zero matrix Z, the identity matrix D, and the dual diagonal matrix B. In the dual diagonal matrix B, the element matrix constituting the dual diagonal line is an identity matrix, and the remaining element matrixes may be zero matrixes. The element matrix constituting the dual diagonal line of the diagonal matrix B may be continuous to the element matrix constituting the diagonal line of the identity matrix D.

(59) FIG. 12 is a block diagram illustrating an LDPC encoder and an LDPC decoder according to an embodiment of the present invention.

(60) Referring to FIG. 12, the LDPC encoder 1210 according to the present invention may include, as an example, an input unit 1212, a determining unit 1214, and an encoding unit 1216. The LDPC decoder 1220 may include a receiving unit 1222 and a decoding unit 1224.

(61) The input unit 1212 receives information to be encoded.

(62) The determining unit 1214 determines a code rate of the LDPC code and determines the size of a dual, diagonal matrix depending on the determined code rate.

(63) The encoding unit 1216 encodes the information input through the input unit 1212 with the LDPC codeword by using the parity check matrix having the code rate determined by the determining unit 1214. Here, the parity check matrix may consist of zero matrixes and circulant permutation matrixes.

(64) Meanwhile, the parity check matrix, as an example, may have the structure in which a first parity check matrix for an LDPC code having a higher code rate than a reference value and a second parity check matrix for an LDPC code having a lower code rate than the reference value. Here, the reference value may be, e.g., 0.5. It may include a zero matrix, an identity matrix, and a dual diagonal matrix. Specifically, the parity check matrix may have a structure as shown in FIG. 3, and in such case, the first parity check matrix may include the dual diagonal matrix B, and the second parity check matrix may include the identity matrix D. In the dual diagonal matrix B, the element matrix constituting the dual diagonal line may be an identity matrix while the remaining element matrixes may be zero matrixes. The element matrix constituting the dual diagonal line may be continuous to the element matrix constituting the diagonal line of the identity matrix D.

(65) The encoding unit 1216, as an example, may encode the input information with the LDPC codeword by calculating the first parity part using the information input through the input unit 1212 and the first parity check matrix and by calculating the second parity part using the second parity check matrix based on the input information and the calculated first parity part.

(66) The LDPC codeword encoded by the encoding unit 1216 may include the systematic part corresponding to the information input through the input unit 1212, the first parity part corresponding to the dual diagonal matrix, and the second parity part corresponding to the identity matrix.

(67) Meanwhile, the receiving unit 1222 of the decoder 1220 receives the LDPC codeword encoded by the parity check matrix. The LDPC codeword received by the receiving unit 1222 may include the systematic part, the first parity part, and the second parity part.

(68) The decoding unit 1224, as shown in FIG. 3, decodes the LDPC codeword received by the receiving unit 1222 using the parity check matrix as shown in FIG. 3.

(69) Although exemplary embodiments of the present invention have been described, the present invention is not limited thereto, and various modifications or variations may be made thereto without departing from the scope of the present invention. The embodiments described herein are not provided to limit the present invention but to describe the invention, and the present invention is not limited thereto. The scope of the present invention should be interpreted within the appended claims and the spirit within the equivalents of the invention should be construed to be included in the scope of the invention.