KR100739684B1 - 저밀도 패리티 체크 행렬 생성 장치 및 방법 - Google Patents

저밀도 패리티 체크 행렬 생성 장치 및 방법 Download PDF

Info

Publication number
KR100739684B1
KR100739684B1 KR1020040061797A KR20040061797A KR100739684B1 KR 100739684 B1 KR100739684 B1 KR 100739684B1 KR 1020040061797 A KR1020040061797 A KR 1020040061797A KR 20040061797 A KR20040061797 A KR 20040061797A KR 100739684 B1 KR100739684 B1 KR 100739684B1
Authority
KR
South Korea
Prior art keywords
parity check
check matrix
index
register
row
Prior art date
Application number
KR1020040061797A
Other languages
English (en)
Other versions
KR20060013028A (ko
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 KR1020040061797A priority Critical patent/KR100739684B1/ko
Priority to US11/081,094 priority patent/US7447972B2/en
Priority to TW094117622A priority patent/TW200607247A/zh
Priority to CNA200510077599XA priority patent/CN1731684A/zh
Priority to EP05253997A priority patent/EP1624583B1/en
Priority to DE602005009085T priority patent/DE602005009085D1/de
Priority to AT05253997T priority patent/ATE405994T1/de
Priority to JP2005221616A priority patent/JP2006050622A/ja
Publication of KR20060013028A publication Critical patent/KR20060013028A/ko
Application granted granted Critical
Publication of KR100739684B1 publication Critical patent/KR100739684B1/ko

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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

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

Abstract

패리티 체크 행렬 생성 장치 및 방법이 개시된다. 본 발명에 따른 패리티 체흐 행렬 생성 장치는 상기 패리티 체크 행렬의 각각의 열마다, 요소가 1 인 행의 인덱스를 나타내는 요소 1 행 인덱스를 생성하는 하나이상의 인덱스 생성부를 포함하고, 상기 인덱스 생성부는 하나의 클럭마다 상기 하나의 요소 1 행 인덱스를 생성하는 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator)를 이용하여 구현되는 것을 특징으로 한다. 본 발명에 따르면, 패리티 체크 행렬이 메모리에 저장되지 않으므로, 인코더 및 디코더에 필요한 메모리의 용량을 감소시킬 수 있다.

Description

저밀도 패리티 체크 행렬 생성 장치 및 방법{Apparatus and Method for generating Low Density Parity Check Matrix}
도 1은 저밀도 패리티 체크 코딩 및 디코딩 방법 의 개념을 나타내는 도면.
도 2 는 메모리내에 패리티 체크 행렬이 저장된 메모리 구조를 나타내는 도면.
도 3은 본 발명의 일 실시예에 따른 패리티 체크 행렬 생성 장치를 나타내는 도면.
도 4 는 도 3 의 각각의 인덱스 생성부의 내부 구조를 나타내는 도면.
도 5 는 본 발명의 일 실시예에 따른 제 1 인덱스 생성부를 나타내는 도면.
도 6 은 도 5 의 제 1 인덱스 생성부에서 출력되는 행 인덱스를 나열한 도면.
도 7 는 본 발명의 일 실시예에 따른 제 2 인덱스 생성부를 나타내는 도면.
도 8 은 도 7 의 제 2 인덱스 생성부에서 출력되는 행 인덱스를 나열한 도면.
도 9 는 본 발명에 따른 패리티 체크 행렬 생성 방법을 나타내는 시간흐름도이다.
본 발명은 패리티 체크 행렬 생성 장치 및 방법에 관한 것으로서, 보다 상세하게는 인코더 및 디코더내의 메모리 용량을 매우 감소시킬 수 있는 패리티 체크 행렬 방법 및 장치에 관한 것이다.
도 1은 저밀도 패리티 체크 코딩 및 디코딩 방법 의 개념을 나타내는 도면이다.
에러 정정을 위한 부가 정보 생성 방법에 있어서, 저밀도 패리티 체크 (Low Density Parity Check Coding) 코딩 방법이 널리 사용되고 있다. 저밀도 패리티 체크 코딩이란 '0'과 '1'로 구성되고 '1'의 수가 '0'의 수보다 월등히 적은 저밀도 패리티 체크 행렬 H를 이용하여 패리티 정보를 생성하는 방법이다.
패리티 체크 행렬에서 각 행 또는 열에 포함된 1의 개수는 각각 행 차수(row degree) 및 열 차수(column degree)라 한다. 모든 행의 행 차수가 동일하고, 모든 열의 열 차수가 동일한 패리티 체크 행렬을 규칙적(regular) 패리티 체크 행렬이라하고, 그렇지 않은 경우를 불규칙적(irregular) 패리티 체크 행렬이라 한다. 규칙적 패리티 체크 행렬에서 행 차수는 행 웨이트(row weight, Wr) 라고하고, 열 차수는 열 웨이트(column weight, Wc)라고 한다.
LDPC 코딩을 이용한 패리티 정보 생성은 이하 수학식 1에 의해 수행된다.
[수학식 1]
HX=0
여기서 H는 m*n 의 패리티 체크 행렬이며, X 는 n*1 의 코드 워드 행렬이다. X 는 m 개의 메시지 정보와 p 개의 패리티 정보로 구성된다. 따라서 m+p=n 이다.
이와 같은 LDPC 코딩의 기본 개념은 D.J. MacKay, "Good error-correction codes based on very sparse matrices," IEEE Trans. on Information Theory, vol. 45, no. 2, pp. 399-431, 1999에 개시되어 있으며, 이 문헌에 따르면, 패리티 정보는 가우스 소거법등의 행렬 연산을 이용하여 수학식 1을 풂으로써 생성될 수 있다.
또한 저밀도 패리티 체크 디코딩은 위 수학식을 기초로하여 패리티 검산을 수행하는 과정을 포함한다.
기존의 LDPC 코드의 패리티 체크 행렬을 구성하는 방법은 크게 두가지로 볼 수 있다. 첫 번째 방법은, 패리티 체크 행렬 H의 각각의 열에 대하여 요소 1 행 인덱스(row index)를 사용자에 의해 정해진 임의의 규칙에 따라 선택하는 방법이다. 예를 들면 제 1열에는 1,3,5 의 행 인덱스를, 제 2열에는 2,4,6의 행 인덱스를, 제 3열에는 7,9,11 의 행 인덱스를 ,...., 요소 1 요소로 선택하는 방법이다. 이 방법은 구현이 용이하나, BER 성능이 저하된다. 두 번째 방법은, 패리티 체크 행렬 H의 각각의 열에 대하여 요소 1 행 인덱스를 램덤하게 선택하는 방법이다. 이 방법은 1 의 위치가 램덤하므로 구현이 복잡하지만, BER 성능이 뛰어나다.
두번째 방법으로 패리티 체크 행렬을 생성하는 방법의 일 례는 다음과 같다. 먼저, 첫 번째 열에서 임의의 wc개의 요소 1 행 인덱스를 선택한다. 그 다음, 두번째 열에서, 이미 생성된 첫 번째 열의 요소 1 행 인덱스와 두 개이상은 중복되지 않도록 임의의 요소 1 행 인덱스를 선택한다. 그 다음, 세 번째 열에서, 이미 생성 된 첫 번째 및 두 번째 열중 어느 하나의 요소 1 행 인덱스와 두 개이상은 중복되지 않도록 임의의 요소 1 행 인덱스를 선택한다. 마지막으로, 위 과정을 마지막 열까지 반복한다.
즉 종래의 패리티 체크 행렬 생성방법은 패리티 체크 행렬 H 내의 모든 임의의 두열의 요소 1 행 인덱스 중에서 두 개 이상은 중복하지 않도록 임의의 요소 1 행 인덱스를 선택한다.
이와 같은 종래의 패리티 체크 행렬 생성 방법에 따르면, 이미 선택된 요소 1 행 인덱스는 패리티 체크 행렬을 생성하는 장치의 메모리내에 저장되어야 한다. 또한 인코딩 또는 디코딩 수행을 위해서는 모든 요소 1 행 인덱스가 인코더 또는 디코더내의 메모리에 저장되어 있어야 한다.
도 2 는 메모리내에 패리티 체크 행렬이 저장된 메모리 구조를 나타내는 도면이다.
패리티 체크 행렬은 각각의 열에 포함된 요소 "1" 의 위치를 나타내는 요소 1 행 인덱스 또는 각각의 행에 포함된 요소 "1" 의 위치를 나타내는 요소 1 열 인덱스에 의해 특정될 수 있다. 도 2 는 요소 1 행 인덱스를 이용하여 패리티 체크 행렬 H를 특정하고, 코딩 및 디코딩을 위해 패리티 체크 행렬 H가 저장된 메모리 구조를 나타내는 도면이다.
도 2에 도시된 바와 같이, 메모리내의 하나의 어드레스에 하나의 요소 1 행 인덱스가 저장된다. 결국 하나의 패리티 체크 행렬이 차지하는 메모리는 n*Wc*B 이 다. 여기서 B는 요소 1 행 인덱스가 차지하는 비트수이며, 2B = m 이며, 여기서 m 는 패리티 체크 행렬의 행의 수이다.
만족할만한 BER 오류 성능을 가진 패리티 체크 행렬의 일례로서 m*n = (512) * (512*17) 일 때, 이 경우 필요한 메모리 용량은 512(=29) * 512*7 * 9 bit 가 되며, 더 우수한 BER 오류 성능을 만족시키기 위해서는 메모리 용량은 더욱 증가된다. 이러한 메모리 용량의 증가는 인코더 및 디코더의 생산단가의 증가 등 여러 문제점을 야기한다.
따라서 본 발명은 전술한 과제를 해결하기 위해 안출된 것으로서, 쉬프트 레지스터를 이용함으로써 메모리 용량을 감소시킨 패리티 체크 행렬의 생성 방법을 제공하고자 한다.
전술한 과제를 해결하기 위한 본 발명은, 저밀도 패리티 체크 행렬 생성 장치에 있어서, 상기 패리티 체크 행렬의 각각의 열마다, 요소가 1 인 행의 인덱스를 나타내는 요소 1 행 인덱스를 생성하는 하나이상의 인덱스 생성부를 포함하고, 상기 인덱스 생성부는 하나의 클럭마다 상기 하나의 요소 1 행 인덱스를 생성하는 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator)를 이용하여 구현되는 것을 특징으로 한다.
여기서, 상기 인덱스 생성부는, a)s 비트의 초기값을 입력 받고, 하나의 클 럭이 진행될때마다 저장값이 다음 레지스터로 쉬프트되는, 순서대로 나열된 s 개의 레지스터; b)상기 s 개의 래지스터 중 마지막 레지스터의 값을 상기 선택적으로 피드백시키는 피드백 라인; c)상기 피드백된 레지스터의 값을 각각의 레지스터의 값과 합산한 후 그 다음 레지스터에 제공하는 합산기를 포함한다.
또한 여기서, 상기 행 인덱스는 각가의 클럭마다 상기 s 개의 레지스터중에서 임의로 선택된 t 개의 레지스터에서 출력되는 출력 벡터이고, 상기 t 비트출력 벡터를 생성하고, 여기서 상기 s 및 t 는 패리티 체크 행렬의 행의 수 m 및 열의 수 n 과 이하의 수학식
Figure 112004035132642-pat00001
의 관계를 가진다.
또한 본 발명은, 저밀도 패리티 체크 행렬 생성 방법에 있어서, 상기 패리티 체크 행렬의 각각의 열마다, 요소가 1 인 행의 인덱스를 나타내는 요소 1 행 인덱스를 생성하는 하나이상의 인덱스 생성 단계를 포함하고, 상기 인덱스 생성 단계는 하나의 클럭마다 상기 하나의 요소 1 행 인덱스를 생성하는 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator)를 이용하여 구현된다.
또한 본 발명은, 패리티 체크 행렬 생성 장치에 있어서, 상기 패리티 체크 행렬의 요소 1 의 위치는 모듈러 쉬프트 레지스터 생성기에 의해 생성된다.
여기서, 상기 모듈러 쉬프트 레지스터 생성기의 피드백 라인의 구조를 특정하는 특정 다항식은 원형 다항식인 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 패리티 체크 행렬 생성 장치를 나타내는 도면이다.
본 발명에 따른 패리티 체크 행렬 생성 장치(300)는 제 1 인덱스 생성부(310), 제 2 인덱스 생성부(320),... 제 Wc 번째 인덱스 생성부(330)를 포함한다. 여기서 Wc 는 열 웨이트이다.
제 1 인덱스 생성부(310)는 s 비트의 제 1 초기값(312)을 수신하여, t 비트의 각각의 열의 첫 번째 요소 1 행 인덱스(314)를 생성한다. 즉, 제 1 인덱스 생성부(310)는 첫 번째 클럭에서 패리티 체크 행렬의 제 1 열의 첫 번째 요소 1 의 행 인덱스(t 비트)를 출력하고, 두 번째 클럭에서 패리티 체크 행렬의 제 2 열의 첫 번째 요소 1 의 행 인덱스를 생성하고, ....., n 번째 클럭에서 패리티 체크 행렬의 제 n 열의 첫 번째 요소 1 의 행 인덱스를 생성한다.
제 2 인덱스 생성부(320) 내지 제 Wc 번째 인덱스 생성부(330)의 동작 또한 제 1 인덱스 생성부(310)와 유사하다. 제 2 인덱스 생성부(320)는 s 비트의 제 2 초기값(322)을 수신하여, t 비트의 각각의 열의 두 번째 요소 1 행 인덱스(324)를 생성한다. 즉, 제 2 인덱스 생성부(320)는 첫 번째 클럭에서 패리티 체크 행렬의 제 1 열의 두 번째 요소 1 의 행 인덱스를 출력하고, 두 번째 클럭에서 패리티 체크 행렬의 제 2 열의 두 번째 요소 1 의 행 인덱스를 생성하고, ....., n 번째 클럭에서 패리티 체크 행렬의 제 n 열의 두 번째 요소 1 의 행 인덱스를 생성한다.
또한, 제 Wc 번째 인덱스 생성부(330)는 s 비트의 제 Wc 번째 초기값(332)을 수신하여, t 비트의 각각의 열의 Wc 번째 요소 1 의 행 인덱스(334)를 생성한다. 즉, 제 Wc 번째 인덱스 생성부(330)는 첫 번째 클럭에서 패리티 체크 행렬의 제 1 열의 Wc 번째 요소 1 의 행 인덱스를 출력하고, 두 번째 클럭에서 패리티 체크 행렬의 제 2 열의 Wc 번째 요소 1 의 행 인덱스를 생성하고, ....., n 번째 클럭에서 패리티 체크 행렬의 제 n 열의 Wc 번째 요소 1 의 행 인덱스를 생성한다.
결국, 첫 번째 클럭에서 제 1 열에 포함된 요소 1 의 위치인 Wc 개의 행 인덱스가 출력되며, 두 번째 클럭에서 제 2 열에 포함된 요소 1 의 위치인 Wc 개의 행 인덱스가 출력되며, ... , n 번째 클럭에서, 제 n 열에 포함된 요소 1 의 위치인 Wc 개의 행 인덱스가 출력된다.
도 3 의 패리티 체크 행렬 생성 장치(300)는 도 2 의 패리티 체크 행렬 H 가 저장된 메모리를 대신하여 인코더 또는 디코더내에서 수학식 1 의 연산을 위한 패리티 체크 행렬 H를 제공한다.
제 1 초기값(312), 제 2 초기값(322),..., 제 Wc 번째 초기값(332)은 각각 제 1 , 제 2 , 제 Wc 번째 인덱스 생성부(310,320,330)로 입력되며, 사용자에 의해 선택된다. 다만 초기값은, 제 1 행 인덱스(314) 내지 제 Wc 번째 행 인덱스(334) 가 동일한 클럭에서 동일한 값이 출력되지 않도록 선택되어져야 한다.
도 4 는 도 3 의 각각의 인덱스 생성부의 내부 구조를 나타내는 도면이다.
본 발명에서 인덱스 생성부는 도 4 에 나타난 바와 같은 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator, MSRG)를 이용한다.
도 3 의 제 1 내지 제 Wc 번째 인덱스 생성부(310 내지 330)는, 계수 C1,C2,...,Cs-1 및 초기값(312 내지 332)이 상이한 점을 제외하면, 내부 구조가 모두 동일하다. 동일한 내부 구조를 가지므로, 이하에서는 제 1 내지 제 Wc 번째 인덱스 생성부(310 내지 330)를 통일하여 인덱스 생성부(400)로, 제 1 초기값 내지 제 Wc 번째 초기값(312 내지 332)은 초기값(410)으로, 제 1 행 인덱스 내지 제 Wc 번째 행 인덱스(314 내지 334)는 행 인덱스(420)로 칭한다.
인덱스 생성부(400)는 s 개의 레지스터 R1,R2,..., Rs 및 s-1 개의 스위치(431,432,...) 및 s-1 개의 합산기(401,402,...)를 포함한다. 도 4 의 레지스터 및 스위치의 조합은 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator, MSRG)로 불리운다.
첫 번째 클럭에서, 초기값(410)은 레지스터 R1,R2,...Rs 로 입력된다. 행 인덱스(420)는 각각의 클럭에서 레지스터 R1,R2,..Rt 에 저장된 값이다. 첫 번째 클럭에서는 레지스터 R1,R2,..,Rt 에 저장된 초기값(410)이 그대로 출력된다. 행 인덱스(420)를 출력하는 레지스터 R1,R2,..Rt 는 레지스터 R1,R2,..Rs 중에서 임의로 선택된다.
레지스터 R1,R2,..Rt 의 출력값은 패리티 체크 행렬 H 의 요소 1 행 인덱스이다. 예를 들어 t=3, s=4 이고, 초기값(410)이 1101 이며, 행 인덱스(420)를 출력하는 레지스터가 R1,R2,R3 로 선택되었다면, 첫 번째 클럭에서 인덱스 생성부(400)가 출력하는 행 인덱스(420)는 110 (이진수) = 6(십진수) 이며, 따라서 인덱스 생성부(400)가 출력한 첫 번째 행 인덱스는 6 이다. 즉 패리티 체크 행렬의 첫 번째 열의 첫 번째 요소 1 행인덱스는 6 이며, 그 결과 패리티 체크 행렬의 첫 번째 열의 7번째 행(행 인덱스 000=1번째 행, 행 인덱스 001=2번째 행, 행 인덱스 010=3번째 행,...)의 요소가 1 이다.
두 번째 클럭에서, 각각의 레지스터에 저장된 값(421,422,...)은 합산기(401,402,..)에 의해 스위치의 출력값(411,412,...)과 합산된 후 그 다음 레지스터에 저장된다. 여기서 각각의 값은 비트 0 또는 1 이다. 스위치의 출력값(411,412,...) 는 마지막 레지스터 Rs 이 피드백 라인(440) 및 스위치(431,432,...)를 통해 스위칭된 값이다. 계수 C1,C2,... 는 스위칭 여부를 나타내는 수이며 0 또는 1 중에서 선택된다. 두 번째 클럭에서 다시 각각의 레지스터에 새로 저장된 값이 두 번째 행 인덱스(420)로 출력된다.
세 번째 클럭부터 n 번째 클럭까지 위와 같은 과정이 반복되면서 t 비트의 행 인덱스가 출력된다.
패리티 체크 행렬의 행의 개수 m 및 열의 개수 n 와 레지스터의 개수 s 및 행 인덱스를 출력하는 레지스터의 개수 t 는 다음 수학식 2 와 같은 관계를 가진다.
[수학식 2]
Figure 112004035132642-pat00002
패리티 체크 행렬의 행의 개수 m 는 발생가능한 요소 1 행 인덱스의 범위(=2t)와 동일하고, 패리티 체크 행렬의 열의 개수 n 는 최소 클럭의 수(=2s-1)와 동 일하기 때문이다.
도 4 의 MSRG 의 피드백 라인(400)에 연결된 스위치의 계수 C1,C2,... 는 이하 수학식 3 과 같은 특성 방정식(Characteristic Equation)을 이용하여 나타낸다.
[수학식 3]
Figure 112004035132642-pat00003
여기서 f(x)는 도 4 의 인덱스 생성부(400)의 특성 방정식이고, Co=1, Ci 는 0 또는 1 이다. 즉 특성 방정식은 MSRG 의 피드백 라인(400)의 연결 구조를 특정한다.
본 발명의 바람직한 실시예에서, 인덱스 생성부(400)의 특성 방정식은 원형 다항식(Primitive Polynomial)이다. 즉 특성 방정식의 계수 C1,C2,... 는 동일한 차수의 원형 다항식의 계수이다.
원형 다항식은 차수(degree)가 u 인 비감소 다항식(irreducible Polynomial) 중에서 p(x)로 나누어지는 다항식 xv-1 의 가능한 가장 작은 양의 수 v 가 이하 수학식 4를 만족하는 다항식 p(x)으로 정의된다.
[수학식 4]
Figure 112004035132642-pat00004
여기서 다항식 p(x)는 계수가 0 내지 p-1중의 임의의 수인 (즉 p(x) IN GF(p)[x]인)비감소 다항식이다. p 는 임의의 소수(prime)이고, 비감소 다항식이란 더 이상 인수분해되지 않는 다항식을 의미한다.
도 4 의 인덱스 생성부(400)의 피드백 라인의 연결 구조를 나타내는 s 차의 특성 방정식이 원형 다항식이 되면, 즉 계수 C1,C2,... 가 원형 다항식의 계수로 선택되면, s 개의 레지스터 R1,R2,...,Rs 의 출력 벡터(420)는 2s-1 클럭 동안 모두 상이한 값이 출력된다. 즉 s 개의 레지스터로 표현가능한 모든 벡터가 한번씩 출력된다.
원형 다항식을 이용한 MSRG 의 구조에 대한 더욱 상세한 설명은 S.W. Golomb 에 의한 "Shift Register Sequence. Holden-Day, San Francisco, 1967"을 참고하며 본 명세서에 병합한다.
이 때 도 4 와 같이, s 개의 레지스터 중에서 임의의 t 개의 레지스터의 출력값을 출력 벡터(420)로 선택하면, 출력 벡터(420)에는 발생가능한 모든 벡터값이 비슷한 회수로 출력된다. 특히 n = 2s-1 일 경우, 영 벡터(zero vector)를 제외한 모든 벡터는 2s-t번씩 출력되고, 영 벡터는 2s-t-1 번 출력된다.
따라서, 도 4 의 인덱스 생성부(400)에 의해 생성된 패리티 체크 행렬 H 는 거의 규칙적인(regular) LDPC 코드를 가진다. 일반적으로 디코딩 성능 즉 BER 성능은 최대 행 차수가 커질수록 감소하기 하는데, 전술한 바와 같이 본 발명에 의해 생성된 패리티 체크 행렬은 행렬의 각 위치에 1 이 나타날 확률이 거의 일정하므로, 디코딩 성능을 향상시킨다.
한편 초기값(410)은 동일한 클럭에서 서로 다른 인덱스 생성부사이에 동일한 출력값(420)이 생성되지 않도록 각 인덱스 생성부마다 선택되어야 한다. 만약 서로 다른 인덱스 생성부사이에서 동일한 출력값이 생성된다면, 하나의 열에서 1 의 위치가 중복되므로, 규칙적인 패리티 체크 행렬이 생성되지 않기 때문이다. 초기값의 선택은 시뮬레이션을 통해 결정가능하다.
도 5 는 본 발명의 일 실시예에 따른 제 1 인덱스 생성부를 나타내는 도면이다.
도 5에서, s=6,t=5 이며, 인덱스 생성부의 특성 방정식은 차수가 6 인 원형 다항식 중에서 f1(x) = x6+x5+1 로 선택되었고, 초기값은 000001 로 선택되었다. 즉 C5=1,C4=C3=C2=C1=0,Co=1 이고, 레지스터 R1,R2,R3,R4,R5의 초기값은 비트 0, 레지스터 R6 의 초기값은 1 이다.
제 1 클럭에서, 인덱스 생성부에서 생성되는 행 인덱스(511 내지 515)는 레지스터 R1 내지 R5 의 값이 그대로 출력되므로, 행 인덱스(511 내지 515)는 각각 초기값(501 내지 505) 이다. 따라서 제 1 클럭에서의 행 인덱스(511 내지 515)는 각각 0,0,0,0,0,1 이며, 즉 행 인덱스 벡터는 00001 이다.
제 2 클럭에서, 레지스터 R2 의 값은 제 1 클럭에서의 레지스터 R1 의 값이고, 레지스터 R3 의 값은 제 1 클럭에서의 레지스터 R2 의 값이고, 레지스터 R4 의 값은 제 1 클럭에서의 레지스터 R3 의 값이고, 레지스터 R5 의 값은 제 1 클럭에서의 레지스터 R4 의 값이다. 또한, 제 2 클럭에서 레지스터 R6 의 값은, 제 1 클럭에서 레지스터 R6 의 값과 제 1 클럭에서의 레지스터 R5 의 값의 합이다. 레지스터 R6 의 값이 피드백 라인(521)에 의해 합산기(530)로 피드백되고, 합산기(530)에 의 해 레지스터 R5 의 값과 합산되기 때문이다. 또한, 제 2 클럭에서 레지스터 R1 의 값은, 제 1 클럭에서의 레지스터 R6 의 값이다. 제 1 클럭에서의 레지스터 R6 의 갑이 피드백 라인(520)을 통해 레지스터 R1 으로 피드백되기 때문이다.
결국, 제 2 클럭에서 레지스터 R1 내지 R5 의 값은 각각 1,0,0,0,0,0 이 되므로, 제 2 클럭에서 인덱스 생성부에서 출력되는 행 인덱스 벡터는 100000(이진수)=1(십진수, 레지스터 R1 의 값을 LSB로 정의함)이다.
제 3 클럭 내지 제 n 클럭에서의 행 인덱스 생성 과정 또한 전술한 방법과 동일하게 수행된다.
도 6 은 도 5 의 제 1 인덱스 생성부에서 출력되는 행 인덱스를 나열한 도면이다.
도 6 을 참조하면, 도 4에서 설명한 바와 같이, 인덱스 생성부로부터 출력되는 행 인덱스는 모두 2s-1 = 26-1 = 63 개이며, 이 중에서 0 이 2s-t-1 = 26-5-1 = 1번 출력되고, 1 내지 31 이 각각 2s-t = 26-5 = 2번씩 출력됨을 알 수 있다.
도 7 는 본 발명의 일 실시예에 따른 제 2 인덱스 생성부를 나타내는 도면이다.
도 7 의 피드백 라인의 상태 즉 특성 방정식은 도 5 와 상이한 것으로 선택하였다. 제 7 의 제 2 인덱스 생성부의 동작은 도 5 의 제 1 인덱스 생성부의 동작과 동일하다.
제 2 인덱스 생성부의 특성 방정식은, 제 1 인덱스 생성부의 특성 방정식과 무관하게, 수학식 3 및 4를 만족하는 원형 다항식에서 임의로 선택가능하다. 다만, 제 2 인덱스 생성부의 초기값 (601 내지 606)은 동일한 클럭에서 제 1 인덱스 생성부(500)의 행 인덱스 벡터(511 내지 515)와 제 2 인덱스 생성부(600)의 행 인덱스 벡터(611 내지 615)가 동일한 값이 출력되지 않도록, 초기값(601 내지 606)을 선택하여야 한다.
마찬가지로, 제 3, 제 4 ... 제 Wc 번째 인덱스 생성부의 초기값들 역시 다른 인덱스 생성부의 행 인덱스가 동일한 클럭에서 중복되지 않도록 각각의 초기값이 선택되어져야 한다.
초기값(601 내지 606)은 시뮬레이션을 통하여 경험적으로 선택된다. 하지만 일반적인 LDPC 코드에서 열 웨이트 Wc 는 매우 작은 수이므로, 시뮬레이션은 그다지 어렵지 않고 그 결과 위의 조건을 만족시키는 초기값을 발견하는 것이 그다지 어려운 일은 아니다.
도 8 은 도 7 의 제 2 인덱스 생성부에서 출력되는 행 인덱스를 나열한 도면이다.
도 8을 참조하면, 제 2 인덱스 생성부의 초기값은 001111 로 선택하였고, 그 결과 출력된 63 개의 행 인덱스는 도 6 의 행 인덱스와 동일한 클럭에서 중복되지 않음을 알 수 있다. 이처럼 각각의 인덱스 생성부는 다른 인덱스 생성부와 동일한 클럭의 출력 인덱스 벡터가 중복되지 않도록 초기값이 선택되어야 한다.
패리티 체크 행렬을 메모리에 저장하는 경우와 본 발명에 의한 패리티 체크 행렬 생성 장치를 이용하여 패리티 체크 행렬을 생성하는 경우에 필요한 메모리 비 트 수를 비교한다. m=29=512, n=29*17=512*17=8704 이고, Wc=3 인 패리티 체크 행렬의 경우를 예를 든다.
먼저 메모리에 저장하는 경우, 하나의 요소 1 행 인덱스를 저장하는데 필요한 비트수는 9 비트이므로, 하나의 패리티 체크 행렬에 필요한 메모리의 비트수는 9*3*8704 = 235008 이다.
반면, 본 발명에 의하면, m=29 n=8704 에 대해 수학식 2를 만족하는 t 및 최소의 s 는 t=9, s_min= 14 이다. 따라서 하나의 인덱스 생성부에 필요로 하는 비트수는 14 이므로, 하나의 패리티 체크 행렬을 생성하기 위해 필요한 메모리 비트수는 14*Wc=14*3=42 로서 위의 경우에 비해 매우 감소된다.
더욱이, 전술한 바와 같이 도 4 의 구조를 가지는 MSRG 의 특성 방정식을 원형 방정식으로 선택하면, 생성되는 패리티 체크 행렬은 더욱 Wr의 수가 규칙적이므로, 디코딩 과정의 구현이 용이하다.
도 9 는 본 발명에 따른 패리티 체크 행렬 생성 방법을 나타내는 시간흐름도이다.
단계 910에서, s 비트의 초기값을 입력받아 각각의 비트 값을 s 개의 레지스터에 각각 저장한다.
단계 920에서, 각각의 비트 중에서 최하위 비트(LSB) 즉 마지막 레지스터에 저장된 비트 값을 선택적으로 피드백하여 각각의 레지스터 다음에 연결된 합산기에 제공한다. 피드백할지 여부는 모듈러 쉬프트 레지스터의 특성 방정식의 계수에 의 해 결정되며, 바람직한 실시예에서 특성 방정식은 원형 다항식이다.
단계 930에서, 단계 920에서 피드백된 값을 원래 s 개의 레지스터에 저장된 값과 합산한다.
단계 940에서, 단계 930에서 합산된 s 개의 비트값을 그 다음 레지스터에 각각 저장한다.
단계 950에서, 단계 940에서 t 개의 레지스터에 저장된 값을 요소 1 행 인덱스로 출력한다.
전술한 단계에서, 단계 920 내지 940 은 하나의 클럭동안 수행된다. 따라서 각각의 클럭마다 하나의 요소 1 행 인덱스가 출력된다.
한편, 본 발명에 따른 패리티 체크 행렬 생성 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 패리티 체크 행렬 생성 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 바와 같이 본 발명에 의하면, 패리티 체크 행렬이 메모리에 저장되지 않고 레지스터를 이용하여 각각의 클럭마다 생성됨으로써 인코더 및 디코더에 필요한 메모리의 용량이 감소한다.

Claims (14)

  1. 저밀도 패리티 체크 행렬 생성 장치에 있어서,
    상기 패리티 체크 행렬의 각각의 열마다, 요소가 1 인 행의 인덱스를 나타내는 요소 1 행 인덱스를 생성하는 하나이상의 인덱스 생성부를 포함하고,
    상기 인덱스 생성부는 하나의 클럭마다 상기 하나의 요소 1 행 인덱스를 생성하는 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator)를 이용하여 구현되고,
    상기 인덱스 생성부는,
    a)s 비트의 초기값을 입력 받고, 하나의 클럭이 진행될때마다 저장값이 다음 레지스터로 쉬프트되는, 순서대로 나열된 s 개의 레지스터;
    b)상기 s 개의 래지스터 중 마지막 레지스터의 값을 선택적으로 피드백시키는 피드백 라인;
    c)상기 피드백된 레지스터의 값을 각각의 레지스터의 값과 합산한 후 그 다음 레지스터에 제공하는 합산기를 포함하는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 장치.
  2. 삭제
  3. 제 1 항에 있어서, 상기 행 인덱스는 각각의 클럭마다 상기 s 개의 레지스터중에서 임의로 선택된 t 개의 레지스터에서 출력되는 출력 벡터이고, 상기 t 비트출력 벡터를 생성하고, 여기서 상기 s 및 t 는 패리티 체크 행렬의 행의 수 m 및 열의 수 n 과 이하의 수학식
    Figure 112006027543719-pat00005
    의 관계를 가지는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 장치.
  4. 제 1 항에 있어서, 상기 피드백 라인은 각각의 합산기에 연결된 스위치를 포함하고, 상기 스위치의 계수는, 상기 s 개의 레지스터의 출력 벡터가 2s-1 클럭 동안 모두 상이한 값이 출력되도록 선택되는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 장치.
  5. 제 4 항에 있어서, 상기 스위치의 계수는 원형 다항식(Primitive Polynomial)이 계수에서 선택되고, 상기 원형 다항식은 상기 원형 다항식으로 나누어지는 다항식 xv-1 의 가능한 가장 작은 양의 수 v 가 이하 수학식
    Figure 112006027543719-pat00006
    를 만족하는 다항식이며, 여기서 상기 원형 다항식은 계수가 0 내지 p-1중의 임의의 수이고(즉 p(x) IN GF(p)[x]인) 차수가 u 인 비감소 다항식이고, p 는 임의의 소수(prime)인 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 장치.
  6. 저밀도 패리티 체크 행렬 생성 방법에 있어서,
    상기 패리티 체크 행렬의 각각의 열마다, 요소가 1 인 행의 인덱스를 나타내는 요소 1 행 인덱스를 생성하는 하나이상의 인덱스 생성 단계를 포함하고,
    상기 인덱스 생성 단계는 하나의 클럭마다 상기 하나의 요소 1 행 인덱스를 생성하는 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator)를 이용하여 구현되고,
    상기 인덱스 생성 단계는,
    a)s 비트의 초기값을 입력 받아 레지스터에 저장하는 단계;
    b)상기 초기값의 각각의 비트중에서 최하위 비트(LSB)를 선택적으로 피드백하는 단계;
    c)상기 피드백한 값을 상기 초기값의 각각의 비트와 합산하는 단계; 및
    d)상기 합산된 s 개의 비트값 중에서 임의로 선택된 t 비트의 출력 벡터를 다음 레지스터에 저장하고, 상기 저장값을 상기 요소 1 행 인덱스로 출력하는 단계를 포함하는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 방법.
  7. 삭제
  8. 제 6 항에 있어서, 상기 요소 1 행 인덱스는 각각의 클럭마다 상기 s 개의 레지스터중에서 임의로 선택된 t 개의 레지스터에서 출력되는 출력 벡터이고, 상기 t 비트출력 벡터를 생성하고, 여기서 상기 s 및 t 는 패리티 체크 행렬의 행의 수 m 및 열의 수 n 과 이하의 수학식
    Figure 112006027543719-pat00007
    의 관계를 가지는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 방법.
  9. 제 6 항에 있어서, 상기 b)단계에 있어서, 상기 각각의 레지스터로 피드백할지 여부는 상기 모듈러 쉬프트 레지스터의 특성 다항식의 계수로 표현되고, 상기 계수는 상기 출력 벡터가 2s-1 클럭 동안 모두 상이한 값이 출력되도록 선택되는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 방법.
  10. 제 9 항에 있어서, 상기 계수는 원형 다항식(Primitive Polynomial)의 계수에서 선택되고, 상기 원형 다항식은 상기 원형 다항식으로 나누어지는 다항식 xv-1 의 가능한 가장 작은 양의 수 v 가 이하 수학식
    Figure 112006027543719-pat00008
    를 만족하는 다항식이며, 여기서 상기 원형 다항식은 계수가 0 내지 p-1중의 임의의 수이고(즉 p(x) IN GF(p)[x]인) 차수가 u 인 비감소 다항식이고, p 는 임의의 소수(prime)인 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 방법.
  11. 패리티 체크 행렬 생성 장치에 있어서,
    상기 패리티 체크 행렬의 요소 1 의 위치는 모듈러 쉬프트 레지스터 생성기에 의해 생성되고,
    상기 모듈러 쉬프트 레지스터 생성기는,
    a)s 비트의 초기값을 입력 받고, 하나의 클럭이 진행될때마다 저장값이 다음 레지스터로 쉬프트되는, 순서대로 나열된 s 개의 레지스터;
    b)상기 s 개의 래지스터 중 마지막 레지스터의 값을 선택적으로 피드백시키는 피드백 라인;
    c)상기 피드백된 레지스터의 값을 각각의 레지스터의 값과 합산한 후 그 다음 레지스터에 제공하는 합산기를 포함하는 것을 특징으로 하는 패리티 체크 행렬 생성 장치.
  12. 제 11 항에 있어서, 상기 모듈러 쉬프트 레지스터 생성기의 피드백 라인의 구조를 특정하는 특정 다항식은 원형 다항식인 것을 특징으로 하는 패리티 체크 행렬 생성 장치.
  13. 제 11 항에 있어서, 상기 모듈러 쉬프트 레지스터 생성기의 초기값은 상기 패리티 체크 행렬의 요소 1 의 위치가 각각의 클럭마다 동일한 열에서 동일한 값이 출력되지 않도록 선택되는 것을 특징으로 하는 패리티 체크 행렬 생성 장치.
  14. 제 6 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040061797A 2004-08-05 2004-08-05 저밀도 패리티 체크 행렬 생성 장치 및 방법 KR100739684B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020040061797A KR100739684B1 (ko) 2004-08-05 2004-08-05 저밀도 패리티 체크 행렬 생성 장치 및 방법
US11/081,094 US7447972B2 (en) 2004-08-05 2005-03-16 Methods and apparatus for constructing low-density parity check (LDPC) matrix
TW094117622A TW200607247A (en) 2004-08-05 2005-05-30 Methods and apparatus for constructing low-density parity check (ldpc) matrix
CNA200510077599XA CN1731684A (zh) 2004-08-05 2005-06-21 构造低密度奇偶校验矩阵的方法和装置
EP05253997A EP1624583B1 (en) 2004-08-05 2005-06-28 Method and apparatus for constructing low-density parity check (LDPC) Matrix
DE602005009085T DE602005009085D1 (de) 2004-08-05 2005-06-28 Methode und Vorrichtung für die Konstruktion von Low-Density Parity Check (LDPC) Matrizen
AT05253997T ATE405994T1 (de) 2004-08-05 2005-06-28 Methode und vorrichtung für die konstruktion von low-density parity check (ldpc) matrizen
JP2005221616A JP2006050622A (ja) 2004-08-05 2005-07-29 低密度パリティチェック行列の生成装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040061797A KR100739684B1 (ko) 2004-08-05 2004-08-05 저밀도 패리티 체크 행렬 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060013028A KR20060013028A (ko) 2006-02-09
KR100739684B1 true KR100739684B1 (ko) 2007-07-13

Family

ID=35198019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040061797A KR100739684B1 (ko) 2004-08-05 2004-08-05 저밀도 패리티 체크 행렬 생성 장치 및 방법

Country Status (8)

Country Link
US (1) US7447972B2 (ko)
EP (1) EP1624583B1 (ko)
JP (1) JP2006050622A (ko)
KR (1) KR100739684B1 (ko)
CN (1) CN1731684A (ko)
AT (1) ATE405994T1 (ko)
DE (1) DE602005009085D1 (ko)
TW (1) TW200607247A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100625247B1 (ko) * 2004-11-19 2006-09-18 한국전자통신연구원 레인징 의사 잡음 부호 발생 장치 및 그 방법
CN100446427C (zh) 2006-08-07 2008-12-24 北京泰美世纪科技有限公司 移动数字多媒体广播系统中ldpc码的构造方法
US8413010B1 (en) 2009-03-12 2013-04-02 Western Digital Technologies, Inc. Data storage device employing high quality metrics when decoding logical block address appended to a data sector
JP5601182B2 (ja) * 2010-12-07 2014-10-08 ソニー株式会社 データ処理装置、及びデータ処理方法
US11500615B2 (en) * 2019-05-08 2022-11-15 Discovery Semiconductors, Inc. Programmable pseudo-random sequence generator for use with universal lidar and its associated method of operation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537420A (en) 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
US20020042899A1 (en) * 2000-06-16 2002-04-11 Tzannes Marcos C. Systems and methods for LDPC coded modulation
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
JP2003345778A (ja) 2002-05-28 2003-12-05 Sony Corp 2次元逆離散コサイン変換回路及び画像復号化装置
KR20040056972A (ko) * 2002-12-24 2004-07-01 한국전자통신연구원 계산이 간단한 저밀도 패리티 검사 부호를 위한 메시지 전달 복호기

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02195457A (ja) 1989-01-24 1990-08-02 Fujitsu Ltd 半導体記憶装置のエラー検出装置
JPH05135482A (ja) 1991-11-08 1993-06-01 Nec Corp 並列記憶制御装置
US5954838A (en) * 1996-08-23 1999-09-21 Emc Corporation Data storage system having row/column address parity checking
JP3778540B2 (ja) * 1999-05-17 2006-05-24 東芝デジタルメディアエンジニアリング株式会社 信号処理回路及び情報記録装置
FR2799592B1 (fr) 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
US6567465B2 (en) 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6928602B2 (en) * 2001-07-18 2005-08-09 Sony Corporation Encoding method and encoder
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
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
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
KR20040033554A (ko) 2002-10-15 2004-04-28 삼성전자주식회사 에러 정정 부호화 장치 및 그 방법
KR20040036460A (ko) 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537420A (en) 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
KR100362090B1 (ko) 1994-05-04 2003-02-05 제너럴 인스트루먼트 코포레이션 콘벌루셔널인터리버및디인터리버와,그어드레스제네레이터
US20020042899A1 (en) * 2000-06-16 2002-04-11 Tzannes Marcos C. Systems and methods for LDPC coded modulation
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
JP2003345778A (ja) 2002-05-28 2003-12-05 Sony Corp 2次元逆離散コサイン変換回路及び画像復号化装置
KR20040056972A (ko) * 2002-12-24 2004-07-01 한국전자통신연구원 계산이 간단한 저밀도 패리티 검사 부호를 위한 메시지 전달 복호기

Also Published As

Publication number Publication date
KR20060013028A (ko) 2006-02-09
US20060031745A1 (en) 2006-02-09
CN1731684A (zh) 2006-02-08
EP1624583A2 (en) 2006-02-08
DE602005009085D1 (de) 2008-10-02
EP1624583A3 (en) 2006-04-19
TW200607247A (en) 2006-02-16
US7447972B2 (en) 2008-11-04
EP1624583B1 (en) 2008-08-20
ATE405994T1 (de) 2008-09-15
JP2006050622A (ja) 2006-02-16

Similar Documents

Publication Publication Date Title
CN101073205B (zh) 低密度奇偶校验编码器和解码器以及低密度奇偶校验编码和解码方法
US7484159B2 (en) Encoding method and encoding apparatus
US8930798B2 (en) Data encoding in solid state storage devices
RU2395902C2 (ru) Способы и устройство ldpc-кодирования
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
JP4142719B2 (ja) データをエンコード及びデコードする方法及び装置
US20090019333A1 (en) Generation of parity-check matrices
JP4412401B2 (ja) 復号装置、復号方法、受信装置、および記憶媒体再生装置
JPWO2006064659A1 (ja) 誤り訂正符号化装置及びそれに用いる誤り訂正符号化方法
JPWO2010073922A1 (ja) 誤り訂正符号化装置、復号装置、符号化方法、復号方法、及びそのプログラム
JP2006304129A (ja) 復号装置および復号方法
KR20070063851A (ko) 패리티 검사 행렬, 패리티 검사 행렬 생성 방법, 인코딩방법 및 에러 정정 장치
KR100550101B1 (ko) 저밀도 패리티 검사 부호의 부호화와 복호 장치 및 그방법
EP1624583B1 (en) Method and apparatus for constructing low-density parity check (LDPC) Matrix
JP5488472B2 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
JP2005051469A (ja) 符号化装置および符号化方法、並びにプログラム
US6536009B1 (en) Technique for generating single-bit error-correcting, two-bit burst error-detecting codes
JP3285428B2 (ja) 符号化方法および装置
EP1820275A1 (en) Ldpc encoder and decoder and ldpc encoding and decoding methods
JP2009182421A (ja) 復号化方法及び復号化装置
Van Wonterghem et al. On constructions of Reed-Muller subcodes
JP5500357B2 (ja) 符号化装置、および符号化方法
JPH0476540B2 (ko)
EP0793352B1 (en) Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder
Qamar et al. An efficient encoding algorithm for (n, k) binary cyclic codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee