KR20060050924A - 저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법 - Google Patents

저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법 Download PDF

Info

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
Application number
KR1020050081207A
Other languages
English (en)
Other versions
KR100757769B1 (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 가부시끼가이샤 도시바
Publication of KR20060050924A publication Critical patent/KR20060050924A/ko
Application granted granted Critical
Publication of KR100757769B1 publication Critical patent/KR100757769B1/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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding 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

저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법{DECODER AND METHOD FOR DECODING LOW-DENSITY PARITY-CHECK CODE}
도 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 코드를 디코딩하기 위해서는, 일반적 으로 비트 갱신과 패리티 갱신을 반복해야 한다.
통상, 비트 갱신은 다음 식으로 표현된다.
Figure 112005049018461-PAT00001
…(1)
여기서,
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이다.
ψ( )는 확률 연산 함수이다(이하, ψ함수라고 함)
패리티 갱신은 다음 식으로 표현된다.
Figure 112005049018461-PAT00002
…(2)
여기서,
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)은 다음 식으로 표현된다.
Figure 112005049018461-PAT00003
… (3)
CPU(16)는 단계 S1에서 수신 데이터를 디코딩한다. 식 (3)으로 표현된 패리티 체크 행렬(H)은 디코딩될 수신 데이터인 다음 식과 곱해진다.
Figure 112005049018461-PAT00004
…(4)
이 때, 다음 식을 얻을 수 있다.
Figure 112005049018461-PAT00005
…(5)
식 (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. 저밀도 패리티 체크 코드 디코더로서,
    소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱하여 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로서 기억하고, 상기 패리티 에러수에 대응하는 경판정 결과 정보를 기억하는 기억 수단과,
    상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정한 경우에, 상기 기억 수단에 기억된 패리티 에러수 중 최소치의 패리티 에러수에 대응하는 경판정 결과 정보를 디코딩 결과로서 출력하는 출력 수단을 포함하는 저밀도 패리티 체크 코드 디코더.
  2. 저밀도 패리티 체크 코드 디코더로서,
    소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱하여 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로 기억하고, 그 패리티 에러수를 기억된 패리티 에러수 중 최소치라고 판정하는 경우, 상기 기억된 패리티 에러수와 이것에 대응하는 경판정 결과 정보 대신에, 최소치인 상기 패리티 에러수와 이것에 대응하는 경판정 결과 정보를 기억하는 기억 수단과,
    상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하 다고 판정한 경우에, 상기 기억 수단으로부터 판독되는 경판정 결과 정보를 디코딩 결과로서 출력하는 출력 수단을 포함하는 저밀도 패리티 체크 코드 디코더.
  3. 제1항에 있어서, 상기 패리티 체크 행렬과 수신 데이터를 곱하는 경우, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 홀수개이면, 벡터의 값은 "1"이고, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 짝수개이면, 벡터의 값은 "0"인 것인 저밀도 패리티 체크 코드 디코더.
  4. 제2항에 있어서, 상기 패리티 체크 행렬과 수신 데이터를 곱하는 경우, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 홀수개이면, 벡터의 값은 "1"이고, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 짝수개이면, 벡터의 값은 "0"인 것인 저밀도 패리티 체크 코드 디코더.
  5. 저밀도 패리티 체크 코드 디코더로서,
    소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "제로"인 수를 기억하는 기억 수단과,
    상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정하는 경우에, 상기 기억 수단에 기억된 값 중 최대치를 디코딩 결과로서 출력하는 출력 수단을 포함하는 저밀도 패리티 체크 코드 디코더.
  6. 저밀도 패리티 체크 코드를 디코딩하는 방법으로서,
    소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로서 기억하고, 상기 패리티 에러수에 대응하는 경판정 결과 정보를 기억하는 단계와,
    상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정하는 경우에, 기억 수단에 기억된 패리티 에러수 중 최소치의 패리티 에러수에 대응하는 경판정 결과 정보를 디코딩 결과로서 출력하는 단계를 포함하는 저밀도 패리티 체크 코드 디코딩 방법.
  7. 저밀도 패리티 체크 코드를 디코딩하는 방법으로서,
    소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "비제로"인 수를 패리티 에러수로서 기억하고, 그 패리티 에러수를 기억된 패리티 에러수 중에서 최소치라고 판정하는 경우에, 상기 기억된 패리티 에러수와 이것에 대응하는 경판정 결과 정보 대신에, 최소치인 상기 패리티 에러수와 이것에 대응하는 경판정 결과 정보를 기억하는 단계와,
    상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정한 경우에, 상기 기억 수단으로부터 판독되는 경판정 결과 정보를 디코딩 결과로서 출력하는 단계를 포함하는 저밀도 패리티 체크 코드 디코딩 방법.
  8. 제5항에 있어서, 상기 패리티 체크 행렬과 수신 데이터를 곱하는 경우, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 홀수개이면, 벡터의 값은 "1"이고, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 짝수개이면, 벡터의 값은 "0"인 것인 저밀도 패리티 체크 코드 디코딩 방법.
  9. 제6항에 있어서, 상기 패리티 체크 행렬과 수신 데이터를 곱하는 경우, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 홀수개이면, 벡터의 값은 "1"이고, 상기 패리티 체크 행렬의 행에 포함된, 값이 "1"인 수가 짝수개이면, 벡터의 값은 "0"인 것인 저밀도 패리티 체크 코드 디코딩 방법.
  10. 저밀도 패리티 체크 코드를 디코딩하는 방법으로서,
    소정의 패리티 체크 행렬을 이용하여 수신 데이터를 디코딩하는 경우, 상기 패리티 체크 행렬과 수신 데이터를 곱해서 얻은 벡터에 포함된, 값이 "제로"인 수를 기억하는 단계와,
    상기 수신 데이터를 소정 횟수 디코딩한 후 그 수신 데이터를 정정 불가능하다고 판정하는 경우에, 기억 수단에 기억된 값 중 최대치를 디코딩 결과로서 출력하는 단계를 포함하는 저밀도 패리티 체크 코드 디코딩 방법.
KR1020050081207A 2004-11-08 2005-09-01 저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법 KR100757769B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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