KR100739684B1 - 저밀도 패리티 체크 행렬 생성 장치 및 방법 - Google Patents
저밀도 패리티 체크 행렬 생성 장치 및 방법 Download PDFInfo
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 39
- 239000013598 vector Substances 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 17
- 238000004088 simulation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single 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
도 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 과 이하의 수학식 의 관계를 가진다.
또한 본 발명은, 저밀도 패리티 체크 행렬 생성 방법에 있어서, 상기 패리티 체크 행렬의 각각의 열마다, 요소가 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]
패리티 체크 행렬의 행의 개수 m 는 발생가능한 요소 1 행 인덱스의 범위(=2t)와 동일하고, 패리티 체크 행렬의 열의 개수 n 는 최소 클럭의 수(=2s-1)와 동 일하기 때문이다.
도 4 의 MSRG 의 피드백 라인(400)에 연결된 스위치의 계수 C1,C2,... 는 이하 수학식 3 과 같은 특성 방정식(Characteristic Equation)을 이용하여 나타낸다.
[수학식 3]
여기서 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]
여기서 다항식 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 행 인덱스를 생성하는 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator)를 이용하여 구현되고,상기 인덱스 생성부는,a)s 비트의 초기값을 입력 받고, 하나의 클럭이 진행될때마다 저장값이 다음 레지스터로 쉬프트되는, 순서대로 나열된 s 개의 레지스터;b)상기 s 개의 래지스터 중 마지막 레지스터의 값을 선택적으로 피드백시키는 피드백 라인;c)상기 피드백된 레지스터의 값을 각각의 레지스터의 값과 합산한 후 그 다음 레지스터에 제공하는 합산기를 포함하는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 장치.
- 삭제
- 제 1 항에 있어서, 상기 피드백 라인은 각각의 합산기에 연결된 스위치를 포함하고, 상기 스위치의 계수는, 상기 s 개의 레지스터의 출력 벡터가 2s-1 클럭 동안 모두 상이한 값이 출력되도록 선택되는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 장치.
- 저밀도 패리티 체크 행렬 생성 방법에 있어서,상기 패리티 체크 행렬의 각각의 열마다, 요소가 1 인 행의 인덱스를 나타내는 요소 1 행 인덱스를 생성하는 하나이상의 인덱스 생성 단계를 포함하고,상기 인덱스 생성 단계는 하나의 클럭마다 상기 하나의 요소 1 행 인덱스를 생성하는 모듈러 쉬프트 레지스터 생성기(Modular Shift Register Generator)를 이용하여 구현되고,상기 인덱스 생성 단계는,a)s 비트의 초기값을 입력 받아 레지스터에 저장하는 단계;b)상기 초기값의 각각의 비트중에서 최하위 비트(LSB)를 선택적으로 피드백하는 단계;c)상기 피드백한 값을 상기 초기값의 각각의 비트와 합산하는 단계; 및d)상기 합산된 s 개의 비트값 중에서 임의로 선택된 t 비트의 출력 벡터를 다음 레지스터에 저장하고, 상기 저장값을 상기 요소 1 행 인덱스로 출력하는 단계를 포함하는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 방법.
- 삭제
- 제 6 항에 있어서, 상기 b)단계에 있어서, 상기 각각의 레지스터로 피드백할지 여부는 상기 모듈러 쉬프트 레지스터의 특성 다항식의 계수로 표현되고, 상기 계수는 상기 출력 벡터가 2s-1 클럭 동안 모두 상이한 값이 출력되도록 선택되는 것을 특징으로 하는 저밀도 패리티 체크 행렬 생성 방법.
- 패리티 체크 행렬 생성 장치에 있어서,상기 패리티 체크 행렬의 요소 1 의 위치는 모듈러 쉬프트 레지스터 생성기에 의해 생성되고,상기 모듈러 쉬프트 레지스터 생성기는,a)s 비트의 초기값을 입력 받고, 하나의 클럭이 진행될때마다 저장값이 다음 레지스터로 쉬프트되는, 순서대로 나열된 s 개의 레지스터;b)상기 s 개의 래지스터 중 마지막 레지스터의 값을 선택적으로 피드백시키는 피드백 라인;c)상기 피드백된 레지스터의 값을 각각의 레지스터의 값과 합산한 후 그 다음 레지스터에 제공하는 합산기를 포함하는 것을 특징으로 하는 패리티 체크 행렬 생성 장치.
- 제 11 항에 있어서, 상기 모듈러 쉬프트 레지스터 생성기의 피드백 라인의 구조를 특정하는 특정 다항식은 원형 다항식인 것을 특징으로 하는 패리티 체크 행렬 생성 장치.
- 제 11 항에 있어서, 상기 모듈러 쉬프트 레지스터 생성기의 초기값은 상기 패리티 체크 행렬의 요소 1 의 위치가 각각의 클럭마다 동일한 열에서 동일한 값이 출력되지 않도록 선택되는 것을 특징으로 하는 패리티 체크 행렬 생성 장치.
- 제 6 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
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)
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)
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)
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 복호화 장치 및 그 방법 |
-
2004
- 2004-08-05 KR KR1020040061797A patent/KR100739684B1/ko not_active IP Right Cessation
-
2005
- 2005-03-16 US US11/081,094 patent/US7447972B2/en not_active Expired - Fee Related
- 2005-05-30 TW TW094117622A patent/TW200607247A/zh unknown
- 2005-06-21 CN CNA200510077599XA patent/CN1731684A/zh active Pending
- 2005-06-28 DE DE602005009085T patent/DE602005009085D1/de not_active Expired - Fee Related
- 2005-06-28 EP EP05253997A patent/EP1624583B1/en not_active Not-in-force
- 2005-06-28 AT AT05253997T patent/ATE405994T1/de not_active IP Right Cessation
- 2005-07-29 JP JP2005221616A patent/JP2006050622A/ja not_active Withdrawn
Patent Citations (6)
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 |