KR101073907B1 - Encoding method by using LDPC code and computer-readable medium for the same - Google Patents

Encoding method by using LDPC code and computer-readable medium for the same Download PDF

Info

Publication number
KR101073907B1
KR101073907B1 KR1020040058647A KR20040058647A KR101073907B1 KR 101073907 B1 KR101073907 B1 KR 101073907B1 KR 1020040058647 A KR1020040058647 A KR 1020040058647A KR 20040058647 A KR20040058647 A KR 20040058647A KR 101073907 B1 KR101073907 B1 KR 101073907B1
Authority
KR
South Korea
Prior art keywords
matrix
parity check
encoding
ldpc code
ldpc
Prior art date
Application number
KR1020040058647A
Other languages
Korean (ko)
Other versions
KR20060010068A (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 KR1020040058647A priority Critical patent/KR101073907B1/en
Priority to US11/572,705 priority patent/US7814403B2/en
Priority to JP2007523474A priority patent/JP4672015B2/en
Priority to EP05771124.4A priority patent/EP1782540B1/en
Priority to CN2005800255866A priority patent/CN101305521B/en
Priority to PCT/KR2005/002421 priority patent/WO2006011744A2/en
Publication of KR20060010068A publication Critical patent/KR20060010068A/en
Application granted granted Critical
Publication of KR101073907B1 publication Critical patent/KR101073907B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • 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/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

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

Abstract

본 발명에 의한 LDPC(Low Density Parity Check) 코드를 이용한 부호화 방법은, k 비트의 소스 입력 데이터인 u 벡터는 다음의 식, c = [I|(Hp -1d) t]tㆍu (여기서, c는 n 비트의 부호어(codeword), I는 단위 행렬, Hp 및 Hd 는 패리티 검사 행렬 H의 일부분으로서 H=[Hd|Hp](Hd는 (n-k)×k, Hp는 (n-k)×(n-k) 차원임)의 관계임.) 에 의해 부호화되되, 상기 Hd를 (n-k)/m×k 차원을 갖는 m개의 서브행렬로 분할한 경우에, 상기 m개의 서브행렬들 중 하나의 특정 서브행렬의 j번째 행(row)은, 상기 특정 서브행렬의 모든 열의 무게(column weight)가 1이라는 조건 하에, Wj(j=1, 2,...,(n-k)/m)개의 연속적인 1을 갖고, 상기 Hd 전체적으로 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않는 것을 특징으로 한다.In the encoding method using a Low Density Parity Check (LDPC) code according to the present invention, a u vector that is k-bit source input data is represented by the following equation, c = [I | (H p -1 H d ) t ] t ㆍ u (Where c is an n-bit codeword, I is an identity matrix, H p and H d are part of the parity check matrix H, where H = [H d | H p ] (H d is (nk) × k , H p is the m when divided by (nk) × (nk) dimension Im) between Im) doedoe encoded by, of m having the H d (nk) / m × k-dimensional sub-matrix of The j th row of a particular submatrix of one of the submatrices is W j (j = 1, 2, ..., under the condition that the column weight of all columns of the particular submatrix is 1). (nk) / m) consecutive 1s, and any two rows as a whole of H d are characterized by not having 1 at two or more points at the same time.

LDPC 코드, 부호화, 복호화, 패리티 체크, 행렬LDPC code, encoding, decoding, parity check, matrix

Description

LDPC 코드를 이용한 부호화 방법 및 부호화를 위한 컴퓨터로 읽을 수 있는 기록 매체{Encoding method by using LDPC code and computer-readable medium for the same}Encoding method by using LDPC code and computer-readable medium for the same}

도1은 본 발명의 바람직한 일 실시예를 설명하기 위한 통신 시스템 구성도임.1 is a configuration of a communication system for explaining an embodiment of the present invention.

도2는 Η=[Hd|Hp]의 관계를 설명하기 위한 예시 도면임.2 is an exemplary diagram for explaining a relationship of Η = [H d | H p ].

도3은 이중 대각 행렬의 일례를 도시한 것임.3 shows an example of a double diagonal matrix.

도4는 본 발명의 바람직한 일 실시예에 따른 Hd의 특정 서브행렬을 설명하기 위한 도면임.4 is a view for explaining a specific sub-matrix of H d according to an embodiment of the present invention.

도5는 본 발명의 바람직한 다른 실시예에 따른 Hd의 특정 서브행렬을 설명하기 위한 도면임.5 is a view for explaining a specific sub-matrix of H d according to another preferred embodiment of the present invention.

도6은 패리티 검사 행렬 H를 생성하는 일 과정을 설명하기 위한 절차 흐름도임.6 is a procedure flowchart for explaining a process of generating a parity check matrix H.

본 발명은 부호화(encoding) 방법에 관한 것이다. 보다 구체적으로는, 저밀도 패리티 검사(LDPC: Low Density Parity Check) 코드를 이용하여 부호화하는 방법에 있어서 필요한 패리티 검사 행렬(parity check matrix)을 저장하기 위한 메모리양과 부호화에 필요한 계산량 및 복잡도(complexity)을 줄일 수 있는 부호화 방법 및 부호화를 위한 컴퓨터로 읽을 수 있는 기록 매채에 관한 것이다.The present invention relates to an encoding method. More specifically, the amount of memory for storing the parity check matrix required for encoding using a low density parity check (LDPC) code, and the amount of computation and complexity required for encoding are determined. And a computer readable recording medium for encoding.

일반적으로 부호화(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) Η의 원소들의 대부분이 0이어서 저밀도(low density)인 선형 블록 부호(linear block code)로서 1962년 갤러거(Gallager)에 의해 제안되었다. LDPC 부호는 매우 복잡하여 제안 당시의 기술로는 구현이 불가능하였기 때문에 잊혀져 있다가 1995년에 재발견되어 성능이 매우 우수함이 입증된 이래로 최근에 그에 관한 연구가 활발히 진행되고 있는 상황이다. Recently, a coding method using an LDPC code has emerged. The LDPC code was proposed by Gallagher in 1962 as a linear block code in which most of the elements of the parity check matrix Η are zero and low density. Since the LDPC code is so complex that it was impossible to implement with the technology at the time of the proposal, it has been forgotten and rediscovered in 1995.

LDPC 코드의 패리티 검사 행렬은 1의 개수가 매우 적기 때문에 매우 큰 블록 크기에서도 반복 복호를 통하여 복호가 가능하여 블록 크기가 매우 커지면 터보 코드처럼 새넌(Shannon)의 채널 용량 한계에 근접하는 성능을 보인다.Since the parity check matrix of the LDPC code is very small, it is possible to decode by iterative decoding even in a very large block size. When the block size becomes very large, it shows performance that 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는 코드워드(codework)이고, 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 at least 1000 × 2000, many operations are required in the encoding and decoding process, implementation is very complicated, and requires a lot of storage space.

본 발명은 상기한 바와 같은 종래기술의 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 LDPC 코드를 이용하여 부호화하는 방법에 있어서 필요한 패리티 검사 행렬을 저장하기 위한 메모리양과 부호화에 필요한 계산량 및 복잡도(complexity)을 줄일 수 있는 부호화 방법을 제공하는 것이다.The present invention has been made to solve the problems of the prior art as described above, an object of the present invention is the amount of memory and the amount of complexity and complexity required for storing the parity check matrix required for the encoding method using the LDPC code It is to provide an encoding method that can reduce the complexity.

본 발명의 다른 목적은 상기 부호화 방법을 제공하는데 필요한 데이터 구조가 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 것이다.Another object of the present invention is to provide a computer readable recording medium having recorded thereon a data structure necessary for providing the encoding method.

발명의 개요Summary of the Invention

본 발명에 의한 LDPC(Low Density Parity Check) 코드를 이용한 부호화 방법은, 소스 입력 데이터를 [Hd|Hp] 의 구성을 갖는 패리티 검사 행렬 H를 이용하여 부호화하되, 상기 Hd 행렬의 일부분이 일정한 규칙성을 갖는 구조로 이루어지는 것을 특징으로 한다.In the encoding method using a Low Density Parity Check (LDPC) code according to the present invention, the source input data is encoded using a parity check matrix H having a configuration of [H d | H p ], wherein a portion of the H d matrix is encoded. It is characterized by consisting of a structure having a certain regularity.

보다 구체적으로는, k 비트의 소스 입력 데이터인 u 벡터는 다음의 식, c = [I|(Hp -1d)t]tㆍu (여기서, c는 n 비트의 부호어(codeword), I는 단위 행렬, Hp 및 Hd 는 패리티 검사 행렬 H의 일부분으로서 H=[Hd|Hp](Hd 는 (n-k)×k, Hp는 (n-k)×(n-k) 차원임)의 관계임.) 에 의해 부호화되되, 상기 Hd를 (n-k)/m×k 차원을 갖는 m개의 서브행렬로 분할한 경우에, 상기 m개의 서브행렬들 중 하나의 특정 서브행렬의 j번째 행(row)은, 상기 특정 서브행렬의 모든 열의 무게(column weight)가 1이라는 조건 하에, Wj(j=1, 2,...,(n-k)/m)개의 연속적인 1을 갖고, 상기 Hd 전체적으로 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않는 것을 특징으로 한다.More specifically, the u vector, which is k-bit source input data, is represented by the following equation, c = [I | (H p -1 H d ) t ] t ㆍ u (where c is an n-bit codeword) Where I is the unit matrix, H p and H d are part of the parity check matrix H, where H = [H d | H p ] (H d is (nk) × k, H p is (nk) × (nk)). ) relationship Im) doedoe encoded by, the H d to (nk) / m × in the case where divided into m number of sub-matrices having k dimensions, j-th of the m sub-matrices of a certain sub-matrix of A row has W j (j = 1, 2, ..., (nk) / m) consecutive 1s, provided that the column weight of all columns of the particular submatrix is 1, In any case, any two rows of the H d as a whole do not have 1 at two or more points at the same time.

본 발명에 따른 컴퓨터로 읽을 수 있는 기록 매체는, LDPC(Low Density Parity Check) 코드를 이용한 부호화 방법에 사용되는 패리티 검사 행렬(parity check matrix) H와 H=[Hd|Hp]의 관계를 갖는 Hd의 데이터 구조를 저장한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 Hd를 (n-k)/m×k 차원을 갖는 m개의 서브행렬로 분할한 경우에, 상기 m개의 서브행렬들 중 하나의 특정 서브행렬의 j번째 행(row)은, 상기 특정 서브행렬의 모든 열의 무게(column weight)가 1이라는 조건 하에, Wj(j=1, 2,...,(n-k)/m)개의 연속적인 1을 갖고, 상기 Hd 전체적으로 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않는 특징을 갖는 Hd의 데이터 구조를 저장한 것을 특징으로 한다.
The computer-readable recording medium according to the present invention has a relationship between a parity check matrix H and H = [H d | H p ] used in a coding method using a low density parity check (LDPC) code. A computer-readable recording medium storing a data structure of H d having, wherein when H d is divided into m sub matrices having a (nk) / m × k dimension, among the m submatrices. The j th row of one particular submatrix is W j (j = 1, 2, ..., (nk) / m under the condition that the column weight of all columns of the particular submatrix is 1). ) of having a continuous 1, characterized in that as a whole the H d H d in storing the data structure having the features two lines (rows) of any one that does not have a 1 at the same time to more than one point.

실시예Example

이하에서는 본 발명에 따른 LDPC(Low Density Parity Check) 코드를 이용한 부호화 방법의 바람직한 실시예들을 첨부된 도면을 참조하여 설명하도록 한다. 도1은 본 발명의 바람직한 일 실시예를 설명하기 위한 도면으로서, 본 발명의 기술적 특징이 무선 통신 시스템에 적용된 일례이다. 이하에서 설명되는 실시예는 본 발명의 특징을 설명하기 위한 예시에 불과한 것으로서 본 발명의 기술적 특징은 부호화가 필요한 모든 분야에 적용 가능함은 당업자에게 자명하다.Hereinafter, preferred embodiments of a coding method using a Low Density Parity Check (LDPC) code according to the present invention will be described with reference to the accompanying drawings. 1 is a view for explaining a preferred embodiment of the present invention, an example of the technical features of the present invention applied to a wireless communication system. Embodiments described below are merely examples for explaining the features of the present invention, and it is apparent to those skilled in the art that the technical features of the present invention may be applied to all fields requiring encoding.

도1에서, 송신기(10)와 수신기(30)가 무선 채널(20)을 매개로 통신을 수행한다. 상기 송신기(10)에서는 데이터 소스(11)로부터 출력된 k 비트의 소스 데이터(u)가 LDPC 부호화 모듈(13)에서의 LDPC 부호화(encoding)에 의해 n 비트의 코드워드(c)가 된다. 코드워드(c)는 변조 모듈(15)에 의해 무선 변조되어 안테나(17)를 통하여 송신되어 무선채널(20)을 통해 상기 수신기(30)의 안테나(31)로 수신된다. 상기 수신기(30)에서는 상기 송신기(10)에서 일어났던 과정의 역과정을 거치는데, 복조 모듈(33)에 의해 복조되고, LDPC 복호화 모듈(35)에 의해 복호되어 최종적으로 소스 데이터(u)를 얻을 수 있다. In FIG. 1, the transmitter 10 and the receiver 30 perform communication via a radio channel 20. In the transmitter 10, the k-bit source data u output from the data source 11 becomes an n-bit codeword c by LDPC encoding in the LDPC encoding module 13. The codeword c is wirelessly modulated by the modulation module 15 and transmitted through the antenna 17 and received by the antenna 31 of the receiver 30 through the radio channel 20. The receiver 30 undergoes an inverse process of the process that occurred in the transmitter 10, which is demodulated by the demodulation module 33 and decoded by the LDPC decoding module 35 to finally obtain source data u. Can be.

상술된 데이터 송수신 과정은 본 발명의 특징을 설명하기 위해 필요한 최소한의 범위 내에서 설명된 것으로 이외에도 데이터 전송을 위해 필요한 다른 많은 과정이 있음은 당업자에게 용이하게 이해될 수 있을 것이다.It will be readily understood by those skilled in the art that the above-described data transmission / reception processes are described within the minimum range necessary to describe the features of the present invention, and there are many other processes necessary for data transmission.

상기 수학식1에서, 상기 패리티 검사 행렬(parity check matrix) Η는 Η=[Hd|Hp](Hd는 (n-k)×k, Hp는 (n-k)×(n-k) 차원임)로 표현될 수 있다. 도2는 Η=[Hd|Hp]의 관계를 이해하기 용이하도록 예시하여 도시한 것으로서 본 발명의 기술적 특징과는 관계가 없다. 상기 k는 상기 LDPC 부호화 모듈(13)로 입력되는 소스 데이터의 길이(비트 단위)이고, 상기 n은 부호화된 코드워드(c)의 길이(비트 단위)를 의미한다.In the above Equation 1, the parity check matrix Η is represented by Η = [H d | H p ] (H d is (nk) × k and H p is (nk) × (nk).) Can be expressed. FIG. 2 is a diagram illustrating the relationship of ƒ = [H d | H p ] to be easily understood, and is not related to the technical features of the present invention. K denotes the length (bit unit) of the source data input to the LDPC encoding module 13, and n denotes the length (bit unit) of the coded codeword c.

상기 수학식1 및 Η=[Hd|Hp]의 관계에 의해서 G=[I|(Hp -1d)t]t 임을 알 수 있다. 따라서, 상기 LDPC 부호화 모듈(13)은 상기 수학식2에 의해 입력 데이터(u)에 상기 G=[I|(Hp -1d)t]t를 곱해 줌으로써 부호화한다. 결국 수학식2는 다음의 수학식3과 같다.It can be seen from the relationship between Equation 1 and Η = [H d | H p ] that G = [I | (H p -1 H d ) t ] t . Accordingly, the LDPC encoding module 13 encodes the input data u by multiplying the input data u by G = [I | (H p- 1 H d ) t ] t by Equation (2). As a result, Equation 2 is equal to Equation 3 below.

c = [I|(Hp -1d)t]tㆍuc = [I | (H p -1 H d ) t ] t

본 실시예에서는 상기 Hp로 (n-k)×(n-k) 차원의 이중 대각 행렬(dual diagonal matrix)을 사용하기로 한다. 이중 대각 행렬은 주 대각(main diagonal)과 상기 주 대각 바로 밑의 대각이 1이고 나머지가 모두 0인 행렬을 의미하는 것으로서, 도3은 이중 대각 행렬의 이해의 편의를 돕기 위한 일례이다.In the present embodiment, a dual diagonal matrix having a dimension of (nk) × (nk) is used as H p . The double diagonal matrix refers to a matrix in which the main diagonal and the diagonal just below the main diagonal are 1 and the rest are all 0, and FIG. 3 is an example to help the understanding of the double diagonal matrix.

본 발명의 특징은 상기 Hd의 데이터 구조에 있다. 즉, 상기 Hd를 (n-k)/m×k 차원을 갖는 m개의 서브행렬로 분할한 경우에, 상기 m개의 서브행렬들 중 하나의 특정 서브행렬의 j번째 행(row)은, 상기 특정 서브행렬의 모든 열의 무게(column weight)가 1이라는 조건 하에, Wj(j=1, 2,...,(n-k)/m)개의 연속적인 1을 갖고, 상기 Hd 전체적으로 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않는 특징을 갖는다. 상기 Wj는 상기 특정 서브행렬의 모든 행에 대해서 동일할 수 있다. 또한, 상기 Wj는 상기 특정 서브행렬의 모든 행에 대해서 불규칙적으로 증가하거나 감소할 수 있다.Features of the present invention to provide a data structure of the H d. That is, when the H d is divided into m submatrices having (nk) / m × k dimensions, the j th row of one particular submatrices of the m submatrices is determined by the specific subquery. Under the condition that the column weight of every column of the matrix is 1, it has W j (j = 1, 2, ..., (nk) / m) consecutive 1s, and any two rows as a whole as H d (rows) also has the feature of not having 1 at more than one point at the same time. W j may be the same for all rows of the specific sub-matrix. In addition, the W j may be increased or decreased irregularly for all rows of the specific sub-matrix.

도4는 상기 Hd에 포함되는 상기 특정 서브행렬의 일례를 도시한 것이다. 도4에 도시된 상기 특정 서브행렬은 7×28 차원을 갖는 행렬로서, 실제 LDPC 부호화에 사용되는 것은 이것보다 훨씬 큰 규모의 행렬이다. 도4에서, 상기 특정 서브행렬의 각 행은 연속적인 4개의 1을 갖고 나머지는 0인 값을 갖는다(즉, 각 행의 무 게가 4이다.). 또한, 상기 특정 서브행렬에서 각 열(column)의 무게(weight)는 1이다. Figure 4 illustrates an example of the specific sub-matrix contained in the H d. The specific sub-matrix shown in Fig. 4 is a matrix having a 7x28 dimension, and the matrix used for the actual LDPC encoding is a much larger matrix than this. In Figure 4, each row of the particular submatrix has four consecutive 1s and the rest have a value of zero (i.e. the weight of each row is four). Also, the weight of each column in the particular submatrix is one.

도5는 상기 Hd에 포함되는 상기 특정 서브행렬의 다른 일례를 도시한 것으로서, 상기 특정 서브행렬의 각 행은 Wj개가 연속적으로 1이고 나머지는 0이되, 상기 Wj는 각 행별로 불규칙적으로 변하는 예이다. 이 경우에도 상기 특정 서브행렬에서 각 열(column)의 무게(weight)는 1이다.FIG. 5 illustrates another example of the specific sub-matrix included in the H d , wherein each row of the specific sub-matrix has W j consecutively 1 and the remainder 0, where W j is irregular for each row. This is an example of change. Even in this case, the weight of each column in the specific sub-matrix is one.

또한, 상기 Hd 는 전체적으로 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않는 특징으로 한다. 상기 Hd 에서 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않는다는 것은, 전체 Hd 에 대하여 임의의 두 행을 비교했을 때 1이 존재하는 지점이 두 개 이상 겹칠 수 없다는 의미이다.In addition, the H d is characterized in that any two rows as a whole do not have 1 at two or more points at the same time. The fact that any two rows in H d does not have 1 at two or more points at the same time means that two or more points where 1 exists when the two rows are compared with respect to the entire H d may not overlap. to be.

도6은 패리티 검사 행렬 H를 생성하는 일 과정을 설명하기 위한 절차 흐름도이다. 이하에서 설명되는 방법은 일예에 불과한 것으로서, 상기한 바와 같은 특징을 갖는 H 는 다양한 방법에 의해 구할 수 있을 것이다.6 is a flowchart illustrating a process of generating a parity check matrix H. The method described below is just one example, and H having the above characteristics may be obtained by various methods.

첫 번째는, Hd의 특정 서브행렬(제1서브행렬)에 대하여 상기 특정 서브행렬의 j번째 행(row)은, 상기 특정 서브행렬의 모든 열의 무게(column weight)가 1이라는 조건 하에, Wj(j=1, 2,...,(n-k)/m)개의 연속적인 1을 갖도록 구성한다[S51].First, with respect to a particular sub-matrix of H d (first sub-matrix), the j-th row of the particular sub-matrix is W, provided that the column weights of all columns of the particular sub-matrix are 1. j (j = 1, 2, ..., (nk) / m) are configured to have one consecutive [S51].

두 번째는, Hd의 나머지 서브행렬들에 중 다른 서브행렬(제2서브행렬)에 대 하여 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않도록 열을 재배열(colcumn permutation)한다[S52].Second, column permutation so that any two rows of the remaining submatrices of H d have no 1 at the same time at more than one point for the other submatrices (second submatrix). [S52].

세 번째는, 상기 두 번째 과정을 나머지 서브행렬들에 대하여 순차적으로 적용하여 마지막 서브행렬(제m서브행렬)까지 모든 서브행렬들을 구성한다[S53].Third, the second process is sequentially applied to the remaining submatrices to form all submatrices up to the last submatrice (m sub-matrix) [S53].

네 번째는, 상기 서브행렬들을 결합하여 Hd를 생성한다[S54]. Fourth, the submatrices are combined to generate H d [S54].

다섯 번째는, Hd와 Hp를 결합하여 H를 생성한다[S55].Fifth, by combining the H d and H p generates a H [S55].

도1에서 상기 수신기(30)가 상기한 바와 같은 방법으로 부호화된 데이터를 수신하여 복호함에 있어서는 다음의 수학식4를 이용한다.In FIG. 1, the receiver 30 uses Equation 4 below to receive and decode the data encoded by the method described above.

Ηㆍc = 0Η · c = 0

즉, 부호화된 데이터 c와 상기 패리티 검사 행렬(parity check matrix) Η를 곱하여 0가 되면 전송 에러가 없다는 것을 의미하고, 0가 되지 않으면 전송 에러가 존재한다는 것을 의미하므로 이에 따라 소스 데이터를 분리해 낼 수 있다.That is, if the coded data c is multiplied by the parity check matrix Η and becomes 0, it means that there is no transmission error. If not, it means that there is a transmission error. Can be.

수학식3 및 수학식4에서, 본 발명에 따른 부호화 및 복호화 방법에 있어서는 송신기 및 수신기가 Hd의 데이터 구조만 메모리에 저장하고 있으면 됨을 알 수 있다. 즉, Hp와 Hp -1은 정형화된 데이터 구조이기 때문에 저장할 필요가 없고 Hd의 데이터 구조만 저장하면 부호화 및 복호화가 가능하여 결과적으로 메모리를 절약할 수 있다. In Equation 3 and Equation 4, it can be seen that in the encoding and decoding method according to the present invention, only the data structure of H d needs to be stored in the memory. That is, since H p and H p -1 are structured data structures, there is no need to store them, and only the H d data structure can be encoded and decoded, thereby saving memory.

본 발명이 갖는 기술적 사상은 상기 특징들을 갖는 Hd와 같은 데이터 구조가 기록된, CD-ROM, 플로피 디스크, 컴퓨터 메모리 또는 이동통신용 단말기의 메모리 등과 같은 CPU(Control Process Unit)에 의해 판독 가능한 기록 매체에도 미칠 수 있음이 이해되어야 한다.The technical idea of the present invention is a recording medium readable by a CPU (Control Process Unit) such as a CD-ROM, a floppy disk, a computer memory, or a memory of a mobile communication terminal, on which a data structure such as H d having the above characteristics is recorded. It should be understood that it can also extend.

본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.It will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. 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.

본 발명에 의한 LDPC 코드를 이용한 부호화 방법 및 부호화를 위한 컴퓨터로 읽을 수 있는 기록 매체에 따르면, LDPC 부호화에 필요한 패리티 검사 행렬(parity check matrix)의 일부를 구조화된(structured) 형태로 구성함으로써 그 부분에 대해서는 메모리에 저장할 필요학 없으 그 만큼 메모리를 절약할 수 있고 부호화 및 복호화를 위한 계산 과정도 간단해지는 효과가 있다.According to the encoding method using the LDPC code and the computer-readable recording medium for encoding according to the present invention, a portion of the parity check matrix required for LDPC encoding is structured in a structured form. For this reason, there is no need to store the memory in memory, and thus the memory can be saved and the calculation process for encoding and decoding can be simplified.

Claims (9)

LDPC(Low Density Parity Check) 코드를 이용한 부호화 방법에 있어서,In the encoding method using a low density parity check (LDPC) code, 소스 입력 데이터를 [Hd|Hp] 의 구성을 갖는 패리티 검사 행렬 H를 이용하여 부호화하는 단계를 포함하되,Encoding the source input data using the parity check matrix H having a configuration of [H d | H p ], 상기 Hd를 (n-k)/m×k 차원을 갖는 m개의 서브행렬로 분할한 경우에, 상기 m개의 서브행렬들 중 하나의 특정 서브행렬의 모든 열의 무게(column weight)가 1이고, 상기 특정 서브행렬의 j번째 행(row)은 Wj (j=1, 2, ... , (n-k)/m)개의 연속적인 1을 갖으며, 상기 Hd 전체적으로 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않으며,When the H d is divided into m submatrices having (nk) / m × k dimensions, the column weight of all columns of one particular submatrix of the m submatrices is 1, and the specific The jth row of the submatrix has W j (j = 1, 2, ..., (nk) / m) consecutive 1s, and any two rows throughout the H d Does not have 1 at more than one point at the same time, 상기 Wj는 상기 특정 서브행렬의 모든 행에 대해서 불규칙적으로 증가하거나 감소하는 것을 특징으로 하는, LDPC 코드를 이용한 부호화 방법.The W j coding method using an LDPC code, characterized in that for increasing or decreasing irregularly for all the rows of the particular sub-matrix. 제1항에 있어서,The method of claim 1, k 비트의 소스 입력 데이터인 u 벡터는 다음의 식,The u vector, which is the k-bit source input data, is c = [I|(Hp -1d)t]tㆍu (여기서, c는 n 비트의 부호어(codeword), I는 k×k 차원의 단위 행렬, Hp 및 Hd 는 패리티 검사 행렬 H의 일부분으로서 H=[Hd|Hp](Hd는 (n-k)×k, Hp는 (n-k)×(n-k) 차원임)의 관계임.) 에 따라 부호화되는 것을 특징으로 하는, LDPC 코드를 이용한 부호화 방법.c = [I | (H p -1 H d ) t ] t ㆍ u (where c is an n-bit codeword, I is a unit matrix of k × k dimension, H p and H d are parity checks) Is encoded according to H = [H d | H p ] (where H d is (nk) × k and H p is (nk) × (nk)) as part of the matrix H). , Coding method using LDPC code. 삭제delete 삭제delete 제1항에 있어서,The method of claim 1, 상기 Hp는 이중 대각 행렬(dual diagonal matrix)인 것을 특징으로 하는 LDPC 코드를 이용한 부호화 방법.The H p is an encoding method using an LDPC code, characterized in that the dual diagonal matrix. 삭제delete 삭제delete 삭제delete 삭제delete
KR1020040058647A 2004-07-27 2004-07-27 Encoding method by using LDPC code and computer-readable medium for the same KR101073907B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020040058647A KR101073907B1 (en) 2004-07-27 2004-07-27 Encoding method by using LDPC code and computer-readable medium for the same
US11/572,705 US7814403B2 (en) 2004-07-27 2005-07-26 Method of encoding and decoding using low density parity check code
JP2007523474A JP4672015B2 (en) 2004-07-27 2005-07-26 Encoding and decoding method using low density parity check code
EP05771124.4A EP1782540B1 (en) 2004-07-27 2005-07-26 Method of encoding and decoding using low density parity check code
CN2005800255866A CN101305521B (en) 2004-07-27 2005-07-26 Method of encoding and decoding using low density parity check code
PCT/KR2005/002421 WO2006011744A2 (en) 2004-07-27 2005-07-26 Method of encoding and decoding using low density parity check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040058647A KR101073907B1 (en) 2004-07-27 2004-07-27 Encoding method by using LDPC code and computer-readable medium for the same

Publications (2)

Publication Number Publication Date
KR20060010068A KR20060010068A (en) 2006-02-02
KR101073907B1 true KR101073907B1 (en) 2011-10-17

Family

ID=37120451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040058647A KR101073907B1 (en) 2004-07-27 2004-07-27 Encoding method by using LDPC code and computer-readable medium for the same

Country Status (2)

Country Link
KR (1) KR101073907B1 (en)
CN (1) CN101305521B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014123351A1 (en) * 2013-02-07 2014-08-14 Choi Sujeong Method and apparatus for encoding/decoding using sparse inverse code based on specific density
WO2014123353A1 (en) * 2013-02-07 2014-08-14 Choi Sujeong Method and apparatus for encoding/decoding using sparse matrix based on specific density

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929080B1 (en) * 2006-02-20 2009-11-30 삼성전자주식회사 Signal transceiving device and method in communication system
KR101455978B1 (en) * 2007-03-27 2014-11-04 엘지전자 주식회사 Method for encoding data using a Low Density Parity Check code
CN107017965A (en) * 2017-01-17 2017-08-04 北京银河信通科技有限公司 A kind of permanent envelope code modulating method of high-order applied to Unmanned Aerial Vehicle Data Link
US10944429B1 (en) * 2020-01-02 2021-03-09 Silicon Motion, Inc. Data accessing method using data protection with aid of parity check matrix having partial sequential information, and associated apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037298A1 (en) 2001-07-11 2003-02-20 International Business Machines Corporation Method and apparatus for low density parity check encoding of data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037298A1 (en) 2001-07-11 2003-02-20 International Business Machines Corporation Method and apparatus for low density parity check encoding of data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Eric Jacobsen et al., "Draft text for LDPC coding scheme for OFDMA," IEEE 802.16 Broadbanc Wireless Access Working Group, C802.16d-04/82, 2004.04.26.*
Yu Yi et al., "The Semi-Algebra Low-Density Parity-Check Codes," IEEE ICC 2004, Vol. 1, pp. 440-443, 20-24 Jun. 2004.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014123351A1 (en) * 2013-02-07 2014-08-14 Choi Sujeong Method and apparatus for encoding/decoding using sparse inverse code based on specific density
WO2014123353A1 (en) * 2013-02-07 2014-08-14 Choi Sujeong Method and apparatus for encoding/decoding using sparse matrix based on specific density

Also Published As

Publication number Publication date
KR20060010068A (en) 2006-02-02
CN101305521B (en) 2013-01-02
CN101305521A (en) 2008-11-12

Similar Documents

Publication Publication Date Title
JP4672016B2 (en) Encoding and decoding method using low density parity check matrix
KR101208547B1 (en) Method of encoding and decoding using ldpc code
KR20050123336A (en) Encoding method for variable code rate by using ldpc code
US8438459B2 (en) Apparatus and method for decoding using channel code
US20080294963A1 (en) Method and apparatus for designing low density parity check code with multiple code rates, and information storage medium thereof
US7917827B2 (en) Method of encoding and decoding using LDPC code and apparatus thereof
JP4672015B2 (en) Encoding and decoding method using low density parity check code
KR101073907B1 (en) Encoding method by using LDPC code and computer-readable medium for the same
KR101079087B1 (en) Encoding method by using LDPC code and computer-readable medium for the same
KR20060013197A (en) Encoding method by using ldpc code and computer-readable medium for the same
KR20090086744A (en) Method of encoding/decoding data using ldpc code and parity check matrix therefor
EP1800406A2 (en) Method of encoding and decoding using ldpc code and apparatus thereof
KR20090095288A (en) Method of generating parity check matrix

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
FPAY Annual fee payment

Payment date: 20140924

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160923

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee