KR20050044963A - q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법 - Google Patents

q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법 Download PDF

Info

Publication number
KR20050044963A
KR20050044963A KR1020030078869A KR20030078869A KR20050044963A KR 20050044963 A KR20050044963 A KR 20050044963A KR 1020030078869 A KR1020030078869 A KR 1020030078869A KR 20030078869 A KR20030078869 A KR 20030078869A KR 20050044963 A KR20050044963 A KR 20050044963A
Authority
KR
South Korea
Prior art keywords
matrix
parity check
generation
check matrix
code
Prior art date
Application number
KR1020030078869A
Other languages
English (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 KR1020030078869A priority Critical patent/KR20050044963A/ko
Priority to US10/983,347 priority patent/US20050149845A1/en
Publication of KR20050044963A publication Critical patent/KR20050044963A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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/6561Parallelized implementations

Abstract

본 발명은디지털 통신 시스템에서 사용되는 저밀도 패러티 검사 부호를 구현 하는데 있어 부호화 복잡도를 현저히 감소시킬 수 있는 부호화 방법에 관한 것으로 본 발명에 따른 부호화 방법에서는 다수의 순환 행렬을 원소로 하여 구성되는 패러티 검사 행렬 H를 생성하고, 상기 패러티 검사 행렬을 이용하여 생성 행렬 G를 구성하여, 상기 정보 비트에 상기 생성 행렬 G을 적용함으로써 상기 정보 비트를 부호화 한다.

Description

q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사 부호 생성 방법{METHOD FOR CONSTRUCTING QC-DLPC CODES USING Q'TH POWER RESIDUE}
본 발명은디지털 통신 시스템에서의 채널 부호화에 관한 것으로 더욱 상세하게는 개선된 저밀도 패러티 검사 (Low Density Parity Check: LDPC) 부호 구현 방법에 관한 것이다.
LDPC 부호는 터보 부호보다 우수한 성능, 낮은 복호 복잡도, 병렬처리로 고속 처리가 가능하기 때문에 4세대 이동 통신 시스템에 적합한 부호화 방식으로 많은 관심을 받고 있다.
LDPC는 1962년 Gallager에 의해 처음 제안되었으며, 패러티 검사 행렬(Parity Check Matrix) H의 원소들의 대부분이 '0'인 선형 블록 부호(Linear block code)로서 당시의 기술력으로는 구현이 불가능한 부호 복잡도로 인해 오랫동안 잊혀져 왔다. 그러나, Mackay와 Neal은 이를 재발견하였고, Gallager의 간단한 확률적(Prababilistic) 복호법을 이용하여 성능이 매우 우수함을 보였다.
상기 LDPC 부호는 행렬 안의 '1'의 개수가 적은(sparse)한 랜덤 패러티 검사 행렬 H에 의해 정의된다. 상기 패러티 검사 행렬 H는 수신된 신호에 대한 정상적인 복호 여부를 확인하기 위한 행렬로서, 부호화된 수신 신호와 패러티 검사 행렬 H의 곱이 '0'이 되었을 경우 에러가 발생하지 않은 것으로 판단한다. 따라서, 상기 LDPC 부호는 모든 부호화된 수신 신호에 대해 곱하였을 경우 '0'이 될 수 있는 소정의 패러티 검사 행렬을 먼저 설계한 후, 상기 결정된 패러티 검사 행렬에 따른 송신측의 부호화기에서 부호화시키는 연산을 역으로 산출하게 된다.
상기 패러티 검사 행렬 H는 구조적으로 다음과 같은 특징을 가지고 있다. 첫째, 각 행(Row)은 무게(weight)가 k로 균일하게 구성된다. 둘째, 각 열(Column)은 무게가 j로 균일하게 구성된다. 이러한 무게 j로는 일반적으로 3 또는 4가 사용된다. 셋째, 임의의 두 열 사이의 중첩(overlap)은 1보다 크지 않게 랜덤하게 구성한다. 여기서, 무게란 0이 아닌 요소, 즉 1의 수를 말하며, 두 개의 열의 사이의 중첩이란 행간의 내적을 의미한다. 따라서, 부호 길이에 비하여 행과 열의 무게가 매우 작다. 상기와 같은 이유로 패러티 검사 행렬 H에 의해 구성되어 진다고 하여 저밀도 패러티 검사 부호라 한다.
상기 LDPC 부호는 팩터 그래프 (factor graph) 상에서 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘을 사용하여 복호할 수 있다. 상기 합곱 알고리즘에 기반한 반복 복호 알고리즘을 사용하는 복호 방법을 사용함으로써 상기 LDPC 부호의 복호기(decoder)는 상기 터보 부호의 복호기에 비해 낮은 복잡도를 가질 뿐만 아니라 병렬 처리 복호기를 구현함에 있어 용이하게 된다.
LDPC 부호는 상기한 바와 같은 우수한 성능에도 불구하고 터보 부호에 비해 부호화 복잡도가 너무 크다는 단점을 가지고 있다. LDPC 부호는 기본적으로 블록 부호이기 때문에 부호화 과정은 행렬 곱셈에 의해 수행되므로 부호화 복잡도는 부호어 길이의 제곱에 비례한다.
도 1a 및 도 1b는 기존에 제안된 LDPC 부호 생성 방법을 보인 도면이고 도 1c는 도 1a 및 도 1b의 LDPC 부호 생성 방법에 의해 설계된 부호율 1/2의 균일한 랜덤 LDPC 부호의 검사 행렬로서 검은 점들은 '0'이 아닌 원소들을 나타낸다.
부호화 과정은 패러티 검사 행렬로부터 가우스 소거법을 통해 생성 행렬을 구한 후 행렬 곱셈을 통하여 이루어지게 되며, 이 경우 생성 행렬에서 '1'의 개수가 적은 성질이 유지 되지 않으므로 부호화 과정의 복잡도가 크게 증가하는 문제가 발생한다. 한편, 부호화 과정의 복잡도 문제를 해결하기 위해 검사 행렬을 재구성하는 방법을 통하여 제곱에 비례하는 연산을 최소화함으로써 부호화 복잡도를 낮추는 알고리즘이 제안된 바 있으며 이외에도 부호화 복잡도를 줄이기 위한 몇 가지 부호화 알고리즘이 제안되어 왔으나 부호화 복잡도를 현저히 감소시킬 수 있는 부호기 구조 혹은 부호화 알고리즘은 개발되지 못하고 있다. 따라서, 차세대 이동통신 시스템에 적합한 부호화 방식으로서 부호화 복잡도를 감소시키는 동시에 우수한 성능을 발휘할 수 있는 LDPC 부호기의 개발이 요구된다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로 본 발명의 목적은 LDPC 부호를 효율적으로 생성할 수 있는 부호화 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 부호화 복잡도를 현저히 감소시킴과 동시에 최적의 부호화 이득을 얻을 수 있는 부호화 방법을 제공하는 것이다.
본 발명의또 다른 목적은 패러티 검사 행렬 구성 시 작은 사이클을 현저히 줄여 반복 복호 수행 시 독립성 증가로 성능의 향상시킬 수 있는 부호화 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 블록 단위로 병렬 처리를 통해 부호화를 수행하여 부호화 지연 시간을 단축시킬 수 있는 부호화 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 하나의 하드웨어 구조를 이용하여 다양한 부호율과 부호어 길이를 갖는 부호어를 생성할 수 있는 부호화 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 따른 LDPC 부호 생성 방법에서는 다수의 순환 행렬을 원소로 하여 구성되는 패러티 검사 행렬 H를 생성하고, 상기 패러티 검사 행렬을 이용하여 생성 행렬 G를 구성하고, 정보 비트에 상기 생성 행렬 G을 적용하여 상기 정보 비트를 부호화 한다.
상기 패러티 검사 행렬 H는 n 개의 순환행렬 행과 m개의 순환행렬 열로 구성되는 m x n 행렬이며 상기 각각의 순환 행렬은 p x p 행렬이다.
패러티 검사 행렬 생성 과정은 출력될 저밀도 패러티 검사 부호의 부호율과 부호어 길이를 설정하는 것을 더욱 포함한다.
상기 부호율은 상기 패러티 검사 행렬의 열의 개수 n에서 패러티 검사 행렬의 행의 개수 m을 뺀 값을 상기 n으로 나누어서 ((n-m)/n) 구해지며 상기 부호어 길이는 상기 순환 행렬의 길이 p에 상기 패러티 검사 행렬의 길이 n을 곱한 값이다.
상기 패러티 검사 행렬 생성 과정은 (p-1)/2차 제곱 잉여류인 (1, -1)과 비잉여류모부터 얻어진 다항식과 등가인 행렬로 구성된다.
상기 패러티 검사 행렬 생성 과정은 상기 패러티 검사행렬의 열무게가 3이 되도록 상기 순환 행렬들을 재구성하는 것을 더욱 포함한다.
상기 생성 행렬 G을 구성하는 과정은 상기 패러티 검사 행렬에 행연산을 수행하여 변형된 검사 행렬 H'를 구하는 것을 더욱 포함한다.
상기 변형된 검사 행렬 H'는 (I는 단위 행렬)의 구조적 형태를 갖는다. 상기 생성 행렬 G를 구성하는 과정은 상기 변형된 검사 행렬 H'로부터 생성 행렬 G를 구하는 것을 더욱 포함한다. 상기 생성 행렬 G는 의 구조적 형태를 갖는다.
상기 정보 비트 부호화 과정은 상기 정보 비트에 상기 생성 행렬 G를 곱하여 부호어 c를 생성하는 것을 포함한다. 상기 부호어 생성 과정은 행렬 곱셈 대신 다항식 곱셈을 통해 이루어진다.
본 발명은디지털 통신 시스템에서 사용되는 오류 정정 부호인 LDPC 부호의 부호화기 설계에 관한 것으로 일반적으로 행렬 연산을 통하여 수행되는 부호화 과정을 쉬프트 레지스터를 이용하여 효율적으로 수행하여 기존의 부호화기의 성능과 거의 동일한 성능을 보이는 부호화기 설계 방법에 관한 것이다. 본 발명의 LDPC 부호화기는 m개의 행방향 그리고 n 개의 열방향 순환행렬 블록들로 구성된 QC-LDPC 부호로서 순환행렬간 연산은 그와 동등한 다항식 연산으로 대체할 수 있는 대수학적 특성을 가지므로, 부호화기 구현이 용이하게 된다. 본 발명에서는 이러한 구조를 갖는 균일 LDPC 부호로서 q차 잉여류를 이용하여 각각의 블록에 있는 동등한 다항식을 생성하는 방법을 제안한다. 또한 본 발명의 LDPC 부호화 방법에서는다양한 부호율과 부호어 길이를 갖는 LDPC 부호를 천공(puncturing)이나 단축(shortening) 등을 통하여 쉽게 구현할 수 있으며 고속의 신호 전송을 요구하는 차세대 통신 시스템이나 저장장치의 채널 부호화 기법에 효율적으로 적용할 수 있다.
본 발명에 따른 부호화 방법에서 LDPC 부호의 검사 행렬 H 는 m개의 행 블록과 n개의 열 블록으로 이루어지고 각각의 블록은 순환행렬 (circulant matrix)로 구성되며 상기 순환 행렬은 p x p (여기서 p는 소수)의 크기를 갖는다. 상기 검사 행렬은 다음 수학식 1과 같이 일반화 하여 나타낼 수 있다.
각각의 순환 행렬 Hij는 수학식 1a와 같이 동등한 다항식 hij(x)로 표현할 수 있으며 순환 행렬간의 연산은 다항식 연산으로 대체하여 처리한다.
이와 같이 순환 행렬 블록으로 구성된 LDPC 부호는 준순환-LDPC (Quasi-Cyclic LDPC)부호가 된다 (즉, 부호어에 n 비트 쉬프트를 수행하면 다른 부호어가 된다). 본 발명에 따른 LDPC 부호를 구성하는 순환행렬은 수학식 2와 같이 표현할 수 있으며 수학식 2에서 보는 바와 같이 q차 제곱 잉여류를 이용한 다항식들의 행렬로 구성된다.
여기서 는 수학식 2a와 같이 다항식으로 표기할 수 있다.
본 발명에 따른 부호는 균일 LDPC 부호이며, 균일 LDPC 부호는 열무게 (column weight)가 3인 경우 가장 성능이 우수하므로 수학식 3과 같이 열무게가 3이 되는 구조를 갖도록 한다.
여기서 다항식 항의 개수는 2 이하가 되도록 하며, 이는 각 순환행렬 블록의 첫번째 행의 1의 개수가 2 이하 임을 의미한다.
수학식 3에서 다항식 ( )의 무게는 2이고 그렇지 않은 경우 다항식의 무게는 1이다.
이와 같이 구성된LDPC 부호는 패러티 검사 행렬 을 가지며 검사 행렬 는 구조적 형태를 갖는 행렬 로 변경된다.
이하, 본 발명의 바람직한 실시예에 따른 LDPC 부호화 방법을 첨부된 도면을 참조하여 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 부호화 방법을 설명하기 위한 순서도이다. 도 2에서 보는 바와 같이, 본 발명에 따른 LDPC 부호 생성 방법에서는 먼저 LDPC 부호 생성을 위해 부호율 및 부호 길이를 설정한다(S201). 부호율은 패러티 검사행렬 H의 행블록의 수 m과 열블록 수 n에 의해 (n-m)/n으로 결정되며, 부호어의 길이는 각 블록을 구성하는 순환행렬의 크기인 소수 p의 배수인 np로 결정된다.
상기 패러티 검사 행렬 H 는 m개의 행 블록과 n개의 열 블록으로 이루어지고 각각의 블록은 순환행렬 (circulant matrix)로 구성된다.
부호율과 부호 길이가 결정되면 순환행렬을 구성한다(S202). 순환 행렬은 (p-1)/2차 제곱 잉여류 ((P-1)/2번째 파워 잉여류)인 (1,-1)과 비잉여류 (non-residue)로부터 얻어진 다항식과 등가인 행렬로 구성된다. 행블록 개수가 m 그리고 열블록 개수가 n인 경우 제곱 잉여류로부터 각 블록의 다항식은 수학식 2와 같이 결정된다. 여기서 는 유한체 GF(p)에서의 원시근(primitive root)이다. 즉, 제곱 잉여류와 비잉여류를 순차적으로 구성하여 다항식을 생성한다. 여기서 는 다항식 의 표기로 정의한다.
순환행렬이 구성되면 각 블록의 순환행렬의 무게 분포를 수학식 3과 같이 선택하여 열방향 무게가 3이 되도록 패러티 검사행렬 H를 구성한다(S203). 각 블록에서 다항식의 무게는 0, 1, 또는 2가 되며 수학식 2에서 결정된 다항식은 새로 결정된 다항식 무게에 맞추어서 천공된다.
열무게가 3인 균일 패러티 검사 행렬 H가 구성되면, 생성행렬을 통한 구조적인 부호화기(systematic encoder)를 구성한다 (S204). 수학식 3의 패러티 검사행렬 H는 왼쪽의 정방 행렬이 항상 역행렬을 가지므로, 행연산 (row operation)에 의하여 형태로 변경할 수 있다. 상기 구조적으로 변형된 검사행렬 은 수학식 4와 같이 나타낼 수 있다.
따라서, 상기 수학식 4로부터 생성행렬 형태의 구조적인 부호화기 설계가 가능하고, 행렬 곱셈 대신 다항식 곱셈을 통한 부호화 과정이 이루어진다.
여기서 k=n-m으로 정보 심볼 블록의 크기를 나타낸다.
이와 같이 구성된 구조적인 부호화기를 이용하여 부호화가 수행된다(S205). 정보 벡터의 총길이는 pk이고, p개씩 k 개의 블록 단위로 부호화가 이루어진다.
정보벡터 은 유전체 GF(2)상에서의 의 법 다항식(polynomial modular )과 등가인 으로 표현할 수 있다. 따라서 부호어 는 수학식 4a와 같이 다항식 연산을 통하여 얻을 수 있다.
도 3a는 본 발명의 바람직한 실시예에 따른 부호화 방법에 의해 생성되는 패러티 검사행렬 을 개략적으로 보인 도면이다.
도 3a에서 보는 바와 같이, 본 발명의 바람직한 실시예에 따른 LDPC 부호화 방법에서 QC-LDPC 부호의패러티 검사 행렬 는 다수의 순환 행렬들로 구성되며 사선은 1의 값을 갖는 원소(element)들이 존재하는 위치를 나타내며, 사선 이외의 부분을 모두 0의 값을 갖는 원소들로 구성된다. 상기 패러티 검사 행렬 는 길이가 1002이고, 행블록의 개수가 3, 열블록의 개수가 6, 그리고 부효율이 1/2이다. 이용된 소수는 167이고 원시근 123을 선택하여 생성된다.
도 3b는 상기 도 3a의 검사 행렬을 구조적으로 변형시킨 행렬 를 보인 도면이다. 패러티 검사행렬 H는 왼쪽의 정방 행렬이 항상 역행렬을 가지므로 행 연산을 통해 의 형태로 변형된다. 도 3b에서 보는 바와 같이, 구조적으로 변형시킨 행렬 은 왼쪽은 단위행렬의 형태를 그리고 오른쪽은 패러티 행렬 P의 형태를 갖는다.
도 4는 본 발명의 바람직한 실시예에 따른 부호화 방법에서 쉬프트 레지스터를 이용하여 병렬 처리 기법에 의한 부호화 과정을 보인 도면이다.
도 4에서와 같이, 본 발명에서는 쉬프트 레지스터를 이용해 행렬 곱셈 대신 다항식 곱셈을 통한 부호화 과정이 이루어진다. 다시 말해, 전송될 정보비트들은 다항식 m(x)로 나타낼 수 있으며 정보 비트 다항식 m(x)에 검사비트 다항식 p(x)을 원소로 구성된 생성행렬 다항식 G(x)를 곱하여 부호어 다항식 c(x)를 생성한다. 따라서, 부호어는 c(x)는 다음 수학식 5와 같이 나타낼 수 있다.
도 5는 부호길이가 np이며 부호율이 k/n인 부호와, 이를 단축(shortening)하여 얻어진 부호율 k'/p인 LDPC 부호화기 구조를 보인 도면이다. 도 5에서 단축 부호어 cshortened(x) 는 정보 비트 다항식 m'(x)에 단축된 생성행렬 다항식 Gshortened(x)를 곱하여 생성되며 다음 수학식 6와 같이 나타낼 수 있다.
도 6는 본 발명의 바람직한 실시예에 따른 부호화 방법과 종래의 랜덤 LDPC 부호화 방법의 성능을 비교 설명하기 위한 그래프이다.
본 발명에 따른 LDPC 부호의 성능 실험은 LDPC 부호의 성능을 분석하기 위해 일반적으로 사용되는 백색 가우시안 잡음 채널 환경에서 섬-프로덕트 (sum-product) 알고리즘을 이용하여 최대 반복 복호 회수를 80번으로 제한하여 실험하였다.
비교 대상 LDPC 부호화방법은 도 1에 예시된 부호어 길이는 1002이고 부호율이 1/2인 랜덤 LDPC 부호화 방법이다. 본 발명에 따른 LDPC 부호화 방법에서는 원시근 를 적절히 선택함으로써, 싸이클 4와 싸이클 6이 제거된 검사행렬을 만들 수 있다.
도 6의 그래프에서 알 수 있듯이 본 발명의 바람직한 실시예에 따른 QC-LDPC 부호는 낮은 부호화 복잡도를 갖으면서도 복호 성능면에서 종래의 랜덤 LDPC 부호와 동등한 성능을 보인다.
본 발명에따른 부호화 방법에서는 생성 행렬이 순환 행렬을 원소로 갖는 블록 행렬 형태로 구성되며 순환 행렬간의 행렬 곱셈을 이와 동등한 다항식 곱셈으로 수행할 수 있기 때문에 쉬프트 레지스터를 이용한 효율적인 부호화가 가능하다.
또한, 본 발명에 따른 부호화 방법에서는 패러티 검사 행렬 구성에 있어서, 작은 사이클이 현저히 줄어들어서 반복 복호 수행시 독립성 증가로 성능의 향상을 가져온다.
또한, 본 발명에 따른 부호화 방법에서 부호화 과정은 각 블록 단위로 병렬 처리를 통해 이루어지므로 부호화 지연 시간을 단축시킬 수 있다.
또한, 본 발명에 따른 부호화 방법을 이용하면 하나의 하드웨어 구조를 이용하여 다양한 부호율과 부호어 길이를 갖는 부호어를 생성할 수 있다.
또한, 발명에 따른 부호화 방법에 의해 생성된 LDPC 부호는 낮은 부호화 복잡도로 구현됨에도 종래의 랜덤 LDPC부호에 비해 복호 성능이 떨어지지 않는다.
도 1a 및 도 1b는 각각 부호율 1/2 및 1/3인 종래의 랜덤 LDPC 부호의 구조를 보인 도면;
도 1c는 도 1a 및 도 1b의 LDPC 부호 생성 방법에 의해 설계된 균일한 랜덤 LDPC 부호의 검사 행렬의 예시도;
도 2는 본 발명의 바람직한 실시예에 따른 부호화 방법을 설명하기 위한 순서도;
도 3a은 본 발명의 바람직한 실시예에 따른 부호화 방법에 의해 설계된 LDPC 부호의 패러티 검사 행렬의 구조를 보인 도면;
도 3b는 상기 도 3a의 패러티 검사 행열을 구조적으로 변경한 구조적 검사 행렬을 보인 도면;
도 4는 본 발명의 바람직한 실시예에 따른 부호화 방법이 적용되는 부호화기를 보인 도면;
도 5는 다양한 부호율과 부호 길이에 적용 가능한 부호화기를 보인 도면;
도 6은 본 발명의 바람직한 실시예에 따라 생성된 LDPC 부호와 종래의 랜덤 LDPC 부호의 성능을 비교하기 위한 그래프이다.

Claims (15)

  1. 정보 비트에 패러티 비트를 더하여 부호화 하는 방법에 있어서,
    다수의 순환 행렬을 원소로 하여 구성되는 패러티 검사 행렬 H를 생성하고
    상기 패러티 검사 행렬을 이용하여 생성 행렬 G를 구성하고
    상기 정보 비트에 상기 생성 행렬 G을 적용하여 상기 정보 비트를 부호화 하는 저밀도 패러티 검사 부호 생성 방법.
  2. 제 1항에 있어서, 상기 패러티 검사 행렬 H는 n 개의 순환행렬 행과 m개의 순환행렬 열로 구성되는 m x n 행렬인 것을 특징으로 하는 저밀도 패러티 검사 부호 생성 방법.
  3. 제 2항에 있어서, 상기 m은 3이고 상기 n은 6인 것을 특징으로 하는 저밀도 패러티 검사 부호 생성 방법.
  4. 제 2항에 있어서, 상기 각각의 순환 행렬은 p x p 행렬인 것을 특징으로 하는 저밀도 패러티 검사 부호 생성 방법.
  5. 제 4항에 있어서, 패러티 검사 행렬 생성 과정은 출력될 저밀도 패러티 검사 부호의 부호율과 부호어 길이를 설정하는 것을 더욱 포함하는 저밀도 패러티 검사 부호 생성 방법.
  6. 제 5항에 있어서, 상기 부호율은 상기 패러티 검사 행렬의 열의 개수 n에서 패러티 검사 행렬의 행의 개수 m을 뺀 값을 상기 n으로 나누어서 ((n-m)/n) 구하는 것을 특징으로 하는 저밀도 패러티 검사 부호 생성 방법.
  7. 제 5항에 있어서, 상기 부호어 길이는 상기 순환 행렬의 길이 p에 상기 패러티 검사 행렬의 길이 n을 곱한 값인 것을 특징으로 하는 저밀도 패러티 검사 부호 생성 방법.
  8. 제 5항에 있어서, 상기 패러티 검사 행렬 생성 과정은(p-1)/2차 제곱 잉여류인 (1, -1)과 비잉여류모부터 얻어진 다항식과 등가인 행렬로 구성하는 것을 더욱 포함하는 저밀도 패러티 검사 부호 생성 방법.
  9. 제 8항에 있어서, 상기 패러티 검사 행렬 생성 과정은 상기 패러티 검사행렬의 열무게가 3이 되도록 상기 순환 행렬들을 재구성하는 것을 더욱 포함하는 저밀도 패러티 검사 부호 생성 방법.
  10. 제 9항에 있어서, 상기 생성 행렬 G을 구성하는 과정은 상기 패러티 검사 행렬에 행연산을 수행하여 변형된 검사 행렬 H'를 구하는 것을 더욱 포함하는 저밀도 패러티 검사 부호 생성 방법.
  11. 제 10항에 있어서, 상기 변형된 검사 행렬 H'는 (I는 단위 행렬)의 구조적 형태를 갖는 것을 특징으로 하는 저밀도 패러티 검사 부호 생성 방법.
  12. 제 11항에 있어서, 상기 생성 행렬 G를 구성하는 과정은 상기 변형된 검사 행렬 H'로부터 생성 행렬 G를 구하는 것을 더욱 포함하는 저밀도 패러티 검사 부호 생성 방법.
  13. 제 12항에 있어서, 상기 생성 행렬 G는 의 구조적 형태를 갖는 것을 특징으로 하는 저밀도 패러티 검사 부호 생성 방법.
  14. 제 12항에 있어서, 상기 정보 비트 부호화 과정은 상기 정보 비트에 상기 생성 행렬 G를 곱하여 부호어 c를 생성하는 것을 특징으로 하는 저밀도 패러티 검사 부호 생성 방법.
  15. 제 14항에 있어서, 상기 부호어 생성 과정은 행렬 곱셈 대신 다항식 곱셈을 통해 이루어지는 것을 특징으로 하는 저밀도 패러티 검사 부호 생성방법.
KR1020030078869A 2003-11-08 2003-11-08 q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법 KR20050044963A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030078869A KR20050044963A (ko) 2003-11-08 2003-11-08 q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법
US10/983,347 US20050149845A1 (en) 2003-11-08 2004-11-08 Method of constructing QC-LDPC codes using qth-order power residue

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030078869A KR20050044963A (ko) 2003-11-08 2003-11-08 q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법

Publications (1)

Publication Number Publication Date
KR20050044963A true KR20050044963A (ko) 2005-05-16

Family

ID=34709210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030078869A KR20050044963A (ko) 2003-11-08 2003-11-08 q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법

Country Status (2)

Country Link
US (1) US20050149845A1 (ko)
KR (1) KR20050044963A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100709545B1 (ko) * 2005-12-15 2007-04-20 후지쯔 가부시끼가이샤 부호기 및 복호기
KR100929079B1 (ko) * 2005-10-31 2009-11-30 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템의 복호 장치 및 방법
KR100941680B1 (ko) * 2005-07-01 2010-02-12 삼성전자주식회사 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0031009D0 (en) * 2000-12-20 2001-01-31 Robson Brian Ceramic core and/or mould for metal casting
US7458003B2 (en) * 2003-12-01 2008-11-25 Qualcomm Incorporated Low-complexity, capacity-achieving code for communication systems
US20050160351A1 (en) * 2003-12-26 2005-07-21 Ko Young J. Method of forming parity check matrix for parallel concatenated LDPC code
US7581159B2 (en) * 2004-11-23 2009-08-25 Texas Instruments Incorporated Simplified decoding using structured and punctured LDPC codes
US7752520B2 (en) * 2004-11-24 2010-07-06 Intel Corporation Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes
US7499490B2 (en) * 2005-06-24 2009-03-03 California Institute Of Technology Encoders for block-circulant LDPC codes
CN100446427C (zh) * 2006-08-07 2008-12-24 北京泰美世纪科技有限公司 移动数字多媒体广播系统中ldpc码的构造方法
JP4702632B2 (ja) * 2007-04-06 2011-06-15 ソニー株式会社 符号化方法および符号化装置、並びにプログラム
US8117523B2 (en) * 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
US8103931B2 (en) * 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516351B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516352B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8458553B2 (en) * 2009-07-28 2013-06-04 Lsi Corporation Systems and methods for utilizing circulant parity in a data processing system
CN102868483A (zh) * 2011-07-06 2013-01-09 北京新岸线无线技术有限公司 一种用于数据传输的方法及装置
US8566667B2 (en) * 2011-07-29 2013-10-22 Stec, Inc. Low density parity check code decoding system and method
US8762798B2 (en) 2011-11-16 2014-06-24 Stec, Inc. Dynamic LDPC code rate solution
CN104104393A (zh) * 2013-04-02 2014-10-15 盐城师范学院 一种具有简单迭代码结构的准循环ldpc码设计方法
KR102178262B1 (ko) * 2014-07-08 2020-11-12 삼성전자주식회사 패리티 검사 행렬 생성 방법, 그를 이용한 부호화 장치, 부호화 방법, 복호화 장치 및 복호화 방법
CN104579366B (zh) * 2015-01-30 2019-02-22 荣成市鼎通电子信息科技有限公司 Wpan中基于三级流水线的高速qc-ldpc编码器
CN108494411B (zh) * 2018-03-30 2021-09-17 山东大学 一种多进制ldpc码校验矩阵的构造方法
US10949298B2 (en) * 2018-09-21 2021-03-16 Taiwan Semiconductor Manufacturing Company, Limited System and method of reducing logic for multi-bit error correcting codes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020031036A (ko) * 2000-10-21 2002-04-26 윤종용 통신시스템에서 부호 생성장치 및 방법
KR20030016720A (ko) * 2001-08-21 2003-03-03 한국전자통신연구원 신호대 잡음비 추정에 의한 엘디피씨 복호화 장치의 최대반복 복호수 적응 설정 장치 및 그 방법과, 이 장치를포함하는 엘디피씨 복호화 장치 및 그 방법
KR20030036227A (ko) * 2000-06-16 2003-05-09 어웨어, 인크. Ldpc 코드형 변조를 위한 시스템 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002099976A2 (en) * 2001-06-06 2002-12-12 Seagate Technology Llc A method and coding apparatus using low density parity check codes for data storage or data transmission
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
KR20040033554A (ko) * 2002-10-15 2004-04-28 삼성전자주식회사 에러 정정 부호화 장치 및 그 방법
KR100502609B1 (ko) * 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
JP4163023B2 (ja) * 2003-02-28 2008-10-08 三菱電機株式会社 検査行列生成方法および検査行列生成装置
ES2356912T3 (es) * 2003-05-30 2011-04-14 Sony Corporation Método de decodificación, dispositivo de decodificación, programa dispositivo de grabación/reproducción y método, y método y dispositivo de reproducción.

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030036227A (ko) * 2000-06-16 2003-05-09 어웨어, 인크. Ldpc 코드형 변조를 위한 시스템 및 방법
KR20020031036A (ko) * 2000-10-21 2002-04-26 윤종용 통신시스템에서 부호 생성장치 및 방법
KR20030016720A (ko) * 2001-08-21 2003-03-03 한국전자통신연구원 신호대 잡음비 추정에 의한 엘디피씨 복호화 장치의 최대반복 복호수 적응 설정 장치 및 그 방법과, 이 장치를포함하는 엘디피씨 복호화 장치 및 그 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100941680B1 (ko) * 2005-07-01 2010-02-12 삼성전자주식회사 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
US7725801B2 (en) 2005-07-01 2010-05-25 Samsung Electronics Co., Ltd Method of generating quasi-cyclic low density parity check codes and an apparatus thereof
KR100929079B1 (ko) * 2005-10-31 2009-11-30 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템의 복호 장치 및 방법
US7954033B2 (en) 2005-10-31 2011-05-31 Samsung Electronics Co., Ltd Decoding apparatus and method in a communication system using low density parity check codes
KR100709545B1 (ko) * 2005-12-15 2007-04-20 후지쯔 가부시끼가이샤 부호기 및 복호기

Also Published As

Publication number Publication date
US20050149845A1 (en) 2005-07-07

Similar Documents

Publication Publication Date Title
KR20050044963A (ko) q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법
EP2387157B1 (en) Efficient encoding of LDPC codes using structured parity-check matrices
Zhang et al. VLSI implementation-oriented (3, k)-regular low-density parity-check codes
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
US8352847B2 (en) Matrix vector multiplication for error-correction encoding and the like
KR100996029B1 (ko) 저밀도 패리티 검사 코드의 부호화 장치 및 방법
US8108760B2 (en) Decoding of linear codes with parity check matrix
EP1835625B1 (en) Encoding and decoding of accumulate convolutional codes
KR101211433B1 (ko) 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법
JP2008035524A (ja) 反復確率伝搬を使用して記号ブロックを復号化する装置および方法
WO2010073570A1 (ja) 符号化方法、符号化器及び復号器
KR20190008335A (ko) 구조화된 ldpc의 부호화 및 복호화 방법 및 장치
US7493548B2 (en) Method and apparatus for encoding and decoding data
Andrews et al. Encoders for block-circulant LDPC codes
KR101147768B1 (ko) 채널 코드를 이용한 복호화 방법 및 장치
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
CN113422611B (zh) 一种qc-ldpc编码器的高度并行编码方法
KR101125100B1 (ko) 천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법과 이를 이용하는 부호화 및 복호화 방법 및 저장 장치.
Lan et al. Constructions of quasi-cyclic LDPC codes for the AWGN and binary erasure channels based on finite fields and affine mappings
CN110324048B (zh) 一种通信调制系统中ra-ldpc-cc的编码方法及编码器
EP2178213A1 (en) Methods and apparatuses for error correction coding
EP3529900B1 (en) Construction of ldpc convolutional turbo codes
KR20070025522A (ko) Ldpc 부호의 복호 방법
Baloch et al. Performance Analysis of LDPC Convolutional Codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application