EP2381582B1 - Method and apparatus for channel encoding in a communication system using low-density parity-check codes - Google Patents

Method and apparatus for channel encoding in a communication system using low-density parity-check codes Download PDF

Info

Publication number
EP2381582B1
EP2381582B1 EP11174714.3A EP11174714A EP2381582B1 EP 2381582 B1 EP2381582 B1 EP 2381582B1 EP 11174714 A EP11174714 A EP 11174714A EP 2381582 B1 EP2381582 B1 EP 2381582B1
Authority
EP
European Patent Office
Prior art keywords
shortening
information
parity
column
ldpc
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
Application number
EP11174714.3A
Other languages
German (de)
French (fr)
Other versions
EP2381582A1 (en
Inventor
Seho Myung
Hwan-Joon Kwon
Jae-Yoel Kim
Yeon-Ju Lim
Sung-Ryul Yun
Hak-Ju Lee
Hong-Sil Jeong
Peter Jung
Kyeong-Cheol Yang
Kyung-Joong Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Academy Industry Foundation of POSTECH
Original Assignee
Samsung Electronics Co Ltd
Academy Industry Foundation of POSTECH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020080023848A external-priority patent/KR101502624B1/en
Application filed by Samsung Electronics Co Ltd, Academy Industry Foundation of POSTECH filed Critical Samsung Electronics Co Ltd
Priority to PL11174714T priority Critical patent/PL2381582T3/en
Publication of EP2381582A1 publication Critical patent/EP2381582A1/en
Application granted granted Critical
Publication of EP2381582B1 publication Critical patent/EP2381582B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Definitions

  • the present invention relates generally to a communication system using Low-Density Parity-Check (LDPC) codes, and in particular, to a channel encoding/decoding method and apparatus for generating LDPC codes having various codeword lengths and code rates from a given LDPC code.
  • LDPC Low-Density Parity-Check
  • the link performance significantly decreases due to various noises in channels, a fading phenomenon, and Inter-Symbol Interference (ISI). Therefore, in order to realize high-speed digital communication systems requiring high data throughput and reliability, such as the next-generation mobile communication, digital broadcasting, and portable internet, it is necessary to develop a technology for eliminating noise, fading, and ISI. Recently, an intensive study of an error-correcting code has been conducted as a method for increasing communication reliability by efficiently recovering distorted information.
  • LDPC code Due to this research, the LDPC code was restudied in the late 1990s, and proved that LDPC code has performance approximating the Shannon's channel limit if it undergoes decoding by applying iterative decoding based on a sum-product algorithm on a Tanner graph (a special case of a factor graph) corresponding to the LDPC code.
  • the LDPC code is typically represented using a graph representation technique, and many characteristics can be analyzed through the methods based on graph theory, algebra, and probability theory.
  • a graph model of channel codes is useful for description of codes, and by mapping information on encoded bits to vertexes in the graph and mapping relations between the bits to edges in the graph, it is possible to consider a communication network in which the vertexes exchange predetermined messages through the edges, thus making it possible to derive a natural decoding algorithm.
  • a decoding algorithm derived from a trellis which can be regarded as a kind of graph, can include the well-known Viterbi algorithm and a Bahl, Cocke, Jelinek and Raviv (BCJR) algorithm.
  • US 2007/0162814 A1 discloses an apparatus and method of an LDPC encoding system, referring to encoding and decoding within a communication system.
  • the LDPC code is generally defined as a parity-check matrix, and can be represented using a bipartite graph, which is referred to as a Tanner graph.
  • the bipartite graph means that vertexes constituting the graph are divided into two different types, and the LDPC code is represented with the bipartite graph composed of vertexes, some of which are called variable nodes and the other of which are called check nodes.
  • the variable nodes are one-to-one mapped to the encoded bits.
  • the Tanner graph of the LDPC code is composed of 8 variable nodes x 1 (202), x 2 (204), x 3 (206), x 4 (208), x 5 (210), x 6 (212), x 7 (214) and x 8 (216), and 4 check nodes 218, 220, 222 and 224.
  • An i th column and a j th row in the parity-check matrix H 1 of the LDPC code are mapped to a variable node x i and a j th check node, respectively.
  • a value of 1, i.e., a non-zero value, at the point where an i th column and a j th row in the parity-check matrix H 1 of the LDPC code cross each other, means that there is an edge between the variable node x i and the j th check node on the Tanner graph of FIG. 2 .
  • a degree of the variable node and a check node means the number of edges connected to each respective node, and the degree is equal to the number of non-zero entries in a column or row corresponding to the associated node in the parity-check matrix of the LDPC code.
  • degrees of the variable nodes x 1 (202), x 2 (204), x 3 (206), x 4 (208), x 5 (210), x 6 (212), x 7 (214) and x 8 (216) are 4, 3, 3, 3, 2, 2, 2 and 2, respectively, and degrees of check nodes 218, 220, 222 and 224 are 6, 5, 5 and 5, respectively.
  • the numbers of non-zero entries in the columns of the parity-check matrix H 1 of FIG. 1 which correspond to the variable nodes of FIG. 2 , are coincident with their degrees 4, 3, 3, 3, 2, 2, 2 and 2, and the numbers of non-zero entries in the rows of the parity-check matrix H 1 of FIG. 1 , which correspond to the check nodes of FIG. 2 , are coincident with their degrees 6, 5, 5 and 5.
  • a ratio of the number of degree-i variable nodes to the total number of variable nodes is defined as f i
  • a ratio of the number of degree-j check nodes to the total number of check nodes is defined as g j .
  • Equation (1) As N increases, the density of '1's in the parity-check matrix decreases.
  • the code length N is inversely proportional to the density of non-zero entries, the LDPC code with a large N has a very low density.
  • the wording 'low-density' in the name of the LDPC code originates from the above-mentioned relationship.
  • FIG. 3 schematically illustrates an LDPC code adopted as the standard technology in DVB-S2, which is one of the European digital broadcasting standards.
  • N 1 denotes a length of an LDPC codeword
  • K 1 provides a length of an information word
  • ( N 1 - K 1 ) provides a parity length
  • K 1 / M 1 should be an integer.
  • the parity-check matrix of FIG. 3 is called a first parity-check matrix H 1 .
  • a structure of a parity part i.e., K 1 th column through ( N 1 -1) th column, in the parity-check matrix, has a dual diagonal shape. Therefore, as for degree distribution over columns corresponding to the parity part, all columns have a degree '2', except for the last column having a degree '1'.
  • a structure of an information part i.e., 0 th column through ( K 1 -1) th column, is made using the following rules.
  • Rule 1 It generates a total of K 1 / M 1 column groups by grouping K 1 columns corresponding to the information word in the parity-check matrix into multiple groups of M 1 columns.. A method for forming columns belonging to each column group follows Rule 2 below.
  • the i th weight-1 position sequence in the i th line sequentially represents the information on the position of rows with 1 for the i th column group.
  • DVB-S2 LDPC code designed in accordance with Rule 1 and Rule 2 can be efficiently encoded using the structural shape.
  • a process of performing LDPC encoding using the DVB-S2 based parity-check matrix will be described below by way of example.
  • information bits having a length K 1 are represented as ( i 0 , i 1 ,..., i K 1 -1), and parity bits having a length ( N 1 -K 1 ) are expressed as ( p 0 , p 1 ,..., p N 1 - K 1 -1 ).
  • Step 2 The encoder reads information on a row where 1 is located within the first column group of an information word, from the 0 th weight-1 position sequence of the stored sequences indicating the parity-check matrix.
  • the encoder updates particular parity bits p x in accordance with Equation (3) using the read information and the first information bit i 0 .
  • p 0 p 0 ⁇ i 0
  • p 2064 p 2064 ⁇ i 0
  • p 1613 p 1613 ⁇ i 0
  • p 1548 p 1548 ⁇ i 0
  • p 1286 p 1286 ⁇ i 0
  • p 1460 p 1460 ⁇ i 0
  • p 3196 p 3196 ⁇ i 0
  • p 4297 p 4297 ⁇ i 0
  • p 2481 p 2481 ⁇ i 0
  • p 3369 p 3369 ⁇ i 0
  • p 3451 p 3451 ⁇ i 0
  • p 4620
  • the encoder updates P ⁇ x+(m mod M 1 ) ⁇ q ⁇ mod(N 1 -K 1 ) , m 361,362,...,719 by similarly applying Equation (4) to the next 359 information bits i 361 , i 362 , ..., i 719 after i 360 .
  • Step 5 The encoder repeats Steps 2, 3 and 4 for all groups each having 360 information bits.
  • Step 6 The encoder finally determines parity bits using Equation (6).
  • the parity bits p i of Equation (6) are parity bits that underwent LDPC encoding.
  • DVB-S2 performs encoding through the process of Step 1 through Step 6.
  • the LDPC code In order to apply the LDPC code to the actual communication system, the LDPC code should be designed to be suitable for the data rate required in the communication system. Particularly, not only in an adaptive communication system employing a Hybrid Automatic Retransmission Request (HARQ) scheme and an Adaptive Modulation and Coding (AMC) scheme, but also in a communication system supporting various broadcast services, LDPC codes having various codeword lengths are needed to support various data rates according to the system requirements.
  • HARQ Hybrid Automatic Retransmission Request
  • AMC Adaptive Modulation and Coding
  • the LDPC code used in the DVB-S2 system has only two types of codeword lengths due to its limited use, and each type of the LDPC code needs an independent parity-check matrix. For these reasons, there is a long-felt need in the art for a method for supporting various codeword lengths to increase extendibility and flexibility of the system. Particularly, in the DVB-S2 system, transmission of data comprising several hundreds to thousands of bits is needed for transmission of signaling information. However, since only 16200 and 64800 are available for a length of the DVB-S2 LDPC code, it is necessary to support various codeword lengths.
  • the invention provides a method according to claim 1 and an apparatus according to claim 2.
  • An exemplary aspect of the present invention is to provide a channel encoding method and apparatus for generating LDPC codes having different codeword lengths from a given LDPC code, using shortening or puncturing in a communication system using LDPC codes.
  • Another exemplary aspect of the present invention is to provide a channel encoding method and apparatus for guaranteeing the optimal performance with regard to DVB-S2 architecture in a communication system using LDPC codes.
  • a method for a channel encoding in a communication system using a Low-Density Parity-Check (LDPC) code may include, for example, generating a plurality of column groups by grouping columns corresponding to an information word in a parity-check matrix of the LDPC code, and ordering the column groups; determining a range of an information word desired to be obtained by performing shortening; based on the determined range of the information word, performing column group-by-column group shortening on the column groups in order according to a predetermined shortening pattern; and LDPC encoding the shortened information word.
  • LDPC Low-Density Parity-Check
  • a method for a channel encoding in a communication system using a Low-Density Parity-Check (LDPC) code may include generating a plurality of column groups by grouping columns corresponding to an information word in a parity-check matrix of the LDPC code, and ordering the column groups; determining a range of an information word desired to be obtained by performing shortening; based on the determined range of the information word, performing column group-by-column group shortening on the column groups in order according to a predetermined shortening pattern; and LDPC encoding the shortened information word; wherein performing column group-by-column group shortening comprises including 168 Bose-Chaudhuri-Hocquenghem (BCH) parity bits in an information word desired to be obtained by performing shortening, and shortening columns except for columns in positions corresponding to the 168 BCH parity bits.
  • BCH Bose-Chaudhuri-Hocquenghem
  • an apparatus for a channel encoding in a communication system using a Low-Density Parity-Check (LDPC) code includes a parity-check matrix extractor for generating a plurality of column groups by grouping columns corresponding to an information word in a parity-check matrix of the LDPC code, and ordering the column groups; a shortening pattern applier for determining a range of an information word desired to be obtained by performing shortening, and based on the determined range of the information word, performing column group-by-column group shortening on the column groups in order according to a predetermined shortening pattern; and an encoder for LDPC encoding the shortened information word.
  • LDPC Low-Density Parity-Check
  • an apparatus for a channel encoding a channel in a communication system using a Low-Density Parity-Check (LDPC) code includes a parity-check matrix extractor for generating a plurality of column groups by grouping columns corresponding to an information word in a parity-check matrix of the LDPC code, and ordering the column groups; a shortening pattern applier for determining a range of an information word desired to be obtained by performing shortening, and based on the determined range of the information word, and for performing column group-by-column group shortening on the column groups in order according to a predetermined shortening pattern; and an encoder for LDPC encoding the shortened information word; wherein in performing column group-by-column group shortening, the shortening pattern applier includes, for example, 168 Bose-Chaudhuri-Hocquenghem (BCH) parity bits in an information word desired to be obtained by
  • BCH Bose-Chaudhuri-Hocque
  • a method for decoding a channel in a communication system using a Low-Density Parity-Check (LDPC) code includes, for example, demodulating a signal transmitted from a transmitter; determining a position of a shortened bit by estimating information on a shortening pattern of an LDPC code from the demodulated signal; and decoding data using the determined position of the shortened bit.
  • LDPC Low-Density Parity-Check
  • an apparatus for decoding a channel in a communication system using a Low-Density Parity-Check (LDPC) code includes, for example, a demodulator for demodulating a signal transmitted from a transmitter; a shortening pattern determiner for determining a position of a shortened bit by estimating information on a shortening pattern of an LDPC code from the demodulated signal; and a decoder for decoding data using the determined position of the shortened bit.
  • LDPC Low-Density Parity-Check
  • a method for reading parity check matrix information determining a length K 2 , where K 2 denotes a length of information bits to be obtained by shortening, wherein the information bits include 168 BCH parity bits; based on the length K 2 , performing shortening on information bits in an order according to a predetermined shortening pattern defined in the following table.
  • an apparatus for a parity-check matrix extractor for reading parity check matrix information for reading parity check matrix information; a shortening pattern applier for determining a length K2, where K2 denotes a length of information bits to be obtained by shortening, wherein the information bits include 168 BCH parity bits, and based on the length K2, performing shortening on information bits in an order according to a predetermined shortening pattern defined in the following table.
  • the present invention provides a method for supporting LDPC codes having various codeword lengths using a parity-check matrix of a structured LDPC code of a particular type.
  • the present invention provides an apparatus for supporting various codeword lengths in a communication system using LDPC codes of a particular type, and a method for controlling the same.
  • the present invention provides a method and apparatus for generating an LDPC code using a parity-check matrix of a given LDPC code, the generated LDPC code being shorter in length than the given LDPC code.
  • FIG. 5 is a block diagram illustrating a structure of a transceiver in a communication system using LDPC codes.
  • a message u is input to an LDPC encoder 511 in a transmitter 510 before being transmitted to a receiver 530.
  • the LDPC encoder 511 encodes the input message u , and outputs the encoded signal to a modulator 513.
  • the modulator 513 modulates the encoded signal, and transmits the modulated signal to the receiver 530 over a wireless channel 520.
  • a demodulator 531 in the receiver 530 demodulates the signal transmitted by the transmitter 510, and outputs the demodulated signal to an LDPC decoder 533.
  • the LDPC decoder 533 estimates an estimation value u of the message based on the data received through the wireless channel 520.
  • the LDPC encoder 511 generates a parity-check matrix according to a codeword length required by a communication system, using a preset scheme. Particularly, according to the present invention, the LDPC encoder 511 can support various codeword lengths using the LDPC code without the separate need for additional storage information. A detailed operation of the LDPC encoder for supporting various codeword lengths will be described in detail below with reference to FIG. 6 .
  • FIG. 6 is a flowchart illustrating an encoding operation of an LDPC encoder according to an exemplary embodiment of the present invention. To be specific, FIG. 6 illustrates a method for generating LDPC codes having different codeword lengths from a parity-check matrix of a previously stored LDPC code.
  • the method of supporting various codeword lengths uses a shortening technique and a puncturing technique.
  • the term 'shortening technique' as used herein means a method that does not substantially use a specified part of a given particular parity-check matrix.
  • a parity-check matrix of the DVB-S2 LDPC code shown in FIG. 3 will be described in detail.
  • the parity-check matrix of the DVB-S2 LDPC code shown in FIG. 3 its total length is N 1 , the leading part corresponds to length- K 1 information bits ( i 0 , i 1 ,..., i K 1 -1 ), and the rear part corresponds to length-( N 1 - K 1 ) parity bits ( p 0 , p 1 ,..., p N 1 -K 1 -1 ).
  • the information bits freely have a value of 0 or 1, and the shortening technique limits values of information bits of a particular part which is to be subjected to shortening.
  • the shortening technique can obtain the same effect as substantially not using N s leading columns in the parity-check matrix of the DVB-S2 LDPC code shown in FIG. 3 .
  • the term 'shortening technique' originates from the above-stated limitation operation. Therefore, applying the shortening herein means considering values of the shortened information bits, as 0.
  • a transmitter and a receiver can share or generate the same position information for the shortened information bits. Therefore, though the transmitter has not transmitted the shortened bits, the receiver performs decoding, knowing that information bits in the positions corresponding to the shortened bits have a value of 0.
  • the code rate becomes ( K 1 - N s )/ N 1 - N s ), which is always less than the first given code rate K 1 / N 1 .
  • the puncturing technique can be applied to both the information bits and parity bits.
  • the puncturing technique and the shortening technique are in common in reducing codeword lengths of codes, the puncturing technique, unlike the shortening technique, described herein above, does not have the concept that limits values of particular bits.
  • the puncturing technique is a method for simply not transmitting particular information bits or a particular part of generated parity bits, so that a receiver can perform erasure processing on the corresponding bits. In other words, by simply not transmitting bits in N p predefined positions in a generated length- N 1 LDPC codeword, the puncturing technique can obtain the same effect as transmitting a length-( N 1 - N p ) LDPC codeword. Since columns corresponding to the bits punctured in the parity-check matrix are all used intact in a decoding process, the puncturing technique is different from the shortening technique.
  • position information for the punctured bits can be equally shared or estimated by the transmitter and the receiver when the system is set up, the receiver performs erasure processing on the corresponding punctured bits, before performing decoding.
  • the code rate becomes K 1 / (N 1 -N p ), which is always greater than the first given code rate K 1 / N 1 .
  • the DVB-S2 LDPC code is a kind of an LDPC code having a particular structure. Therefore, compared with the normal LDPC code, the DVB-S2 LDPC code can undergo more efficient shortening and puncturing.
  • a codeword length and an information length of an LDPC code are N 2 and K 2 , respectively that the invention desires to finally obtain from the DVB-S2 LDPC code whose codeword length and information length are N 1 and K 1 , respectively, using the shortening technique and the puncturing technique.
  • the LDPC code is generated by applying none of shortening and puncturing or performing only shortening.
  • step 601 the LDPC encoder 511 reads column group information of a DVB-S2 LDPC code to be subjected to shortening. That is, the LDPC encoder 511 reads the stored parity-check matrix information. Thereafter, in step 603, the LDPC encoder 511 determines a codeword length N 2 and an information length K 2 for a shortened LDPC codeword to transmit actually after shortening. Thereafter, the LDPC encoder 511 performs a shortening process of steps 605 to 611, in which the LDPC encoder 511 performs shortening corresponding to a required information length of an LDPC code, based on the read information of the stored parity-check matrix.
  • the LDPC encoder 511 considers that there is no sequence R i , 0 k . for the remaining K 1 / M 1 -A-1 column groups.
  • the LDPC encoder 511 generates a shortened DVB-S2 LDPC code from the A+1 S i , 0 k values selected in Shortening Step 2, using Rule 1 and Rule 2 in step 609. It should be noted that the shortened LDPC code has an information length of ( A +1)/ M 1 , which is always greater than or equal to K 2 .
  • Shortening Step 4 The LDPC encoder 511 additionally shortens ( A +1)/ M 1 -K 2 columns from the shortened LDPC code generated in Shortening Step 3 in step 611.
  • the LDPC encoder 511 selects a sequence for 4 column groups among a total of 37 R i , 0 k values.
  • the LDPC encoder 511 selects the following sequence.
  • the LDPC encoder 511 performs encoding based on the shortened LDPC code.
  • the present invention can apply an efficient shortening technique that, compared with a bit-by-bit shortening technique which is commonly used for shortening of the DVB-S2 LDPC code, employs a method of not using information on column groups of the DVB-S2 LDPC code depending on the structural features of the DVB-S2 LDPC code.
  • Selection criteria of a sequence for a column group can be summarized as follows in Step 2 in the shortening process of the DVB-S2 LDPC code.
  • the LDPC encoder 511 selects a shortened LDPC code with a codeword length N 2 and an information length K 2 , obtained by performing shortening on a DVB-S2 LDPC code with a codeword length N 1 and an information length K 1 , degree distribution of the selected shortened LDPC code being almost similar to the optimal degree distribution of the normal LDPC code with a codeword length N 2 and an information length K 2 .
  • Criterion 2 The LDPC encoder 511 selects a code having the good cycle characteristic on the Tanner graph among the shortened codes selected in Criterion 1. In the present invention, regarding a criterion for a cycle characteristic, the LDPC encoder 511 selects a case where the minimum-length cycles in the Tanner graph is as large as possible and the number of the minimum-length cycles is as small possible.
  • the LDPC encoder 511 may select a weight-1 position sequence for the column group having the best performance by fully searching all the cases regardless of Criterion 1 and Criterion 2.
  • the selection criteria for column groups applied in Shortening Step 2 of the DVB-S2 LDPC code, can increase its efficiency by selecting an LDPC code satisfying the both conditions when the number of selections of the weight-1 position sequence for the column group is too large.
  • the DVB-S2 LDPC code has the following weight-1 position sequence on column groups.
  • the optimized shortening pattern may have no correlation according to the value of N 2 .
  • the optimal selection for a case necessary for shortening 2 column groups from the DVB-S2 LDPC code is not using information on rows with 1 in 4 th and 8 th column groups, since selecting and shortening 1 st , 5 th and 6 th column groups can also be optimal when selecting 3 column groups, they have no correlation with each other. Therefore, when values of N 2 and K 2 required by the system are highly variable, it is undesirably necessary to store all shortening patterns optimized according to a value of K 2 , for the optimized performance.
  • the LDPC encoder 511 selects a column group showing the best performance among the remaining column groups, including the selected 1 column group. In the same manner, when there is a need for selection of i column groups for shortening, the LDPC encoder 511 selects one highest-performance column group among the remaining column groups, including (i-1) column groups selected in the previous step for shortening.
  • This method of shortening though it cannot guarantee the optimal selection, can have stabilized performance from one shortening pattern regardless of a change in the value of K 2 .
  • N 2 N 1 -K 2 , since the puncturing technique is not considered.
  • Table 1 Range of K 2 Shortening Method 1) 2880 ⁇ K 2 ⁇ 3240 Shortens 3240- K 2 bits from an information word corresponding to the 8 th sequence 6189 4241 2343 for the 8 th column group among the weight-1 position sequences.
  • 2520 ⁇ K 2 ⁇ 2880 Shortens all columns included in the column group, which correspond to the 8 th sequence among the weight-1 position sequences, and additionally shortens 2880- K 2 bits from an information word corresponding to the 4 th sequence 11869 3708 5981 8718 4908 10650 6805 3334 2627 10461 9285 11120 for the 4 th column group.
  • 2160 ⁇ K 2 ⁇ 2520 Shortens all columns included in the column group, which correspond to the 8 th and 4 th sequences among the weight-1 position sequences, and additionally shortens 2520- K 2 bits from an information word corresponding to the 7 th sequence 1360 12010 12202 for the 7 th column group.
  • K 2 168 means the case where only the columns corresponding to the BCH parity remain in the DVB-S2 LDPC code. In other words, there are no pure information word bits. This is not considered.
  • the shortening order in Table 1 is determined by, for example, dividing the information word into 9 intervals, and then applying Criterion 1 and Criterion 2 thereto.
  • the meaningful information bits which are not fixed to 0, are sequentially mapped to the columns corresponding to the 1 st , 9 th , 2 nd , 5 th , 3 rd , 6 th , 7 th , 4 th and 8 th sequences according to the information length.
  • the order '8, 4, 7, 6, 3, 5, 2, 9, 1' of the columns can also be expressed as '7, 3, 6, 5, 2, 4, 1, 8, 0', by representing the 1 st column as a 0 th block.
  • BCH Bose-Chaudhuri-Hocquenghem
  • Table 1 The shortening order information shown in Table 1 can also be expressed as Table 2, in brief.
  • For an integer m ⁇ 3240 - K 2 360 ⁇ , shortens all of m column groups corresponding to ⁇ (0) th , ⁇ (1) th , ..., and ⁇ ( m -1) th column groups, and additionally shortens 3240-K 2 -360 m information bits from a ⁇ ( m ) th column group.
  • denotes a permutation function meaning a shortening pattern, and a relationship therebetween is shown at the bottom of the table.
  • denotes a permutation function meaning a shortening pattern, and a relationship therebetween is shown at the bottom of the table.
  • denotes a permutation function meaning a shortening pattern, and a relationship therebetween is shown at the bottom of the table.
  • additionally shortens 528-K 2 information bits from a ⁇ (8) 0 th column group.
  • ⁇ (0) ⁇ (1) ⁇ (2) ⁇ (3) ⁇ (4) ⁇ (5) ⁇ (6) ⁇ (7) ⁇ (8) 7 3 6 5 2 4 1 8 0
  • the DVB-S2 LDPC code has the following weight-1 position sequences.
  • the codeword length and the information length desired to be obtained by performing shortening are N 2 and K 2 , respectively, it is possible to find out suboptimal shortening patterns as defined in Table 3.
  • m ⁇ 7200 - K 2 360 ⁇
  • denotes a permutation function meaning a shortening pattern, and a relationship therebetween is shown at the bottom of the table.
  • the additional shortening can be more easily implemented if the process is sequentially performed from the rear or the front of the column group where the additional shortening is achieved.
  • the LDPC encoder 511 applies puncturing in an LDPC encoding process in step 613.
  • the puncturing method will be described below in brief.
  • FIG. 7 Shown in FIG. 7 is a detailed example of a transmission apparatus for implementing a shortening process for the DVB-S2 LDPC code.
  • FIG. 7 is a block diagram illustrating an exemplary structure of a transmission apparatus using shortened LDPC codes according to an embodiment of the present invention.
  • the transmission apparatus includes, for example, a controller 710, a shortening pattern applier 720, an LDPC code's parity-check matrix extractor 740, and an LDPC encoder 760.
  • the LDPC code's parity-check matrix extractor 740 extracts a shortened LDPC code parity-check matrix.
  • the LDPC code parity-check matrix can be extracted from a memory, or can be given in the transmission apparatus, or can be generated by the transmission apparatus.
  • the controller 710 controls the shortening pattern applier 720 so that it can determine a shortening pattern according to an information length.
  • the shortening pattern applier 720 inserts zero (0)-bits at the positions of shortened bits, or removes columns corresponding to the shortened bits from the parity-check matrix of a given LDPC code.
  • a method of determining the shortening pattern can use a shortening pattern stored in a memory, generate a shortening pattern using a sequence generator (not shown), or use a density evolution analysis algorithm for a parity-check matrix and its given information length.
  • the controller 710 controls the shortening pattern applier 720 so that it can shorten a part of the information bits of the LDPC code in the patterns shown in Table 1 through Table 3.
  • the LDPC encoder 760 performs encoding based on the LDPC code shortened by the controller 710 and the shortening pattern applier 720.
  • FIGS. 8 and 9 are block diagrams illustrating structures of a transmission apparatus and a reception apparatus for a DVB-S2 LDPC code to which shortening and puncturing are both applied, respectively.
  • FIG. 8 is a block diagram illustrating an exemplary structure of a transmission apparatus using shortened/punctured LDPC codes according to an embodiment of the present invention.
  • the transmission apparatus of FIG. 8 further comprises a puncturing pattern applier 880 added to the transmission apparatus of FIG. 7 .
  • a puncturing pattern applier 880 added to the transmission apparatus of FIG. 7 .
  • the puncturing pattern applier 880 applies puncturing to the output of the LDPC encoder 760.
  • the method of applying puncturing has been described in detail in step 613 of FIG. 6 .
  • FIG. 9 is a block diagram illustrating an exemplary structure of a reception apparatus using LDPC codes to which shortening is applied, according to illustrative example.
  • Shown in FIG. 9 is an example of a reception apparatus that receives a signal transmitted from a communication system using the shortened DVB-S2 LDPC code, and restores the data desired by a user from the received signal when a length of the shortened DVB-S2 LDPC code is determined from the received signal.
  • the reception apparatus includes, for example, a controller 910, a shortening pattern decision/estimation unit 920, a demodulator 930, and a LDPC decoder 940.
  • the demodulator 930 receives and demodulates a shortened LDPC code, and provides the demodulated signal to the shortening pattern decision/estimation unit 920 and the LDPC decoder 940.
  • the shortening pattern decision/estimation unit 920 under the control of the controller 910, estimates or decides information on a shortening pattern of an LDPC code from the demodulated signal, and provides position information of the shortened bits to the LDPC decoder 940.
  • a method of deciding or estimating a shortening pattern in the shortening pattern decision/estimation unit 920 can use a shortening pattern stored in a memory, or generate a shortening pattern using sequence generator (not shown), or use a density evolution analysis algorithm for a parity-check matrix and its given information length.
  • the controller 910 decides whether it will decode the shortened bits by means of the LDPC decoder 940, using the probability value of 1.
  • the LDPC decoder 940 restores data desired by the user from the received signal when it finds a length of the shortened DVB-S2 LDPC code by means of the shortening pattern decision/estimation unit 920.
  • FIG. 10 is a block diagram illustrating an exemplary structure of a reception apparatus using LDPC codes to which shortening and puncturing are both applied, according to an illustrative example.
  • a shortening and puncturing pattern decision/estimation unit 1020 replaces the shortening pattern decision/estimation unit 920 of FIG. 9 .
  • the shortening and puncturing pattern decision/estimation unit 1020 in the reception apparatus can first perform pattern decision/estimation on shortening, or can first perform pattern decision/estimation on puncturing, or can simultaneously perform pattern decision/estimation on shortening and pattern decision/estimation on puncturing.
  • the LDPC decoder 940 preferably has information on both shortening and puncturing in order to perform decoding.
  • FIG. 11 is a flowchart illustrating an exemplary reception operation in a reception apparatus according to an illustrative example.
  • a demodulator 930 receives and demodulates a shortened LDPC code in step 1101. Thereafter, a shortening pattern decision/estimation unit 920 decides or estimates a shortening/puncturing pattern(s) from the demodulated signal in step 1103.
  • the shortening pattern decision/estimation unit 920 determines in step 1105 whether there is any shortened/punctured bit. If there is no shortened/punctured bit, a LDPC decoder 940 performs decoding in step 1111. However, if there is shortened/punctured bit(s), a shortening and puncturing pattern decision/estimation unit 1020 provides the position information of the shortened/punctured bits to the LDPC decoder 940 in step 1107.
  • step 1109 based on the position information of the shortened/punctured bits, the LDPC decoder 940 determines that the probability that values of the shortened bits will be 0 is 1, and determines that the punctured bits are erased bits. Thereafter, the LDPC decoder 940 proceeds to step 1111 where it performs LDPC decoding.
  • the present invention provides shortening patterns, thus making it possible not to substantially use some columns.
  • the present invention can generate separate LDPC codes having different codeword lengths using information on a given parity-check matrix in a communication system using LDPC codes.
  • the above-described methods according to the present invention can be realized in hardware or as software or computer code that can be stored in a recording medium such as a CD ROM, an RAM, a floppy disk, a hard disk, or a magneto-optical disk or downloaded over a network, so that the methods described herein can be executed by such software using a general purpose computer, or a special processor or in programmable or dedicated hardware, such as an ASIC or FPGA.
  • the computer, the processor or the programmable hardware include memory components, e.g., RAM, ROM, Flash, etc. that may store or receive software or computer code that when accessed and executed by the computer, processor or hardware implement the processing methods described herein.

Description

    BACKGROUND OF THE INVENTION 1. Field of the Invention
  • The present invention relates generally to a communication system using Low-Density Parity-Check (LDPC) codes, and in particular, to a channel encoding/decoding method and apparatus for generating LDPC codes having various codeword lengths and code rates from a given LDPC code.
  • 2. Description of the Related Art
  • In wireless communication systems, the link performance significantly decreases due to various noises in channels, a fading phenomenon, and Inter-Symbol Interference (ISI). Therefore, in order to realize high-speed digital communication systems requiring high data throughput and reliability, such as the next-generation mobile communication, digital broadcasting, and portable internet, it is necessary to develop a technology for eliminating noise, fading, and ISI. Recently, an intensive study of an error-correcting code has been conducted as a method for increasing communication reliability by efficiently recovering distorted information.
  • An LDPC code, first introduced by Gallager in 1960s, has lost favor over time due to its implementation complexity which could not be resolved by the technology at that time. However, as the turbo code, which was discovered by Berrou, Glavieux, and Thitimajshima in 1993, shows the performance approximating Shannon's channel limit, research has been conducted on iterative decoding and channel encoding based on a graph along with analyses on performance and characteristic of the turbo code. Due to this research, the LDPC code was restudied in the late 1990s, and proved that LDPC code has performance approximating the Shannon's channel limit if it undergoes decoding by applying iterative decoding based on a sum-product algorithm on a Tanner graph (a special case of a factor graph) corresponding to the LDPC code.
  • The LDPC code is typically represented using a graph representation technique, and many characteristics can be analyzed through the methods based on graph theory, algebra, and probability theory. Generally, a graph model of channel codes is useful for description of codes, and by mapping information on encoded bits to vertexes in the graph and mapping relations between the bits to edges in the graph, it is possible to consider a communication network in which the vertexes exchange predetermined messages through the edges, thus making it possible to derive a natural decoding algorithm. For example, a decoding algorithm derived from a trellis, which can be regarded as a kind of graph, can include the well-known Viterbi algorithm and a Bahl, Cocke, Jelinek and Raviv (BCJR) algorithm.
  • US 2007/0162814 A1 discloses an apparatus and method of an LDPC encoding system, referring to encoding and decoding within a communication system.
  • The LDPC code is generally defined as a parity-check matrix, and can be represented using a bipartite graph, which is referred to as a Tanner graph. The bipartite graph means that vertexes constituting the graph are divided into two different types, and the LDPC code is represented with the bipartite graph composed of vertexes, some of which are called variable nodes and the other of which are called check nodes. The variable nodes are one-to-one mapped to the encoded bits.
  • With reference to FIGs. 1 and 2, a description will be made of a graph representation method for the LDPC code.
    • FIG. 1 shows an example of a parity-check matrix H1 of the LDPC code composed of 4 rows and 8 columns. Referring to FIG. 1, since the number of columns is 8, the parity-check matrix H1 means an LDPC code that generates a length-8 codeword, and the columns are mapped to 8 encoded bits.
    • FIG. 2 is a diagram illustrating a Tanner graph corresponding to H1 of FIG. 1.
  • Referring to FIG. 2, the Tanner graph of the LDPC code is composed of 8 variable nodes x1 (202), x2 (204), x3 (206), x4 (208), x5 (210), x6 (212), x7 (214) and x8 (216), and 4 check nodes 218, 220, 222 and 224. An ith column and a jth row in the parity-check matrix H1 of the LDPC code are mapped to a variable node xi and a jth check node, respectively. In addition, a value of 1, i.e., a non-zero value, at the point where an ith column and a jth row in the parity-check matrix H1 of the LDPC code cross each other, means that there is an edge between the variable node xi and the jth check node on the Tanner graph of FIG. 2.
  • In the Tanner graph of the LDPC code, a degree of the variable node and a check node means the number of edges connected to each respective node, and the degree is equal to the number of non-zero entries in a column or row corresponding to the associated node in the parity-check matrix of the LDPC code. For example, in FIG. 2, degrees of the variable nodes x1 (202), x2 (204), x3 (206), x4 (208), x5 (210), x6 (212), x7 (214) and x8 (216) are 4, 3, 3, 3, 2, 2, 2 and 2, respectively, and degrees of check nodes 218, 220, 222 and 224 are 6, 5, 5 and 5, respectively. In addition, the numbers 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, are coincident with their degrees 4, 3, 3, 3, 2, 2, 2 and 2, and the numbers of non-zero entries in the rows of the parity-check matrix H1 of FIG. 1, which correspond to the check nodes of FIG. 2, are coincident with their degrees 6, 5, 5 and 5.
  • In order to represent degree distribution for the nodes of the LDPC code, a ratio of the number of degree-i variable nodes to the total number of variable nodes is defined as fi, and a ratio of the number of degree-j check nodes to the total number of check nodes is defined as gj. For example, for the LDPC code corresponding to FIGs. 1 and 2, f2=4/8, f3=3/8, f4=1/8, and fi=0 for i≠2, 3, 4; and g5=3/4, g6=1/4, and gj=0 for j≠5, 6. When a length of the LDPC code is defined as N, i.e., the number of columns is defined as N, and when the number of rows is defined as N/2, the density of non-zero entries in the entire parity-check matrix having the above degree distribution is computed as Equation (1). 2 f 2 N + 3 f 3 N + 4 f 4 N N N / 2 = 5.25 N
    Figure imgb0001
  • In Equation (1), as N increases, the density of '1's in the parity-check matrix decreases. Generally, as for the LDPC code, since the code length N is inversely proportional to the density of non-zero entries, the LDPC code with a large N has a very low density. The wording 'low-density' in the name of the LDPC code originates from the above-mentioned relationship.
  • Next, with reference to FIG. 3, a description will be made of characteristics of a parity-check matrix of a structured LDPC code to be applied in the present invention. FIG. 3 schematically illustrates an LDPC code adopted as the standard technology in DVB-S2, which is one of the European digital broadcasting standards.
  • In FIG. 3, N1 denotes a length of an LDPC codeword, K 1 provides a length of an information word, and (N 1-K 1) provides a parity length. Further, M 1 and q are determined to satisfy q=(N1-K1 )/M1. Preferably, K 1/M 1 should be an integer. For convenience, the parity-check matrix of FIG. 3 is called a first parity-check matrix H1.
  • Referring again to FIG. 3, a structure of a parity part, i.e., K 1 th column through (N 1-1)th column, in the parity-check matrix, has a dual diagonal shape. Therefore, as for degree distribution over columns corresponding to the parity part, all columns have a degree '2', except for the last column having a degree '1'.
  • In the parity-check matrix, a structure of an information part, i.e., 0th column through (K 1-1)th column, is made using the following rules.
  • Rule 1: It generates a total of K 1/M 1 column groups by grouping K 1 columns corresponding to the information word in the parity-check matrix into multiple groups of M 1 columns.. A method for forming columns belonging to each column group follows Rule 2 below.
  • Rule 2: It first determines positions of '1's in each 0th column in i th column groups (where i=1,...,K1/M1). When a degree of a 0th column in each i th column group is denoted by Di , if positions of rows with 1 are assumed to be R i , 0 1 = R i , 0 2 , , R i , 0 D ,
    Figure imgb0002
    positions R i , j k k = 1 , 2 , , D i
    Figure imgb0003
    of rows with 1 are defined as Equation (2), in a j th column (where j=1,2,...,M 1-1) in an i th column group. R i , j k = R i , j - 1 k + q mod N 1 - K 1 , k = 1 , 2 , , D i , i = 1 , , K 1 / M 1 , j = 1 , , M 1 - 1
    Figure imgb0004
  • According to the above rules, it is can be appreciated that degrees of columns belonging to an i th column group are all equal to Di . For a better understanding of a structure of a DVB-S2 LDPC code that stores information on the parity-check matrix according to the above rules, the following detailed example will be described.
  • As a detailed example, for N 1=30, K 1=15, M 1=5 and q=3, three sequences for the information on the position of rows with 1 (hereafter, these sequences are called "Weight-1 Position Sequences" for convenience' sake) for 0th columns in 3 column groups can be expressed as; R 1 , 0 1 = 0 , R 1 , 0 2 = 1 , R 1 , 0 3 = 2 ,
    Figure imgb0005
    R 2 , 0 1 = 0 , R 2 , 0 2 = 11 , R 2 , 0 3 = 13 ,
    Figure imgb0006
    R 3 , 0 1 = 0 , R 3 , 0 2 = 10 , R 3 , 0 3 = 14.
    Figure imgb0007
  • Regarding the weight-1 position sequence for 0th columns in each column group, only the corresponding position sequences can be expressed as follows for each column group, for convenience' sake. For example:
    • 0 1 2
    • 0 11 13
    • 0 10 14.
  • In other words, the i th weight-1 position sequence in the i th line sequentially represents the information on the position of rows with 1 for the i th column group.
  • It is possible to generate an LDPC code having the same concept as that of a DVB-S2 LDPC code of FIG. 4, by forming a parity-check matrix using the information corresponding to the detailed example, and Rule 1 and Rule 2.
  • It is known that the DVB-S2 LDPC code designed in accordance with Rule 1 and Rule 2 can be efficiently encoded using the structural shape. A process of performing LDPC encoding using the DVB-S2 based parity-check matrix will be described below by way of example.
  • In the following exemplary description, as a detailed example, a DVB-S2 LDPC code with N 1=16200, K 1=10800, M 1=360 and q=15 undergoes an encoding process. For convenience, information bits having a length K 1 are represented as (i 0,i 1,...,i K1-1), and parity bits having a length (N 1 -K 1) are expressed as (p 0, p 1,..., p N1 -K1-1).
  • Step 1: An encoder initializes parity bits as follows: p 0 = p 1 = = p N 1 - K 1 - 1 = 0
    Figure imgb0008
  • Step 2: The encoder reads information on a row where 1 is located within the first column group of an information word, from the 0th weight-1 position sequence of the stored sequences indicating the parity-check matrix.
    0 2084 1613 1548 1286 1460 3196 4297 2481 3369 3451 4620 2622 R 1 , 0 1 = 0 , R 1 , 0 2 = 2048 , R 1 , 0 3 = 1613 , R 1 , 0 4 = 1548 , R 1 , 0 5 = 1286 ,
    Figure imgb0009
    R 1 , 0 6 = 1460 , R 1 , 0 7 = 3196 , R 1 , 0 8 = 4297 , R 1 , 0 9 = 2481 , R 1 , 0 10 = 3369 ,
    Figure imgb0010
    R 1 , 0 11 = 3451 , R 1 , 0 12 = 4620 , R 1 , 0 13 = 2622.
    Figure imgb0011
  • The encoder updates particular parity bits px in accordance with Equation (3) using the read information and the first information bit i 0. Herein, x means a value of R 1 , 0 k
    Figure imgb0012
    for k =1,2,...,13. p 0 = p 0 i 0 , p 2064 = p 2064 i 0 , p 1613 = p 1613 i 0 , p 1548 = p 1548 i 0 , p 1286 = p 1286 i 0 , p 1460 = p 1460 i 0 , p 3196 = p 3196 i 0 , p 4297 = p 4297 i 0 , p 2481 = p 2481 i 0 , p 3369 = p 3369 i 0 , p 3451 = p 3451 i 0 , p 4620 = p 4620 i 0 , p 2622 = p 2622 i 0
    Figure imgb0013
  • In Equation (3), px = px ⊕ i 0 can also be expressed as px ← px ⊕ i 0 and ⊕ means binary addition.
  • Step 3: The encoder first finds out a value of Equation (4) for the next 359 information bits im (where m=1, 2, ..., 359) after i 0. x + m mod M 1 × q mod N 1 - K 1 , M 1 = 360 , m = 1 , 2 , , , 359
    Figure imgb0014
  • In Equation (4), x means a value of R 1 , 0 k
    Figure imgb0015
    for k =1,2,...,13 . It should be noted that Equation (4) has the same concept as Equation (2).
  • Next, the encoder performs an operation similar to Equation (3) using the value found in Equation (4). That is, the encoder updates P {x+(m mod M1)×q) mod (N1-K1) for im . For example, for m=1, i.e., for i 1, the encoder updates parity bits P (x+q)mod(N 1 -K 1) as defined in Equation (5). p 15 = p 15 i 1 , p 2099 = p 2099 i 1 , p 1628 = p 1628 i 1 , p 1563 = p 1548 i 1 , p 1301 = p 1301 i 1 , p 1475 = p 1475 i 1 , p 3211 = p 3196 i 1 , p 4312 = p 4312 i 1 , p 2496 = p 2496 i 1 , p 3384 = p 3384 i 1 , p 3466 = p 3466 i 1 , p 4635 = p 4635 i 1 , p 2637 = p 2637 i 1
    Figure imgb0016
  • It should be noted that q=15 in Equation (5). The encoder performs the above process for m=1, 2, ..., 359, in the same manner as shown above.
  • Step 4: As in Step 2, the encoder reads information of R 2 , 0 K k = 1 , 2 , , 13 ,
    Figure imgb0017
    the 1st weight-1 position sequence, for a 361st information bit i 360, and updates particular px , where x means R 2 , 0 k .
    Figure imgb0018
    The encoder updates P {x+(m mod M1)×q} mod(N1-K1), m=361,362,...,719 by similarly applying Equation (4) to the next 359 information bits i 361, i 362, ..., i 719 after i 360.
  • Step 5: The encoder repeats Steps 2, 3 and 4 for all groups each having 360 information bits.
  • Step 6: The encoder finally determines parity bits using Equation (6). p i = p i p i - 1 , i = 1 , 2 , , N 1 - k 1 - 1
    Figure imgb0019
  • The parity bits pi of Equation (6) are parity bits that underwent LDPC encoding.
  • As described above, DVB-S2 performs encoding through the process of Step 1 through Step 6.
  • In order to apply the LDPC code to the actual communication system, the LDPC code should be designed to be suitable for the data rate required in the communication system. Particularly, not only in an adaptive communication system employing a Hybrid Automatic Retransmission Request (HARQ) scheme and an Adaptive Modulation and Coding (AMC) scheme, but also in a communication system supporting various broadcast services, LDPC codes having various codeword lengths are needed to support various data rates according to the system requirements.
  • However, as described above, the LDPC code used in the DVB-S2 system has only two types of codeword lengths due to its limited use, and each type of the LDPC code needs an independent parity-check matrix. For these reasons, there is a long-felt need in the art for a method for supporting various codeword lengths to increase extendibility and flexibility of the system. Particularly, in the DVB-S2 system, transmission of data comprising several hundreds to thousands of bits is needed for transmission of signaling information. However, since only 16200 and 64800 are available for a length of the DVB-S2 LDPC code, it is necessary to support various codeword lengths.
  • In addition, since storing independent parity-check matrix separately for each codeword length of the LDPC code reduces the overall memory efficiency, there is a demand for a scheme capable of efficiently supporting various codeword lengths from the given existing parity-check matrix, without designing a new parity-check matrix.
  • SUMMARY OF THE INVENTION
  • The invention provides a method according to claim 1 and an apparatus according to claim 2.
  • An exemplary aspect of the present invention is to provide a channel encoding method and apparatus for generating LDPC codes having different codeword lengths from a given LDPC code, using shortening or puncturing in a communication system using LDPC codes.
  • Another exemplary aspect of the present invention is to provide a channel encoding method and apparatus for guaranteeing the optimal performance with regard to DVB-S2 architecture in a communication system using LDPC codes.
  • According to an exemplary aspect of the present invention, there is provided a method for a channel encoding in a communication system using a Low-Density Parity-Check (LDPC) code. The method may include, for example, generating a plurality of column groups by grouping columns corresponding to an information word in a parity-check matrix of the LDPC code, and ordering the column groups; determining a range of an information word desired to be obtained by performing shortening; based on the determined range of the information word, performing column group-by-column group shortening on the column groups in order according to a predetermined shortening pattern; and LDPC encoding the shortened information word.
  • According to another exemplary aspect of the present invention, there is provided a method for a channel encoding in a communication system using a Low-Density Parity-Check (LDPC) code. The method may include generating a plurality of column groups by grouping columns corresponding to an information word in a parity-check matrix of the LDPC code, and ordering the column groups; determining a range of an information word desired to be obtained by performing shortening; based on the determined range of the information word, performing column group-by-column group shortening on the column groups in order according to a predetermined shortening pattern; and LDPC encoding the shortened information word; wherein performing column group-by-column group shortening comprises including 168 Bose-Chaudhuri-Hocquenghem (BCH) parity bits in an information word desired to be obtained by performing shortening, and shortening columns except for columns in positions corresponding to the 168 BCH parity bits.
  • According to still another exemplary aspect of the present invention, there is provided an apparatus for a channel encoding in a communication system using a Low-Density Parity-Check (LDPC) code. The apparatus includes a parity-check matrix extractor for generating a plurality of column groups by grouping columns corresponding to an information word in a parity-check matrix of the LDPC code, and ordering the column groups; a shortening pattern applier for determining a range of an information word desired to be obtained by performing shortening, and based on the determined range of the information word, performing column group-by-column group shortening on the column groups in order according to a predetermined shortening pattern; and an encoder for LDPC encoding the shortened information word.
  • According to yet another exemplary aspect of the present invention, there is provided an apparatus for a channel encoding a channel in a communication system using a Low-Density Parity-Check (LDPC) code. The apparatus includes a parity-check matrix extractor for generating a plurality of column groups by grouping columns corresponding to an information word in a parity-check matrix of the LDPC code, and ordering the column groups; a shortening pattern applier for determining a range of an information word desired to be obtained by performing shortening, and based on the determined range of the information word, and for performing column group-by-column group shortening on the column groups in order according to a predetermined shortening pattern; and an encoder for LDPC encoding the shortened information word; wherein in performing column group-by-column group shortening, the shortening pattern applier includes, for example, 168 Bose-Chaudhuri-Hocquenghem (BCH) parity bits in an information word desired to be obtained by performing shortening, and by shortening columns except for columns in positions corresponding to the 168 BCH parity bits.
  • According to still another exemplar aspect not being part of the present invention but provided for better understanding, there is provided a method for decoding a channel in a communication system using a Low-Density Parity-Check (LDPC) code. The method includes, for example, demodulating a signal transmitted from a transmitter; determining a position of a shortened bit by estimating information on a shortening pattern of an LDPC code from the demodulated signal; and decoding data using the determined position of the shortened bit.
  • According to even still another exemplary aspect not being part of the present invention but provided for better understanding, there is provided an apparatus for decoding a channel in a communication system using a Low-Density Parity-Check (LDPC) code. The apparatus includes, for example, a demodulator for demodulating a signal transmitted from a transmitter; a shortening pattern determiner for determining a position of a shortened bit by estimating information on a shortening pattern of an LDPC code from the demodulated signal; and a decoder for decoding data using the determined position of the shortened bit.
  • According to even still another exemplary aspect of the present invention, there is provided a method for reading parity check matrix information; determining a length K2, where K2 denotes a length of information bits to be obtained by shortening, wherein the information bits include 168 BCH parity bits; based on the length K2, performing shortening on information bits in an order according to a predetermined shortening pattern defined in the following table.
  • According to even still another exemplary aspect of the present invention, there is provided an apparatus for a parity-check matrix extractor for reading parity check matrix information; a shortening pattern applier for determining a length K2, where K2 denotes a length of information bits to be obtained by shortening, wherein the information bits include 168 BCH parity bits, and based on the length K2, performing shortening on information bits in an order according to a predetermined shortening pattern defined in the following table.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other aspects, features 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 is a diagram illustrating an exemplary parity-check matrix of a length-8 LDPC code;
    • FIG. 2 is a diagram illustrating a Tanner graph for an exemplary parity-check matrix of a length-8 LDPC code;
    • FIG. 3 is a diagram illustrating a schematic structure of a DVB-S2 LDPC code;
    • FIG. 4 is a diagram illustrating an exemplary parity-check matrix of a DVB-S2 LDPC code;
    • FIG. 5 is a block diagram illustrating a structure of a transceiver in a communication system using LDPC codes;
    • FIG. 6 is a flowchart illustrating a process of generating an LDPC code having a different codeword length from a parity-check matrix of a stored LDPC code according to an exemplary embodiment of the present invention;
    • FIG. 7 is a block diagram illustrating a structure of a transmission apparatus using shortened LDPC codes according to an embodiment of the present invention;
    • FIG. 8 is a block diagram illustrating a structure of a transmission apparatus using shortened/punctured LDPC codes according to an exemplary embodiment of the present invention;
    • FIG. 9 is a block diagram illustrating a structure of a reception apparatus using LDPC codes to which shortening is applied, according to an illustrative example;
    • FIG. 10 is a block diagram illustrating a structure of a reception apparatus using LDPC codes to which shortening and puncturing are both applied, according to illustrative example ; and
    • FIG. 11 is a flowchart illustrating a reception operation in a reception apparatus according to an illustrative example.
  • Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features and structures.
  • DETAILED DESCRIPTION
  • Preferred exemplary embodiments of the present invention will now be described in detail with reference to the annexed drawings. In the following description, a detailed description of known functions and exemplary configurations incorporated herein may have been omitted for clarity and conciseness when their inclusion might obscure appreciation of the invention by a person of ordinary skill in the art.
  • The present invention provides a method for supporting LDPC codes having various codeword lengths using a parity-check matrix of a structured LDPC code of a particular type. In addition, the present invention provides an apparatus for supporting various codeword lengths in a communication system using LDPC codes of a particular type, and a method for controlling the same. Particularly, the present invention provides a method and apparatus for generating an LDPC code using a parity-check matrix of a given LDPC code, the generated LDPC code being shorter in length than the given LDPC code.
  • FIG. 5 is a block diagram illustrating a structure of a transceiver in a communication system using LDPC codes.
  • Referring to FIG. 5, a message u is input to an LDPC encoder 511 in a transmitter 510 before being transmitted to a receiver 530. Then the LDPC encoder 511 encodes the input message u, and outputs the encoded signal to a modulator 513. The modulator 513 modulates the encoded signal, and transmits the modulated signal to the receiver 530 over a wireless channel 520. Then a demodulator 531 in the receiver 530 demodulates the signal transmitted by the transmitter 510, and outputs the demodulated signal to an LDPC decoder 533. Then the LDPC decoder 533 estimates an estimation value u of the message based on the data received through the wireless channel 520.
  • The LDPC encoder 511 generates a parity-check matrix according to a codeword length required by a communication system, using a preset scheme. Particularly, according to the present invention, the LDPC encoder 511 can support various codeword lengths using the LDPC code without the separate need for additional storage information. A detailed operation of the LDPC encoder for supporting various codeword lengths will be described in detail below with reference to FIG. 6.
  • FIG. 6 is a flowchart illustrating an encoding operation of an LDPC encoder according to an exemplary embodiment of the present invention. To be specific, FIG. 6 illustrates a method for generating LDPC codes having different codeword lengths from a parity-check matrix of a previously stored LDPC code.
  • Herein, the method of supporting various codeword lengths uses a shortening technique and a puncturing technique.
  • The term 'shortening technique' as used herein means a method that does not substantially use a specified part of a given particular parity-check matrix. For a better understanding of the shortening technique, a parity-check matrix of the DVB-S2 LDPC code shown in FIG. 3 will be described in detail.
  • Referring now to the parity-check matrix of the DVB-S2 LDPC code shown in FIG. 3, its total length is N 1, the leading part corresponds to length-K 1 information bits (i 0, i 1,..., i K 1-1), and the rear part corresponds to length-(N 1-K 1) parity bits (p 0 , p 1,..., pN1-K1-1 ). Commonly, the information bits freely have a value of 0 or 1, and the shortening technique limits values of information bits of a particular part which is to be subjected to shortening. For example, shortening Ns information bits i 0 through i Ns-1 commonly means that i 0 = i 1= ... = i Ns -1. In other words, by limiting values for Ns information bits i0 through i Ns -1, to 0, the shortening technique can obtain the same effect as substantially not using Ns leading columns in the parity-check matrix of the DVB-S2 LDPC code shown in FIG. 3. The term 'shortening technique' originates from the above-stated limitation operation. Therefore, applying the shortening herein means considering values of the shortened information bits, as 0.
  • With respect to the shortening technique, when the system is set up, a transmitter and a receiver can share or generate the same position information for the shortened information bits. Therefore, though the transmitter has not transmitted the shortened bits, the receiver performs decoding, knowing that information bits in the positions corresponding to the shortened bits have a value of 0.
  • In the shortening technique, since a length of a codeword that the transmitter actually transmits is N 1 -Ns and a length of an information word is also K1-N s, the code rate becomes (K 1 - N s)/N 1 - Ns ), which is always less than the first given code rate K 1/N 1 .
  • Next, the puncturing technique will be described in detail. Generally, the puncturing technique can be applied to both the information bits and parity bits. Although the puncturing technique and the shortening technique are in common in reducing codeword lengths of codes, the puncturing technique, unlike the shortening technique, described herein above, does not have the concept that limits values of particular bits. The puncturing technique is a method for simply not transmitting particular information bits or a particular part of generated parity bits, so that a receiver can perform erasure processing on the corresponding bits. In other words, by simply not transmitting bits in Np predefined positions in a generated length-N 1 LDPC codeword, the puncturing technique can obtain the same effect as transmitting a length-(N 1-Np ) LDPC codeword. Since columns corresponding to the bits punctured in the parity-check matrix are all used intact in a decoding process, the puncturing technique is different from the shortening technique.
  • Since, according to the invention position information for the punctured bits can be equally shared or estimated by the transmitter and the receiver when the system is set up, the receiver performs erasure processing on the corresponding punctured bits, before performing decoding.
  • In the puncturing technique, since a length of a codeword that the transmitter actually transmits is N1-Np and a length of an information word is K 1 constantly, the code rate becomes K1 /(N1-Np), which is always greater than the first given code rate K1 /N1.
  • A description will now be made of the exemplary shortening technique and the exemplary puncturing technique suitable for the DVB-S2 LDPC code. The DVB-S2 LDPC code, as mentioned above, is a kind of an LDPC code having a particular structure. Therefore, compared with the normal LDPC code, the DVB-S2 LDPC code can undergo more efficient shortening and puncturing.
  • For convenience of this example, assume that a codeword length and an information length of an LDPC code are N 2 and K 2, respectively that the invention desires to finally obtain from the DVB-S2 LDPC code whose codeword length and information length are N 1 and K 1, respectively, using the shortening technique and the puncturing technique. If N 1 -N 2= NΔ and K 1-K 2= K Δ, it is possible to generate the LDPC code whose codeword length and information length are N 2 and K 2, respectively, by shortening K Δ bits and puncturing (N Δ-K Δ) bits from the parity-check matrix of the DVB-S2 LDPC code. For the generated LDPC code with N Δ>0 or K Δ>0, since its code rate K 1-K Δ/N 1-N Δ is generally different from the code rate K1 /N1 of the DVB-S2 LDPC code, its algebraic characteristic changes. For N Δ = K Δ', the LDPC code is generated by applying none of shortening and puncturing or performing only shortening.
  • However, regarding the DVB-S2 LDPC code, as described in Rule 1 and Rule 2, as one R i , j k ( k = 1 , 2 , , D i ,
    Figure imgb0020
    i 1 =1,...,K 1 /M 1 , i =0,...,M1 -1) value corresponds to M 1 columns, a total of K 1/N 1 column groups each have a structural shape. Therefore, the DVB-S2 LDPC code is equal to an LDPC code that does not use M 1 columns, if it does not use one R i , j k
    Figure imgb0021
    value. The following shortening process is proposed considering such characteristics.
  • In step 601, the LDPC encoder 511 reads column group information of a DVB-S2 LDPC code to be subjected to shortening. That is, the LDPC encoder 511 reads the stored parity-check matrix information. Thereafter, in step 603, the LDPC encoder 511 determines a codeword length N 2 and an information length K 2 for a shortened LDPC codeword to transmit actually after shortening. Thereafter, the LDPC encoder 511 performs a shortening process of steps 605 to 611, in which the LDPC encoder 511 performs shortening corresponding to a required information length of an LDPC code, based on the read information of the stored parity-check matrix.
  • Shortening Step 1: The LDPC encoder 511 determines A = K 2 M 1
    Figure imgb0022
    in step 605, where └x┘ means the maximum integer which is less than or equal to x.
  • Shortening Step 2: The LDPC encoder 511 selects a sequence for (A+1) column groups among R i , j k i 1 = 1 , , K 1 / M 1
    Figure imgb0023
    in step 607, and the selected sequence is defined as S i , j k i 1 = 1 , , A + 1 .
    Figure imgb0024
    The LDPC encoder 511 considers that there is no sequence R i , 0 k .
    Figure imgb0025
    for the remaining K1 /M1-A-1 column groups.
  • Shortening Step 3: The LDPC encoder 511 generates a shortened DVB-S2 LDPC code from the A+1 S i , 0 k
    Figure imgb0026
    values selected in Shortening Step 2, using Rule 1 and Rule 2 in step 609. It should be noted that the shortened LDPC code has an information length of (A+1)/M1 , which is always greater than or equal to K 2.
  • Shortening Step 4: The LDPC encoder 511 additionally shortens (A+1)/M1-K2 columns from the shortened LDPC code generated in Shortening Step 3 in step 611.
  • For a description of detailed examples, a detailed description will now be made of a process of generating a new LDPC code whose codeword length is N 2=4050 and whose information length is K 2=1170, by shortening 12150 bits among the information bits using a DVB-S2 LDPC code that has a characteristic of N 1=16200, K 1=13320, M 1=360 and q=9.
  • Example of Shortening Step 1: The LDPC encoder 511 determines A = 1170 360 = 3.
    Figure imgb0027
  • Example of Shortening Step 2: The LDPC encoder 511 selects a sequence for 4 column groups among a total of 37 R i , 0 k
    Figure imgb0028
    values. In this particular example, the LDPC encoder 511 selects the following sequence. S 1 , 0 1 = 3 , S 1 , 0 2 = 2409 , S 1 , 0 3 = 499 , S 1 , 0 4 = 1481 , S 1 , 0 5 = 908 ,
    Figure imgb0029
    S 1 , 0 6 = 559 , S 1 , 0 7 = 716 , S 1 , 0 8 = 1270 , S 1 , 0 9 = 333 , S 1 , 0 10 = 2508 ,
    Figure imgb0030
    S 1 , 0 11 = 2264 , S 1 , 0 12 = 1702 , S 1 , 0 13 = 2805 ,
    Figure imgb0031
    S 2 , 0 1 = 6 , S 2 , 0 2 ) = 2114 , S 2 , 0 3 = 842 ,
    Figure imgb0032
    S 3 , 0 1 = 0 , S 3 , 0 2 ) = 1885 , S 3 , 0 3 = 2369 ,
    Figure imgb0033
    S 4 , 0 1 = 7 , S 4 , 0 2 ) = 2326 , S 4 , 0 3 = 1579.
    Figure imgb0034
  • Example of Shortening Step 3: The LDPC encoder 511 generates a shortened DVB-S2 LDPC code from the 4 S i , 0 k
    Figure imgb0035
    values selected in Example of Shortening Step 2, using Rule 1 and Rule 2. For the shortened LDPC code, a length of its information word is 4x360=1440.
  • Example of Shortening Step 4: The LDPC encoder 511 additionally shortens 1440-1170=270 columns from the shortened LDPC code generated in Example of Shortening Step 3. The LDPC encoder 511 performs encoding based on the shortened LDPC code.
  • According to the exemplary embodiment, since sequence information for K1 /M1-A-1 = 13320/360-4=33 column groups among R i , j k i 1 = 1 , , K 1 / M 1
    Figure imgb0036
    values are not used, which is equivalent to shortening a total of 33x360=11880 bits in the Example of Shortening Step 2. In addition, since the LDPC encoder 511 has additionally shortened 270 information bits through the Example of Shortening Step 3 and the Example of Shortening Step 4, it is finally equivalent to shortening 12150 information bits. Therefore, the result of the embodiment provides a shortened LDPC code with a codeword length N 2=4050 and an information length K 2=1170.
  • As described above, the present invention can apply an efficient shortening technique that, compared with a bit-by-bit shortening technique which is commonly used for shortening of the DVB-S2 LDPC code, employs a method of not using information on column groups of the DVB-S2 LDPC code depending on the structural features of the DVB-S2 LDPC code.
  • Selection criteria of a sequence for a column group can be summarized as follows in Step 2 in the shortening process of the DVB-S2 LDPC code.
  • Criterion 1: The LDPC encoder 511 selects a shortened LDPC code with a codeword length N 2 and an information length K 2, obtained by performing shortening on a DVB-S2 LDPC code with a codeword length N 1 and an information length K 1, degree distribution of the selected shortened LDPC code being almost similar to the optimal degree distribution of the normal LDPC code with a codeword length N 2 and an information length K 2.
  • Criterion 2: The LDPC encoder 511 selects a code having the good cycle characteristic on the Tanner graph among the shortened codes selected in Criterion 1. In the present invention, regarding a criterion for a cycle characteristic, the LDPC encoder 511 selects a case where the minimum-length cycles in the Tanner graph is as large as possible and the number of the minimum-length cycles is as small possible.
  • Although the optimal degree distribution of the normal LDPC code can be found out in Criterion 1 using a density evolution analysis method, a detailed description thereof will be omitted since it is irrelevant to the understanding of the present invention.
  • If the number of selections of a weight-1 position sequence for the column group is not great, the LDPC encoder 511 may select a weight-1 position sequence for the column group having the best performance by fully searching all the cases regardless of Criterion 1 and Criterion 2. However, the selection criteria for column groups, applied in Shortening Step 2 of the DVB-S2 LDPC code, can increase its efficiency by selecting an LDPC code satisfying the both conditions when the number of selections of the weight-1 position sequence for the column group is too large.
  • To describe an example of a good sequence obtained by applying the selection criteria of a weight-1 position sequence for the column group, a DVB-S2 code with N 1=16200, K 1=3240, M 1=360 and q=36 will be considered. The DVB-S2 LDPC code has the following weight-1 position sequence on column groups.
    • 6295 9626 304 7695 4839 4936 1660 14411203 5567 6347 12557
    • 10691 4988 3859 3734 3071 3494 7687 10313 5964 8069 8296 11090
    • 10774 3613 5208 11177 7676 3549 8746 6583 7239 12265 2674 4292
    • 11869 3708 5981 8718 4908 10650 6805 3334 2627 10461 9285 11120
    • 7844 3079 10773
    • 3385 10854 5747
    • 1360 12010 12202
    • 6189 4241 2343
    • 9840 12726 4977
  • The i th weight-1 position sequence in the i th line sequentially represents the information on the position of rows with 1 for the i th column group. Therefore, it can be appreciated that the DVB-S2 LDPC code is composed of 9 column groups and its information length is 9 360 = 3240. If a codeword length and an information length desired to be obtained by performing shortening are N 2 and K 2, respectively, it is possible to find out the optimized shortening pattern using Shortening Step 1 through Shortening Step 4.
  • However, when values of N 2 and K 2 required by the system are highly variable, the optimized shortening pattern may have no correlation according to the value of N 2. For example, assuming that the optimal selection for a case necessary for shortening 2 column groups from the DVB-S2 LDPC code is not using information on rows with 1 in 4th and 8th column groups, since selecting and shortening 1st, 5th and 6th column groups can also be optimal when selecting 3 column groups, they have no correlation with each other. Therefore, when values of N 2 and K 2 required by the system are highly variable, it is undesirably necessary to store all shortening patterns optimized according to a value of K 2, for the optimized performance.
  • Thus, if values of N 2 and K 2 required by the system are highly variable, suboptimal shortening patterns can be found using the following method, for system efficiency.
  • First, assume that selection of 1 column group is needed for shortening. In this case, since the number of selectable column groups is only 1 in an optimal sense, it is possible to select the highest-performance column group. Next, when there is a need for selection of 2 column groups for shortening, the LDPC encoder 511 selects a column group showing the best performance among the remaining column groups, including the selected 1 column group. In the same manner, when there is a need for selection of i column groups for shortening, the LDPC encoder 511 selects one highest-performance column group among the remaining column groups, including (i-1) column groups selected in the previous step for shortening.
  • This method of shortening, though it cannot guarantee the optimal selection, can have stabilized performance from one shortening pattern regardless of a change in the value of K 2.
  • For a detailed example, when values of N 2 and K 2 required by the system are highly variable, it is possible to find out suboptimal shortening patterns according to N 2 and K 2, for 9 cases shown in Table 1. Herein, N 2=N 1 -K 2, since the puncturing technique is not considered. Table 1
    Range of K 2 Shortening Method
    1) 2880 ≤ K 2 < 3240 Shortens 3240-K 2 bits from an information word corresponding to the 8th sequence
    6189 4241 2343
    for the 8th column group among the weight-1 position sequences.
    2) 2520 ≤ K 2 < 2880 Shortens all columns included in the column group, which correspond to the 8th sequence among the weight-1 position sequences, and additionally shortens 2880-K 2 bits from an information word corresponding to the 4th sequence
    11869 3708 5981 8718 4908 10650 6805 3334 2627 10461 9285 11120
    for the 4th column group.
    3) 2160 ≤ K 2 < 2520 Shortens all columns included in the column group, which correspond to the 8th and 4th sequences among the weight-1 position sequences, and additionally shortens 2520-K 2 bits from an information word corresponding to the 7th sequence
    1360 12010 12202
    for the 7th column group.
    4) 1800 ≤ K 2 < 2160 Shortens all columns included in the column group, which correspond to the 8th, 4th and 7th sequences among the weight-1 position sequences, and additionally shortens 2160-K 2 bits from an information word corresponding to the
    6th sequence
    3385 10854 5747
    for the 6th column group.
    5) 1440 ≤ K 2 < 1800 Shortens all columns included in the column group, which correspond to the 8th, 4th, 7th and 6th sequences among the weight-1 position sequences, and additionally shortens 1880-K 2 bits from an information word corresponding to the 3rd sequence
    10774 3613 5208 11177 7676 3549 8746 6583 7239 12265 2674 4292
    for the 3rd column group.
    6) 1080 ≤ K 2 < 1440 Shortens all columns included in the column group, which correspond to the 8th, 4th, 7th, 6th and 3rd sequences among the weight-1 position sequences, and additionally shortens 1440-K 2 bits from an information word corresponding to the 5th sequence
    7844 3079 10773
    for the 5th column group.
    7) 720 ≤ K 2 < 1080 Shortens all columns included in the column group, which correspond to the 8th, 4th, 7th, 6th, 3rd and 5th sequences among the weight-1 position sequences, and additionally shortens 1080-K 2 bits from an information word corresponding to the 2nd sequence
    10691 4988 3859 3734 3071 3494 7687 10313 5964 8069 8296 11090
    for the 2nd column group.
    8) 528 ≤ K 2 < 720 Shortens all columns included in the column group, which
    correspond to the 8th, 4th, 7th, 6th, 3rd, 5th and 2nd sequences among the weight-1 position sequences, and additionally shortens 720-K 2 bits from an information word corresponding to the 9th sequence
    9840 12726 4977
    for the 9th column group. However, since 168 BCH parity bits are mapped to a part of the column group, which corresponds to the 9th sequence, by a DVB-S2 encoding scheme, columns in the positions corresponding to the BCH parity do not undergo shortening.
    9) 168 ≤ K 2 < 528 Shortens all columns included in the column group, which correspond to the 8th, 4th, 7th, 6th, 3rd, 5th, 2nd and 9th sequences among the weight-1 position sequences, and additionally shortens 528-K 2 bits from an information word corresponding to the 1st sequence
    6295 9626 304 7695 4839 4936 1660 144 11203 5567 6347 12557
    for the 1st column group. Herein, K 2=168 means the case where only the columns corresponding to the BCH parity remain in the DVB-S2 LDPC code. In other words, there are no pure information word bits. This is not considered.
  • The shortening order in Table 1 is determined by, for example, dividing the information word into 9 intervals, and then applying Criterion 1 and Criterion 2 thereto.
  • Referring to Table 1, it can be appreciated that all columns corresponding to the 8th, 4th, 7th, 6th, 3rd, 5th, 2nd, 9th and 1st sequences included in the column group sequentially undergo shortening according to the required information length for the LDPC code. That is, a value of 0 is mapped to the information bits that will undergo shortening in order of the columns corresponding to the 8th, 4th, 7th, 6th, 3rd, 5th, 2nd, 9th and 1st rows according to the required information length. Alternatively, it can also be considered that the meaningful information bits, which are not fixed to 0, are sequentially mapped to the columns corresponding to the 1st, 9th, 2nd, 5th, 3rd, 6th, 7th, 4th and 8th sequences according to the information length. The order '8, 4, 7, 6, 3, 5, 2, 9, 1' of the columns can also be expressed as '7, 3, 6, 5, 2, 4, 1, 8, 0', by representing the 1st column as a 0th block.
  • In Step 8) and Step 9) in Table 1, since the last 168 bits of the 9th column group, or the last column group, in the part corresponding to information bits of the DVB-S2 LDPC code with N 1=16200, K 1=3240, M 1=360 and q=36 are mapped to Bose-Chaudhuri-Hocquenghem (BCH) parity bits, they cannot undergo shortening. Actually, when a DVB-S2 LDPC code with N 1=16200 is designed such that 168 BCH parity bits are always included in LDPC information bits having the lengths K 1 and K 2.
  • The shortening order information shown in Table 1 can also be expressed as Table 2, in brief. Table 2
    Major variables of S2 LDPC code DVB- N 1=16200, K 1=3240, M 1=360, q=36
    Range of K 2 Shortening Method
    1) 528 ≤ K 2 < 3240 For an integer m = 3240 - K 2 360 ,
    Figure imgb0037
    shortens all of m column
    groups corresponding to π(0)th, π(1)th, ..., and π(m-1)th column groups, and additionally shortens 3240-K2-360m information bits from a π(m)th column group. Herein, π denotes a permutation function meaning a shortening pattern, and a relationship therebetween is shown at the bottom of the table.
    However, when a part of a π(7)=8th column group is shortened, the columns in the positions corresponding to the 168 BCH parity bits are not subjected to shortening.
    2) 168 ≤ K 2 < 528 Shortens all of π(0)th, π(1)th, ..., and π(6)th column groups,
    and shortens all columns except for the columns in the positions corresponding to 168 BCH parity bits from the π(7)=8th column group. Further, additionally shortens 528-K2 information bits from a π(8)=0th column group.
    π(0) π(1) π(2) π(3) π(4) π(5) π(6) π(7) π(8)
    7 3 6 5 2 4 1 8 0
  • For a description of another exemplary embodiment, a DVB-S2 code with N 1=16200, K 1=7200, M 1=360 and q=25 will be described. The DVB-S2 LDPC code has the following weight-1 position sequences.
    • 20 712 2386 6354 4061 1062 5045 5158
    • 21 2543 5748 4822 2348 3089 6328 5876
    • 22 926 5701 269 3693 2438 3190 3507
    • 23 2802 4520 3577 5324 1091 4667 4449
    • 24 5140 2003 1263 4742 6497 1185 6202
    • 0 4046 6934
    • 1 2855 66
    • 26694212
    • 3 3439 1158
    • 4 3850 4422
    • 5 5924 290
    • 6 1467 4049
    • 7 7820 2242
    • 8 4606 3080
    • 9 4633 7877
    • 10 3884 6868
    • 11 8935 4996
    • 12 3028 764
    • 13 5988 1057
    • 14 7411 3450
  • The i th sequence sequentially represents the information on the position of rows with 1 for an i th column group. Therefore, it can be appreciated that the DVB-S2 LDPC code is composed of 20 column groups, and the information length is 20×360=7200. When the codeword length and the information length desired to be obtained by performing shortening are N 2 and K 2, respectively, it is possible to find out suboptimal shortening patterns as defined in Table 3. Table 3
    Major variables DVB-S2 LDPC code of N 1=16200, K 1=7200, M 1=360, q=25
    Range of K2 Shortening Method
    1) 528 ≤ K 2 < 7200 For an integer m = 7200 - K 2 360 ,
    Figure imgb0038
    shortens all of m column
    groups corresponding to π(0)th, π(1)th, ..., and π(m-1)th column groups, and additionally shortens 7200-K 2-360m information bits from a π(m)th column group. Herein, π denotes a permutation function meaning a shortening pattern, and a relationship therebetween is shown at the bottom of the table.
    However, when a part of a π(18)=19th column group is shortened, the columns in the positions corresponding to the 168 BCH parity bits are not subjected to shortening.
    2) 168 ≤ K 2 < 528 Shortens all of π(0)th, π(1)th, ..., and π(17)th column groups, and shortens all columns except for the columns in the positions corresponding to 168 BCH parity bits from the π(18)=19th column group. Further, additionally shortens 528-K2 information bits from a π(19)=0th column group.
    π(0) π(1) π(2) π(3) π(4) π(5) π(6) π(7) π(8) π(9)
    18 17 16 15 14 13 12 11 4 10
    π(10) π(11) π(12) π(13) π(14) π(15) π(16) π(17) π(18) π(19)
    9 8 3 2 7 6 5 1 19 0
  • In the shortening process, the additional shortening can be more easily implemented if the process is sequentially performed from the rear or the front of the column group where the additional shortening is achieved.
  • After step 611 in FIG. 6, when puncturing is needed, the LDPC encoder 511 applies puncturing in an LDPC encoding process in step 613. The puncturing method will be described below in brief.
  • If a codeword length and an information length of an LDPC code are defined as N 2 and K 2, respectively, then the invention intends to obtain eventually from the DVB-S2 LDPC code with a codeword length N 1 and a information length K 1 using the shortening technique and the puncturing technique, and it is given that N 1-N 2=Δ and K 1-K 2=KΔ, it is possible to get the LDPC code with a codeword length N 2 and an information length K 2 by shortening KΔ bits and puncturing (N Δ-K Δ) bits from a parity-check matrix of the DVB-S2 LDPC code. Assuming that for convenience' sake, only the parity part is subjected to puncturing, since the parity length is N 1-K 1, there is a method of puncturing 1 bit from the parity part at every (N 1-K 1)/(N Δ-K Δ) bits. However, various other methods can also be applied as the puncturing technique.
  • For N Δ- K Δ=0, there is no need to apply the puncturing technique. In this particular case, it is possible to get a high-efficiency shortened DVB-S2 LDPC code by applying a similar generation method for the DVB-S2 LDPC code using the shortening pattern shown in Table 1.
  • Shown in FIG. 7 is a detailed example of a transmission apparatus for implementing a shortening process for the DVB-S2 LDPC code. FIG. 7 is a block diagram illustrating an exemplary structure of a transmission apparatus using shortened LDPC codes according to an embodiment of the present invention.
  • The transmission apparatus includes, for example, a controller 710, a shortening pattern applier 720, an LDPC code's parity-check matrix extractor 740, and an LDPC encoder 760.
  • The LDPC code's parity-check matrix extractor 740 extracts a shortened LDPC code parity-check matrix. The LDPC code parity-check matrix can be extracted from a memory, or can be given in the transmission apparatus, or can be generated by the transmission apparatus.
  • The controller 710 controls the shortening pattern applier 720 so that it can determine a shortening pattern according to an information length. The shortening pattern applier 720 inserts zero (0)-bits at the positions of shortened bits, or removes columns corresponding to the shortened bits from the parity-check matrix of a given LDPC code. A method of determining the shortening pattern can use a shortening pattern stored in a memory, generate a shortening pattern using a sequence generator (not shown), or use a density evolution analysis algorithm for a parity-check matrix and its given information length.
  • The controller 710 controls the shortening pattern applier 720 so that it can shorten a part of the information bits of the LDPC code in the patterns shown in Table 1 through Table 3.
  • The LDPC encoder 760 performs encoding based on the LDPC code shortened by the controller 710 and the shortening pattern applier 720.
  • FIGS. 8 and 9 are block diagrams illustrating structures of a transmission apparatus and a reception apparatus for a DVB-S2 LDPC code to which shortening and puncturing are both applied, respectively.
  • FIG. 8 is a block diagram illustrating an exemplary structure of a transmission apparatus using shortened/punctured LDPC codes according to an embodiment of the present invention.
  • The transmission apparatus of FIG. 8 further comprises a puncturing pattern applier 880 added to the transmission apparatus of FIG. 7. Referring to FIG. 8, it can be appreciated that shortening is carried out in the front stage of the LDPC encoder 760 and puncturing is performed in the output stage of the LDPC encoder 760.
  • The puncturing pattern applier 880 applies puncturing to the output of the LDPC encoder 760. The method of applying puncturing has been described in detail in step 613 of FIG. 6.
  • FIG. 9 is a block diagram illustrating an exemplary structure of a reception apparatus using LDPC codes to which shortening is applied, according to illustrative example.
  • Shown in FIG. 9 is an example of a reception apparatus that receives a signal transmitted from a communication system using the shortened DVB-S2 LDPC code, and restores the data desired by a user from the received signal when a length of the shortened DVB-S2 LDPC code is determined from the received signal.
  • The reception apparatus includes, for example, a controller 910, a shortening pattern decision/estimation unit 920, a demodulator 930, and a LDPC decoder 940.
  • The demodulator 930 receives and demodulates a shortened LDPC code, and provides the demodulated signal to the shortening pattern decision/estimation unit 920 and the LDPC decoder 940.
  • The shortening pattern decision/estimation unit 920, under the control of the controller 910, estimates or decides information on a shortening pattern of an LDPC code from the demodulated signal, and provides position information of the shortened bits to the LDPC decoder 940. A method of deciding or estimating a shortening pattern in the shortening pattern decision/estimation unit 920 can use a shortening pattern stored in a memory, or generate a shortening pattern using sequence generator (not shown), or use a density evolution analysis algorithm for a parity-check matrix and its given information length.
  • Since a probability that values of shortened bits will be zero (0) in the LDPC decoder 940 is 1 (or 100%), the controller 910 decides whether it will decode the shortened bits by means of the LDPC decoder 940, using the probability value of 1.
  • The LDPC decoder 940 restores data desired by the user from the received signal when it finds a length of the shortened DVB-S2 LDPC code by means of the shortening pattern decision/estimation unit 920.
  • FIG. 10 is a block diagram illustrating an exemplary structure of a reception apparatus using LDPC codes to which shortening and puncturing are both applied, according to an illustrative example.
  • In the reception apparatus of FIG. 10, a shortening and puncturing pattern decision/estimation unit 1020 replaces the shortening pattern decision/estimation unit 920 of FIG. 9.
  • When the transmission apparatus applies both shortening and puncturing, the shortening and puncturing pattern decision/estimation unit 1020 in the reception apparatus can first perform pattern decision/estimation on shortening, or can first perform pattern decision/estimation on puncturing, or can simultaneously perform pattern decision/estimation on shortening and pattern decision/estimation on puncturing.
  • The LDPC decoder 940 preferably has information on both shortening and puncturing in order to perform decoding.
  • FIG. 11 is a flowchart illustrating an exemplary reception operation in a reception apparatus according to an illustrative example.
  • A demodulator 930 receives and demodulates a shortened LDPC code in step 1101. Thereafter, a shortening pattern decision/estimation unit 920 decides or estimates a shortening/puncturing pattern(s) from the demodulated signal in step 1103.
  • The shortening pattern decision/estimation unit 920 determines in step 1105 whether there is any shortened/punctured bit. If there is no shortened/punctured bit, a LDPC decoder 940 performs decoding in step 1111. However, if there is shortened/punctured bit(s), a shortening and puncturing pattern decision/estimation unit 1020 provides the position information of the shortened/punctured bits to the LDPC decoder 940 in step 1107.
  • In step 1109, based on the position information of the shortened/punctured bits, the LDPC decoder 940 determines that the probability that values of the shortened bits will be 0 is 1, and determines that the punctured bits are erased bits. Thereafter, the LDPC decoder 940 proceeds to step 1111 where it performs LDPC decoding.
  • As is apparent from the foregoing description, the present invention provides shortening patterns, thus making it possible not to substantially use some columns. In addition, the present invention can generate separate LDPC codes having different codeword lengths using information on a given parity-check matrix in a communication system using LDPC codes.
  • The above-described methods according to the present invention can be realized in hardware or as software or computer code that can be stored in a recording medium such as a CD ROM, an RAM, a floppy disk, a hard disk, or a magneto-optical disk or downloaded over a network, so that the methods described herein can be executed by such software using a general purpose computer, or a special processor or in programmable or dedicated hardware, such as an ASIC or FPGA. As would be understood in the art, the computer, the processor or the programmable hardware include memory components, e.g., RAM, ROM, Flash, etc. that may store or receive software or computer code that when accessed and executed by the computer, processor or hardware implement the processing methods described herein.
  • While the invention has been shown and described with reference to a certain preferred embodiment 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 range of the invention as defined by the appended claims.

Claims (2)

  1. A method for channel encoding in a communication system using a Low-Density Parity-Check (LDPC) code for which a parity check matrix has N1 columns, where N1 is 16200, the parity check matrix having an information part and a parity part, wherein the information part has K1 columns, where K1 is 7200, wherein the parity part has (N1-K1) columns, wherein (N1-K1) is 9000; wherein the information part comprises a plurality of column groups, each column group having M1 columns, where M1 is 360, and the number of column groups is K1/M1, where K1/M1 is 20,
    wherein the sequences of positions of '1's in the 0th column in the ith column group, i=0, ..., 19, denoted by R i , 0 1 , R i , 0 2 , , R i , 0 D i ,
    Figure imgb0039
    are
    20 712 2386 6354 4061 1062 5045 5158
    21 2543 5748 4822 2348 3089 6328 5876
    22 926 5701 269 3693 2438 3190 3507
    23 2802 4520 3577 53241091 4667 4449
    24 5140 2003 1263 4742 6497 1185 6202
    0 4046 6934
    1 2855 66
    2 6694 212
    334391158
    4 3850 4422
    5 5924 290
    6 1467 4049
    7 7820 2242
    8 4606 3080
    9 4633 7877
    10 3884 6868
    11 8935 4996
    12 3028 764
    13 5988 1057
    14 7411 3450,
    where a degree of the 0th column in each ith column group is denoted by Di; wherein the structure of the information part is made using the following rule:
    determining position of rows with '1's, denoted by R i , j k ,
    Figure imgb0040
    by R i , j k = R i , j - 1 k + q mod N 1 - K 1 , k = 1 , 2 , , D i , i = 0 , , 19 , j = 1 , , 359 ;
    Figure imgb0041

    where q is an integer satisfying q = (N1- K1)/M1 = 25;
    the method comprising:
    (a) reading parity check matrix information;
    (b) determining a length K2, where K2 denotes a length of information bits to be obtained by shortening, wherein the information bits include 168 BCH parity bits;
    (c) based on the length K2, performing shortening on information bits in an order according to a predetermined shortening pattern defined in the following table Scope of K2 Shortening Method 1) 528 ≤ K2 < 7200 For an integer m = 7200 - K 2 360 ,
    Figure imgb0042
    shortens all information
    bits corresponding to the π(0)th, π(1)th, ..., and π(m-1)th column groups, and additionally shortens 7200-K2-360m information bits from the π(m)th column group. Herein, π denotes a permutation function shown at the bottom of the table. However, when a part of information bits corresponding to the π(18)th =19th column group is shortened, the 168 BCH parity bits are not subjected to shortening. 2) 168 ≤ K2 < 528 Shortens all information bits corresponding to the π(0)th, π(1)th, ..., and π(17)th column groups, and shortens all information bits except for the 168 BCH parity bits from the information bits corresponding to the π(18)=19th column group. Further, additionally shortens 528-K2 information bits corresponding to the π(19)=0th column group. 1t(O) π(1) π(2) π(3) π(4) π(5) π(6) π(7) π(8) π(9) 18 17 16 15 14 13 12 11 4 10 π(10) π(11) π(12) π(13) π(14) π(15) π(16) π(17) π(18) π(19) 9 8 3 2 7 6 5 1 19 0
    ;and
    (d) LDPC encoding the shortened information bits using the parity check matrix.
  2. An apparatus for channel encoding in a communication system using a Low-Density Parity-Check (LDPC) code for which a parity check matrix has N1 columns, where N1 is 16200, the parity check matrix having an information part and a parity part, wherein the information part has K1 columns, where K1 is 7200, wherein the parity part has (N1-K1) columns, wherein (N1-K1) is 9000; wherein the information part comprises a plurality of column groups, each column group having M1 columns, where M1 is 360, and the number of column groups is K1/M1, where K1/M1 is 20,
    wherein the sequences of positions of '1's in the 0th column in the ith column group, i=0, ..., 19, denoted by R i , 0 1 , R i , 0 2 , , R i , 0 D i ,
    Figure imgb0043
    are
    20 712 2386 6354 4061 1062 5045 5158
    21 2543 5748 4822 2348 3089 6328 5876
    22 926 5701 269 3693 2438 3190 3507
    23 2802 4520 3577 5324 1091 4667 4449
    24 5140 2003 1263 4742 6497 1185 6202
    0 4046 6934
    1 2855 66
    2 6694 212
    3 3439 1158
    4 3850 4422
    5 5924 290
    6 1467 4049
    7 7820 2242
    8 4606 3080
    9 4633 7877
    10 3884 6868
    11 8935 4996
    12 3028 764
    13 5988 1057
    14 7411 3450,
    where a degree of the 0th column in each ith column group is denoted by Di; wherein the structure of the information part is made using the following rule:
    determining position of rows with '1's, denoted by R i , j k ,
    Figure imgb0044
    by R i , j k = R i , j - 1 k + q mod N 1 - K 1 , k = 1 , 2 , , D i , i = 0 , , 19 , j = 1 , , 359 ;
    Figure imgb0045

    where q is an integer satisfying q = (N1- K1)/M1 = 25;
    the apparatus comprising:
    a parity-check matrix extractor (740) for reading parity check matrix information;
    a shortening pattern applier (720) for determining a length K2, where K2 denotes a length of information bits to be obtained by shortening, wherein the information bits include 168 BCH parity bits, and based on the length K2, performing shortening on information bits in an order according to a predetermined shortening pattern defined in the following table Scope of K2 Shortening Method 1) 528 ≤ K2 < 7200 For an integer m = 7200 - K 2 360 ,
    Figure imgb0046
    shortens all information
    bits corresponding to the π(0)th, π(1)th, ..., and π(m-1)th column groups, and additionally shortens 7200-K2-360m information bits from the π(m)th column group. Herein, π denotes a permutation function shown at the bottom of the table. However, when a part of information bits corresponding to the π(18)th =19th column group is shortened, the 168 BCH parity bits are not subjected to shortening. 2) 168 ≤ K2 < 528 Shortens all information bits corresponding to the π(0)th, π(1)th, ..., and π(17)th column groups, and shortens all information bits except for the 168 BCH parity bits from the information bits corresponding to the π(18)=19th column group. Further, additionally shortens 528-K2 information bits corresponding to the π(19)=0th column group. π(0) π(1) π(2) π(3) π(4) π(5) π(6) π(7) π(8) π(9) 18 17 16 15 14 13 12 11 4 10 π(10) π(11) π(12) π(13) π(14) π(15) π(16) π(17) π(18) π(19) 9 8 3 2 7 6 5 1 19 0
    ; and
    an encoder (760) for LDPC encoding the shortened information bits using the parity check matrix.
EP11174714.3A 2007-12-06 2008-12-08 Method and apparatus for channel encoding in a communication system using low-density parity-check codes Active EP2381582B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PL11174714T PL2381582T3 (en) 2007-12-06 2008-12-08 Method and apparatus for channel encoding in a communication system using low-density parity-check codes

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20070126083 2007-12-06
KR20070127365 2007-12-10
KR20080012082 2008-02-11
KR1020080023848A KR101502624B1 (en) 2007-12-06 2008-03-14 Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
EP08021308A EP2068449B1 (en) 2007-12-06 2008-12-08 Shortening and puncturing of low-density parity-check (LDPC) codes for channel encoding and decoding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
EP08021308.5 Division 2008-12-08

Publications (2)

Publication Number Publication Date
EP2381582A1 EP2381582A1 (en) 2011-10-26
EP2381582B1 true EP2381582B1 (en) 2013-04-10

Family

ID=40418856

Family Applications (4)

Application Number Title Priority Date Filing Date
EP11174714.3A Active EP2381582B1 (en) 2007-12-06 2008-12-08 Method and apparatus for channel encoding in a communication system using low-density parity-check codes
EP11174715.0A Active EP2381583B9 (en) 2007-12-06 2008-12-08 Method and apparatus for channel decoding in a communication system using low-density parity-check codes
EP10169986.6A Active EP2239854B9 (en) 2007-12-06 2008-12-08 Shortening and puncturing of low-density parity-check (LDPC) codes for channel decoding
EP08021308A Active EP2068449B1 (en) 2007-12-06 2008-12-08 Shortening and puncturing of low-density parity-check (LDPC) codes for channel encoding and decoding

Family Applications After (3)

Application Number Title Priority Date Filing Date
EP11174715.0A Active EP2381583B9 (en) 2007-12-06 2008-12-08 Method and apparatus for channel decoding in a communication system using low-density parity-check codes
EP10169986.6A Active EP2239854B9 (en) 2007-12-06 2008-12-08 Shortening and puncturing of low-density parity-check (LDPC) codes for channel decoding
EP08021308A Active EP2068449B1 (en) 2007-12-06 2008-12-08 Shortening and puncturing of low-density parity-check (LDPC) codes for channel encoding and decoding

Country Status (7)

Country Link
US (1) US8166367B2 (en)
EP (4) EP2381582B1 (en)
JP (1) JP5302972B2 (en)
CN (1) CN101889398B (en)
AU (1) AU2008332040B2 (en)
PL (4) PL2381582T3 (en)
WO (1) WO2009072854A1 (en)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2381582B1 (en) * 2007-12-06 2013-04-10 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding in a communication system using low-density parity-check codes
KR101503059B1 (en) * 2008-02-26 2015-03-19 삼성전자주식회사 Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101644656B1 (en) * 2009-11-02 2016-08-10 삼성전자주식회사 Apparatus and method for generating a parity check metrix in communication system using low-density parity-check codes and channel encoding and decoding using the same
US8782489B2 (en) 2010-02-18 2014-07-15 Hughes Network Systems, Llc Method and system for providing Low Density Parity Check (LDPC) encoding and decoding
KR101611169B1 (en) 2011-01-18 2016-04-11 삼성전자주식회사 Apparatus and method for transmitting and receiving data in communication/broadcasting system
DE102011078642A1 (en) * 2011-07-05 2013-01-10 Robert Bosch Gmbh Method for checking an m out of n code
KR101922555B1 (en) * 2011-08-30 2018-11-28 삼성전자주식회사 Method and apparatus transmitting and receiving information in broadcasting/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
US8972834B2 (en) * 2012-08-28 2015-03-03 Hughes Network Systems, Llc System and method for communicating with low density parity check codes
RU2522299C1 (en) * 2013-01-11 2014-07-10 Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Method and apparatus for noise-immune decoding of signals obtained using low-density parity check code
US9246634B2 (en) 2013-02-10 2016-01-26 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
US9294131B2 (en) 2013-02-10 2016-03-22 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
US8887024B2 (en) 2013-02-10 2014-11-11 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
WO2014145217A1 (en) 2013-03-15 2014-09-18 Hughes Network Systems, Llc Low density parity check (ldpc) encoding and decoding for small terminal applications
RU2628145C2 (en) * 2013-05-07 2017-08-15 Хуавей Текнолоджиз Ко., Лтд. Method of coding and decoding and device and system
WO2015041475A1 (en) * 2013-09-17 2015-03-26 삼성전자 주식회사 Transmission apparatus and method for puncturing same
US9258159B2 (en) 2013-09-18 2016-02-09 Samsung Electronics Co., Ltd. Transmitter and zero bits padding method thereof
CN104518846B (en) * 2013-09-29 2018-02-13 中国科学院上海高等研究院 Signalling coding method and system based on BCH code and the cascade of long LDPC code
US9602137B2 (en) 2014-02-19 2017-03-21 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
KR101776275B1 (en) 2014-02-19 2017-09-07 삼성전자주식회사 Transmitting apparatus and interleaving method thereof
US9602245B2 (en) 2014-05-21 2017-03-21 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
KR101775704B1 (en) 2014-05-21 2017-09-19 삼성전자주식회사 Transmitting apparatus and interleaving method thereof
KR101775703B1 (en) 2014-05-21 2017-09-06 삼성전자주식회사 Transmitting apparatus and interleaving method thereof
US9800269B2 (en) 2014-05-21 2017-10-24 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9780808B2 (en) * 2014-05-21 2017-10-03 Samsung Electronics Co., Ltd. Transmitter apparatus and bit interleaving method thereof
KR101785692B1 (en) 2014-05-21 2017-10-16 삼성전자주식회사 Transmitting apparatus and interleaving method thereof
KR101800415B1 (en) 2015-03-02 2017-11-23 삼성전자주식회사 Transmitter and parity permutation method thereof
US10326474B2 (en) 2015-03-02 2019-06-18 Samsung Electronics Co., Ltd. Transmitter and parity permutation method thereof
CN106685586B (en) * 2015-11-11 2020-02-14 华为技术有限公司 Method and apparatus for generating low density parity check code for transmission in a channel
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
CN109478959B (en) 2016-07-27 2021-08-06 高通股份有限公司 Design of hybrid automatic repeat request (HARQ) feedback bits for polar codes
US10601544B2 (en) 2017-02-06 2020-03-24 Mediatek Inc. Method and apparatus for communication
EP4075673A1 (en) 2017-03-23 2022-10-19 QUALCOMM Incorporated Parity bit channel assignment for polar coding
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
JP6912648B2 (en) 2017-07-07 2021-08-04 クアルコム,インコーポレイテッド Communication techniques that apply the base graph selection of low density parity check code
WO2020022539A1 (en) * 2018-07-27 2020-01-30 엘지전자 주식회사 Method for encoding and decoding ldpc code and communication apparatus therefor
CN110311755B (en) 2019-06-25 2020-09-22 中山大学 Method for transmitting extra information by using linear block code
KR20220022801A (en) 2020-08-19 2022-02-28 삼성전자주식회사 Method and apparatus for decoding a signal in a wireless communication system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
US7334181B2 (en) * 2003-09-04 2008-02-19 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
US7376883B2 (en) * 2003-10-27 2008-05-20 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
KR100918763B1 (en) 2003-11-14 2009-09-24 삼성전자주식회사 Interleaving apparatus and method in a channel coder using a parallel concatenated low density parity check code
KR100659266B1 (en) * 2004-04-22 2006-12-20 삼성전자주식회사 System, apparatus and method for transmitting and receiving the data coded by the low density parity check code having a variable coding rate
EP1592137A1 (en) * 2004-04-28 2005-11-02 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
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
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US20060218459A1 (en) * 2004-08-13 2006-09-28 David Hedberg Coding systems and methods
US7689892B2 (en) * 2004-09-08 2010-03-30 Nokia Corporation System and method for adaptive low-density parity-check (LDPC) coding
WO2006039801A1 (en) * 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
KR100946905B1 (en) * 2005-09-27 2010-03-09 삼성전자주식회사 Apparatus and method for transmitting/receiving signal in a communication system using a low density parity check code
US7661037B2 (en) * 2005-10-27 2010-02-09 Samsung Electronics Co., Ltd. LDPC concatenation rules for IEEE 802.11n systems
US7707479B2 (en) * 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
US7631246B2 (en) * 2006-01-09 2009-12-08 Broadcom Corporation LDPC (low density parity check) code size adjustment by shortening and puncturing
US7664008B2 (en) * 2006-07-05 2010-02-16 Nokia Corporation Apparatus, method and computer program product providing low-density parity-check block length selection
EP2381582B1 (en) * 2007-12-06 2013-04-10 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding in a communication system using low-density parity-check codes
KR101503059B1 (en) * 2008-02-26 2015-03-19 삼성전자주식회사 Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes

Also Published As

Publication number Publication date
EP2381583B9 (en) 2015-02-18
WO2009072854A1 (en) 2009-06-11
JP5302972B2 (en) 2013-10-02
JP2011507329A (en) 2011-03-03
EP2239854B1 (en) 2012-10-17
EP2381583B1 (en) 2013-04-03
PL2068449T3 (en) 2012-06-29
PL2381582T3 (en) 2013-09-30
CN101889398A (en) 2010-11-17
CN101889398B (en) 2013-10-23
EP2068449A2 (en) 2009-06-10
US20090158129A1 (en) 2009-06-18
AU2008332040B2 (en) 2012-04-05
PL2239854T3 (en) 2013-03-29
EP2239854A1 (en) 2010-10-13
AU2008332040A1 (en) 2009-06-11
EP2381582A1 (en) 2011-10-26
EP2239854B9 (en) 2015-02-18
EP2381583A1 (en) 2011-10-26
EP2068449A3 (en) 2009-08-05
US8166367B2 (en) 2012-04-24
PL2381583T3 (en) 2013-09-30
EP2068449B1 (en) 2012-01-11

Similar Documents

Publication Publication Date Title
EP2381582B1 (en) Method and apparatus for channel encoding 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
US8261152B2 (en) Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
CN101039119B (en) Encoding and decoding methods and systems
EP2510623B1 (en) Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code
EP2099135B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
EP2096761A1 (en) Puncturing of LDPC codes in dependence on the modulation scheme
US20090210767A1 (en) Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes
KR101503653B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101413783B1 (en) Apparatus and method for channel encoding and decoding in communication system using variable-length ldpc codes
KR101552355B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
AU2012200530B2 (en) Method and apparatus for encoding and decoding channel in a communication system using low-density parity-check codes
JP2009118418A (en) Decoder, encoder, decoding method, and encoding method

Legal Events

Date Code Title Description
AC Divisional application: reference to earlier application

Ref document number: 2068449

Country of ref document: EP

Kind code of ref document: P

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20120321

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SAMSUNG ELECTRONICS CO., LTD.

Owner name: POSTECH ACADEMY-INDUSTRY FOUNDATION

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AC Divisional application: reference to earlier application

Ref document number: 2068449

Country of ref document: EP

Kind code of ref document: P

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: AT

Ref legal event code: REF

Ref document number: 606484

Country of ref document: AT

Kind code of ref document: T

Effective date: 20130415

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602008023817

Country of ref document: DE

Effective date: 20130606

REG Reference to a national code

Ref country code: SE

Ref legal event code: TRGR

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2417930

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20130809

REG Reference to a national code

Ref country code: NL

Ref legal event code: T3

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

REG Reference to a national code

Ref country code: SK

Ref legal event code: T3

Ref document number: E 14315

Country of ref document: SK

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 606484

Country of ref document: AT

Kind code of ref document: T

Effective date: 20130410

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: PL

Ref legal event code: T3

REG Reference to a national code

Ref country code: HU

Ref legal event code: AG4A

Ref document number: E016811

Country of ref document: HU

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130810

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130710

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130711

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130812

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130710

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

26N No opposition filed

Effective date: 20140113

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602008023817

Country of ref document: DE

Effective date: 20140113

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131208

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20131231

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20131208

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20131231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130410

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 8

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 9

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 10

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: PL

Payment date: 20221122

Year of fee payment: 15

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: ES

Payment date: 20230113

Year of fee payment: 15

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 20231121

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SK

Payment date: 20231127

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20231120

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SE

Payment date: 20231121

Year of fee payment: 16

Ref country code: IT

Payment date: 20231121

Year of fee payment: 16

Ref country code: HU

Payment date: 20231219

Year of fee payment: 16

Ref country code: FR

Payment date: 20231121

Year of fee payment: 16

Ref country code: FI

Payment date: 20231120

Year of fee payment: 16

Ref country code: DE

Payment date: 20231120

Year of fee payment: 16

Ref country code: CZ

Payment date: 20231205

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: PL

Payment date: 20231122

Year of fee payment: 16