CN101965687B - Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes - Google Patents
Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes Download PDFInfo
- Publication number
- CN101965687B CN101965687B CN2009801075765A CN200980107576A CN101965687B CN 101965687 B CN101965687 B CN 101965687B CN 2009801075765 A CN2009801075765 A CN 2009801075765A CN 200980107576 A CN200980107576 A CN 200980107576A CN 101965687 B CN101965687 B CN 101965687B
- Authority
- CN
- China
- Prior art keywords
- bits
- ldpc
- shortening
- puncturing
- punctured
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 title claims abstract description 28
- 238000004904 shortening Methods 0.000 claims abstract description 78
- 239000011159 matrix material Substances 0.000 claims description 38
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000287196 Asthenes Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
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
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/155—Shortening or extension of codes
-
- 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
An apparatus and a method for channel encoding/decoding in a communication system are provided. The apparatus and the method generate LDPC-encoded blocks with various lengths from an LDPC codewith fixed length in a communication system using a Low-Density Parity-Check (LDPC) code. The apparatus and the method perform shortening using a predetermined number of shortened bits and perform LDPC encoding. The apparatus and the method apply predetermined rules according to the predeterminednumber of shortened bits and determine the number of bits to be punctured, and perform puncturing based on thedetermined number of punctured bits.
Description
Technical Field
The present invention relates generally to a communication system using a Low Density Parity Check (LDPC) code, and more particularly, to an apparatus and method for efficiently generating an LDPC code and enabling encoding and decoding of a channel.
Background
Inter-symbol interference (ISI) and fading of various noises and channels significantly degrade the performance of the links of the wireless communication system. Therefore, in order to achieve the object of a high-speed digital communication system requiring a large amount of data processing, high-speed data processing, and high reliability of data, such as next-generation mobile communication, digital broadcasting, and mobile internet, it is necessary to develop a technique for overcoming the noise, fading, and ISI. Recently, research has been actively conducted using error correction codes as a method for effectively restoring distorted information to its original state and improving reliability of communication.
LDPC codes first introduced by Gallager in the sixties of the twentieth century have not been fully utilized due to their complex implementation, which to date has surpassed the technology at that time. However, since the turbo code discovered in 1993 by Berrou, Glavieux and Thitimajshima shows performance close to shannon channel capacity, much analysis and research on the performance and characteristics of the turbo code has been conducted. For this reason, many studies have been made on channel coding based on iterative decoding and graphics.
The above research has led to a renewed study of LDPC codes in the end of the nineties of the twentieth century. Re-study shows that, when decoding is performed using iterative decoding based on sum-product algorithm (sum-product algorithm) on a Tanner graph (a specific case of a factor graph) corresponding to an LDPC code, the performance of the LDPC code approaches shannon channel capacity.
Generally, LDPC codes are represented in a graphical representation. Also, the characteristics of the LDPC code may be analyzed using methods based on graph theory, algebra, and probability theory. In general, a graphical model of channel coding is useful for describing codes. When the information about the coded bits corresponds to vertices in the graph and the relationship between the coded bits corresponds to edges (i.e., line segments) in the graph, the graph model of the channel code may be considered as a communication network in which the vertices exchange predetermined messages through the edges. Thus, a natural decoding algorithm can be derived. For example, decoding algorithms derived from a trellis (trellis), which may be considered a type of graph, include the well-known Viterbi (Viterbi) algorithm and the Bahl, Cocke, Jelinek, and raviv (bcjr) algorithms.
LDPC codes are typically defined by parity check matrices and can be represented using bipartite graphs, commonly referred to as Tanner graphs. In the bipartite graph, vertices are divided into two different types. The LDPC code is represented by a bipartite graph formed by vertices called "variable nodes" and "check nodes". The variable node corresponds to coded bits at a one-to-one ratio.
Referring to fig. 1 and 2, a description of a graphical representation of an LDPC code is provided.
First, fig. 1 shows an example of a parity check matrix H1 of an LDPC code, which includes 4 rows and 8 columns. Referring to fig. 1, columns 8 represent an LDPC code, which generates a codeword having a length of 8, and each column corresponds to 8 bits of encoding.
Fig. 2 is a diagram showing a Tanner graph corresponding to H1 of fig. 1.
Referring to fig. 2, a Tanner graph of an LDPC code includes 8 variable nodes x1202、x2204、x3206、x4208、x5210、x6212、x7214 and x8216 and 4 check nodes 218, 220, 222, and 224.
Here, the ith column and jth row in the parity check matrix H1 of the LDPC code correspond to the variable node x, respectivelyiAnd a jth check node. Also, a value of 1, i.e., a non-zero value, at a position where the ith column crosses the jth row in the parity check matrix H1 of the LDPC code means a variable node x in the Tanner graph of fig. 2iAnd the jth check node.
The degree of each variable node and each check node in the Tanner graph of an LDPC code represents the number of edges making connections between nodes. The number of edges is equal to the number of non-zero entries (i.e., elements) in the column or row corresponding to the relevant nodes in the parity check matrix H1 of the LDPC code.
For example, in FIG. 2, variable node x1202、x2204、x3206、x4208、x5210、x6212、x7214 and x8The degrees of 216 are 4, 3, 2 and 2, respectively. The check nodes 218, 220, 222, and 224 are in degrees 6, 5, and 5, respectively. Also, in the regular sequence, the number of non-zero entries in the columns of the parity check matrix H1 of fig. 1, which correspond to the variable nodes of fig. 2, respectively, coincides with degrees 4, 3, 2, and 2. In the canonical sequence, the number of non-zero entries in the rows of the parity check matrix H1 of fig. 1, corresponding to the check nodes of fig. 2, respectively, is consistent with degrees 6, 5, and 5.
To represent the degree distribution of the nodes of the LDPC code, the ratio of the number of variable nodes each having a degree I to the total number of variable nodes is set to fiAnd the ratio of the number of check nodes each having degree j to the total number of check nodes is set to gj。
For example, in the case of the LDPC code as shown in FIG. 1 and FIG. 2, f2=4/8、f3=3/8、f 41/8 and f for i ≠ 2, 3, and 4i0, and g5=3/4、g 61/4, and for j ≠ 5 and 6, g i0. When the length of the LDPC code is set to N (i.e., the number of columns is set to N) and the number of rows is set to N/2, the following is passedEquation (1) is used to calculate the density of non-zero entries in the entire parity check matrix having the degree distribution described above.
In equation (1), as N increases, the density of 1 in the parity check matrix H1 continues to decrease. The density of non-zero terms is generally inversely proportional to the code length N of the LDPC code. Thus, when N is large, the density of non-zero terms is very small. For this reason, the LDPC code includes a low density meaning in its name.
The structural characteristics of the parity check matrix H1 of the LDPC code to which the present invention is applied are described with reference to fig. 3.
Fig. 3 shows an LDPC code adopted as a standard technique in the second generation of digital video broadcasting satellite transmission (DVB-S2), which is one of digital broadcasting standards.
In FIG. 3, N1And K1Indicating the block length and the length of the information word in the LDPC code. (N)1-K1) Indicating the parity length. Further, q ═ N can be established1-K1)/M1Determine M1And q. At this time, K1/M1Is determined to be an integer.
Referring to fig. 3, the parity part (i.e., from the kth) in the parity check matrix1Column to (N)1Column-1) is of the bi-diagonal type. Therefore, the degree distribution of the columns corresponding to the parity part all have a value of 2 except for the last column having a value of 1.
Applied to the information word portion in the parity check matrix (i.e., from column 0 to (K)1Column-1) is as follows.
Rule 1: by assigning K's to information words in the parity check matrix1The columns are divided into a plurality of groups (each group having M)1Column) to generate K1/M1And column groups.
The method for forming columns belonging to each column group follows the following rule 2.
Rule 2: in the i (i ═ 1.·, K.. times.1/M1) The position of 1 is determined in column 0 of the column group.
When the degree of the 0 th column belonging to the i-th column group is represented as D1If it is assumed that the position of the row with 1 as its entry is represented asThen j ( j 1, 2,.., M) in the ith column group is defined by the following equation (2)1-1) position in column with row having 1 as its entry-position
k=1,2,...,Di,i=1,...,K1/M1And j ═ 1.. multidot.m1-1
……(2)
When rule 2 is applied, it belongs to the ith (i ═ 1.., K)1/M1) The degrees of the columns of the column group are all fixed as Di. To facilitate easy understanding of the structure of the DVB-S2LDPC code in which information on a parity check matrix is stored by rule 2, consider the following example.
When assuming N1=30、K1=15、M1When q is 5 and q is 3, the position information of the row having 1 as its item in each 0 th column of the 3 column groups can be represented as the following 3 sequences. Here, for convenience of description, the 3 sequences are defined by the following weight-1 (weight-1) position sequence.
The weight 1 position sequence may be expressed as only the relevant position information for each column group as follows.
012
01113
01014
That is, the sequence of the ith column is obtained by sequentially representing the positional information of the rows having 1 as its item in the ith column group.
When the parity check matrix is formed using information corresponding to the above example and both of rules 1 and 2, the LDPC code of fig. 4 below may be generated in a manner having the same concept as that of the DVB-S2LDPC code.
Fig. 4 shows an example of a parity check matrix of an LDPC code.
Efficient encoding can be performed using the structural form in the DVB-S2LDPC code designed by rules 1 and 2. The following example is used to describe a process for performing LDPC encoding using the parity check matrix of DVB-S2.
Providing when N is1=16200、K1=10800、M1The encoding process of the DVB-S2LDPC code is used when 360 and q 15. Further, has a length of K1Is represented as (i)0,i1,...,ik1-1) And has a length of (N)1-K1) Is represented as (P)0,P1,...,PN1-K1-1)。
Step 1: the encoder initializes the parity bits as follows:
P0=P1=…=PN1-K1-1=0
step 2: information on a row having 1 as its entry in the 0 th column belonging to the 1 st column group of the information word is read from the stored position information of the parity check matrix.
An example of only relevant position information of the read information can be represented as follows:
0208416131548128614603196429724813369345146202622。
further, pieces of relevant position information of the read information can be expressed as a weight 1 position sequence as follows:
read information and information bits i0Is used to update the parity bit pxs, as defined by the following equation (3), wherein x represents R(k) 1,0Each of k +1, 2.
In the case of the equation (3),
can be expressed as
Representing a binary addition.
And step 3: i is calculated by the following equation (4)0The 359 following information word bits imA value of each of (1, 2.., 359).
{x+(m modM1)×q}mod(N1-K1),M 1360, and m 1, 2
……(4)
In equation (4), x represents R(k) 1,0The value of each of k +1, 2. In this case, equation (4) has the same concept as equation (2).
Next, the value obtained by equation (4) is used to perform a calculation similar to equation (3).
That is to say that the first and second electrodes,
for imUpdate
P{x+(mmodM1)×q}mod(N1-K1). For example, when m is 1, i.e. for i1Updated by the following equation (5)
P(x+q)mod(N1-K1)。
Equation (5) corresponds to the case where q is assumed to be equal to 15. The above process is performed in the same manner for m 1, 2.
And 4, step 4: for the 361 st information word bit i in the same way as step 2 above360Read R(k) 2,0Information of k +1, 2.., 13And updates the specific parity bit px. Wherein x represents R(k) 2,0。
By making a pair i360The 359 following information word bits i360、i361、......i719Similarly apply equation (4) to update
P{x+(mmodM1)×q}mod(N1-K1) (where m 361, 362.
And 5: the process of steps 2, 3 and 4 is repeated for each information word bit group having 360 information word bits.
Finally, parity bits are determined by the following equation (6), step 6.
In equation (6), piIs a parity bit obtained by performing LDPC encoding.
As described above, LDPC encoding is performed by the procedure of steps 1 to 6 in DVB-S2.
Disclosure of Invention
Technical problem
Meanwhile, the above-described LDPC coding should be designed in a manner suitable for the amount of data transmission required to support an actual communication system. In particular, LDPC coding having various block lengths for supporting various data transmission amounts according to service requests is necessary for a communication system supporting various broadcast services and an adaptive communication system to which a hybrid automatic repeat request (HARQ) scheme, an Adaptive Modulation and Coding (AMC) scheme, etc. are applied for supporting high-speed data transmission.
However, in the conventional LDPC encoding, a plurality of LDPC codewords each having the same length are generated, so that there is a limitation on encoding and decoding channels.
Therefore, the LDPC coding scheme is necessary for a high-speed digital communication system requiring a large amount of data processing, high-speed data processing, and higher reliability of data. In addition, there is a need for a channel encoding and decoding scheme applying more efficient LDPC codewords.
Technical scheme
The present invention has been made to solve at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention provides an apparatus and method for applying shortening (shorten) or puncturing (puncturing) to an LDPC code having a fixed length and generating an LDPC code having a variable length in a communication system.
Another aspect of the present invention provides an apparatus and method for changing a ratio of a number of shortened bits to a number of punctured bits by a predetermined rule and generating an LDPC code having a variable length in a communication system.
Another aspect of the present invention provides an apparatus and method for generating an LDPC code having a variable length from an LDPC code having a fixed length using shortening or puncturing and encoding/decoding a channel using the generated LDPC code.
According to an aspect of the present invention, there is provided a method for encoding a channel in a communication system using a Low Density Parity Check (LDPC) code. The shortening is performed using a predetermined number of shortened bits. LDPC encoding is performed. A predetermined rule is applied according to a predetermined number of shortened bits, and the number of bits to be punctured is determined. Puncturing is performed based on the determined number of bits to be punctured.
According to another aspect of the present invention, there is provided a method for decoding a channel in a communication system using a Low Density Parity Check (LDPC) code. A shortening and puncturing pattern (pattern) is determined based on the received signal. When there are bits that have been used to perform shortening or puncturing, the values of the shortened bits are set to 0 according to the determined shortening pattern, erasures are set according to the determined puncturing pattern, and LDPC decoding is performed. The determining of the puncturing and shortening pattern includes setting a ratio of the number of punctured bits to (B +1)/B, where B is an integer.
According to another aspect of the present invention, there is provided an apparatus for encoding a channel in a communication system using a Low Density Parity Check (LDPC) code. The apparatus includes a shortening mode applying unit for performing shortening using a predetermined number of shortening bits. The apparatus further includes an LDPC encoder for performing encoding based on the LDPC code shortened by the shortening pattern application unit. The apparatus further includes a control unit for applying a predetermined rule to the number of shortened bits and determining the number of bits to be punctured. The apparatus additionally includes a puncturing pattern applying unit for performing puncturing on the LDPC codeword generated by the LDPC encoder based on the determined number of bits to be punctured.
According to another aspect of the present invention, there is provided an apparatus for decoding a channel in a communication system using a Low Density Parity Check (LDPC) code. The apparatus includes a demodulator for receiving and demodulating a channel. The apparatus further includes a shortening/puncturing pattern determination or estimation unit for determining predetermined shortening and puncturing patterns based on the demodulated signal and providing the LDPC decoder with position information on bits to be shortened and punctured. The apparatus further includes an LDPC decoder for inserting 0's as many as the number of shortened bits and setting erasures as many as the number of punctured bits according to position information provided on bits to be shortened and punctured, and decoding the LDPC code.
Advantageous effects
The apparatus and method of the embodiments of the present invention generate an LDPC code having a variable length using information on a given parity check matrix in a communication system using the LDPC code and ensure expandability and flexibility of the communication system.
Further, the apparatus and method of the embodiments of the present invention generate an LDPC code that maximally maintains a predetermined effective reception range using information on a given parity check matrix in a communication system using the LDPC code, and maximally ensures channel transmission.
When shortening or puncturing is applied to an LDPC codeword generated to support various block lengths according to system requirements, the apparatus and method of embodiments of the present invention ensure that the performance of the LDPC code on which shortening or puncturing has been performed is similar to the system performance of the LDPC code before shortening or puncturing is performed. Accordingly, the apparatus and method of the embodiments of the present invention ensure faster data processing speed by applying shortening and puncturing to the LDPC code.
Drawings
The above and other features, aspects, and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:
FIG. 1 illustrates a parity check matrix of an LDPC code of length 8;
fig. 2 is a diagram showing a Tanner graph of a parity check matrix of an LDPC code of length 8;
FIG. 3 is a diagram showing a schematic structure of a DVB-S2LDPC code;
figure 4 shows a parity check matrix of an LDPC code in the form of DVB-S2;
fig. 5 is a block diagram showing a configuration of a transceiver in a communication system using an LDPC code to which an embodiment of the present invention is applied;
FIGS. 6 and 7 are diagrams illustrating performance curves obtained by applying shortening and puncturing to DVB-S2LDPC encoding to which embodiments of the present invention are applied;
fig. 8, 9 and 10 are diagrams illustrating formulas for a relation of the number of shortened bits to the number of punctured bits according to an embodiment of the present invention;
fig. 11 and 12 are diagrams illustrating improved performance of DVB-S2LDPC coding applying shortening and puncturing according to an embodiment of the present invention;
FIG. 13 is a diagram illustrating a variation of a code rate with respect to a length of an LDPC information word according to an embodiment of the present invention;
fig. 14 is a flowchart illustrating an LDPC decoding process in a receiver when a puncturing pattern is applied according to an embodiment of the present invention;
fig. 15 is a block diagram showing a configuration of a transmitter using an LDPC code to which puncturing and shortening proposed by an embodiment of the present invention is applied; and
fig. 16 is a block diagram showing a configuration of a receiver using an LDPC code to which puncturing and shortening proposed by an embodiment of the present invention is applied.
Detailed Description
Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same or similar components are denoted by the same or similar reference numerals even though they are shown in different drawings. Detailed descriptions of structures or processes well known in the art are omitted so as not to obscure the subject matter of the present invention.
The present invention provides a method by which, in a system for applying shortening and puncturing to LDPC encoding, a ratio of shortened bits to punctured bits is changed by a predetermined rule to minimize a change in an effective reception range due to a fixed ratio of shortened bits to punctured bits.
Fig. 5 is a block diagram showing a configuration of a transceiver in a communication system using an LDPC code to which an embodiment of the present invention is applied.
Referring to fig. 5, an input signal u is encoded by an LDPC encoder 511 of a transmitter 510, the LDPC encoder 511 outputting a signal c. The signal c is modulated by a modulator 513, which modulator 513 outputs a signal s for transmission over a wireless channel 520. Then, the demodulator 531 of the receiver 530 demodulates a signal r from a reception (Rx) channel and outputs a signal x. LDPC decoder 533 based on demodulated Rx channel estimationu. In this case, the LDPC encoder 511 generates a parity check matrix in a manner of satisfying a block length required for the communication system according to a predetermined scheme.
In particular, the LDPC encoder 511 according to the present invention, which uses LDPC and thus does not require separate additional storage information, supports various block lengths. The method for supporting various block lengths according to the present invention uses puncturing or shortening techniques.
Puncturing refers to a technique of: which performs LDPC encoding on a given specific parity check matrix, generates an LDPC codeword, and then does not actually transmit a specific portion of the LDPC codeword. Thus, the receiver determines the portion to be erased that is not transmitted.
Meanwhile, when puncturing is compared with shortening, the two techniques have a common feature of reducing the length of the LDPC codeword. However, puncturing differs from shortening in that: which has no limitation on the value of a particular bit. That is, in puncturing, a specific part from a specific information word bit or generated parity bit is not transmitted, and the receiver treats the non-transmitted specific part as an erasure.
The puncturing will be described using a parity check matrix of the DVB-S2LDPC code shown in fig. 3.
In the parity check matrix shown in fig. 3, the total length is N1The front part corresponding to a length K1Bit (i) of the information word0,i1,...,iK1-1) And the rear portion corresponds to a length of N1-K1Parity bit (p) of0,p1,...,pN1-K1-1)。
That is, when the generated lengths are all N1Is located only at N among the LDPC code words ofPWhen the bits of the appointed position are not transmitted, the generation and transmission length is N1-NPThe same effect of the LDPC codeword of (1).
In the parity check matrix described above, all columns corresponding to punctured bits are used without omission in the decoding process. Therefore, puncturing differs from shortening in this regard.
When a system is established, the transmitter and the receiver may share or estimate position information on punctured bits in the same manner. Therefore, the receiver processes the relevant punctured bits as erasures only, and performs decoding.
Depending on the puncturing, the length of the block actually transmitted by the transmitter is N1-NPAnd the length of the information word is unchanged, still K1. Thus, the code rate becomes K1/(N1-Np) And is always greater than a given initial code rate K1/N1。
The following describes features when puncturing and shortening are applied simultaneously to a given LDPC encoding.
For convenience of description, the block length and the information word length of the initial LDPC code are respectively set to N1And K1. Further, the block length and the information word length of the final LDPC code are set to N, respectively2And K2. The final LDPC code means a code finally obtained by performing shortening and puncturing on the initial LDPC code.
When defining N1-N2N Δ and K1-K2=KSIf shortened in the parity check matrix of the DVB-S2LDPC code and K2As many bits and puncturing as NP(=NΔ-KS) As many bits as there are, then a bit having N can be generated2And K2An LDPC code as its block length and information word length.
When N is in the generated LDPC codeΔ> 0 or KSWhen > 0, the code rate becomes
Which is generally compatible with the code rate K of DVB-S2LDPC codes1/N1Different. Therefore, the algebraic characteristics change. Here, NΔ=KSThe case of (1) corresponds to a case in which both shortening and puncturing are not applied, or only shortening is performed.
As described above, LDPC encoding can provide a code rate and a block length required by a system when the number of shortened bits and the number of punctured bits are appropriately adjusted.
In connection with this, embodiments of the present invention propose a method of generating codes with different code rates and maintaining a predetermined effective reception range to the maximum extent by appropriately adjusting the ratio of shortening to puncturing using the characteristics of shortening and puncturing.
When the code rate is 1/5, N in a predetermined ratio1=16200、K1=3240、M1360 and q136 DVB-S2 code and code rate 4/9, N1=16200、K1=7200、M1360 and q1When the DVB-S2LDPC code of 25 applies the shortening and puncturing of the specific pattern, the system performance is as shown in fig. 6 and 7.
Referring to fig. 6 and 7, when the Bit Error Rate (BER) is close to 10-5In the case when shortening and puncturing are not applied at all and when K2The performance difference between the case at 360 is approaching 2 dB.
In order to compensate for the loss of the effective reception range due to the above performance difference, the same code rate should not be applied to the LDPC code after the shortening and puncturing are applied to the LDPC code. That is, in order to obtain even greater coding gain, an LDPC code having a low code rate should be transmitted with puncturing of even fewer bits.
For example, in FIG. 6, when K is2When 360, N is used to maintain 1/5 code ratePHas been set to 11520. However, with NPSlowly (by ins) decreases, the code rate becomes progressively smaller, and it happens that the performance of the DVB-S2LDPC code approaches that of the N-like1=16200、K1=3240、M1360 and q1As is the case with the performance of the 36 DVB-S2 code.
Therefore, less puncturing should be performed when a large amount of shortening is applied, so that the performance of a given LDPC code and the performance of the LDPC code to which shortening and puncturing are applied may both be as high as a predetermined value.
Therefore, the present invention proposes a shortening and puncturing method having the relational diagrams as fig. 8, 9 and 10 so that they can be simply applied while preventing as much as possible a large variation in the effective reception range.
First, the relationship diagram of fig. 8 can be represented by the following equation (7).
Wherein,
represents the maximum rounding, which is less than or equal to x.
In equation (7), a, which determines the slope value, is set to the following value: for determining NPSuch that even when K is applied2The performance of the LDPC code may not be degraded as the value of (c) becomes smaller.
The relationship diagram of fig. 9 can be expressed by the following equation (8).
In equation (8), when K2Is less than or equal to a certain value, a predetermined number of punctured bits is maintained. On the other hand, when K2Is greater than the specific value, applying a ratio of K to K in a specific ratio1-K2Proportional to the number of bits to be punctured.
Meanwhile, in FIG. 9, K2Is divided into 2 sections. However, K2May be divided into more than 2 sections, and may be set to more than 2 sections.
The relationship diagram of fig. 10 can be expressed by the following equation (9).
Equation (9) depends on K2Defines the number of punctured bits separately for each region. In FIG. 10, K2Is set to 3 sections. However, K2May be divided into more than 3 sections, and may be set to more than 3 sections.
The common feature of fig. 8, 9 and 10 corresponding to equation (7), equation (8) and equation (9) is that when K is2When the length of (c) is shorter, the ratio of shortening to puncturing is lower. Therefore, even when K is2Continue to become smaller, the performance of LDPC codes to which shortening and puncturing are applied also do not continue to degrade. Specifically, in equation (7) among equation (7), equation (8), and equation (9), it is possible to obtain a value by applying to all K2Better performance improvement is obtained by taking different ratios of punctured bits.
However, the method defined by equation (8) or equation (9) may be more efficient when some performance improvement and lower implementation complexity are desired depending on each system.
Fig. 11 and 12 are graphs showing performances obtained by applying a method corresponding to equation (7) to the DVB-S2LDPC code of fig. 6 and 7 in order to understand the performances of shortening and puncturing proposed by the embodiments of the present invention.
As shown in fig. 6 and 7, at K2Case with minimum value and K2The performance difference between the cases with the maximum value is close to 2 dB. Note, however, from fig. 11 and 12 that BER is 10-5The nearby performance difference is significantly reduced to within 0.4 dB. Specifically, FIGS. 11 and 12 illustrate a memory cell having N1=16200、K1=7200、M1=360、q1Performance curves for DVB-S2LDPC codes characterized by 25 and a code rate R of 4/9.
In fig. 11, equation (10) is used to apply puncturing to DVB-S2LDPC encoding.
In this case, since the number of bits to be punctured NPMust become an integer, so executeAnd (6) operation. When equation (10) is used, the code rate has almost the same value as 4/9. This can be demonstrated using equation (11) below.
As shown in fig. 12, the relational formula can be defined by equation (12) in such a manner that: after applying shortening and puncturing to DVB-S2LDPC coding, the code can maintain a predetermined effective reception range to the maximum extent.
In equation (12), the portion 6/5 is a factor related to the slope, and has an optimum value when it is defined as the following form for the convenience of design:
(B is an integer)
When equation (12) is applied, the length K for the information word can be expressed by the following equation (13)2Efficient LDPC code rate Reff。
FIG. 13 is a diagram illustrating an effective LDPC code rate R according to an embodiment of the present inventioneffAbout the length K of the information word2A graph of the variation of (c).
FIG. 13 shows an information word length K2The shorter the effective LDPC code rate ReffThe lower. Likewise, the length of the information word K2The longer the effective LDPC code rate ReffThe higher. That is, the effective LDPC code rate ReffAlso according to the information word length K2May vary. In addition, at K2R in the range of 7200 or lesseffAlways less than or equal to 4/9.
For reference, the code rate R according to the effective LDPC code can be approximately expressed by the following equation (14)effThe block length of the LDPC code.
As described above, the predetermined effective reception range can be maintained by changing the code rate in response to the information word length.
Substantially performing a formula similar to equation (13) can be expressed by equation (15) below.
As defined by equation (15), even at an output like NPIn all the different cases of the value, the operation can also be suitably adjusted according to the degree of convenience of implementationAnd can support similar performance.
Block length value K after shortening and puncturing applied to DVB-S2LDPC coding2+(N1-K1-NP) Should become multiples of m, an additional operation may be performed in each method for calculating the values of equations (7) to (15) so that K may be satisfied for a certain integer C2+(N1-K1-NP)=mC。
Here (N)1-K1-NP) Is the number of parity bits to be actually transmitted after puncturing. That is, each process of calculating the values given in equations (7) to (14) may be slowly changed in response to an additional condition.
Fig. 14 is a flowchart illustrating a reception process by a receiver according to an embodiment of the present invention.
Referring to fig. 14, the receiver determines or estimates a puncturing and shortening pattern based on a received signal in step 1001.
In step 1003, the receiver determines whether there are punctured or shortened bits.
When the determination in step 1003 shows that there are no punctured or shortened bits, the receiver proceeds to step 1009 and performs decoding.
On the other hand, when the determination in step 1003 shows that there are punctured or shortened bits, the receiver proceeds to step 1005. In step 1005, the determined puncturing/shortening pattern is provided to the LDPC decoder.
In step 1007, the LDPC decoder sets the determined punctured bits as erasures. Further, the LDPC decoder sets the probability that the value of the shortened bit will be 0 to 1.
Thereafter, the LDPC decoder performs decoding on the bits to which puncturing and shortening are applied in step 1009.
Fig. 15 is a block diagram illustrating a configuration of a transmitter using an LDPC code to which puncturing and shortening are applied according to an embodiment of the present invention.
Referring to fig. 15, the transmitter includes a control unit 1110, a shortening pattern application unit 1120, an LDPC code parity check matrix extraction unit 1140, an LDPC encoder 1160, and a puncturing pattern application unit 1180.
The LDPC code parity check matrix extraction unit 1140 extracts a parity check matrix of the LDPC code, which has been shortened. The LDPC code parity check matrix may be extracted using a check matrix previously set in a memory. In addition, the transmitter may directly generate the LDPC code parity check matrix.
The control unit 1110 controls the shortening pattern applying unit 1120 to determine a variable shortening pattern by considering a valid reception range depending on the length of each information word. The shortening pattern applying unit 1120 inserts bits having a value of 0 into positions corresponding to the shortened bits or removes columns corresponding to the shortened bits from a parity check matrix of a given LDPC code.
At this time, the shortening pattern may be determined based on the shortening pattern stored in the memory, or may be generated by a sequence generator (not shown), or the like. Further, the shortening pattern may be determined by applying a density evolution analysis algorithm (density evolution analysis algorithm) or the like to the parity check matrix and a given information word length.
Further, the control unit 1110 controls the puncturing pattern applying unit 1180 to determine a puncturing pattern suitable for a modulation scheme and a length of bits to be punctured and apply the determined puncturing pattern. At this time, a puncturing pattern is determined so as to correct the effective reception range according to the length of the signaling information. In addition, the puncturing pattern applying unit 1180 may determine the bits with less puncturing in consideration of the shortening pattern.
The control unit 1110 and the shortening mode applying unit 1120 perform encoding based on the shortened LDPC code through the LDPC encoder 1160. The LDPC codeword, which has been generated by the LDPC encoder 1160, is used by the puncturing pattern applying unit 1180 to perform puncturing in a manner suitable for a modulation scheme and a length of bits to be punctured.
Fig. 16 is a block diagram showing a configuration of a receiver according to an embodiment of the present invention. Specifically, fig. 16 shows an example of a receiver that receives a transmitted signal and recovers data desired by a user from the received signal in a communication system using a DVB-S2LDPC code to which puncturing or shortening is applied.
Referring to fig. 16, the receiver includes a control unit 1210, a shortening/puncturing pattern determination or estimation unit 1220, a demodulator 1230, and an LDPC decoder 1240.
The demodulator 1230 receives and demodulates the LDPC code to which the shortening is applied. Shortening/puncturing pattern determination or estimation unit 1220 and LDPC decoder 1240 receive the demodulated signal from demodulator 1230.
The control unit 1210 controls the shortening/puncturing pattern determination or estimation unit 1220 to determine or estimate information on the puncturing or shortening pattern of the LDPC code from the demodulated signal. Then, the shortening/puncturing pattern determining or estimating unit 1220 provides the determined position information on the punctured bits and the shortened bits to the LDPC decoder 1240.
The puncturing/puncturing pattern determining or estimating unit 1220 may generate puncturing and puncturing patterns using puncturing and puncturing patterns stored in a memory or a previously implemented generating method, etc. In addition to this, the puncturing/puncturing pattern determining or estimating unit 1220 may determine or estimate puncturing and puncturing patterns by applying a density evolution analysis algorithm to the parity check matrix and a given information word length.
When both shortening and puncturing are applied to the receiver in the same manner as when both shortening and puncturing are applied to the transmitter according to an embodiment of the present invention, the shortening/puncturing pattern determining or estimating unit 1220 may first determine or estimate the shortening pattern, or may first determine or estimate the puncturing pattern. Further, the determination or estimation of the shortening pattern may occur simultaneously with the determination or estimation of the puncturing pattern.
The LDPC decoder 1240 assumes that the probability that the punctured bits have 0 and the probability that the punctured bits have 1 are both 1/2 and performs decoding. In addition to this, the LDPC decoder 1240 processes the punctured bits as erasures and performs decoding. Further, the probability that the value of the shortened bit will be 0 is 1, i.e., 100%. Therefore, the LDPC decoder 1240 prevents the shortened bits from participating in its operation. In addition to this, the LDPC decoder 1240 determines whether to allow the shortened bits to participate in decoding based on the probability that the shortened bits have 0 being 1.
When checking the length of the LDPC code that has been shortened by the shortening/puncturing pattern determining or estimating unit 1220, the LDPC decoder 1240 recovers data desired by a user from a received signal.
As shown in fig. 15, the transmitter according to an embodiment of the present invention performs shortening at a pre-stage of an input of the LDPC encoder 1160 and performs puncturing at an output stage of the LDPC encoder 1160. Meanwhile, in the receiver as shown in fig. 16, the LDPC decoder 1240 performs decoding while knowing information on puncturing and shortening.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (5)
1. A method for encoding a channel in a communication system using a Low Density Parity Check (LDPC) code, the method comprising the steps of:
performing shortening using a predetermined number of shortened bits;
performing LDPC encoding;
applying a predetermined rule according to the predetermined number of shortened bits and determining the number of bits to be punctured; and
puncturing is performed based on the determined number of bits to be punctured,
wherein, in the applying of the predetermined rule, a ratio of the number of bits to be punctured to the predetermined number of shortened bits is set to (B +1)/B, where B is an integer.
2. The method of claim 1, wherein, in the applying of the predetermined rule, a ratio of the number of bits to be punctured to a predetermined number of shortened bits is set to 5/4 or 6/5.
3. The method of claim 1, wherein the step of performing shortening using a predetermined number of shortened bits comprises: using a shortened pattern stored in memory or using a parity check matrix and a given length of the information word.
4. An apparatus for encoding a channel in a communication system using a Low Density Parity Check (LDPC) code, the apparatus comprising:
a shortening mode applying unit for performing shortening using a predetermined number of shortened bits;
an LDPC encoder for performing encoding based on the LDPC code shortened by the shortening mode applying unit;
a control unit for applying a predetermined rule to the predetermined number of shortening bits and determining the number of bits to be punctured; and
a puncturing pattern applying unit for performing puncturing on the LDPC codeword generated by the LDPC encoder based on the determined number of bits to be punctured,
wherein the control unit sets a ratio of the number of bits to be punctured to a predetermined number of shortened bits to (B +1)/B, where B is an integer.
5. The apparatus of claim 4, wherein the control unit sets a ratio of the number of bits to be punctured to a predetermined number of shortened bits to 5/4 or 6/5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310127349.7A CN103227645B (en) | 2008-03-03 | 2009-03-03 | Use channel decoding apparatus and the method for the communication system of low density parity check code |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2008-0019607 | 2008-03-03 | ||
KR20080019607 | 2008-03-03 | ||
KR20080023516 | 2008-03-13 | ||
KR10-2008-0023516 | 2008-03-13 | ||
KR10-2008-0057553 | 2008-06-18 | ||
KR1020080057553A KR20090095432A (en) | 2008-03-03 | 2008-06-18 | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
KR10-2009-0006722 | 2009-01-28 | ||
KR1020090006722A KR101552355B1 (en) | 2008-03-03 | 2009-01-28 | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
PCT/KR2009/001027 WO2009110722A2 (en) | 2008-03-03 | 2009-03-03 | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310127349.7A Division CN103227645B (en) | 2008-03-03 | 2009-03-03 | Use channel decoding apparatus and the method for the communication system of low density parity check code |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101965687A CN101965687A (en) | 2011-02-02 |
CN101965687B true CN101965687B (en) | 2013-09-04 |
Family
ID=41295723
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801075765A Active CN101965687B (en) | 2008-03-03 | 2009-03-03 | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
CN201310127349.7A Active CN103227645B (en) | 2008-03-03 | 2009-03-03 | Use channel decoding apparatus and the method for the communication system of low density parity check code |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310127349.7A Active CN103227645B (en) | 2008-03-03 | 2009-03-03 | Use channel decoding apparatus and the method for the communication system of low density parity check code |
Country Status (5)
Country | Link |
---|---|
JP (2) | JP5301575B2 (en) |
KR (1) | KR20090095432A (en) |
CN (2) | CN101965687B (en) |
AU (1) | AU2009220393B2 (en) |
ES (1) | ES2664496T3 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090095432A (en) * | 2008-03-03 | 2009-09-09 | 삼성전자주식회사 | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
US8689093B2 (en) | 2009-12-07 | 2014-04-01 | Samsung Electronics Co., Ltd | Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code |
WO2012074334A2 (en) * | 2010-12-03 | 2012-06-07 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving data in communication system |
WO2013032156A1 (en) | 2011-08-30 | 2013-03-07 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving information in a broadcasting/communication system |
KR101922555B1 (en) * | 2011-08-30 | 2018-11-28 | 삼성전자주식회사 | Method and apparatus transmitting and receiving information in broadcasting/communication system |
CN102315911B (en) * | 2011-09-29 | 2017-10-27 | 中兴通讯股份有限公司 | A kind of low density parity check code encoding method and device |
KR102015121B1 (en) * | 2012-10-17 | 2019-08-28 | 삼성전자주식회사 | Controller configured to control nonvolatile memory device and operating method of controller |
CN107645358B (en) * | 2016-07-22 | 2020-07-28 | 北京大学 | Code rate self-adaptive data coordination method used in continuous variable quantum key distribution |
US20180034588A1 (en) * | 2016-08-01 | 2018-02-01 | Mediatek Inc. | Apparatus and method for data transmission using coded-combining or hybrid-coding |
KR102378706B1 (en) | 2017-06-23 | 2022-03-28 | 삼성전자 주식회사 | Apparatus and method for channel encoding/decoding in communication or broadcasting system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1902828A (en) * | 2003-08-08 | 2007-01-24 | 英特尔公司 | Method and apparatus for varying lengths of low density parity check codewords |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7395495B2 (en) * | 2004-01-12 | 2008-07-01 | Intel Corporation | Method and apparatus for decoding forward error correction codes |
KR20050118056A (en) * | 2004-05-12 | 2005-12-15 | 삼성전자주식회사 | Method and apparatus for channel encoding and decoding in mobile communication systems using multi-rate block ldpc codes |
US7996746B2 (en) * | 2004-10-12 | 2011-08-09 | Nortel Networks Limited | Structured low-density parity-check (LDPC) code |
US7695710B2 (en) * | 2005-06-20 | 2010-04-13 | Pepgen Corporation | Antitumor and antiviral combination therapies using low-toxicity, long-circulating human interferon-alpha analogs |
US7584406B2 (en) * | 2005-12-20 | 2009-09-01 | Samsung Electronics Co., Ltd. | LDPC concatenation rules for IEEE 802.11n system with packets length specific in octets |
US7631246B2 (en) * | 2006-01-09 | 2009-12-08 | Broadcom Corporation | LDPC (low density parity check) code size adjustment by shortening and puncturing |
US7861134B2 (en) * | 2007-02-28 | 2010-12-28 | Cenk Kose | Methods and systems for LDPC coding |
KR20090095432A (en) * | 2008-03-03 | 2009-09-09 | 삼성전자주식회사 | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
-
2008
- 2008-06-18 KR KR1020080057553A patent/KR20090095432A/en unknown
-
2009
- 2009-03-02 ES ES09154123.5T patent/ES2664496T3/en active Active
- 2009-03-03 AU AU2009220393A patent/AU2009220393B2/en not_active Ceased
- 2009-03-03 CN CN2009801075765A patent/CN101965687B/en active Active
- 2009-03-03 CN CN201310127349.7A patent/CN103227645B/en active Active
- 2009-03-03 JP JP2010549564A patent/JP5301575B2/en active Active
-
2013
- 2013-04-11 JP JP2013082647A patent/JP5461728B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1902828A (en) * | 2003-08-08 | 2007-01-24 | 英特尔公司 | Method and apparatus for varying lengths of low density parity check codewords |
Also Published As
Publication number | Publication date |
---|---|
JP2013179617A (en) | 2013-09-09 |
JP5301575B2 (en) | 2013-09-25 |
CN103227645A (en) | 2013-07-31 |
AU2009220393A1 (en) | 2009-09-11 |
KR20090095432A (en) | 2009-09-09 |
CN103227645B (en) | 2016-11-23 |
ES2664496T3 (en) | 2018-04-19 |
JP5461728B2 (en) | 2014-04-02 |
JP2011514775A (en) | 2011-05-06 |
AU2009220393B2 (en) | 2013-05-23 |
CN101965687A (en) | 2011-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101965687B (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
US8321745B2 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
US8291282B2 (en) | Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes | |
EP2557694B1 (en) | Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes | |
EP2381583B1 (en) | Method and apparatus for channel decoding in a communication system using low-density parity-check codes | |
JP5120862B2 (en) | Channel coding apparatus and method for communication system using low density parity check code | |
KR101552355B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |