WO2008111824A2 - Method of encoding and decoding data using ldpc code - Google Patents

Method of encoding and decoding data using ldpc code Download PDF

Info

Publication number
WO2008111824A2
WO2008111824A2 PCT/KR2008/001495 KR2008001495W WO2008111824A2 WO 2008111824 A2 WO2008111824 A2 WO 2008111824A2 KR 2008001495 W KR2008001495 W KR 2008001495W WO 2008111824 A2 WO2008111824 A2 WO 2008111824A2
Authority
WO
WIPO (PCT)
Prior art keywords
sub
matrix
block
shift number
blocks
Prior art date
Application number
PCT/KR2008/001495
Other languages
French (fr)
Other versions
WO2008111824A3 (en
Inventor
Ki Hyoung Cho
Jong Sun No
Beom Kyu Shin
Woo Myung Park
Original Assignee
Lg Electronics Inc.
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
Application filed by Lg Electronics Inc. filed Critical Lg Electronics Inc.
Publication of WO2008111824A2 publication Critical patent/WO2008111824A2/en
Publication of WO2008111824A3 publication Critical patent/WO2008111824A3/en

Links

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/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
    • 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
    • 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/033Theoretical methods to calculate these checking 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/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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6544IEEE 802.16 (WIMAX and broadband wireless access)

Definitions

  • the present invention relates to a method of encoding and decoding data, and more particularly, to a method of encoding data using a low density parity check (LDPC) code.
  • LDPC low density parity check
  • FIG. 1 illustrates a structure of a mobile communication channel to which embodiments in accordance with the present invention and the related art can be applied.
  • a transmitter undergoes a channel coding procedure to transmit data without loss or distortion through a wireless channel.
  • Examples of the channel coding include convolutional coding, turbo coding, LDPC coding, etc.
  • the data which has undergone the channel coding procedure can be transmitted to the wireless channel as a single symbol which includes several bits.
  • a scheme of mapping several bits to a single symbol is referred to as "modulation.”
  • the modulated data is converted into a signal for multiple transmission through a multiplexing procedure or a multiple access scheme.
  • the multiplexing procedure include CDM, TDM, FDM, etc.
  • the signal which has undergone the multiplexing block is changed to a structure suitable for transmission to one or more multi-antennas, and then is transferred to a receiver through the wireless channel. Fading and thermal noise occur in the transmitted data when the data passes through a wireless channel. For this reason, distortion may occur in the received data.
  • the modulated data is transferred to the receiver through the wireless channel.
  • fading and thermal noise occur in the received data, whereby distortion may occur therein.
  • the receiver performs a series of procedures of the transmitter in reverse order after receiving the distorted data.
  • the receiver performs demodulation to convert the data mapped to the symbol into a bit stream, undergoes channel decoding, and recovers the distorted data to the original data.
  • An apparatus of performing the channel coding stores a matrix H or a generation matrix G, wherein the matrix H is a parity check matrix used to generate parity bits to be added to input data (information bits or systematic bits), and the generation matrix G is derived from the matrix H.
  • the transmitter includes an encoder which generates parity bits through the input data and the matrix H or G.
  • An apparatus of performing channel decoding checks whether the systematic bits are recovered well, through operation of the received data (distorted systematic bits + parity bits) with the matrix H, and performs operation again if the systematic bits are failed to be recovered.
  • modulation examples include BPSK (Binary Phase Shift Keying), QPSK
  • 16-QAM maps the data stream which has undergone channel encoding during modulation to a single symbol in a unit of 4 bits.
  • 16-QAM de-maps the single symbol received through the wireless channel during demodulation to four bits.
  • HARQ Hybrid Automatic Repeat reQuest
  • FEC Forward Error Correction
  • ARQ Automatic Repeat reQuest
  • the ARQ scheme if an error is detected from data received by the receiver, the receiver requests the transmitter to perform retransmission.
  • Examples of the ARQ scheme include Stop-And-Wait, Selective Repeat, Go-Back-N, etc. depending on the retransmission method.
  • LDPC coding will be described.
  • a concept of LDPC coding is as follows.
  • a linear code can be described with the generation matrix G or the parity check
  • T matrix H A characteristic of the linear code is that the Equation of " c is satisfied for every bit of a codeword 'c'.
  • the LDPC code which is recently paid attention to was proposed by Gallager in 1962 for the first time.
  • One of the characteristics of the LDPC coding is that most of elements of the parity check matrix H are
  • a parity check matrix H for the first proposed LDPC code was defined in a non-systematic form and each row and column of the parity check matrix were designed to equally have a small weight.
  • the weight means the number of ' 1 ' included in each row and column.
  • the LDPC coding scheme has low decoding complexity since a density of elements which are not '0' in the parity check matrix H is low. Further, decoding performance of the LDPC coding is superior to other coding schemes, which is adjacent to the theoretical limit of
  • the LDPC coding has a superior error correction capability, thereby improving communication speed and capacity.
  • MIMO multi-input and multi-output
  • the LDPC coding can be applied to a high speed wireless LAN having a data transmission speed of several hundred Mbit/s, a high speed mobile communication system having a data transmission speed of one Mbit/s or greater for a user moving at a speed of 250 km/h, and an optical communication system having a data transmission speed of 40 Gbit/s or greater.
  • the LDPC coding can enable quantum encryption communication diminishing the number of retransmission times on a communication path having low quality since transmission quality is improved due to its high error correction capability.
  • a parity check matrix H is used to use the LDPC code, and includes most of elements 0 and some elements 1. Since the matrix H has a great size of 10 5 bits or greater, a large sized memory is required to express the matrix H.
  • the structured LDPC scheme expresses the elements of the matrix H used for LDPC encoding and decoding as a sub-block of a certain size as shown in FIG. 2.
  • the sub-block is identified by one integer index to decrease the size of the memory required to store the matrix H.
  • Various kinds of matrixes could be the sub- block.
  • a permutation matrix of a certain size could be the sub-block. If the structured LDPC scheme is used, one integer (i.e., index) is only needed to be stored in a specific memory instead of a certain sized matrix consisting of elements of 1 or 0. Accordingly, the size of the memory required to express the matrix H can be decreased.
  • a model matrix used for LDPC encoding/decoding is as shown in FIG. 3.
  • the model matrix means a parity check matrix consisting of at least one sub-block expressed by shift numbers which will be described later.
  • the model matrix can be generated by being extended to the parity check matrix by a method which will be described later.
  • performing encoding and decoding with a specific model matrix means that encoding and decoding performs with the parity check matrix generated by being extended from the corresponding model matrix.
  • the structured LDPC matrix can be expressed by -1, 0 and positive integers, wherein index of -1 represents a zero matrix of a specific size, and index of
  • 0 represents an identity matrix of a specific size. Index of the positive integers excluding -1 and 0 represent shift numbers. If a sub-block is expressed by ' 1,' the corresponding sub-block is one time shifted to a specific direction in the identity matrix.
  • FIG. 4 illustrates a method of expressing a matrix according to the aforementioned positive integers, i.e., shift numbers. It is assumed that a specific parity check matrix is identified by a structured matrix of 4x4 (i.e., sub-block). In this case, if the specific sub block is identified by 3, the sub-block becomes the matrix of FIG. 4.
  • LDPC encoding method will be described.
  • information bits are encoded by using a generation matrix G derived from an LDPC parity check matrix H.
  • the parity check matrix H is configured in the form of [ P ⁇ : I ] by using a Gaussian reduction method. Assuming the number of the information bits is 'k' and a size of an encoded codeword is 'n', the 'P' is a matrix having 'k' number of rows and '(n- k)' number of columns and the T is an identity matrix having 'k' number of rows and
  • the generation matrix G has the form of [ I : P ].
  • the information bits of k bits to be encoded can be represented as a matrix 'x' having one row and 'k' number of columns.
  • the codeword 'c' is represented in the form of the following Equation.
  • the codeword 'c' can be obtained by adding a parity bit suitable for the Equation 2 next to the information bit 'x.' [Equation 2]
  • FIG. 5 is a block diagram illustrating an LDPC encoding method. As shown, if a single parity check matrix exists, information bits [ao, ai, a 2 , a 3 ] generate parity bits [p 0 , pi, p 2 , p 3 ] in accordance with Equations suggested in a lower part of
  • FIG. 5 In FIG. 5, ' ⁇ 1 represents exclusive 'OR' operation.
  • codewords [ao, a l5 a 2 , a 3 , p 0 , pi, p 2 , p 3 ] are generated. Encoding may be performed using the parity check matrix as illustrated in FIG 5, or encoding may be performed using the generation matrix G.
  • Data encoded in a communication system includes noise when passing through a wireless channel of FIG. 1.
  • a receiver represents a decoding procedure of data through a procedure as shown in FIG 6.
  • a value of c'H T is calculated.
  • first k number of bits from c' are determined as the information bit x.
  • c' which satisfies c'H of 0 is searched by using a decoding method such as a sum-product algorithm through a graph, thereby restoring the information bit x.
  • the structure of the matrix H is very important. In other words, since encoding and decoding performance is greatly affected by the structure of the matrix H, design of the matrix H is more important than anything else.
  • FIG. 7 illustrates a bipartite graph that expresses a parity check matrix.
  • FIG 7 illustrates a bipartite graph that expresses a parity check matrix of the following Equation 5. [Equation 5]
  • the first row of the Equation 5 corresponds to a first check node Cl
  • its second row corresponds to a second check node C2
  • its third row corresponds to a third check node
  • the first column of the Equation 5 corresponds to a first variable node Vl
  • its second column corresponds to a second variable node V2
  • its third column corresponds to a third variable node C3
  • its fourth column corresponds to a fourth variable node V4.
  • connection of the bipartite graph is as shown, it is regarded that cycle 4 exists. In other words, if a connection line is drawn from one node to return to the node through four lines, it is regarded that cycle 4 exists.
  • cycle 4 a problem may occur in performing LDPC decoding.
  • an incorrect receiving signal should be propagated by a belief propagation (BP) scheme.
  • BP belief propagation
  • An object of the present invention is to provide a method of encoding data using a low density parity check (LDPC) code, of which performance can be improved.
  • LDPC low density parity check
  • Another object of the present invention is to provide a method of encoding data using a low density parity check (LDPC) code, which can easily control cycle features of a parity check matrix.
  • LDPC low density parity check
  • a method of encoding data using a low density parity check (LDPC) code includes providing an information bit stream for encoding; and encoding the information bit stream using a parity check matrix which includes a plurality of sub-blocks, wherein at least one of the sub-blocks of the parity check matrix is generated by overlapping at least two sub-blocks.
  • LDPC low density parity check
  • a method of decoding data using a low density parity check (LDPC) code includes receiving a codeword encoded by a parity check matrix which includes a plurality of sub-blocks; and decoding the codeword using the parity check matrix, wherein at least one of the sub-blocks of the parity check matrix is generated by overlapping at least two sub-blocks.
  • LDPC low density parity check
  • the embodiment according to the present invention suggests a method of configuring a new model matrix by overlapping a first model matrix with a second model matrix.
  • these model matrixes are extended to the parity check matrix and used for LDPC encoding and decoding.
  • the first model matrix is a model matrix which is previously given.
  • the first model matrix is a model matrix suggested in the IEEE 802.16e standard.
  • the model matrixes which include the first model matrix and the second model matrix are extended by an identity matrix of a specific size.
  • the model matrixes are extended by the identity matrix of a specific size to configure a parity check matrix.
  • the specific size is z*z.
  • At least one index, which configures the second model matrix i.e., a shift number is preferably determined by a size 'z' of a matrix used when the model matrix is extended to the parity check matrix.
  • At least one index, which configures the second model matrix i.e., a shift number is preferably determined by the relation between the index constituting the first model matrix and the index constituting the second model matrix.
  • the index of the second model matrix can be determined by the difference between the index constituting the first model matrix and the index constituting the second model matrix.
  • index of the third model matrix is preferably determined by the relation among the indexes of the first, second and third model matrixes.
  • the index of the third model matrix can be determined by the difference between the index of the first model matrix and the index of the second model matrix.
  • FIG. 1 illustrates a structure of a mobile communication channel to which embodiment according to the present invention and the related art are applied;
  • FIG. 2 illustrates a concept of a sub-block having a predetermined size on a parity check matrix
  • FIG. 3 illustrates an example of a model matrix used for LDPC encoding/decoding
  • FIG. 4 illustrates a method of expressing a matrix depending on indexes, i.e., shift numbers
  • FIG. 5 is a block diagram illustrating an LDPC encoding method
  • FIG. 6 is a block diagram illustrating an LDPC decoding method
  • FIG. 7 illustrates a bipartite graph that expresses a parity check matrix
  • FIG. 8 illustrates an example of a model matrix which undergoes overlap
  • FIG. 9 illustrates another example of a model matrix which undergoes overlap
  • FIG. 1OA illustrates a parity check matrix that expresses a sub-block when a shift number of the sub-block is greater than 0;
  • FIG. 1OB illustrates location of an element having a weight in the sub-block of FIG 1 OA, which is expressed by Equation;
  • FIG 11 is a block diagram illustrating a case where girth 4 is generated within a sub- block
  • FIG. 12 is a block diagram illustrating another case where girth 4 is generated within a sub-block; 495
  • FIG. 13 is a block diagram illustrating another case where girth 4 is generated within different sub-blocks
  • FIG. 14 is a block diagram illustrating another case where girth 4 is generated within two sub-blocks which exist in a vertical direction;
  • FIG. 15 to FIG. 18 illustrate examples of matrixes generated by overlapping two matrixes in accordance with embodiments of the present invention.
  • FIG. 19A to FIG. 21C are block diagrams illustrating examples of model matrixes according to embodiments of the present invention.
  • the embodiment of the present invention suggests that at least two model matrixes are overlapped with each other.
  • FIG. 8 illustrates an example of a model matrix which undergoes overlap.
  • FIG. 9 illustrates another example of a model matrix which undergoes overlap.
  • the embodiment of the present invention suggests combination of the model matrixes illustrated in FIG 8 and FIG. 9.
  • the model matrixes are overlapped with each other, the following advantages can be obtained.
  • a first model matrix When two model matrixes are overlapped with each other, a first model matrix will be referred to as a basic matrix and a second model matrix will be referred to as an overlap matrix.
  • the basic matrix could be a model matrix previously suggested as illustrated in FIG. 8.
  • H b When the basic matrix is referred to as H b and the overlap matrix is referred to as H s , a model matrix H r is newly configured by overlap.
  • Equation 7 When a model matrix is configured by using the basic matrix and at least one overlap matrix, a new model matrix having advantages of the basic matrix can be configured.
  • the overlap matrix can have weights in given regions only as illustrated in FIG 9.
  • a model matrix having irregular features can be configured.
  • a regular LDPC parity check matrix can be converted into an irregular LDPC parity check matrix by using the overlap matrix.
  • the embodiment of the present invention is advantageous in that maximum degree can freely be adjusted by adjusting location of index values which are overlapped.
  • a problem may occur in that the newly configured model matrix has a structure of cycle 4.
  • a weight of row or column for the sub-block constituting the conventional model matrix is ' 1' as illustrated in FIG. 4.
  • the structure of cycle 4 cannot exist within one sub-block.
  • the model matrixes are overlapped with each other, the structure of cycle 4 may exist even within one sub-block.
  • the structure of cycle 4 may newly be generated by overlap.
  • the embodiment of the present invention suggests a method of preventing cycle 4 from being generated when model matrixes are overlapped with each other to configure a new model matrix.
  • the model matrix according to the embodiment of the present invention or the parity check matrix generated from the model matrix according to the embodiment of the present invention does not have the structure of cycle 4.
  • girth of the model matrix or the parity check matrix according to the embodiment of the present invention exceeds 4.
  • the model matrix or the parity check matrix according to the embodiment of the present invention has girth greater than 6.
  • “Girth” means a cycle having the shortest length on the bipartite graph.
  • the smallest cycle existing in one model matrix or parity check matrix is referred to as
  • girth If girth exceeds 4, a structure of cycle 4 does not exist in a corresponding model matrix or parity check matrix. Accordingly, it is possible to obtain improved performance during LDPC decoding.
  • FIG. 1OA illustrates a result of a sub-block expressed by a parity check matrix when a shift number of the sub-block is greater than 0. Also, FIG. 1OB illustrates location of an element having a weight in the sub-block of FIG. 1OA, which is expressed by an Equation.
  • a shift number could be '0' and a size of one sub-block (otherwise referred to as 'z factor') could be '6.
  • one sub-block could be extended to a matrix of 6*6.
  • the corresponding sub-block is extended to a parity check matrix as expressed in a left side of FIG 1OA.
  • the corresponding sub-block is expressed as illustrated in a left side of FIG. 1OB.
  • the shift number is '0' and the size of the sub-block is '6' location of an element having a weight in the corresponding sub-block is expressed by [x, x].
  • a shift number could be '3' and a size of one sub-block (otherwise referred to as 'z factor') could be '6,' the corresponding sub-block is expressed as illustrated in a right side of FIG. 1OB.
  • Equation 8a When a first model matrix illustrated in the following Equation 8a and a second model matrix illustrated in the following Equation 8b are overlapped with each other, a new model matrix illustrated in the following Equation 8c can be obtained.
  • the Equation 8a could be referred to as the first model matrix
  • the Equation 8b could be referred to as the second model matrix.
  • the first shift number (a ⁇ ) of the first model matrix is overlapped with the second shift number (a 2 ) of the second model matrix.
  • the sub-block corresponding to the first shift number is overlapped with the sub- block corresponding to the second shift number.
  • the shift number x of the first model matrix is not overlapped with the shift number of the second model matrix.
  • FIG. 11 is a block diagram illustrating the case where girth 4 is generated within one sub-block.
  • an element 1101 represents an element generated in accordance with the first shift number aj.
  • an element 1102 represents an element generated in accordance with the second shift number a 2 .
  • an element having a weight should be located in the form of quadrangle. Accordingly, an element 1103 is required. It is assumed that the element 1103 is shifted from the element 1102 by -a 2 + a ⁇ Since an element 1104 should have the same x coordinate value as that of the element 1103, its x coordinate value is determined as '(x-a 2 +a ! ) mod z.' In this case, since the element 1104 is generated in accordance with the shift number a 2 , its y coordinate value is determined as '(x-a 2 +a ! -a 2 ) mod z.'
  • Equation 9 495
  • Equation 9 cannot be achieved regardless of aj and a 2 .
  • the structure of FIG. 12 cannot exist regardless of values of a t and a 2 .
  • z is an even number, it is preferable that a multiple of z/2 is not obtained as the result of ai-a 2 .
  • ai-a 2 it is preferable to determine aj.a 2 so as not to obtain 5, 10, 15, and 20. If a ⁇ has been already determined, it is preferable that the value of a 2 is adjusted so as not to satisfy the Equation 9.
  • FIG. 12 is a block diagram illustrating the case where girth 4 is generated within one sub-block.
  • an element 1201 represents an element generated in accordance with the second shift number a 2 .
  • an element 1202 represents an element generated in accordance with the third shift number a 3 .
  • an element having a weight should be located in the form of quadrangle. Accordingly, an element 1203 is required. It is assumed that the element 1203 is shifted from the element 1202 by a 2 - a 3 . Since an element 1204 should have the same x coordinate value as that of the element 1203, its x coordinate value is determined as '(x+a 2 -a 3 ) mod z.' In this case, if it is assumed that the element 1204 is generated in accordance with the first shift number ai, y coordinate value of the element 1204 is determined as '(x-a ! +a 2 -a 3 ) mod z.'
  • Equation 10 To generate girth 4 by overlapping three shift numbers, the case where y coordinate value of the element 1201 and y coordinate value of the element 1204 are the same as each other should exist. Whether such a case exists will be explained by the following Equation 10.
  • girth 4 is generated. Accordingly, when the three model matrixes are overlapped with one another, girth 4 is generated if a sum of the first shift number and the third shift number is twice of the second shift number. If three model matrixes are overlapped with one another, the first to third shift numbers are preferably determined so that modulo operation for the sum result of the first shift number and the third shift number is different from that for twice of the second shift number. At least any one of the first to third shift numbers could be a value which has been already determined. In this case, it is preferable to determine a shift number which does not satisfy the Equation 10, by adjusting the other values.
  • Equation 11a When a first model matrix illustrated in the following Equation 11a and a second model matrix illustrated in the following Equation lib are overlapped with each other, a new model matrix illustrated in the following Equation lie can be obtained.
  • the Equation 11a could be referred to as the first model matrix
  • the Equation lib could be referred to as the second model matrix.
  • the first shift number (ai) of the first model matrix is overlapped with the second shift number (a 2 ) of the second model matrix.
  • the sub-block corresponding to the first shift number is overlapped with the sub-block corresponding to the second shift number.
  • the fourth shift number f ⁇ ) of the first model matrix is overlapped with the third shift number (a 3 ) of the second model matrix.
  • Each of the Equations 11a and lib does not have the structure of girth 4. However, if overlap is made, each of the Equations 11a and lib can have the structure of girth 4.
  • FIG. 13 is a block diagram illustrating the case where girth 4 is generated within different sub-blocks.
  • an element 1301 represents an element generated in accordance with the first shift number ai.
  • an element 1302 represents an element generated in accordance with the second shift number a 2 .
  • an element having a weight should be located in the form of quadrangle. Accordingly, an element 1303 is required. It is assumed that the element 1303 is shifted from the element 1302 by -a 2 + a 3 .
  • an element 1304 should have the same x coordinate value as that of the element 1303, its x coordinate value is determined as '(x-a 2 +a 3 ) mod z.' In this case, if it is assumed that the element 1304 is generated in accordance with the shift number a 4 , y coordinate value of the element 1304 is determined as '(x-a 2 +ai-a 4 ) mod z. 1
  • the shift numbers are preferably determined so as not to satisfy the Equation 12.
  • At least any one of the first to fourth shift numbers could be a value which has been already determined. In this case, it is preferable to determine a shift number which does not satisfy the Equation 12, by adjusting the other values.
  • two shift numbers are overlapped with each other within one sub-block.
  • FIG. 13 relates to the case where girth 4 is generated within two sub-blocks which exist in a horizontal direction.
  • a first model matrix illustrated in the following Equation 13a and a second model matrix illustrated in the following Equation 13b are overlapped with each other, a new model matrix illustrated in the following Equation 13c can be obtained.
  • the Equation 13a could be referred to as the first model matrix
  • the Equation 13b could be referred to as the second model matrix.
  • the first shift number (a ⁇ of the first model matrix is overlapped with the second shift number (a 2 ) of the second model matrix.
  • the sub-block corresponding to the first shift number is overlapped with the sub-block corresponding to the second shift number.
  • the fourth shift number (a*) of the first model matrix is overlapped with the third shift number (a 3 ) of the second model matrix.
  • each of the Equations 13a and 13b does not have the structure of girth 4. However, if overlap is made, each of the Equations 13a and 13b can have the structure of girth 4.
  • Equation 13c can be expressed as illustrated in FIG. 14.
  • FIG 14 is a block diagram illustrating the case where girth 4 is generated within two sub-blocks which exist in a vertical direction.
  • an element 1401 represents an element generated in accordance with the first shift number a ⁇ .
  • an element 1402 represents an element generated in accordance with the third shift number a 3 .
  • an element having a weight should be located in the form of quadrangle. Accordingly, an element 1403 is required. It is assumed that the element 1403 is shifted from the element 1402 by -a 3 + a 4 .
  • an element 1404 should have the same x coordinate value as that of the element 1403, its x coordinate value is determined as '(x-a 3 +a 4 ) mod z.' In this case, if it is assumed that the element 1404 is generated in accordance with the shift number a 2 , y coordinate value of the element 1404 is determined as '(x-a 3 +a 4 -a 2 ) mod z.'
  • Equation 14 If girth 4 is generated, the case where y coordinate value of the element 1401 and y coordinate value of the element 1404 are the same as each other should exist. Whether such a case exists will be explained by the following Equation 14.
  • Equation 14 is the same as that obtained by exchanging parameters of the Equation 12. Accordingly, girth 4 can be prevented from being generated in the same manner as that checked in the example of FIG. 13.
  • FIG. 15 illustrates an example of two matrixes overlapped in accordance with the method suggested in the embodiment of the present invention.
  • two shift numbers are overlapped with each other within one sub-block.
  • the model matrix of FIG. 15 includes has a column weight of maximum 6.
  • FIG. 16 illustrates another example of two matrixes overlapped in accordance with the method suggested in the embodiment of the present invention.
  • two shift numbers are overlapped with each other within two sub-blocks.
  • the model matrix of FIG 16 includes has a column weight of maximum 8.
  • FIG. 17 illustrates another example of two matrixes overlapped in accordance with the method suggested in the embodiment of the present invention. In FIG. 17, two shift numbers are overlapped with each other within two sub-blocks. As shown, the model matrix of FIG. 17 includes has a column weight of maximum 8.
  • FIG. 18 illustrates another example of two matrixes overlapped in accordance with the method suggested in the embodiment of the present invention.
  • two shift numbers are overlapped with each other within four sub-blocks.
  • girth 4 is not generated.
  • Degree distribution suggested by Richardson et al. can be used to check performance of an LDPC code.
  • degree distribution of a parity check matrix adopted by the IEEE 802.16e standard will be calculated, and degree distribution of matrixes overlapped in accordance with the embodiment of the present invention will be compared.
  • the parity check matrix adopted by the IEEE 802.16e standard has degree distribution as follows. [Equation 15]
  • 3X8Xz 24 3 2XllXz+3X8Xz+6X5Xz 76
  • the matrix of FIG. 18 according to the embodiment of the present invention has degree distribution as follows. [Equation 17]
  • Equation 16 and Equation 17 degree distribution can be adjusted when overlap is made in accordance with the embodiment of the present invention.
  • Equation 19 illustrates an example that a model matrix with maximum degree distribution of 12 is adjusted to approximate to the optimized values suggested by Richardson et al. [Equation 19]
  • Equation 19 numerical values in parenthesis represent optimized values suggested by Richardson et al.
  • Equation 20 illustrates an example that a model matrix with maximum degree distribution of 15 is adjusted to approximate to the optimized values suggested by Richardson et al. [Equation 20]
  • FIG. 19A to FIG. 21 C are block diagrams illustrating examples of the model matrixes according to the embodiment of the present invention.
  • FIG 19A illustrates the first model matrix
  • FIG. 19B illustrates the second model matrix
  • FIG 2OA illustrates the first model matrix
  • FIG 2OB illustrates the second model matrix
  • FIG. 21 A illustrates the first model matrix
  • FIG. 21 B illustrates the second model matrix.
  • input source data can be encoded using a generation matrix.
  • input source data S 1 X k of k bits is encoded in the generation matrix and becomes a codeword X 1 X k of n bits.
  • a value of c'H T is calculated.
  • first k number of bits from c' are determined as the decoded information bit.
  • c' which satisfies c'H T of 0 is searched by using a sum-product algorithm through a graph and a belief propagation algorithm, thereby restoring the information bit x.
  • parity check matrix is configured in accordance with the present invention, it is advantageous in that, although overlap is used, the model matrix having excellent cycle features can newly be configured. It will be apparent to those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit and essential characteristics of the invention. Thus, the above embodiments are to be considered in all respects as illustrative and not restrictive. The scope of the invention should be determined by reasonable interpretation of the appended claims and all change which comes within the equivalent scope of the invention are included in the scope of the invention.
  • the present invention can be applied to every field where encoding and decoding are used, as well as a wireless communication system such as a mobile communication system or a wireless Internet system.

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)

Abstract

A method of encoding and decoding data using a low density parity check (LDPC) code is disclosed. The method of encoding data using a low density parity check (LDPC) code includes providing an information bit stream for encoding; and encoding the information bit stream using a parity check matrix which includes a plurality of sub-blocks, wherein at least one of the sub-blocks of the parity check matrix is generated by overlapping at least two sub-blocks.

Description

METHOD OF ENCODINGAND DECODING DATA USING LDPC CODE
[DESCRIPTION] TECHNICAL FIELD
The present invention relates to a method of encoding and decoding data, and more particularly, to a method of encoding data using a low density parity check (LDPC) code.
BACKGROUND ART FIG. 1 illustrates a structure of a mobile communication channel to which embodiments in accordance with the present invention and the related art can be applied. Hereinafter, the structure of the mobile communication channel will be described with reference to FIG. 1. A transmitter undergoes a channel coding procedure to transmit data without loss or distortion through a wireless channel. Examples of the channel coding include convolutional coding, turbo coding, LDPC coding, etc. The data which has undergone the channel coding procedure can be transmitted to the wireless channel as a single symbol which includes several bits. At this time, a scheme of mapping several bits to a single symbol is referred to as "modulation."
The modulated data is converted into a signal for multiple transmission through a multiplexing procedure or a multiple access scheme. Examples of the multiplexing procedure include CDM, TDM, FDM, etc. The signal which has undergone the multiplexing block is changed to a structure suitable for transmission to one or more multi-antennas, and then is transferred to a receiver through the wireless channel. Fading and thermal noise occur in the transmitted data when the data passes through a wireless channel. For this reason, distortion may occur in the received data.
The modulated data is transferred to the receiver through the wireless channel. In this case, fading and thermal noise occur in the received data, whereby distortion may occur therein. The receiver performs a series of procedures of the transmitter in reverse order after receiving the distorted data. The receiver performs demodulation to convert the data mapped to the symbol into a bit stream, undergoes channel decoding, and recovers the distorted data to the original data.
An apparatus of performing the channel coding stores a matrix H or a generation matrix G, wherein the matrix H is a parity check matrix used to generate parity bits to be added to input data (information bits or systematic bits), and the generation matrix G is derived from the matrix H. In other words, the transmitter includes an encoder which generates parity bits through the input data and the matrix H or G. An apparatus of performing channel decoding checks whether the systematic bits are recovered well, through operation of the received data (distorted systematic bits + parity bits) with the matrix H, and performs operation again if the systematic bits are failed to be recovered.
Examples of the modulation include BPSK (Binary Phase Shift Keying), QPSK
(Quadrature Phase Shift Keying), 16-QAM (Quadrature Amplitude Modulation), 64-QAM,
256-QAM, etc. For example, 16-QAM maps the data stream which has undergone channel encoding during modulation to a single symbol in a unit of 4 bits. 16-QAM de-maps the single symbol received through the wireless channel during demodulation to four bits.
Hereinafter, a data retransmission scheme that can be used along with the embodiments of the present invention will be described. There are provided various examples of the data retransmission scheme. Of them, HARQ (Hybrid Automatic Repeat reQuest) scheme will be described below. The HARQ scheme is obtained by combination of FEC (Forward Error Correction) symbol and ARQ (Automatic Repeat reQuest) which is a retransmission scheme in a mobile communication system. According to the ARQ scheme, if an error is detected from data received by the receiver, the receiver requests the transmitter to perform retransmission. Examples of the ARQ scheme include Stop-And-Wait, Selective Repeat, Go-Back-N, etc. depending on the retransmission method.
Hereinafter, LDPC coding will be described. A concept of LDPC coding is as follows.
A linear code can be described with the generation matrix G or the parity check
T matrix H. A characteristic of the linear code is that the Equation of "c is satisfied for every bit of a codeword 'c'. As one of the linear code, the LDPC code which is recently paid attention to was proposed by Gallager in 1962 for the first time. One of the characteristics of the LDPC coding is that most of elements of the parity check matrix H are
'0' and the number of elements which are not '0' is small compared to the codeword, so that repetitive decoding based on probability is possible. A parity check matrix H for the first proposed LDPC code was defined in a non-systematic form and each row and column of the parity check matrix were designed to equally have a small weight.
In this case, the weight means the number of ' 1 ' included in each row and column.
The LDPC coding scheme has low decoding complexity since a density of elements which are not '0' in the parity check matrix H is low. Further, decoding performance of the LDPC coding is superior to other coding schemes, which is adjacent to the theoretical limit of
Shannon. However, the LDPC coding scheme could not be implemented with the hardware technique at the time of proposal by Gallegar, so that the LDPC coding scheme has not been paid attention to by the people for 30 years. A repetitive decoding scheme using graphs was developed in early 1980's and a couple of decoding algorithms for the LDPC code have been developed using the repetitive decoding scheme. One of them is a sum-product algorithm.
Hereinafter, features of the LDPC coding will be described. The LDPC coding has a superior error correction capability, thereby improving communication speed and capacity. When combined with a multi-input and multi-output (MIMO) scheme, the LDPC coding can be applied to a high speed wireless LAN having a data transmission speed of several hundred Mbit/s, a high speed mobile communication system having a data transmission speed of one Mbit/s or greater for a user moving at a speed of 250 km/h, and an optical communication system having a data transmission speed of 40 Gbit/s or greater. In addition, the LDPC coding can enable quantum encryption communication diminishing the number of retransmission times on a communication path having low quality since transmission quality is improved due to its high error correction capability. Further, data packets having errors can be easily recovered due to the low complexity and superior loss compensation capability of the LDPC coding, so that contents having quality equal to that of TV can be transmitted through the Internet and the mobile communication system. 1OG BASE-T transmission within a range of 100m which has been considered impossible earlier can be realized owing to wide application range and large capacity which are advantages of the LDPC coding. In addition, transmission capacity of a single satellite transmitter having 36 MHz bandwidth can be increased up to 80 Mbit/s which is 1.3 times of usual transmission capacity. Hereinafter, a structured LDPC scheme will be described.
A parity check matrix H is used to use the LDPC code, and includes most of elements 0 and some elements 1. Since the matrix H has a great size of 105 bits or greater, a large sized memory is required to express the matrix H. The structured LDPC scheme expresses the elements of the matrix H used for LDPC encoding and decoding as a sub-block of a certain size as shown in FIG. 2.
In IEEE 802.16e, the sub-block is identified by one integer index to decrease the size of the memory required to store the matrix H. Various kinds of matrixes could be the sub- block. For example, a permutation matrix of a certain size could be the sub-block. If the structured LDPC scheme is used, one integer (i.e., index) is only needed to be stored in a specific memory instead of a certain sized matrix consisting of elements of 1 or 0. Accordingly, the size of the memory required to express the matrix H can be decreased.
For example, if a size of a codeword reflected in the IEEE802.16e standard is 2304 and a coding rate is 2/3, a model matrix used for LDPC encoding/decoding is as shown in FIG. 3. The model matrix means a parity check matrix consisting of at least one sub-block expressed by shift numbers which will be described later. The model matrix can be generated by being extended to the parity check matrix by a method which will be described later.
Accordingly, performing encoding and decoding with a specific model matrix means that encoding and decoding performs with the parity check matrix generated by being extended from the corresponding model matrix.
As shown in FIG 3, the structured LDPC matrix can be expressed by -1, 0 and positive integers, wherein index of -1 represents a zero matrix of a specific size, and index of
0 represents an identity matrix of a specific size. Index of the positive integers excluding -1 and 0 represent shift numbers. If a sub-block is expressed by ' 1,' the corresponding sub-block is one time shifted to a specific direction in the identity matrix.
FIG. 4 illustrates a method of expressing a matrix according to the aforementioned positive integers, i.e., shift numbers. It is assumed that a specific parity check matrix is identified by a structured matrix of 4x4 (i.e., sub-block). In this case, if the specific sub block is identified by 3, the sub-block becomes the matrix of FIG. 4. Hereinafter, LDPC encoding method will be described.
According to a general LDPC encoding method, information bits are encoded by using a generation matrix G derived from an LDPC parity check matrix H. In order to derive the generation matrix G, the parity check matrix H is configured in the form of [ Pτ : I ] by using a Gaussian reduction method. Assuming the number of the information bits is 'k' and a size of an encoded codeword is 'n', the 'P' is a matrix having 'k' number of rows and '(n- k)' number of columns and the T is an identity matrix having 'k' number of rows and
columns.
When the parity check matrix H is represented in the form of [ Pτ : I ], the generation matrix G has the form of [ I : P ]. The information bits of k bits to be encoded can be represented as a matrix 'x' having one row and 'k' number of columns. In this case, the codeword 'c' is represented in the form of the following Equation.
[Equation 1]
<?=xG= [x:xP] In the above Equation, x represents an information part (or a systematic part), and xP
represents a parity part.
Meanwhile, if encoding is performed by the Gaussian Reduction method as above, since a calculation amount is increased, the form of the matrix H is designed in a specific structure so that a method of directly encoding data in the matrix H without deriving the matrix G is used. In other words, if the Equation 1 is multiplied by Hτ by using a feature (i.e., GHT=0) that a product between the matrix G and a transpose Hτ for the matrix H is equal to 0, the following Equation 2 can be obtained. The codeword 'c' can be obtained by adding a parity bit suitable for the Equation 2 next to the information bit 'x.' [Equation 2]
Figure imgf000008_0001
The aforementioned method will be described with reference to the accompanying drawing.
FIG. 5 is a block diagram illustrating an LDPC encoding method. As shown, if a single parity check matrix exists, information bits [ao, ai, a2, a3] generate parity bits [p0, pi, p2, p3] in accordance with Equations suggested in a lower part of
FIG. 5. In FIG. 5, ' ^^1 represents exclusive 'OR' operation.
As a result of FIG. 5, codewords [ao, al5 a2, a3, p0, pi, p2, p3] are generated. Encoding may be performed using the parity check matrix as illustrated in FIG 5, or encoding may be performed using the generation matrix G.
Hereinafter, an LDPC decoding method will be described.
Data encoded in a communication system includes noise when passing through a wireless channel of FIG. 1. A receiver represents a decoding procedure of data through a procedure as shown in FIG 6. A decoding block of the receiver obtains an information bit 'x' from a receiving signal c' having the encoded codeword 'c' added with noise by using the feature of cHT=0. In other words, assuming that the received codeword is c', a value of c'HT is calculated. As a result, if the value of c'HT is 0, first k number of bits from c' are determined as the information bit x. If the value of c'H is not 0, c' which satisfies c'H of 0 is searched by using a decoding method such as a sum-product algorithm through a graph, thereby restoring the information bit x.
Hereinafter, a coding rate of LDPC coding will be described.
Generally, when the size of the information bit is k and the size of the codeword which is actually transmitted is n, a coding rate (R) is as follows. [Equation 3] R = k/n
When the matrix H necessary for LDPC encoding and decoding has a row size of m and a column size of n, a coding rate is as follows. [Equation 4]
R = I - m/n
As described above, since the related art LDPC code is encoded and decoded by the matrix H, the structure of the matrix H is very important. In other words, since encoding and decoding performance is greatly affected by the structure of the matrix H, design of the matrix H is more important than anything else.
Hereinafter, cycle 4 which is a problem of the related art will be described. FIG. 7 illustrates a bipartite graph that expresses a parity check matrix. FIG 7 illustrates a bipartite graph that expresses a parity check matrix of the following Equation 5. [Equation 5]
1 0 1 01
H= 0 0 0 0
1 0 1 0.
The first row of the Equation 5 corresponds to a first check node Cl, its second row corresponds to a second check node C2, and its third row corresponds to a third check node
C3. Also, the first column of the Equation 5 corresponds to a first variable node Vl, its second column corresponds to a second variable node V2, its third column corresponds to a third variable node C3, and its fourth column corresponds to a fourth variable node V4.
If connection of the bipartite graph is as shown, it is regarded that cycle 4 exists. In other words, if a connection line is drawn from one node to return to the node through four lines, it is regarded that cycle 4 exists.
If cycle 4 exists as shown, a problem may occur in performing LDPC decoding. In other words, when LDPC decoding is performed, an incorrect receiving signal should be propagated by a belief propagation (BP) scheme. In this case, if cycle 4 exists, propagation of the incorrect signal is not performed, whereby performance of LDPC decoding is degraded.
DISCLOSURE OF THE INVENTION
Accordingly, the present invention is suggested to substantially obviate one or more problems due to limitations and disadvantages of the related art. An object of the present invention is to provide a method of encoding data using a low density parity check (LDPC) code, of which performance can be improved.
Another object of the present invention is to provide a method of encoding data using a low density parity check (LDPC) code, which can easily control cycle features of a parity check matrix.
To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, a method of encoding data using a low density parity check (LDPC) code includes providing an information bit stream for encoding; and encoding the information bit stream using a parity check matrix which includes a plurality of sub-blocks, wherein at least one of the sub-blocks of the parity check matrix is generated by overlapping at least two sub-blocks.
In another aspect of the present invention, a method of decoding data using a low density parity check (LDPC) code includes receiving a codeword encoded by a parity check matrix which includes a plurality of sub-blocks; and decoding the codeword using the parity check matrix, wherein at least one of the sub-blocks of the parity check matrix is generated by overlapping at least two sub-blocks.
The embodiment according to the present invention suggests a method of configuring a new model matrix by overlapping a first model matrix with a second model matrix. Preferably, these model matrixes are extended to the parity check matrix and used for LDPC encoding and decoding. There is no limitation in the number of model matrixes which undergo overlap. More preferably, the first model matrix is a model matrix which is previously given. For example, it is preferable that the first model matrix is a model matrix suggested in the IEEE 802.16e standard. The model matrixes which include the first model matrix and the second model matrix are extended by an identity matrix of a specific size. In other words, the model matrixes are extended by the identity matrix of a specific size to configure a parity check matrix. Preferably, the specific size is z*z.
At least one index, which configures the second model matrix, i.e., a shift number is preferably determined by a size 'z' of a matrix used when the model matrix is extended to the parity check matrix.
Furthermore, at least one index, which configures the second model matrix, i.e., a shift number is preferably determined by the relation between the index constituting the first model matrix and the index constituting the second model matrix. For example, the index of the second model matrix can be determined by the difference between the index constituting the first model matrix and the index constituting the second model matrix.
Furthermore, if a third model matrix additionally undergoes overlap, index of the third model matrix is preferably determined by the relation among the indexes of the first, second and third model matrixes. For example, the index of the third model matrix can be determined by the difference between the index of the first model matrix and the index of the second model matrix.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates a structure of a mobile communication channel to which embodiment according to the present invention and the related art are applied;
FIG. 2 illustrates a concept of a sub-block having a predetermined size on a parity check matrix;
FIG. 3 illustrates an example of a model matrix used for LDPC encoding/decoding; FIG. 4 illustrates a method of expressing a matrix depending on indexes, i.e., shift numbers;
FIG. 5 is a block diagram illustrating an LDPC encoding method; FIG. 6 is a block diagram illustrating an LDPC decoding method; FIG. 7 illustrates a bipartite graph that expresses a parity check matrix; FIG. 8 illustrates an example of a model matrix which undergoes overlap;
FIG. 9 illustrates another example of a model matrix which undergoes overlap; FIG. 1OA illustrates a parity check matrix that expresses a sub-block when a shift number of the sub-block is greater than 0;
FIG. 1OB illustrates location of an element having a weight in the sub-block of FIG 1 OA, which is expressed by Equation;
FIG 11 is a block diagram illustrating a case where girth 4 is generated within a sub- block;
FIG. 12 is a block diagram illustrating another case where girth 4 is generated within a sub-block; 495
FIG. 13 is a block diagram illustrating another case where girth 4 is generated within different sub-blocks;
FIG. 14 is a block diagram illustrating another case where girth 4 is generated within two sub-blocks which exist in a vertical direction; FIG. 15 to FIG. 18 illustrate examples of matrixes generated by overlapping two matrixes in accordance with embodiments of the present invention; and
FIG. 19A to FIG. 21C are block diagrams illustrating examples of model matrixes according to embodiments of the present invention.
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, structures, operations, and advantages of the present invention will be understood readily by the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
The embodiment of the present invention suggests that at least two model matrixes are overlapped with each other.
FIG. 8 illustrates an example of a model matrix which undergoes overlap. Also, FIG. 9 illustrates another example of a model matrix which undergoes overlap.
The embodiment of the present invention suggests combination of the model matrixes illustrated in FIG 8 and FIG. 9. When the model matrixes are overlapped with each other, the following advantages can be obtained.
When two model matrixes are overlapped with each other, a first model matrix will be referred to as a basic matrix and a second model matrix will be referred to as an overlap matrix. In this case, the basic matrix could be a model matrix previously suggested as illustrated in FIG. 8. When the basic matrix is referred to as Hb and the overlap matrix is referred to as Hs, a model matrix Hr is newly configured by overlap. [Equation 6]
Hr=Hb+Hs The basic matrix, the overlap matrix, and the newly configured model matrix satisfy the relation of the above Equation 6.
In this case, a codeword encoded by the matrix Hr satisfies the following Equation. [Equation 7]
Figure imgf000014_0001
When a model matrix is configured by using the basic matrix and at least one overlap matrix, a new model matrix having advantages of the basic matrix can be configured. The overlap matrix can have weights in given regions only as illustrated in FIG 9. In this case, in addition to the basic matrix having regular features, a model matrix having irregular features can be configured. In other words, a regular LDPC parity check matrix can be converted into an irregular LDPC parity check matrix by using the overlap matrix.
When performance of irregular LDPC code is evaluated in accordance with degree distribution, it is known that performance becomes better as maximum degree of a variable node becomes great. Also, it is known that performance of the irregular LDPC code is good if a rate occupied by maximum degree is greater than a certain rate.
Since the overlap matrix is used in the embodiment of the present invention, the embodiment of the present invention is advantageous in that maximum degree can freely be adjusted by adjusting location of index values which are overlapped. Although it is advantageous as aforementioned when the model matrixes are overlapped with each other, a problem may occur in that the newly configured model matrix has a structure of cycle 4.
For example, a weight of row or column for the sub-block constituting the conventional model matrix is ' 1' as illustrated in FIG. 4. In this case, the structure of cycle 4 cannot exist within one sub-block. However, if the model matrixes are overlapped with each other, the structure of cycle 4 may exist even within one sub-block. Also, even though the structure of cycle 4 does not exist in the model matrix which is previously suggested, the structure of cycle 4 may newly be generated by overlap.
The embodiment of the present invention suggests a method of preventing cycle 4 from being generated when model matrixes are overlapped with each other to configure a new model matrix. In other words, the model matrix according to the embodiment of the present invention or the parity check matrix generated from the model matrix according to the embodiment of the present invention does not have the structure of cycle 4. Namely, girth of the model matrix or the parity check matrix according to the embodiment of the present invention exceeds 4. Namely, the model matrix or the parity check matrix according to the embodiment of the present invention has girth greater than 6.
"Girth" means a cycle having the shortest length on the bipartite graph. In other words, the smallest cycle existing in one model matrix or parity check matrix is referred to as
"girth." If girth exceeds 4, a structure of cycle 4 does not exist in a corresponding model matrix or parity check matrix. Accordingly, it is possible to obtain improved performance during LDPC decoding.
Hereinafter, a method of preventing a structure of cycle 4 within one sub-block, a method of preventing a structure of cycle 4 within a plurality of sub-blocks, and a method of preventing girth 4 from being generated within one sub-block will be described. If the overlap scheme is not used, degree is determined as ' 1 ' within one sub-block having a shift number greater than '0.' Accordingly, the relation among different sub-blocks has been considered when girth is calculated. However, if overlap is used, sub-blocks having a shift number greater than '0' may be additionally provided. In other words, degree may be greater than '2' within one sub-block.
If two sub-blocks are additionally provided, it is checked whether girth 4 can be generated. Also, a method of mathematically expressing location of an element having a weight within one sub-block will be described.
FIG. 1OA illustrates a result of a sub-block expressed by a parity check matrix when a shift number of the sub-block is greater than 0. Also, FIG. 1OB illustrates location of an element having a weight in the sub-block of FIG. 1OA, which is expressed by an Equation.
As shown in a left side of FIG. 1OA, a shift number could be '0' and a size of one sub-block (otherwise referred to as 'z factor') could be '6.' In other words, one sub-block could be extended to a matrix of 6*6. In this case, the corresponding sub-block is extended to a parity check matrix as expressed in a left side of FIG 1OA. The corresponding sub-block is expressed as illustrated in a left side of FIG. 1OB. In other words, when the shift number is '0' and the size of the sub-block is '6,' location of an element having a weight in the corresponding sub-block is expressed by [x, x]. As shown in a right side of FIG. 1OA, when a shift number could be '3' and a size of one sub-block (otherwise referred to as 'z factor') could be '6,' the corresponding sub-block is expressed as illustrated in a right side of FIG. 1OB.
In other words, when the shift number is '3' and the size of the sub-block is '6,' location of an element having a weight in the corresponding sub-block is expressed by [x, (x- 3) mod 6], wherein 'mod' represents the modulo operation. In short, when the shift number 'ai' and the size of the sub-block is 'z,' an x coordinate value of the element having a weight in the corresponding sub-block is 'x' and its y coordinate value is '(x-aj) mod z.'
Hereinafter, the case where girth 4 is generated within one sub-block will be described.
When a first model matrix illustrated in the following Equation 8a and a second model matrix illustrated in the following Equation 8b are overlapped with each other, a new model matrix illustrated in the following Equation 8c can be obtained. In other words, the Equation 8a could be referred to as the first model matrix, and the Equation 8b could be referred to as the second model matrix. In this case, the first shift number (a{) of the first model matrix is overlapped with the second shift number (a2) of the second model matrix. In other words, the sub-block corresponding to the first shift number is overlapped with the sub- block corresponding to the second shift number.
However, since the element having a weight in the second model matrix is a2 only, the shift number x of the first model matrix is not overlapped with the shift number of the second model matrix.
[Equation 8a]
Figure imgf000017_0001
[Equation 8b] - 1 - 1 - 1
- 1 α2 - 1
- 1 - 1 - 1
Equation 8c]
Figure imgf000018_0001
The Equation 8c can be expressed as illustrated in FIG 11. FIG. 11 is a block diagram illustrating the case where girth 4 is generated within one sub-block.
As shown, an element 1101 represents an element generated in accordance with the first shift number aj. Also, an element 1102 represents an element generated in accordance with the second shift number a2. To generate girth 4, an element having a weight should be located in the form of quadrangle. Accordingly, an element 1103 is required. It is assumed that the element 1103 is shifted from the element 1102 by -a2 + a^ Since an element 1104 should have the same x coordinate value as that of the element 1103, its x coordinate value is determined as '(x-a2+a!) mod z.' In this case, since the element 1104 is generated in accordance with the shift number a2, its y coordinate value is determined as '(x-a2+a!-a2) mod z.'
If girth 4 is generated within one sub-block, the case where y coordinate value of the element 1101 and y coordinate value of the element 1104 are the same as each other should exist. Whether such a case exists will be explained by the following Equation 9. [Equation 9] 495
Figure imgf000019_0001
(a1-a2 +al-a2) mod z=0 (2αr2) mod z=0
In short, when (2ar2a2) mod z=0 which is the result of the Equation 9 is satisfied, girth 4 is generated. Accordingly, when the first shift number a\ corresponding to the first model matrix and the second shift number a2 corresponding to the second model matrix are overlapped with each other, girth 4 is not generated if 2(ai-a2) mod z is not satisfied.
If z is an odd number, the Equation 9 cannot be achieved regardless of aj and a2. In other words, if z is an odd number, the structure of FIG. 12 cannot exist regardless of values of at and a2.
However, if z is an even number, it is preferable that a multiple of z/2 is not obtained as the result of ai-a2. For example, in case of z=10, it is preferable to determine aj.a2 so as not to obtain 5, 10, 15, and 20. If a\ has been already determined, it is preferable that the value of a2 is adjusted so as not to satisfy the Equation 9.
If overlap is made in accordance with the embodiment of the present invention, there is no limitation in the number of model matrixes which undergo overlap. Hereinafter, a method of preventing girth 4 when three model matrixes are overlapped with one another will be described. FIG. 12 is a block diagram illustrating the case where girth 4 is generated within one sub-block. As shown in FIG. 12, an element 1201 represents an element generated in accordance with the second shift number a2. Also, an element 1202 represents an element generated in accordance with the third shift number a3.
To generate girth 4, an element having a weight should be located in the form of quadrangle. Accordingly, an element 1203 is required. It is assumed that the element 1203 is shifted from the element 1202 by a2 - a3. Since an element 1204 should have the same x coordinate value as that of the element 1203, its x coordinate value is determined as '(x+a2-a3) mod z.' In this case, if it is assumed that the element 1204 is generated in accordance with the first shift number ai, y coordinate value of the element 1204 is determined as '(x-a!+a2-a3) mod z.'
To generate girth 4 by overlapping three shift numbers, the case where y coordinate value of the element 1201 and y coordinate value of the element 1204 are the same as each other should exist. Whether such a case exists will be explained by the following Equation 10.
[Equation 10]
Figure imgf000020_0001
(aΛ+aΛ mod z=2a0 mod z
(a, +a3) mod z=2a2 mod z
In short, if which is the result of the
Equation 10 is satisfied, girth 4 is generated. Accordingly, when the three model matrixes are overlapped with one another, girth 4 is generated if a sum of the first shift number and the third shift number is twice of the second shift number. If three model matrixes are overlapped with one another, the first to third shift numbers are preferably determined so that modulo operation for the sum result of the first shift number and the third shift number is different from that for twice of the second shift number. At least any one of the first to third shift numbers could be a value which has been already determined. In this case, it is preferable to determine a shift number which does not satisfy the Equation 10, by adjusting the other values.
Hereinafter, the case where girth 4 is generated among different sub-blocks will be described.
When a first model matrix illustrated in the following Equation 11a and a second model matrix illustrated in the following Equation lib are overlapped with each other, a new model matrix illustrated in the following Equation lie can be obtained. In other words, the Equation 11a could be referred to as the first model matrix, and the Equation lib could be referred to as the second model matrix. In this case, the first shift number (ai) of the first model matrix is overlapped with the second shift number (a2) of the second model matrix. In other words, the sub-block corresponding to the first shift number is overlapped with the sub-block corresponding to the second shift number. Also, the fourth shift number fø) of the first model matrix is overlapped with the third shift number (a3) of the second model matrix. Each of the Equations 11a and lib does not have the structure of girth 4. However, if overlap is made, each of the Equations 11a and lib can have the structure of girth 4.
[Equation Ha]
- 1 - 1 - 1 - 1 ax a$ - 1 - 1 - 1
[Equation lib] - 1 - 1 - 1 - 1 a2 a3 - 1 - 1 - 1
[Equation lie]
Figure imgf000022_0001
The Equation lie can be expressed as illustrated in FIG. 13. FIG. 13 is a block diagram illustrating the case where girth 4 is generated within different sub-blocks.
As shown, an element 1301 represents an element generated in accordance with the first shift number ai. Also, an element 1302 represents an element generated in accordance with the second shift number a2. To generate girth 4, an element having a weight should be located in the form of quadrangle. Accordingly, an element 1303 is required. It is assumed that the element 1303 is shifted from the element 1302 by -a2 + a3. Since an element 1304 should have the same x coordinate value as that of the element 1303, its x coordinate value is determined as '(x-a2+a3) mod z.' In this case, if it is assumed that the element 1304 is generated in accordance with the shift number a4, y coordinate value of the element 1304 is determined as '(x-a2+ai-a4) mod z.1
If girth 4 is generated, the case where y coordinate value of the element 1301 and y coordinate value of the element 1304 are the same as each other should exist. Whether such a case exists will be explained by the following Equation 12.
[Equation 12] (x-aι)vcLθά z
Figure imgf000023_0001
z
(al-a2+a3-a4) mod, z=0
(^r12) mod z=(α43) mod z
In short, if (a1-a2) mod z=(<243) mod z which is the result of the Equation 12 is satisfied, girth 4 is generated.
Accordingly, when the model matrixes are overlapped with one another, the shift numbers are preferably determined so as not to satisfy the Equation 12. At least any one of the first to fourth shift numbers could be a value which has been already determined. In this case, it is preferable to determine a shift number which does not satisfy the Equation 12, by adjusting the other values.
In the aforementioned example, two shift numbers are overlapped with each other within one sub-block. There is no limitation in the number of shift numbers which undergo overlap. For example, to identify whether girth 4 is generated among different sub-blocks as three shift numbers are overlapped with one another within one sub-block, it is preferable to check whether girth 4 exists for two of the three shift numbers, as described above.
FIG. 13 relates to the case where girth 4 is generated within two sub-blocks which exist in a horizontal direction. Hereinafter, the case where girth 4 is generated within two sub-blocks which exist in a vertical direction will be described. When a first model matrix illustrated in the following Equation 13a and a second model matrix illustrated in the following Equation 13b are overlapped with each other, a new model matrix illustrated in the following Equation 13c can be obtained. In other words, the Equation 13a could be referred to as the first model matrix, and the Equation 13b could be referred to as the second model matrix. In this case, the first shift number (a^ of the first model matrix is overlapped with the second shift number (a2) of the second model matrix. In other words, the sub-block corresponding to the first shift number is overlapped with the sub-block corresponding to the second shift number. Also, the fourth shift number (a*) of the first model matrix is overlapped with the third shift number (a3) of the second model matrix.
Each of the Equations 13a and 13b does not have the structure of girth 4. However, if overlap is made, each of the Equations 13a and 13b can have the structure of girth 4.
[Equation 13 a]
- 1 aλ - 1 - 1 a3 - 1 - 1 - 1 - 1
[Equation 13b]
- 1 a2 - 1 - 1 a4 - 1 -1 - 1 - 1
[Equation 13 c]
Figure imgf000024_0001
The Equation 13c can be expressed as illustrated in FIG. 14.
FIG 14 is a block diagram illustrating the case where girth 4 is generated within two sub-blocks which exist in a vertical direction.
As shown, an element 1401 represents an element generated in accordance with the first shift number a\. Also, an element 1402 represents an element generated in accordance with the third shift number a3. To generate girth 4, an element having a weight should be located in the form of quadrangle. Accordingly, an element 1403 is required. It is assumed that the element 1403 is shifted from the element 1402 by -a3 + a4. Since an element 1404 should have the same x coordinate value as that of the element 1403, its x coordinate value is determined as '(x-a3+a4) mod z.' In this case, if it is assumed that the element 1404 is generated in accordance with the shift number a2, y coordinate value of the element 1404 is determined as '(x-a3+a4-a2) mod z.'
If girth 4 is generated, the case where y coordinate value of the element 1401 and y coordinate value of the element 1404 are the same as each other should exist. Whether such a case exists will be explained by the following Equation 14.
[Equation 14]
Figure imgf000025_0001
1324) mod z=0
Ca1-^3) mod Z=(U4-Ci2) mod z
The result of the Equation 14 is the same as that obtained by exchanging parameters of the Equation 12. Accordingly, girth 4 can be prevented from being generated in the same manner as that checked in the example of FIG. 13.
Hereinafter, the example that two matrixes are overlapped with each other in accordance with the method suggested in the embodiment of the present invention will be described.
FIG. 15 illustrates an example of two matrixes overlapped in accordance with the method suggested in the embodiment of the present invention. In FIG. 15, two shift numbers are overlapped with each other within one sub-block. As shown, the model matrix of FIG. 15 includes has a column weight of maximum 6.
FIG. 16 illustrates another example of two matrixes overlapped in accordance with the method suggested in the embodiment of the present invention. In FIG. 16, two shift numbers are overlapped with each other within two sub-blocks. As shown, the model matrix of FIG 16 includes has a column weight of maximum 8. FIG. 17 illustrates another example of two matrixes overlapped in accordance with the method suggested in the embodiment of the present invention. In FIG. 17, two shift numbers are overlapped with each other within two sub-blocks. As shown, the model matrix of FIG. 17 includes has a column weight of maximum 8.
FIG. 18 illustrates another example of two matrixes overlapped in accordance with the method suggested in the embodiment of the present invention. In FIG. 18, two shift numbers are overlapped with each other within four sub-blocks. In the aforementioned examples, girth 4 is not generated.
Hereinafter, the result of the embodiment according to the present invention will be identified in accordance with one of various methods of checking performance of an LDPC code.
Degree distribution suggested by Richardson et al. can be used to check performance of an LDPC code. Hereinafter, degree distribution of a parity check matrix adopted by the IEEE 802.16e standard will be calculated, and degree distribution of matrixes overlapped in accordance with the embodiment of the present invention will be compared. The parity check matrix adopted by the IEEE 802.16e standard has degree distribution as follows. [Equation 15]
2XIlXz = 22
2 2XllXz+3X8Xz+6X5Xz 76
3X8Xz = 24 3 2XllXz+3X8Xz+6X5Xz 76
6X5Xz = 30
6 2XllXz+3X8Xz+6X5Xz 76
Figure imgf000027_0001
represents a rate of a column having a weight of 2, represents a rate of
column having a weight of 3 , and represents a rate of a column having a weight of 6.
The matrix of FIG 15 according to the embodiment of the present invention has degree distribution as follows. [Equation 16]
λ - 2XIlXz _ 22
2 2X11XZ+3X8XZ+6X4XZ+7X1XZ 77
Figure imgf000027_0002
λδ~ 2XllXz+3X8Xz+6X4Xz+7XlXz ~ 77 ~3l2%
Figure imgf000028_0001
The matrix of FIG. 18 according to the embodiment of the present invention has degree distribution as follows. [Equation 17]
Figure imgf000028_0002
8X2Xz = 22_
L= . ...:.. :..... =≡r =20.0%
2X ll Xz+3 X8Xz+6X3 Xz.+8 X2Xz 80
It is noted from the Equation 16 and Equation 17 that degree distribution can be adjusted when overlap is made in accordance with the embodiment of the present invention.
For example, if degree distribution is adjusted using overlap, a model matrix approximate to optimized values, which have been suggested by Richardson et al., can be configured.
Hereinafter, the following Equation 18 illustrates an example that a model matrix with maximum degree distribution of 8 is adjusted to approximate to optimized values suggested by Richardson et al. [Equation 18] 2X12Xz = 24 =
2 2X12Xz+3X8Xz+8X4Xz 80 v '
3X8Xz 24 =30.0% (28.4%)
3 2X12Xz+3X8Xz+8X4Xz 80
8X4Xz = 32 =40.0% (41.6%)
8 2X12Xz+3X8Xz+8X4Xz. 80 v ;
In the Equation 18, numerical values in parenthesis represent optimized values suggested by Richardson et al.
It is noted that degree distribution of the model matrix is approximate to the optimized values suggested by Richardson et al. when the model matrix has degree distribution suggested in the Equation 18.
Hereinafter, the following Equation 19 illustrates an example that a model matrix with maximum degree distribution of 12 is adjusted to approximate to the optimized values suggested by Richardson et al. [Equation 19]
Figure imgf000029_0001
% =0.0% (l.i%) 4
λ5~2XllXz+3X9Xz+5XlXz+12X3Xz~90~5"6% (5"5%) λ8=o.α% (i.5%)
λ10==O.O% (1.3%)
Figure imgf000030_0001
In the Equation 19, numerical values in parenthesis represent optimized values suggested by Richardson et al.
It is noted that degree distribution of the model matrix is approximate to the optimized values suggested by Richardson et al. when the model matrix has degree distribution suggested in the Equation 19.
Hereinafter, the following Equation 20 illustrates an example that a model matrix with maximum degree distribution of 15 is adjusted to approximate to the optimized values suggested by Richardson et al. [Equation 20]
Figure imgf000030_0002
λr 2X12Xz+3X8Xz+4XlXz+5X2Xz+l5X2Xz ~ 90 ~U" % ^ 2^ λτ=0.0% (1.6%)
λM=0.0% (0.5%)
Figure imgf000031_0001
In the Equation 20, numerical values in parenthesis represent optimized values suggested by Richardson et al.
It is noted that degree distribution of the model matrix is approximate to the optimized values suggested by Richardson et al. when the model matrix has degree distribution suggested in the Equation 20.
Examples of the model matrixes according to degree distribution of the aforementioned Equations 18 to 20 will be described with reference to FIG. 19Ato FIG. 21C. FIG 19A to FIG. 21 C are block diagrams illustrating examples of the model matrixes according to the embodiment of the present invention.
When the model matrixes of FIG 19A and FIG 19B are overlapped with each other, the model matrix which satisfies the conditions of the Equation 18 to 20 can be obtained. FIG 19A illustrates the first model matrix, and FIG. 19B illustrates the second model matrix.
When the model matrixes of FIG 2OA and FIG 2OB are overlapped with each other, the model matrix which satisfies the conditions of the Equation 18 to 20 can be obtained. FIG 2OA illustrates the first model matrix, and FIG 2OB illustrates the second model matrix.
When the model matrixes of FIG 21 A and FIG. 2 IB are overlapped with each other, the model matrix which satisfies the conditions of the Equation 18 to 20 can be obtained. FIG. 21 A illustrates the first model matrix, and FIG. 21 B illustrates the second model matrix. If encoding is performed using the parity check matrixes generated by the embodiments of the present invention, input source data can be encoded using a generation matrix. In other words, input source data S1 Xk of k bits is encoded in the generation matrix and becomes a codeword X1Xk of n bits. The codeword x has a configuration of x=[s p]-[so, S1, ..., sk-1, po, P1, ... , pm-i], wherein (p0, pi, ... , pm-0 represents parity check bits and (s0, S1, ... , Sk-O represents systematic bits.
However, the encoding method using the generation matrix is very complicated.
Accordingly, in order to reduce such complexity, it is preferable to directly encode input source data by using the parity check matrix H without using the generation matrix. In other words, since x=[s p], H x = H [s p] = 0 can be obtained using a feature of H x = 0.
Since the parity check bit p can be obtained from H x = H - [S pJ = O, the codeword x=[s p] can be obtained.
A method of performing decoding using the parity check matrix generated in accordance with the embodiments of the present invention will be described. A decoder obtains an information bit 'x' from the codeword, which is the result of encoding, by using a feature of cHτ=0. In other words, assuming that the codeword received from the receiver is c', a value of c'HT is calculated. As a result, if the value of c'HT is 0, first k number of bits from c' are determined as the decoded information bit. If the value of c'HT is not 0, c' which satisfies c'HT of 0 is searched by using a sum-product algorithm through a graph and a belief propagation algorithm, thereby restoring the information bit x.
If the parity check matrix is configured in accordance with the present invention, it is advantageous in that, although overlap is used, the model matrix having excellent cycle features can newly be configured. It will be apparent to those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit and essential characteristics of the invention. Thus, the above embodiments are to be considered in all respects as illustrative and not restrictive. The scope of the invention should be determined by reasonable interpretation of the appended claims and all change which comes within the equivalent scope of the invention are included in the scope of the invention.
INDUSTRIAL APPLICABILITY
The present invention can be applied to every field where encoding and decoding are used, as well as a wireless communication system such as a mobile communication system or a wireless Internet system.

Claims

[CLAIMS]
1. A method of encoding data using a low density parity check (LDPC) code, the method comprising: providing an information bit stream for encoding; and encoding the information bit stream using a parity check matrix which includes a plurality of sub-blocks, wherein at least one of the sub-blocks of the parity check matrix is generated by overlapping at least two sub-blocks.
2. The method of claim 1, wherein a first sub-block among the at least two sub- blocks which undergo overlap is included in a first model matrix, and a second sub-block among the at least two sub-blocks is included in a second model matrix.
3. The method of claim 2, wherein a shift number of the second sub-block is determined by a shift number of the first sub-block and sizes of the first and second sub- blocks.
4. The method of claim 2, wherein a shift number of the second sub-block is determined by a result of a mathematical operation using a shift number of the first sub-block and a shift number of the second sub-block and sizes of the first and second sub-blocks.
5. The method of claim 2, wherein a shift number of the second sub-block is determined by modulo operation for sizes of the first and second sub-blocks and a result value obtained through mathematical operation using the shift number of the first sub-block and the shift number of the second sub-block.
6. The method of claim 2, wherein when a shift number of the first sub-block is ai, a shift number of the second sub-block is a2, and sizes of the first and second sub-blocks are z* z, ai and a2 are determined to satisfy the following Equation:
(2α1-2α2)mod z≠O
7. The method of claim 2, wherein when a shift number of the first sub-block is ai, a shift number of the second sub-block is a2, a shift number of the third sub-block is a3, a shift number of the fourth sub-block is a4, and the first, second, third, and fourth sub-blocks are z* z matrixes, al5 a2, a3 and a4 are determined to satisfy the following Equation:
Ca1-^2) mod z≠(a4-a3) mod z
8. The method of claim 2, wherein when a shift number of the first sub-block is ai, a shift number of the second sub-block is a2, a shift number of the third sub-block is a3, a shift number of the fourth sub-block is a4, and the first, second, third, and fourth sub-blocks are z* z matrixes, als a2, a3 and at are determined to satisfy the following Equation:
Ca1-^2) mod z≠(a3-a4) mod z
9. The method of claim 1 , wherein the parity check matrix has girth greater than 6.
10. A method of decoding data using a low density parity check (LDPC) code, the method comprising: receiving a codeword encoded by a parity check matrix which includes a plurality of sub-blocks; and decoding the codeword using the parity check matrix, wherein at least one of the sub-blocks of the parity check matrix is generated by overlapping at least two sub-blocks.
11. The method of claim 10, wherein a first sub-block among the at least two sub- blocks which undergo overlap is included in a first model matrix, and a second sub-block among the at least two sub-blocks is included in a second model matrix.
12. The method of claim 11, wherein a shift number of the second sub-block is determined by a shift number of the first sub-block and sizes of the first and second sub- blocks.
PCT/KR2008/001495 2007-03-15 2008-03-17 Method of encoding and decoding data using ldpc code WO2008111824A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070025505A KR101227514B1 (en) 2007-03-15 2007-03-15 Method for configuring a model matrix for Low Density Parity Check encoding and decoding
KR10-2007-0025505 2007-03-15

Publications (2)

Publication Number Publication Date
WO2008111824A2 true WO2008111824A2 (en) 2008-09-18
WO2008111824A3 WO2008111824A3 (en) 2009-02-19

Family

ID=39760226

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/001495 WO2008111824A2 (en) 2007-03-15 2008-03-17 Method of encoding and decoding data using ldpc code

Country Status (2)

Country Link
KR (1) KR101227514B1 (en)
WO (1) WO2008111824A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017177614A1 (en) * 2016-04-11 2017-10-19 中兴通讯股份有限公司 Encoding method and device, and decoding method and device
WO2018011455A1 (en) * 2016-07-13 2018-01-18 Nokia Technologies Oy Retransmission scheme for low-density parity check coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070157061A1 (en) * 2006-01-03 2007-07-05 Broadcom Corporation, A California Corporation Sub-matrix-based implementation of LDPC (Low Density Parity Check ) decoder
US20080082868A1 (en) * 2006-10-02 2008-04-03 Broadcom Corporation, A California Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143333B2 (en) 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
US7188297B2 (en) * 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data
KR20060032807A (en) * 2004-10-13 2006-04-18 삼성전자주식회사 Apparatus and method for generating low density parity check metrix

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070157061A1 (en) * 2006-01-03 2007-07-05 Broadcom Corporation, A California Corporation Sub-matrix-based implementation of LDPC (Low Density Parity Check ) decoder
US20080082868A1 (en) * 2006-10-02 2008-04-03 Broadcom Corporation, A California Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017177614A1 (en) * 2016-04-11 2017-10-19 中兴通讯股份有限公司 Encoding method and device, and decoding method and device
CN107294651A (en) * 2016-04-11 2017-10-24 中兴通讯股份有限公司 Coding method and device, interpretation method and device
WO2018011455A1 (en) * 2016-07-13 2018-01-18 Nokia Technologies Oy Retransmission scheme for low-density parity check coding
US10778252B2 (en) 2016-07-13 2020-09-15 Nokia Technologies Oy Retransmission scheme for low-density parity check coding

Also Published As

Publication number Publication date
WO2008111824A3 (en) 2009-02-19
KR101227514B1 (en) 2013-01-31
KR20080084179A (en) 2008-09-19

Similar Documents

Publication Publication Date Title
EP2025063B1 (en) Method of encoding/decoding using low density check code matrix
US8356227B2 (en) Method of encoding/decoding using low density check code matrix
US8201046B2 (en) Method of encoding/decoding using low density check code matrix
US8689088B2 (en) Method of encoding data using a low density parity check code
US8086929B2 (en) Method of executing LDPC coding using parity check matrix
CN1993892B (en) Apparatus and method for encoding and decoding a block low density parity check code
KR102257962B1 (en) Communication method and communication device
KR20210030848A (en) Apparatus and method for decoding of data in communication or broadcasting system
WO2008111824A2 (en) Method of encoding and decoding data using ldpc code
KR101265636B1 (en) method of performing a Low-density parity-check codes decoding using a model matrix
WO2008117994A1 (en) Method of encoding data using a low density parity check code
KR101187070B1 (en) Method for encoding using parity check matrix
KR101191197B1 (en) Method of decoding using a plurality of parity check matrices
KR101137349B1 (en) Method of encoding using a plurality of parity check matrices
KR102552235B1 (en) Communication method and communication device
KR101221911B1 (en) Method for a retransmission using a Low Density Parity Check code
KR101221897B1 (en) LDPC encoder
KR20080045020A (en) Method of ldpc encoding using a parity check matrix

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08723532

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08723532

Country of ref document: EP

Kind code of ref document: A2