KR20090086744A - Method of encoding/decoding data using ldpc code and parity check matrix therefor - Google Patents

Method of encoding/decoding data using ldpc code and parity check matrix therefor Download PDF

Info

Publication number
KR20090086744A
KR20090086744A KR1020080012191A KR20080012191A KR20090086744A KR 20090086744 A KR20090086744 A KR 20090086744A KR 1020080012191 A KR1020080012191 A KR 1020080012191A KR 20080012191 A KR20080012191 A KR 20080012191A KR 20090086744 A KR20090086744 A KR 20090086744A
Authority
KR
South Korea
Prior art keywords
matrix
parity check
rows
check matrix
sub
Prior art date
Application number
KR1020080012191A
Other languages
Korean (ko)
Other versions
KR101405961B1 (en
Inventor
정지욱
이석우
오민석
Original Assignee
엘지전자 주식회사
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 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020080012191A priority Critical patent/KR101405961B1/en
Publication of KR20090086744A publication Critical patent/KR20090086744A/en
Application granted granted Critical
Publication of KR101405961B1 publication Critical patent/KR101405961B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block 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

Landscapes

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

Abstract

An encoding/decoding method using a LDPC(Low Density Parity Check) code and a parity check matrix for the same are provided to minimize the number of cycles such as 4-cycle or 6-cycle by expanding a model matrix. A structure of a parity check matrix is used in case an input data row is encoded by a LDPC coding method or the encoded codeword is decoded. The structure of the parity check matrix includes at least two or more rows and a weight addition part. At least two or more rows are generated by dividing at least one or more rows of a base parity check matrix displayed into a form of a model matrix. The weight addition part is generated by replacing at least one or more sub matrixes which do not have a weight with at least one or more sub matrixes which have the weight.

Description

LDPC 코드를 이용한 부호화/복호화 방법 및 그를 위한 패리터 검사 행렬 {Method of encoding/decoding data using LDPC code and parity check matrix therefor}Method of encoding / decoding data using LDPC code and parity check matrix therefor {Method of encoding / decoding data using LDPC code and parity check matrix therefor}

본 발명은 부호화 및 복호화 방법에 관한 것으로서, 보다 상세하게는, LDPC 코드를 이용한 부호화/복호화 방법 및 그를 위한 패리터 검사 행렬에 관한 것이다.The present invention relates to an encoding and decoding method, and more particularly, to an encoding / decoding method using an LDPC code and a parity check matrix therefor.

일반적으로 부호화(encoding)라 함은 송신측에서 송신된 데이터가 통신 채널을 통하여 전송되는 과정에서 발생되는 신호의 일그러짐, 손실 등에 의한 오류의 발생에도 불구하고 수신측에서 원래의 데이터를 복원할 수 있도록 하기 위하여 송신측에서 데이터 처리를 하는 과정을 의미한다. 복호화(decoding)은 부호화되어 송신된 신호를 수신측에서 원래의 데이터로 복원하는 과정이다.In general, encoding means that the receiver can restore the original data in spite of an error caused by distortion or loss of the signal generated in the process of transmitting the data transmitted from the transmitter through the communication channel. In order to do so, it means a process of data processing at the transmitting side. Decoding is a process of restoring the encoded and transmitted signal to the original data at the receiving side.

최근에 LDPC 코드를 이용한 부호화 방법이 부각되고 있다. LDPC 코드는 패리티 검사 행렬(parity check matrix) Η의 원소(element)들의 대부분이 0이어서 저밀도(low density)인 선형 블록 부호(linear block code)로서 1962년 갤러거(Gallager)에 의해 제안되었다. LDPC 부호는 매우 복잡하여 제안 당시의 하드웨어 기술로는 구현이 불가능하였기 때문에 잊혀져 있다가 1995년에 재발견되어 성능 이 매우 우수함이 입증된 이래로 최근에 그에 관한 연구가 활발히 진행되고 있는 상황이다. (참고문헌: [1] Robert G. Gallager, "Low-Density Parity-Check Codes", The MIT Press, September 15, 1963. [2] D.J.C.Mackay, Good error-correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, IT-45, pp.399-431(1999))Recently, a coding method using an LDPC code has emerged. The LDPC code was proposed by Gallagher in 1962 as a linear block code of low density, where most of the elements of the parity check matrix Η are zero. The LDPC code is so complex that it has been forgotten because it was impossible to implement with the hardware technology at the time of the proposal. Since it was rediscovered in 1995 and proved to have excellent performance, it has been actively studied. (Reference: [1] Robert G. Gallager, "Low-Density Parity-Check Codes", The MIT Press, September 15, 1963. [2] DJC Mackay, Good error-correcting codes based on very sparse matrices, IEEE Trans Inform.Theory, IT-45, pp. 399-431 (1999)).

LDPC 코드의 패리티 검사 행렬은 1의 개수가 매우 적기 때문에 매우 큰 블록 크기에서도 반복 복호를 통하여 복호가 가능하여 블록 크기가 매우 커지면 터보 코드처럼 섀넌(Shannon)의 채널 용량 한계에 근접하는 성능을 보인다.Since the parity check matrix of the LDPC code is very small, it can be decoded through iterative decoding even in a very large block size. When the block size becomes very large, the performance is close to Shannon's channel capacity limit like a turbo code.

LDPC 코드는 (n-k)×n 패리티 검사 행렬 Η에 의해 설명될 수 있다. 상기 패리티 검사 행렬 Η에 대응하는 생성 행렬(generator matrix) G는 다음의 수학식1에 의해 구할 수 있다.The LDPC code can be described by the (n-k) × n parity check matrix Η. The generator matrix 하는 corresponding to the parity check matrix ƒ can be obtained from Equation 1 below.

ΗㆍG = 0Η · G = 0

LDPC 코드를 이용한 부호화 및 복호화 방법에 있어서는 송신측에서 상기 패리티 검사 행렬 Η와 수학식1의 관계에 있는 상기 생성 행렬 G를 이용하여 다음의 수학식2에 의해 입력 데이터를 부호화한다.In the encoding and decoding method using the LDPC code, the transmitting side encodes the input data by the following equation (2) by using the generation matrix 에 in the relation between the parity check matrix ƒ and equation (1).

c = Gㆍu (여기서, c는 코드워드(codeword)이고, u는 데이터 프레임임.)c = u and u (where c is a codeword and u is a data frame)

상기한 바와 같이, LDPC 코드를 이용한 부호화 방법에서는 상기 패리티 검사 행렬 Η가 가장 중요한 요소라 할 수 있다. 상기 패리티 검사 행렬 Η는 대략 1000 ×2000 정도의 크기를 갖기 때문에 부호화 및 복호화 과정에서 많은 연산이 요구되고, 구현이 매우 복잡하며, 많은 저장 공간을 요구한다.As described above, in the coding method using the LDPC code, the parity check matrix ƒ is the most important factor. Since the parity check matrix ƒ has a size of about 1000 × 2000, many operations are required in the encoding and decoding process, implementation is very complicated, and requires a lot of storage space.

일반적으로 패리티 검사 행렬 H에 더 많은 무게(weight)를 부가하는 것은, 패리티 검사 방정식들(parity check equations)에 더 많은 변수를 부가하는 것이기 때문에 LDPC 코드에 의한 부호화 및 복호화 방법에서 더 좋은 성능을 발휘할 수 있다. 여기서, 무게란 패리티 검사 행렬에서 각 열(column) 또는 행(row)에 포함된 '1'의 개수를 의미한다. 그러나, 패리티 검사 행렬 H에 더 많은 무게를 부가하면 패리티 검사 행렬 전체에 4-싸이클(4-cycle)이나 6-싸이클(6-cycle)을 형성하는 경우가 많아져 이에 따라 LDPC 코드에 의한 부호화 및 복호화 과정의 복잡도를 증가시키고 성능을 저하시킬 수 있는 위험성도 따른다.In general, adding more weight to the parity check matrix H means adding more variables to the parity check equations, so it will perform better in the encoding and decoding method by LDPC code. Can be. Here, the weight means the number of '1's included in each column or row in the parity check matrix. However, if more weight is added to the parity check matrix H, 4-cycle or 6-cycle is often formed in the parity check matrix. There is also a risk of increasing the complexity of the decoding process and reducing performance.

4-싸이클은 패리티 검사 행렬 Η의 두 행이 두 개의 지점에 동시에 1을 갖는 경우를 의미하고, 6-싸이클은 임의의 세 행 중에서 선택된 모든 조합 가능한 두 개의 행이 같은 지점에 1을 갖는 경우를 의미한다. 패리티 검사 행렬이 4-싸이클이나 6-싸이클을 많이 갖고 있다고 하는 것은 부호화 또는 복호화 성능이 저하될 가능성이 높음을 의미한다. 4-cycle means the case where two rows of the parity check matrix Η have 1 at two points at the same time, and 6-cycle means the case where all two selectable combinations of any three rows have 1 at the same point. it means. The fact that the parity check matrix has many 4-cycles or 6-cycles means that the encoding or decoding performance is likely to be degraded.

상기한 바와 같이, LDPC 코드를 이용한 부호화 및 복호화 방법에 있어서 패리티 검사 행렬 각 행 또는 열의 무게를 어떻게 배분할 것인지와 4-싸이클이나 6-싸이클과 등과 같은 싸이클을 어떻게 제어할 것인지는 부호화 및 복호화 성능에 지대한 영향을 미치게 된다.As described above, in the encoding and decoding method using the LDPC code, how to distribute the weight of each row or column of the parity check matrix and how to control the cycle such as 4-cycle or 6-cycle is very important for the encoding and decoding performance. Will be affected.

본 발명은 상기한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 본 발명의 목적은 LDPC 코드를 이용한 부호화 및 복호화 방법에서 그 성능을 향상시킬 수 있는 방안을 제공하는 것이다.The present invention has been made to solve the problems of the prior art as described above, an object of the present invention is to provide a method for improving the performance in the encoding and decoding method using the LDPC code.

본 발명의 다른 목적은 패리티 검사 행렬의 행 또는 열의 무게 및 싸이클 수를 용이하게 제어할 수 있는 방안을 제공하는 것이다.Another object of the present invention is to provide a method for easily controlling the weight and the number of cycles of a row or column of a parity check matrix.

본 발명의 일 양상에 따르는 패리티 검사 행렬은 모델 행렬 형식으로 표현되는 기본 모델 행렬의 적어도 하나 이상의 행의 각각을 분할함으로써 생성된 적어도 둘 이상의 행들과, 상기 적어도 둘 이상의 행들의 정보어 부분의 무게를 갖지 않는 적어도 하나 이상의 서브 행렬을 무게를 갖는 적어도 하나 이상의 서브 행렬로 대체함으로써 생성되는 무게 추가 부분 및 상기 적어도 둘 이상의 행들 각각의 패리티 부분에 적어도 하나 이상의 서브 행렬을 추가함으로써 생성되는 추가 패리티 부분 중 적어도 하나를 포함한다. 상기 무게 추가 부분 및 추가 패리티 부분을 생성하는 경우에 싸이클 4와 싸이클 6의 특성을 고려하는 것이 바람직하다. 즉, 모델 행렬을 확장함으로써 생성되는 전체 패리티 검사 행렬의 측면에서 싸이클 4와 싸이클 6의 개수가 최소화될 수 있도록 상기 무게 추가 부분 및 추가 패리티 부분을 생성하는 것이 바람직하다. The parity check matrix in accordance with an aspect of the present invention comprises at least two or more rows generated by dividing each of at least one or more rows of the base model matrix represented in the form of a model matrix, and the weight of the information word portion of the at least two or more rows. At least one of a weight addition portion generated by replacing at least one or more sub-matrixes having no weight with at least one sub-matrix having a weight and an additional parity portion generated by adding at least one sub-matrix to the parity portion of each of the at least two or more rows. It includes one. It is desirable to consider the characteristics of cycle 4 and cycle 6 when generating the weight addition portion and the additional parity portion. That is, it is preferable to generate the weight addition part and the additional parity part so that the number of cycles 4 and 6 can be minimized in terms of the total parity check matrix generated by extending the model matrix.

본 발명에 따르면 다음과 같은 효과가 있다. According to the present invention has the following effects.

첫째, 패리티 검사 행렬 생성 시에 무게의 분배 및 4-싸이클이나 6-싸이클 등과 같은 싸이클 수의 제어가 가능하다.First, the weight distribution and the number of cycles such as 4-cycle or 6-cycle can be controlled when generating the parity check matrix.

둘째, LDPC 코드를 이용한 부호화 및 복호화 효율을 증대시킬 수 있다.Second, the coding and decoding efficiency using the LDPC code can be increased.

이하에서 첨부된 도면을 참조하여 설명되는 본 발명의 실시예들에 의해 본 발명의 구성, 작용 및 다른 특징들이 용이하게 이해될 수 있을 것이다.The construction, operation, and other features of the present invention will be readily understood by embodiments of the present invention described below with reference to the accompanying drawings.

본 발명의 실시예들은 구조화된(structured) LDPC 부호화 및 복호화 방법을 전제로 하므로, 이하에서 구조화된 LDPC 부호화 및 복호화 방법에 대해 설명하도록 한다.Since embodiments of the present invention assume a structured LDPC encoding and decoding method, a structured LDPC encoding and decoding method will be described below.

LDPC 코드를 사용하기 위해서는 패리티 검사 행렬을 사용한다. 전술한 바와 같이, 패리티 검사 행렬은 이진 행렬(binary matrix)로서 대부분의 원소(element)는 '0'이고, 일부는 '1'이다. 실제 부호화 또는 복호화에 사용되는 패리티 검사 행렬의 크기는 105 비트 이상이기 때문에 패리티 검사 행렬을 저장하기 위해 대용량의 메모리가 필요하다. To use the LDPC code, a parity check matrix is used. As described above, the parity check matrix is a binary matrix, where most elements are '0' and some are '1'. Since the size of the parity check matrix used for actual encoding or decoding is 10 5 bits or more, a large memory is required to store the parity check matrix.

구조화된 LDPC 부호화 기법에서는 패리티 검사 행렬은 모델 행렬(model matrix)의 형식으로 저장된다. 모델 행렬은 각각 특정 서브 행렬(sub-matrix)을 지시하는 다수의 인덱스들(indexes)로 이루어진다. 즉, 각 서브 행렬은 일정 크기(z×z)의 행렬로서 특정 인덱스에 의해 표현된다. 부호화 또는 복호화 수행 시에 상기 모델 행렬의 각 인덱스를 그 인덱스가 지시하는 서브 행렬로 대체함으로써 패리티 검사 행렬로 확장되어 사용된다.In the structured LDPC coding technique, the parity check matrix is stored in the form of a model matrix. The model matrix consists of a number of indexes, each pointing to a particular sub-matrix. In other words, each sub-matrix is represented by a specific index as a matrix of constant size (z × z). When encoding or decoding is performed, each index of the model matrix is replaced with a sub-matrix indicated by the index to be used as a parity check matrix.

도 1은 모델 행렬의 일 예를 도시한 것이다. 도 1에서, 각 정수는 해당 서브 행렬의 인덱스를 의미한다. 예를 들어, 인덱스가 '-1'인 경우는 특정한 크기의 영 행렬(zero matrix)을 의미하며, 인덱스가 '0'인 경우는 특정한 크기의 단위 행렬(identity matrix)을 의미한다. '-1'과 '0'을 제외한 양의 정수인 인덱스는 해당 서브 행렬이 생성된 소정 규칙을 의미할 수 있다. 예를 들어, 양의 정수인 인덱스는 쉬프트 수(shift number)를 나타낸다. 즉, 각 서브 행렬이 단위 행렬의 각 행 또는 열을 일정 방향으로 쉬프트시켜 생성된 퍼뮤테이션 행렬이라고 할 경우, 상기 쉬프트 수를 해당 서브 행렬의 인덱스로 할 수 있다. 예를 들어, 서브 행렬을 '1'이라는 인덱스로 표현하는 경우, 해당 서브 행렬은 단위 행렬의 각 행 또는 열을 특정한 방향으로 한 칸(행 또는 열)씩 쉬프트함으로써 생성된 것이다. 모델 행렬 내에서 영 행렬인 서브 행렬을 표시하기 위해 아무런 인덱스를 사용하지 않을 수도 있다. 이하의 실시예들에 있어서는 영 행렬인 서브 행렬를 표시하기 위해서 인덱스를 사용하지 않는다. 1 illustrates an example of a model matrix. In FIG. 1, each integer means an index of a corresponding submatrix. For example, an index of '-1' means a zero matrix of a specific size, and an index of '0' means an identity matrix of a specific size. An index that is a positive integer except '-1' and '0' may mean a predetermined rule in which a corresponding submatrix is generated. For example, an index that is a positive integer represents a shift number. That is, when each sub-matrix is a permutation matrix generated by shifting each row or column of the unit matrix in a predetermined direction, the shift number may be an index of the sub-matrix. For example, when a sub-matrix is represented by an index of '1', the sub-matrix is generated by shifting each row or column of the unit matrix by one column (row or column) in a specific direction. No index may be used to indicate a submatrix that is a zero matrix in the model matrix. In the following embodiments, an index is not used to indicate a sub-matrix that is a zero matrix.

도 2는 상술한 인덱스, 즉 쉬프트 수(shift number)에 따른 행렬의 표현 방 법을 설명하기 위한 도면이다. 특정한 패리티 검사 행렬을 4×4 크기의 행렬(즉, 서브 행렬)로 구조화하여 표현하는 경우, '3'이라는 인덱스를 갖는 서브 행렬은 4×4 크기의 단위 행렬의 각 열을 오른쪽으로 세 개의 열만큼 쉬프트시킴으로써 생성된 퍼뮤테이션 행렬이 된다. FIG. 2 is a diagram for describing a method of expressing a matrix according to the aforementioned index, that is, a shift number. When a particular parity check matrix is structured and expressed as a 4x4 matrix (that is, a submatrix), the submatrix with an index of '3' means that each column of the 4x4 unit matrix has three columns to the right. It is a permutation matrix generated by shifting by.

부호화된 구조화된 LDPC 기법에 따라 각 서브 행렬을 하나의 인덱스로 표현한 모델 행렬을 저장하고 부호화 또는 복호화 시에 저장된 모델 행렬을 원래의 패리티 검사 행렬로 확장하여 사용함으로써 패리티 검사 행렬을 저장하기 위한 메모리 용량을 절약할 수 있다.Memory capacity for storing parity check matrices by storing model matrices in which each sub-matrix is represented by one index according to the coded structured LDPC technique, and extending the model matrix stored at the time of encoding or decoding to the original parity check matrix. Can save.

이하에서는 기본 모델 행렬의 적어도 하나 이상의 행을 분할(split)하여 새로운 모델 행렬을 생성하는 방법에 대해 설명하도록 한다.Hereinafter, a method of generating a new model matrix by splitting at least one or more rows of the basic model matrix will be described.

도 3은 기본 모델 행렬의 일 예를 도시한 것으로서, 각 서브 블록에 표시된 인덱스는 쉬프트 수를 나타낸다. 또한, 도 3에서 쉬프트 수가 표시되지 않은 서브 블록은 '-1'의 인덱스를 갖는 서브 블록이다. 즉, 쉬프트 수가 표시되지 않은 서브 블록은 영 행렬(zero matrix)을 나타낸다. 3 illustrates an example of a basic model matrix, in which an index indicated in each subblock represents a number of shifts. In addition, in FIG. 3, the sub block in which the shift number is not indicated is a sub block having an index of '-1'. That is, the subblock in which the shift number is not represented represents a zero matrix.

도 3에 도시된 바와 같이, 도 3의 모델 행렬은 4개의 행(row)과 24개의 열(columnm)로 구성된다. 도 3의 모델 행렬은 5/6의 부호율을 지원한다. 도 3의 모델 행렬은 정보 비트에 상응하는 정보어 부분과 패리티 비트에 상응하는 패리티 부분으로 구분된다. 즉, 도 3에서, 인덱스 0에 의해 표시되는 열(이하, '0번 열'이라 칭한다)부터 인덱스 19에 의해 표시된 열(이하, '19번 열'이라 칭한다)까지는 정보어 부분이다. 또한, 인덱스 20에 의해 표시되는 열(이하, '20번 열'이라 칭한다)부 터 인덱스 23에 의해 표시된 열(이하, '23번 열'이라 칭한다)까지는 패리티 부분이다.As shown in FIG. 3, the model matrix of FIG. 3 is composed of four rows and 24 columns. The model matrix of FIG. 3 supports a code rate of 5/6. The model matrix of FIG. 3 is divided into an information word portion corresponding to an information bit and a parity portion corresponding to a parity bit. That is, in FIG. 3, the information word is a part from the column indicated by index 0 (hereinafter referred to as 'column 0') to the column indicated by index 19 (hereinafter referred to as 'column 19'). In addition, the parity portion is from the column indicated by index 20 (hereinafter referred to as 'column 20') to the column indicated by index 23 (hereinafter referred to as 'column 23').

도 4는 도 3의 기본 모델 행렬의 하나의 행을 2개의 행으로 분할함으로써 새롭게 생성된 모델 행렬을 도시한 것이다. 즉, 도 3의 504 행은 도 4의 504A 및 504B의 행으로 분리된다. 이 경우, 0번 내지 23번 열의 무게를 갖는 성분은 배타적으로 분리된다. 여기서, 무게를 갖는 성분이 배타적으로 분리된다 함은 분리된 이후의 두 행들의 대응하는 열들은 동시에 무게를 갖지 않도록 분리되는 것을 의미한다. 또한, 24번 열에는 '127'의 쉬프트 수가 추가되는 것을 알 수 있다. 이 경우, 24번 열의 무게의 합은 짝수이므로, 모듈로 연산에 의해 그 영향이 무시된다. 따라서, 도 4의 모델 행렬은 도 3의 모델 행렬과 등가(equivalent)인 행렬인 것을 알 수 있다. 한편, 도 4의 행렬은 행과 열의 개수가 하나 증가했으므로 4/5의 부호율을 지원한다. FIG. 4 illustrates a model matrix newly generated by dividing one row of the basic model matrix of FIG. 3 into two rows. That is, row 504 of FIG. 3 is divided into rows 504A and 504B of FIG. 4. In this case, components having weights in rows 0 to 23 are exclusively separated. Here, the fact that the weighted component is exclusively separated means that the corresponding columns of the two rows after the separation are separated so as not to have weight at the same time. Also, it can be seen that the shift number of '127' is added to column 24. In this case, since the sum of the weights of column 24 is even, its effect is ignored by modulo operation. Therefore, it can be seen that the model matrix of FIG. 4 is a matrix equivalent to the model matrix of FIG. 3. Meanwhile, the matrix of FIG. 4 supports a code rate of 4/5 because the number of rows and columns is increased by one.

도 5는 도 4의 모델 행렬의 하나의 행을 두 개의 행으로 분할함으로써 새롭게 생성된 모델 행렬을 도시한 것다. 도 14의 503 행은 도 5의 503A 및 503B의 행으로 분리된다. 이 경우, 0번 내지 23번 열의 무게를 갖는 성분은 배타적으로 분리된다. 또한, 25번 열에는 '119'의 쉬프트 수가 추가되는 것을 알 수 있다. 이 경우, 25번 열의 무게의 합은 짝수이므로, 모듈로 연산에 의해 그 영향이 무시된다. 따라서, 도 5의 모델 행렬은 도 3 또는 도 4의 모델 행렬과 등가의 행렬이다. 한편, 도 5의 행렬은 행과 열의 개수가 하나 증가했으므로 20/26의 부호율을 지원한다. FIG. 5 illustrates a model matrix newly generated by dividing one row of the model matrix of FIG. 4 into two rows. Row 503 of FIG. 14 is divided into rows 503A and 503B of FIG. In this case, components having weights in rows 0 to 23 are exclusively separated. Also, it can be seen that the shift number of '119' is added to column 25. In this case, since the sum of the weights of column 25 is an even number, the influence is ignored by modulo operation. Thus, the model matrix of FIG. 5 is equivalent to the model matrix of FIG. 3 or 4. Meanwhile, the matrix of FIG. 5 supports a code rate of 20/26 since the number of rows and columns is increased by one.

도 6은 도 5의 모델 행렬의 하나의 행을 두 개의 행으로 분할함으로써 새롭게 생성된 모델 행렬을 도시한 것이다. 도 5의 501 행은 도 6의 501A 및 501B의 행으로 분리된다. 이 경우, 0번 내지 23번 열의 무게를 갖는 성분은 배타적으로 분리된다. 또한, 26번 열에는 '117'의 쉬프트 수가 추가되는 것을 알 수 있다. 이 경우, 26번 열의 무게의 합은 짝수이므로, 모듈로 연산에 의해 그 영향이 무시된다. 따라서, 도 6의 모델 행렬은 도 3 내지 도 5의 모델 행렬과 등가인 행렬이다. 한편, 도 6의 행렬은 행과 열의 개수가 하나 증가했으므로 3/4의 부호율을 지원한다. FIG. 6 illustrates a model matrix newly generated by dividing one row of the model matrix of FIG. 5 into two rows. Row 501 of FIG. 5 is divided into rows 501A and 501B of FIG. In this case, components having weights in rows 0 to 23 are exclusively separated. Also, it can be seen that the shift number of '117' is added to column 26. In this case, since the sum of the weights in column 26 is an even number, the influence is ignored by modulo operation. Thus, the model matrix of FIG. 6 is equivalent to the model matrix of FIGS. 3 to 5. Meanwhile, the matrix of FIG. 6 supports a code rate of 3/4 because the number of rows and columns has increased by one.

도 7은 도 6의 모델 행렬의 하나의 행을 두 개의 행으로 분할함으로써 새롭게 생성된 모델 행렬을 도시한 것이다. 도 6의 502 행은 도 7의 502A 및 502B의 행으로 분리된다. 이 경우, 0번 내지 23번 열의 무게를 갖는 성분은 배타적으로 분리된다. 또한, 27번 열에는 '113'의 쉬프트 수가 추가되는 것을 알 수 있다. 이 경우, 27번 열의 무게의 합은 짝수이므로, 모듈로 연산에 의해 그 영향이 무시된다. 따라서, 도 7의 모델 행렬은 도 3 내지 도 6의 모델 행렬과 등가인 행렬이다. 도 7의 행렬은 행과 열의 개수가 하나 증가했으므로 20/28의 부호율을 지원한다. FIG. 7 illustrates a model matrix newly generated by dividing one row of the model matrix of FIG. 6 into two rows. Row 502 of FIG. 6 is divided into rows 502A and 502B of FIG. In this case, components having weights in rows 0 to 23 are exclusively separated. Also, it can be seen that the shift number of '113' is added to column 27. In this case, since the sum of the weights of column 27 is even, its influence is ignored by modulo operation. Thus, the model matrix of FIG. 7 is equivalent to the model matrix of FIGS. 3 to 6. The matrix of FIG. 7 supports a code rate of 20/28 since the number of rows and columns has increased by one.

도 4 내지 도 7의 모델 행렬에서 행이 분리되는 경우, 열의 합이 짝수가 되도록 영이 아닌 성분을 추가로 포함했다. 이 경우, 추가되는 영이 아닌 성분은 싸이클 4(cycle-4)와 싸이클 6(cycle-6)의 특성을 고려하는 것이 바람직하다. 즉, 추가되는 영이 아닌 성분은 싸이클 4와 싸이클 6의 개수가 최소화되도록 결정되는 것이 바람직하다. When rows are separated in the model matrix of FIGS. 4 to 7, non-zero components are further included such that the sum of columns is even. In this case, it is preferable that the non-zero added component takes into account the characteristics of cycle 4 and cycle-6. In other words, the non-zero component added is preferably determined such that the number of cycles 4 and 6 is minimized.

도 4 내지 도 7의 모델 행렬이 패리티 검사 행렬로 확장되는 경우, 다음과 같은 싸이클 특성을 갖는다. 표 1 모델 행렬의 각 서브 행렬이 24×24 크기인 경우이다. When the model matrix of FIGS. 4 to 7 is extended to the parity check matrix, it has the following cycle characteristics. Table 1 shows that each sub-matrix of the model matrix is 24 × 24 size.

Cycle-4Cycle-4 Cycle-6Cycle-6 Average VAR degreeAverage VAR degree 도 3 (r=5/6)3 (r = 5/6) 00 96729672 3.083.08 도 4 (r=4/5)4 (r = 4/5) 00 58325832 3.043.04 도 5 (r=10/13)5 (r = 10/13) 00 33843384 3.003.00 도 6 (r=3/4)6 (r = 3/4) 00 19441944 2.962.96 도 7 (r=5/7)Fig. 7 (r = 5/7) 00 10561056 2.932.93

위와 같이 추가되는 영이 아닌 성분을 통해 낮은 부호율의 패리티 검사 행렬보다 더 적은 개수의 싸이클과 더 적은 개수의 무게를 갖는다. The non-zero component added as above has fewer cycles and fewer weights than the low code rate parity check matrix.

도 8은 본 발명의 일 실시예에 따른 기본 모델 행렬의 일 예를 도시한 것이다. 도 8의 모델 행렬은 4×12 크기를 가지며 2/3의 코드 레이트를 지원한다. 또한, 도 8의 모델 행렬은 정보어 부분과 패리티 부분으로 구성된다.8 illustrates an example of a basic model matrix according to an embodiment of the present invention. The model matrix of FIG. 8 has a size of 4x12 and supports a code rate of 2/3. In addition, the model matrix of FIG. 8 is composed of an information word part and a parity part.

도 9는 본 발명의 일 실시예에 따라 모델 행렬 형식의 패리티 검사 행렬을 생성하기 위해 도 8의 기본 모델 행렬의 하나의 행을 분할하는 방법을 설명하기 위한 도면이다. 즉, 도 9에서, 도 8의 첫 번째 행이 분할되어 두 개의 행들이 생성된다. 이때, 열의 무게를 갖는 성분은 배타적으로 분리된다. 즉, 분리된 이후의 두 행들의 대응하는 열들은 동시에 무게를 갖지 않도록 분리된다. 보다 구체적으로 설명하면, 도 8의 첫 번째 행에서 홀수 번째 무게를 갖는 성분들은 도 9의 분리된 두 행들 중 첫 번째 행의 대응하는 열에 위치하고, 짝수 번째 무게를 갖는 성분들은 도 9의 분리된 행들 중 두 번째 행의 대응하는 열에 위치하도록 분리된다. 도 8이 첫 번째 행에서 무게를 갖지 않는 성분들(인덱스 '-1')의 경우, 도 9의 분리된 두 행들의 대응하는 열들이 무게를 갖지 않도록 분리된다. 즉, 분리되기 전에 무게를 갖지 않는 성분에 대응하는 열은 분리된 후에도 무게를 갖지 않게 된다.FIG. 9 is a diagram for describing a method of dividing one row of the basic model matrix of FIG. 8 to generate a parity check matrix in the form of a model matrix according to an embodiment of the present invention. That is, in FIG. 9, the first row of FIG. 8 is divided to generate two rows. At this time, components having a weight of heat are exclusively separated. That is, the corresponding columns of two rows after being separated are separated so as not to have weight at the same time. More specifically, the components with odd weights in the first row of FIG. 8 are located in corresponding columns of the first of the two separate rows of FIG. 9, and the components with even weights are separated rows of FIG. 9. Are separated to be located in the corresponding column of the second row. In the case where components of FIG. 8 have no weight in the first row (index '-1'), the corresponding columns of the two separate rows of FIG. 9 are separated without weight. That is, the heat corresponding to a component that does not have weight before it is separated does not have weight even after it is separated.

또한, 분리된 두 행들의 패리티 부분에는 새로운 패리티 부분이 추가된다. 이때, 하나 이상의 행을 분리하여 새로운 패리티 검사 행렬을 생성하는 경우 새로 생성된 패리티 검사 행렬의 패리티 부분의 행과 열의 개수가 동일하게 되도록 새로운 패리티 부분이 추가된다. 예를 들어, 행의 분리에 의해 새로운 패리티 검사 행렬에 두 개의 행들이 추가되는 경우 패리티 부분에는 두 개의 열들을 갖는 추가 패리티 부분을 추가한다. 도 9에서는 도 8의 첫 번째 행을 분리하여 새로운 패리티 검사 행렬에는 하나의 행이 추가되었으므로 쉬프트 수(인덱스)가 '0'인 성분을 포함하는 하나의 열이 추가 패리티 부분으로 추가된다. In addition, a new parity portion is added to the parity portion of the two separate rows. In this case, when generating a new parity check matrix by separating one or more rows, a new parity portion is added so that the number of rows and columns of the parity portion of the newly generated parity check matrix is the same. For example, when two rows are added to a new parity check matrix by row separation, an additional parity part having two columns is added to the parity part. In FIG. 9, since one row is added to the new parity check matrix by separating the first row of FIG. 8, one column including a component having a shift number (index) of '0' is added as an additional parity part.

도 10은 본 발명의 다른 실시예에 따라 모델 행렬 형식의 패리티 검사 행렬을 생성하기 위해 도 8의 기본 모델 행렬의 하나의 행을 분할하는 방법을 설명하기 위한 도면이다. 즉, 도 10에서, 도 8의 첫 번째 행이 분할되어 두 개의 행들이 생성된다. 이 경우에도, 열의 무게를 갖는 성분은 배타적으로 분리된다. 또한, 분리된 두 행들의 정보어 부분에는 무게를 갖지 않는 적어도 하나 이상의 서브 행렬이 무게를 갖는 서브 행렬로 대체된다. 도 10에서는 분리되어 생성된 두 행들의 첫 번째 열에 위치하는 서브 행렬의 쉬프트 수가 '-1'에서 '2'로 대체되었다.FIG. 10 is a diagram for describing a method of dividing one row of the basic model matrix of FIG. 8 to generate a parity check matrix in a model matrix format according to another embodiment of the present invention. That is, in FIG. 10, the first row of FIG. 8 is divided to generate two rows. Even in this case, components having a weight of heat are exclusively separated. In addition, at least one sub-matrix having no weight is replaced with a weighted sub-matrix in the information word portion of the two separate rows. In FIG. 10, the number of shifts of the sub-matrix located in the first column of the two generated rows is replaced with '-1' to '2'.

도 11은 본 발명의 또 다른 실시예에 따라 모델 행렬 형식의 패리티 검사 행렬을 생성하기 위해 도 8의 기본 모델 행렬의 하나의 행을 분할하는 방법을 설명하기 위한 도면이다. 즉, 도 11에서, 도 8의 첫 번째 행이 분할되어 두 개의 행들이 생성된다. 이 경우에도, 열의 무게를 갖는 성분은 배타적으로 분리된다. 또한, 분리되어 생성된 각 행의 패리티 부분에는 둘 이상의 서브 행렬들이 추가된다. 도 11에서는 분리된 두 행들의 패리티 부분에 각각 쉬프트 수가 '0', '1', '2' 및 '3'인 서브 행렬들이 추가된 예들이다.FIG. 11 is a diagram for describing a method of dividing one row of the basic model matrix of FIG. 8 to generate a parity check matrix in the form of a model matrix according to another embodiment of the present invention. That is, in FIG. 11, the first row of FIG. 8 is divided to generate two rows. Even in this case, components having a weight of heat are exclusively separated. In addition, two or more sub-matrixes are added to the parity portion of each row generated separately. In FIG. 11, sub-matrixes having shift numbers '0', '1', '2', and '3' are respectively added to the parity portions of two separated rows.

도 12는 본 발명의 또 다른 실시예에 따라 모델 행렬 형식의 패리티 검사 행렬을 생성하기 위해 도 8의 기본 모델 행렬의 하나의 행을 분할하는 방법을 설명하기 위한 도면이다. 도 12의 예는 도 10 및 도 11의 예를 결합한 형식이다. 즉, 도 12에서, 도 8의 첫 번째 행이 분할되어 두 개의 행들을 생성하는 경우, 분리된 두 행들의 정보어 부분에는 무게를 갖지 않는 적어도 하나 이상의 서브 행렬이 무게를 갖는 서브 행렬로 대체되고, 분리되어 생성된 각 행의 패리티 부분에는 둘 이상의 서브 행렬들이 추가된다. 도 12에서는 분리된 두 행들의 첫 번째 열에 대응하는 서브 행렬은 쉬프트 수가 '11'인 서브 블록으로 대체되었고, 패리티 부분에 각각 쉬프트 수가 '0', '1', '2' 및 '3'인 서브 행렬들이 추가되었다.FIG. 12 is a diagram for describing a method of dividing one row of the basic model matrix of FIG. 8 to generate a parity check matrix in a model matrix format according to another embodiment of the present invention. The example of FIG. 12 combines the example of FIG. 10 and FIG. That is, in FIG. 12, when the first row of FIG. 8 is divided to generate two rows, at least one sub-matrix having no weight in the information word portion of the two separated rows is replaced with the weighted sub-matrix. In addition, two or more sub-matrixes are added to the parity portion of each generated row. In FIG. 12, the sub-matrix corresponding to the first column of the two separated rows is replaced with a sub-block having a shift number of '11', and the shift numbers '0', '1', '2' and '3' in the parity portion are respectively. Submatrices were added.

도 12의 실시예에 의해 생성된 모델 행렬은 기본 모델 행렬의 적어도 하나 이상의 행의 각각을 분할함으로써 생성된 적어도 둘 이상의 행들과, 상기 적어도 둘 이상의 행들의 정보어 부분의 무게를 갖지 않는 적어도 하나 이상의 서브 행렬을 무게를 갖는 적어도 하나 이상의 서브 행렬로 대체함으로써 생성되는 무게 추가 부분과, 상기 적어도 둘 이상의 행들 각각의 패리티 부분에 적어도 하나 이상의 서브 행렬을 추가함으로써 생성되는 추가 패리티 부분을 포함한다. 상기 무게 추가 부분 및 추가 패리티 부분을 생성하는 경우에 싸이클 4와 싸이클 6의 특성을 고려하는 것이 바람직하다. 즉, 모델 행렬을 확장함으로써 생성되는 전체 패리티 검사 행렬의 측면에서 싸이클 4와 싸이클 6의 개수가 최소화될 수 있도록 상기 무게 추가 부분 및 추가 패리티 부분을 생성하는 것이 바람직하다. The model matrix generated by the embodiment of FIG. 12 includes at least two or more rows generated by dividing each of at least one or more rows of the base model matrix, and at least one or more that do not have the weight of the information word portion of the at least two or more rows. A weight addition portion generated by replacing the sub-matrix with at least one sub-matrix with weights, and an additional parity portion generated by adding at least one sub-matrix to the parity portion of each of the at least two or more rows. It is desirable to consider the characteristics of cycle 4 and cycle 6 when generating the weight addition portion and the additional parity portion. That is, it is preferable to generate the weight addition part and the additional parity part so that the number of cycles 4 and 6 can be minimized in terms of the total parity check matrix generated by extending the model matrix.

본 발명의 실시예들에 의해 생성된 패리티 검사 행렬을 이용하여 부호화를 수행하는 경우 생성 행렬(generator matrix)을 이용하여 입력 소스 데이터를 부호화할 수 있다. 즉, k 비트의 입력 소스 데이터 s1 ×k는 생성 행렬에 부호화되어 n 비트의 코드워드 x1×k이 된다. 코드워드 xx=[s p]=[s0, s1, ..., sk -1, p0, p1, ... , pm -1] 의 구성을 갖는다(여기서, (p0, p1, ... , pm -1)은 패리티 검사 비트(parity check bits)이고, (s0, s1, ... , sk -1)은 시스템 비트(systematic bits)이다.).When encoding is performed using the parity check matrix generated by the embodiments of the present invention, input source data may be encoded using a generator matrix. That is, k bits of input source data s 1 x k are encoded into a generation matrix to be n bits of codeword x 1 x k . Codeword x has a configuration of x = [sp] = [s 0 , s 1 , ..., s k -1 , p 0 , p 1 , ..., p m -1 ] (where (p 0 , p 1 , ..., p m -1 ) are parity check bits, and (s 0 , s 1 , ..., s k -1 ) are system bits. ).

그러나, 상기 생성 행렬을 이용한 부호화 방법은 매우 복잡하다. 따라서, 이러한 복잡도를 줄이기 위해 상기 생성 행렬에 의하지 않고, 패리티 검사 행렬 H를 이용해 직접 입력 소스 데이터를 부호화하는 것이 바람직하다. 즉, x=[s p]이므로, H·x = 0인 특성을 이용하면 H·x = H·[s p] = 0이 되고, 이 식으로부터 패리티 검사 비트 p를 얻을 수 있어, 결과적으로 코드워드 x=[s p]를 구할 수 있다.However, the coding method using the generation matrix is very complicated. Therefore, in order to reduce such a complexity, it is preferable to directly code input source data using the parity check matrix H instead of the generation matrix. That is, since x = [sp] , using the characteristic of Hx = 0, Hx = H · sp [ = 0 ] , the parity check bit p can be obtained from this equation, resulting in codeword x. = [sp] can be obtained.

본 발명의 실시예들에 의해 생성된 패리티 검사 행렬을 이용하여 복호화(decoding)를 수행하는 방법에 대하여 설명하도록 한다. 디코더는 부호화 결과인 코드워드(c)에서 정보 비트(x)를 구해야 하는데, cHT=0인 성질을 이용하여 찾아낸다. 즉, 예를 들어, 수신측에서 수신된 코드워드를 c'이라 할 때, c'HT의 값을 계산하여 결과가 0 이면, c'의 앞의 k개의 비트들을 디코딩된 정보 비트로 결정한다. c'HT의 값이 0이 아닌 경우, 종래기술에 따른 그래프를 통한 합 곱(sum-product) 알고리즘, 신뢰도 전파(belief propagation) 알고리즘 등을 사용하여, c'HT의 값이 0을 만족하는 c'를 찾아 x를 복구한다.A method of performing decoding by using the parity check matrix generated by the embodiments of the present invention will be described. The decoder must obtain the information bit (x) from the codeword (c) which is the encoding result, and finds it using the property of cH T = 0. That is, for example, when the codeword received at the receiving side is c ', the value of c'H T is calculated, and if the result is 0, the preceding k bits of c' are determined as decoded information bits. If the value of c'H T is not 0, the value of c'H T satisfies 0, using a sum-product algorithm, a reliability propagation algorithm, and the like according to the graph according to the prior art. Find c 'and recover x.

본 문서에서 사용된 용어는 동일한 의미를 갖는 다른 용어들로 대체될 수 있다. 예를 들어, 모델 행렬은 '기본 행렬(base matrix)'이라는 용어에 의해 대체 가능하고, 서브 행렬은 '서브 블록' 또는 '퍼뮤테이션 행렬' 등의 용어로 대체될 수 있다. The terminology used herein may be replaced with other terms having the same meaning. For example, the model matrix may be replaced by the term 'base matrix', and the sub matrix may be replaced by terms such as 'sub block' or 'permutation matrix'.

본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.It is 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 features of the present invention. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

도 1은 모델 행렬의 일 예를 도시한 것이다.1 illustrates an example of a model matrix.

도 2는 쉬프트 수(shift number)에 따른 행렬의 표현 방법을 설명하기 위한 도면이다. FIG. 2 is a diagram for describing a method of representing a matrix according to shift numbers.

도 3은 기본 모델 행렬의 일 예를 도시한 것이다.3 shows an example of a basic model matrix.

도 4는 도 3의 기본 모델 행렬의 하나의 행을 2개의 행으로 분할함으로써 새롭게 생성된 모델 행렬을 도시한 것이다. FIG. 4 illustrates a model matrix newly generated by dividing one row of the basic model matrix of FIG. 3 into two rows.

도 5는 도 4의 모델 행렬의 하나의 행을 두 개의 행으로 분할함으로써 새롭게 생성된 모델 행렬을 도시한 것다. FIG. 5 illustrates a model matrix newly generated by dividing one row of the model matrix of FIG. 4 into two rows.

도 6은 도 5의 모델 행렬의 하나의 행을 두 개의 행으로 분할함으로써 새롭게 생성된 모델 행렬을 도시한 것이다. FIG. 6 illustrates a model matrix newly generated by dividing one row of the model matrix of FIG. 5 into two rows.

도 7은 도 6의 모델 행렬의 하나의 행을 두 개의 행으로 분할함으로써 새롭게 생성된 모델 행렬을 도시한 것이다. FIG. 7 illustrates a model matrix newly generated by dividing one row of the model matrix of FIG. 6 into two rows.

도 8은 본 발명의 일 실시예에 따른 기본 모델 행렬의 일 예를 도시한 것이다. 8 illustrates an example of a basic model matrix according to an embodiment of the present invention.

도 9는 본 발명의 일 실시예에 따라 모델 행렬 형식의 패리티 검사 행렬을 생성하기 위해 도 8의 기본 모델 행렬의 하나의 행을 분할하는 방법을 설명하기 위한 도면이다. FIG. 9 is a diagram for describing a method of dividing one row of the basic model matrix of FIG. 8 to generate a parity check matrix in the form of a model matrix according to an embodiment of the present invention.

도 10은 본 발명의 다른 실시예에 따라 모델 행렬 형식의 패리티 검사 행렬을 생성하기 위해 도 8의 기본 모델 행렬의 하나의 행을 분할하는 방법을 설명하기 위한 도면이다. FIG. 10 is a diagram for describing a method of dividing one row of the basic model matrix of FIG. 8 to generate a parity check matrix in a model matrix format according to another embodiment of the present invention.

도 11은 본 발명의 또 다른 실시예에 따라 모델 행렬 형식의 패리티 검사 행렬을 생성하기 위해 도 8의 기본 모델 행렬의 하나의 행을 분할하는 방법을 설명하기 위한 도면이다. FIG. 11 is a diagram for describing a method of dividing one row of the basic model matrix of FIG. 8 to generate a parity check matrix in the form of a model matrix according to another embodiment of the present invention.

도 12는 본 발명의 또 다른 실시예에 따라 모델 행렬 형식의 패리티 검사 행렬을 생성하기 위해 도 8의 기본 모델 행렬의 하나의 행을 분할하는 방법을 설명하기 위한 도면이다. FIG. 12 is a diagram for describing a method of dividing one row of the basic model matrix of FIG. 8 to generate a parity check matrix in a model matrix format according to another embodiment of the present invention.

Claims (7)

입력 데이터열을 LDPC(Low Density Parity Check) 코딩 기법에 의해 부호화거나 부호화된 코드워드를 복호화하는 경우 사용되는 패리티 검사 행렬의 구조에 있어서,In the structure of the parity check matrix used when the input data string is encoded or decoded by a low density parity check (LDPC) coding scheme, 모델 행렬의 형식으로 표현되는 기본 패리티 검사 행렬의 적어도 하나 이상의 행의 각각을 분할함으로써 생성된 적어도 둘 이상의 행들; 및At least two rows generated by dividing each of at least one or more rows of the basic parity check matrix represented in the form of a model matrix; And 상기 적어도 둘 이상의 행들 각각의 정보어 부분의 무게를 갖지 않는 적어도 하나 이상의 서브 행렬을 무게를 갖는 적어도 하나 이상의 서브 행렬로 대체함으로써 생성되는 무게 추가 부분을 포함하는, 패리티 검사 행렬의 구조.And a weight addition portion generated by replacing at least one or more sub matrices not having a weight of the information word portion of each of the at least two rows with at least one or more sub matrices having a weight. 제1항에 있어서,The method of claim 1, 상기 적어도 둘 이상의 행들 각각의 패리티 부분에 적어도 하나 이상의 서브 행렬을 추가함으로써 생성되는 추가 패리티 부분을 더 포함하는, 패리티 검사 행렬의 구조.And an additional parity portion generated by adding at least one sub-matrix to the parity portion of each of the at least two or more rows. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 무게 추가 부분 또는 추가 패리티 부분을 생성할 때 상기 패리티 검사 행렬에 대해 싸이클-4 및 싸이클-6의 수를 최소화할 수 있도록 하는 것을 특징으로 하는, 패리티 검사 행렬의 구조.And minimizing the number of cycles 4 and 6 for the parity check matrix when generating the weight addition portion or the additional parity portion. 입력 데이터열을 LDPC 코딩 기법에 의해 부호화는 방법에 있어서, In the method of encoding the input data string by the LDPC coding technique, 입력 데이터열을 제공하는 단계; 및Providing an input data sequence; And 상기 입력 데이터열을 패리티 검사 행렬을 이용하여 부호화하는 단계를 포함하되,Encoding the input data string using a parity check matrix; 상기 패리티 검사 행렬은 모델 행렬의 형식으로 표현되는 기본 패리티 검사 행렬의 적어도 하나 이상의 행의 각각을 분할함으로써 생성된 적어도 둘 이상의 행들과, 상기 적어도 둘 이상의 행들 각각의 정보어 부분의 무게를 갖지 않는 적어도 하나 이상의 서브 행렬을 무게를 갖는 적어도 하나 이상의 서브 행렬로 대체함으로써 생성되는 무게 추가 부분을 포함하는 것을 특징으로 하는, 부호화 방법.The parity check matrix is at least two or more rows generated by dividing each of at least one or more rows of the basic parity check matrix represented in the form of a model matrix, and at least not having the weight of the information word portion of each of the at least two or more rows. And a weight addition portion generated by replacing one or more sub-matrices with at least one or more sub-matrices having weights. 제4항에 있어서,The method of claim 4, wherein 상기 패리티 검사 행렬은 상기 적어도 둘 이상의 행들 각각의 패리티 부분에 적어도 하나 이상의 서브 행렬을 추가함으로써 생성되는 추가 패리티 부분을 더 포함하는 것을 특징으로 하는, 부호화 방법.And the parity check matrix further comprises an additional parity portion generated by adding at least one sub-matrix to a parity portion of each of the at least two or more rows. 부호화된 코드워드를 LDPC 코딩 기법에 의해 복호화는 방법에 있어서, In the method for decoding the coded codeword by LDPC coding method, 상기 코드워드를 제공하는 단계; 및Providing the codeword; And 상기 코드워드를 패리티 검사 행렬을 이용하여 복호화하는 단계를 포함하되,Decoding the codeword using a parity check matrix; 상기 패리티 검사 행렬은 모델 행렬의 형식으로 표현되는 기본 패리티 검사 행렬의 적어도 하나 이상의 행의 각각을 분할함으로써 생성된 적어도 둘 이상의 행들과, 상기 적어도 둘 이상의 행들 각각의 정보어 부분의 무게를 갖지 않는 적어도 하나 이상의 서브 행렬을 무게를 갖는 적어도 하나 이상의 서브 행렬로 대체함으로써 생성되는 무게 추가 부분을 포함하는 것을 특징으로 하는, 복호화 방법.The parity check matrix is at least two or more rows generated by dividing each of at least one or more rows of the basic parity check matrix represented in the form of a model matrix, and at least not having the weight of the information word portion of each of the at least two or more rows. And a weight addition portion generated by replacing one or more sub-matrices with at least one or more sub-matrices having weights. 제6항에 있어서,The method of claim 6, 상기 패리티 검사 행렬은 상기 적어도 둘 이상의 행들 각각의 패리티 부분에 적어도 하나 이상의 서브 행렬을 추가함으로써 생성되는 추가 패리티 부분을 더 포함하는 것을 특징으로 하는, 복호화 방법.And the parity check matrix further comprises an additional parity portion generated by adding at least one sub-matrix to a parity portion of each of the at least two or more rows.
KR1020080012191A 2008-02-11 2008-02-11 Method of encoding/decoding data using LDPC code KR101405961B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080012191A KR101405961B1 (en) 2008-02-11 2008-02-11 Method of encoding/decoding data using LDPC code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080012191A KR101405961B1 (en) 2008-02-11 2008-02-11 Method of encoding/decoding data using LDPC code

Publications (2)

Publication Number Publication Date
KR20090086744A true KR20090086744A (en) 2009-08-14
KR101405961B1 KR101405961B1 (en) 2014-06-12

Family

ID=41205979

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080012191A KR101405961B1 (en) 2008-02-11 2008-02-11 Method of encoding/decoding data using LDPC code

Country Status (1)

Country Link
KR (1) KR101405961B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107959500A (en) * 2016-10-17 2018-04-24 上海数字电视国家工程研究中心有限公司 The building method of LDPC encoder

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101065693B1 (en) * 2004-09-17 2011-09-19 엘지전자 주식회사 Method of encoding or decoding using LDPC code and method of generating LDPC code
KR101128804B1 (en) * 2006-06-07 2012-03-23 엘지전자 주식회사 Method of LDPC encoding and LDPC decoding using a reference matrix

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107959500A (en) * 2016-10-17 2018-04-24 上海数字电视国家工程研究中心有限公司 The building method of LDPC encoder

Also Published As

Publication number Publication date
KR101405961B1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
KR102347823B1 (en) Encoding method and decoding method and device for structured ldpc
KR101208546B1 (en) Method of encoding and decoding using low density parity check matrix
KR100641052B1 (en) LDPC encoder and decoder, and method for LDPC encoding and decoding
CN101395804B (en) Method of encoding and decoding using ldpc code
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
JP4168055B2 (en) Method and apparatus for generating low density parity check code
US7930622B2 (en) Method of encoding and decoding adaptive to variable code rate using LDPC code
US20080077843A1 (en) Apparatus and Method for Decoding Using Channel Code
EP1798861B1 (en) LDPC encoding through decoding algorithm
KR20060135451A (en) Method and apparatus of low density parity check encoding
KR20080102902A (en) Method and apparatus for designing low density parity check code with multiple code rate, and information storage medium thereof
WO2004107585A1 (en) Decoding method, decoding device, program, recording/reproduction device and method, and reproduction device and method
JPWO2010073922A1 (en) Error correction encoding apparatus, decoding apparatus, encoding method, decoding method, and program thereof
EP1782540A2 (en) Method of encoding and decoding using low density parity check code
KR101147768B1 (en) Apparatus and method for decoding using channel code
CN101764620B (en) Apparatus and method for decoding using channel code
KR101370903B1 (en) Method of encoding and decoding data using LDPC code
KR20110114204A (en) Ldpc encoding method and ldpc encoder
KR101405961B1 (en) Method of encoding/decoding data using LDPC code
Yoon et al. Arbitrary bit generation and correction technique for encoding QC-LDPC codes with dual-diagonal parity structure
KR101435831B1 (en) Method of generating parity check matrix
KR20060013197A (en) Encoding method by using ldpc code and computer-readable medium for the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee