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

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

Info

Publication number
KR20110139178A
KR20110139178A KR1020110119438A KR20110119438A KR20110139178A KR 20110139178 A KR20110139178 A KR 20110139178A KR 1020110119438 A KR1020110119438 A KR 1020110119438A KR 20110119438 A KR20110119438 A KR 20110119438A KR 20110139178 A KR20110139178 A KR 20110139178A
Authority
KR
South Korea
Prior art keywords
decoding
received signal
check
minimum
snr
Prior art date
Application number
KR1020110119438A
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 KR1020110119438A priority Critical patent/KR20110139178A/ko
Publication of KR20110139178A publication Critical patent/KR20110139178A/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/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/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
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • 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
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0036Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving

Abstract

반복 복호수 설정 방법, LDPC 복호화 장치 및 그 방법이 개시된다. 개시된 LDPC 복호화 장치는 LDPC 부호화 알고리즘에 따라 부호화된 수신신호에 대한 최소 반복 복호수들을 저장하는 저장부; 및 체크 노드(check node)들에 대해 수행되는 복호화인 체크 노드 연산, 배리어블 노드(variable node)들에 대해 수행되는 복호화인 배리어블 노드 연산, 시험 코드에 대해 수행되는 복호화인 시험(tentative) 복호화 및 패리티 검사를 이용하여 상기 수신 신호를 반복적으로 복호화하는 복호화부를 포함하되, 상기 복호화부는 상기 저장부에서 어느 하나의 최소 반복 복호수를 독출하고, 상기 반복적인 복호화의 횟수가 상기 독출된 최소 반복 복호수 이하인 경우, 상기 체크 노드 연산 및 상기 배리어블 노드 연산을 수행하고 상기 시험 복호화 및 상기 패리티 체크 연산을 수행하지 않는다. 본 발명에 따르면, 수신신호의 복호화 수행 시 요구되는 연산량 및 소비되는 전력량을 줄일 수 있게 된다.

Description

반복 복호수 설정 방법, LDPC 복호화 장치 및 그 방법{Method for setting number of iterative decoding, Apparatus and Method for LDPC decoding}
본 발명의 일실시예들은 반복 복호수 설정 방법, LDPC 복호화 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 반복 복호화 수행 시 요구되는 연산량 및 소비되는 전력량을 줄일 수 있는 반복 복호수 설정 방법 및 이를 이용한 LDPC 복호화 장치 및 그 방법에 관한 것이다.
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)인지를 확인한다. 만약, 생성된 시험코드가 유효한 부호어가 아닌 경우 복호화가 반복되어 수행되고, 생성된 시험 코드가 유효한 부호어인 경우, 복호화가 중단된다. 이 때, 복호화 횟수가 증가할수록 생성된 시험 코드가 유효한 부호어일 확률은 증가한다.
따라서, 반복되어 수행되는 복호화의 횟수가 큰 수신신호의 경우, 초기 복호화 단계에서 생성된 시험 코드가 유효한 부호어일 확률이 낮고, 따라서, 초기 복호화 단계에서의 오류 검사는 불필요한 과정이 될 수 있다. 이에 따라, 복호화 시 연산량이 증가하여 복호화가 지연되고, 소비 전력이 증가하는 문제점이 발생한다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 수신신호의 복호화 수행 시 요구되는 연산량 및 소비되는 전력량을 줄일 수 있는 LDPC 복호화 장치 및 그 방법을 제안하고자 한다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, LDPC 부호화 알고리즘에 따라 부호화된 수신신호에 대한 최소 반복 복호수들을 저장하는 저장부; 및 체크 노드(check node)들에 대해 수행되는 복호화인 체크 노드 연산, 배리어블 노드(variable node)들에 대해 수행되는 복호화인 배리어블 노드 연산, 시험 코드에 대해 수행되는 복호화인 시험(tentative) 복호화 및 패리티 검사를 이용하여 상기 수신 신호를 반복적으로 복호화하는 복호화부를 포함하되, 상기 복호화부는 상기 저장부에서 어느 하나의 최소 반복 복호수를 독출하고, 상기 반복적인 복호화의 횟수가 상기 독출된 최소 반복 복호수 이하인 경우, 상기 체크 노드 연산 및 상기 배리어블 노드 연산을 수행하고 상기 시험 복호화 및 상기 패리티 체크 연산을 수행하지 않는 것을 특징으로 하는 LDPC 복호화 장치가 제공된다.
또한, 본 발명의 다른 실시예에 따르면, LDPC 부호화 알고리즘에 따라 부호화된 수신신호에 대한 최소 반복 복호수를 설정하는 단계; 및 체크 노드들에 대해 수행되는 복호화인 체크 노드 연산, 배리어블 노드들에 대해 수행되는 복호화인 배리어블 노드 연산, 시험 코드에 대해 수행되는 복호화인 시험 복호화 및 패리티 검사를 이용하여 상기 수신 신호를 반복적으로 복호화하는 단계를 포함하되, 상기 복호화하는 단계는 상기 반복적인 복호화의 횟수가 상기 최소 반복 복호수 이하인 경우, 상기 체크 노드 연산 및 상기 배리어블 노드 연산을 수행하고 상기 시험 복호화 및 상기 패리티 체크 연산을 수행하지 않는 것을 특징으로 하는 LDPC 복호화 방법이 제공된다
본 발명에 따르면, 수신신호의 반복 복호화 시 요구되는 연산량 및 소비되는 전력량을 줄일 수 있게 된다.
도 1은 LDPC 코딩의 개념을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 반복 복호화 장치의 상세한 구성을 도시한 블록도.
도 3은 본 발명의 일실시예에 따른 반복 복호수 설정 방법 및 반복 복호화 방법에 대한 흐름도를 도시한 도면.
도 4는 본 발명의 일실시예에 따른 반복 복호화 방법의 일례인 LDPC 복호화 방법의 알고리즘을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 반복 복호화 방법의 일례인 LDPC 복호화 방법의 알고리즘을 도시한 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
이하에서는 본 발명에 따른 반복 복호화 장치 및 그 방법을 설명하기에 앞서, 반복 코딩(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)을 가지고 부호화된 데이터들을 생성할 수 있다.
Figure pat00001
Figure pat00002

여기서, 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는 본 발명의 일실시예에 따른 반복 복호수 설정 방법 및 반복 복호화 방법에 대한 흐름도를 도시한 도면이다.
도 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 8 내지 line 9는 시험 복호화 단계, line 10 내지 line 11은 패리티 검사 단계를 각각 의미한다. 또한, i는 반복 복호수,
Figure pat00003
수신신호에 포함된 심볼 데이터,
Figure pat00004
은 패리티 검사 행렬의 행렬 원소,
Figure pat00005
은 배리어블 노드의 데이터 행렬 원소,
Figure pat00006
는 최대 반복 복호수,
Figure pat00007
은 최소 반복 복호수,
Figure pat00008
은 체크 노드의 데이터 행렬 원소,
Figure pat00009
은 시험 코드,
Figure pat00010
Figure pat00011
를 생성하기 위한 임시값을 각각 의미한다.
도 5에 도시된 LDPC 복호화 알고리즘은 line 7 및 line 12가 추가된 것을 제외하면, 기존의 LDPC 복호화 알고리즘과 동일하다.
line 7 및 line 12는 시험 복호화 및 패리티 검사를 선택적으로 수행하기 위해 추가된 것으로서, line 7에서는 현재 복호화 단계의 횟수(즉, i값)가 최소 반복 복호수(
Figure pat00012
)보다 큰지를 판단한다. 앞서 언급한 바와 같이 최소 반복 복호수(
Figure pat00013
)는 수신신호의 수신 품질인 SNR 값에 따라 결정된다.
만약, i값이 최소 반복 복호수보다 작다면, line 8 내지 line 11이 수행되지 않고(즉, 시험 복호화 및 패리티 검사가 수행되지 않고), i값이 최소 반복 복호수보다 크다면, line 8 내지 line 11이 모두 수행된다(즉, 시험 복호화 및 패리티 검사가 모두 수행된다). 이에 따라, 최소 반복 복호수 이하의 복호화 단계에서는 패리티 검사가 수행되지 않는다.
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (4)

  1. LDPC 부호화 알고리즘에 따라 부호화된 수신신호에 대한 최소 반복 복호수들을 저장하는 저장부; 및
    체크 노드(check node)들에 대해 수행되는 복호화인 체크 노드 연산, 배리어블 노드(variable node)들에 대해 수행되는 복호화인 배리어블 노드 연산, 시험 코드에 대해 수행되는 복호화인 시험(tentative) 복호화 및 패리티 검사를 이용하여 상기 수신 신호를 반복적으로 복호화하는 복호화부를 포함하되,
    상기 복호화부는 상기 저장부에서 어느 하나의 최소 반복 복호수를 독출하고, 상기 반복적인 복호화의 횟수가 상기 독출된 최소 반복 복호수 이하인 경우, 상기 체크 노드 연산 및 상기 배리어블 노드 연산을 수행하고 상기 시험 복호화 및 상기 패리티 체크 연산을 수행하지 않는 것을 특징으로 하는 LDPC 복호화 장치.
  2. 제1항에 있어서,
    상기 최소 반복 복호수는 상기 수신신호의 SNR에 반비례하도록 설정된 것을 특징으로 하는 LDPC 복호화 장치.
  3. 제2항에 있어서,
    상기 LDPC 복호화 장치는 상기 수신신호의 SNR을 추정하는 SNR 추정부를 더 포함하고,
    상기 어느 하나의 최소 반복 복호수는 상기 추정된 SNR과 대응되도록 설정된 최소 반복 복호수인 것을 특징으로 하는 LDPC 복호화 장치.
  4. LDPC 부호화 알고리즘에 따라 부호화된 수신신호에 대한 최소 반복 복호수를 설정하는 단계; 및
    체크 노드들에 대해 수행되는 복호화인 체크 노드 연산, 배리어블 노드들에 대해 수행되는 복호화인 배리어블 노드 연산, 시험 코드에 대해 수행되는 복호화인 시험 복호화 및 패리티 검사를 이용하여 상기 수신 신호를 반복적으로 복호화하는 단계를 포함하되,
    상기 복호화하는 단계는 상기 반복적인 복호화의 횟수가 상기 최소 반복 복호수 이하인 경우, 상기 체크 노드 연산 및 상기 배리어블 노드 연산을 수행하고 상기 시험 복호화 및 상기 패리티 체크 연산을 수행하지 않는 것을 특징으로 하는 LDPC 복호화 방법.
KR1020110119438A 2011-11-16 2011-11-16 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법 KR20110139178A (ko)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (1)

Publication Number Publication Date
KR20110139178A true KR20110139178A (ko) 2011-12-28

Family

ID=45504819

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR20110139178A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180090414A (ko) * 2017-02-02 2018-08-13 한밭대학교 산학협력단 Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180090414A (ko) * 2017-02-02 2018-08-13 한밭대학교 산학협력단 Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR101261091B1 (ko) 반복 복호수 설정 방법, 반복 복호화 장치 및 그 방법
US8700973B1 (en) Post-processing decoder of LDPC codes for improved error floors
US7949932B2 (en) Strengthening parity check bit protection for array-like LDPC codes
US7454684B2 (en) Apparatus and method for turbo decoder termination
US8341506B2 (en) Techniques for correcting errors using iterative decoding
US8543891B2 (en) Power-optimized decoding of linear codes
US9219501B2 (en) LDPC encoding/decoding method and device using same
TW201214982A (en) SISO decoder of (n, k) block code
JP4102859B2 (ja) 記録システムのためのデータ符号化/復号化方法及び装置
CN109787641B (zh) staircase码的解码方法、装置及存储介质
KR20120000040A (ko) 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법
US8019020B1 (en) Binary decoding for correlated input information
Oh et al. Performance of quantized min-sum decoding algorithms for irregular LDPC codes
KR101630114B1 (ko) 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법
KR20110139178A (ko) 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법
KR20120039577A (ko) Ldpc 복호화 장치 및 방법
KR102197751B1 (ko) 블록 터보 부호의 저 복잡도 오류정정을 위한 신드롬 기반의 혼합 복호 장치 및 그 방법
Oh et al. Optimally quantized offset min-sum algorithm for flexible LDPC decoder
CN101841338A (zh) 一种低密度奇偶校验码提前结束迭代译码的方法
US20120166905A1 (en) Method and apparatus for controlling decoding in receiver
WO2024084554A1 (ja) 推定装置、設計支援装置、推定方法、設計支援方法及びコンピュータープログラム
Haghighat et al. Iterative joint decoding for sensor networks with binary CEO model
KR20150099163A (ko) 디코더 및 그 오류 정정 방법, 그리고 그를 이용한 수신기

Legal Events

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

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

Effective date: 20140324

S901 Examination by remand of revocation
E902 Notification of reason for refusal