KR20060050924A - 저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법 - Google Patents
저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법 Download PDFInfo
- Publication number
- KR20060050924A KR20060050924A KR1020050081207A KR20050081207A KR20060050924A KR 20060050924 A KR20060050924 A KR 20060050924A KR 1020050081207 A KR1020050081207 A KR 1020050081207A KR 20050081207 A KR20050081207 A KR 20050081207A KR 20060050924 A KR20060050924 A KR 20060050924A
- Authority
- KR
- South Korea
- Prior art keywords
- received data
- parity check
- decoding
- parity
- check matrix
- Prior art date
Links
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/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- 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
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
수신 데이터를 디코딩하는 경우, CPU(16)는 그 수신 데이터와 패리티 체크 행렬을 곱해서 얻은 벡터에 포함된, 값이 "1"인 수를 패리티 에러수로서 기억하며, 또한 이 패리티 에러수에 대응하는 경판정 결과 정보를 출력 후보 기억 영역(26)에 기억한다. CPU(16)는, 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터가 정정 불가능하다고 판정하면, 출력 후보 정보 기억 영역(26)에 기억된 패리티 에러수 중, 최소치의 패리티 에러수에 대응하는 경판정 결과 정보를 판독하여 그것을 디코딩 결과로서 출력한다.
Description
도 1은 본 발명의 제1 실시예에 따른 저밀도 패리티 체크 코드 디코더가 적용되는 저밀도 패리티 체크 코드 디코딩 시스템을 나타내는 블록도.
도 2는 본 발명의 제1 실시예에 따른 저밀도 패리티 체크 코드 디코더가 적용되는 저밀도 패리티 체크 코드의 패리티 체크 행렬을 나타내는 모식도.
도 3은 본 발명의 제1 실시예에 따른 저밀도 패리티 체크 코드 디코딩 방법을 설명하기 위한 흐름도.
도 4는 본 발명의 제2 실시예에 따른 저밀도 패리티 체크 코드 디코더가 적용되는 저밀도 패리티 체크 코드 디코딩 시스템을 나타내는 블록도.
도 5는 본 발명의 제2 실시예에 따른 저밀도 패리티 체크 코드 디코딩 방법을 설명하기 위한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
12 : A/D 변환부
14 : 데이터 수신부
16 : CPU
18 : 메모리부
20 : 출력 채널 데이터 기억 영역
22, 24 : 메모리 기억 영역
26 : 출력 후보 정보 기억 영역
28 : 출력 정보 기억 영역
본 발명은 저밀도 패리티 체크 코드를 디코딩하기 위한 디코더와, 상기 코드를 디코딩하는 방법에 관한 것이다.
최근 에러 체킹 및 정정 코드로서 저밀도 패리티 체크 코드(Low-Density Parity-Check Code : 이하, LDPC 코드라고 함)를 주목하고 있다. 이 LDPC 코드를 디코딩하는 기술로서는 메시지 패싱 알고리즘(massage-passing algorithm)이 알려져 있다[예컨대, Andrew J. Blanksby and Chris J. Howland, "A 690-mW 1-Gb/s 1024-b, Rate-1/2 Low-Density Parity-Check Code Decoder", IEEE Journal of Solid-State Circuits, Vol.37, No.3, March 2002, p.404-412 참조]. 메시지 패싱 알고리즘에서는 LDPC 코드를 디코딩하기 위하여, LDPC 코드에 대한 체크 행렬(패리티 체크 행렬)의 행마다 비트 갱신이 반복되고, 그 열마다 패리티 갱신이 반복된다.
상기 LDPC 코드는 매우 강력하다. 그러나, 반복적으로 디코딩한다면, 그 디코딩에서 얻은 중간 결과에서 에러수가 증감할 수 있다. 특히, 그 중간 결과에 발 생한 정정 불가능한 에러수를 그래프로 나타내는 경우, 이 에러수는 큰 진폭으로 증감할 수 있다. LDPC 코드의 디코딩이 소정 횟수 반복된 후에 그 코드가 정정 불능한 것으로서 판정되면, 그 디코딩의 결과는 상기 진폭이 높은 경우, 즉 에러수가 증가하는 경우에 출력될 가능성이 있다.
본 발명은 상기 사정을 고려하여 이루어졌으며, 그 목적은 정정 불가능한 에러에 포함된 에러 비트수를 감소시킬 수 있는 저밀도 패리티 체크 코드를 디코딩하는 디코더 및 그 코드를 디코딩하는 방법을 제공하는 것이다.
본 발명의 특징에 따라 제공되는 저밀도 패리티 체크 코드 디코더는 소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱하여 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로서 기억하고, 상기 패리티 에러수에 대응하는 경판정(hard-decision) 결과 정보를 기억하는 기억 수단과, 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정하는 경우, 상기 기억 수단에 기억된 패리티 에러수 중 최소치의 패리티 에러수에 대응하는 경판정 결과 정보를 디코딩 결과로서 출력하는 출력 수단을 포함한다.
전술한 저밀도 패리티 체크 코드 디코더에서는 소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 패리티 체크 행렬과 수신 데이터를 곱하여 얻은 벡터에 포함된, 값이 "1"인 수가 패리티 에러수로서 기억되고, 이 패리티 에러수에 대응하는 경판정 결과 정보가 기억된다. 그리고, 수신 데이터를 소정 횟 수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정하는 경우에, 최소치의 패리티 에러수를 특정하고, 이 패리티 에러수에 대응하는 경판정 결과 정보를 판독하여 디코딩 결과로서 출력한다. 따라서, 수신 데이터를 정정 불가능한 것으로 판정하는 경우에, 최소치의 패리티 에러수에 대응하는 경판정 결과 정보를 디코딩 결과로서 출력할 수 있다.
저밀도 패리티 체크 코드를 디코딩하여 정정 불가능한 것으로 판정하는 경우에, 비트 판정 결과가 아니라, 패리티 에러수가 최소치인 경우에 얻은 판정 결과를 출력함으로써 그 코드의 평균 에러 비트수가 감소될 수 있다.
본 발명의 추가 목적 및 장점은 이어지는 이후 설명에서 밝혀질 것이고, 부분적으로 그 설명으로부터 명백해지며, 본 발명을 실시함으로써 알 수 있다. 본 발명의 목적 및 장점은 이하에서 구체적으로 제시되는 수단 및 조합에 의해 실현 및 달성될 수 있다.
본 명세서에 포함되어 그 부분을 구성하는 첨부 도면은 본 발명의 실시예를 도시하며, 전술한 개괄적인 설명과 이하의 구체적인 실시예의 설명과 함께, 본 발명의 원리를 설명하는 것을 돕는다.
본 발명의 실시예들을 첨부하는 도면을 참조하여 설명한다.
(제1 실시예)
도 1은 본 발명의 제1 실시예에 따른 저밀도 패리티 체크 코드(LDPC) 디코더가 적용되는 저밀도 패리티 체크 코드 디코딩 시스템을 나타내는 블록도이다.
LDPC 코드 디코딩 시스템은 수신한 아날로그 데이터를 디지털 데이터로 변환하는 A/D 변환부(12)와, 그 디지털 데이터를 수신하여, 채널 데이터를 출력하는 데이터 수신부(14)와, 수신한 데이터 등을 기억하는 메모리부(18)와, LDPC 코드 디코딩 시스템을 제어하는 컨트롤러로서 기능하는 CPU(중앙 처리 장치)(16)를 포함한다. 메모리부(18)는 출력 채널 정보를 기억하는 출력 채널 데이터 기억 영역(20)과, 출력 채널 기억 영역(20)에 기억된 임의의 데이터를 복사하여 기억하는 q 메모리 기억 영역(22) 및 p 메모리 기억 영역(24)과, 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "1"인 수를 패리티 에러수로서 기억하고, 그 패리티 에러수에 대응하는 경판정 결과 정보를 기억하는 출력 후보 정보 기억 영역(26)을 포함한다.
도 2는 본 발명의 제1 실시예에 따른 LDPC 코드 디코더가 적용되는 LDPC 코드의 패리티 체크 행렬(H)을 나타내는 모식도이다.
이 패리티 체크 행렬(H)은 LDPC 코드가 N(= sm) 비트인 것을 전제하고 있다. 이 LDPC 코드의 j번째(j=1,2,…,N)의 비트를 xj로 표시한다. 알고 있는 바와 같이, 패리티 체크 행렬(H)의 각 행은 하나의 패리티 체크 방정식이라고 간주될 수 있다. 패리티 체크 행렬(H)의 제i행에 대응하는 패리티 체크 방정식은 제i 패리티 체크 방정식이라고 불린다. N 비트의 LDPC 코드는, 패리티 체크 행렬(H) 내의 모든 패리티 체크 방정식, 즉 제1 내지 제M 패리티 체크 방정식을 만족해야 한다.
메시지 패싱 알고리즘을 이용하여 LDPC 코드를 디코딩하기 위해서는, 일반적 으로 비트 갱신과 패리티 갱신을 반복해야 한다.
통상, 비트 갱신은 다음 식으로 표현된다.
여기서,
ri,j는 패리티 체크 행렬(H)에서 제i행의 비트(j번째 비트 제외)에 대응하는 패리티 정보(신뢰성 정보) qi,j'를 패리티 노드에서 비트 노드로 전달함으로써 구하며, ri,j는 패리티 체크 행렬(H)에서 제i행의 j번째 비트 xj의 신뢰성을 나타내는 비트 정보(신뢰성 정보)이며, ri,j는 비트 xj가 O 또는 1일 확률이 아니라, 그 확률의 대수치를 나타내는데, 대수치를 이용하는 까닭은 승제산을 가감산로 대체할 수 있기 때문이다.
M(i)는 패리티 체크 행렬(H)의 제i행에서 값 "1"의 비트 위치의 집합이다.
M(i)\j는 j번째 비트를 제외한 M(i)를 나타낸다.
j'∈ M(i)\j는 j번째 비트를 제외한, M(i)에 포함된 비트 위치 중 임의의 위치이다.
qi,j'는 패리티 체크 행렬(H)에서 제i행의 j번째 비트 xj'의 신뢰성을 나타내는 패리티 정보(신뢰성 정보)이고, qi,j'는 비트 xj'가 "0" 또는 "1"일 확률이 아니라, 그 확률의 대수치를 나타낸다.
sgn(qi,j')는 qi,j'의 부호이며, 이 부호는 qi,j'의 최상위 비트(MSB)로 표시되는데, qi,j'가 마이너스이면, sgn(qi,j')= -1, MSB(qi,j')= 1이고, qi,j'가 마이너스가 아니라, 즉 제로이거나 플러스이면, sgn(qi,j')= +1, MSB(qi,j')= 0이다.
ψ( )는 확률 연산 함수이다(이하, ψ함수라고 함)
패리티 갱신은 다음 식으로 표현된다.
여기서,
qi,j는 패리티 체크 행렬(H)의 제j행의 비트(i번째 비트 제외)에 대응하는 비트 정보(신뢰성 정보) ri',j를 비트 노드에서 패리티 노드로 전달함으로써 구해지고, qi,j는 패리티 체크 행렬(H)에서 제i행의 j번째 비트 xj에 관한 신뢰성을 나타내는 패리티 정보(신뢰성 정보)이며, 이 qi,j는 상기 식(1)에 따른 비트 갱신에서 상기 qi,j'로서 이용된다.
pj는 LDPC 코드가 통신 채널을 통해 출력되는 경우, 그 LDPC 코드의 j번째 비트 xj가 "1" 또는 "0"일 확률(초기 확률)의 대수치를 나타내고, pj는 패리티 체크 행렬(H)에서 값이 "1"인 비트에 대응하는 qi,j의 초기값과 일치한다.
N(j)는 패리티 체크 행렬(H)의 제j열에서 값이 "1"인 비트 위치의 집합이다.
N(j)\i는 i번째 비트를 제외한 N(j)를 나타낸다.
i'∈N(j)\i는 i번째 비트를 제외한 N(j)에 포함된 비트 위치 중 임의의 위치이다.
ri',j는 패리티 체크 행렬(H)에서 제i행의 j번째 비트 xj의 신뢰성을 나타내는 비트 정보(신뢰성 정보)이고, 상기 식 (1)의 ri',j는 ri,j에 이용된다.
도 3의 흐름도를 참조하여, 본 발명의 제1 실시예에 따른 LDPC 코드의 디코딩 방법에 대하여 설명한다.
예컨대, 패리티 체크 행렬(H)은 다음 식으로 표현된다.
CPU(16)는 단계 S1에서 수신 데이터를 디코딩한다. 식 (3)으로 표현된 패리티 체크 행렬(H)은 디코딩될 수신 데이터인 다음 식과 곱해진다.
이 때, 다음 식을 얻을 수 있다.
식 (4)의 최하위 2개 요소가 1이기 때문에, 식 (4)는 패리티 체크 행렬(H)을 나타내는 식 (3)과 곱해진다. 보다 구체적으로 설명하면, 패리티 체크 행렬(H)의 각 행에서 값이 "1"인 수가 홀수개이면 벡터의 값은 "1"이고, 짝수개이면 벡터의 값은 "0"이며, 이 경우, 식 (5)가 벡터로서 출력된다. 출력 벡터에 있어서, 값 "1"의 수는 CPU(16)에 의해서, 단계 S2에서, 패리티 에러수(출력 후보 정보)로서 메모리부(18)의 출력 후보 기억 영역(26)에 기억된다. 식 (5)에서 "1"인 값이 4개이기 때문에, 패리티 에러수는 기억 영역(26)에 "4"로서 기억된다. 이 패리티 에러수에 대응하는 경판정 결과 정보(예컨대, "0"과 "1" 데이터)도 저장된다.
CPU(16)는 단계 S3에서, 디코딩이 소정 횟수 수행되었는지 판정한다. 디코딩이 아직도 행해지지 않았다면, 소정 횟수 디코딩이 반복된다(여기서, "4", "1O", "14", "20", "17", "41"이 패리티 에러수로서 기억된다고 한다). 디코딩의 반복 횟수에 관한 정보는 출력 후보 정보 기억 영역(26)에 미리 저장되고, 필요에 따라 CPU(16)에 의해 참조된다.
단계 S3에서, CPU(16)에 의해 디코딩이 소정 횟수 수행되었다고 판정된 후에 는, 단계 S4에서, 출력 후보 정보 기억 영역(26)에 기억된 패리티 에러수 중 최소치를 판정한다. 예컨대, "4", "10", "14", "20", "17", "41"이 패리티 에러수로서 기억되기 때문에, 최소치는 "4"이다. CPU(16)는 최소치로서 판정된 패리티 에러수에 대응하는 경판정 결과 정보를 판독하고 그것을 디코딩 결과 데이터로서 출력한다.
전술한 바와 같이, LDPC 코드가 소정 횟수 디코딩되어 정정 불가능 코드로서 판정된다 해도, 비트 판정 결과는 그대로 출력되지 않고, 패리티 에러수가 최소치일 때의 판정 결과(경판정 결과 정보)를 출력함으로써, 코드 내의 평균 에러 비트 수가 감소될 수 있다. 즉, 정정 불가능한 에러가 발생한 경우에도, 그 포함된 평균 에러율이 감소될 수 있다. 따라서, 일정 속도 이상의 데이터 전송 속도가 필요한 시스템에서는 영상 데이터와 음성 데이터 등의 비교적 저 에러 데이터를 전송하여, 사용자에게 인지될 에러를 감소시킬 수 있다. LDPC 코드 디코더 외부에 외부 코드가 존재하는 정크션(junction) 코드 시스템에서는 외부 코드가 정정 확률을 높일 수 있다.
값이 "비제로"인 "1"이 기억되어, 기억된 값의 최소치가 이용된다. 이 외에도, 값이 "제로"인 "0"이 기억될 수 있고, 기억된 값의 최대치가 이용될 수 있다.
(제2 실시예)
도 4는 본 발명의 제2 실시예에 따른 LDPC 코드 디코더가 적용되는 LDPC 코드 디코딩 시스템을 나타내는 블록도이다.
제2 실시예에서는 메모리부(18)에, 제1 실시예의 출력 후보 정보 기억 영역 (26)에 해당하는 출력 정보 기억 영역(28)이 포함된다고 한다. 이 출력 정보 기억 영역(28)은 결과 데이터(패리티 에러수와 대응하는 경판정 결과 정보)뿐만 아니라, 그 대응하는 경판정 결과 정보와 함께 최소치의 패리티 에러수를 기억한다. 그리고, 오래된 결과 데이터는 겹쳐쓰기되어 소거된다.
제2 실시예에 따른 LDPC 코드를 디코딩하는 방법을 도 5의 흐름도를 참조하여 설명한다.
CPU(16)는 단계 S10에서, 수신 데이터를 디코딩하고, 단계 S11에서 결과 데이터인 패리티 에러수가 최소치인지를 판정한다. 메모리부(18)의 출력 정보 기억 영역(28)에 저장된 패리티 에러수를 참조하여, CPU(16)는 패리티 에러수가 더 작은지 판정한다. 단계 S12에서, CPU(16)에 의해 상기 패리티 에러수가 최소치라고 판정되면, 단계 S13에서는 저장된 결과 데이터 대신에 새로운 결과 데이터가 기억된다. 그리고, CPU(16)는 단계 S14에서, 데이터가 소정 횟수 디코딩되는지 판정한다. 디코딩이 소정 횟수 수행된다면, CPU(16)는 단계 S15에서, 출력 정보 기억 영역(28)에 기억되어 있는 패리티 에러수에 대응하는 경판정 결과 정보를 판독하고, 그것을 디코딩 결과로서 출력한다.
전술한 바와 같이, 결과 데이터를 전부 기억해 둘 필요가 없기 때문에, 메모리부(18)의 기억 영역은 사이즈 면에서 축소될 수 있고, 그 디코딩 결과의 출력 시간은 단축될 수 있다.
추가 장점 및 변형이 당업자에게는 용이하게 발상될 수 있다. 이에, 더 넓은 측면에서 본 발명은 본 명세서에 도시하고 설명한 구체적인 내용 및 대표적 실시에 에 한정되지 않는다. 따라서, 첨부하는 청구범위 및 그 동류에 의해 한정되는 본 발명의 일반적인 원리의 사상 또는 범주에서 이탈하지 않고 다양한 변형예가 이루어질 수 있다.
본 발명에 따르면 저밀도 패리티 체크 코드 디코딩시에, 정정 불가능한 에러라고 판정되는 경우, 그 비트 판정 결과를 출력하는 것이 아니라, 패리티 에러수가 최소치일 때의 판정 결과를 출력함으로써, 코드 내의 평균 에러 비트수를 저감할 수 있다.
Claims (10)
- 저밀도 패리티 체크 코드 디코더로서,소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱하여 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로서 기억하고, 상기 패리티 에러수에 대응하는 경판정 결과 정보를 기억하는 기억 수단과,상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정한 경우에, 상기 기억 수단에 기억된 패리티 에러수 중 최소치의 패리티 에러수에 대응하는 경판정 결과 정보를 디코딩 결과로서 출력하는 출력 수단을 포함하는 저밀도 패리티 체크 코드 디코더.
- 저밀도 패리티 체크 코드 디코더로서,소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱하여 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로 기억하고, 그 패리티 에러수를 기억된 패리티 에러수 중 최소치라고 판정하는 경우, 상기 기억된 패리티 에러수와 이것에 대응하는 경판정 결과 정보 대신에, 최소치인 상기 패리티 에러수와 이것에 대응하는 경판정 결과 정보를 기억하는 기억 수단과,상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하 다고 판정한 경우에, 상기 기억 수단으로부터 판독되는 경판정 결과 정보를 디코딩 결과로서 출력하는 출력 수단을 포함하는 저밀도 패리티 체크 코드 디코더.
- 제1항에 있어서, 상기 패리티 체크 행렬과 수신 데이터를 곱하는 경우, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 홀수개이면, 벡터의 값은 "1"이고, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 짝수개이면, 벡터의 값은 "0"인 것인 저밀도 패리티 체크 코드 디코더.
- 제2항에 있어서, 상기 패리티 체크 행렬과 수신 데이터를 곱하는 경우, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 홀수개이면, 벡터의 값은 "1"이고, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 짝수개이면, 벡터의 값은 "0"인 것인 저밀도 패리티 체크 코드 디코더.
- 저밀도 패리티 체크 코드 디코더로서,소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "제로"인 수를 기억하는 기억 수단과,상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정하는 경우에, 상기 기억 수단에 기억된 값 중 최대치를 디코딩 결과로서 출력하는 출력 수단을 포함하는 저밀도 패리티 체크 코드 디코더.
- 저밀도 패리티 체크 코드를 디코딩하는 방법으로서,소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로서 기억하고, 상기 패리티 에러수에 대응하는 경판정 결과 정보를 기억하는 단계와,상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정하는 경우에, 기억 수단에 기억된 패리티 에러수 중 최소치의 패리티 에러수에 대응하는 경판정 결과 정보를 디코딩 결과로서 출력하는 단계를 포함하는 저밀도 패리티 체크 코드 디코딩 방법.
- 저밀도 패리티 체크 코드를 디코딩하는 방법으로서,소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로서 기억하고, 그 패리티 에러수를 기억된 패리티 에러수 중에서 최소치라고 판정하는 경우에, 상기 기억된 패리티 에러수와 이것에 대응하는 경판정 결과 정보 대신에, 최소치인 상기 패리티 에러수와 이것에 대응하는 경판정 결과 정보를 기억하는 단계와,상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정한 경우에, 상기 기억 수단으로부터 판독되는 경판정 결과 정보를 디코딩 결과로서 출력하는 단계를 포함하는 저밀도 패리티 체크 코드 디코딩 방법.
- 제5항에 있어서, 상기 패리티 체크 행렬과 수신 데이터를 곱하는 경우, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 홀수개이면, 벡터의 값은 "1"이고, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 짝수개이면, 벡터의 값은 "0"인 것인 저밀도 패리티 체크 코드 디코딩 방법.
- 제6항에 있어서, 상기 패리티 체크 행렬과 수신 데이터를 곱하는 경우, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 홀수개이면, 벡터의 값은 "1"이고, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 짝수개이면, 벡터의 값은 "0"인 것인 저밀도 패리티 체크 코드 디코딩 방법.
- 저밀도 패리티 체크 코드를 디코딩하는 방법으로서,소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "제로"인 수를 기억하는 단계와,상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정하는 경우에, 기억 수단에 기억된 값 중 최대치를 디코딩 결과로서 출력하는 단계를 포함하는 저밀도 패리티 체크 코드 디코딩 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004324382A JP4551740B2 (ja) | 2004-11-08 | 2004-11-08 | 低密度パリティチェック符号復号器及び方法 |
JPJP-P-2004-00324382 | 2004-11-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060050924A true KR20060050924A (ko) | 2006-05-19 |
KR100757769B1 KR100757769B1 (ko) | 2007-09-12 |
Family
ID=35115746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050081207A KR100757769B1 (ko) | 2004-11-08 | 2005-09-01 | 저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7434135B2 (ko) |
EP (1) | EP1655843B8 (ko) |
JP (1) | JP4551740B2 (ko) |
KR (1) | KR100757769B1 (ko) |
CN (1) | CN1773866A (ko) |
DE (1) | DE602005001254T2 (ko) |
TW (1) | TWI286001B (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100729824B1 (ko) * | 2005-11-03 | 2007-06-18 | 주식회사 칼라짚미디어 | 이미지 코드 생성 장치 및 그 방법과 이미지 코드 디코딩장치 및 그 방법 |
US7644339B2 (en) * | 2006-10-02 | 2010-01-05 | Broadcom Corporation | Overlapping sub-matrix based LDPC (low density parity check) decoder |
US8196010B1 (en) | 2007-08-17 | 2012-06-05 | Marvell International, Ltd. | Generic encoder for low-density parity-check (LDPC) codes |
GB0816051D0 (en) * | 2008-09-03 | 2008-10-08 | Newtec Cy | Estimating transmission signal quality |
US8732564B2 (en) | 2010-01-27 | 2014-05-20 | Telefonaktiebolaget L M Ericsson (Publ) | Error floor reduction in iteratively decoded FEC codes |
KR101466555B1 (ko) * | 2010-03-12 | 2014-12-02 | 엘에스아이 코포레이션 | 플래시 메모리들을 위한 ldpc 소거 디코딩 |
US8856431B2 (en) | 2012-08-02 | 2014-10-07 | Lsi Corporation | Mixed granularity higher-level redundancy for non-volatile memory |
KR102081588B1 (ko) | 2013-08-08 | 2020-02-26 | 삼성전자 주식회사 | Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러 |
EP2922209A1 (en) * | 2014-03-20 | 2015-09-23 | Technische Universität Kaiserslautern | Soft decision decoding of linear block codes |
CN106847342B (zh) * | 2016-03-28 | 2020-05-29 | 威盛电子股份有限公司 | 非易失性存储器装置及其空页检测方法 |
JP6856761B2 (ja) * | 2017-09-20 | 2021-04-14 | 富士フイルム株式会社 | 撮像装置、撮像装置本体及び撮像装置の合焦制御方法 |
CN113940007A (zh) * | 2019-06-13 | 2022-01-14 | 三菱电机株式会社 | 解码装置 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6248126A (ja) * | 1985-08-27 | 1987-03-02 | Nec Corp | 誤り訂正符号復号器 |
JP3239795B2 (ja) * | 1997-04-23 | 2001-12-17 | 三菱電機株式会社 | 誤り訂正復号装置および誤り訂正復号方式 |
US20030203435A1 (en) * | 1998-04-30 | 2003-10-30 | Genentech, Inc. | Secreted and transmembrane polypeptides and nucleic acids encoding the same |
US6848069B1 (en) * | 1999-08-10 | 2005-01-25 | Intel Corporation | Iterative decoding process |
US6810502B2 (en) * | 2000-01-28 | 2004-10-26 | Conexant Systems, Inc. | Iteractive decoder employing multiple external code error checks to lower the error floor |
US6888897B1 (en) * | 2000-04-27 | 2005-05-03 | Marvell International Ltd. | Multi-mode iterative detector |
US6718508B2 (en) * | 2000-05-26 | 2004-04-06 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre | High-performance error-correcting codes with skew mapping |
US6865708B2 (en) * | 2000-08-23 | 2005-03-08 | Wang Xiao-An | Hybrid early-termination methods and output selection procedure for iterative turbo decoders |
JP4389373B2 (ja) * | 2000-10-11 | 2009-12-24 | ソニー株式会社 | 2元巡回符号を反復型復号するための復号器 |
US6518892B2 (en) * | 2000-11-06 | 2003-02-11 | Broadcom Corporation | Stopping criteria for iterative decoding |
US6633856B2 (en) * | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
KR100891782B1 (ko) * | 2002-06-11 | 2009-04-07 | 삼성전자주식회사 | 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법 |
ES2427179T3 (es) * | 2002-07-03 | 2013-10-29 | Dtvg Licensing, Inc | Codificación de los códigos de comprobación de paridad de baja densidad |
US7266750B1 (en) * | 2002-07-10 | 2007-09-04 | Maxtor Corporation | Error recovery strategies for iterative decoders |
US7178080B2 (en) * | 2002-08-15 | 2007-02-13 | Texas Instruments Incorporated | Hardware-efficient low density parity check code for digital communications |
JP3815557B2 (ja) * | 2002-08-27 | 2006-08-30 | ソニー株式会社 | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
JP2004104686A (ja) | 2002-09-12 | 2004-04-02 | Sony Corp | 符号解析方法及び符号解析装置、並びに復号方法及び復号装置 |
KR20040036460A (ko) * | 2002-10-26 | 2004-04-30 | 삼성전자주식회사 | Ldpc 복호화 장치 및 그 방법 |
US7058873B2 (en) * | 2002-11-07 | 2006-06-06 | Carnegie Mellon University | Encoding method using a low density parity check code with a column weight of two |
US7219288B2 (en) * | 2002-11-27 | 2007-05-15 | Koninklijke Philips Electronics N.V. | Running minimum message passing LDPC decoding |
US7653858B2 (en) * | 2002-12-20 | 2010-01-26 | Nokia Corporation | Low complexity decoding schemes for single-parity-check (SPC) based concatenated codes |
KR100502608B1 (ko) * | 2002-12-24 | 2005-07-20 | 한국전자통신연구원 | 계산이 간단한 저밀도 패리티 검사 부호를 위한 메시지 전달 복호기 |
US7296216B2 (en) * | 2003-01-23 | 2007-11-13 | Broadcom Corporation | Stopping and/or reducing oscillations in low density parity check (LDPC) decoding |
JP2004246754A (ja) * | 2003-02-17 | 2004-09-02 | Renesas Technology Corp | 半導体記憶装置およびその制御装置 |
WO2004088852A1 (ja) * | 2003-03-31 | 2004-10-14 | Fujitsu Limited | ターボ復号器 |
KR100996029B1 (ko) * | 2003-04-29 | 2010-11-22 | 삼성전자주식회사 | 저밀도 패리티 검사 코드의 부호화 장치 및 방법 |
US7237174B2 (en) * | 2003-09-04 | 2007-06-26 | The Directv Group, Inc. | Method and system for providing short block length low density parity check (LDPC) codes in support of broadband satellite applications |
US7174495B2 (en) * | 2003-12-19 | 2007-02-06 | Emmanuel Boutillon | LDPC decoder, corresponding method, system and computer program |
US7243287B2 (en) * | 2004-05-03 | 2007-07-10 | Broadcom Corporation | Decoding LDPC (Low Density Parity Check) code and graphs using multiplication (or addition in log-domain) on both sides of bipartite graph |
US7251770B2 (en) * | 2004-06-28 | 2007-07-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for decoding of turbo encoded data in a communication system |
-
2004
- 2004-11-08 JP JP2004324382A patent/JP4551740B2/ja not_active Expired - Fee Related
-
2005
- 2005-08-16 EP EP05107528A patent/EP1655843B8/en not_active Not-in-force
- 2005-08-16 DE DE602005001254T patent/DE602005001254T2/de not_active Expired - Fee Related
- 2005-08-16 TW TW094127796A patent/TWI286001B/zh not_active IP Right Cessation
- 2005-09-01 US US11/216,108 patent/US7434135B2/en not_active Expired - Fee Related
- 2005-09-01 KR KR1020050081207A patent/KR100757769B1/ko not_active IP Right Cessation
- 2005-09-02 CN CNA2005100998184A patent/CN1773866A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1655843B8 (en) | 2007-10-10 |
JP4551740B2 (ja) | 2010-09-29 |
EP1655843B1 (en) | 2007-05-30 |
JP2006135813A (ja) | 2006-05-25 |
US20060123315A1 (en) | 2006-06-08 |
DE602005001254T2 (de) | 2008-01-24 |
EP1655843A1 (en) | 2006-05-10 |
TW200629742A (en) | 2006-08-16 |
US7434135B2 (en) | 2008-10-07 |
KR100757769B1 (ko) | 2007-09-12 |
DE602005001254D1 (de) | 2007-07-12 |
TWI286001B (en) | 2007-08-21 |
CN1773866A (zh) | 2006-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100757769B1 (ko) | 저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법 | |
US8448050B2 (en) | Memory system and control method for the same | |
US9026886B1 (en) | Methods and systems for reconfigurable LDPC decoders | |
US8607118B2 (en) | Iterative decoding method and apparatus | |
JP6451955B2 (ja) | 多段ソフト入力デコードのためのシステムおよび方法 | |
JP6446730B2 (ja) | データをデコードするための方法およびデコーダ | |
US20060085726A1 (en) | Apparatus and method for decoding Reed-Solomon code | |
US9838035B2 (en) | Low-power low density parity check decoding | |
US10484020B2 (en) | System and method for parallel decoding of codewords sharing common data | |
US20070162821A1 (en) | Parity check matrix, method of generating parity check matrix, encoding method and error correction apparatus | |
US8583982B2 (en) | Concatenated decoder and concatenated decoding method | |
JP2006121686A (ja) | 低密度パリティ検査コードを効率的に復号する方法及び装置 | |
US20170288698A1 (en) | Power saving for bit flipping decoding algorithm in ldpc decoder | |
US20200044668A1 (en) | Method for ldpc decoding, ldpc decoder and storage device | |
US7818650B2 (en) | Channel encoding apparatus and method | |
US9088302B2 (en) | Low-density parity-check code decoder and decoding method | |
US20220416812A1 (en) | Log-likelihood ratio mapping tables in flash storage systems | |
US9219501B2 (en) | LDPC encoding/decoding method and device using same | |
US20150372695A1 (en) | Method and apparatus of ldpc decoder with lower error floor | |
US20170222659A1 (en) | Power improvement for ldpc | |
US8402340B2 (en) | Parity-check-code decoder and recording controller | |
CN110289863B (zh) | 译码设备、方法及信号传输系统 | |
US7640482B2 (en) | Block processing in a block decoding device | |
TWI769001B (zh) | 資料儲存系統選擇解碼策略之方法 | |
TWI769002B (zh) | 資料儲存系統選擇解碼策略之裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |