KR20060052488A - 연결된 반복 및 대수 코딩 - Google Patents

연결된 반복 및 대수 코딩 Download PDF

Info

Publication number
KR20060052488A
KR20060052488A KR1020050105656A KR20050105656A KR20060052488A KR 20060052488 A KR20060052488 A KR 20060052488A KR 1020050105656 A KR1020050105656 A KR 1020050105656A KR 20050105656 A KR20050105656 A KR 20050105656A KR 20060052488 A KR20060052488 A KR 20060052488A
Authority
KR
South Korea
Prior art keywords
decoder
block
symbols
data
codewords
Prior art date
Application number
KR1020050105656A
Other languages
English (en)
Other versions
KR101110586B1 (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 KR20060052488A publication Critical patent/KR20060052488A/ko
Application granted granted Critical
Publication of KR101110586B1 publication Critical patent/KR101110586B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices

Abstract

정보를 에러-보정 부호화하는 장치는, 일 실시예에서, 대수적으로 복호화가능한 데이터를 생성하는 외부 부호기(outer encoder)를 포함하고, 상기 외부 부호기는 반복적으로 복호화 가능한 데이터를 생성하는 하나 이상의 내부 부호기들에 선택적으로 결합된다. 외부 부호기는 q 외부-부호화된 심볼들을 생성하기 위해 r 코드 심볼들을 사용하여 (q-r) 원 데이터 심볼들의 그룹을 부호화하기 위해 적응되며, 상기 외부 부호기의 상기 코딩 이득은 x 심볼 에러들까지의 보정 및 (r-2x) 심볼 삭제들을 위해 제공되고, 여기서 r은 0보다 큰 정수이고 x는
Figure 112005063734192-PAT00001
와 같은 정수이다. 하나 이상의 반복 EC-내부 부호기들은 각각의 q 외부-부호화된 심볼들 또는 다른 것들에 독립적으로 수 개의 외부-부호화된 심볼들의 조합들을 내부 부호화하도록 적응되며, 각각의 심볼은 h 추가 코드 비트로 부호화된다.
코드워드, 내부 부호기, 외부 부호기, 에러-보정, 코딩 이득

Description

연결된 반복 및 대수 코딩{Concatenated iterative and algebraic coding}
도 1은 본 발명에 따른 예시적인 에러-보정 시스템을 도시하는 도면.
도 2는 채널을 통해 전달하는 코드워드(codeword)와 관련된 시나리오들을 상술하는 표 1을 도시하는 도면.
도 3은 도 1의 부호기(110)의 예시적인 실시예(300)를 도시하는 도면.
도 4는 도 3의 부호기(300)의 동작과 관련된 추가적인 상세도.
도 5는 도 1의 복호기(124)의 예시적인 실시예(500)를 도시하는 도면.
도 6은 도 1의 복호기(124)의 대안적인 예시적인 실시예(600)를 도시하는 도면.
도 7은 도 1의 복호기(124)의 다른 대안적인 예시적인 실시예(700)를 도시하는 도면.
* 도면 부호에 대한 간단한 설명 *
102 : 입력 104 : 외부 부호기
108 : 내부 부호기(들) 110 : 부호기
114 : 채널 118 : 내부 복호기(들)
122 : 외부 복호기 124 : 복호기
126 : 출력
본 발명은 에러-보정(EC) 코딩 및, 특히 연결된 에러 코딩 및 복호화에 관한 것이다.
디지털 통신 시스템들에서, 정보는 통상적으로 약간의 노이즈양에 의해 손상되는 채널을 통해 전송기로부터 수신기에 전달된다. 유사하게는, 디지털 저장 시스템들(예를 들면, 자기, 광학, 반도체, 및 유기 저장 시스템들)에서, 정보에 대한 손상들은 저장 매체에 전송, 저장 매체에 저장, 및 저장 매체로부터 읽어들이는 동안 도입될 수 있다. 비트-에러 레이트(bit-error rate : BER)로서 불리는, 에러가 발생하는 비율은 디지털 통신 링크들 및 데이터 저장을 위해 매우 중요한 설계 기준이다. BER은 전체 비트수에 대한 도입된 비트 에러들의 수의 비율로 일반적으로 정의된다. 일반적으로, BER은 애플리케이션에 의존하는, 특정값보다 낮게 유지되어야 한다. 통신들 및 저장 시스템들 모두에서, 원래의 메시지들에 대한 리던던시(redundancy)의 부가에 기초하여 EC-코딩 기술들은 노이즈 및 심볼간 간섭(inter-symbol interference : ISI)과 같은 손상들의 출현에서 가능한 정확하게 복구되는 것을 보증하기 위해 공통적으로 채용된다. EC 코드들의 도입 및 개요는 여기에 참조로서 완전하게 통합된 버나드 스칼라(Bernard Skalar) 및 프레드릭 제이. 해리스(Fredric J. Harris)의 IEEE Signal Processing Magazine, 2004년 7월, pp 14-35, "선형 블록 코드들의 ABC들(The ABCs of linear block codes)"에서 발견될 수 있 다.
일반적으로, EC 복호기들은 두 개의 주요 종류들로 된다: 대수 하드 복호기들(algebraic hard decoders) 및 반복 소프트 복호기들(iterative soft decoders). 하드 복호화(hard decoding)는 수신된 신호들 또는 저장 매체로부터 읽어들인 신호들 샘플들이 디지털 심볼들에 대해 직접적으로 복호화되는 처리를 말하는 반면에, 소프트 복호화는 특정 샘플이 이진수의 0 또는 이진수의 1인 확률과 같은, 더 개연성 있는 정보로 되는 처리를 말한다. 예를 들면, 일반적인 소프트 출력 복호기는 각각이 수신된 샘플을 나타내기 위해 4 비트 부호를 가진 이진 값을 사용할 수 있다. +7에 가까운 값은 수신된 이진수의 1을 나타내는 높은 확률을 가지는 것으로 고려되는 반면 -8에 가까운 값은 수신된 이진 수의 0을 나타내는 높은 확률을 가지는 것으로 고려된다. 반복 복호화는 이전의, 보다 덜 신뢰할 수 있는 비트 추정들로부터 보다 신뢰할 수 있는 비트 추정들을 생성하여 복호화 정확도(decoding accuracy)를 개선할 수 있다.
반복 복호기들(예를 들면, 터보 복호기들, 저밀도 패리티-검사(LDPC) 복호기들, 및 반복 어레이 복호기들)은 높은 코딩 이득(coding gain)의 매력적인 특성을 가진다. 코딩 이득은 코딩된 신호를 부호화되지 않은 신호에 제공하는 효율성에서의 증가로서 정의된다. 데시벨(decibels)로 표현된, 코딩 이득은 예를 들면, 특정 코드가 코드에 관하여 채용되지 않을 때 채널을 통하여 동일한 데이터 레이트를 유지하는 것을 달성할 수 있는 전송 전력 저하(transmit power recudtion)의 레벨을 나타낼 수 있다. 반복 복호기들의 일 특성은 복호기의 코딩 이득에 대하여 근접한 형태 수식이 없다는 것이다. 수식은 경계된 동작들의 수에 의해 분석적으로 표현될 수 있는 경우 일정한 형태 수식이라고 한다. 예를 들면, 무한 합계(infinite sum)는 일반적으로 한정된 형태로 고려되지 않을 것이다. 반복 복호기의 코딩 이득에 대한 일정한 형태의 수식이 없기 때문에, 이들 복호기들의 코딩 이득은 일반적으로 시뮬레이션에 의해 결정된다. 불행하게도, 반복 복호기의 타겟 BER이 매우 낮을 때(예를 들면, 10-15 이하), 복호기의 시뮬레이션은 오늘날의 컴퓨팅 시스템들을 사용하기에 실용적이 아니다. 그래서, 예를 들면, 특정 반복 복호기는 타겟 BER이 10- 5 인 시스템에 대한 상당한 코딩 이득을 나타내는 것을 시뮬레이션에 의해 보여질 수 있지만, 그것의 성능은 10-15의 타겟 BER에 대해 결정될 수 없다. 또한, 실험적인 데이터는, 반복 복호기들에 대해서, 성능은 낮은 BER에서 평평한 경향이 있고, 상승(raising)은 또한 반복 복호기들이 적당한 반복들의 수로 모든 에러들을 보정하기에 실패할 수 있는 것과 관련있다는 것을 나타내는 경향이 있다. 어레이 코드들(array codes) 및 LDPC 코드들의 더 많은 정보는 여기에 완전히 참조로서 통합된 2000년 9월 Proc. 38th Allerton conference on Communication, Control, and Computig, 955-956, 제이.엘. 팬(J.L. Fan)의 "저밀도 패리티 검사 코드들로서의 어레이 코드들(Array codes as Low-Density Parity Check codes)"에서 찾을 수 있다. 터보 코드들의 더 많은 정보는 여기에 완전히 참조로서 통합된, 1997년 12월, IEEE Communications Magazine, 페이지 94-102, 비. 스키얼(B.Skiar)의 "터보 코드 개념들 입문서(A Primer on Turbo Code Concepts)"에서 찾을 수 있다.
한편, 대수 복호기들(예를 들면, 해밍 복호기들(Hamming decoders), 리드-솔로몬 복호기들,(Reed-Solomon decoder), 보제-쇼두리-호쿠엔헴(Bose-Chaudhuri-Hocquenhem : BCH) 복호기들, 및 대수 어레이 복호기들)은 반복 복호기보다 덜 효과적일 수 있다; 그러나, 대수 복호기들의 성능은 독단적으로 낮은 타겟 BER에서 분석적으로 계산될 수 있다. 그러므로, 특정 타겟 BER이 주어지고, 예상되는 채널 에러율이 주어지고, 일정형 수식은 특정 대수의 코드가 타겟 BER에 맞도록 사용될 수 있는지 아닌지의 여부를 결정하기 위해 사용될 수 있다.
데이터 저장 애플리케이션들을 위해, 보정된 비트-에러율(즉, 에러 보정후 BER)은 바람직하게는 10-15 이하의 계수이다. 비트 에러들은 예를 들면, 읽기 헤드들의 미스트래킹(mistracking), 기록 매체에 관련한 읽기 헤드의 비행 고도 변동, 비트 밀도, 및 시스템의 신호 대 노이즈 비율(signal to noise ratio : SNR)때문에 데이터 저장 애플리케이션들에 도입될 수 있다. 오늘날, 데이터 저장 애플리케이션들의 목표는 제곱인치 당 1 테라-비트(1 Tbit/in2) 이상의 저장 밀도들을 실현하는 것이다. 이런 높은 비트 밀도는 낮은 BER들을 실현하는 일을 복잡하게 하는 높은 심볼간 간섭(intersymbol interference : ISI)을 생성한다. 또한, 이 높은 비트 밀도들과 함께, 기록 매체상을 차지하는 각 비트의 물리적인 공간은 비교적 작게 되고, 비교적 낮은 신호 강도가 되며, 이는 SNR에 영향을 준다. 게다가, 계산적으로 복잡한 부호화/복호화 방식들은 관련된 복호화 동작이 높은 비트 레이트에서 구현되기 어렵게 한다.
따라서, 1 Tbit/in2와 같은, 전형적으로 높은 비트 밀도들에 관련된 큰 ISI 및 낮은 SNR의 복잡하게 만드는 요소들에도 불구하고 10-15 이하의 보정된 BER들을 초래하는 보정된 BER들에 대한 필요가 존재한다. 또한, 높은 데이터 비율들에서 부호화/복호화를 허용하는 이런 코딩 방식에 대한 필요가 존재한다.
종래 기술에서 문제점들은, 본 발명의 원리들에 따라서, 연결된 대수 및 반복 복호기들의 사용을 포함하는 에러-보정 부호화 및 복호화를 위한 방법 및 장치에 의해 처리된다. 반복 복호기들은 매체에 대해 높은 BER들로 에러들을 효율적으로 감소시키기 위해 사용되는 반면, 대수 복호기들은 낮은 BER에서 성능을 보증한다.
본 발명의 일 실시예는 (1) 대수 EC 출력 복호기를 사용하여 복호화될 수 있는 부호화된 데이터를 생성하기 위해 EC 출력 부호기를 사용하여 데이터를 EC 부호화하는 단계, 및 (2) 하나 이상의 반복 EC 내부 복호기들을 사용하여 복호화될 수 있는 다른-부호화된 데이터를 생성하기 위해 하나 이상의 EC 내부 부호기들을 사용하여 부호화된 데이터를 또한 EC 부호화하는 단계를 더 포함하는 EC 부호화의 방법이다.
본 발명의 다른 실시예는 반복 EC 내부 복호기 및 대수 EC 외부 복호기를 EC-부호화된 데이터에 적용하여 EC-부호화된 데이터를 복호화하는 방법이다. 반복 EC 내부 복호기는 EC 내부 부호기에 의해 생성된 중복 데이터(redundant data)의 함수로서 EC-부호화된 데이터에서 에러들을 보정하도록 동작한다. 대수 EC 출력 부호기는 EC 출력 부호기에 의해 생성된 중복 데이터를 사용하게 하여 EC-부호화된 데이터에서 에러들을 보정하도록 동작한다.
본 발명의 다른 실시예는 외부 부호기 및 후속하는 적어도 하나의 내부 부호기를 원 데이터에 적용하여 생성된 EC-부호화된 데이터를 복호화하기 위한 방법이다. 방법은 (a) 제 1 복호화된 데이터를 생성하기 위해 적어도 하나의 내부 복호기를 EC-부호화된 데이터에 적용하는 단계로서, 상기 적어도 하나의 내부 복호기는 상기 적어도 하나의 내부 복호기에 대응하는, 상기 EC-부호화된 데이터에 적용하는 단계; (b) 제 2 복호화된 데이터를 생성하기 위해 적어도 하나의 반복 복호기를 제 1 복호화된 데이터에 적용하는 단계로서, 상기 적어도 하나의 반복 복호기는 상기 출력 부호기에 대응하는, 상기 제 1 복호화된 데이터에 적용하는 단계; 및(c) 복호화된 데이터 출력을 생성하기 위해 대수 복호기를 상기 제 2 복호된 데이터에 대해 적용하는 단계로서, 상기 대수 복호기는 상기 외부 부호기에 대응하는, 상기 제 2 복호된 데이터에 적용하는 단계를 포함한다.
본 발명의 다른 실시예는 외부 부호기 및 후속하는 적어도 하나의 내부 부호기를 원 데이터에 대해 적용하여 생성되는 EC-복호화된 데이터를 복호화하기 위한 연결된 복호기이다. 복호기는 (a) 제 1 복호화된 데이터를 생성하기 위해 EC-부호화된 데이터를 복호화하기 위해 적응된 적어도 하나의 내부 복호기로서, 상기 적어도 하나의 내부 복호기는 상기 적어도 하나의 내부 부호기에 대응하는, 상기 적어도 하나의 내부 복호기, (b) 제 2 복호화된 데이터를 생성하기 위해 상기 제 1 복 호화된 데이터를 복호화하기 위해 적응된 적어도 하나의 반복 복호기로서, 상기 적어도 하나의 반복 복호기는 외부 부호기에 대응하는, 상기 적어도 하나의 반복 복호기, 및 (c) 복호화된 데이터 출력을 생성하기 위해 상기 제 2 복호화된 데이터를 복호화하기 위해 적응된 대수 복호기로서, 상기 대수 복호기는 상기 외부 부호기에 대응하는, 상기 대수 복호기를 포함한다.
본 발명의 다른 실시예는 (1) 심볼들의 제 1 블록을 생성하기 위해 데이터의 제 1 블록에 외부 부호기를 적용하고 (2) 코드워드들의 제 1 블록을 생성하기 위해 심볼들의 상기 제 1 블록에 적어도 하나의 내부 부호기를 적용하여 생성된 EC-부호화된 데이터를 복호화하기 위해 연결된 복호기이다. 연결된 복호기는 코드워드들의 제 1 블록에 대응하는 코드워드들의 제 2 블록을 복호화하기 위해 적응된 적어도 하나의 내부 복호기를 포함한다. 코드워드들의 제 2 블록의 복호화는 심볼들의 제 1 블록에 대응하는 심볼들의 제 2 블록을 생성한다. 적어도 하나의 내부 복호기는 코드워드들의 제 2 블록에서 각 코드워드를 독립적으로 복호화한다. 적어도 하나의 이들 코드워드는 심볼들의 제 2 블록에서 두 개 이상의 심볼들을 생성하기 위해 내부 복호기에 의해 복호화된다. 연결된 복호기는 또한 데이터의 제 1 블록에 대응하는 데이터의 제 2 블록을 생성하기 위해 심볼들의 제 2 블록에 대수 복호화 방식을 적용하기 위해 적응된 대수 외부 복호기를 포함한다.
본 발명의 다른 양태들, 피쳐들, 및 이점들은 다음의 상세한 설명, 첨부된 청구항들, 및 첨부된 도면들로부터 보다 완전하게 명백해질 것이다.
여기에 "일 실시예" 또는 "실시예"에 대한 참조는 실시예에 관련하여 설명된 특정한 피쳐, 구조, 또는 특성들은 본 발명의 적어도 하나의 구현에 포함될 수 있다는 것을 의미한다. 명세서에서 여러 곳들에서 관용구 "일 실시예에서"의 출현들은 동일한 실시예에 대해 필수적으로 모두 참조하지 않고, 다른 실시예들의 필수적으로 상호 배타적인 개별적이거나 대안적인 실시예들도 아니다.
에러-보정 시스템
도 1은 본 발명에 따른 예시적인 EC 시스템(100)을 도시한다. EC 시스템(100)은 EC 부호기(110) 및 EC 복호기(124)를 포함한다. EC 부호기(110)는 EC 외부 복호기(104) 및 하나 이상의 EC 내부 부호기들(108)을 포함한다. EC 복호기(124)는 하나 이상의 EC 내부 복호기들(118) 및 EC 외부 복호기(122)를 포함한다.
동작시, 외부 복호기(104)는 부호화된 데이터(106)를 생성하기 위해 중복된 데이터와 함께 입력 데이터(102)를 부호화한다. 부호화된 데이터(106)는 그후 추가적인 EC 부호화가 부호화된 데이터(112)를 생성하기 위해 수행되는 일련의 하나 이상의 내부 부호기들(108)을 지난다. 부호화된 데이터(112)는 그후 에러들이 데이터로 변함없이 도입되는 채널(114)(예를 들면, 전송 또는 저장 채널)을 통해 전달된다. (잠재적으로 에러인) 부호화된 데이터는 그 후 (전송 채널의 경우에) 수신되고, (저장 채널의 경우에) 검색되고, 그 결과로서 부호화된 데이터는 그 후 EC 복호기(124)에 제시된다. EC 복호기(124)에서, 하나 이상의 복호기들(118)은 채널에 의해 도입된 수 개의 또는 모든 에러들을 보정하도록 동작한다. 내부 복호기들의 출력(120)은 수 개의 또는 모든 잔여 에러들이 보정될 수 있는 경우 외부 복호 기(122)로 전달된다. 결국, 복구되거나 부분적으로 복구된 데이터(126)는 복호기(124)로부터 출력된다.
부호기(110)에서, 외부 부호기(104) 및 내부 부호기(들)(108)은 본 기술에서(예를 들면, 터보, 이차원 제품 코드(2DPC), LDPC, 해밍, 리드 솔로몬, BCH, 및 어레이 부호기들) 알려진 바와 같이 대수로 복호화 가능한 외부 부호기(104)에 의해 생성된 코드를 가진 광범위한 여러가지 EC 부호기들의 적절한 조합일 수 있다.
유사하게는, 복호기(124)에서, 내부 복호기(들)(118) 및 외부 복호기(122)는 적어도 반복적으로 복호화 가능한 외부 복호기(122)를 가진, 부호기(110)를 구성하는 부호기들에 대응하는 적절한 EC 복호기들의 조합이다. 일반적으로는, 내부 복호기(들)(118)는 내부 부호기(들)(108) 및 가능하게는 외부 부호기(104)에 대응하는 일련의 하나 이상의 반복 또는 대수 복호기들일 수 있다.
부호화
도 3은 LDPC 부호기(308)에 선택적으로 결합되는 (외부) 어레이 부호기(304)를 포함하는 도 1의 부호기(110)의 예시적인 실시예(300)를 도시한다. 동작시, 어레이 부호기(304)는 전송되거나 저장될 입력 데이터(302)를 수신하고, 어레이-부호화될 데이터(306)를 생성하기 위해 입력 데이터를 부호화하고, 그 후 어레이-부호화된 데이터를 LDPC 부호기(308)로 전달한다. LDPC 부호기(308)는 그 후 LDPC/어레이 부호화된 데이터(310)를 생성하기 위해 어레이-부호화된 데이터를 부호화한다.
도 4는 도 3의 부호기(300)의 동작과 관련된 추가적인 상세 항목들을 도시한 다. 부호기(300)에 의해 부호화된 입력 데이터는 우선 각 블록 엔트리가 입력 데이터의 단일 비트인 경우 p행 (q-r)열 블록들(302)로 그룹화되며, p, q, 및 r은 양의 정수들이고, 0 < r < q이다. 어레이-부호기 용어에서, 각각의 (q-r)열들은 심볼로 고려된다. 블록(302)은 그러므로 (q-r) 데이터 심볼들(312)를 가진 데이터 블록이 고려될 수 있다. 어레이 부호기(304)의 동작은 (p ×q) 블록(306)이 되며, 그것은 r 코드(이 경우에는, 패리티(parity)) 심볼들(316) 뿐만 아니라 원래의 (q-r) 심볼들(312)을 포함한다. 결과로서, (p ×q) 블록(306)은 그 후 LDPC 부호기(308)로 되돌아가고, 여기서 각 열은 블록(306)에서 다른 열들과 관계없이 부호화된다. LDPC 부호화는 각각의 길이(p+h)인, q 코드워드들(예를 들면, 코드워드들(318, 320))을 생성하기 위해 데이터 블록(306)의 각각의 열에 대한 h 비트의 코드(이 경우에는, 패리티)의 추가로 이루어진다. 내부, LDPC 부호기는, 여러 구현들에서, 구현에 가장 적절하도록 직렬 또는 병렬로 각 열을 처리할 수 있다. 일반적으로, 병렬-구현 옵션은 직렬 구현에 관련한 내부 부호기의 동작을 빠르게 할 수 있다.
대안적인 실시예들에서, 블록(306)의 하나 이상의 열들은 LDPC 부호기(308)에 의해 다른 것들과 관계없이 동작되는 각각의 조합을 가진 단일 코드워드로 결합될 수 있다.
검출
도 5, 6, 및 7에 의해 도시된 부호기의 각각의 실시예에서, 소프트 입력, 소프트 출력(SISO) 채널 검출기(예를 들면, 도 5의 SISO 채널 검출기(502))는 채널로 부터 데이터를 수신한다. 이 데이터는 내부 부호기(308)로부터 출력된 데이터 블록(310)과 실질적으로 비슷하게 구성되지만, 노이즈 및 부호기 및 복호기 사이의 채널과 관련된 손상들에 의해 잠재적으로 변조된다. SISO 채널 검출기는 SISO 알고리즘(예를 들면, 소프트 출력 비터비 알고리즘(soft output Viterbi algorithm : SOVA))을 사용하여 데이터를 처리하고 수신된 각각의 데이터 비트에 대하여 소프트 추정을 출력한다. 이 추정은 범위 -32 내지 +31를 가진 6 비트 이진 값의 형태일 수 있다. 만약 값이 -32에 가깝다면, 수신된 데이터 비트는 이진수의 0으로서 전송될 가능성이 높게 고려된다. 만약 값이 +31에 가깝다면, 수신된 데이터 비트는 이진수의 1로서 전송될 가능성이 높게 고려된다. 채널 검출기에 의해 생성되는 소프트 추정들은 부호기에 의해 생성된 (p+h) 비트의 q 코드워드들에 대응하는 (p+h) 6비트 값들의 q 열들로 분할되고, 소프트 데이터의 이들 q 열들은 처리를 위해 복호기의 제 1 스테이지로 전달된다.
복호화
도 3의 복호기 실시예에서, 어레이-부호화된 데이터는 반복적으로 및/또는 대수적으로 복호화될 수 있기 때문에, 도 5, 6, 및 7에서 도시된 바와 같이 복호기 구현들에 대한 다양한 옵션들이 있다.
코드워드(예를 들면 도 4의 열(318))가 채널을 통해 전달되고, 채널 검출기에 의해 처리되고, 하나 이상의 내부 복호기들에 의해 동작될 때, 도 2의 표 1에 요약된 바와 같이 외부 복호기에 입력된 데이터와 관련된 다수의 다른 가능한 시나리오들이 있다는 것을 주의하라. 제 1 시나리오에서, 채널에 의해 도입된 에러들 이 없고, 수신된 코드워드는 부호기로부터 채널로 전송된 코드워드에 대응한다. 제 2 시나리오에서, 하나 이상의 에러들은 채널에 의해 코드워드로 도입되지만 에러들은 내부 복호기(들)에 의해 보정될 수 있다. 제 3 시나리오에서, 하나 이상의 에러들은 채널에 의해 도입되고, 에러들은 보정하기 위해 내부 복호기(들)의 능력을 초과한다. 제 3 시나리오에서, 부호화된 심볼(예를 들면, 도 4의 원 데이터 심볼(312) 또는 패리티 심볼(316))은 단독으로 내부 복호기에 의해서 복구될 수 없다. 이 복구될 수 없는 심볼은 삭제 심볼로 정의되고 그것의 위치는 출력 복호기에 플래그된다(flagged). 제 4 시나리오에서, 에러들의 본질은 원래의 코드워드가 다른 유효한 코드워드, 그러나 원래 부호화된 것과 다른 심볼에 대응하는 코드워드로 매핑되는 것이다. 이 경우에는, 데이터 심볼 또는 패리티 심볼은 내부 복호기(들)에 의해 복구되지만, 부호화된 심볼은 아니다. 이 형태의 심볼은 에러 심볼로서 공지된다. 제 5 시나리오에서, 에러들의 본질은 원래의 심볼과 다른 심볼에 대응하는 무효한 코드워드에 매핑되는 것이다. 이 경우에는, 내부 복호기(들)는 잘못된 심볼에 무효한 코드워드를 복호화한다. 이와 같이, 이것은 에러 심볼의 다른 예이다.
내부 복호기(들) 동작으로부터 생긴 데이터의 (p ×q) 블록은 x 에러 심볼들 및 (r-2x) 삭제 심볼들까지의 보정(외부 복호기에 의해 복호화하는 동안)을 허용하기에 충분한 리던던시를 포함하고, 여기서 r은 0보다 큰 정수이고, (r-2x)은 0보다 큰 정수이고, x는
Figure 112005063734192-PAT00002
와 같은 정수이다. 그래서, 예로서, 외부 부호기가 수신된 데이터 심볼들의 블록에 7 개의 코드 심볼들을 추가하는 경우(i.e., r=7), 그 후, 심볼 에러들이 없는 경우, 외부 복호기는 그 블록에서 7 개의 삭제 심볼들까지 복구할 수 있을 것이다. 하나의 심볼 에러가 있을 경우, 그 후 외부 복호기는 그 블록에서 5 개의 삭제 심볼까지 복구할 수 있을 것이고, 두 개의 심볼 에러들이 있을 경우, 그 후 외부 복호기는 블록에서 세 개의 삭제 심볼들까지 복구가능할 것 등이다. 이 예시에서, 세 개의 심볼 에러들보다 큰 경우, 그 후 외부 복호기는 원 데이터를 복구하는 것이 가능하지 않을 것이다.
복호기 실시예들
도 5는, SISO 채널 검출기(502), 반복 LDPC 복호기(504), 및 대수 어레이 복호기(506)를 포함하는 도 1의 복호기(124)의 예시적인 실시예(500)를 도시한다. 동작시, 채널 검출기(502)는 채널로부터 EC-부호화된 데이터를 수신하고, 데이터의 소프트 추정들을 생성하고, q 열들 및 (p+h) 행들의 블록들로 추정들을 분할하고, LDPC 복호기(504)에 추정들을 전달한다.
LDPC 복호기는, 다른 것들에 관계없이, 각각의 열을 반복적으로 복호화하고, LDPC 복호기(504)가 정해진 최대 수의 반복들 후 유효한 코드워드로 집중하는 것을 실패한 경우 삭제 심볼로서 열을 대수 어레이 복호기(506)에 플래그한다.
내부, LDPC 복호기(들)는 여러 구현들에서, 구현에 가장 적절하도록 직렬 또는 병렬로 각각의 열을 처리한다는 것을 주의하라. 일반적으로, 병렬-구현 옵션은 직렬 구현에 관련한 내부 복호기(들)의 동작을 빠르게 할 수 있다.
이전에 논의된 바와 같이, 코드워드로부터 심볼을 복구하기 위한 LDPC 복호 기에 의한 시도는 (1) 삭제 심볼, (2) 에러 심볼, 또는 (3) 보정한 원래의 심볼 중 하나로 될 것이다. 제 1 경우에는, 코드워드는 LDPC 복호기(504)에 의해 삭제 심볼로서 어레이 복호기(506)로 플래그된다. 어레이 복호기(506)에서, 삭제는 알려지고, 심볼은 폐기된다. 이후 두 경우들에서, h 비트의 패리티가 코드워드로부터 제거되고, 그 결과로서, 심볼은 다른 처리를 위해 어레이 복호기로 전달된다. 0 에러 심볼들을 가정하면, 대수 어레이 복호기(56)는 r 삭제 심볼들까지 보정될 수 있고, 여기서 r은 0보다 큰 정수이다. 내부 복호기에 의해 플래그된 r 삭제 심볼들보다 많은 경우, 그 후 전체 블록은 어레이 복호기에 의해 보정될 수 없는 것으로 플래그된다. 데이터 블록에서 r 또는 더 적은 삭제 심볼들 및 에러 심볼들이 없는 경우, 또는 데이터 블록에서 r-2x 또는 더 적은 삭제 심볼들이 있으며, 여기서 x는 블록에서 에러 심볼들의 정수인 경우, 이후 데이터 블록은 보정가능하고 원래의 심볼들은 어레이 복호기(506)에 의해 복구되고 복호기(500)의 출력에 전달된다.
Figure 112005063734192-PAT00003
가 내부 LDPC 복호기의 장애율(failure rate)이라고 가정하면, 이후 연결된 대수 반복 복호기의 블록 에러율(block error rate)은 분석적으로 다음을 사용하여 계산될 수 있다:
Figure 112005063734192-PAT00004
대안적인 구현들에서, LDPC 부호기(308)에 의해 생성된 코드워드는 하나 이상의 심볼로부터 형성된다. 이 경우에는, 복호기(504)는 코드워드로 부호화되는 원래의 심볼들을 생성하도록 코드워드를 복호화할 것이다. 각각의 코드워드는 다른 다수의 심볼들을 결합하고 각각의 코드워드는 대응하는 수의 원래이 심볼들, 삭제 심볼들, 또는 에러 심볼들을 산출하기 위해 LDPC 복호기에 의해 다른 것들과 관계없이 동작될 수 있다.
외부 정보를 가진 복호화
도 6은 SISO 채널 검출기(602), 반복 LDPC 복호기(604), 및 대수 어레이 복호기(606)를 포함하는 도 1의 복호기(124)의 대안적인 예시적인 실시예(600)를 도시한다. 동작시, 채널 검출기(602)는 채널로부터 EC-부호화된 데이터를 수신하고, 데이터의 소프트 추정들(soft estimates)을 생성하고, 추정들을 q 열들 및 (p+r) 행들의 블록들로 분할하고, 반복 LDPC 복호기(604)에 추정들을 전달한다. LDPC 복호기(604)는 다른 것들과 관계없이 다른 열을 반복적으로 복호화하고 복호기가 정해진 최대 수의 반복들 이후 유효한 코드워드로 집중하는 것이 실패할 경우 행을 삭제 심볼로서 플래그한다. 도 6의 실시예에서, 내부 복호기(604)의 결정 성능은 내부 복호기로부터 채널 검출기(602)로의 외부 정보 교환을 허용하여 개선된다. 여기서, 데이터 경로(608)는 정보 교환을 위해 사용된다.
도 5의 실시예로서, 삭제 심볼들은 삭제 심볼들의 위치들이 알려진 경우, 어레이 복호기에 플래그된다. 비-삭제 심볼들에 대하여, h 패리티 비트는 각각의 코드워드로부터 분리되고, 각각의 비-삭제 심볼은 다른 처리를 위해 어레이 복호기로 전달된다. 대수 어레이 복호기는 또한 심볼들을 처리하고, 에러들의 수가 전체 복호기의 코딩 이득 내에 있다고 가정하면, 어레이 복호기는 타겟 BER로 복호기의 출 력에 원 데이터 심볼들을 출력한다.
LDPC 복호기 및 SISO 채널 검출기 사이의 외부-데이터 교환과 함께 다중 반복들로부터 유래된 이득들의 결과로서, 실시예(600)의 장애율
Figure 112005063734192-PAT00005
은 도 5의 실시예와 관련된 장애율보다 더 좋을 (즉, 더 낮을) 것이고, 식 (1)에 의해 개선된(즉, 더 낮은) 블록 에러 비율로 된다.
연결된 내부 복호기들
도 7은 도 1의 복호기(124)의 다른 대안 예시적인 실시예(700)를 도시한다. 실시예(700)는 SISO 채널 검출기(702), 반복 LDPC 복호기(704), 반복 어레이 복호기(706), 및 대수 어레이 복호기(708)를 포함한다. 동작시, 채널 검출기(702)는 채널로부터 EC-부호화된 데이터를 수신하고, 데이터의 소프트 추정들을 생성하고, 추정들을 q 열 및 (p+h) 행의 블록들로 분할하고, LDPC 복호기(704)로 추정들을 전달한다. LDPC 복호기는 다른 것들에 관계없이 각각 열을 반복적으로 복호화하고 정해진 최대 수의 반복들 후에 유효한 코드워드로 집중되는 것이 실패하는 경우 열을 삭제 심볼로서 플래그한다. 이 실시예에서, 도 6의 실시예에서와 같이, 내부 복호기(704)의 결정 성능(decision performance)은 LDPC 복호기(704)로부터 채널 검출기(702)로 (데이터 경로(710)를 통해) 외부-정보 교환을 허용하여 개선된다. 그러나, 이 실시예에서, 어레이 코드들이 반복적으로 복호화하고 대수적으로 복호화될 수 있다는 사실을 이점을 취하며, 여분의 복호기 스테이지(반복 어레이 복호기 스테이지(706))는 복호기에 추가된다. 또한, 성능을 더 개선하기 위해서, 외부 -정보 교환은 (데이터 경로(712)를 통하여) 두 개의 반복 복호기 스테이지들(704, 706) 사이 및 (데이터 경로(714)를 통하여) 제 2 반복 복호기 스테이지(706) 및 SISO 채널 검출기(702) 사이에 제공된다.
도 5 및 도 6의 실시예를 가짐으로써, 삭제 심볼들은 외부 복호기에 플래그되고, 이 경우 대수 어레이 복호기(708)에서, 삭제 심볼들의 위치들이 표시된다. 그렇지 않다면, h 패리티 비트는 각각이 코드워드로부터 분리되고 각각의 비-삭제 심볼은 다른 처리를 위해서 대수 어레이 복호기(708)로 전달된다. 대수 어레이 복호기는 또한 심볼들을 처리하고, 에러들을 수가 복호기의 코딩 이득 이내라고 가정하면, 복호기(708)는 복호기의 출력에 원 데이터 심볼들을 출력한다.
LDPC 복호기, 반복 어레이 복호기, 및 SISO 채널 검출기 사이에 외부-정보 교환과 함께 다중 반복들로부터 이득들의 결과로서, 실시예(700)의 장애율
Figure 112005063734192-PAT00006
은 도 5의 실시예 또는 도 6의 실시예와 관련된 장애율들보다 더 좋을(즉, 더 낮을) 것이다.
보다 일반적으로, N 반복 복호기들 및 M 대수 복호기들은 본 발명의 여러 구현들에서 이용될 수 있으며, N 및 M은 모두 0보다 큰 정수들이다. 몇 개의 구현들에서, 반복 및 대수 복호기들은 마지막 복호기가 대수 복호기인 한, 인터리브될 수 있다.
본 발명의 여러 실시예들에서, 내부 부호기(들)/복호기(들)는 이차 곱셈 부호기(들)/복호기(들)일 수 있다.
연결된 대수 및 반복 코딩 구성은 목표 BER에서 복잡도와 대비하여 코딩 이득의 선택에서 큰 적응성을 제공한다. 복호화는 직렬, 부분적인 병렬, 또는 완전한 병렬 하드웨어 또는 소프트웨어에서 수행될 수 있다. 복호기의 복잡도는, 동작되는 각각의 데이터 양이 보다 작을 수 있기 때문에 동일한 코드 레이트의 단일 반복(예를 들면, LDPC) 복호기보다 낮을 수 있다. 어레이 코드에 대한 대수 복호화를 사용하여, 블록 에러율은 비교적 낮은 BER(예를 들면, 10-15)로 분석적으로 낮게 계산될 수 있다.
본 발명은 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 몇 개의 조합으로 수행될 수 있지만, 이산 하드웨어 로직(discrete hardware logic), 주문형 반도체(application specific integrated circuit), 주문형 집적 회로들(custom integrated circuit), 프로그램 가능 로직, 프로그램 가능 마이크로 프로세서-기반 시스템들,또는 프레이머들(framers), 라우터들, 회선 접속 장치들(line interface units), 멀티플렉서들, 디멀티플렉서들, 및 추가/드롭 멀티플렉서들, ATM 스위치들, 및 다중 인터페이스들을 통합하는 다른 이런 장치들과 같은 맵퍼들(mappers) 또는 다른 다중-간섭 디바이스들과 같은 네트워크 디바이스들에 대해 제한되지 않는 것을 포함한다.
본 발명은 실시예들을 도시하기 위해 참조하여 설명되었지만, 이 설명은 제한된 의미를 구성하지 않을 것이다. 본 발명에 속하는 당업자에게 명백한, 본 발명의 다른 실시예들뿐만 아니라 설명된 실시예들의 다양한 변경들은 청구항들에 표 현된 바와 같은 본 발명의 원리 및 범위 이내에 놓인다고 간주된다.
비록 발명의 단계들이 대응하는 라벨링을 가진 특정한 순서로 인용될지라도, 청구항 인용들이 몇 개의 또는 모든 그들의 단계들을 구현하는 특정한 순서를 포함하지 않는다면, 그것의 단계들은 특정 순서로 수행되도록 제한되도록 할 필요가 없다.
본 발명은 연결된 대수 및 반복 복호기들의 사용을 포함하는 에러-보정 부호화 및 복호화를 위한 방법 및 장치를 제공한다.

Claims (10)

  1. 외부 부호기 및 후속하는 적어도 하나의 내부 부호기로 원 데이터에 적용하여 생성되는 EC-부호화된 데이터를 복호화하는 방법에 있어서, 상기 방법은,
    (a) 제 1 복호화된 데이터를 생성하기 위해 적어도 하나의 내부 복호기를 상기 EC-부호화된 데이터에 적용하는 단계로서, 상기 적어도 하나의 내부 복호기는 상기 적어도 하나의 내부 부호기에 대응하는, 상기 적어도 하나의 내부 복호기를 상기 EC-부호화된 데이터에 적용하는 단계;
    (b) 제 2 복호화된 데이터를 생성하기 위해 적어도 하나의 반복 복호기를 상기 제 1 복호화된 데이터에 적용하는 단계로서, 상기 적어도 하나의 반복 복호기는 상기 외부 부호기에 대응하는, 상기 적어도 하나의 반복 복호기를 상기 제 1 복호화된 데이터에 적용하는 단계; 및
    (c) 출력 복호화된 데이터를 생성하기 위해 대수 복호기를 상기 제 2 복호화된 데이터에 적용하는 단계로서, 상기 대수 복호기는 상기 외부 부호기에 대응하는, 상기 제 2 복호화된 데이터에 적용하는 단계를 포함하는, 상기 대수 복호기를 EC-부호화된 데이터 복호화 방법.
  2. 제 1 항에 있어서, 적어도 하나의 내부 복호기는 반복 복호기를 포함하는, EC-부호화된 데이터 복호화 방법.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 내부 복호기는 LDPC 복호기를 포함하고, 상기 적어도 하나의 반복 복호기는 반복 어레이 복호기를 포함하고, 상기 대수 복호기는 대수 어레이 복호기인, EC-부호화된 데이터 복호화 방법.
  4. 제 1 항에 있어서,
    상기 EC-부호화된 데이터는 (1) 심볼들의 제 1 블록을 생성하기 위해 상기 외부 부호기를 원 데이터에 적용하고, (2) 코드워드들의 제 1 블록을 생성하기 위해 심볼들의 상기 제 1 블록에 상기 적어도 하나의 내부 부호기를 적용하여 생성되는 코드워드들의 상기 제 1 블록에 대응하는 코드워드들의 제 2 블록을 포함하고;
    단계 (a)는 상기 제 1 복호화된 데이터를 생성하기 위해 상기 EC-부호화된 데이터로 각각의 코드워드를 독립적으로 복호화하며, 여기서,
    상기 제 1 복호화된 데이터는 심볼들의 상기 제 1 블록에 대응하는 심볼들의 제 2 블록을 포함하고,
    상기 적어도 하나의 내부 복호기에 의한 상기 코드워드들 중 적어도 하나의 상기 복호화는 심볼들의 상기 제 2 블록에서 두 개 이상의 심볼들을 생성하는, EC-부호화된 데이터 복호화 방법.
  5. 제 1 항에 있어서,
    단계 (a)는 채널로부터 상기 EC-부호화된 데이터를 수신하기 위해 채널 검출 기를 적용하는 단계를 더 포함하는, EC-부호화된 데이터 복호화 방법.
  6. 제 5 항에 있어서,
    외부 정보가 상기 적어도 하나의 내부 복호기로부터 상기 채널 검출기로 전달되고,
    외부 정보가 상기 적어도 하나의 반복 복호기로부터 상기 채널 검출기로 전달되고,
    외부 정보가 상기 적어도 하나의 반복 복호기로부터 상기 적어도 하나의 내부 복호기로 전달되는 것 중 적어도 하나인, EC-부호화된 데이터 복호화 방법.
  7. 외부 부호기 및 후속하는 적어도 하나의 내부 부호기를 원 데이터에 적용하여 생성되는 EC-부호화된 데이터를 복호화하기 위해 연결된 복호기에 있어서, 상기 복호기는:
    (a) 제 1 복호화된 데이터를 생성하기 위해 상기 EC-부호화된 데이터를 복호화하기 위해 적응된 적어도 하나의 내부 복호기로서, 상기 적어도 하나의 내부 복호기는 적어도 하나의 내부 부호기에 대응하는, 상기 적어도 하나의 내부 복호기;
    (b) 제 2 복호된 데이터를 생성하기 위해 상기 제 1 복호화된 데이터를 복호화하기 위해 적응된 적어도 하나의 반복 복호기로서, 상기 적어도 하나의 반복 복호기는 상기 외부 부호기에 대응하는, 상기 적어도 하나의 반복 복호기; 및
    (c) 복호된 데이터 출력을 생성하기 위해 상기 제 2 복호된 데이터를 복호화 하도록 적응된 대수 복호기로서, 상기 대수 복호기는 상기 외부 복호기에 대응하는, 상기 대수 복호기를 포함하는, EC-부호화된 데이터를 복호화하기 위해 연결된 복호기.
  8. 제 7 항에 있어서,
    상기 EC-부호화된 데이터는 (1) 심볼들의 제 1 블록을 생성하기 위해 상기 외부 부호기를 상기 원 데이터에 적용하고, (2) 코드워드들의 제 1 블록을 생성하기 위해 상기 적어도 하나의 내부 부호기를 심볼들의 상기 제 1 블록에 적용하여 생성되는 코드워드들의 상기 제 1 블록에 대응하는 코드워드들의 제 2 블록을 포함하고;
    상기 적어도 하나의 내부 복호기는 상기 제 1 복호화된 데이터를 생성하기 위해 상기 EC-복호화된 데이터로 각각의 코드 워드를 독립적으로 복호화하기 위해 적응되며, 여기서,
    상기 제 1 복호화된 데이터는 심볼들의 상기 제 1 블록에 대응하는 심볼들의 제 2 블록을 포함하고,
    상기 적어도 하나의 내부 복호기에 의해 상기 코드워드들 중 적어도 하나의 상기 복호화는 심볼들의 상기 제 2 블록에서 두 개 이상의 심볼들을 생성하는, EC-부호화된 데이터를 복호화하기 위해 연결된 복호기.
  9. EC-부호화된 데이터를 복호화하는 방법에 있어서,
    (1) 심볼들의 제 1 블록을 생성하기 위해 데이터의 제 1 블록에 외부 부호기를 적용하고, (2) 코드워드들의 제 1 블록을 생성하기 위해 심볼들의 상기 제 1 블록에 적어도 하나의 내부 부호기를 적용하여 생성된 EC-부호화된 데이터를 복호화하고,
    상기 방법은,
    (a) 코드워드들의 상기 제 1 블록에 대응하는 코드워드들의 제 2 블록을 복호화하기 위해 적어도 하나의 내부 복호기를 적용하는 단계로서, 코드워드들의 상기 제 2 블록의 복호화는 심볼들의 상기 제 1 블록에 대응하는 심볼들의 제 2 블록을 생성하고, 상기 내부 복호기는 코드워드들의 상기 제 2 블록에서 각 코드워드를 독립적으로 복호화하며, 적어도 하나의 코드워드는 심볼들의 상기 제 2 블록에서 두 개 이상의 심볼들을 생성하기 위해 상기 내부 복호기에 의해 복호화되는, 상기 적어도 하나의 내부 복호기 적용 단계; 및
    (b) 데이터의 상기 제 1 블록에 대응하는 데이터의 제 2 블록을 생성하기 위해 심볼들의 상기 제 2 블록에 대수 복호기 방식을 적용하는 단계를 포함하는, EC-부호화된 데이터를 복호화하는 방법.
  10. EC-부호화된 데이터를 복호화하는 연결된 복호기에 있어서,
    (1) 심볼들의 제 1 블록을 생성하기 위해 데이터의 제 1 블록에 외부 부호기를 적용하고, (2) 코드워드들의 제 1 블록을 생성하기 위해 심볼들의 상기 제 1 블록에 적어도 하나의 내부 부호기를 적용하여 생성된 EC-부호화된 데이터를 복호화 하고,
    상기 복호기는,
    코드워드들의 상기 제 1 블록에 대응하는 코드워드들의 제 2 블록을 복호화하기 위해 적응된 적어도 하나의 내부 복호기로서, 코드워드들의 상기 제 2 블록을 복호화하는 것은 심볼들의 상기 제 1 블록에 대응하는 심볼들의 제 2 블록을 생성하고, 상기 적어도 하나의 내부 복호기는 코드워드들의 상기 제 2 블록에서 각 코드워드를 독립적으로 복호화하고, 적어도 하나의 코드워드는 심볼들의 상기 제 2 블록에서 두 개 이상의 심볼들을 생성하기 위해 상기 내부 복호기에 의해 복호화되는, 상기 적어도 하나의 내부 복호기; 및
    데이터의 상기 제 1 블록에 대응하는 데이터의 제 2 블록을 생성하기 위해 심볼들의 상기 제 2 블록에 대수 복호화 방식을 적용하기 위해 적응된 대수 외부 복호기를 포함하는, EC-부호화된 데이터를 복호화하는 연결된 복호기.
KR1020050105656A 2004-11-04 2005-11-04 연결된 반복 및 대수 코딩 KR101110586B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/981,309 2004-11-04
US10/981,309 US7516389B2 (en) 2004-11-04 2004-11-04 Concatenated iterative and algebraic coding

Publications (2)

Publication Number Publication Date
KR20060052488A true KR20060052488A (ko) 2006-05-19
KR101110586B1 KR101110586B1 (ko) 2012-02-17

Family

ID=35500658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050105656A KR101110586B1 (ko) 2004-11-04 2005-11-04 연결된 반복 및 대수 코딩

Country Status (6)

Country Link
US (1) US7516389B2 (ko)
EP (1) EP1655845B1 (ko)
JP (1) JP4975301B2 (ko)
KR (1) KR101110586B1 (ko)
CN (1) CN1770639B (ko)
DE (1) DE602005015804D1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281217B2 (en) 2008-03-18 2012-10-02 Samsung Electronics Co., Ltd. Memory devices and encoding and/or decoding methods
KR20150107862A (ko) * 2013-01-21 2015-09-23 마이크론 테크놀로지, 인크. 분류 코드를 사용한 소프트 데이터의 결정

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7360147B2 (en) * 2005-05-18 2008-04-15 Seagate Technology Llc Second stage SOVA detector
US7502982B2 (en) * 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7958424B2 (en) * 2005-06-22 2011-06-07 Trident Microsystems (Far East) Ltd. Multi-channel LDPC decoder architecture
EP1982421A1 (en) * 2006-01-31 2008-10-22 Intel Corporation Iterative decoding of concatenated low-density parity-check codes
US8091009B2 (en) * 2006-03-23 2012-01-03 Broadcom Corporation Symbol by symbol map detection for signals corrupted by colored and/or signal dependent noise
US20070266293A1 (en) * 2006-05-10 2007-11-15 Samsung Electronics Co., Ltd. Apparatus and method for high speed data transceiving, and apparatus and method for error-correction processing for the same
KR100738983B1 (ko) * 2006-06-07 2007-07-12 주식회사 대우일렉트로닉스 저밀도 패리티 체크 부호의 복호화 방법 및 장치, 이를이용한 광정보 재생장치
CN101087180B (zh) * 2006-06-08 2012-05-23 华为技术有限公司 无线信道的译码方法、装置及其应用
WO2008007714A1 (fr) * 2006-07-14 2008-01-17 Mitsubishi Electric Corporation Codeur, décodeur, émetteur, récepteur, système de communication, dispositif de création de paquet, et dispositif de restauration de paquet
CN101162965B (zh) * 2006-10-09 2011-10-05 华为技术有限公司 一种ldpc码的纠删译码方法及系统
US8117514B2 (en) * 2006-11-13 2012-02-14 Qualcomm Incorporated Methods and apparatus for encoding data in a communication network
US8065598B1 (en) * 2007-02-08 2011-11-22 Marvell International Ltd. Low latency programmable encoder with outer systematic code and low-density parity-check code
US8359522B2 (en) * 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
US8196002B2 (en) * 2007-06-01 2012-06-05 Agere Systems Inc. Systems and methods for joint LDPC encoding and decoding
US8006172B2 (en) * 2007-07-10 2011-08-23 Oracle America, Inc. Auxiliary path iterative decoding
KR20090083758A (ko) * 2008-01-30 2009-08-04 삼성전자주식회사 연접 부호 복호화 방법 및 장치
US8145975B2 (en) * 2008-02-28 2012-03-27 Ip Video Communications Corporation Universal packet loss recovery system for delivery of real-time streaming multimedia content over packet-switched networks
DE102008040797B4 (de) * 2008-07-28 2010-07-08 Secutanta Gmbh Verfahren zum Empfangen eines Datenblocks
KR101570472B1 (ko) * 2009-03-10 2015-11-23 삼성전자주식회사 연접 부호화 및 복호화 구조를 갖는 데이터 처리 시스템
JP5502363B2 (ja) * 2009-04-28 2014-05-28 三菱電機株式会社 光伝送装置および光伝送方法
US20110083058A1 (en) * 2009-10-01 2011-04-07 Stmicroelectronics, Inc. Trapping set based ldpc code design and related circuits, systems, and methods
US8583996B2 (en) 2010-07-30 2013-11-12 Michael Anthony Maiuzzo Method and apparatus for determining bits in a convolutionally decoded output bit stream to be marked for erasure
US9116826B2 (en) * 2010-09-10 2015-08-25 Trellis Phase Communications, Lp Encoding and decoding using constrained interleaving
US8826096B2 (en) * 2011-12-29 2014-09-02 Korea Advanced Institute Of Science And Technology Method of decoding LDPC code for producing several different decoders using parity-check matrix of LDPC code and LDPC code system including the same
EP2611038A4 (en) * 2012-02-14 2015-04-01 Huawei Tech Co Ltd DECODING METHOD AND DECODING DEVICE
US8902530B1 (en) * 2012-03-30 2014-12-02 Sk Hynix Memory Solutions Inc. Decision directed and non-decision directed low frequency noise cancelation in turbo detection
US8831146B2 (en) * 2012-06-14 2014-09-09 Samsung Electronics Co., Ltd. Communication system with iterative detector and decoder and method of operation thereof
US8996971B2 (en) * 2012-09-04 2015-03-31 Lsi Corporation LDPC decoder trapping set identification
US20160197703A1 (en) * 2013-09-10 2016-07-07 Electronics And Telecommunications Research Institute Ldpc-rs two-dimensional code for ground wave cloud broadcasting
CN103986476B (zh) * 2014-05-21 2017-05-31 北京京东尚科信息技术有限公司 一种用于二维图形码的级联纠错编码方法和装置
US9553611B2 (en) * 2014-11-27 2017-01-24 Apple Inc. Error correction coding with high-degree overlap among component codes
JP6484041B2 (ja) * 2015-01-22 2019-03-13 日本放送協会 連接符号を用いた送信装置、受信装置及びチップ
RU2619533C2 (ru) * 2015-10-27 2017-05-16 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" Лексикографический декодер каскадного кода
CN113424454A (zh) * 2019-02-22 2021-09-21 三菱电机株式会社 纠错解码装置和纠错解码方法
CN110113058B (zh) * 2019-06-04 2023-04-25 翰顺联电子科技(南京)有限公司 编译码方法、装置、设备及计算机可读存储介质
KR20210125294A (ko) * 2020-04-08 2021-10-18 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827732B2 (ja) * 1991-01-22 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション 線形代数コード復号のためのキー方程式を解く方法
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US6029264A (en) * 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system
GB2327003A (en) * 1997-07-04 1999-01-06 Secr Defence Image data encoding system
FR2778289B1 (fr) * 1998-05-04 2000-06-09 Alsthom Cge Alcatel Decodage iteratif de codes produits
US6769089B1 (en) * 1999-12-24 2004-07-27 Ensemble Communicatioins, Inc. Method and apparatus for concatenated channel coding in a data transmission system
WO2001076079A2 (en) 2000-04-04 2001-10-11 Comtech Telecommunication Corp. Enhanced turbo product code decoder system
US6956872B1 (en) * 2000-05-22 2005-10-18 Globespanvirata, Inc. System and method for encoding DSL information streams having differing latencies
US6622277B1 (en) * 2000-06-05 2003-09-16 Tyco Telecommunications(Us)Inc. Concatenated forward error correction decoder
US6553536B1 (en) * 2000-07-07 2003-04-22 International Business Machines Corporation Soft error correction algebraic decoder
US7111221B2 (en) * 2001-04-02 2006-09-19 Koninklijke Philips Electronics N.V. Digital transmission system for an enhanced ATSC 8-VSB system
JP4198904B2 (ja) * 2001-06-11 2008-12-17 富士通株式会社 記録再生装置、信号復号回路、エラー訂正方法、及び反復型復号器
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
CN1471761A (zh) * 2001-08-28 2004-01-28 连宇通信有限公司 基于子码伴随式译码的级联分组码的迭代译码方法
KR100444571B1 (ko) * 2002-01-11 2004-08-16 삼성전자주식회사 터보디코더와 알에스디코더가 연접된 디코딩장치 및 그의디코딩방법
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
US7093188B2 (en) * 2002-04-05 2006-08-15 Alion Science And Technology Corp. Decoding method and apparatus
JP4088133B2 (ja) * 2002-10-24 2008-05-21 富士通株式会社 リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム
CN1252935C (zh) * 2002-12-13 2006-04-19 清华大学 基于低密度奇偶检验编码的信源信道联合编码方法
JP2004265488A (ja) * 2003-02-28 2004-09-24 Toshiba Corp ディスク記憶装置及びデータ再生方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281217B2 (en) 2008-03-18 2012-10-02 Samsung Electronics Co., Ltd. Memory devices and encoding and/or decoding methods
KR20150107862A (ko) * 2013-01-21 2015-09-23 마이크론 테크놀로지, 인크. 분류 코드를 사용한 소프트 데이터의 결정

Also Published As

Publication number Publication date
CN1770639B (zh) 2012-03-28
JP2006135980A (ja) 2006-05-25
KR101110586B1 (ko) 2012-02-17
CN1770639A (zh) 2006-05-10
DE602005015804D1 (de) 2009-09-17
JP4975301B2 (ja) 2012-07-11
EP1655845A1 (en) 2006-05-10
EP1655845B1 (en) 2009-08-05
US7516389B2 (en) 2009-04-07
US20060107176A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
KR101110586B1 (ko) 연결된 반복 및 대수 코딩
US7502982B2 (en) Iterative detector with ECC in channel domain
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
US7519898B2 (en) Iterative decoding of linear block codes by adapting the parity check matrix
US8127216B2 (en) Reduced state soft output processing
US20090132894A1 (en) Soft Output Bit Threshold Error Correction
Mahdavifar et al. On the construction and decoding of concatenated polar codes
KR20000076757A (ko) 데이터 저장 장치용 순환 중복 검사 정보의 갱신 방법 및장치
US7331012B2 (en) System and method for iterative decoding of Reed-Muller codes
US20100146372A1 (en) Decoding of serial concatenated codes using erasure patterns
US7640462B2 (en) Interleaver and de-interleaver
US20050210358A1 (en) Soft decoding of linear block codes
JP5374156B2 (ja) データを復号化及び符号化するための装置及び方法
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
US6718502B1 (en) Precoders for partial response channels
US6976203B2 (en) Turbo decoder architecture with mini-trellis SISO
WO2022135719A1 (en) Staircase polar encoding and decoding
US7254771B1 (en) Error-erasure decoding of interleaved reed-solomon code
Guo et al. High-performance soft decision decoding for compound channel using RS-SPC concatenated codes
JP2007116591A (ja) 符号化装置、復号化装置、および符号化・復号化システム
Buch et al. Concatenated Reed-Muller codes for unequal error protection
Chou et al. Turbo-coded trellis-based constructions for data hiding
Rani et al. A Low Power Viterbi Decoder for Trellis Coded Modulation System

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 5