US8301961B2 - Decoding method for low density generator matrix code - Google Patents
Decoding method for low density generator matrix code Download PDFInfo
- Publication number
- US8301961B2 US8301961B2 US12/747,936 US74793608A US8301961B2 US 8301961 B2 US8301961 B2 US 8301961B2 US 74793608 A US74793608 A US 74793608A US 8301961 B2 US8301961 B2 US 8301961B2
- Authority
- US
- United States
- Prior art keywords
- matrix
- idgct
- rows
- square
- triangular matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 218
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000008030 elimination Effects 0.000 claims description 18
- 238000003379 elimination reaction Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Definitions
- the present invention relates to the field of data encoding and decoding, and more particularly, to a method for decoding a low density generator matrix code.
- Erasure channel is an important channel model. During data transmission, if an error occurs in check of a data packet received by a receiver, then erroneous data segments will be discarded, i.e., erased. Transmitting files over the Internet is a mode of communication by data packet. Generally, each data packet is either received by the receiver correctly or not received by the receiver at all. In the transmission control protocol (TCP), error detection and retransmission mechanism is adopted against packet loss in network, that is, feedback channel from an input terminal to an output terminal is used to control data packets that are required to be retransmitted.
- TCP transmission control protocol
- the receiver When the receiver detects packet loss, it generates a retransmission control signal until a complete data packet is received; and when the receiver receives the data packet, it also generates a receiving acknowledgement signal.
- a sender tracks each data packet until the fed back acknowledgement signal is received, otherwise the acknowledgement signal will be retransmitted.
- a data broadcast service based on streaming mode and file downloading mode is a point-to-multipoint service, in which feedback is not allowed and traditional error detection and retransmission mechanism cannot be used, and forward error correction (FEC) is required to be used to ensure reliable transmission of data.
- the FEC in a classical application layer includes Reed-Solomon (RS) codes and digital fountain codes.
- RS codes with higher encoding and decoding complexity typically apply to only cases where code length is smaller.
- Luby transform (LT) codes and Raptor codes are two types of practically applicable digital fountain codes.
- the LT codes have linear encoding and decoding time, which is an essential improvement as compared to the RS codes, and the Raptor codes use pre-encoding technology and thus have higher decoding efficiency.
- the multimedia broadcast/multicast service (MBMS) and digital video broadcasting (DVB) of the 3 rd Generation Partnership Project (3GPP) uses the Raptor codes from Digital Fountain Company as their FEC encoding scheme.
- the code is called a system code.
- the encoding process is a process where the K information bits generate a code length with N bits, and N-K check bits are added in order to achieve error detection and correction.
- the LT codes do not support the encoding mode of the system code, thus it is difficult for the LT codes to satisfy certain actual FEC coding requirements.
- the Raptor codes support the system code; however, the Raptor codes need an individual pre-encoding process, i.e., a pre-encoding matrix, thus the encoding is more complex.
- LDGC low density generator matrix code
- the LDGC is a linear block code and non-zero elements in its generator matrix (encoding matrix) are generally sparse.
- the LDGC is also a system code.
- FIG. 1 illustrates a schematic diagram of a generator matrix of the LDGC.
- a square matrix corresponding to the first L rows in the generator matrix G Igdc of the LDGC is typically an upper triangular matrix or a lower triangular matrix, and its matrix inversion may be implemented by an iterative method.
- x and y in FIG. 1 may be 0.
- the encoding of the LDGC is to get an intermediate variable at first using a corresponding relationship between the information bits (data to be transmitted) and the intermediate variable in a system code and then to obtain an encoded code word by multiplying a generator matrix by the intermediate variable.
- a code word sequence R is received by a receiver.
- the decoding process of the LCGC is to get the intermediate variable using the generator matrix and then get the information bit based on a transformation relation between the information bits and the intermediate variable.
- the most critical step is to carry out Gaussian elimination, and the speed of the Gaussian elimination affects directly the decoding speed of the LDGC.
- G Idgct is defined as the transpose of G Idgc
- I t is defined as the transpose of I
- the received sequence R is defined as a column vector.
- the decoding of the LDGC uses a standard Gaussian elimination method in prior art such that the efficiency of the decoding is lower.
- a technical problem to be solved by the present invention is to provide a method for decoding the LDGC with high efficiency to overcome the deficiency of prior art.
- the present invention provides a method for decoding a low density generator matrix code (LDGC) so as to decode transmitted original information bits encoded in LDGC code.
- the method comprises the following steps:
- the method may also be characterized in that it comprises the following step between the step B and C: determining whether G f is a full rank matrix, and performing the step C if G f is a full rank, otherwise decoding fails and the method ends.
- the method may also be characterized in that whether or not G f is a full rank matrix is determined by determining whether the rank of a matrix G part composed by the H th row to the last row and the H th column to the last column in G f equals to L ⁇ H, where H is the first erased part in R.
- step C comprises following sub-steps:
- the method may also be characterized in that in the step C1, I l is obtained using a Gaussian elimination method.
- the method may also be characterized in that:
- the method may also be characterized in that the M-order square matrix is a lower triangular matrix or an upper triangular matrix.
- the method may also be characterized in that the generator matrix G Idgct of the LDGC is a sparse matrix with N rows and L columns; a square matrix corresponding to the first L rows of G Idgct is a lower triangular matrix or the square matrix may be transformed to a lower triangular matrix; N>L; or a square matrix corresponding to the first L rows of G Idgct is an upper triangular matrix or the square matrix may be transformed to a upper triangular matrix.
- the method may also be characterized in that: in the step B, based on the deleted row serial numbers, shifting columns with column serial numbers being the same as the row serial numbers in G e to the last NE columns of the matrix, the original positions of the columns are filled by corresponding subsequent columns successively.
- diagonalization feature of a structured coding matrix of the LDGC may be fully utilized as compared to the decoding method using the Gaussian elimination directly so as to decrease greatly the complexity of the decoding and accelerate the speed of the decoding such that the LDGC may be applied to an high-speed communication system.
- FIG. 1 is a schematic diagram of a generator matrix of the LDGC
- FIG. 2 is a flow chart of a decoding method of the low density generator matrix code in accordance with the present invention
- FIG. 3 is a schematic diagram of erasing the generator matrix according to conditions of erasing the received code word sequence
- FIG. 4 is a schematic diagram of permuting columns of the erased generator matrix G e ;
- FIG. 5 and FIG. 6 are schematic diagrams of determining whether the generator matrix with the columns being permuted is a full rank matrix and performing Gaussian elimination for the same.
- the basic idea of the present invention is to use diagonalization feature of a structured generator matrix of the LDGC to permute columns of the erased generator matrix such that an M-order square matrix with (0, 0), i.e., an element in the 0 th row and 0 th column being a vertex is a lower triangular matrix.
- FIG. 2 is a flow chart of a decoding method of the low density generator matrix code in accordance with the present invention. As shown in FIG. 2 , the method comprises the following steps:
- a known sequence with a length of d L ⁇ K, such as 1, 1, . . . , 1, is added after a received bit signal stream transmitted via an erasure channel to form an input bit sequence R of a decoder, where K is the length of original information bits and L is the coding length of the filled original information bits.
- the corresponding row of the generator matrix G Idgct of the LDGC is erased (deleted) according to conditions of erasing the received code word sequence to obtain the erased generator matrix G e and an erased code word sequence R e .
- FIG. 3 is a schematic diagram of erasing the generator matrix according to conditions of erasing the received code word sequence. As shown in FIG. 3 , the first L rows of the erased generator matrix G e is no longer a lower triangular square matrix.
- the erased symbols ⁇ r i , r i+1 , . . . , r i+x1 ⁇ and ⁇ r j , r j+1 , . . . , r j+x2 ⁇ in R are needed to be deleted and their corresponding positions are filled by subsequence symbols in R successively to obtain the erased code word sequence R e .
- FIG. 4 is a schematic diagram of permuting the columns of the erased generator matrix G e .
- the columns of G e are permuted, the columns with column serial numbers belonging to X set in G e are shifted to the rightmost of G e , and the vacated positions of the corresponding columns are filled by the subsequent columns with column serial numbers not belonging to X set to obtain the permuted generator matrix G f .
- I tmp In order to record the permutation of I t for recovery, an array I tmp with a length of L is needed to be configured.
- I tmp may be initialized to be [0, 1, 2, . . . , L ⁇ 1] or other values, which are not be limited herein.
- elements of the array I tmp are permutated accordingly, that is, the ⁇ i, i+1, . . . , i+x1, j, j+1, . . . , j+x2 ⁇ -th elements in I tmp are shifted to the end of I tmp .
- This feature may allow computation to be reduced in subsequent decoding using the Gaussian elimination method, thereby improving greatly operation speed.
- the rank of G f is calculated to determine whether it is a full rank matrix.
- the first erased row in G Idgct is noted as the H th row, and the 0 th to (H ⁇ 1) th rows in G f must be linearly independent.
- the rank of a matrix G part composed by the H th row to the last row and the H th column to the last column in G f equals to L ⁇ H. If the rank of G part equals to L ⁇ H, then this shows that G f is a full rank matrix.
- FIG. 5 is a schematic diagram of determining whether the generator matrix with the columns being permuted is a full rank matrix and performing Gaussian elimination for the same.
- G part may be represented as G f (H: N ⁇ H, H: L), i.e., a matrix corresponding to an area enclosed by thick dashed line in FIG. 5 .
- the rank of G part may be determined by performing Gaussian elimination for G part . After the Gaussian elimination is completed, G part is converted into a matrix G part2 with an upper triangular shape if the rank of G part equals to L ⁇ H. The step described above make the matrix G f to be converted into the matrix G g .
- G f is a full rank matrix (i.e., the rank of G part is L ⁇ H)
- the Gaussian elimination is required to performed on only the 0 th to the (H ⁇ 1) th columns.
- the Gaussian elimination is performed on only the 0 th to the (H ⁇ 1) th columns in G g to obtain G h with an upper triangular shape.
- the intermediate permutation variable I l may be solved out based on the upper triangular shape of G h . Further, I l may be inversely permuted to obtain I t based on the array I tmp recorded in the step 103 .
- the above embodiment may also have various transform modes.
- using the decoding method in accordance with the present invention for the generator matrix of the LDGC may improving processing speed of the Gaussian elimination and the Gaussian elimination is not required to be performed on the entire permuted generator matrix G f in determining whether it is a full rank matrix, thereby improving the speed of full rank determination.
- the case where the matrix is not a full rank and can not be decoded correctly may be discovered in time and processed accordingly.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710195761 | 2007-12-14 | ||
CN2007101957617A CN101459429B (zh) | 2007-12-14 | 2007-12-14 | 一种低密度生成矩阵码的译码方法 |
CN200710195761.7 | 2007-12-14 | ||
PCT/CN2008/070858 WO2009076800A1 (zh) | 2007-12-14 | 2008-04-30 | 一种低密度生成矩阵码的译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20100275091A1 US20100275091A1 (en) | 2010-10-28 |
US8301961B2 true US8301961B2 (en) | 2012-10-30 |
Family
ID=40770086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/747,936 Active 2029-05-31 US8301961B2 (en) | 2007-12-14 | 2008-04-30 | Decoding method for low density generator matrix code |
Country Status (3)
Country | Link |
---|---|
US (1) | US8301961B2 (zh) |
CN (1) | CN101459429B (zh) |
WO (1) | WO2009076800A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9264181B2 (en) | 2013-12-30 | 2016-02-16 | Industrial Technology Research Institute | Communication system, method and receiver applicable thereto |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459430B (zh) * | 2007-12-14 | 2010-12-08 | 中兴通讯股份有限公司 | 低密度生成矩阵码的编码方法及装置 |
CN101645753B (zh) * | 2009-09-03 | 2013-01-09 | 电子科技大学 | 一种无速率码的编译码方法 |
CN102546087B (zh) * | 2010-12-31 | 2015-06-10 | 联芯科技有限公司 | 一种业务数据的纠删方法、装置及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054959A1 (en) * | 2002-09-18 | 2004-03-18 | Yufei Blankenship | Method and apparatus for encoding data |
US20050154958A1 (en) * | 2004-01-12 | 2005-07-14 | Bo Xia | Method and apparatus for varying lengths of low density party check codewords |
US20050216820A1 (en) * | 2004-03-24 | 2005-09-29 | Samsung Electronics Co., Ltd. | Channel encoding apparatus and method |
CN1855730A (zh) | 2005-04-06 | 2006-11-01 | 三星电子株式会社 | 用于编码/解码级联的低密度生成器矩阵码的方法 |
US20070011569A1 (en) * | 2005-06-20 | 2007-01-11 | The Regents Of The University Of California | Variable-rate low-density parity check codes with constant blocklength |
WO2007075043A2 (en) | 2005-12-27 | 2007-07-05 | Lg Electronics Inc. | Methods and apparatuses for decoding or encoding using channel code or ldpc |
US20090158117A1 (en) * | 2003-10-27 | 2009-06-18 | The Directv Group, Inc. | Method and system for providing long and short block length low density parity check (ldpc) codes |
-
2007
- 2007-12-14 CN CN2007101957617A patent/CN101459429B/zh active Active
-
2008
- 2008-04-30 US US12/747,936 patent/US8301961B2/en active Active
- 2008-04-30 WO PCT/CN2008/070858 patent/WO2009076800A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054959A1 (en) * | 2002-09-18 | 2004-03-18 | Yufei Blankenship | Method and apparatus for encoding data |
US20090158117A1 (en) * | 2003-10-27 | 2009-06-18 | The Directv Group, Inc. | Method and system for providing long and short block length low density parity check (ldpc) codes |
US20050154958A1 (en) * | 2004-01-12 | 2005-07-14 | Bo Xia | Method and apparatus for varying lengths of low density party check codewords |
US20050216820A1 (en) * | 2004-03-24 | 2005-09-29 | Samsung Electronics Co., Ltd. | Channel encoding apparatus and method |
CN1756090A (zh) | 2004-03-24 | 2006-04-05 | 三星电子株式会社 | 信道编码装置和方法 |
CN1855730A (zh) | 2005-04-06 | 2006-11-01 | 三星电子株式会社 | 用于编码/解码级联的低密度生成器矩阵码的方法 |
US20070245211A1 (en) | 2005-04-06 | 2007-10-18 | Samsung Electronics Co., Ltd. | Method for encoding/decoding concatenated LDGM code |
US20070011569A1 (en) * | 2005-06-20 | 2007-01-11 | The Regents Of The University Of California | Variable-rate low-density parity check codes with constant blocklength |
WO2007075043A2 (en) | 2005-12-27 | 2007-07-05 | Lg Electronics Inc. | Methods and apparatuses for decoding or encoding using channel code or ldpc |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9264181B2 (en) | 2013-12-30 | 2016-02-16 | Industrial Technology Research Institute | Communication system, method and receiver applicable thereto |
Also Published As
Publication number | Publication date |
---|---|
CN101459429A (zh) | 2009-06-17 |
CN101459429B (zh) | 2010-07-14 |
US20100275091A1 (en) | 2010-10-28 |
WO2009076800A1 (zh) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9876607B2 (en) | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes | |
US8370700B2 (en) | Coding method, coding device, decoding method and decoding device for low density generator matrix code | |
US8737519B2 (en) | Apparatus and method for channel coding in a communication system | |
US8281209B2 (en) | Encoding method and device for low density generator matrix codes | |
US8291288B2 (en) | Method and device for encoding the low density generator matrix code | |
RU2461970C2 (ru) | Способ и устройство для приема данных | |
CN101582744A (zh) | 一种基于迭代方法的rs喷泉码的编译码方法 | |
KR101615384B1 (ko) | 통신 시스템에서의 채널 부호화 장치 및 방법 | |
US7231575B2 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
US8301961B2 (en) | Decoding method for low density generator matrix code | |
JPWO2008075627A1 (ja) | 符号化装置、符号化方法、符号化復号装置及び通信装置 | |
CN113098661B (zh) | 一种基于喷泉码的卫星信道下的文件传输方法 | |
CN101494517B (zh) | 一种数据传输方法及装置 | |
RU2461963C2 (ru) | Способ и устройство для декодирования кода с генераторной матрицей низкой плотности | |
EP2234304B1 (en) | Method for recovery of lost and/ or corrupted data | |
CN106533611A (zh) | 一种卷积码的数据发送方法及装置 | |
JP4224818B2 (ja) | 符号化方法及び符号化装置並びに復号方法及び復号装置 | |
Kukieattikool et al. | Variable‐rate staircase codes with RS component codes for optical wireless transmission | |
Alloum et al. | On locality of Generalized Reed-Muller codes over the broadcast erasure channel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ZTE CORPORATION, CHINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YUAN, ZHIFENG;XU, JUN;XU, JIN;REEL/FRAME:024528/0476 Effective date: 20100515 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |