KR101261091B1 - 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법 - Google Patents

반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법 Download PDF

Info

Publication number
KR101261091B1
KR101261091B1 KR1020090061902A KR20090061902A KR101261091B1 KR 101261091 B1 KR101261091 B1 KR 101261091B1 KR 1020090061902 A KR1020090061902 A KR 1020090061902A KR 20090061902 A KR20090061902 A KR 20090061902A KR 101261091 B1 KR101261091 B1 KR 101261091B1
Authority
KR
South Korea
Prior art keywords
decoding
minimum
received signal
snr
iterative
Prior art date
Application number
KR1020090061902A
Other languages
English (en)
Other versions
KR20110004211A (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 한양대학교 산학협력단
Priority to KR1020090061902A priority Critical patent/KR101261091B1/ko
Priority to CN200980160304.1A priority patent/CN102484483B/zh
Priority to PCT/KR2009/005842 priority patent/WO2011004939A1/en
Priority to US13/382,476 priority patent/US8719672B2/en
Publication of KR20110004211A publication Critical patent/KR20110004211A/ko
Application granted granted Critical
Publication of KR101261091B1 publication Critical patent/KR101261091B1/ko
Priority to US14/192,753 priority patent/US9178533B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • H03M13/2951Iterative decoding using iteration stopping criteria
    • 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/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code

Landscapes

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

Abstract

반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법이 개시된다. 반복 복호화 장치는 수신신호의 신호 대 잡음비(SNR: Signal to Noise Ratio)를 추정하는 SNR 추정부, 상기 추정된 SNR에 기초하여 상기 수신신호에 대한 최소 반복 복호수를 설정하는 반복 복호수 설정부, 및 시험 복호화(tentative decoding) 및 오류 검사(error check)를 이용하여 상기 수신신호를 반복적으로 복호화하는 복호화부를 포함하고, 상기 복호화부는 상기 최소 반복 복호수에 기초하여 상기 오류 검사를 선택적으로 수행한다. 본 발명에 따르면, 수신신호의 복호화 수행 시 요구되는 연산량 및 소비되는 전력량을 줄일 수 있게 된다.
반복 복호화, 오류 검사, LDPC 부호화, 패리티 검사

Description

반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법{Method for setting number of iterative decoding, Apparatus and Method for iterative decoding}
본 발명의 일실시예들은 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 반복 복호화 수행 시 요구되는 연산량 및 소비되는 전력량을 줄일 수 있는 반복 복호수 설정 방법 및 이를 이용한 반복 복호화 장치 및 그 방법에 관한 것이다.
4세대 무선 이동 통신 시스템에서는 사용자에게 다양한 멀티미디어 서비스를 제공하기 위해 고속의 데이터 전송률(data transfer rate)과 낮은 오류율(error rate)을 요구하고 있다. 보다 구체적으로, 4세대 무선 이동 통신에서는 고속 이동 시 최대 100Mbps, 저속 이동 또는 정지 시 최대 155Mbps~1Gbps의 데이터 전송 속도를 요구하고 있다. 따라서 열악한 전송 환경에서 고품질, 고신뢰성 통신을 수행하기 위해서는 채널 부호화/복호화 기술이 필수적으로 수반되어야 한다.
채널 부호화 기술은 채널의 성격에 따라 여러 가지 형태로 변형되어 사용될 수 있는데, 기본적으로 오류 정정 코드(error correcting code)를 이용하여 신호를 부호화/복호화하는 기술이 공통적으로 사용된다.
오류 정정 코드는 신뢰할 수 없는 채널 상에서 신뢰할 수 있는 통신을 달성하기 위해 사용되는 것으로서, 대표적인 예로 저 밀도 패리티 검사(LDPC: Low Density Parity Check) 코드를 이용한 부호화/복호화 기법(이하, 'LDPC 코딩'이라고 한다)이 있다.
LDPC 코딩은 간단한 확률적(probabilistic) 복호법을 이용한 코딩 기법으로서, 반복 복호를 통하여 수신 신호를 복호화한다. LDPC 코딩은 대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 0의 값을 가지는 엘리먼트들 이외의 극소수의 엘리먼트들이 0이 아닌 값(non-zero value, 예를 들어 1의 값)을 가지는 패리티 검사 행렬(Parity Check Matrix)에 의해 정의된다.
LDPC 코딩 기법에서, 각각의 반복 복호화 단계에서는 시험 복호화(tentative decoding)를 통해 시험 코드(tentative code)를 생성하고, 패리티 검사(parity check)를 통해 생성된 시험 코드가 유효한 부호어(valid codeword)인지를 확인한다. 만약, 생성된 시험코드가 유효한 부호어가 아닌 경우 복호화가 반복되어 수행되고, 생성된 시험 코드가 유효한 부호어인 경우, 복호화가 중단된다. 이 때, 복호화 횟수가 증가할수록 생성된 시험 코드가 유효한 부호어일 확률은 증가한다.
따라서, 반복되어 수행되는 복호화의 횟수가 큰 수신신호의 경우, 초기 복호화 단계에서 생성된 시험 코드가 유효한 부호어일 확률이 낮고, 따라서, 초기 복호화 단계에서의 오류 검사는 불필요한 과정이 될 수 있다. 이에 따라, 복호화 시 연산량이 증가하여 복호화가 지연되고, 소비 전력이 증가하는 문제점이 발생한다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 수신신호의 복호화 수행 시 요구되는 연산량 및 소비되는 전력량을 줄일 수 있는 반복 복호화 장치 및 그 방법을 제안하고자 한다.
상기한 목적을 달성하기 위해 본 발명의 일실시예에 따르면, 수신신호의 신호 대 잡음비(SNR: Signal to Noise Ratio)를 추정하는 SNR 추정부; 상기 추정된 SNR에 기초하여 상기 수신신호에 대한 최소 반복 복호수를 설정하는 반복 복호수 설정부; 및 시험 복호화(tentative decoding) 및 오류 검사(error check)를 이용하여 상기 수신신호를 반복적으로 복호화하는 복호화부를 포함하고, 상기 복호화부는 상기 최소 반복 복호수에 기초하여 상기 오류 검사를 선택적으로 수행하는 반복 복호화 장치가 제공된다.
이 경우, 상기 복호화부는 상기 시험 복호화의 반복 횟수가 상기 최소 반복 복호수 이하인 경우, 상기 오류 검사를 수행하지 않을 수 있다.
또한, 상기 복호화부는 상기 시험 복호화의 반복 횟수가 상기 최소 반복 복호수를 초과하는 경우, 상기 시험 복호화 및 상기 오류 검사를 모두 수행할 수 있다.
또한, 본 발명의 일실시예에 따르면, 시험 복호화 및 오류 검사를 이용하여 수신신호를 반복적으로 복호화하는 반복 복호화 장치의 반복 복호수를 설정하는 방 법에 있어서, 상기 수신신호의 신호 대 잡음비(SNR: Signal to Noise Ratio)를 추정하는 단계; 및 상기 추정된 SNR에 기초하여 상기 최소 반복 복호수를 설정하는 단계를 포함하고, 상기 최소 반복 복호수는 상기 반복 복호화 장치가 상기 오류 검사를 수행할지를 결정하기 위해 사용되는 반복 복호수인 반복 복호수 설정 방법이 제공된다.
또한, 본 발명의 일실시예에 따르면, 수신신호의 신호 대 잡음비(SNR: Signal to Noise Ratio)를 추정하는 단계; 상기 추정된 SNR에 기초하여 상기 수신신호에 대한 최소 반복 복호수를 설정하는 단계; 및 시험 복호화 및 오류 검사를 이용하여 상기 수신신호를 반복적으로 복호화하는 단계를 포함하고, 상기 복호화하는 단계는 상기 최소 반복 복호수에 기초하여 상기 오류 검사를 선택적으로 수행하는 반복 복호화 방법이 제공된다.
본 발명에 따르면, 수신신호의 반복 복호화 시 요구되는 연산량 및 소비되는 전력량을 줄일 수 있게 된다.
이하에서는 본 발명에 따른 반복 복호화 장치 및 그 방법을 설명하기에 앞서, 반복 코딩(coding) 기법의 일례인 LDPC 코딩 기법에 대해 먼저 간단히 설명한 후, 첨부한 도면을 참고하여 본 발명의 바람직한 실시예들을 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
도 1은 LDPC 코딩의 개념을 설명하기 위한 도면이다.
도 1에서는 패리티 체크 행렬의 일 예 및 패리티 체크 행렬에 대응하는 팩터 그래프(factor graph)를 도시하고 있다.
블록 코드의 하나인 LDPC 코드는 패리티 체크 행렬에 의해 정의된다. LDPC 코드는 복호화의 복잡도를 줄이기 위하여 적은 개수의 '1'을 포함하는 패리티 체크 행렬을 사용한다. LDPC 코드에서, 복호화는 연판정(soft decision) 복호화 알고리즘인 합-곱(sum-product) 알고리즘 또는 최소 합(min-sum) 알고리즘 등을 이용하여 수행될 수 있다.
여기서, (소스) 데이터들이 k 비트(bits)이고, LDPC 코드에 따라 부호화된 데이터들이 n 비트라고 가정한다. 이 때, n 비트의 부호화된 데이터들은 k 비트의 데이터들과 (n-k) 비트의 패리티들을 포함한다. 이 때, k 비트의 데이터들과 (n-k) 비트의 패리티들이 배리어블 노드(variable node)들에 대응되고, 체크(check) 비트들이 체크 노드들에 대응된다고 가정하는 경우, 패리티 체크 행렬은 배리어블 노드들과 체크 노드들의 연결 관계를 기초로 정의될 수 있다.
LDPC 부호화 장치는 하기 수학식 1의 제한(constraint)을 가지고 부호화된 데이터들을 생성할 수 있다.
Hx = 0
x=GuT
여기서, H는 m x n 차원의 패리티 체크 행렬, m은 체크 노드들의 개수, X는 n 비트의 부호화된 데이터들(부호어(codeword)), u는 k 비트의 (소스) 데이터들, G는 n x k 차원의 생성 매트릭스(generating matrix)를 각각 의미한다.
패리티 체크 행렬의 각 열(column)에 포함되는 1의 개수는 배리어블 노드 차수로 불려진다. 또한, 패리티 체크 행렬의 각 행(row)에 포함되는 1의 개수는 체크 노드 차수로 불려진다. 각 열에 대한 배리어블 노드 차수가 모두 동일하고, 각 행에 대한 체크 노드 차수가 모두 동일한 경우, LDPC 코드는 균일(regular) LDPC 코드이며, 각 열에 대한 변수 노드 차수가 다르거나, 각 행에 대한 체크 노드 차수가 다른 경우, LDPC 코드는 비균일 LDPC 코드이다.
도 1을 참고하면, 패리티 체크 행렬(H)은 배리어블 노드들(v1, v2, …, v10)과 체크 노드들(c1, c2, c3 , …, c5)의 연결 관계에 기초하여 정의된다. 배리어블 노드들(v1, v2,…, v10)은 부호화된 데이터들에 대응되며, 부호화된 데이터들은 데이터 비트들과 패리티 비트들을 포함한다. 또한, 체크 노드들은 체크 비트들에 대응된다. 패리티 체크 행렬(H)의 차원은 배리어블 노드들의 개수 및 체크 노드들의 개수에 따라 5 x 10이다.
배리어블 노드들 및 체크 노드들 사이의 연결 관계를 나타낸 팩터 그래프 상 에서, v1은 c1 및 c3와 연결되어 있으므로, 패리티 체크 행렬(H)의 1열1행 원소와 1열 3행 원소는 '1'이고, 1열의 나머지 원소들은 모두 0으로 결정된다. 마찬가지로, v2는 c1 및 c2와 연결되어 있으므로, 2열1행 원소와 2열2행 원소는 '1'이고 2열의 나머지 원소들은 모두 '0'임을 알 수 있다. 상술한 방식으로, 패리티 체크 행렬의 모든 원소들은 '1' 또는 '0' 중 어느 하나로 결정된다.
또한, 배리어블 노드 차수는 각각의 변수 노드들에 연결된 선들의 개수와 동일하며, 체크 노드 차수는 각각의 체크 노드들에 연결된 선들의 개수와 동일하다. 즉, 도 1의 팩터 그래프를 참조하면, 배리어블 노드들 각각에는 두 개의 선들이 연결되어 있으므로, 변수 노드 차수는 '2'임을 알 수 있다. 또한, 체크 노드 차수는 '4'이다.
상기의 부호화 방법에 따라 부호화된 데이터들에 대해 복호화를 수행하는 경우, 배리어블 노드들 및 체크 노드들 각각은 연결된 다른 노드들로 자신의 복호화 결과를 전송하거나, 다른 노드들의 복호화 결과를 수신한다. 즉, 하나의 노드가 다른 노드로부터 다른 노드의 복호화 결과를 수신하는 경우, 상기 하나의 노드는 다른 노드의 복호화 결과를 이용하여 복호화를 수행하고, 자신의 복호화 결과를 자신과 연결된 다른 노드로 전송한다.
이 때, 체크 노드들에서 수행되는 복호화 동작을 체크 노드 연산(check node operation)이라 하고, 배리어블 노드들에서 수행되는 복호화 동작을 배리어블 노드 연산(variable node operation)이라 한다.
체크 노드 연산 및 배리어블 노드 연산을 통해 시험 코드(tentative code)가 생성되고, 생성된 시험 코드는 패리티 검사(parity check)를 통해 유효한 부호어(valid codeword)인지를 검사 받는다.
만약, 생성된 시험 코드가 유효한 부호어이면 복호화 동작이 종료되고, 유효한 부호어가 아니면 복호화 동작이 반복 수행된다.
도 2는 본 발명의 일실시예에 따른 반복 복호화 장치(200)의 상세한 구성을 도시한 블록도이다.
본 발명의 일실시예에 따른 반복 복호화 장치(200)는 복호화부(210), SNR 추정부(220), 반복 복호수 설정부(230)를 포함할 수 있다. 이하, 각 구성 요소 별로 그 기능을 상술하기로 한다.
복호화부(210)는 수신신호에 대해 반복적으로 복호화를 수행하여 수신신호로부터 유효한 부호어를 복원한다.
이 때, 반복적으로 수행되는 복호화 동작 각각은 시험 복호화(tentative decoding) 및 오류 검사(error check)를 포함한다.
시험 복호화는 수신신호 또는 이전 단계에서 복호화된 시험 코드(tentative code)를 복호화하는 동작을 의미하고, 오류 검사는 복호화된 시험 코드가 유효한 부호어인지를 검사하는 동작을 의미한다.
일례로, 반복 복호화 장치(200)가 LDPC 복호화 기법을 이용하여 수신신호를 복호화하는 LDPC 복호화 장치인 경우, 시험 복호화는 체크 노드 연산 및 배리어블 노드 연산을 포함하고, 오류 검사는 패리티 검사를 포함한다.
본 발명의 일실시예에 따르면, 복호화부(210)는 최소 반복 복호수에 기초하여 오류 검사를 선택적으로 수행할 수 있다. 이에 대해서는 아래에서 보다 상세하게 설명하기로 한다.
SNR 추정부(220)는 수신신호의 신호 대 잡음비(SNR: Signal to Noise Ratio)를 추정한다.
이 경우, SNR 추정부(220)는 공지된 임의의 SNR 추정 방법에 따라서 수신신호의 SNR을 추정할 수 있다.
반복 복호수 설정부(230)는 측정된 SNR에 기초하여 수신신호에 대한 최소 반복 복호수를 설정한다.
일반적으로, 수신신호로부터 유효한 부호어를 복원하기 위해 수행되는 반복 복호화의 횟수, 즉 반복 복호수는 수신신호의 SNR에 따라 다른 값을 가진다.
이하에서는, 표 1을 참고하여, 복호화부(210)가 LDPC 복호화 기법에 기초하여 수신신호를 복호화하는 경우에서 반복 복호화의 횟수와 수신신호의 SNR의 상관관계를 살펴보기로 한다.
S NR
( dB )
Number of Iteration Decoding S NR
( dB )
Number of Iteration Decoding
Min Max Avg Min Max Avg
-1 50 50 50 6 2 4 2.16
-0.5 50 50 50 6.5 1 3 2.02
0 50 50 50 7 1 3 1.86
0.5 50 50 50 7.5 1 3 1.48
1 42 50 49.88 8 1 2 1.16
1.5 10 50 21.51 8.5 1 2 1.04
2 6 19 10.94 9 1 2 1.01
2.5 4 11 7.75. 9.5 1 2 1
3 4 9 6.03 10 1 2 1
3.5 4 7 4.91 10.5 1 2 1
4 3 6 4.1 11 1 1 1
4.5 2 5 3.45 11.5 1 1 1
5 2 4 3.02 12 1 1 1
5.5 2 4 2.6
표 1에서는 1,000,000개의 심볼에 대해, 1/2의 부호율을 갖고, 길이(length) 및 차원(dimension)이 각각 4608 및 9216인 정보 블록(information block)을 갖는 LDPC 코드에 이용하여 부호화된 수신신호에 대해 반복 복호화를 수행하는 경우에 있어서, 수신신호의 SNR에 따른 반복 복호수의 최대값(Max), 최소값(Min), 및 평균값(avg)을 표시하고 있다.
표 1을 참고하면, 수신신호의 SNR이 커질수록 반복 수행되는 복호화의 최대 횟수, 최소 횟수 및 평균 횟수가 감소하는 것을 확인할 수 있다.
즉, 수신신호의 SNR이 큰 경우, 복호화부(210)는 적은 횟수의 복호화만을 반복 수행하여도 되지만, 수신신호의 SNR이 작다면, 복호화부(210)는 많은 횟수의 복호화를 반복 수행하여야 한다.
일례로서, 표 1을 참고하면, 수신신호의 SNR이 2dB의 값을 갖는 경우, 복호화부(210)는 최소 6회, 최대 19회의 복호화를 반복 수행하여야 한다.
따라서, 반복 복호화의 최소 횟수 보다 적은 횟수의 복호화 단계 (이하에서는 편의상 '초기 단계'라 칭하기로 한다)에서 시험 복호화를 통해 복원된 시험 코드는 오류 검사를 만족시킬 가능성이 낮으므로(즉, 시험 코드가 유효한 부호어일 가능성이 낮으므로), 초기 단계에서 수행되는 오류 검사는 불필요하다(redundant).
따라서, 복호화부(210)는 반복 복호수 설정부(230)에서 설정된 최소 반복 복호수에 기초하여 오류 검사를 선택적으로 수행한다. 이 경우, 표 1을 참고하면, 설정된 최소 반복 복호수는 수신신호의 SNR과 반비례할 수 있다.
본 발명의 일실시예에 따르면, 복호화부(210)는 시험 복호화의 반복 횟수가 반복 복호수 설정부(230)에서 설정된 최소 반복 복호수 이하인 경우, 오류 검사를 수행하지 않고(즉, 시험 복호화 만을 수행하고), 시험 복호화의 반복 횟수가 최소 반복 복호수를 초과하는 경우, 시험 복호화 및 오류 검사를 모두 수행할 수 있다.
예를 들어, 수신신호의 SNR이 2dB의 값을 갖는 경우, 유효한 부호어를 복원하기 위한 최소 복호화 횟수가 '6'이므로, 복호화부(210)는 첫번째 복호화 단계 내지 다섯번째 복호화 단계에서는 시험 복호화 만을 수행하고, 여섯번째 복호화 단계부터 시험 복호화 및 오류 검사를 모두 수행할 수 있다.
이에 따라, 초기 단계에서 수행되는 불필요한 오류 검사 수행이 생략되므로, 복호화 연산량이 줄어들어, 소요되는 시간이 단축되고, 소비 전력이 감소된다. 특히, 수신신호의 SNR이 낮은 경우, 반복 복호수의 최소값(Min)이 크므로, 시간 단축 및 소비 전력 감소의 효율은 증가한다.
이하에서는 도 3을 참고하여, 본 발명의 일실시예에 따른 반복 복호화 장치(200)와 일반적인 반복 복호화 장치에서 소비되는 전력을 비교하여 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 반복 복호화 장치(200)를 이용하여 수신신호를 복호화하는 경우, 수신신호의 SNR과 소비되는 전력의 상관 관계를 도시한 도면이다.
도 3에서는 LDPC 복호화 기법을 이용하여 수신신호를 복호화하는 경우의 수신신호의 SNR과 소비 전력의 상관 관계를 도시하고 있다.
일례로, 수신신호의 SNR이 2.5dB인 경우, 본 발명과 같이 패리티 검사를 선택적으로 수행하는 경우(With Adaptive Parity Check)에는 557mW의 전력이 소비되지만, 패리티 검사를 항상 수행하는 경우(No Adaptive Parity Check)에는 766 mW의 전력이 소비된다. 따라서 208mW의 전력을 절약할 수 있다.
또한, 도 3을 참고하면, 수신신호의 SNR이 2dB 내지 6.5 dB인 경우에는 소비 전력의 차이가 발생하지만, 6.5dB 이상인 경우에는 소비 전력의 차이가 없는 것을 확인할 수 있다. 이는 수신신호의 SNR이 큰 경우에는 적은 횟수의 반복 복호화만으로도 유효한 부호어를 복원할 수 있다는 점에 기인한 것이다.
다시 도 2를 참고하여, 본 발명의 일실시예에 따른 반복 복호화 장치(200)에 대해 상세히 설명하기로 한다.
본 발명의 일실시예에 따르면, 반복 복호화 장치(200)는 저장부(240)를 더 포함할 수 있다.
저장부(240)는 적어도 하나의 SNR과 적어도 하나의 최소 반복 복호수를 대응시켜 저장한다.
이 경우, 반복 복호수 설정부(230)는 SNR 측정부(220)에서 측정된 수신신호의 SNR과 대응되는(즉, 가장 유사한) 최소 반복 복호수를 저장부(240)로부터 독출(read)하고, 이를 수신신호에 대한 최소 반복 복호수로 설정할 수 있다.
이 때, SNR에 대응되는 최소 반복 복호수는 실험적으로 결정될 수 있다.
일례로서, 1,000,000개의 심볼에 대해, 1/2의 부호율을 갖고, 길이 및 차원이 각각 4608 및 9216인 정보 블록을 갖는 LDPC 코드에 이용하여 부호화된 수신신호에 대해 반복 복호화를 수행하는 경우, 저장부(240)는 하기 표 2와 같은 룩 업 테이블(LUT: Look Up Table)을 저장할 수 있다. 이 경우, 반복 복호수 설정부(230)는 룩 업 테이블에 기초하여 수신신호에 대한 최소 반복 복호수를 설정할 수 있다.
SNR( dB ) 0.5 이하 1 1.5 2 2.5 3 3.5
최소 반복 복호수 49 41 9 5 3 3 3
SNR( dB ) 4 4.5 5 5.5 6 6.5 이상
최소 반복 복호수 2 1 1 1 1 0
이상에서는, 반복 복호화 장치가 LDPC 복호화 기법을 이용하여 수신신호를 복호화하는 경우를 일례로 설명하였으나, 이는 설명의 편의를 위한 것으로서, 본 발명이 시험 복호화 과정 및 오류 검사 과정을 통해 반복적으로 복호화를 수행하는 복호화 장치에 적용될 수 있음은 당업자에게 자명하다고 할 것이다.
이하에서는 도 4를 참고하여, 본 발명의 일실시예에 따른 반복 복호수 설정 방법 및 반복 복호화 방법에 대해 상세히 설명한다.
도 4(3)는 본 발명의 일실시예에 따른 반복 복호수 설정 방법 및 반복 복호화 방법에 대한 흐름도를 도시한 도면이다.
도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 반복 복호화 방법은 단계(S410) 내지 단계(S430)를 포함하여 구성되는데, 이 때, 단계(S410) 및 단계(S420)가 본 발명의 일실시예에 따른 반복 복호수 설정 방법을 구성할 수 있다.
먼저, 단계(S410)에서는 수신신호의 SNR을 추정한다.
다음으로, 단계(S420)에서는 추정된 SNR에 기초하여 최소 반복 복호수를 설정한다.
마지막으로, 단계(S430)에서는 시험 복호화 및 오류 검사를 이용하여 수신신호를 반복적으로 복호화한다. 이 때, 단계(S430)에서는 최소 반복 복호수에 기초하여 오류 검사를 선택적으로 수행할 수 있다.
일례로, 시험 복호화의 반복 횟수가 최소 반복 복호수 이하인 경우, 단계(S430)에서는 오류 검사를 수행하지 않고, 시험 복호화의 반복 횟수가 최소 반복 복호수를 초과하는 경우, 단계(S430)에서는 시험 복호화와 오류 검사를 모두 수행할 수 있다.
이 경우, 본 발명의 일실시예에 따르면, 최소 반복 복호수는 수신신호의 SNR과 반비례할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S420)에서는 SNR과 최소 반복 복호수를 대응시켜 저장한 저장부를 이용하여 최소 반복 복호수를 설정할 수 있다. 이 경우, 단계(S430)에서는 단계(S410)에서 추정된 SNR과 대응되는 최소 반복 복호수를 저장부에서 독출하여 최소 반복 복호수를 설정할 수 있다.
또한, 앞서 언급한 바와 같이, 본 발명의 일실시예에 따른 반복 복호화 방법은 LDPC 복호화 기법에 기초한 LDPC 복호화 방법에 적용될 수 있다.
지금까지 본 발명에 따른 반복 복호화 방법의 실시예들에 대하여 설명하였고, 앞서 도 2에서 설명한 반복 복호화 장치(200)에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.
도 5는 본 발명의 일실시예에 따른 반복 복호화 방법의 일례인 LDPC 복호화 방법의 알고리즘을 도시한 도면이다.
도 5에 도시된 LDPC 복호화 알고리즘에 있어, line 3 내지 line 4는 체크 노드 연산 단계, line 5 내지 line 6은 배리어블 노드 연산 단계, line 7 내지 line 12는 패리티 검사 단계를 각각 의미한다. 또한, i는 반복 복호수,
Figure 112009041451222-pat00001
수신신호에 포함된 심볼 데이터,
Figure 112009041451222-pat00002
은 패리티 검사 행렬의 행렬 원소,
Figure 112009041451222-pat00003
은 배리어블 노드의 데이터 행렬 원소,
Figure 112009041451222-pat00004
는 최대 반복 복호수,
Figure 112009041451222-pat00005
은 최소 반복 복호수,
Figure 112009041451222-pat00006
은 체크 노드의 데이터 행렬 원소,
Figure 112009041451222-pat00007
은 시험 코드,
Figure 112009041451222-pat00008
Figure 112009041451222-pat00009
를 생성하기 위한 임시값을 각각 의미한다.
도 5에 도시된 LDPC 복호화 알고리즘은 line 7 및 line 12가 추가된 것을 제외하면, 기존의 LDPC 복호화 알고리즘과 동일하다.
line 7 및 line 12는 패리티 검사를 선택적으로 수행하기 위해 추가된 것으로서, line 7에서는 현재 복호화 단계(즉, i값)가 최소 반복 복호수(
Figure 112009041451222-pat00010
)보다 큰지를 판단한다. 앞서 언급한 바와 같이 최소 반복 복호수(
Figure 112009041451222-pat00011
)는 수신신호의 SNR 값에 따라 결정된다.
만약, i값이 최소 반복 복호수보다 작다면, line 8 내지 line 11이 수행되지 않고(즉, 패리티 검사가 수행되지 않고), i값이 최소 반복 복호수보다 크다면, line 8 내지 line 11이 모두 수행된다(즉, 패리티 검사가 수행된다). 이에 따라, 최소 반복 복호수 이하의 복호화 단계에서는 패리티 검사가 수행되지 않는다.
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 LDPC 코딩의 개념을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 반복 복호화 장치의 상세한 구성을 도시한 블록도.
도 3은 본 발명의 일실시예에 따른 반복 복호수 설정 방법 및 반복 복호화 방법에 대한 흐름도를 도시한 도면.
도 4는 본 발명의 일실시예에 따른 반복 복호화 방법의 일례인 LDPC 복호화 방법의 알고리즘을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 반복 복호화 방법의 일례인 LDPC 복호화 방법의 알고리즘을 도시한 도면.

Claims (9)

  1. LDPC 부호화 알고리즘에 따라 부호화된 수신신호의 신호 대 잡음비(SNR: Signal to Noise Ratio)를 추정하는 SNR 추정부;
    상기 수신신호에 대한 최소 반복 복호수를 상기 추정된 SNR에 반비례하도록 적응적으로 설정하는 반복 복호수 설정부; 및
    시험 복호화(tentative decoding) 및 오류 검사(error check)를 이용하여 상기 수신신호를 반복적으로 복호화하는 복호화부
    를 포함하고,
    상기 복호화부는
    상기 시험 복호화의 반복 횟수가 상기 최소 반복 복호수 이하인 경우 상기 오류 검사를 수행하지 않고, 상기 시험 복호화의 반복 횟수가 상기 최소 반복 복호수를 초과하는 경우 상기 오류 검사를 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    적어도 하나의 SNR과 적어도 하나의 최소 반복 복호수를 대응시켜 저장하는 저장부
    를 더 포함하고,
    상기 반복 복호수 설정부는 상기 추정된 SNR과 대응되는 최소 반복 복호수를 상기 저장부에서 독출하여 상기 최소 반복 복호수를 설정하는 것을 특징으로 하는 반복 복호화 장치.
  6. 제1항에 있어서,
    상기 시험 복호화는 체크 노드(check node) 연산 및 배리어블 노드(variable node) 연산을 포함하고, 상기 오류 검사는 패리티 검사(parity check)인 것을 특징으로 하는 LDPC 복호화 장치.
  7. LDPC 부호화 알고리즘에 따라 부호화된 수신신호를 시험 복호화 및 오류 검사를 이용하여 반복적으로 복호화하는 LDPC 복호화 장치의 반복 복호수를 설정하는 방법에 있어서,
    상기 수신신호의 신호 대 잡음비(SNR: Signal to Noise Ratio)를 추정하는 단계; 및
    상기 수신신호에 대한 최소 반복 복호수를 상기 추정된 SNR에 반비례하도록 적응적으로 설정하는 단계
    를 포함하고,
    상기 최소 반복 복호수는 상기 LDPC 복호화 장치가 상기 오류 검사를 수행할지를 결정하기 위해 사용되는 반복 복호수로서, 상기 LDPC 복호화 장치는 상기 시험 복호화의 반복 횟수가 상기 최소 반복 복호수 이하인 경우 상기 오류 검사를 수행하지 않고, 상기 시험 복호화의 반복 횟수가 상기 최소 반복 복호수를 초과하는 경우 상기 오류 검사를 수행하는 것을 특징으로 하는 LDPC 복호화를 위한 반복 복호수 설정 방법.
  8. LDPC 부호화 알고리즘에 따라 부호화된 수신신호의 신호 대 잡음비(SNR: Signal to Noise Ratio)를 추정하는 단계;
    상기 수신신호에 대한 최소 반복 복호수를 상기 추정된 SNR에 반비례하도록 적응적으로 설정하는 단계; 및
    시험 복호화 및 오류 검사를 이용하여 상기 수신신호를 반복적으로 복호화하는 단계
    를 포함하고,
    상기 복호화하는 단계는
    상기 시험 복호화의 반복 횟수가 상기 최소 반복 복호수 이하인 경우 상기 오류 검사를 수행하지 않고, 상기 시험 복호화의 반복 횟수가 상기 최소 반복 복호수를 초과하는 경우 상기 오류 검사를 수행하는 것을 특징으로 하는 LDPC 복호화 방법.
  9. 삭제
KR1020090061902A 2009-07-07 2009-07-07 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법 KR101261091B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020090061902A KR101261091B1 (ko) 2009-07-07 2009-07-07 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법
CN200980160304.1A CN102484483B (zh) 2009-07-07 2009-10-12 设定迭代译码的迭代次数的方法、迭代译码装置及方法
PCT/KR2009/005842 WO2011004939A1 (en) 2009-07-07 2009-10-12 Method of setting number of iteration counts of iterative decoding, and apparatus and method of iterative decoding
US13/382,476 US8719672B2 (en) 2009-07-07 2009-10-12 Method of setting number of iteration counts of iterative decoding, and apparatus and method of iterative decoding
US14/192,753 US9178533B2 (en) 2009-07-07 2014-02-27 Method of setting number of iteration counts of iterative decoding, and apparatus and methods of iterative decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090061902A KR101261091B1 (ko) 2009-07-07 2009-07-07 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020110119438A Division KR20110139178A (ko) 2011-11-16 2011-11-16 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법
KR1020110119435A Division KR20120000040A (ko) 2011-11-16 2011-11-16 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20110004211A KR20110004211A (ko) 2011-01-13
KR101261091B1 true KR101261091B1 (ko) 2013-05-06

Family

ID=43429353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090061902A KR101261091B1 (ko) 2009-07-07 2009-07-07 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법

Country Status (4)

Country Link
US (2) US8719672B2 (ko)
KR (1) KR101261091B1 (ko)
CN (1) CN102484483B (ko)
WO (1) WO2011004939A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2579468B1 (en) * 2011-10-05 2020-05-06 Telefonaktiebolaget LM Ericsson (publ) Method and device for decoding a transport block of a communication signal
GB2502344B (en) * 2012-05-25 2014-05-14 Broadcom Corp Method, apparatus and computer program for signal to noise and interference ratio estimation
US8826109B2 (en) * 2012-09-04 2014-09-02 Lsi Corporation LDPC decoder irregular decoding of regular codes
RU2573243C2 (ru) 2013-10-28 2016-01-20 Общество с ограниченной ответственностью "Топкон Позишионинг Системс" Способ и устройство для измерения текущего отношения сигнал/шум при декодировании ldpc-кодов (варианты)
KR20150091693A (ko) 2014-02-03 2015-08-12 삼성전자주식회사 플래쉬 메모리 읽기 방법
CN105262505B (zh) * 2014-07-18 2017-08-29 中国人民解放军理工大学 跳频通信干扰条件下的信噪比估计方法
US10566999B2 (en) 2014-11-19 2020-02-18 Lantiq Beteiligungs-GmbH & Co. KG Low-density parity check decoding
KR101630114B1 (ko) * 2015-02-11 2016-06-13 한양대학교 산학협력단 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법
CN105245277B (zh) * 2015-09-29 2017-10-20 中国电子科技集团公司第五十四研究所 一种基于Turbo码的可见光通信系统与方法
CN113938227A (zh) * 2021-10-08 2022-01-14 天津津航计算技术研究所 一种基于迭代译码的信噪比强弱动态判定方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292918B1 (en) 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
KR100580085B1 (ko) 1999-11-26 2006-05-16 주식회사 케이티 복호화 장치의 반복 복호수 프리셋 장치 및 그 방법
JP3683497B2 (ja) 2000-11-30 2005-08-17 松下電器産業株式会社 復号装置および復号方法
KR20030016720A (ko) 2001-08-21 2003-03-03 한국전자통신연구원 신호대 잡음비 추정에 의한 엘디피씨 복호화 장치의 최대반복 복호수 적응 설정 장치 및 그 방법과, 이 장치를포함하는 엘디피씨 복호화 장치 및 그 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
WO2006128164A2 (en) * 2005-05-27 2006-11-30 Aquantia Corporation Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
JP2009531878A (ja) * 2006-03-31 2009-09-03 コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガニゼイション 周波数でチャンネル化された信号の復号化
KR20080026559A (ko) 2007-12-26 2008-03-25 톰슨 라이센싱 반복 복호기에서의 중단 기준
US8312354B1 (en) * 2007-12-27 2012-11-13 Marvell International Ltd. Method and apparatus for improved performance of iterative decoders on channels with memory
US8675693B2 (en) * 2009-04-27 2014-03-18 Qualcomm Incorporated Iterative decoding with configurable number of iterations

Also Published As

Publication number Publication date
WO2011004939A1 (en) 2011-01-13
US20140250349A1 (en) 2014-09-04
CN102484483B (zh) 2016-11-16
CN102484483A (zh) 2012-05-30
US8719672B2 (en) 2014-05-06
US20120131415A1 (en) 2012-05-24
KR20110004211A (ko) 2011-01-13
US9178533B2 (en) 2015-11-03

Similar Documents

Publication Publication Date Title
KR101261091B1 (ko) 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법
US6526531B1 (en) Threshold detection for early termination of iterative decoding
US8700973B1 (en) Post-processing decoder of LDPC codes for improved error floors
JP4777876B2 (ja) ターボデコーダの反復の早期終了
US8341506B2 (en) Techniques for correcting errors using iterative decoding
US7949932B2 (en) Strengthening parity check bit protection for array-like LDPC codes
US20050229091A1 (en) Iterative decoding of linear block codes by adapting the parity check matrix
US8543891B2 (en) Power-optimized decoding of linear codes
US20050062623A1 (en) Encoding and decoding methods and apparatuses for recording system
US7370332B2 (en) Arrangement and method for iterative decoding
KR20120000040A (ko) 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법
US8019020B1 (en) Binary decoding for correlated input information
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
KR101413783B1 (ko) 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치
KR101630114B1 (ko) 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법
KR20110139178A (ko) 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법
KR20120039577A (ko) Ldpc 복호화 장치 및 방법
CN101841338B (zh) 一种低密度奇偶校验码提前结束迭代译码的方法
Oh et al. Optimally quantized offset min-sum algorithm for flexible LDPC decoder
WO2024084554A1 (ja) 推定装置、設計支援装置、推定方法、設計支援方法及びコンピュータープログラム
KR101079087B1 (ko) Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체
KR20240069275A (ko) 블록 페이딩 채널 환경을 위한 복호화 방법 및 장치
CN115865101A (zh) 一种双空间耦合ldpc码的可变滑窗译码方法及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160418

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 7