KR20090064268A - 가변 보정값을 이용한 복호화 장치 및 그 방법 - Google Patents

가변 보정값을 이용한 복호화 장치 및 그 방법 Download PDF

Info

Publication number
KR20090064268A
KR20090064268A KR1020080043579A KR20080043579A KR20090064268A KR 20090064268 A KR20090064268 A KR 20090064268A KR 1020080043579 A KR1020080043579 A KR 1020080043579A KR 20080043579 A KR20080043579 A KR 20080043579A KR 20090064268 A KR20090064268 A KR 20090064268A
Authority
KR
South Korea
Prior art keywords
correction value
initial
check node
constant
variable
Prior art date
Application number
KR1020080043579A
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 US12/808,319 priority Critical patent/US8381063B2/en
Priority to PCT/KR2008/007419 priority patent/WO2009078644A1/en
Publication of KR20090064268A publication Critical patent/KR20090064268A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction
    • 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
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]

Landscapes

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

Abstract

본 발명은 가변 보정값을 이용한 복호화 장치 및 그 방법에 관한 것으로, 체크노드 업데이트 과정에서 매 반복 복호마다 가변 보정값을 이용하여 복호화함으로써, 낮은 부효율에서도 최적의 복호화 성능을 발휘하기 위한 가변 보정값을 이용한 복호화 장치 및 그 방법을 제공하고자 한다.
이를 위하여, 본 발명은 복호화 방법에 있어서, 초기 정규화 상수 및 정규화 상수 보정값을 설정받는 단계; 상기 초기 정규화 상수를 이용하여 체크노드를 초기 업데이트하는 단계; 및 상기 체크노드의 재 업데이트 시, 상기 초기 정규화 상수에 상기 정규화 상수 보정값을 합산한 결과인 가변 보정값을 이용하여 업데이트하는 단계를 포함한다.
가변 보정값, 체크노드 업데이트, 초기 정규화 상수, 정규화 상수 보정값, 초기 오프셋 상수, 오프셋 상수 보정값

Description

가변 보정값을 이용한 복호화 장치 및 그 방법{Apparatus and method for decoding using variable error-correcting value}
본 발명은 가변 보정값을 이용한 복호화 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 체크노드 업데이트 과정에서 매 반복 복호마다 가변 보정값을 이용하는 변형된 최소-합 알고리즘을 제안하여, DVB-S2 표준에 제시된 LDPC 부호에 적용하여 기존의 알고리즘보다 성능을 개선하기 위한, 가변 보정값을 이용한 복호화 장치 및 그 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2007-S-008-01, 과제명 : 21GHz 대역 위성방송 전송기술 개발].
1960년대에 'Gallager'에 의하여 제안된 LDPC(Low Density Parity Check) 부호는 다양한 채널에 대하여 'Shannon'의 이론적 한계에 근접하는 우수한 복호 성능을 보인다.
이러한 LDPC 부호는 패리티 검사 행렬의 대부분이 0으로 이루어져, 0이 아닌 원소의 수가 부호 길이에 비하여 적다는 저밀도성에 기인하여, 확률을 기반으로 한 반복적 복호의 구현이 상대적으로 용이하다는 장점을 갖는다.
최근에, LDPC 부호는 오류정정부호 분야의 중요한 연구 주제로 주목받고 있고, 실제로 통신, 방송, 저장매체 등 다양한 분야에서 표준으로 제안되어 사용되고 있다.
LDPC 부호는 합-곱(sum-product) 알고리즘과 같은 BP(Belief Propagation)를 이용하여 복호화할 때, 매우 우수한 성능을 보인다는 사실이 알려져 있다. 하지만, 이러한 복호 방식에서 신뢰할 만한 정보를 복원하기 위해서는 계산 복잡도가 커지게 된다. 게다가, DVB-S2 표준의 LDPC 부호와 같이 부호길이가 긴 부호는 복호 연산량이 더욱 크게 되므로, 복호의 계산 복잡도를 감소시킬 수 있는 새로운 방식이 필요하다.
이러한 BP 알고리즘은 BP를 기반으로 한 근사화(최소-합(min-sum) 근사화라고도 함)라고 불리는 알고리즘을 이용하여 간단해 질 수 있다. 그러나 근사화는 복호 복잡도를 감소시킬 수 있으나 복호 성능의 열화를 가져온다.
이하, LDPC 부호의 복호 방법에 대해 살펴보기로 한다.
먼저, BP 반복 복호 방법은 'Tanner' 그래프의 변수노드(variable node)와 체크노드(check node) 사이에 메시지를 반복적으로 교환하여 각각의 노드에서 메시지를 갱신하는 과정을 통하여 오류를 정정하는 알고리즘이다.
이러한 BP 반복 복호 방법은 BIAWGN(Binary-Input Additive White Gaussian Noise) 채널 상에서, 복호 과정의 메시지로 사후 확률이 아닌 LLR(Log-Likelihood Ratio) 값들을 사용한다.
다음으로, LLR(LLR: Log Likelihood Ratio) 값을 이용한 LDPC 부호의 일반적인 합-곱(또는 standard BP) 알고리즘에 대해 살펴보기로 한다.
먼저, LDPC 부호의 패리티 체크 행렬을 H = [hnm] 라고 하자. 또한, m 번째 체크노드에 연결된 변수노드들의 집합을 N(m) = {n|hnm = 1} 라고 하고, n 번째 변수노드에 연결된 체크노드들의 집합을 M(n) = {m|hnm = 1} 라고 정의하자.
또한, 평균이 0이고 분산이
Figure 112008033362515-PAT00001
인 'AWGN' 채널에서 BPSK(Binary Phase Shift Keying)를 이용하여 전송된 부호어를
Figure 112008033362515-PAT00002
라 가정하고, 그리고 수신된 신호를
Figure 112008033362515-PAT00003
라고 가정한다.
따라서 n 번째 변수노드의 수신 신호에 대한 LLR 값 L(yn)은 'BIAWGN' 채널의 경우 하기의 [수학식 1]과 같다.
Figure 112008033362515-PAT00004
한편, qnm(x)은 체크노드 m을 제외한 M(n)의 모든 체크가 만족되었다는 조건 하에서 변수 n이 x, x∈{0,1}일 확률을 의미하며, 마찬가지로 rmn(x)은 변수 n이 x라는 가정하에 체크노드 m이 만족될 확률을 의미한다. 그리고 임시 복호를 위한 n 번째 변수노드의 사후 LLR 값을
Figure 112008033362515-PAT00005
라 하자.
이를 바탕으로 반복횟수 i일 때 변수노드 n에서 체크노드 m으로 보내는 LLR 메시지
Figure 112008033362515-PAT00006
와, 체크노드 m에서 변수노드 n으로 보내는 LLR 메시지
Figure 112008033362515-PAT00007
를 정의하면 하기의 [수학식 2]와 같다.
Figure 112008033362515-PAT00008
한편, BP 반복 복호 기법의 일종인 합-곱 알고리즘은 하기와 같다.
먼저, 채널로부터 수신한 신호
Figure 112008033362515-PAT00009
를 이용하여 각각의 n,m에 대한
Figure 112008033362515-PAT00010
를 계산한다.
이후, 반복 복호 과정으로 각각의 m과 n∈N(m)에 대하여 하기의 [수학식 3]을 통해 체크노드 업데이트 연산을 수행한다.
Figure 112008033362515-PAT00011
그리고 연속적으로 각각의 n과 m∈M(n)에 대하여 하기의 [수학식 4] 및 [수학식 5]를 통해 변수노드 업데이트 연산을 수행한다.
Figure 112008033362515-PAT00012
Figure 112008033362515-PAT00013
이후, 임시 복호 단계로서
Figure 112008033362515-PAT00014
> 0이면 임시 부호어의 n 번째 심볼 wn는 0이고, 그와 반대의 경우에는 1로 한다. 이때,
Figure 112008033362515-PAT00015
을 만족하면 복호를 중단하고 그렇지 않으면 최대 반복횟수에 도달할 때까지 위 과정을 반복적으로 수행한다.
한편, Min-sum 근사화 방법은 비교적 큰 합-곱 알고리즘의 연산량을 줄이기 위해 체크노드 업데이트 과정을 단순화한다. 즉, 합-곱 알고리즘의 연산 중 가장 연산량을 차지하는 체크노드 업데이트 과정의 'hyperbolic tangent' 함수 계산을 인접한 변수노드에서 전달되는 메시지의 최소값으로 대체하여 근사화시킨다.
이는, 하기의 [수학식 6]과 같이 표현할 수 있다.
Figure 112008033362515-PAT00016
일반적으로, 「min-sum」근사화 방법으로 복호화한 경우의 오류확률이 합-곱 알고리즘 복호화한 경우의 오류확률보다 크다는 사실이 알려져 있다.
즉, 상기 [수학식 3]과 [수학식 6]을 비교해 보면, 「min-sum」근사화 방법으로 복호화한 경우의
Figure 112008033362515-PAT00017
값이 합-곱 알고리즘으로 복호화한 경우의
Figure 112008033362515-PAT00018
값보다 항상 크거나 같다는 것을 알 수 있다.
따라서 상기 [수학식 6]을 이용하여 [수학식 3]의 값과 비슷한 체크노드 업데이트 값을 얻기 위해 두 가지 방법이 사용되고 있다.
첫 번째 방법으로, 정규화 상수
Figure 112008033362515-PAT00019
를 이용하여 하기의 [수학식 7]과 같이 체크노드를 업데이트하는 방법이 있다.
Figure 112008033362515-PAT00020
이를 정규화(normalized) BP 근사화 방법이라 하고, 1보다 작은 정규화 상수 를 상기 [수학식 7]과 같이 적용하여 성능을 개선한다.
두 번째 방법으로, 오프셋 상수
Figure 112008033362515-PAT00021
를 이용하여 체크노드 업데이트 메시지를 개선하는 오프셋(offset) BP 근사화 방법이 있다. 이는 하기의 [수학식 8]과 같이 양의 값 오프셋 상수
Figure 112008033362515-PAT00022
를 사용하여 체크노드 업데이트를 수행한다.
Figure 112008033362515-PAT00023
상기 [수학식 7] 및 [수학식 8]을 살펴보면, 개선된 두 근사화 방법은 전체 식값이 양수인지 음수인지 부호를 판별하는 부분과 집합
Figure 112008033362515-PAT00024
에서 가장 크기가 작은 원소를 대표값으로 찾는 부분 그리고 대표값을 제외한
Figure 112008033362515-PAT00025
Figure 112008033362515-PAT00026
에 미치는 영향을 보정하는 세 가지 요소로 근사화를 수행한다.
이때, 세 가지 요소 중에서 마지막의 대표값을 제외한
Figure 112008033362515-PAT00027
Figure 112008033362515-PAT00028
에 미치는 영향을 보정하는 부분에서, 쓰이는 보정 값
Figure 112008033362515-PAT00029
,
Figure 112008033362515-PAT00030
가 항상 고정된 값이다. 즉, 매 반복 횟수마다 변하는
Figure 112008033362515-PAT00031
의 영향을 전혀 고려하지 않고 있다.
이하, 도 1 및 도 2를 참조하여, 합-곱 알고리즘에서 매 반복 횟수마다
Figure 112008033362515-PAT00032
의 분포 상태에 대해 살펴보기로 한다.
도 1 은 합-곱 알고리즘에서 변수노드로부터 출력되는 메시지의 크기 분포를 나타내는 일예시도로서, DVB-S2 표준의 부호율이 1/2이고 길이가 64800인 LDPC 부호에 대하여 신호대잡음비(Eb/N0(dB))가 1.0일 때, 특정 수신 신호에 대한
Figure 112008033362515-PAT00033
의 분포를 나타낸다. 여기서, 부호율은 1/2이다.
도 2 는 합-곱 알고리즘에서 변수노드로부터 출력되는 메시지의 크기 분포를 나타내는 다른 예시도로서, DVB-S2 표준의 부호율이 8/9이고 길이가 64800인 LDPC 부호에 대하여 신호대잡음비가 3.6일 때, 특정 수신 신호에 대한
Figure 112008033362515-PAT00034
의 분포를 나타낸다. 여기서, 부호율은 8/9이다.
물론, 수신 신호에 따라 상기 분포는 달라질 수 있지만, 대부분 상기와 같은 분포 형태를 갖는 것을 모의 실험을 통하여 살펴볼 수 있었다.
도 1 및 도 2에 도시된 바와 같이, 비교적 낮은 부호율일 때 변수노드에서 출력되는 메시지의 크기 분포는 복호 반복횟수가 증가함에 따라 빠르게 오른쪽으로 이동함을 확인할 수 있지만, 높은 부호율에서는 반복횟수가 증가함에 따른 분포의 이동이 그리 크지 않음을 확인할 수 있다.
이러한 현상은 높은 부호율에서는 고정된 상수 값으로도 BP 알고리즘에 근사한 성능을 얻을 수 있지만, 비교적 낮은 부호율에서는 합-곱 알고리즘에 비해 성능 열화가 발생할 수 있다는 것을 의미한다.
즉, 높은 부호율에서는 근사화의 세 번째 요소인 대표값을 제외한
Figure 112008033362515-PAT00035
Figure 112008033362515-PAT00036
에 미치는 영향을 보정하는 값으로 고정된 상수 값을 사용하더라도 BP 알고리즘과 큰 차이가 없지만, 낮은 부호율에서는 고정된 상수 값만을 사용하였을 때 BP 알고리즘보다 성능이 감소함을 의미한다.
결국, 종래의 정규화 BP 알고리즘과 오프셋 BP 알고리즘은 고정된 상수 값을 이용하여 LDPC 부호를 복호화하기 때문에, 특히 낮은 부효율에서 복호화 성능의 열화를 발생시키는 문제점이 있다.
이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 체크노드 업데이트 과정에서 매 반복 복호마다 가변 보정값을 이용하여 복호화함으로써, 낮은 부효율에서도 최적의 복호화 성능을 발휘하기 위한 가변 보정값을 이용한 복호화 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 복호화 장치에 있어서, 초기 정규화 상수 및 정규화 상수 보정값을 설정받기 위한 초기값 설정 수단; 및 상기 초기값 설정 수단에서 설정받은 상기 초기 정규화 상수를 이용하여 체크노드를 초기 업데이트하며, 상기 체크노드의 재 업데이트 시 상기 초기 정규화 상수에 상기 정규화 상수 보정값을 합산한 결과인 가변 보정값을 이용하여 업데이트하기 위한 체크노드 업데이트 수단을 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명의 방법은, 복호화 방법에 있어서, 초기 정규화 상수 및 정규화 상수 보정값을 설정받는 단계; 상기 초기 정규화 상수를 이용하여 체크노드를 초기 업데이트하는 단계; 및 상기 체크노드의 재 업데이트 시, 상기 초기 정규화 상수에 상기 정규화 상수 보정값을 합산한 결과인 가변 보정값을 이용하여 업데이트하는 단계를 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 다른 장치는, 복호화 장치에 있어서, 초기 오프셋 상수 및 오프셋 상수 보정값을 설정받기 위한 초기값 설정 수단; 및 상기 초기값 설정 수단에서 설정받은 상기 초기 오프셋 상수를 이용하여 체크노드를 초기 업데이트하며, 상기 체크노드의 재 업데이트 시 상기 초기 오프셋 상수에 상기 오프셋 상수 보정값을 승산한 결과인 가변 보정값을 이용하여 업데이트하기 위한 체크노드 업데이트 수단을 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명의 다른 방법은, 복호화 방법에 있 어서, 초기 오프셋 상수 및 오프셋 상수 보정값을 설정받는 단계; 상기 초기 오프셋 상수를 이용하여 체크노드를 초기 업데이트하는 단계; 및 상기 체크노드의 재 업데이트 시, 상기 초기 오프셋 상수에 상기 오프셋 상수 보정값을 승산한 결과인 가변 보정값을 이용하여 업데이트하는 단계를 포함한다.
상기와 같은 본 발명은, 체크노드 업데이트 과정에서 매 반복 복호마다 가변 보정값을 이용하여 복호화함으로써, 낮은 부효율에서도 최적의 복호화 성능을 발휘할 수 있는 효과가 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
도 3 은 본 발명에 따른 가변 보정값을 이용한 복호화 방법에 대한 일실시예 흐름도이다.
먼저, 초기 정규화 상수 및 정규화 상수 보정값을 설정받는다(301).
이후, 상기 초기 정규화 상수를 이용하여 체크노드를 초기 업데이트한다(302).
이후, 상기 체크노드의 재 업데이트 시, 상기 초기 정규화 상수에 상기 정규화 상수 보정값을 합산한 결과인 가변 보정값을 이용하여 업데이트한다(303).
이후, 상기 체크노드의 추가 업데이트마다 이전 업데이트 시 적용된 가변 보정값에 상기 정규화 상수 보정값을 합산하여 업데이트한다(304).
이때, 체크노드 업데이트 과정에서 체크노드에 들어오는 메시지들의 값이 크면 그 출력 역시 크기 때문에, 정규화 상수
Figure 112008033362515-PAT00037
를 반복횟수가 증가할수록 적절한 비율로 증가시킨다.
도 4 는 본 발명에 따른 가변 보정값을 이용한 복호화 방법에 대한 다른 실시예 흐름도이다.
먼저, 초기 오프셋 상수 및 오프셋 상수 보정값을 설정받는다(401).
이후, 상기 초기 오프셋 상수를 이용하여 체크노드를 초기 업데이트한다(402).
이후, 상기 체크노드의 재 업데이트 시, 상기 초기 오프셋 상수에 상기 오프셋 상수 보정값을 승산한 결과인 가변 보정값을 이용하여 업데이트한다(403).
이후, 상기 체크노드의 추가 업데이트마다 이전 업데이트 시 적용된 가변 보정값에 상기 오프셋 상수 보정값을 승산하여 업데이트한다(404).
이때, 체크노드 업데이트 과정에서 체크노드에 들어오는 메시지들의 값이 크면 그 출력 역시 크기 때문에, 오프셋 상수
Figure 112008033362515-PAT00038
를 반복횟수가 증가할수록 적절한 비율로서 감소시킨다.
이하, 가변 보정값을 이용한 복호화 과정에 대해 좀더 상세히 살펴보기로 한다.
먼저, 초기 설정 과정으로, 반복횟수 i=1, 최대 반복 복호 횟수 = Imax, 모든 n,m 에 대하여
Figure 112008033362515-PAT00039
로 초기화, 초기 정규화 상수(
Figure 112008033362515-PAT00040
) 및 초기 오프셋 상수(
Figure 112008033362515-PAT00041
) 설정, 정규화 상수 보정값(
Figure 112008033362515-PAT00042
) 및 오프셋 상수 보정값(
Figure 112008033362515-PAT00043
) 설정 과정을 수행한다.
이후, 메시지 교환 및 체크노드 업데이트 및 변수노드 업데이트 과정을 수행한다.
먼저, 정규화 BP 알고리즘의 성능 개선을 위해 하기의 [수학식 9]를 통해 체크노드 업데이트 과정을 수행한다.
Figure 112008033362515-PAT00044
여기서, 1≤n≤N. m∈M(n)
이때, 오프셋 BP 알고리즘의 성능 개선을 위해서는 하기의 [수학식 10]을 통해 체크노드 업데이트 과정을 수행한다.
Figure 112008033362515-PAT00045
여기서, 1≤n≤N. m∈M(n)
이후, 하기의 [수학식 11]을 통해 변수노드 업데이트 과정을 수행한다.
Figure 112008033362515-PAT00046
이후, 임시복호 부호어
Figure 112008033362515-PAT00047
를 생성한다.
Figure 112008033362515-PAT00048
즉,
Figure 112008033362515-PAT00049
이거나, i = Imax이면 복호 과정을 멈추고 복호된 부호어로
Figure 112008033362515-PAT00050
를 결정하여 내보낸다. 그렇지 않으면 i = i + 1로 증가시키고 하기의 과정을 수행한 후 상기 체크노드 업데이트 과정으로 돌아간다.
- Normalized BP-based decoding :
Figure 112008033362515-PAT00051
- Offset BP-based decoding :
Figure 112008033362515-PAT00052
본 발명은 두 가지 요소
Figure 112008033362515-PAT00053
,
Figure 112008033362515-PAT00054
(
Figure 112008033362515-PAT00055
,
Figure 112008033362515-PAT00056
)에 의하여 성능이 달라진다. 이는 부호의 특정 요소에 따라서 정해지기보다는 부호의 패리티 검사행렬이 달라지면 변수노드로부터의 메시지의 분포 변화가 달라지기 때문이며, 최적의 성능을 내는
Figure 112008033362515-PAT00057
,
Figure 112008033362515-PAT00058
(
Figure 112008033362515-PAT00059
,
Figure 112008033362515-PAT00060
)는 부호마다 찾는 과정이 필요하다.
이러한 점을 고려하여 DVB-S2 표준안에 속한 LDPC 부호를 대상으로 우수한 성능을 보이는 정규화, 오프셋 상수 및 상수 보정 값을 찾아보고자 한다.
도 5 는 본 발명에 따른 가변 보정값에 대한 일예시도로서, DVB-S2의 LDPC 부호 중에서 길이가 64,800이고, 부호율이 1/2인 부호에 대하여 Eb/N0가 0.95dB와 1dB에서
Figure 112008033362515-PAT00061
=0.75일 때
Figure 112008033362515-PAT00062
의 변화에 따른 성능을 나타낸다.
여기서, 시행된 최대 반복 횟수를 50번으로 제한하였고, 우수한 성능을 갖는 정규화(오프셋) 상수 및 보정 값을 찾기 위해 다양한 값에 대하여 모의 실험을 하였으며, 곡선 맞춤(curve fitting) 기법을 이용하여 우수한 값들을 선택하였다.
이때, 곡선 맞춤 기법을 이용하여 Eb/N0가 0.95dB와 1dB의 모의 실험값을 곡 선으로 연결하여 극점을
Figure 112008033362515-PAT00063
값으로 선택하였다.
하기의 [표 1] 및 [표 2]는 부호율이 1/3인 부호와 1/2인 부호에 대해서 우수한 성능을 보이는
Figure 112008033362515-PAT00064
,
Figure 112008033362515-PAT00065
,
Figure 112008033362515-PAT00066
그리고
Figure 112008033362515-PAT00067
을 나타낸다.
Figure 112008033362515-PAT00068
Figure 112008033362515-PAT00069
도 6 은 본 발명에 따른 가변 보정값을 이용한 복호화 방법의 성능을 나타내는 일예시도로서, 부호율이 1/3인 부호에 대하여 상기 [표 1]의 값을 이용하여 모의 실험한 결과를 기존의 복호 알고리즘과 비교하여 도시하였다.
여기서,
Figure 112008033362515-PAT00070
= 0.82,
Figure 112008033362515-PAT00071
= 0.004, rate=1/3, N=64800이다.
도 7 은 본 발명에 따른 가변 보정값을 이용한 복호화 방법의 성능을 나타내는 다른 예시도로서, 부호율이 1/3인 부호에 대하여 상기 [표 2]의 값을 이용하여 모의 실험한 결과를 기존의 복호 알고리즘과 비교하여 도시하였다.
여기서,
Figure 112008033362515-PAT00072
= 0.44,
Figure 112008033362515-PAT00073
= 0.96, rate=1/3, N=64800이다.
도 6 및 도 7을 통해 알 수 있듯이, 가변 보정값을 이용한 정규화 BP 알고리즘의 경우에 「min-sum」알고리즘뿐만 아니라 기존의 정규화 BP 알고리즘보다도 복호 성능이 향상됨을 알 수 있다.
일반적인 BP 알고리즘(합-곱 알고리즘)의 부호 성능 FER이 0.01인 경우와 비교하면 부호율이 1/3인 경우에는 0.12dB 안으로 그 성능이 근접함을 확인할 수 있다.
또한, 가변 보정값을 이용한 오프셋 BP 알고리즘 역시 기존의 오프셋 BP 알고리즘보다 복호 성능이 향상되는 것을 알 수 있으며, 일반적인 BP 알고리즘의 부호 성능 FER이 0.01인 경우와 비교하면 부호율이 1/3인 경우에는 0.08dB 안으로 성능이 근접함을 보인다.
도 8 은 본 발명에 따른 가변 보정값을 이용한 복호화 장치의 일실시예 구성도이다.
도 8에 도시된 바와 같이, 본 발명에 따른 가변 보정값을 이용한 복호화 장치는, 초기 정규화 상수 및 정규화 상수 보정값을 설정받기 위한 초기값 설정부(81), 및 상기 초기값 설정부(81)에서 설정받은 상기 초기 정규화 상수를 이용하여 체크노드를 초기 업데이트하며, 상기 체크노드의 재 업데이트 시 상기 초기 정규화 상수에 상기 정규화 상수 보정값을 합산한 결과인 가변 보정값을 이용하여 업데이트하기 위한 체크노드 업데이트부(82)를 포함한다.
여기서, 상기 체크노드 업데이트부(82)는 상기 체크노드의 추가 업데이트마다 이전 업데이트 시 적용된 가변 보정값에 상기 정규화 상수 보정값을 합산하여 업데이트한다.
또한, 상기 체크노드 업데이트부(82)는 체크노드 업데이트 과정에서 체크노드에 들어오는 메시지들의 값이 크면 그 출력 역시 크기 때문에, 정규화 상수
Figure 112008033362515-PAT00074
를 반복횟수가 증가할수록 적절한 비율로 증가시킨다.
다른 실시예로, 본 발명에 따른 가변 보정값을 이용한 복호화 장치는, 초기 오프셋 상수 및 오프셋 상수 보정값을 설정받기 위한 초기값 설정부, 및 상기 초기값 설정부에서 설정받은 상기 초기 오프셋 상수를 이용하여 체크노드를 초기 업데이트하며, 상기 체크노드의 재 업데이트 시 상기 초기 오프셋 상수에 상기 오프셋 상수 보정값을 승산한 결과인 가변 보정값을 이용하여 업데이트하기 위한 체크노드 업데이트부를 포함한다.
여기서, 체크노드 업데이트부는 상기 체크노드의 추가 업데이트마다 이전 업데이트 시 적용된 가변 보정값에 상기 오프셋 상수 보정값을 승산하여 업데이트한다.
또한, 체크노드 업데이트부는 체크노드 업데이트 과정에서 체크노드에 들어오는 메시지들의 값이 크면 그 출력 역시 크기 때문에, 오프셋 상수
Figure 112008033362515-PAT00075
를 반복횟수가 증가할수록 적절한 비율로서 감소시킨다.
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1 은 합-곱 알고리즘에서 변수노드로부터 출력되는 메시지의 크기 분포를 나타내는 일예시도,
도 2 는 합-곱 알고리즘에서 변수노드로부터 출력되는 메시지의 크기 분포를 나타내는 다른 예시도,
도 3 은 본 발명에 따른 가변 보정값을 이용한 복호화 방법에 대한 일실시예 흐름도,
도 4 는 본 발명에 따른 가변 보정값을 이용한 복호화 방법에 대한 다른 실시예 흐름도,
도 5 는 본 발명에 따른 가변 보정값에 대한 일예시도,
도 6 은 본 발명에 따른 가변 보정값을 이용한 복호화 방법의 성능을 나타내는 일예시도,
도 7 은 본 발명에 따른 가변 보정값을 이용한 복호화 방법의 성능을 나타내는 다른 예시도,
도 8 은 본 발명에 따른 가변 보정값을 이용한 복호화 장치의 일실시예 구성도이다.
* 도면의 주요 부분에 대한 부호의 설명
81 : 초기값 설정부 82 : 체크노드 업데이트부

Claims (12)

  1. 복호화 방법에 있어서,
    초기 정규화 상수 및 정규화 상수 보정값을 설정받는 단계;
    상기 초기 정규화 상수를 이용하여 체크노드를 초기 업데이트하는 단계; 및
    상기 체크노드의 재 업데이트 시, 상기 초기 정규화 상수에 상기 정규화 상수 보정값을 합산한 결과인 가변 보정값을 이용하여 업데이트하는 단계
    를 포함하는 가변 보정값을 이용한 복호화 방법.
  2. 제 1 항에 있어서,
    상기 체크노드의 추가 업데이트마다 이전 업데이트 시 적용된 가변 보정값에 상기 정규화 상수 보정값을 합산하여 업데이트하는 단계
    를 더 포함하는 가변 보정값을 이용한 복호화 방법.
  3. 제 1 항에 있어서,
    상기 가변 보정값은,
    상기 체크노드 업데이트 횟수가 증가할수록 증가되는 것을 특징으로 하는 가변 보정값을 이용한 복호화 방법.
  4. 제 1 항에 있어서,
    상기 정규화 상수 보정값은,
    상기 초기 정규화 상수에 상응하는 값으로 곡선 맞춤(curve fitting) 기법을 통해 선택되는 것을 특징으로 하는 가변 보정값을 이용한 복호화 방법.
  5. 복호화 방법에 있어서,
    초기 오프셋 상수 및 오프셋 상수 보정값을 설정받는 단계;
    상기 초기 오프셋 상수를 이용하여 체크노드를 초기 업데이트하는 단계; 및
    상기 체크노드의 재 업데이트 시, 상기 초기 오프셋 상수에 상기 오프셋 상수 보정값을 승산한 결과인 가변 보정값을 이용하여 업데이트하는 단계
    를 포함하는 가변 보정값을 이용한 복호화 방법.
  6. 제 5 항에 있어서,
    상기 체크노드의 추가 업데이트마다 이전 업데이트 시 적용된 가변 보정값에 상기 오프셋 상수 보정값을 승산하여 업데이트하는 단계
    를 더 포함하는 가변 보정값을 이용한 복호화 방법.
  7. 제 5 항에 있어서,
    상기 가변 보정값은,
    상기 체크노드 업데이트 횟수가 증가할수록 감소되는 것을 특징으로 하는 가변 보정값을 이용한 복호화 방법.
  8. 제 5 항에 있어서,
    상기 오프셋 상수 보정값은,
    상기 초기 오프셋 상수에 상응하는 값으로 곡선 맞춤(curve fitting) 기법을 통해 선택되는 것을 특징으로 하는 가변 보정값을 이용한 복호화 방법.
  9. 복호화 장치에 있어서,
    초기 정규화 상수 및 정규화 상수 보정값을 설정받기 위한 초기값 설정 수단; 및
    상기 초기값 설정 수단에서 설정받은 상기 초기 정규화 상수를 이용하여 체크노드를 초기 업데이트하며, 상기 체크노드의 재 업데이트 시 상기 초기 정규화 상수에 상기 정규화 상수 보정값을 합산한 결과인 가변 보정값을 이용하여 업데이 트하기 위한 체크노드 업데이트 수단
    을 포함하는 가변 보정값을 이용한 복호화 장치.
  10. 제 9 항에 있어서,
    상기 체크노드 업데이트 수단은,
    상기 체크노드의 추가 업데이트마다 이전 업데이트 시 적용된 가변 보정값에 상기 정규화 상수 보정값을 합산하여 업데이트하는 과정을 더 수행하는 것을 특징으로 하는 가변 보정값을 이용한 복호화 장치.
  11. 복호화 장치에 있어서,
    초기 오프셋 상수 및 오프셋 상수 보정값을 설정받기 위한 초기값 설정 수단; 및
    상기 초기값 설정 수단에서 설정받은 상기 초기 오프셋 상수를 이용하여 체크노드를 초기 업데이트하며, 상기 체크노드의 재 업데이트 시 상기 초기 오프셋 상수에 상기 오프셋 상수 보정값을 승산한 결과인 가변 보정값을 이용하여 업데이트하기 위한 체크노드 업데이트 수단
    을 포함하는 가변 보정값을 이용한 복호화 장치.
  12. 제 11 항에 있어서,
    상기 체크노드 업데이트 수단은,
    상기 체크노드의 추가 업데이트마다 이전 업데이트 시 적용된 가변 보정값에 상기 오프셋 상수 보정값을 승산하여 업데이트하는 과정을 더 수행하는 것을 특징으로 하는 가변 보정값을 이용한 복호화 장치.
KR1020080043579A 2007-12-15 2008-05-09 가변 보정값을 이용한 복호화 장치 및 그 방법 KR20090064268A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/808,319 US8381063B2 (en) 2007-12-15 2008-12-15 Decoding apparatus and method based on variable error correction value
PCT/KR2008/007419 WO2009078644A1 (en) 2007-12-15 2008-12-15 Decoding apparatus and method based on variable error correction value

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20070131837 2007-12-15
KR1020070131837 2007-12-15

Publications (1)

Publication Number Publication Date
KR20090064268A true KR20090064268A (ko) 2009-06-18

Family

ID=40993072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080043579A KR20090064268A (ko) 2007-12-15 2008-05-09 가변 보정값을 이용한 복호화 장치 및 그 방법

Country Status (2)

Country Link
US (1) US8381063B2 (ko)
KR (1) KR20090064268A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102388539B (zh) * 2010-02-10 2015-04-01 松下电器产业株式会社 发送装置、接收装置、发送方法及接收方法
JP2012080283A (ja) * 2010-09-30 2012-04-19 Jvc Kenwood Corp 復号装置および復号方法
EP2892157A1 (en) * 2014-01-02 2015-07-08 Alcatel Lucent Offset Min-Sum decoding of LDPC codes
US10727868B2 (en) 2018-12-03 2020-07-28 Samsung Electronics Co., Ltd. Apparatus and method for offset optimization for low-density parity-check (LDPC) code

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE313195T1 (de) * 2002-04-16 2005-12-15 Bosch Gmbh Robert Verfahren zum synchronisieren von uhren in einem verteilten kommunikationssystem
KR20040101743A (ko) 2003-05-26 2004-12-03 삼성전자주식회사 통신 시스템에서 저밀도 패리티 검사 코드의 복호 장치 및방법
US7340671B2 (en) * 2003-10-10 2008-03-04 Regents Of The University Of California Decoding low density parity codes
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program

Also Published As

Publication number Publication date
US8381063B2 (en) 2013-02-19
US20100262888A1 (en) 2010-10-14

Similar Documents

Publication Publication Date Title
KR100804793B1 (ko) 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
US9385753B2 (en) Systems and methods for bit flipping decoding with reliability inputs
US9806743B2 (en) System and method of belief propagation decoding
KR101286858B1 (ko) 저밀도 패리티 검사 부호를 위한 고속 복호 방법
CN107612560B (zh) 基于部分信息比特似然比的极化码早期迭代停止方法
KR20080053346A (ko) 저밀도 패리티 검사 디코더용 방법 및 장치
EP2099135A1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
CN110784232B (zh) 一种空间耦合ldpc码滑窗译码方法
US8572454B1 (en) System and method for decoding correlated data
US10892783B2 (en) Apparatus and method for decoding polar codes
Lewandowsky et al. Optimum message mapping LDPC decoders derived from the sum-product algorithm
JP2008199623A (ja) メッセージパッシングおよび強制収斂復号法
CN101577607B (zh) 可提前结束迭代的归一化最小和译码方法
US9614548B1 (en) Systems and methods for hybrid message passing and bit flipping decoding of LDPC codes
KR20090064268A (ko) 가변 보정값을 이용한 복호화 장치 및 그 방법
CN101350695B (zh) 低密度奇偶校验码译码方法及***
CN112889221B (zh) 用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定
WO2020115070A9 (en) Iterative decoder for decoding a code composed of at least two constraint nodes
WO2008134950A1 (fr) Procédé et dispositif permettant de décoder un code zigzag
Sarkis et al. Reduced-latency stochastic decoding of LDPC codes over GF (q)
Guan et al. Adaptive extended min-sum algorithm for nonbinary LDPC decoding
Xing et al. A reduced-complexity successive-cancellation decoding algorithm for polar codes
US11894862B2 (en) Method and device for polar code encoding and decoding
JP4727380B2 (ja) 復号装置および方法、ならびに復調復号装置および方法
US20240137151A1 (en) Hybrid product polar codes-based communication systems and methods

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application