KR100719351B1 - 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법 - Google Patents

트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법 Download PDF

Info

Publication number
KR100719351B1
KR100719351B1 KR1020060052979A KR20060052979A KR100719351B1 KR 100719351 B1 KR100719351 B1 KR 100719351B1 KR 1020060052979 A KR1020060052979 A KR 1020060052979A KR 20060052979 A KR20060052979 A KR 20060052979A KR 100719351 B1 KR100719351 B1 KR 100719351B1
Authority
KR
South Korea
Prior art keywords
recursive
code
parity check
data
information bits
Prior art date
Application number
KR1020060052979A
Other languages
English (en)
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 건국대학교 산학협력단
Priority to KR1020060052979A priority Critical patent/KR100719351B1/ko
Application granted granted Critical
Publication of KR100719351B1 publication Critical patent/KR100719351B1/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/01Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/015Simulation or testing of codes, e.g. bit error rate [BER] measurements
    • 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/27Coding, 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 using interleaving techniques
    • 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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/65Purpose and implementation aspects
    • H03M13/6572Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법에 관한 것으로, 외부로부터 입력되는 정보비트를 반복부호화 및 인터리빙하여 재귀정보비트와 비재귀정보비트를 출력하는 인터리버와, 재귀정보비트의 패리티체크를 수행하여 재귀패리티비트를 출력하는 재귀패리티체크부 및 재귀패리티비트와 비재귀정보비트를 입력받고 패리티체크를 수행하여 비재귀패리티비트를 출력하는 비재귀패리티체크부로 구성되어 부호화된 데이터를 채널로 전송하는 코드생성수단과, 채널을 통해 입력되는 부호화된 데이터를 최소합 알고리즘을 이용하여 반복 복호하는 코드복호수단과, 코드복호수단의 복호 반복시마다 채널을 통해 전송되는 데이터에 대한 가능도비를 출력하는 변수노드와, 재귀/비재귀패리티체크데이터에 대한 가능도비를 출력하는 재귀/비재귀체크노드와, 출력된 각 가능도비의 평균 및 분산을 추적하고, 스케일링 인자에 따른 코드의 에러 확률을 산출하는 연산부를 포함하는 코드분석수단으로 구성된다.
TREE-LDPC, 스케일링 인자, 최소합 알고리즘, 반복 복호

Description

트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법{SYSTEM FOR ANALYZING PERFORMANCE OF TREE-LDPC CODE AND METHOD THEREFOR}
도 1은 본 발명에 따른 TREE-LDPC 코드 성능분석 시스템의 구성 블록도.
도 2는 본 발명의 일실시예에 따른 SCC 형태의 TREE-LDPC 코드의 블록도.
도 3은 본 발명의 일실시예에 따른 TREE-LDPC 코드의 bipartite 그래프의 예시도.
도 4는 본 발명의 다른 실시예에 따른 TREE-LDPC 코드의 패리티체크 행렬의 예시도.
도 5는 본 발명의 다른 실시예에 따른 TREE-LDPC 코드의 bipartite 그래프의 예시도.
도 6은 본 발명에 따른 TREE-LDPC 코드 성능분석 방법의 전체 흐름도.
도 7은 본 발명에 따른 TREE-LDPC 코드 성능분석 방법에서 재귀/비재귀패리티체크비트 생성 단계의 순서도.
도 8은 본 발명에 따른 TREE-LDPC 코드 성능분석 방법에서 각 데이터의 가능도비를 산출하는 단계의 순서도.
도 9는 본 발명에 따른 TREE-LDPC 코드 성능분석 방법에서 스케일링 인자에 따른 코드 에러 확률을 산출하는 단계의 순서도.
도 10은 본 발명에 따른 TREE-LDPC 코드의 성능을 나타낸 컴퓨터 시뮬레이션 결과 예시도.
본 발명은 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법에 관한 것으로, 반복(repetition) 코드와 누산기(accumulator)를 하나의 인터리버로 연결시킨 RA 계통 코드와 LDPC 코드를 접목시켜 코드의 부호화를 간단하게 하고, 밀도전개(DENSITY EVOLUTION) 기법을 통해 산출되는 최적의 스케일링 인자를 사용한 최소합 알고리즘을 사용함으로써, 트리 저밀도 패리티체크 코드의 성능 이득을 높임과 동시에 코드의 복호화를 간단하게 하는 기술이다.
최근 이동통신은 고속 데이터 전송과 이동성이 중요시되고 있으며, 이는 국제 표준에서도 고려되고 있다. 빠른 이동성을 보장하는데 필연적으로 따라오는 심각한 페이닝 채널의 변화를 손쉽게 보정하기 위하여 OFDMA가 채택되었으며 낮은 신호대 잡음비 영역에서 고속 데이터 전송을 가능케 하기 위해 LDPC 코드가 채택되었다. 다른 채널 코딩 기술에 비하여 LDPC 코드는 고속 데이터 전송에 필요한 높은 코드 레이트에서의 탁월한 성능을 나타내며 아울러 BF(Belief Propagation) 알고리즘을 사용한 복호 알고리즘 하드웨어 구현에 있어서 전체적으로 패러렐 프로세싱이 가능하며, LDPC 코드 자체적으로 에러 디텍션 기능이 있어 추가적인 오버 헤드 CRC 코드를 필요로 하지 않으나, 이러한 LDPC 코드 기술은 인코딩에 있어서 계산량이 많기 때문에 인코딩 과정이 복잡한 문제점이 있었다.
상술한 바와 같은 종래기술의 문제점을 해결하기 위해 창안된 본 발명의 목적은, 반복코드와 누산기를 하나의 인터리버로 연결시킨 RA 계통 코드와 LDPC 코드를 접목시켜 코드 부호화 과정의 복잡도를 줄이는 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은, 밀도전개 기법을 통하여 최적의 스케일링 인자를 검출하는 트리 저밀도 패리티체크 코드 성능분석 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 최적의 스케일링 인자를 사용한 최소합 알고리즘을 사용함으로써, 트리 저밀도 패리티체크 코드의 성능 이득을 높임과 동시에 코드 복호화 과정의 복잡도를 줄이는 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 시스템은, 외부로부터 입력되는 정보비트를 반복코드에 의해 반복부호화 및 인터리빙하여 재귀정보비트와 비재귀정보비트를 출력하는 인터리버와, 재귀정보비트의 패리티체크를 수행하여 재귀패리티비트를 출력하는 재귀패리티체크부와, 상기 재귀패리티체크부에서 출력되는 데이터를 반복 누산하여 재귀패리티비트를 생성하는 누산기와, 재귀패리티비트 및 비재귀정보비트를 입력받고 패리티체크를 수행하여 비재귀패리티비트를 출력하는 비재귀패리티체크부로 구성되어, 인터리버와 재귀/비재귀패리티체크부에 의해 부호화된 데 이터를 채널로 전송하는 코드생성수단과, 채널을 통해 입력되는 부호화된 데이터 즉, 시메트릭(symmetric)비트와 비재귀패리티비트를 최소합(min-sum) 알고리즘을 이용하여 반복 복호하는 코드복호수단과, 코드복호수단의 복호 반복시마다 채널을 통해 전송되는 데이터에 대한 가능도비(LLR:Log Likelihood Ratio)를 출력하는 변수노드와, 재귀패리티비트에 대한 가능도비를 출력하는 재귀체크노드와, 비재귀패리티비트에 대한 가능도비를 출력하는 비재귀체크노드를 포함하고, 각 가능도비의 평균 및 분산을 추적하여 가우시안 근사화를 이용한 밀도전개를 구하며, 외부로부터 입력되는 다양한 스케일링 인자 데이터를 상기 밀도전개 결과 데이터에 적용하여 각 스케일링(scaling) 인자에 따른 코드의 에러 확률을 산출하는 연산부를 더 포함하는 코드분석수단으로 이루어진다.
상기 시스템의 구성에 따른 본 발명의 트리 저밀도 패리티체크 코드 성능분석 방법은, 코드생성수단이 외부로부터 정보비트를 입력받아 사전 설정된 반복코드에 의해 반복부호화를 수행한 후, 상기 반복부호화된 데이터를 인터리빙하여 재귀/비재귀정보비트를 생성하고, 생성된 재귀/비재귀정보비트의 패리티체크를 수행하여 재귀/비재귀패리티체크비트를 생성하는 (a) 단계와, 코드생성수단이 상기 (a) 단계에서 생성된 데이터를 이용하여 트리 저밀도 패리티체크 코드를 출력하는 (b) 단계와, 코드복호수단이 상기 코드생성수단으로부터 전송되는 코드의 반복 복호를 수행하는 (c) 단계와, 코드분석수단이 상기 (c) 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아 입력되는 데이터의 가능도비를 산출하는 (d) 단계, 및 코드분석수단이 상기 (d) 단계에서 산출된 가능도비 데이터와 외부로부터 입력되는 스케일 링 인자 데이터를 이용하여 스케일링 인자에 따른 코드의 에러 확률을 산출하는 (e) 단계로 이루어진다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 발명에 따른 TREE-LDPC 코드 성능분석 시스템은 상기 도 1에 도시된 바와 같이, 코드생성수단(100)과 코드복호수단(300) 및 코드분석수단(400)으로 구성된다.
도 1은 본 발명에 따른 TREE-LDPC 코드 성능분석 시스템의 구성 블록도이다.
상기 코드생성수단(100)은 외부로부터 신호를 입력받아 인터리빙 및 패리티체크를 수행하여 상기 신호를 부호화하고, 상기 부호화된 데이터를 채널(200)을 통해 코드복호수단으로 전송하는 기능을 수행하는 것으로서, 리피터(110), 인터리버(120), 재귀패리티체크부(140), 비재귀패리티체크부(160) 및 누산기(180)를 포함한다.
더욱 상세하게 설명하면, 리피터(110)는 외부로부터 입력되는 신호를 기설정된 repetition 수에 맞춰 반복부호화하는 것으로, 예를 들어 repetition수가 4('repeat4')이면 외부로부터 입력되는 신호가 '1010'인 경우 '1111 0000 1111 0000'으로 변환(반복부호화)시키는 기능을 수행한다. 또한, 인터리버(120)는 리피터를 통해 입력되는 정보비트를 인터리빙하여 재귀정보비트와 비재귀정보비트를 출력하는 기능을 수행하고, 재귀패리티체크부(140)는 인터리버에서 출력되는 재귀정보비트의 패리티체크를 수행하여 재귀패리티비트를 출력하는 기능을 수행하고, 비재귀패리티체크부(160)는 재귀패리티체크부(140)로부터 전송되는 재귀패리티비트와 인터리버(120)로부터 전송되는 비재귀정보비트를 입력받아 패리티체크를 수행하여 비재귀패리티비트를 출력하는 기능을 수행한다. 그리고, 누산기(180)는 재귀패리티체크부(140)에서 출력되는 데이터를 반복 누산하여 재귀패리티비트 생성을 돕는 기능을 수행한다.
여기서, 상기 비재귀패리티체크부(160)는 재귀패리티체크부(140) 및 누산기(180)를 통해 생성되어 출력된 재귀패리티비트와 인터리버(120)로부터 출력된 비재귀정보비트를 입력받아, 입력된 데이터의 패리티 체크를 수행하여 비재귀피리티비트를 출력하게 된다.
상기 코드복호수단(300)은 코드생성수단(100)으로부터 채널(200)을 통해 부호화된 데이터, 즉 시메트릭비트와 비재귀패리티비트를 입력받고, 최소합 알고리즘을 이용하여 반복 복호하는 기능을 수행한다.
상기 코드분석수단(400)은 변수노드, 재귀체크노드, 비재귀체크노드 및 연산부를 포함하여 상기 코드복호수단의 복호 반복시마다 입력 데이터의 가능도비를 출력하는 기능을 수행하고, 외부로부터 입력되는 다양한 스케일링 인자 데이터를 이용하여 상기 출력된 각 가능도비의 평균 및 분산을 계산함으로써, 각 스케일링 인자에 따른 코드 에러 확률을 산출하는 기능을 수행한다.
여기서, 상기 코드분석수단(400)을 더욱 상세하게 설명하면, 변수노드는 코드생성수단(100)으로부터 채널을 통해 전송되는 시메트릭비트에 대한 가능도비를 출력하고, 재귀체크노드는 재귀패리티비트에 대한 가능도비를 출력하고, 비재귀체크노드는 비재귀패리티비트에 대한 가능도비를 출력한다. 그리고, 연산부는 상기 출력된 각 가능도비의 평균 및 분산을 추적하여 가우시안 근사화를 이용한 밀도전개를 구하며, 외부로부터 입력되는 다양한 스케일링 인자 데이터를 상기 밀도전개 결과 데이터에 적용하여 각 스케일링 인자에 따른 코드 에러 확률을 산출한다.
도 2 내지 도 5를 참조하여, 본 발명에 따른 Tree-LDPC 코드 성능분석 시스템을 더욱 상세하게 설명하면 다음과 같다.
도 2는 본 발명의 일실시예에 따른 SCC 형태의 TREE-LDPC 코드의 블록도이고, 도 3은 본 발명의 일실시예에 따른 SCC 형태 TREE-LDPC 코드의 bipartite 그래프의 예시도이고, 도 4는 본 발명의 다른 실시예에 따른 TREE-LDPC 코드의 패리티체크 행렬의 예시도이며, 도 5는 본 발명의 다른 실시예에 따른 TREE-LDPC 코드의 bipartite 그래프의 예시도이다.
상기 TREE-LDPC 코드는 SCC형태 또는 패리티체크 행렬을 사용하는 선형 블록 부호의 형태로 구성될 수 있다.
첫 번째로, 상기 두 가지 중 SCC 형태의 TREE-LDPC 코드인 경우, 도 2 및 도 3에 도시된 바와 같이, TREE-LDPC 코드는 재귀정보비트 dr, 비재귀정보비트 dnr, 재귀패리티비트 pp, 비재귀패리티비트 pnp로 구성되며, 재귀패리티비트는 재귀정보비트의 SPC와 누산기로부터 얻어지고, 비재귀패리티비트는 재귀패리티비트와 비재귀정보비트로부터 얻어진다.
상기 도 3에 나타낸 TREE-LDPC 코드 bipartite 그래프는 다음과 같이, [수학식1] 및 [수학식2]로 표현된다.
[수학식1]
Figure 112006041291221-pat00001
[수학식2]
Figure 112006041291221-pat00002
상기 [수학식1] 및 [수학식2]에서 J r 은 재귀패리티체크부(140, recursive SPC(Single parity Check))에 속하는 재귀정보비트의 수를 나타내며 J nr 은 비재귀패리티체크부(160, non-recursive SPC)에 속하는 비재귀정보비트의 수를 나타내고 초기값(p p [0])은 '0'이다. 재귀패리티(Punctured parity)비트 p p 는 재귀(recursive)정보비트 d r 의 SPC(재귀패리티체크부,140)와 누산기(180)로부터 얻어진다. 한편 비재귀패리티(non-punctured parity)비트 p np p p 와 비재귀(non-recursive)정보비트 d nr 로부터 얻어지게 된다.
두 번째로, 선형 블록 부호의 형태로 구성된 경우, Tree-LDPC 코드에 사용된패리티체크 행렬 H의 예를 나타낸 상기 도 4와 같이, Tree-LDPC 코드를 표현하는 패리티체크 행렬은 두 개의 소행렬 Hd와 Hp로 나눌 수 있는데, Hd는 반복부호와 인터리버(120, interleaver)에 해당하며, Hp는 누산기(180)에 해당한다. 구조화된 LDPC 코드에서 패리티체크 행렬 H의 각각의 행은 하나의 SPC로 표현되어지고, 이러 한 SPC들은 누산기(180)를 통하여 연결되며, 이러한 역할을 하는 부분이 패리티체크 행렬 H의 듀얼 다이어고날 구조를 가지는 부분이다. 그러므로 구조화된(constrained) LDPC 코드는 RA 코드와 마찬가지로 선형 시간으로 인코딩하는 것이 가능하게 된다.
상기 도 4에 나타낸 선형 블록 부호의 형태의 TREE-LDPC 코드는 다음과 같은 [수학식3]으로 표현되며 관계설명을 도 5에 도시화하였다.
[수학식3]
Figure 112006041291221-pat00003
상술한 바와 같은 본 발명의 Tree-LDPC 코드 성능분석 시스템을 이용한 성능분석 방법을 도 6 내지 도 9를 참조하여 설명하면 다음과 같다.
도 6은 본 발명에 따른 TREE-LDPC 코드 성능분석 방법의 전체 흐름도이고, 도 7은 본 발명에 따른 TREE-LDPC 코드 성능분석 방법에서 재귀/비재귀패리티체크비트 생성 단계의 순서도이고, 도 8은 본 발명에 따른 TREE-LDPC 코드 성능분석 방법에서 각 데이터의 가능도비를 산출하는 단계의 순서도이며, 도 9는 본 발명에 따른 TREE-LDPC 코드 성능분석 방법에서 스케일링 인자에 따른 코드 에러 확률을 산출하는 단계의 순서도이다.
코드생성수단이, 상기 도 6에 도시된 바와 같이, 외부로부터 정보비트를 입력받아 인터리빙하여 재귀/비재귀정보비트와 재귀/비재귀패리티체크비트를 생성한 다(S2).
상기 제 S2 단계의 재귀/비재귀패리티체크 생성 단계를 상기 도 7을 참조하여 상세하게 설명하면 다음과 같다.
코드생성수단의 인터리버가, 외부로부터 정보비트를 입력받아 인터리빙하여 재귀/비재귀정보비트를 생성한다(S4).
코드생성수단의 재귀패리티체크부가, 상기 인터리버로부터 재귀정보비트를 입력받아 패리티체크를 수행한다(S6).
코드생성수단의 누산기가, 상기 제 S6 단계의 수행에 따라 출력되는 데이터를 반복 누산하여 재귀패리티비트를 생성한다(S8).
코드생성수단의 비재귀패리티체크부가, 상기 제 S4 단계에서 생성된 비재귀정보비트와 상기 제 S8 단계에서 생성된 재귀패리티비트를 입력받는다(S10).
코드생성수단의 비재귀패리티체크부가, 상기 제 S10 단계에서 입력된 데이터의 패리티 체크를 수행하여 비재귀패리티비트를 생성한다(S12).
코드생성수단이, 상기 제 S4 단계 내지 제 S12 단계에서 생성된 데이터를 이용하여 트리 저밀도 패리티체크 코드를 출력한다(S14).
코드복호수단이, 상기 코드생성수단으로부터 전송되는 코드의 반복 복호를 수행한다(S16).
코드분석수단이, 상기 제 S16 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아, 상기 입력되는 데이터의 가능도비를 산출한다(S18).
상기 제 S18 단계의 데이터 가능도비 산출 단계를 상기 도 8을 참조하여 상 세하게 설명하면 다음과 같다.
코드분석수단의 변수노드가, 상기 제 S16 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아, 상기 입력되는 데이터 중 변수데이터의 가능도비(LLR:Log Likelihood Ratio)를 산출한다(S20).
코드분석수단의 재귀체크노드가, 상기 S16 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아, 상기 입력되는 데이터 중 재귀패리티체크데이터의 가능도비를 산출한다(S22).
코드분석수단의 비재귀체크노드가, 상기 S16 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아, 상기 입력되는 데이터 중 비재귀패리티체크데이터의 가능도비를 산출한다(S24).
코드분석수단이, 상기 제 S20 단계 내지 제 S24 단계에서 산출된 가능도비 데이터와 외부로부터 입력되는 스케일링 인자 데이터를 이용하여 스케일링 인자에 따른 코드의 에러 확률을 산출한다(S26).
상기 제 S26 단계의 코드에러확률 산출 단계를 상기 도 9를 참조하여 상세하게 설명하면 다음과 같다.
코드분석수단의 연산부가, 상기 제 S24 단계에서 산출된 가능도비 데이터의 평균 및 분산을 추적한다(S28).
코드분석수단의 연산부가, 외부로부터 입력되는 다양한 스케일링 인자 데이터를 상기 제 S28 단계에서 추적된 평균 및 분산에 적용시켜 상기 가능도비 데이터의 평균 및 분산을 계산한다(S30).
상기 제 S30 단계의 평균 및 분산을 계산하는 과정을 상세하게 설명하면 다음의 제 S32 단계 내지 제 S62 단계와 같다.
상기 제 S32 단계 내지 제 S62 단계는 (
Figure 112006041291221-pat00004
+1)번 반복 수행되며, 상기 단계를 반복하는 이유는 본 발명에 따른 트리 저밀도 패리티체크 코드의 이상적인 최적의 성능을 구하기 위함이며, 상기 최적의 성능을 구하기 위한 최적의 스케일링 인자를 결정하는 방법으로 밀도전개 기법을 사용하였다.
▷ z, zr, znr : 변수노드의 Log LLR(Likelihood Ratio) 출력
▷ ur : 재귀체크노드의 Log LLR 출력
▷ unr : 비재귀체크노드의 Log LLR 출력
▷ vr : 재귀체크노드의 Log LLR 입력
▷ vnr : 비재귀체크노드의 Log LLR 입력
▷ wr : 재귀체크노드에서 변수노드쪽으로의Log LLR 출력
▷ wnr : 비재귀체크노드에서 변수노드쪽으로의Log LLR 출력
코드분석수단의 연산부가, z(수학식4)의 평균(수학식5)과 분산(수학식5)을 구한다(S32).
[수학식4]
Figure 112006041291221-pat00005
[수학식5]
Figure 112006041291221-pat00006
[수학식6]
Figure 112006041291221-pat00007
코드분석수단의 연산부가, z의 평균과 분산을 이용하여 z의 PDF와 CDF를 구한다(수학식7)(S34).
[수학식7]
Figure 112006041291221-pat00008
상기 [수학식7]에서 f(x)와 F(x)는 각각 PDF와 누적 밀도 함수(CDF)를 나타낸다. Jr>3 인 경우 f ur (x)는 추가적인 PDF f vi (x)를 이용하여(i≤ J r -1) 다음의 [수학식8]과 같은 recursive update를 통해 구할 수 있다.
[수학식8]
Figure 112006041291221-pat00009
코드분석수단의 연산부가, 상기 제 S34 단계에서, 인터리버를 통한 순서상의 차이만 있을 뿐 z에 대한 평균과 분산, PDF, CDF는 zr 인 경우와 znr 경우 모두 같다.
첫 번째 복호의 반복단계에서 사용되는 평균 및 분산 초기값은 채널로부터 수신된 값으로 나타내며, 다음의 [수학식9]로 나타낼 수 있다. 상기 채널로부터 수신된 값은 symmetric 조건을 유지하므로 분산(σλ c 2)은
Figure 112006041291221-pat00010
이다.
[수학식9]
Figure 112006041291221-pat00011
(
Figure 112006041291221-pat00012
)번째 반복에서의 평균과 분산은 (
Figure 112006041291221-pat00013
-1)번째 반복에서의 평균과 분산을 이용하여 구하며, 변수노드에서 재귀체크노드와 비재귀체크노드로 전송되는 데이터의 평균과 분산은 다음의 [수학식10]과 같다.
[수학식10]
Figure 112006041291221-pat00014
코드분석수단의 연산부가, zr의 PDF와 CDF와 상기 [수학식7]을 이용하여 ur의 PDF와 CDF를 구한다(S36).
코드분석수단의 연산부가, znr의 PDF와 CDF와 상기 [수학식7], 그리고 채널 로부터 수신된 message를 이용하여 unr의 PDF와 CDF를 구한다(S38).
상기 제 S38 단계에서 채널로부터 수신된 메세지란, 코드생성수단으로부터 부호화되어 출력되는 symmetric bit와 Non-Puncturing 패리티 비트를 말한다.
코드분석수단의 연산부가, ur의 PDF와 CDF를 이용하여 ur의 평균과 분산을 구한다(S40).
코드분석수단의 연산부가, unr의 PDF와 CDF를 이용하여 unr의 평균과 분산을 구한다(수학식11)(S42).
코드분석수단의 연산부가, ur의 평균과 분산과 unr의 평균과 분산을 이용하여 vr의 평균과 분산을 구한다(수학식11)(S44).
[수학식11]
Figure 112006041291221-pat00015
코드분석수단의 연산부가, vr의 평균과 분산을 이용하여 vr의 PDF와 CDF를 구한다(S46).
코드분석수단의 연산부가, ur의 평균과 분산을 이용하여 vnr의 평균과 분산을 구한다(S48).
코드분석수단의 연산부가, vnr의 평균과 분산을 이용하여 vnr의 PDF와 CDF를 구한다(S50).
코드분석수단의 연산부가, vr의 PDF와 CDF, zr의 PDF와 CDF를 이용하여 wr의 PDF와 CDF를 구한다(S52).
코드분석수단의 연산부가, wr의 PDF와 CDF를 이용하여 wr의 평균과 분산을 구한다(S54).
코드분석수단의 연산부가, vnr의 PDF와 CDF, znr의 PDF와 CDF를 이용하여 wnr의 PDF와 CDF를 구한다(S56).
코드분석수단의 연산부가, wnr의 PDF와 CDF를 이용하여 wnr의 평균과 분산을 구한다(S58).
코드분석수단의 연산부가, wr의 평균과 분산, wnr의 평균과 분산을 이용하여 w'의 평균과 분산을 구한다(수학식12)(S60).
[수학식12]
Figure 112006041291221-pat00016
코드분석수단의 연산부가, 스케일링 인자에 의한 w의 평균과 분산을 구한다(수학식13)(S62).
[수학식13]
Figure 112006041291221-pat00017
상기 제 S62 단계에서 산출된 w의 평균과 분산을 이용하여 상기 제 S32 단계로 리턴하여 제단계를 수행하는 방법으로, 상기 제 S32 단계 내지 제 S62 단계를 (
Figure 112006041291221-pat00018
+1)번 반복 수행한다.
본 발명의 실시예에서, 상기 제 S32 단계에서 출력되는 z의 평균과 분산을 이용하여 제 S62 단계에서 출력되는 w의 평균과 분산을 구하는 과정에 의해 한 번의 복호화가 이루어지며, 이 과정을 반복적으로 수행하는 것을 반복복호화(iterative decoding)라고 한다.
코드분석수단의 연산부가, 상기 도 9에 나타낸 바와 같이, 제 S32 단계 내지 제 S62 단계의 반복수행에 의해 계산된 평균 및 분산에 의해 각 스케일링 인자에 따른 코드의 에러 확률을 산출한다(S64).
상기 제 S64 단계에서 산출되는 결과에 의해 최적의 스케일링 인자를 구할 수 있게 되는 것이다.
아래의 [표1]은 가우시안 근사화에 의한 밀도전개(Density Evolution)기법을 이용하여 산출된 threshold 값을 나타낸 것이다.
상기 [표1]에 나타내었듯이, 상기 threshold 값은 Jr과 Jnr의 비율이 2:2일때는 스케일링 인자가 0.7일 때 가장 낮고, Jr과 Jnr의 비율이 3:1일 때는 스케일링 인자가 0.6일 때 가장 낮으므로, 상기 두 경우에 따른 각 스케일링 인자가 최적의 값임을 알 수 있다.
[표1]
scaling factor α Min-Sum algorithm with scaling factor (E b / N o dB) Sum-Product algorithum without scaling factor (E b / N o dB)
α Jr = 2, Jnr = 2 Jr = 3, Jnr = 1 Jr =2, Jnr = 2 Jr = 3, Jnr = 1
1 1.61 1.47 0.65 0.77
0.9 1.33 1.19
0.8 1.02 0.94
0.7 0.82 0.81
0.6 5.52 0.80
0.5 · 1.27
상기 도 10은 Tree-LDPC 코드의 성능을 컴퓨터 시뮬레이션을 통해서 분석한 결과를 나타낸 것으로, 성능 비교를 위해 동일한 조건에서 Tree- LDPC 코드에 scaling 인자를 사용하지 않은 sum-product 알고리즘 성능도 나타내었다.
상기 도 10의 본 시뮬레이션 실험에 사용된 Tree-LDPC 코드의 정보비트(정보블록) 크기는 2048비트이고, repetition 수는 4이고 재귀정보비트와 비재귀정보비트의 비율이 2:2이고, 사용된 채널은 AWGN(Additive White Gaussian Noise Channel) 채널이고, 반복복호의 수는 20번으로 고정하였으며, 전체 코드 rate는 1/2이다.
밀도전개(Density evolution)에서 얻은 최적의 스케일링 인자(α= 0.7)가 다른 스케일링 인자를 사용한 것에 비해 성능이 우수한 것을 상기 도 10의 시뮬레이션을 통해 확인할 수 있다.
또한 상기 도 10에서, 최적의 스케일링 인자를 갖고 최소합 알고리즘을 사용하는 Tree-LDPC 코드와 스케일링 인자를 갖지 않은 최소합 알고리즘을 사용하는 Tree- LDPC 코드에 대한 성능 향상은 Bit Error Rate (BER)가 10-3인 영역에서 약 0.4 dB이고, 최적의 스케일링 인자를 갖고 최소합 알고리즘을 사용하는 Tree-LDPC 코드와 sum-product 알고리즘을 사용하는 Tree-LDPC 코드는 0.1 dB 차이로 성능이 거의 근접한 것을 알 수 있으며, 이러한 성능 향상은 밀도전개 기법을 통해 얻어진 상기 [표1]의 threshold 결과와도 일치함을 확인할 수 있다.
상술한 바와 같이, 본 발명은 반복(repetition) 코드와 누산기(accumulator)를 하나의 인터리버로 연결시킨 RA 계통 코드와 LDPC 코드를 접목시켜 코드 부호화 과정의 복잡도를 줄이는 효과가 있다.
본 발명은, 밀도전개 기법을 통하여 검출된 최적의 스케일링 인자를 이용한 최소합 알고리즘을 사용함으로써, TREE-LDPC 코드의 성능 이득을 높임과 동시에 코드 복호화 과정의 복잡도를 줄이고 성능 이득을 높이는 효과가 있다.
상기한 바와 같이 본 발명에 따른 바람직한 특정 실시 예를 설명하였지만, 본 발명은 상기한 실시 예에 한정되지 않으며 당해 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 다양하게 변형되는 실시 예들은 이하에 청구하는 본 발명의 특허 청구범위 안에 속한다고 해야 할 것이다.

Claims (9)

  1. 저밀도 패리티체크 코드의 성능분석 시스템에 있어서,
    외부로부터 입력되는 정보비트를 반복코드(repetition code)에 의해 반복부호화하고, 상기 반복부호화된 데이터를 인터리빙하여 재귀정보비트와 비재귀정보비트를 출력하는 인터리버와, 상기 인터리버에서 출력되는 재귀정보비트의 패리티체크를 수행하여 재귀패리티비트를 출력하는 재귀패리티체크부와, 상기 재귀패리티비트와 비재귀정보비트를 입력받고 패리티체크를 수행하여 비재귀패리티비트를 출력하는 비재귀패리티체크부로 구성되어, 상기 인터리버와 재귀/비재귀패리티체크부에 의해 부호화된 데이터를 채널로 전송하는 코드생성수단;
    상기 코드생성수단으로부터 채널을 통해 입력되는 부호화된 데이터를 최소합(min-sum) 알고리즘을 이용하여 반복 복호하는 코드복호수단; 및
    상기 코드복호수단의 복호 반복시마다, 상기 코드생성수단으로부터 채널을 통해 전송되는 데이터에 대한 가능도비(LLR:Log Likelihood Ratio)를 출력하는 변수노드와, 재귀패리티비트에 대한 가능도비를 출력하는 재귀체크노드와, 비재귀패리티비트에 대한 가능도비를 출력하는 비재귀체크노드를 포함하고, 상기 출력된 각 가능도비의 평균 및 분산을 추적하여 가우시안 근사화를 이용한 밀도전개를 구하며, 외부로부터 입력되는 다양한 스케일링 인자 데이터를 상기 밀도전개 결과 데이터에 적용하여 각 스케일링(scaling) 인자에 따른 코드의 에러 확률을 산출하는 연산부를 더 포함하는 코드분석수단;으로 이루어지는 것을 특징으로 하는 트리 저밀 도 패리티체크코드 성능분석 시스템.
  2. 제 1 항에 있어서, 상기 코드복호수단은,
    상기 코드생성수단의 부호화에 따른 시메트릭(symmetric)비트와 비재귀패리티비트를 채널을 통해 입력받는 것을 특징으로 하는 트리 저밀도 패리티체크코드 성능분석 시스템.
  3. 제 1 항에 있어서, 상기 코드생성수단은,
    상기 재귀패리티체크부에서 출력되는 데이터를 반복 누산하여 재귀패리티비트를 생성하는 누산기를 더 포함하는 것을 특징으로 하는 트리 저밀도 패리티체크코드 성능분석 시스템.
  4. 제 3 항에 있어서, 상기 코드생성수단의 비재귀패리티체크부는,
    상기 누산기 및 재귀패리티체크부를 통해 생성된 재귀패리티비트와 상기 인터리버로부터 출력된 비재귀정보비트를 입력받아, 상기 입력된 데이터의 패리티 체크를 수행하여 비재귀패리티비트를 생성하는 것을 특징으로 하는 트리 저밀도 패리티체크코드 성능분석 시스템.
  5. 저밀도 패리티체크 코드의 성능분석 방법에 있어서,
    (a) 코드생성수단이, 외부로부터 정보비트를 입력받아 인터리빙하고 패리티 체크를 수행하여 재귀/비재귀패리티체크비트를 생성하는 단계;
    (b) 코드생성수단이, 상기 (a) 단계에서 생성된 데이터를 이용하여 트리 저밀도 패리티체크 코드를 출력하는 단계;
    (c) 코드복호수단이, 상기 코드생성수단으로부터 전송되는 코드의 반복 복호를 수행하는 단계;
    (d) 코드분석수단이, 상기 (c) 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아, 상기 입력되는 데이터의 가능도비를 산출하는 단계; 및
    (e) 코드분석수단이, 상기 (d) 단계에서 산출된 가능도비 데이터와 외부로부터 입력되는 스케일링 인자 데이터를 이용하여 스케일링 인자에 따른 코드의 에러 확률을 산출하는 단계;
    로 이루어지는 것을 특징으로 하는 트리 저밀도 패리티체크코드 성능분석 방법.
  6. 제 5 항에 있어서, 상기 (a) 단계는,
    (a1) 코드생성수단이, 외부로부터 정보비트를 입력받아 인터리빙하여 재귀/비재귀정보비트를 생성하는 단계;
    (a2) 코드생성수단이, 상기 (a1) 단계에서 생성된 재귀정보비트를 입력받아 패리티체크를 수행하는 단계;
    (a3) 코드생성수단이, 상기 (a2) 단계의 수행에 따라 출력되는 데이터를 반복 누산하여 재귀패리티비트를 생성하는 단계;
    (a4) 코드생성수단이, 상기 (a1) 단계에서 생성된 비재귀정보비트와 상기 (a3) 단계에서 생성된 재귀패리티비트를 입력받는 단계; 및
    (a5) 코드생성수단이, 상기 (a4) 단계에서 입력된 데이터의 패리티 체크를 수행하여 비재귀패리티비트를 생성하는 단계;로 이루어지는 특징으로 하는 트리 저밀도 패리티체크코드 성능분석 방법.
  7. 제 6 항에 있어서, 상기 (a1) 단계는,
    코드생성수단이, 외부로부터 정보비트를 입력받아 사전 설정된 반복코드에 의해 반복부호화를 수행 후, 상기 반복부호화된 데이터를 인터리빙하여 재귀/비재귀정보비트를 생성하는 것을 특징으로 하는 트리 저밀도 패리티체크코드 성능분석 방법.
  8. 제 5 항에 있어서, 상기 (d) 단계는,
    (d1) 코드분석수단이, 상기 (c) 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아, 상기 입력되는 데이터 중 변수데이터의 가능도비를 산출하는 단계;
    (d2) 코드분석수단이, 상기 (c) 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아, 상기 입력되는 데이터 중 재귀패리티체크데이터의 가능도비를 산출하는 단계; 및
    (d3) 코드분석수단이, 상기 (c) 단계의 반복 복호 수행에 따라 전송된 데이터를 입력받아, 상기 입력되는 데이터 중 비재귀패리티체크데이터의 가능도비를 산 출하는 단계;로 이루어지는 특징으로 하는 트리 저밀도 패리티체크코드 성능분석 방법.
  9. 제 5 항에 있어서, 상기 (e) 단계는,
    (e1) 코드분석수단이, 상기 (d) 단계에서 산출된 가능도비 데이터의 평균 및 분산을 추적하는 단계;
    (e2) 코드분석수단이, 외부로부터 입력되는 다양한 스케일링 인자 데이터를 상기 (e1) 단계에서 추적된 평균 및 분산에 적용시켜 상기 가능도비 데이터의 평균 및 분산을 계산하는 단계; 및
    (e3) 코드분석수단이, 상기 (e2) 단계에서 계산된 평균 및 분산에 의해 각 스케일링 인자에 따른 코드의 에러 확률을 산출하는 단계;로 이루어지는 특징으로 하는 트리 저밀도 패리티체크코드 성능분석 방법.
KR1020060052979A 2006-06-13 2006-06-13 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법 KR100719351B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060052979A KR100719351B1 (ko) 2006-06-13 2006-06-13 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060052979A KR100719351B1 (ko) 2006-06-13 2006-06-13 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR100719351B1 true KR100719351B1 (ko) 2007-05-18

Family

ID=38277490

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060052979A KR100719351B1 (ko) 2006-06-13 2006-06-13 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100719351B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060021284A (ko) * 2003-02-26 2006-03-07 플래리온 테크놀러지스 인크 반복 디코딩을 위한 소프트 정보 스케일링
KR100689801B1 (ko) 2005-03-25 2007-03-08 건국대학교 산학협력단 엘디피씨를 위한 반복트리부호기

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060021284A (ko) * 2003-02-26 2006-03-07 플래리온 테크놀러지스 인크 반복 디코딩을 위한 소프트 정보 스케일링
KR100689801B1 (ko) 2005-03-25 2007-03-08 건국대학교 산학협력단 엘디피씨를 위한 반복트리부호기

Similar Documents

Publication Publication Date Title
US8010869B2 (en) Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
US10651973B2 (en) Method and apparatus for error-correction encoding using a polar code
CA2221137C (en) An optimal soft-output decoder for tail-biting trellis codes
KR100640399B1 (ko) 저밀도 패리티 검사 채널 부호의 천공 방법
US7340671B2 (en) Decoding low density parity codes
KR101718543B1 (ko) 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체
US10812107B2 (en) Apparatus and methods for polar code construction and bit position allocation
JP5374156B2 (ja) データを復号化及び符号化するための装置及び方法
Golmohammadi et al. Concatenated spatially coupled LDPC codes with sliding window decoding for joint source-channel coding
EP3713096B1 (en) Method and device for decoding staircase code, and storage medium
Dumer et al. Codes approaching the Shannon limit with polynomial complexity per information bit
KR20090012189A (ko) Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법
KR100719351B1 (ko) 트리 저밀도 패리티체크 코드 성능분석 시스템 및 방법
Jamali et al. Low-complexity decoding of a class of Reed-Muller subcodes for low-capacity channels
US7500173B2 (en) Method of decoding a data word
Mosleh Evaluation of low density parity check codes over various channel types
EP3526899B1 (en) Decoding of low-density parity-check convolutional turbo codes
Sun et al. Successive Cancellation List Flipping for Short Polar Codes Based on Row Weights of Generator Matrix
US11031954B1 (en) Data decoding method using LDPC code as error correction code and data transmitting method thereof
RU2337478C2 (ru) Декодирование высокоизбыточных кодов с контролем четности с использованием многопорогового прохождения сообщения
KR101924583B1 (ko) Ldpc 복호화 방법 및 장치와, 최솟 값 계산 방법
KR100689801B1 (ko) 엘디피씨를 위한 반복트리부호기
He et al. Efficient Sliding Window Decoding of Spatially Coupled LDPC Codes for Broadcasting
KR101354731B1 (ko) 통신 시스템에서 연접 저밀도 생성 행렬 부호 부호화/복호장치 및 방법
Ahn et al. Generalized Partially Information Coupled Polar Codes With Arbitrary Coupling Depth and Their Decoding Algorithms

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: 20120503

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee