KR20110125266A - Ldpc 부호화 방식에 의한 인코더 및 디코더 - Google Patents

Ldpc 부호화 방식에 의한 인코더 및 디코더 Download PDF

Info

Publication number
KR20110125266A
KR20110125266A KR1020117023498A KR20117023498A KR20110125266A KR 20110125266 A KR20110125266 A KR 20110125266A KR 1020117023498 A KR1020117023498 A KR 1020117023498A KR 20117023498 A KR20117023498 A KR 20117023498A KR 20110125266 A KR20110125266 A KR 20110125266A
Authority
KR
South Korea
Prior art keywords
memory
minimum value
category
weighting
llr
Prior art date
Application number
KR1020117023498A
Other languages
English (en)
Other versions
KR101390544B1 (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 KR20110125266A publication Critical patent/KR20110125266A/ko
Application granted granted Critical
Publication of KR101390544B1 publication Critical patent/KR101390544B1/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/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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/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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/1122Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule storing only the first and second minimum values per check node
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Abstract

본 발명은, 이동통신 등의 통신 분야에 적합한 오류 정정 부호의 인코더 및 디코더를 고성능이며 고속으로 효율 좋게 실현할 수 있는 LDPC 부호화 방식을 제공하는 것을 목적으로 하고, 그 구성은, 부호를 변수 노드와 체크 노드에 의해 표현하는 타너 그래프를 이용하여, 각 노드를 복수의 카테고리로 분류하고, 반복복호에서의 확률전파 계산에 즈음하여 이 카테고리마다 미리 결정된 가중을 전파 대상인 대수우도비(對數尤度比)(LLR)에 대해 행한다.

Description

LDPC 부호화 방식에 의한 인코더 및 디코더{ENCODER AND DECODER BY LDPC ENCODING}
본 발명은, 오류 정정 부호화 방식인 LDPC(Low-Density Parity-Check) 부호화 방식의 디코더 및 인코더에 관한 것이다.
1962년에 Gallager에 의해 LDPC 부호화 방식이 제안되어 있다. LDPC 부호란 선형(線形) 부호로 그 검사 매트릭스의 대부분의 요소가 "0"인 것을 말한다. 고전적인 부호 이론에서는 검사 매트릭스를 정하여 부호의 설계를 행하고 있다. 부호화 이론의 신시대를 담당한다고 일컬어지는 터보 원리를 발단(發端)으로 하는 LDPC 부호화 방식도 마찬가지의 정의(定義)의 방식이 가능하다. 그러나, 본 발명에서는 보다 본질을 파악한 태너 그래프에 의거한 정의의 방식을 이용하는 것으로 한다.
태너 그래프란 변수 노드와 체크 노드라고 불리는 2종류의 노드로 부호를 표현하는 2부(部) 그래프로, 각 노드에 접속하고 있는 가지(枝)를 에지라고 하고, 각 노드에 접속하고 있는 가지의 수를 그 노드의 차수(次數)라고 부른다. 이 가지의 총수는 검사 매트릭스의 "1"이 설정되어 있는 수(數)이고 검사 매트릭스의 열방향의 "1"의 수를 열무게(列重), 행방향의 "1"의 수를 행무게(行重)라고 한다. LDPC 부호화 방식에서 이 검사 매트릭스는 일의(一意)적은 아니다. LDPC 부호화 방식의 디코드는 이 검사 매트릭스에 의존하고 있고, 반복복호라고 불리는 방법으로 확률전반(確率傳搬)을 계산함에 의해 행하여진다.
근래, 재발견된 LDPC 부호를 다시 샤논 한계에 육박한다고 말하여지는 강력한 오류 정정 능력으로서 발전시킨 방법은, 태너 그래프상의 각 노드 사이의 확률전반 계산에 있어서, 그래프가 갖는 부호의 국소적인 구조에 의거한 확률전반 계산을 전파 대상인 대수우도비(對數尤度比)(LLR)에 대해 행함에 있어서, 랜덤적으로 구성된 부호와 확률적 반복복호에 의한 방법으로 어떤 차수 분포를 갖는 LDPC와 같은 부호의 앙상블에 대해 LLR의 확률밀도 함수의 변화를 반복 회수마다 계산하는 수법인 DE(Density Evolution의 약자)를 이용하여 차수 분포를 구한 점이고, 비정칙(非正則) LDPC 부호에 대해 이 수법을 확장하여 우수한 차수 분포를 탐색한 점이다. 또한, 노드의 차수가 동등하고 정칙(正則) 그래프에 의해 정해지는 부호를 정칙 LDPC 부호라고 부르고, 차수가 동등하지 않은 경우를 비정칙 LDPC와 같은 부호라고 부른다.
태너 그래프상의 확률전파 계산은 sum-product라고 불리는 메시지 전달형 알고리즘이 일반적이지만, 이것을 충실하게 실행하려고 하면 회로 규모의 증대를 야기한다. 그래서 Min(Max)Log 영역에서의 대담한 근사(近似)가 행하여지고 있다. 또한, MaxLog 영역에서의 근사를 LDPC 부호에서는 minSum 알고리즘이라고도 불리고 있다.
이상 설명한 바와 같이, 샤논 한계에 가까운 강력한 오류 정정 능력을 얻으려고 하는데는 DE에 의거한 차수 분포에 따른 비정칙 LDPC 부호를 이용할 필요가 있다. 그러나, DE는 원래 부호 길이가 사실상 무한대의 경우에 관한 반복복호 특성 한계를 나타내는 것으로, 실제로는 예를 들면 적어도 106 내지 107비트 정도의 방대한 부호 길이를 담기 위한 메모리가 필요하고, 또한, 무게 분포도 100 내지 200 정도의 높은 최대 차수를 필요로 하고 있다. 여기서 차수가 높다는 것은 회로 규모가 그만큼 큰 것을 의미하고 있다.
근래, 이동통신 등의 통신 분야에서 연구가 현저하게 진행되고 있지만, 그것에 수반하여 오류 정정 부호의 인코더 및 디코더의 고성능화, 고속화, 효율화가 강하게 요구되고 있다. 그러나, 샤논 한계에 가까운 고성능화를 실현할 수 있다고 하여도 이동체에 있어서 현실적이 아니라는 문제가 있다.
이에 대해 최근, 비정칙 LDPC 부호의 높은 무게 분포를 내리는 시도가 이루어져 있고, 그 중에 노드를 카테고리로 분할하여 낮은 무게 분포에서 발생하기 쉬운 에러 플로어에 대처하는 방법이 취하여지고 있다. 또한, 이들의 카테고리에는 무게 1의 노드를 갖는 카테고리나, 변수 노드를 펑처링하는 카테고리도 포함되어 있다.
또한, sum-product 대신에 Min(Max)Log 영역에서의 대담한 근사를 실현 가능한 회로 규모로 하기 위해 이용되는데, 그를 위해 무시할 수 없는 특성 열화를 야기한다는 문제가 있다.
또한, 대향하는 인코더는, 그 생성 매트릭스가 예를 들어 낮은 무게 분포에 의한 성긴(疎) 검사 매트릭스를 이용하였다고 하여도 그것에 반하여 거의 확실하게 성긴 매트릭스가 되지 않는다. 성기다 라는 것은 저복잡도를 의미한다. 그래서 성긴 검사 매트릭스를 활용하면서 부호를 생성하는 산법이 「2001년, 2월, 아이·이·이·이·트랜젝션·온·인포메이션·세오리, 제 47권, 제 2호, 638 내지 656페이지(IEEE Transactions on information theory Volume 47. Issue 2. pp. 638-656 "Efficient encoding of low-density parity-check codes)」에 개시되어 있다.
특허 문헌 1(일본국 특개2005-65271호 공보)에는, 터보 부호화 방식에서의 복호에서 사용되는 Max-Log-MAP라고 불리는 알고리즘이 개시되어 있다. LDPC 부호화 방식은 터보 부호화 방식과 다른 방식이고, 그 부호화 구조가 전혀 다르다. 단, 반복복호를 행하는 점에서 유사하다.
반복복호 처리에서의 MaxLog 근사에서의 무게부여이지만, 특허 문헌 1에서는 마치 2개의 무게부여(Wc, Wa)를 행하고 있는 것처럼 보이지만, 2개중의 한쪽의 무게부여(Wc)는 수신 신호에서의 정보 계열(Ac(xt, 0))에 대해 행하고 있을 뿐이고 반복복호 처리의 동안, 이 정보 계열(Ac(xt, 0))은 동일한 값을 취한다. 즉, 반복복호에서의 확률전파 대상인 LLR과는 무관계한 것이다. 원래 수신 신호에 대한 무게부여는, 정보 계열이나 패리티 계열은 물론 변복조에서의 신호점 매핑을 고려하여 정하여야 할 것이고, 반복복호 처리에서의 확률전파 대상인 LLR와는 다르게 생각하여야 할 것이다. 이와 같이 정리하면, 이 예에서의 확률전파 대상인 LLR은 외부 대수우도비(extrinxic LLR; 이하 외부 LLR이라고 약칭한다) 하나인 것을 알 수 있다. 터보 부호에서의 Max-Log-MAP 볼록의 외부 LLR에 대해 무게부여 처리를 행하는 것은 이미 공지의 사실로, 예를 들면, 특허 문헌 2(일본국 특허제3246484호 공보)의 도 1에 서는 시프트 가산에 의해 0.75배의 무게부여를 외부 LLR에 대해 행하여 저복잡도로 실현하고 있는 예가 개시되어 있다.
특허 문헌 1의 도 5에는, 하후이타레숀마다의 외부 LLR에 대해 무게부여 처리를 행하여 있는 예가 나타나 있다.
즉, 특허 문헌 1에 개시된 기술을 포함하여, 기본적으로 터보 부호화 방식의 반복복호는 외부 대수우도비(extrinxic LLR)라고 불리는 하나의 확률전파 대상에 대해 제어되고 있는 것이다.
또한, 특허 문헌 3(일본국 특개2004-266463호 공보)에는 LDPC 부호화 방식에서의 해석의 상투 수단인 밀도 발전법(Density Evolution)을, 또한 이것도 상투 수단인 가우스 근사법(Gaussin Approximation; 이하 GA라고 약칭한다)으로 행하고, 라틴 방진(方陣)을 사용한 생성 방법이 개시되어 있다.
즉, 특허 문헌 3에서 이용하고 있는 방법은 "Symmetry condition"이라고 불리는 관계가 보존되는 확률전파 처리로, 확률 분포에 대한 트레이스를 평균치만으로 행할 수 있고, 이것으로 분산(分散)도 동시에 트레이스한 것이 된다는 수법이다.
특허 문헌 1 : 일본국 특개2005-65271호 공보 특허 문헌 2 : 일본국 특허 제3246484호 공보 특허 문헌 3 : 일본국 특개2004-266463호 공보
비 특허 문헌 1 : 2001년, 2월, 아이·이·이·이·트랜젝션·온·인포메이션·티오리, 제 47권, 제 2호, 638 내지 656페이지(IEEE Transactions on information theory Volume 47, Issue 2, pp.638-656 "Efficient encoding of low-density parity-check codes)
샤논 한계에 가까운 강력한 오류 정정 능력을 얻으려고 하는데는 DE에 의거한 차수 분포에 따른 비정칙 LDPC 부호를 이용할 필요가 있지만, 방대한 부호 길이를 담기 위한 메모리가 필요하고, 회로 규모가 커진다는 문제점이 있다. 또한, 샤논 한계에 가까운 고성능화가 실현할 수 있다고 하여도 이동체에 있어서 현실적이 아니라는 문제가 있다.
비정칙 LDPC 부호의 높은 무게 분포를 내리는 시도가 이루어지고 있지만 무시할 수 없는 특성 열화를 야기한다는 문제가 있다.
인코더에는, 성긴 매트릭스가 바람직하지만, 그 생성 매트릭스가 예를 들어 낮은 무게 분포에 의한 성긴 검사 매트릭스를 이용하였다고 하여도 그것에 반하여 거의 확실하게 성긴 매트릭스가 되지 않는다, 비특허 문헌 1에는 성긴 검사 매트릭스를 활용하면서 부호를 생성하는 산법이 개시되어 있지만, 프로그램을 작성하기 위한 산법이 개시되어 있을 뿐이고, 고속 동작이 가능한 아키텍처에 대해서는 언급되어 있지 않다.
본 발명은 상술한 바와 같은 종래 기술이 가지는 문제점을 감안하여 이루어진 것으로서, 이동통신 등의 통신 분야에서 이용되는 이동체에서 실장 가능한 회로 규모로, 샤논 한계에 가까운 강력한 오류 정정 능력을 갖는 LDPC 부호화 방식을 이용한 디코더 및 인코더를 제공하는 것을 목적으로 한 것이다.
또한, 상기를 실현하는데 즈음하여 각 노드를 카테고리 분할한 경우에 회로 규모 삭감을 위해 확률전반 계산을 MaxLog 근사(minSum 알고리즘이라고도 한다) 등의 근사 계산을 이용한 경우에도 고성능을 발휘하는 방법을 제공하는 것을 목적으로 하는 것이다.
또한, 본 발명은, 고성능이고 고속화를 실현하는 LDPC 디코더의 아키텍처를 제공하는 것을 목적으로 한 것이다.
또한, LDPC 디코더와 대향하는 LDPC 인코더라도 회로 규모의 삭감과 고속화를 실현하기 위한 구성을 제공하는 것을 목적으로 하는 것이다.
본 발명의 LDPC 디코더는, LDPC 부호화 방식에서의 태너 그래프를 이용하고, 각 노드는 복수의 카테고리로 분류하는 것이 가능하고, 반복복호에서의 확률전파 계산에 즈음하여 상기 카테고리마다 미리 결정된 무게부여를 전파 대상인 대수우도비(이하 LLR이라고 약칭한다)에 대해 행하는 것을 특징으로 하여 구성된다.
이 경우, 상기 반복복호에서의 확률전반 계산은, MaxLog 근사(또는 minSum 알고리즘)이고 각 카테고리에 속하는 검사 매트릭스의 열무게에 맞추어서 무게부여하는 값을 결정하는 것으로 하여도 좋다.
또한, 상기 태너 그래프로서, 상기 복수의 카테고리 내에 RA 구조(Repeat Accumulate 구조의 약칭으로 지그재그 구조라고도 한다)의 카테고리를 가지며, 해당 카테고리의 무게부여는 다른 카테고리의 무게부여보다 크게 하여도 좋다.
본 발명의 다른 형태에 의한 LDPC 디코더는, LDPC 부호화 방식에서의 태너 그래프를 이용하여, 그래프를 구성하는 각 노드는, 그 검사 매트릭스의 열무게에 의한 복수의 그룹 분류가 가능하고, 반복복호에서의 확률전파 계산에 즈음하여서는, 상기 그룹마다 결정된 무게부여를 전파 대상인 대수우도비(LLR)에 대해 행하는 것을 특징으로 하여 구성된다.
본 발명의 다른 형태에 의한 LDPC 디코더는, LDPC 부호화 방식에서의 태너 그래프를 이용하여, 각 노드는 복수의 카테고리로 분류하는 것이 가능하고, 각 카테고리에 속하는 검사 매트릭스의 무게 분포에 맞추어서 전파 대상인 대수우도비(LLR)를 격납하는 메모리 뱅크의 분할 수를 바꾸어 해당 대수우도비에의 패럴렐 액세스를 가능하게 한 것을 특징으로 한다.
이 경우, LDPC 부호화 방식에서의 태너 그래프를 이용하여, 각 노드는 복수의 카테고리로 분류하는 것이 가능하고, 각 카테고리에 속하는 검사 매트릭스의 무게 분포에 맞추어서 전파 대상인 대수우도비(LLR)를 격납하는 메모리 뱅크의 분할 수를 바꾸는 구조를 가지며, 상기 대수우도비에의 패럴렐 액세스를 행할 때, FIFO 기능을 갖는 캐싱 회로를 통하여 행하여지는 것으로 하여도 좋다.
또한, 상기 반복복호에서의 확률전반 계산을 MaxLog 근사(minSum 알고리즘이라고도 한다)에 의해 행할 때, 제 1의 최소치 검출 회로에 의해 제 1의 최소치를 검출하고, 해당 검출된 제 1의 최소치에 대응하는 입력을 마스크하여 제 2의 최소치를 검출하는 제 2의 최소치 검출 회로를 가지며, 제 1 및 제 2의 최소치 회로를 파이프라인 구조에 의해 구성함에 의해 등가적으로 1클록에서 근사 계산을 실행하는 것으로 하여도 좋다.
또한, 상기 반복복호에서의 확률전반 계산을 MaxLog 근사(minSum 알고리즘이라고도 한다)에 의해 행할 때, 변수 노드분의 LLR을 일시 보존하는 제 1의 메모리와, 청구항 제 7항에 기재된 제 1의 최소치 및 제 2의 최소치와 그 입력의 2를 나누는 수(法)로 하는 극성(極性) 합(和)을 보존하는 체크 노드분의 제 2의 메모리를 가지며, 해당 제 1의 메모리에의 입력은, 청구항 제 7항에 기재된 제 1의 최소치 및 제 2의 최소치를 기초로 태너 그래프에 의해 결정되는 접속에 의거하여 해당 제 1의 메모리의 보존치에 가산함에 의해 순차적으로 행하여지고, 해당 제 1의 메모리는, 청구항 제 2항에 기재된 카테고리분만큼이 이루어져 있고, 카테고리마다 미리 결정된 무게부여를 해당 제 1의 메모리 출력에 대해 행하여지고, 그 무게부여된 LLR과 수신치 LLR을 가산한 후, 상기 제 2의 메모리 축적 결과인 제 1의 최소치 및 제 2의 최소치와 2를 나누는 수로 하는 극성 합을 기초로 태너 그래프에 의해 결정되는 접속 정보에 의해 선택되는 값을 공제(差引)하고, 재차 MaxLog 근사(minSum 알고리즘이라고도 한다)를 행하는 반복복호를 행하는 것으로 하여도 좋다.
또한, 상기 카테고리마다의 무게부여를 상기 제 1의 메모리 출력이 아니라, 해당 제 1의 메모리 입력이나 또는 MaxLog 근사(minSum 알고리즘이라고도 한다) 출력에 대한 복귀 경로상에 실시하는 것으로 하여도 좋다.
또한, 상기 태너 그래프에 의해 결정되는 접속 정보는, 검사 매트릭스에서의 1의 위치를 인덱스의 형태로 보존하는 것으로 하여도 좋다.
또한, 상기 변수 노드분의 LLR을 일시 보존하는 제 1의 메모리를 2면 가지며, 또한 제 1의 최소치 및 제 2의 최소치와 그 입력의 2를 나누는 수로 하는 극성 합을 보존하는 체크 노드분의 제 2의 메모리를 2면 가지며, 어느 한쪽의 메모리를 출력으로서 이용하고 있는 경우는 다른 메모리를 입력으로서 이용하여, 반복복호에서의 반복 사이클마다 교대로 해당 메모리의 입력과 출력을 교체하는 것으로 하여도 좋다.
본 발명의 LDPC 인코더는, 검사 매트릭스(H)의 행렬 조작에 의해 대각 요소에 1을 갖는 하삼각(下三角) 매트릭스(T)를 포함하는 상삼각(上三角) 영(零) 매트릭스
[수식 1]
Figure pat00001
인 관계를 갖는 매트릭스(A, B, T)를 얻는 수단(1)을 가지며, 또한 해당 상삼각 영 매트릭스로부터
[수식 2]
Figure pat00002
인 매트릭스(F)를 얻는 수단(2)을 가지며, 해당 수단(1 및 2)은 미리 계산되는 오프라인 처리로서, 그 결과 얻어진 매트릭스(F)의 요소(1)의 위치를 인덱스의 형태로 축적하는 메모리(1)와, 정보 비트 계열(S)이 격납되어 있는 메모리(2)와 제 1의 행(行)카운터를 갖고 있고, 해당 제 1의 행카운터에 의해 어드레싱된 상기 메모리(1)가 출력되는 인덱스에 의해 다시 어드레싱되는 상기 메모리(2)의 출력을 배타적 논리합함으로써 제 1의 패리티 계열(p1)을 얻는 제 1의 회로를 갖고 있고, 해당 패리티 계열(p1)과 상기 오프라인 처리에서 얻어진 매트릭스(B)의 곱(積)을 취하고, 상기 정보 비트 계열(S)과 상기 오프라인 처리에서 얻어진 매트릭스(A)의 곱을 취하여 배타적 논리합함으로써
[수식 3]
Figure pat00003
인 계열을 격납하는 메모리(3)를 가지며, 상기 오프라인 처리에서 얻어진 매트릭스(T)의 요소(1)의 위치를 인덱스의 형태로 축적하는 메모리(4)와, 제 2의 패리티 계열(p2)이 격납되는 메모리(5)와 제 2의 행카운터를 가지며, 해당 제 2의 행카운터에 의해 어드레싱된 상기 메모리(4)가 출력되는 인덱스에 의해 다시 순서대로 판독 어드레싱되는 상기 메모리(5)의 출력과, 상기 제 2의 행카운터에 의해 어드레싱되는 메모리(3)의 출력을 배타적 논리합을 함으로써 제 2의 패리티 계열(p2)을 얻어 상기 제 2의 행카운터에 의해 기록 어드레싱되는 상기 메모리(4)에 기록하는 제 2의 회로를 갖고 있고, 상기 오프라인 처리와 제 2 및 제 2의 회로에 의한 온라인 처리에 의해 부호화 처리를 행하는 것을 특징으로 하여 구성된다.
이 경우, 제 2의 패리티 계열(p2)이 격납되는 상기 메모리(5)를 매트릭스(T)의 행무게의 수만큼 갖는 미러 메모리로 하고, 매트릭스(T)의 요소의 1의 위치가 인덱스로서 격납되어 있는 메모리(4)는 단위 어드레스에 대해 행무게분의 인덱스를 출력하는 포맷이고, 이들의 인덱스를 각 미러 메모리에 대해 판독 어드레싱함에 의해 행무게분의 배타적 논리합을 한번에 행하는 것으로 하여도 좋다.
본 발명의 다른 형태에 의한 LDPC 디코더는, 부호를 변수 노드와 체크 노드에 의해 표현하는 태너 그래프를 이용한 LDPC 디코더로서,
복수의 카테고리로 분류된 전파 대상인 대수우도비를 각 카테고리마다 격납하는 복수의 메모리 뱅크를 구비한 제 1의 변수 노드 메모리와,
상기 복수의 카테고리마다의 무게부여 값을 각 카테고리마다 격납하는 복수의 메모리 뱅크를 구비한 제 2의 변수 노드 메모리와,
상기 제 2의 대수 노드 메모리에 격납되는 각 카테고리마다의 무게부여 값을 전파 대상인 대수우도비에 응하여 결정하는 무게부여 처리부와,
상기 제 1의 변수 노드 메모리 및 제 2의 변수 노드 메모리의 각 카테고리마다의 격납 내용으로부터 반복복호에서의 확률전파 계산을 행하여 전파 대상인 대수우도비로서 상기 제 1의 변수 노드 메모리 및 무게부여 처리부에 출력하는 체크 노드 처리 수단을 갖는 것을 특징으로 한다.
이 경우, 체크 노드 처리부에서의 상기 반복복호에서의 확률전반 계산은, MaxLog 근사 또는 minSum 알고리즘에 의해 행하여지고, 각 카테고리에 속하는 검사 매트릭스의 열무게에 맞추어서 무게부여하는 값을 결정하게 하여도 좋다.
또한, 상기 복수의 카테고리 내에 RA 구조의 카테고리를 가지며, 해당 카테고리의 무게부여는 다른 카테고리의 무게부여보다 크게 하여도 좋다.
본 발명의 다른 형태에 의한 LDPC 디코더는, 부호를 변수 노드와 체크 노드에 의해 표현하는 태너 그래프를 이용한 LDPC 디코더로서,
검사 매트릭스의 열무게에 의해 복수의 그룹으로 분류된 전파 대상인 대수우도비를 각 카테고리마다 격납하는 복수의 메모리 뱅크를 구비한 제 1의 변수 노드 메모리와,
상기 복수의 그룹마다의 무게부여 값을 각 그룹마다 격납하는 복수의 메모리 뱅크를 구비한 제 2의 변수 노드 메모리와,
상기 제 2의 대수 노드 메모리에 격납되는 각 그룹마다의 무게부여 값을 전파 대상인 대수우도비에 응하여 결정하는 무게부여 처리부와,
상기 제 1의 변수 노드 메모리 및 제 2의 변수 노드 메모리의 각 그룹마다의 격납 내용으로부터 반복복호에서의 확률전파 계산을 행하여 전파 대상인 대수우도비로서 상기 제 1의 변수 노드 메모리 및 무게부여 처리부에 출력하는 체크 노드 처리 수단을 갖는 것을 특징으로 한다.
본 발명의 다른 형태에 의한 LDPC 디코더는, 부호를 변수 노드와 체크 노드에 의해 표현하는 태너 그래프를 이용한 LDPC 디코더로서,
복수의 카테고리로 분류된 전파 대상인 대수우도비를 각 카테고리마다 격납하는 복수의 메모리 뱅크를 구비한 제 1의 변수 노드 메모리와,
상기 복수의 카테고리마다의 무게부여 값을 각 카테고리마다 격납하는 복수의 메모리 뱅크를 구비한 제 2의 변수 노드 메모리와,
상기 제 2의 대수 노드 메모리에 격납되는 각 카테고리마다의 무게부여 값을 전파 대상인 대수우도비에 응하여 결정하는 무게부여 처리부와,
상기 제 1의 변수 노드 메모리 및 제 2의 변수 노드 메모리의 각 카테고리마다의 격납 내용으로부터 반복복호에서의 확률전파 계산을 행하여 전파 대상인 대수우도비로서 상기 제 1의 변수 노드 메모리 및 무게부여 처리부에 출력하는 체크 노드 처리 수단을 가지며,
상기 제 1의 변수 노드 메모리의 메모리 뱅크의 수는 각 카테고리에 속하는 검사 매트릭스의 무게 분포에 맞추어서 변경 가능하게 되고, 이로써 상기 제 1의 변수 노드 메모리에의 패럴렐 액세스가 가능한 것을 특징으로 한다.
이 경우, 상기 제 1의 변수 노드 메모리에의 패럴렐 액세스를 행하는 FIFO 기능을 갖는 캐싱 회로를 구비하는 것으로 하여도 좋다.
또한, 체크 노드 처리 수단은,
제 1의 최소치 검출 회로에 의해 제 1의 최소치를 검출하는 제 1의 최소치 회로와,
상기 제 1의 최소치 회로에 의해 검출된 제 1의 최소치에 대응하는 입력을 마스크하여 제 2의 최소치를 검출하는 제 2의 최소치 검출 회로를 가지며,
상기 제 1 및 제 2의 최소치 회로는 파이프라인 구조로 되어 등가적으로 1클록에서 근사 계산을 실행하게 하여도 좋다.
또한, 체크 노드 처리 수단은,
상기 복수의 카테고리로 분류된 상기 제 1의 변수 노드 메모리 및 무게부여 처리부에 출력하는 대수우도비를 일시 보존하는 제 1의 메모리와,
상기 제 1의 최소치 및 제 2의 최소치와, 그 입력의 2를 나누는 수로 하는 극성 합을 보존하는 체크 노드분의 제 2의 메모리를 가지며,
상기 제 1의 메모리에의 입력이, 상기 제 1의 최소치 및 제 2의 최소치를 기초로 태너 그래프에 의해 결정되는 접속에 의거하여 해당 제 1의 메모리의 보존치에 가산하는 것을 순차적으로 행하고,
각 카테고리마다 미리 결정된 무게부여를 해당 제 1의 메모리 출력에 대해 행하고, 그 무게부여된 LLR과 수신치 LLR을 가산한 후, 상기 제 2의 메모리 축적 결과인 제 1의 최소치 및 제 2의 최소치와 2를 나누는 수로 하는 극성 합을 기초로 태너 그래프에 의해 결정되는 접속 정보에서 선택되는 값을 공제하고, 재차 MaxLog 근사 또는 minSum 알고리즘을 행하는 반복복호를 행하는 것으로 하여도 좋다.
또한, 체크 노드 처리 수단은,
상기 복수의 카테고리로 분류된 상기 제 1의 변수 노드 메모리 및 무게부여 처리부에 출력하는 대수우도비를 일시 보존하는 제 1의 메모리와,
상기 제 1의 최소치 및 제 2의 최소치와, 그 입력의 2를 나누는 수로 하는 극성 합을 보존하는 체크 노드분의 제 2의 메모리를 가지며,
상기 제 1의 메모리에의 입력이, 상기 제 1의 최소치 및 제 2의 최소치를 기초로 태너 그래프에 의해 결정되는 접속에 의거하여 해당 제 1의 메모리의 보존치에 가산하는 것을 순차적으로 행하고,
각 카테고리마다 미리 결정된 무게부여를 상기 제 1의 메모리 입력 또는 MaxLog 근사 또는 minSum 알고리즘 출력에 제자리로 되돌아오기까지의 경로에 대해 행하고, 그 무게부여된 LLR과 수신치 LLR을 가산한 후, 상기 제 2의 메모리 축적 결과인 제 1의 최소치 및 제 2의 최소치와 2를 나누는 수로 하는 극성 합을 기초로 태너 그래프에 의해 결정되는 접속 정보에서 선택되는 값을 공제하고, 재차 MaxLog 근사 또는 minSum 알고리즘을 행하는 반복복호를 행하는 것으로 하여도 좋다.
이 경우, 상기 태너 그래프에 의해 결정되는 접속 정보는, 검사 매트릭스에서의 1의 위치를 인덱스의 형태로 보존하는 것으로 하여도 좋다.
또한, 상기 제 1의 변수 노드 메모리와 상기 제 2의 변수 노드 메모리, 및, 상기 제 1의 메모리와 제 2의 메모리는, 어느 한쪽을 출력으로서 이용하고 있는 경우에는 다른쪽이 입력으로서 이용되고, 반복복호에서의 반복 사이클마다 교대로 입력과 출력이 교체되게 하여도 좋다.
본 발명의 다른 형태에 의한 LDPC 인코더는, 미리 계산되는 오프라인 처리에 의해 검사 매트릭스(H)의 행렬 조작에 의해 대각 요소에 1을 갖는 하삼각 매트릭스(T)를 포함하는 상삼각 영 매트릭스
[수식 4]
Figure pat00004
인 관계를 갖는 매트릭스(A, B, T)를 얻는 제 1의 수단과,
상기 상삼각 영 매트릭스로부터, 미리 계산되는 오프라인 처리에 의해
[수식 5]
Figure pat00005
인 매트릭스(F)를 얻는 제 2의 수단을 구비하고,
상기 제 1의 수단 및 제 2의 수단에 의해 얻어진 매트릭스(F)의 제 1의 요소의 위치를 인덱스의 형태로 축적하는 제 1의 메모리와,
정보 비트 계열(S)이 격납되어 있는 제 2의 메모리와,
제 1의 행카운터와,
상기 제 1의 행카운터에 의해 어드레싱된 상기 제 1의 메모리가 출력하는 인덱스에 의해 어드레싱된 상기 제 2의 메모리의 출력의 배타적 논리합을 취함에 의해 제 1의 패리티 계열(p1)을 얻는 제 1의 회로와,
상기 제 1의 패리티 계열(p1)과 상기 오프라인 처리에서 얻어진 매트릭스(B)의 곱을 취하고, 상기 정보 비트 계열(S)과 상기 오프라인 처리에서 얻어진 매트릭스(A)의 곱을 취하여 배타적 논리합을 취함에 의해 얻어진
[수식 6]
Figure pat00006
는 계열을 격납하는 제 3의 메모리와,
상기 매트릭스(T)의 제 1의 요소의 위치를 인덱스의 형태로 축적하는 제 4의 메모리와,
제 2의 패리티 계열(p2)이 격납되는 제 5의 메모리와,
제 2의 행카운터와,
상기 제 2의 행카운터에 의해 어드레싱된 상기 제 4의 메모리가 출력하는 인덱스에 의해 순서대로 판독이 어드레싱되는 상기 제 5의 메모리의 출력과, 상기 제 2의 행카운터에 의해 어드레싱되는 상기 제 3의 메모리의 출력의 배타적 논리합을 취함에 의해 상기 제 2의 패리티 계열(p2)을 얻어 상기 제 2의 행카운터에 의해 기록 어드레싱되는 상기 제 5의 메모리에 기록하는 제 2의 회로를 가지며,
상기 오프라인 처리와 제 1 및 제 2의 회로에 의한 온라인 처리에 의해 부호화 처리를 행하는 것을 특징으로 한다.
이 경우, 제 2의 패리티 계열(p2)이 격납되는 상기 제 5의 메모리가 매트릭스(T)의 행무게의 수만큼 갖는 미러 메모리이고,
매트릭스(T)의 요소의 1의 위치가 인덱스로서 격납되어 있는 제 4의 메모리는 단위 어드레스에 대해 행무게분의 인덱스를 출력하는 포맷이고, 이들의 인덱스를 각 미러 메모리에 대해 판독 어드레싱함에 의해 행무게분의 배타적 논리합을 취하는 것을 한번에 행하는 것으로 하여도 좋다.
본 발명의 LDPC 디코더는, 태너 그래프에서 각 노드가 복수의 카테고리로 분류하는 것이 가능하고, 반복복호에서의 확률전파 계산에 즈음하여 상기 카테고리마다 미리 결정된 무게부여를 전파 대상인 대수우도비(이하 LLR이라고 약칭한다)에 대해 행할 수 있기 때문에, 카테고리마다 다른 LLR의 확률 분포의 치우침을 보정할 수 있고, 성능을 향상시킬 수 있다.
또한 본 발명의 LDPC 디코더는, 상기 반복복호에서의 확률전반 계산이 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)이고, 각 카테고리에 속하는 검사 매트릭스의 열무게에 맞추어서 무게부여하는 값을 결정할 수 있기 때문에, LLR의 확률 분포의 치우침의 원인인 열무게의 차이에 맞추어서 LLR의 치우침을 보정할 수 있고, 성능을 향상시킬 수 있다.
또한 본 발명의 LDPC 디코더는, 상기 태너 그래프에 있어서, 상기 복수의 카테고리 내에 RA 구조(Repeat Accumulate 구조의 약칭으로 지그재그 구조라고도 한다)의 카테고리를 갖고 있고, 해당 카테고리의 무게부여는 다른 카테고리의 무게부여보다 크게 하기 때문에, RA 구조를 도입한 것에 의한 특성 향상 효과와, LLR의 치우침이 큰 다른 카테고리와의 차를 보정할 수 있고, 또한 성능을 향상시킬 수 있다.
또한 본 발명의 LDPC 디코더는, LDPC 부호화 방식에서의 태너 그래프에서, 그래프를 구성하는 각 노드가 그 검사 매트릭스의 열무게에 의한 복수의 그룹 분류 가능하고, 반복복호에서의 확률전파 계산에 즈음하여서는, 상기 그룹마다 결정된 무게부여를 전파 대상인 대수우도비(LLR)에 대해 행하도록 하고 있기 때문에 LLR의 치우침을 그룹마다 통일할 수 있고, 적절한 무게부여에 의한 보정을 걸 수 있고, 성능을 향상시키는 효과가 있다.
또한 본 발명의 LDPC 디코더는, LDPC 부호화 방식에서의 태너 그래프에서, 각 노드가 복수의 카테고리로 분류 가능하고, 각 카테고리에 속하는 검사 매트릭스의 무게 분포에 맞추어서 전파 대상인 대수우도비(LLR)를 격납하는 메모리 뱅크의 분할 수를 바꾸어 해당 대수우도비에의 패럴렐 액세스를 가능하게 하고 있기 때문에, 최적의 메모리 뱅크의 분할에 의한 저복잡도로 효율적인 고속 동작을 가능하게 하는 효과가 있다.
또한 본 발명의 LDPC 디코더는, LDPC 부호화 방식에서의 태너 그래프에서, 각 노드가 복수의 카테고리로 분류 가능하고, 각 카테고리에 속하는 검사 매트릭스의 무게 분포에 맞추어서 전파 대상인 대수우도비(LLR)를 격납하는 메모리 뱅크의 분할 수를 바꾸는 구조를 가지며, 상기 대수우도비에의 패럴렐 액세스를 행할 때 FIFO 기능을 갖는 캐싱 회로를 통하여 행하여지기 때문에, 일시적으로 액세스가 집중하는 타이밍이 생겨도 평균화할 수 있고, 메모리 뱅크의 분할 수의 증가나 온 칩 버스의 갯수를 삭감시켜서 LSI의 칩 면적을 삭감할 수 있고, 비용 저감을 가능하게 하는 효과가 있다.
또한 본 발명의 LDPC 디코더는 반복복호에서의 확률전반 계산을 MaxLog 근사(minSum 알고리즘이라고도 한다)에 의해 행할 때, 제 1의 최소치 검출 회로에 의해 제 1의 최소치를 검출하고, 해당 검출된 제 1의 최소치에 대응하는 입력을 마스크하여 제 2의 최소치를 검출하는 제 2의 최소치 검출 회로를 가지며, 제 1 및 제 2의 최소치 회로를 파이프라인 구조에 의해 구성함에 의해 등가적으로 1클록에서 근사 계산을 실행할 수 있기 때문에 고속 동작을 적은 회로 규모로 실현할 수 있는 효과가 있다.
또한 본 발명의 LDPC 디코더는 반복복호에서의 확률전반 계산을 MaxLog 근사(minSum 알고리즘이라고도 한다)에 의해 행할 때, 변수 노드분의 LLR을 일시 보존하는 제 1의 메모리와, 특허청구의 범위 제 7항에 기재된 제 1의 최소치 및 제 2의 최소치와 그 입력의 2를 나누는 수로 하는 극성 합을 보존하는 체크 노드분의 제 2의 메모리를 가지며, 해당 제 1의 메모리에의 입력은, 제 1의 최소치 및 제 2의 최소치를 기초로 태너 그래프에 의해 결정되는 접속에 의거하여 해당 제 1의 메모리의 보존치에 가산함에 의해 순차적으로 행하여지고, 해당 제 1의 메모리는, 카테고리분만큼이 이루어져 있고, 카테고리마다 미리 결정된 무게부여를 해당 제 1의 메모리 출력에 대해 행하여지고, 그 무게부여된 LLR과 수신치 LLR을 가산한 후, 상기 제 2의 메모리 축적 결과인 제 1의 최소치 및 제 2의 최소치와 2를 나누는 수로 하는 극성 합을 기초로 태너 그래프에 의해 결정되는 접속 정보에서 선택되는 값을 공제한 후, 재차 MaxLog 근사(minSum 알고리즘이라고도 한다)를 행하는 반복복호를 실현할 수 있기 때문에, 적은 메모리 구성 및 근사에 의한 회로 규모 삭감 효과, 및 고속화, 또한 적절한 무게부여 보정에 의해 성능을 향상시키는 효과가 있다.
또한 본 발명의 LDPC 디코더는, 상기 카테고리마다의 무게부여를 상기 제 1의 메모리 출력이 아니라, 해당 제 1의 메모리 입력이나 또는 MaxLog 근사(minSum 알고리즘이라고도 한다) 출력에 제자리로 되돌아오기까지의 경로에 대해 행하는 것을 고려하고 있기 때문에 LDPC 디코더의 설계에 즈음하여 자유도를 갖게 하는 효과가 있다.
또한 본 발명의 LDPC 디코더는, 상기 태너 그래프에 의해 결정되는 접속 정보는, 검사 매트릭스에서의 1의 위치를 인덱스의 형태로 보존하는 형태를 취하고 있기 때문에, 적은 메모리 용량으로 접속 정보를 지지하고 회로 규모를 삭감하는 효과가 있다.
또한 본 발명의 LDPC 디코더는, 변수 노드분의 LLR을 일시 보존하는 제 1의 메모리를 2면 가지며, 또한 특허청구의 범위 제 7항에 기재된 제 1의 최소치 및 제 2의 최소치와 그 입력의 2를 나누는 수로 하는 극성 합을 보존하는 체크 노드분의 제 2의 메모리를 2면 가지며, 어느 한쪽의 메모리를 출력으로서 이용하고 있는 경우는 다른 메모리를 입력으로서 이용하여, 반복복호에서의 반복 사이클마다 교대로 해당 메모리의 입력과 출력을 교체하는 형태를 취하고 있기 때문에, 효율적인 메모리의 사용으로, 스피드를 배증시킬 수 있다.
또한 본 발명의 LDPC 인코더는, 검사 매트릭스(H)의 행렬 조작에 의해 대각 요소에 "1"을 갖는 하삼각 매트릭스(T)를 포함하는 상삼각 영 매트릭스
[수식 7]
Figure pat00007
인 관계를 갖는 매트릭스(A, B, T)를 얻는 수단(1)을 가지며, 또한 상삼각 영 매트릭스로부터
[수식 8]
Figure pat00008
인 매트릭스(F)를 얻는 수단(2)을 갖고 있고, 해당 수단(1 및 2)은 미리 계산되는 오프라인 처리로서, 그 결과 얻어진 매트릭스(F)의 요소(1)의 위치를 인덱스의 형태로 축적하는 메모리(1)와, 정보 비트 계열(S)이 격납되어 있는 메모리(2)와 제 1의 행카운터를 갖고 있고, 해당 제 1의 행카운터에 의해 어드레싱된 메모리(1)가 출력되는 인덱스에 의해 다시 어드레싱되는 상기 메모리(2)의 출력을 배타적 논리합함으로써 제 1의 패리티 계열(p1)을 얻는 제 1의 회로를 갖고 있고, 패리티 계열(p1)과 상기 오프라인 처리에서 얻어진 매트릭스(B)의 곱을 취하고, 정보 비트 계열(S)과 상기 오프라인 처리에서 얻어진 매트릭스(A)의 곱을 취하여 배타적 논리합함으로써
[수식 9]
Figure pat00009
인 계열을 격납하는 메모리(3)를 갖고 있고, 상기 오프라인 처리에서 얻어진 매트릭스(T)의 요소(1)의 위치를 인덱스의 형태로 축적하는 메모리(4)와, 제 2의 패리티 계열(p2)이 격납되는 메모리(5)와 제 2의 행카운터를 가지며, 해당 제 2의 행카운터에 의해 어드레싱된 상기 메모리(4)가 출력되는 인덱스에 의해 다시 순서대로 판독 어드레싱되는 상기 메모리(5)의 출력과, 상기 제 2의 행카운터에 의해 어드레싱되는 메모리(3)의 출력을 배타적 논리합을 함으로써 제 2의 패리티 계열(p2)을 얻어 제 2의 행카운터에 의해 기록 어드레싱되는 메모리(4)에 기록하는 제 2의 회로를 가지며, 오프라인 처리와 제 1 및 제 2의 회로에 의한 온라인 처리에 의해 부호화 처리를 행하는 형태를 취하고 있기 때문에, 성긴 검사 매트릭스의 유효성을 유지하여 얻어지는 효과가 있고, 적은 메모리 용량과 간단한 배타적 논리합에 의한 적은 회로 규모로 인코드 처리를 실현할 수 있는 효과가 있다.
또한 본 발명의 LDPC 인코더는, 제 2의 패리티 계열(p2)이 격납되는 상기 메모리(5)를 매트릭스(T)의 행무게의 수만큼 갖는 미러 메모리로 하고, 매트릭스(T)의 요소의 1의 위치가 인덱스로서 격납되어 있는 메모리(4)는, 단위 어드레스에 대해 행무게분의 인덱스를 출력하는 포맷이고, 이들의 인덱스를 각 미러 메모리에 대해 판독 어드레싱함에 의해 행무게분의 배타적 논리합을 한번에 행할 수 있기 때문에, 인코드 처리를 고속으로 행하는 효과가 있다.
본 발명의 LDPC 부호화 방식은, 특허 문헌 1에 개시되는 터보 부호와는 전혀 다른 부호화 구조이고, 태너 그래프라고 불리는 2부 그래프상의 확률전파를 계산함에 의해 반복복호가 실행된다. 이 반복복호에서의 확률전파 계산에 즈음하여 태너 그래프를 구성하는 노드를 복수의 카테고리로 분류하고, 분류한 카테고리마다 독립적으로 미리 결정된 무게부여를 전반 대상인 대수우도비에 대해 행하고 있는 것이 본 발명이다. 이로 인해 에러 플로어의 해소뿐만 아니라 고성능화를 실현하고 있는 것이다. 본 발명은 MaxLog 근사(minSum 알고리즘)에 의한 비선형 처리를 해석하는 것이기 때문에 이미 "Symmetry condition"의 관계가 보존되어 있지 않고, 본 발명의 수법을 이용할 필요가 있다.
본 발명은 LDPC 부호화 방식의 인코더와 디코더로서 그 해석법의 권리화는 행하고 있지 않다. 또한 본 발명의 이론적 뒷바침이 되는 해석 방법도 특허 문헌 3과는 다른 것으로, 특허 문헌 3에 개시되는 해석 방법으로는 본 발명의 부호화 방식의 해석은 할 수 없다.
이상 설명한 바와 같이, 본 발명의 LDPC 부호화 방식에 의한 인코더 및 디코더는, 이동통신 등의 통신 분야에서도 실현 가능한 회로 규모로 고성능화, 고속화, 효율화를 실현할 수 있는 수단을 제공할 수 있다.
그 때문에, 태너 그래프의 각 노드를 복수의 카테고리로 분류하여 낮은 무게 분포에 의한 처리 규모 삭감을 행하고, 또한, sum-product 대신에 Min(Max)Log 영역에서의 대담한 근사에 의해 회로 규모의 대폭적인 삭감이 유효하지만, 그 때문에 야기되는 성능 열화가 생기는 일 없이 고성능화, 고속화, 효율화할 수 있는 수단을 제공할 수 있다.
또한, 본 발명에 의해 낮은 무게 분포의 검사 매트릭스로 고성능화, 고속화, 및 효율화를 구비한 디코더를 제공할 수 있는데, 인코더도 또한 같은 낮은 무게 분포의 검사 매트릭스의 은혜를 얻어, 고속으로 동작하는 아키텍처를 실현할 수 있는 수단을 제공할 수 있다.
도 1은 본 발명의 LDPC 부호화 방식에 의한 디코더의 실시 형태를 도시하는 도면.
도 1a는 도 1에 도시한 디코더의 구체적인 회로 구성을 도시하는 도면.
도 2는 본 발명의 LDPC 부호화 방식에 의한 카테고리로 분류된 태너 그래프(소켓 모델)의 한 예를 도시하는 도면.
도 3은 본 발명의 LDPC 부호화 방식에 의한 카테고리로 분류된 검사 매트릭스의 한 예를 도시하는 도면.
도 4는 본 발명의 LDPC 부호화 방식에 의한 카테고리로 분류된 변수 노드 및 체크 노드의 무게 분포의 한 예를 도시하는 도면.
도 5는 본 발명의 LDPC 부호화 방식에 의한 카테고리마다 무게부여한 방식의 효과를 도시하는 몬테칼로 시뮬레이션에 의한 비트 오류율 특성을 도시하는 도면.
도 6은 종래의 단일한 무게부여 방식을 이용한 몬테칼로 시뮬레이션에 의한 비트 오류율 특성을 도시하는 도면.
도 7은 체크 노드 처리에서의 Hyperbolic tangent rule과 그것을 간이화한 Min(Max)Log 영역에서 근사한 회로를 도시하는 도면.
도 8은 본 발명의 LDPC 부호화 방식에 의한 인코더 아키텍처의 제 1의 회로를 도시하는 도면.
도 9는 본 발명의 LDPC 부호화 방식에 의한 인코더 아키텍처의 제 2의 회로를 도시하는 도면.
도 10은 본 발명의 LDPC 부호화 방식에 의한 인코더 아키텍처의 제 2의 회로를 고속화한 회로를 도시하는 도면.
다음에, 본 발명의 실시 형태에 대하여 식과 도면을 참조하면서 설명하기 전에, 우선, 본 발명의 뒷바침이 되는 해석을 MaxLog 근사(minSum 알고리즘이라고도 한다)에서 생기는 비선형 처리를 포함하는 밀도 발전법(Density Evolution ; 이하 DE라고 약칭한다)에 의한 해석적 결과를 섞어서 설명한다.
우선, Gaussian Approximation(이하 GA라고 약칭한다)에 의한 통상의 DE와 비선형 처리를 포함하는 DE의 차이에 관해 설명한다.
통상의 GA에서는 sumproduct에 의한 반복복호 과정을 전제로 하여, 전파 대상인 LLR의 평균치를 트레이스함에 의해 행하여진다. 즉, 열무게(i)의 심볼(vi)에 대해 그 평균치(mv ,i)는,
[수식 10]
Figure pat00010
앙상블 평균으로 생각하여 변수 노드의 차수 분포를
[수식 11]
Figure pat00011
라고 하면 이하의 관계를 얻는다.
[수식 12]
Figure pat00012
여기서, 이하에 설명하는 분산과 평균치의 조건
[수식 13]
Figure pat00013
를 이용하여,
[수식 14]
Figure pat00014
[수식 15]
Figure pat00015
라는 Φ(x)를 이용하면,
[수식 16]
Figure pat00016
로 된다. 따라서 이하의 관계를 얻는다.
[수식 17]
Figure pat00017
또한 sum-product 복호법에서의 "tanh rule"에 의해 행무게(j)의 심볼(uj)에 대해 그 평균치(muj)는,
[수식 18]
Figure pat00018
앙상블 평균으로 생각하여 체크 노드의 차수 분포를
[수식 19]
Figure pat00019
라고 한다면
[수식 20]
Figure pat00020
로 상기 Φ(x)를 이용하면
[수식 21]
Figure pat00021
이고
[수식 22]
Figure pat00022
이기 때문에 결국,
[수식 23]
Figure pat00023
또한 (5)식의
[수식 24]
Figure pat00024
를 이용하면,
[수식 25]
Figure pat00025
를 얻는다. 또한 (1)식의
[수식 26]
Figure pat00026
를 이용하면, 이하의 비정칙에 대한 재귀식을 얻는다.
[수식 27]
Figure pat00027
미리 주어진 차수 프로파일을 기초로 재귀식인 상기 (9)식에 의해 반복복호 과정에서의 평균적인 행위를 볼 수 있다. 시간적으로 무한대로 발전하여 가면 에러 프리하게 되고, 도중에 발전이 스톱하면 에러 프리를 실현할 수 없다는 것이다. 그 경계선을 반복 임계치(Threshold)라고 부르고 그때의 수신치 LLR 평균
[수식 28]
Figure pat00028
에 대응하는 Eb/N0가 에러 프리 실현에 필요한 레벨로 된다.
여기서, 상기 식의 발전 과정을 트레이스하는 파라미터는 1변수만이면 좋다. 이것은 이하가 알기 쉬운 예로부터 간파할 수 있다. 지금 행무게(dc)인 경우의 Hyperbolic Tangent c Rule를 생각하면,
[수식 29]
Figure pat00029
이기 때문에, 좌변의 확률 변수(u)에 대한 통계적 성질(분산(σu 2)과 평균치(mu))과 우변의 확률 변수
[수식 30]
Figure pat00030
에 대한 통계적 성질(분산(σv 2)과 평균치(mv))에 의해 기대치를 생각할 필요가 있다. 그래서 우선 우변의 분산을 생각하면,
[수식 31]
Figure pat00031
여기서
[수식 32]
Figure pat00032
은 서로 독립으로 같은 통계적 성질을 갖는다고 하면,
[수식 33]
Figure pat00033
여기서,
[수식 34]
Figure pat00034
양 식의 차는,
[수식 35]
Figure pat00035
상기 식에서 고류치는 "0"으로 되는지의 여부에 관계없기 때문에 생략하고, tanh를 지수(指數) 표현에 의해 비(非)적분항을 보면 이하와 같이 된다.
[수식 36]
Figure pat00036
상기 식의 최후의
[수식 37]
Figure pat00037
은 적분 변수를 포함하는 고정치이므로 생략하고, 나머지 비적분 함수를
[수식 38]
Figure pat00038
로 하여,
[수식 39]
Figure pat00039
이 함수의 대상 함수 f(-x)는
[수식 40]
Figure pat00040
로 되어 비적분 함수
[수식 41]
Figure pat00041
은 기함수(奇關數)인 것을 알 수 있다. 따라서
[수식 42]
Figure pat00042
로 되어, 임의의
[수식 43]
Figure pat00043
라는 GA에서
[수식 44]
Figure pat00044
따라서 (10)식의 분산의 제 1항은,
[수식 45]
Figure pat00045
따라서 (10)식의 분산은,
[수식 46]
Figure pat00046
다음에 좌변의 확률 변수(u)에 대한 통계적 성질(분산(σu 2)과 평균치(mu))로 좌변의 분산을 생각하면,
[수식 47]
Figure pat00047
결국 좌변 우변의 관계는
[수식 48]
Figure pat00048
로 부터
[수식 49]
Figure pat00049
이기 때문에
[수식 50]
Figure pat00050
이 될 수 있는 양변의 통계적 성질(분산(σu 2)과 평균치(mu))과 통계적 성질(분산(σv 2)과 평균치(mv))에 의해 평형 상태가 유지되게 된다. 즉, 이 조건이 성립되는 통계적 성질(분산(σu 2)과 평균치(mu))을 갖는 u가 출력이다.
한편, 평균치의 쪽은, 상기한 결과와 모순 없이 상태가 보존되어 있는지의 여부를 보면,
[수식 51]
Figure pat00051
로부터 우변은
[수식 52]
Figure pat00052
, 좌변은 당연히
[수식 53]
Figure pat00053
따라서 평균치의 관점에서는,
[수식 54]
Figure pat00054
가 될 수 있는 양변의 통계적 성질(분산(σu 2)과 평균치(mu))과 통계적 성질(분산(σv 2)과 평균치(mv))에 의해 평형 상태가 유지되게 된다. 즉, 이 조건이 성립되는 통계적 성질(분산(σu 2)과 평균치(mu))을 갖는 u가 출력이다.
(21)식과 (22)식의 관계를 보면, 예를 들면 (22)식의 관계가 성립되는 조건을 사용하여 (21)식의 좌변을 계산하면,
[수식 55]
Figure pat00055
이 되어 (21)식과 (22)식의 관계, 즉, 평균치와 분산의 관계가 모순 없이 성립되어 있는 것을 알 수 있다. 즉 Hyperbolic Tangent Rule에서의 평균치와 그 분산의 트레이스는, 평균치만의 트레이스로도 분산도 동시에 트레이스한 것이 되기 때문에, 1변수만 관측하면 좋다.
이 관계는 서로 독립된 확률 변수로서 취급하고 있기 때문에, Φ(*)에 의해 다른 통계적 환경에 대한 확률 변수에 대해서도 성립된다. 따라서, 이하에 도시하는 카테고리로 분류한 태너 그래프에 관해서도 그대로 사용할 수 있게 된다. 이하 카테고리로 분류한 태너 그래프에서의 GA에 관해 기재한다.
상술한 종래의 비정칙 LDPC의 GA에서는 앙상블 평균한 형태로 모든 LLR을 단일한 평균치로 취급하고 있다. 카테고리로 분류한 태너 그래프에서는, 카테고리마다 앙상블 평균하고 있기 때문에, 그만큼 상세하고 정확한 과정을 평가할 수 있다. 즉, 변수 노드로부터 체크 노드에, 또한, 체크 노드로부터 변수 노드에의 메시지를 카테고리마다 나누어 생각하고 있는 점이다. 지금 카테고리의 수를 ne개로 하고, 카테고리(i)의 어느 하나의 가지(枝)가 나오는 방향으로 접속되어 있는 체크 노드(변수 노드)에 대해, 카테고리(j)(≠i)의 가지가 dj개, 카테고리(i)의 가지가 di-1개 들어가는 방향으로 접속되어 있는 것으로 한다. 이 상태에서의 GA를 생각한다.
Sumproduct에 의한 각 갱신 과정의 평균치를 추적하는 것이지만, 카테고리별로 나누어 생각하기 때문에,
[수식 56]
Figure pat00056
마다 각각 정리한 차수의
[수식 57]
Figure pat00057
의 벡터 표현을 이용한다. 즉 임의의 차수(d)로 카테고리(i)의 내의 열무게(di)의 메시지(V(i)d)에 대한 평균치
[수식 58]
Figure pat00058
는,
[수식 59]
Figure pat00059
여기서, 카테고리(i)의 가지의 내에서 임의로 선택한 차수
[수식 60]
Figure pat00060
의 노드에 접속하고 있는 가지의 비율을 표기하는데 즈음하여 이하의 관계를 이용한다.
[수식 61]
Figure pat00061
카테고리(i)의 가지의 총수는
[수식 62]
Figure pat00062
이기 때문에 결국 임의로 선택한 차수
[수식 63]
Figure pat00063
의 노드에 접속하고 있는 가지의 비율은
[수식 64]
Figure pat00064
로 된다.
그래서 카테고리(i) 내의 앙상블 평균으로 생각하여 이하의 관계를 얻는다.
[수식 65]
Figure pat00065
여기서, Φ(x)를 이용하면,
[수식 66]
Figure pat00066
따라서 이하의 관계를 얻는다.
[수식 67]
Figure pat00067
마찬가지로 카테고리(j)(≠i)의 가지가 dj개, 카테고리(i)의 가지가 di-1개 들어가는 방향으로 접속되어 있는 것으로 하여, 카테고리별로 나누어 생각하기 때문에
[수식 68]
Figure pat00068
마다 각각 정리한 차수
[수식 69]
Figure pat00069
의 벡터 표현을 이용한다. 임의의 차수(d)에서 카테고리(i)의 내의 열무게(di)의 LLRU(i)d에 대한 평균치
[수식 70]
Figure pat00070
는, sumproduct에서의 "tanh rule"을 이용하여,
[수식 71]
Figure pat00071
여기서, 카테고리(i)의 가지의 내에서 임의로 선택한 차수
[수식 72]
Figure pat00072
의 노드에 접속하고 있는 가지의 비율을 표기하는데 즈음하여 이하의 관계를 이용한다.
[수식 73]
Figure pat00073
카테고리(i)의 가지의 총수는
[수식 74]
Figure pat00074
이기 때문에 결국 임의로 선택한 차수
[수식 75]
Figure pat00075
의 노드에 접속하고 있는 가지의 비율은
[수식 76]
Figure pat00076
로 된다.
그래서 카테고리(i) 내의 앙상블 평균으로 생각하여 이하의 관계를 얻는다.
[수식 77]
Figure pat00077
Φ(x)를 이용하면
[수식 78]
Figure pat00078
로 상기 식으로 부터,
[수식 79]
Figure pat00079
이기 때문에 결국,
[수식 80]
Figure pat00080
또한, 상술한
[수식 81]
Figure pat00081
는 j에 대해서도 같은 생각이 성립되기 때문에,
[수식 82]
Figure pat00082
을 얻는다. 또한 상술한,
[수식 83]
Figure pat00083
을 이용하면, 카테고리로 분류한 태너 그래프에서 GA의 하기 재귀식을 얻는다.
[수식 84]
Figure pat00084
미리 주어진 차수 프로파일
[수식 85]
Figure pat00085
을 기초로 재귀식(32)에 의해 반복복호 과정에서 평균적인 행위를 볼 수 있다. 평균치(m)가 반복과 함께 무한대로 발전하여 가면 에러 프리이고, 도중에 발전이 스톱하면 에러 프리를 실현할 수 없다. 그 경계선을 반복 임계치(Threshold)라고 부르고, 그때의 통신로 LLR 평균(m(i)uoi)=1 내지 ne에 대응하는 Eb/N0가 에러 프리 실현에 필요한 레벨이 된다. 또한 상기 식에 있어서,
[수식 86]
Figure pat00086
이다.
이상은 sumproduct에 의한 Hyperbolic Tangent Rule를 이용한 경우로, (21)식과 (22)식의 관계, 즉, 평균치와 분산의 관계가 반복복호 과정에서도 모순 없이 성립되어 있는 경우이다. 즉 Hyperbolic Tangent Rule에서의 평균치와 그 분산의 트레이스는, 평균치만의 트레이스로도 분산도 동시에 트레이스한 것이 되기 때문에, 1변수만 관측하면 좋은 경우이다.
그러나, MaxLog 근사(또는 minSum 알고리즘이라고도 한다)에 의해 생긴 비선형 처리를 포함하는 GA인 경우, 이미 (21)식, (22)식의 관계가 성립되지 않게 되어, 평균치만의 트레이스로 분산도 동시에 트레이스한 것이 되는 메리트를 얻을 수 없게 되어 온다.
그래서, 평균치와 분산의 양쪽을 반복복호 과정에서 트레이스하고, 그 SNR가 중분히 커지는지의 여부로 판단한다. 도중에 SNR의 증대가 스톱하면 성능이 나쁘다. 그 경계선의 통신로 LLR 평균(m(i)u0i)=1 내지 ne에 대응하는 Eb/N0로서 필요한 레벨을 판단한다.
그 때문에, MaxLog 근사(또는 minSum 알고리즘이라고도 한다)에서의 확률 분포를 구할 필요가 있다. 이하 행무게 4의 경우를 예로 들어 그 확률 분포에 관해 기재한다.
행무게가 4이기 때문에, dc-1=3이고 3변수의 확률 분포를 구하는 것이 된다.
지금, 행방향의 연산을 생각하고, 각 노드에서의 대수우도비를 LLR로 표기한다. 따라서 LLR은 추정 대상인 노드의 개수를 뺀 dc-1개의 독립된 확률 변수에 의해 결정되고, 그 확률 변수를 벡터로
[수식 87]
Figure pat00087
로 표기하고, 각각의 확률밀도 함수를 평균치(mj), 분산분산(σj 2)으로 하여
[수식 88]
Figure pat00088
와 같이 나타낸다. 또한 확률 함수를 이하와 같이 정의한다.
[수식 89]
Figure pat00089
에 대해
[수식 90]
Figure pat00090
,즉,
[수식 91]
Figure pat00091
[수식 92]
Figure pat00092
는 x 이상의 크기를 갖는 확률 변수
[수식 93]
Figure pat00093
의 정(正)인 경우와 부인 경우의 확률을 나타내고 있다.
LLR의 확률 밀도 분포(pdf)인 Q(x)를 구하기 위해 LLR의 누적 확률 분포(cdf)를 계산한다.
[수식 94]
Figure pat00094
에 대해,
[수식 95]
Figure pat00095
즉, 모든
[수식 96]
Figure pat00096
[수식 97]
Figure pat00097
이상이면
[수식 98]
Figure pat00098
[수식 99]
Figure pat00099
이상인 된다. 따라서
[수식 100]
Figure pat00100
로 근사되는 점의 부(負)의 영역(odd number of negative value in Z)로 최소의
[수식 101]
Figure pat00101
에서도
[수식 102]
Figure pat00102
로 되기 때문에,
[수식 103]
Figure pat00103
로 되고,
[수식 104]
Figure pat00104
로 영역화된 사상(事象)은 모두
[수식 105]
Figure pat00105
에 포함되게 된다. 역으로 모든
[수식 106]
Figure pat00106
[수식 107]
Figure pat00107
이상이 아니면
[수식 108]
Figure pat00108
이하의 사상이 반드시 존재하기 때문에
[수식 109]
Figure pat00109
에 포함되지 않는다. 따라서 행무게가 4이고 3변수의 누적 분포(FL(1))는,
[수식 110]
Figure pat00110
따라서, 구하려고 하고 있는 L의 확률 밀도 분포(QL(1))는. 상기 (36)식의 L의 누적 확률 분포(cdf)를 1로 미분함에 의해 얻어지고,
[수식 111]
Figure pat00111
로 된다. 1>0인 경우도 같은 결과가 되기 때문에 여기서는 생략한다.
(37)식으로부터 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)의 평균치는,
[수식 112]
Figure pat00112
에 의해 얻을 수 있다. 또한, 분산은,
[수식 113]
Figure pat00113
에 의해 얻을 할 수 있다.
이것을 (32)식에 적용시키면 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)에 의해 생긴 비선형 처리를 포함하는 카테고리로 분류한 태너 그래프에서의 GA가 된다. 그 GA에 의해 최적의 무게부여를 검색한 결과를 이하의 예로 나타낸다.
실시예
다변수 다항식 ;
[수식 114]
Figure pat00114
실시한 소켓 모델을 도 2에, 검사 매트릭스를 도 3에, 또한 대응표를 도 4에 도시한다.
이 예는 Multi-Type이라고 불리는 것으로, Type마다 카테고리 나누고 있다. 상기 (40)식의 다항식이나 도 2 내지 도 4의 소켓 모델 등으로부터 행무게가 4인 단일 행무게인 것을 알 수 있다. 이 예를 상기 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)에 의해 생긴 비선형 처리를 포함하는 카테고리로 분류한 태너 그래프에서의 GA에 의해 최적의 무게부여를 탐색한다. 무게부여에 상당하는 개소를 블록도로 도시하면 도 1과 같이 된다. 즉 다른 카테고리마다 독립적으로 무게부여가 이루어지도록 구성되어 있다. 동 도면상에서 상당한 개소의 무게부여에서 최고 성능을 발휘하는 값을 하기 표의 왼쪽에 기입하면 이하와 같이 된다.
[표 1]
Figure pat00115
이 결과가 나타내는 바와 같이, RA 구조를 갖는 열무게 2의 개소의 무게부여가 0.98로 가장 높고, 다른 것은 0.58 내지 0.62 정도로 되어 있다. 이것은 RA 구조를 갖는 카테고리의 노드는 다른 높은 열무게로부터의 신뢰도가 높은 LLR을 얻음에 대해 역으로 RA 구조 이외의 카테고리의 노드는 RA 구조로부터의 낮은 열무게로부터의 신뢰도가 낮은 LLR을 얻기 때문에, RA 구조의 카테고리는 높은 무게부여이고, 다른 카테고리는 낮은 무게부여로 된 것이라고 생각된다.
또한, 카테고리 나눔이 없는 태너 그래프로 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)를 이용한 때 무게부여에 의해 보정을 거는 것이 알려져 있지만, 이것은 모든 노드에 대해 단일한 무게부여를 행하고 있는 것이다. 또는 열무게가 아니라 행무게에 주목하여 무게부여를 행하고 있다. 이에 대해 본 발명은 열무게에 주목하여 무게부여를 행하고 있는 점에 주의가 필요하다.
예를 들면, 행무게에 주목하여 무게부여를 행하였다고 하면, 상기한 예에서는 모든 행무게가 4로 무게부여의 값은 같다는 것으로 되어 버린다. 그럼에도 불구하고, 무게부여를 카테고리마다 바꿈에 의해 특성 향상이 나타나는 점이 종래와 크게 다른 점이고, 이것은 상기한 카테고리 분류된 상태에서의 비선형 처리를 포함하는 DE를 시도한 본 발명에서 비로서 밝혀진 점이고, 본 발명은 이 해석 결과에 의거하여 행하여진 것이다.
이상의 결과를 기초로 실제의 MaxLog 근사를 사용한 LDPC 디코더에서 몬테칼로 시뮬레이션을 행한 결과를 도 5에 도시한다. 동 도면에서 왼쪽의 라인이 sum-product를 이용한 특성이고 오른쪽 라인이 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)를 이용한 특성이다. 이 조건에서 이용한 무게부여는 이하와 같이 된다.
[표 2]
Figure pat00116
최종적인 몬테칼로 시뮬레이션에서도, 상기 결과가 나타내는 바와 같이 RA 구조를 갖는 열무게 2의 개소의 무게부여가 0.9999로 가장 높고, 기타는 0.58 내지 0.69라는 값이 되었다. 약간의 최적화 대상의 동작점의 차이로 값이 약간 빗나가고 있지만 경향으로서는 같은 것을 알 수 있다.
한편, 종래의 모든 노드에 대해 단일한 무게부여를 행하는 방법으로 기타는 완전히 같은 내용으로 무게부여 계수의 최적화를 행하여 몬테칼로 시뮬레이션을 행한 결과를 도 6에 도시한다. 이때 이용한 무게부여 계수를 추기(追記)한 표를 이하에 나타낸다.
[표 3]
Figure pat00117
도 6의 특성을 보고 알 수 있는 바와 같이 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)를 이용한 우측의 라인에서는 단일한 무게부여 계수만으로는 에러 플로어가 생겨 버려서 이용할 수 없는 상태로 된다.
이상이 본 발명의 뒷받침이 되는 해석 결과이고, 카테고리로 분류한 태너 그래프에 의한 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)를 이용한 디코더에 카테고리마다의 무게부여가 유효한 것을 나타내는 것이다.
이하, 도 1을 참조하면서 본 발명의 실시예를 설명한다. 도 1은 본 발명의 카테고리로 분류한 태너 그래프에 의한 MaxLog 근사(또는 minSum 알고리즘이라고도 한다)를 이용하고, 카테고리마다의 무게부여를 시행하는 디코더의 구성을 도시하는 블록도, 도 1a는 그 구체적인 회로 구성을 도시하는 도면이다.
도 1에 도시하는 디코더는, 변수 노드 메모리(101 및 102)로 구성되는 메모리(100), 무게부여 처리부(103, 107), 감산기(104), 체크 노드 처리부(105) 및 체크 노드 메모리(106)로 구성되어 있다.
변수 노드를 격납하는 변수 노드 메모리(101와 102)는 각각 출력과 입력으로 교체되고 사용되는 것으로, 태너 그래프에서 카테고리 분할에 따라, 메모리 뱅크(도시 생략)에 의해 이들의 내부는 분할되어 있다. 또한, 수신치 LLR을 격납하는 에어리어가 마련되어 있고, 변수 노드의 출력을 맡는 출력부는 변수 노드를 출력할 때에 수신치 LLR을 가산하여 출력한다.
이하의 설명에서는, 변수 노드 메모리(101와 102)의 각각이, 현재, 출력과 입력에 사용되고 있다고 하여 설명한다.
상기한 바와 같이 하여 출력된 변수 노드 LLR는, MaxLog 근사(또는 minSum 라고도 한다)를 위한 제 1의 최소치와 제 2의 최소치와 2를 나누는 수로 하는 극성 합과 최소치의 위치를 담은 체크 노드 메모리(106)로부터 생성된 값, 즉, 같은 행 내에서의 변수 노드 LLR
[수식 115]
Figure pat00118
에 대해
[수식 116]
Figure pat00119
---------- (41)
인 선택과 극성 부여를 행하여 카테고리에 대응하는 무게부여가 무게부여 처리부(103)에 의해 이루어져 있지만, 무게부여 처리부(103)와 같은 무게부여 값을 출력한 무게부여 처리부(107)의 출력치를 감산기(104)에서 공제한 후에 체크 노드 처리부(105)에 출력된다.
체크 노드 처리부(105)에서는, MaxLog 근사(또는 minSum 라고도 한다)를 위한 제 1의 최소치와 제 2의 최소치와 2를 나누는 수로 하는 극성 합과 최소치의 위치의 검출을 행한다.
체크 노드 처리부(105)의 구체적인 회로 구성을 도 7에 도시한다. 도 7(a)에 도시하는 바와 같이, Min(Max)Log 영역에서의 근사 알고리즘으로 Hyperbolic Tangent rule를 실현하고 있다. 여기서, 체크 노드 처리에서의 메시지 갱신 규범을, Hyperbolic Tangent rule이라고 부르고 있고, 도 7(b)에 도시하는 바와 같이 병렬 구성으로 파이프라인화하고 있기 때문에, 평균적으로 보아 1클록에서 동작을 완료한다. 회로 동작은 tree 구성에서 최소치 검출(min)을 행하고, 그 최소치를 마스크하여 제 2의 최소치 검출(Sub-min)을 행하고 있다. 2step 동작이지만, 파이프라인화하고 있기 때문에 등가적으로 1클록에서 모든 처리가 완결된다. 또한, 복잡해지기 때문에 도면에서는 파이프라인용의 F/F를 생략하고 있다.
도 1로 되돌아와, 이 체크 노드 처리를 체크 노드 처리부(105)에서 행한 후, 얻어진 값(min, Sub-min, 2를 나누는 수로 하는 극성 합인 sign, 그리고 최소치의 위치를 나타내는 Position)을 체크 노드 메모리(106)에 격납한다.
체크 노드 메모리(106)는 메모리(100)와 마찬가지로 입력 또는 출력으로서 이용되는 2개의 메모리부를 구비하는 것이고, 체크 노드 처리부(105)의 처리에 의해 얻어진 값을 입력의 메모리부에 격납한다. 또한, 동시에, 그것들을 이용하여 선택과 극성 부여로 얻어진 (41)식에서의 u의 값인 LLR을 변수 노드 메모리(102)에 격납한다. 그때, 무게부여 처리부(103)에서 미리 카테고리마다 결정된 무게부여를 행하고 나서 102에 격납한다.
또한, 이 블록도에서는 격납할 때에 무게부여 처리를 행하고 있지만, 출력인 변수 노드 메모리(101)에서 수신치 LLR을 가산하기 전에 무게부여 처리를 행하여도 좋고, 체크 노드 처리부(105)에서 출력할 때에 무게부여 처리를 행하여도 좋다.
다음 사이클에서는, 이번에는 변수 노드 메모리(102)가 출력이고 변수 노드 메모리(101)가 입력으로 되기 위해 구성이 교체된다. 복잡해지기 때문에 도면에서는 생략하고 있지만 무게부여 처리부(103)도 입력인 변수 노드 메모리(101)에 대해 행하여지도록 된다. 또한, 2부 구성의 체크 노드 메모리(106)도 입력과 출력이 교체되고, 미리 결정된 반복 회수가 될 때까지 반복 사이클마다 교대로 메모리의 입력과 출력을 교체하는 처리가 행하여진다.
이들의 메모리의 액세스는 카테고리마다 분할된 메모리 뱅크 내에서 또한 카테고리 내의 무게 분포에 따라 메모리 뱅크에 의한 분할이 이루어져 있고, 패럴렐로 처리가 진행되도록 되어 있다. 또한, 각 카테고리 내의 무게 분포의 관계로 일시적으로 패럴렐 액세스가 집중하는 타이밍이 생긴 경우를 고려하여 FIFO 기능을 갖는 캐싱 회로를 통하여 메모리 액세스를 행하도록 되어 있기 때문에, 평균화의 효과로 메모리 뱅크의 분할 수의 증가나 온 칩 버스의 갯수의 삭감을 행하고 있다.
또한, 도면중 특히 기재되어 있지 않지만, 토너 그래프에 의해 결정되는 접속 정보는 검사 매트릭스의 1의 위치를 인덱스의 형태로 보존하고 있는 메모리가 있어서, 적은 메모리 용량으로 LLR의 접속 제어를 행하고 있다.
또한, 도 2, 3, 4를 보고 알 수 있는 바와 같이, 이 예에서는 카테고리와 열무게의 관계가 거의 대응하도록 되어 있다. 특히 열무게에 구애받지 않고 카테고리화에서 자유로 무게부여를 정할 수도 있지만, 이 예와 같이 열무게에 의한 그룹화를 카테고리에 포함시키는 것도 가능하다..
이상 도 1을 참조하면서 디코더의 아키텍처에 관해 설명하였다. 다음에 본 발명에 의한 인코더에 관해 설명한다.
저차수 프로파일에 의해 결정되는 검사 매트릭스(H)는 성긴 행렬로 되기 때문에 복호를 위한 처리량이 적고 저복잡화에 적합하다. 그러나 성긴 검사 매트릭스(H)에 대응한 생성 매트릭스(G)는 거의 확실하게 성긴 행렬에서 없어지기 때문에, 이 때문에 부호화 처리가 복호 처리에 대해 무시할 수 없게 된다. 그러나, 이 성긴 검사 매트릭스를 활용하면서 부호를 생성하는 산법이 알려져 있다. 그래서, 고속화 가능하고 처리 규모가 작은 아키텍처에 관해 도면을 참조하면서 설명한다.
본 발명의 부호화 처리는, 미리 계산(Pre-calculation)을 행하는 오프라인 처리(0fine process)와 하드웨어에 의한 온라인 처리(Online process)에 의해 구성되어 있다. 미리 행하는 오프라인 처리에서는 검사 매트릭스가 성긴 성질을 유지한 채로 행렬 변환을 행한다. 또한 하드웨어에 의한 온라인 처리에서는 검사 매트릭스가 성긴 성질을 유지한 채로 만들어진 4개의 매트릭스(A, B, T 및 F)를 기초로 고속으로 부호화 처리를 실행한다.
(1) Pre-calculation(0ffline process)검사 매트릭스의 행 교체 및 렬 교체에 의해 이하의 상삼각 영행렬 H를 얻는다.
[수식 117]
Figure pat00120
여기서, T는 대각 요소에 "1"을 갖는 하삼각 행렬로 왼쪽부터
[수식 118]
Figure pat00121
을 곱하면, 이하의 행렬을 얻는다.
[수식 119]
Figure pat00122
여기서 인코더 출력인 부호어(符號語)를 벡터 표현으로 이하와 같이 표기한다.
[수식 120]
Figure pat00123
동일 벡터 내 벡터에서 s는 정보 비트 계열을 나타내고, p1, p2는 각각 패리티 비트 계열을 나타낸다.
부호어 벡터(X)와 검사 매트릭스(H) 사이에는
[수식 121]
Figure pat00124
인 관계가 있기 때문에,
[수식 122]
Figure pat00125
이것으로 부터 이하의 관계를 얻는다.
[수식 123]
Figure pat00126
(2) Hardware Encoding ( Online process )
상기 식을 기초로 주어진 정보 비트 계열(S)로부터 인코더 출력의 일부인 패리티 비트 계열(p1)을 고속으로 생성한다.
i.s → p1 : 상기 식에서의 제 2의 관계로 부터,
[수식 124]
Figure pat00127
상기 식에서의 연산은 모두 GF(2)상에서 행하여지고, 벡터(p1)의 크기는 "gap"이라고 불리는 부분에서 매우 작다. 따라서 도 8과 같은 간단한 회로로 실현할 수 있다. 동 도면에서, 제 1의 메모리(801)는 오프라인 처리에서 얻어지는 매트릭스(F)의 요소(1)의 위치를 인덱스로서 축적하고 있고, 제 1의 행카운터(803)에 의해 어드레싱되고 이 제 1의 메모리(801)가 출력하는 인덱스에 의해 다시 어드레싱되는 제 2의 메모리(802)에는 정보 비트 계열(S)이 격납되어 있다. 따라서, 매트릭스(F)의 요소인 1의 인덱스에 의해 출력된 정보 비트(S)를 배타적 논리합 회로(804)와 지연 소자(805)에 의해 2를 나누는 수로 하는 적산하는 것이 되기 때문에 출력처의 패리티 계열(p1)을 축적하는 메모리(806)에는 상기 (47)식의
[수식 125]
Figure pat00128
가 격납되게 된다.
ⅱ. s,p1 → p2 : 상기 (46)식에서의 제 1의 관계로 부터,
[수식 126]
Figure pat00129
여기서, 매트릭스(T)는 이하와 같은 대각 요소에 "1"을 갖는 하삼각 매트릭스이다.
따라서,
[수식 127]
Figure pat00130
이것으로 부터 이하의 관계를 얻는다.
[수식 128]
Figure pat00131
상기 식에서 연산은 모두 GF(2)상에서 행하여지고, 매트릭스(T)은 하삼각 행렬이고 성긴 행렬이기도 하다. 또한, A도 B도 성긴 행렬이기 때문에, 도 9와 같은 간단한 회로로 실현할 수 있다.
동 도면에서, 제 3의 메모리(901)에는 (47)식에 의한 온라인 처리에서 얻어진 패리티 계열(p1)과 상술한 오프라인 처리에서 얻어진 매트릭스(B)의 곱과 상기 정보 비트 계열(S)과 오프라인 처리에서 얻어진 매트릭스(A)의 곱의 합이다.
[수식 129]
Figure pat00132
가 격납되어 있고, 제 4의 메모리(902)에는 오프라인 처리에서 얻어진 매트릭스(T)의 요소(1)의 위치를 인덱스로서 축적하고 있다.
제 5의 메모리(903)는 제 2의 패리티 계열(p2)을 격납하고, 제 2의 행카운터(904)에 의해 어드레싱된 제 4의 메모리(902)가 출력하는 인덱스를 판독 어드레스로 하는 메모리로서, 제 5의 메모리(903)의 출력과
[수식 130]
Figure pat00133
가 격납되어 있는 제 3의 메모리(901)의 출력이 행의 첫회만 배타적 논리합을 취하도록 실렉터(907)가 제 2의 행카운터(904)에 의해 제어되고, 그 후는 제 2의 패리티 계열(p2)의 쪽으로 실렉터(907)가 전환됨에 의해, 배타적 논리합 회로(905)와 지연 소자(906)에 의해 (50)식의 연산이 실행된다. 또한,
[수식 131]
Figure pat00134
의 하드웨어에소의 연산은 통상의 설계 사항이기 때문에 여기서는 설명을 생략한다
이상의 오프라인 처리와 도 8과 도 9에 도시되는 하드웨어에 의한 온라인 처리에 의해 본 발명의 인코더가 구성된다.
도 10은 인코드 처리의 부하의 대부분을 담당하는 도 9의 회로를 고속화한 것으로, 도 9에 도시한 것과 마찬가지로, 제 2의 행카운터(1004)에 의해 어드레싱된 메모리(1002)의 매트릭스(T)의 요소의 1의 위치를 인덱스로서 동작하고 있다.
도 10에서, 도 9에 도시한 구성과 다른 점은 이 인덱스가 행무게분을 갖는 점이고, 동일한 행 내에 있는 모든 1의 위치에 대한 인덱스를 패럴렐로 제 2의 패리티 계열(p2)이 격납되는 메모리(1003)에 어드레싱하고 있는 점이다. 그 때문에, 제 2의 패리티 계열(p2)이 격납되는 메모리로서 미러 메모리(1003-1, 2)를 부가하여
[수식 132]
Figure pat00135
가 격납되어 있는 제 3의 메모리(1001)의 출력과 함께 배타적 논리합 회로(1005)에 의해 한번에 (50)식의 연산을 행하고, 그 결과를 미러 메모리(1003-1, 2)를 포함하는 제 2의 패리티 계열(p2)이 격납되는 메모리(1003)에 격납하여 고속 동작을 실현한 것이다.
(산업상 이용 가능성)
이상 설명한 바와 같이, 본 발명의 LDPC 부호화 방식에 의한 인코더 및 디코더는, 이동통신 등의 통신 분야에서도 실현 가능한 회로 규모로 고성능화, 고속화, 효율화를 실현할 수 있는 수단을 제공할 수 있다.
그 때문에, 태너 그래프의 각 노드를 복수의 카테고리로 분류하여 낮은 무게 분포에 의한 처리 규모 삭감을 행하고, 또한, sum-product 대신에 Min(Max)Log 영역에서의 대담한 근사에 의해 회로 규모의 대폭적인 삭감이 유효하지만, 그 때문에 야기되는 성능 열화가 생기는 일 없이 고성능화, 고속화, 효율화할 수 있는 수단을 제공할 수 있다.
또한, 본 발명에 의해 낮은 무게 분포의 검사 매트릭스로 고성능화, 고속화, 및 효율화를 구비한 디코더를 제공할 수 있는데, 인코더도 또한 같은 낮은 무게 분포의 검사 매트릭스의 효과에 의해, 고속으로 동작하는 아키텍처를 실현할 수 있는 수단을 제공할 수 있다.
101 : 변수 노드 LLR을 격납하는 메모리
102 : 변수 노드 LLR을 격납하는 메모리
103 : 무게부여 처리부
104 : 감산기
105 : 체크 노드 처리부
106 : 체크 노드 메모리
107 : 무게부여 처리부
801 : 제 1의 메모리
802 : 제 2의 메모리
803 : 제 1의 행카운터
804 : 배타적 논리합
805 : 지연 소자
806 : 패리티 계열(p1)용 메모리
901 : 제 3의 메모리
902 : 제 4의 메모리
903 : 제 5의 메모리
904 : 행카운터
905 : 배타적 논리합
906 : 지연 소자
907 : 실렉터
1001 : 제 3의 메모리
1002 : 제 4의 메모리
1003 : 제 5의 메모리
1003-1, 2 : 미러 메모리
1004 : 제 2의 행카운터
1005 : 배타적 논리합

Claims (9)

  1. LDPC 부호화 방식에서의 태너 그래프를 이용하여, 각 노드는 복수의 카테고리로 분류하는 것이 가능하고, 반복복호에서의 확률전파 계산에 즈음하여 상기 카테고리마다 미리 결정된 무게부여를 전파 대상인 대수우도비(이하 LLR이라고 약칭한다)에 대해 행하는 것을 특징으로 하여 구성되는 LDPC 디코더.
  2. 제 1항에 있어서,
    상기 반복복호에서의 확률전반 계산은, MaxLog 근사(또는 minSum 알고리즘)이고 각 카테고리에 속하는 검사 매트릭스의 열무게에 맞추어서 무게부여하는 값을 결정하는 것을 특징으로 하여 구성되는 LDPC 디코더.
  3. 제 1항 또는 제 2항에 있어서,
    상기 태너 그래프로서, 상기 복수의 카테고리 내에 RA 구조(Repeat Accumulate 구조의 약칭으로 지그재그 구조라고도 한다)의 카테고리를 가지며, 해당 카테고리의 무게부여는 다른 카테고리의 무게부여보다 크게 한 것을 특징으로 하여 구성되는 LDPC 디코더.
  4. LDPC 부호화 방식에서의 태너 그래프를 이용하여, 그래프를 구성하는 각 노드는, 그 검사 매트릭스의 열무게에 의한 복수의 그룹 분류가 가능하고, 반복복호에서의 확률전파 계산에 즈음하여서는, 상기 그룹마다 결정된 무게부여를 전파 대상인 대수우도비(LLR)에 대해 행하는 것을 특징으로 하여 구성되는 LDPC 디코더.
  5. 제 2항에 있어서,
    상기 반복복호에서의 확률전반 계산을 MaxLog 근사(minSum 알고리즘이라고도 한다)에 의해 행할 때, 제 1의 최소치 검출 회로에 의해 제 1의 최소치를 검출하고, 해당 검출된 제 1의 최소치에 대응하는 입력을 마스크하여 제 2의 최소치를 검출하는 제 2의 최소치 검출 회로를 가지며, 제 1 및 제 2의 최소치 회로를 파이프라인 구조에 의해 구성함에 의해 등가적으로 1클록에서 근사 계산을 실행하는 것을 특징으로 하여 구성되는 LDPC 디코더.
  6. 제 5항에 있어서,
    상기 반복복호에서의 확률전반 계산을 MaxLog 근사(minSum 알고리즘이라고도 한다)에 의해 행할 때, 변수 노드분의 LLR을 일시 보존하는 제 1의 메모리와, 청구항 제 7항에 기재된 제 1의 최소치 및 제 2의 최소치와 그 입력의 2를 나누는 수로 하는 극성 합을 보존하는 체크 노드분의 제 2의 메모리를 가지며, 해당 제 1의 메모리에의 입력은, 청구항 제 7항에 기재된 제 1의 최소치 및 제 2의 최소치를 기초로 태너 그래프에 의해 결정되는 접속에 의거하여 해당 제 1의 메모리의 보존치에 가산함에 의해 순차적으로 행하여지고, 해당 제 1의 메모리는, 청구항 제 2항에 기재된 카테고리분만큼이 이루어져 있고, 카테고리마다 미리 결정된 무게부여를 해당 제 1의 메모리 출력에 대해 행하여지고, 그 무게부여된 LLR과 수신치 LLR을 가산한 후, 상기 제 2의 메모리 축적 결과인 제 1의 최소치 및 제 2의 최소치와 2를 나누는 수로 하는 극성 합을 기초로 태너 그래프에 의해 결정되는 접속 정보에 의해 선택되는 값을 공제하고, 재차 MaxLog 근사(minSum 알고리즘이라고도 한다)를 행하는 반복복호를 특징으로 하여 구성되는 LDPC 디코더.
  7. 제 6항에 있어서,
    상기 카테고리마다의 무게부여를 상기 제 1의 메모리 출력이 아니라, 해당 제 1의 메모리 입력이나 또는 MaxLog 근사(minSum 알고리즘이라고도 한다) 출력에 제자리로 되돌아오기까지의 경로에 실시하는 것을 특징으로 하여 구성되는 LDPC 디코더.
  8. 제 6항 또는 제 7항에 있어서,
    상기 태너 그래프에 의해 결정되는 접속 정보는, 검사 매트릭스에서의 1의 위치를 인덱스의 형태로 보존하는 것을 특징으로 하여 구성되는 LDPC 디코더.
  9. 제 6항에 있어서,
    상기 변수 노드분의 LLR을 일시 보존하는 제 1의 메모리를 2면 가지며, 또한 청구항 제 7항에 기재된 제 1의 최소치 및 제 2의 최소치와 그 입력의 2를 나누는 수로 하는 극성 합을 보존하는 체크 노드분의 제 2의 메모리를 2면 가지며, 어느 한쪽의 메모리를 출력으로서 이용하고 있는 경우는 다른 메모리를 입력으로서 이용하여, 반복복호에서의 반복 사이클마다 교대로 해당 메모리의 입력과 출력을 교체하는 것을 특징으로 하여 구성되는 LDPC 디코더.
KR1020117023498A 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더 KR101390544B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005141588 2005-05-13
JPJP-P-2005-141588 2005-05-13
PCT/JP2006/308116 WO2006120844A1 (ja) 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097017454A Division KR20090106620A (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020137004821A Division KR101356808B1 (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더

Publications (2)

Publication Number Publication Date
KR20110125266A true KR20110125266A (ko) 2011-11-18
KR101390544B1 KR101390544B1 (ko) 2014-04-30

Family

ID=37396357

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020117023498A KR101390544B1 (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더
KR1020097017454A KR20090106620A (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더
KR1020137004821A KR101356808B1 (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더
KR1020077026683A KR100945991B1 (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020097017454A KR20090106620A (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더
KR1020137004821A KR101356808B1 (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더
KR1020077026683A KR100945991B1 (ko) 2005-05-13 2006-04-18 Ldpc 부호화 방식에 의한 인코더 및 디코더

Country Status (6)

Country Link
US (1) US8140930B1 (ko)
EP (1) EP1881610B1 (ko)
JP (1) JP5315693B2 (ko)
KR (4) KR101390544B1 (ko)
CN (1) CN101233693B (ko)
WO (1) WO2006120844A1 (ko)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4526451B2 (ja) 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
JP4526450B2 (ja) * 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
US8359522B2 (en) 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
JP4645640B2 (ja) * 2007-11-30 2011-03-09 住友電気工業株式会社 復号器、受信装置及び符号化データの復号方法
CN101299612B (zh) * 2008-06-10 2013-04-24 上海瀚讯无线技术有限公司 一种快速树图分解方法
TWI372523B (en) * 2008-11-14 2012-09-11 Realtek Semiconductor Corp Recording controller and decoder for parity-check code
JP5197544B2 (ja) * 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
JP5508549B2 (ja) * 2010-01-27 2014-06-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 繰り返し復号されるfec符号におけるエラーフロアの低減
US8661326B1 (en) * 2010-08-04 2014-02-25 Marvell International Ltd. Non-binary LDPC code decoding early termination
JP5091996B2 (ja) * 2010-09-09 2012-12-05 株式会社東芝 誤り訂正復号器、メモリコントローラ及び受信機
CN102130693B (zh) 2010-11-10 2013-06-05 华为技术有限公司 一种低密度奇偶校验码的译码方法和装置
JP5132758B2 (ja) * 2010-12-13 2013-01-30 株式会社東芝 誤り訂正復号器及び記憶装置
RU2013146898A (ru) * 2011-03-22 2015-04-27 Нек Корпорейшн Устройство кодирования с коррекцией ошибок, способ кодирования с коррекцией ошибок и программа кодирования с коррекцией ошибок
JP5648852B2 (ja) * 2011-05-27 2015-01-07 ソニー株式会社 データ処理装置、及び、データ処理方法
JP5664919B2 (ja) * 2011-06-15 2015-02-04 ソニー株式会社 データ処理装置、及び、データ処理方法
WO2013147777A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Updating variable nodes associated with an iterative decoder
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US9154261B2 (en) * 2013-01-16 2015-10-06 Broadcom Corporation Low density parity check (LDPC) coding in communication systems
US9178653B2 (en) * 2013-01-16 2015-11-03 Broadcom Corporation Very short size LDPC coding for physical and/or control channel signaling
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) * 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US8930790B1 (en) * 2013-09-13 2015-01-06 U-Blox Ag Method and apparatus for identifying selected values from among a set of values
EP3082267A4 (en) * 2013-12-09 2017-08-16 Mitsubishi Electric Corporation Error-correction decoding device
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9590657B2 (en) * 2015-02-06 2017-03-07 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
US9935654B2 (en) 2015-02-06 2018-04-03 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
FR3032571B1 (fr) * 2015-02-11 2017-03-10 Commissariat Energie Atomique Methode de decodage iteratif de sequences lfsr a faible probabilite de fausse alarme
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10318389B2 (en) * 2016-07-15 2019-06-11 Quantum Corporation Joint de-duplication-erasure coded distributed storage
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
CN108574493B (zh) 2017-03-10 2021-12-24 华为技术有限公司 数据处理的方法和装置
TWI657669B (zh) * 2017-11-28 2019-04-21 財團法人資訊工業策進會 低密度奇偶檢查碼解碼器及其解碼方法
US11200484B2 (en) * 2018-09-06 2021-12-14 International Business Machines Corporation Probability propagation over factor graphs
CN112005499B (zh) * 2018-10-18 2023-02-03 华为技术有限公司 Ldpc码的译码方法和装置
CN111208538B (zh) * 2018-11-21 2022-04-26 展讯通信(上海)有限公司 电文的解调方法及装置
KR20200084687A (ko) 2019-01-03 2020-07-13 삼성전자주식회사 비이진 폴라 코드를 수신하는 장치 및 이의 디코딩 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
JP3833545B2 (ja) 2002-02-13 2006-10-11 三菱電機株式会社 通信システム、受信機、送信機および通信方法
US7197690B2 (en) * 2002-05-31 2007-03-27 Broadcom Corporation Bandwidth efficient coded modulation scheme based on MLC (multi-level code) signals having multiple maps
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
JP2004088470A (ja) * 2002-08-27 2004-03-18 Sony Corp 復号装置及び復号方法
EP1568140A1 (en) * 2002-11-27 2005-08-31 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
JP4062435B2 (ja) 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
JP4163023B2 (ja) 2003-02-28 2008-10-08 三菱電機株式会社 検査行列生成方法および検査行列生成装置
KR20040101743A (ko) * 2003-05-26 2004-12-03 삼성전자주식회사 통신 시스템에서 저밀도 패리티 검사 코드의 복호 장치 및방법
US7391826B2 (en) 2003-08-08 2008-06-24 Lucent Technologies Inc. Decoding method and apparatus
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
US7237181B2 (en) * 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
KR20060032464A (ko) * 2004-10-12 2006-04-17 삼성전자주식회사 효율적인 저밀도 패리티 검사 코드 복호 방법 및 장치
KR100703271B1 (ko) * 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
US7562279B2 (en) * 2005-05-20 2009-07-14 Mitsubishi Electric Research Laboratories, Inc. 2D-normalized min-sum decoding for ECC codes

Also Published As

Publication number Publication date
EP1881610A1 (en) 2008-01-23
WO2006120844A1 (ja) 2006-11-16
JPWO2006120844A1 (ja) 2008-12-18
KR101356808B1 (ko) 2014-01-28
KR20080004609A (ko) 2008-01-09
KR20130038399A (ko) 2013-04-17
CN101233693B (zh) 2012-11-14
KR20090106620A (ko) 2009-10-09
EP1881610B1 (en) 2015-06-03
EP1881610A4 (en) 2010-10-06
KR101390544B1 (ko) 2014-04-30
JP5315693B2 (ja) 2013-10-16
US8140930B1 (en) 2012-03-20
KR100945991B1 (ko) 2010-03-09
CN101233693A (zh) 2008-07-30

Similar Documents

Publication Publication Date Title
KR101356808B1 (ko) Ldpc 부호화 방식에 의한 인코더 및 디코더
EP3092717B1 (en) Decoding of non-binary ldpc codes
CN1953336B (zh) 在低密度奇偶校验解码器中更新校验节点的方法
JP4320418B2 (ja) 復号装置および受信装置
Taghavi et al. Efficient implementation of linear programming decoding
JP2002353946A (ja) 有限サイズのデータブロックに対して誤り訂正符号を評価する方法
KR101895164B1 (ko) 코드 디코딩 에러 정정 방법 및 장치
US20150012795A1 (en) Error correction decoder and error correction decoding method
CN101154948A (zh) 利用共享硬件及顺序和-积体系结构进行低密度奇偶校验解码的方法和设备
CN109802688B (zh) 一种多进制ldpc译码系统和方法
US10833704B1 (en) Low-density parity check decoder using encoded no-operation instructions
US10554226B2 (en) Method for controlling a check node of a NB-LDPC decoder and corresponding check node
US20080178066A1 (en) Method and apparatus for receiving data in communication system
Yang et al. A new two‐stage decoding scheme with unreliable path search to lower the error‐floor for low‐density parity‐check codes
Astola et al. On the use of Lee-codes for constructing multiple-valued error-correcting decision diagrams
US8706792B1 (en) Low-complexity q-ary LDPC decoder
Astola et al. Introducing Fault-Tolerance to Multiple-Valued Logic with Error-Correcting Decision Diagrams.
Leduc-Primeau et al. Stochastic decoders for LDPC codes
RU2634193C1 (ru) Декодер ldpc и способ его функционирования
Leduc-Primeau et al. Stochastic decoding of error-correcting codes
KR102394458B1 (ko) 복호기 및 그의 복호 방법
CN109586844A (zh) 一种基于集合的非均等保护译码方法及系统
JP2012209632A (ja) 最小値検出回路及び最小値検出方法
JPH0750594A (ja) エラー訂正方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
A107 Divisional application of patent
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20130128

Effective date: 20140228

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180403

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 6