KR20050079986A - Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 - Google Patents
Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 Download PDFInfo
- Publication number
- KR20050079986A KR20050079986A KR1020050056264A KR20050056264A KR20050079986A KR 20050079986 A KR20050079986 A KR 20050079986A KR 1020050056264 A KR1020050056264 A KR 1020050056264A KR 20050056264 A KR20050056264 A KR 20050056264A KR 20050079986 A KR20050079986 A KR 20050079986A
- Authority
- KR
- South Korea
- Prior art keywords
- decoding
- soft decision
- turbo decoder
- llr
- repeated
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
- H03M13/3753—Decoding 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
- H04L1/0053—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 직렬로 구성된 터보복호기의 연판정 출력값인 LLR의 부호비트를 비교, 계수하여 부호비트의 다른 정도를 이용하여 소정의 반복복호 후에 중단하게 함으로써 복호지연을 줄일 수 있는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치 및 방법에 관한 것이다. LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치는 터보 복호기로서, 터보 부호화된 데이터를 반복복호하여 연판정값을 출력하는 연판정값 출력수단, 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 다른 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수를 초과한 경우, 터보 복호기의 반복복호를 중단하는 반복중단 제어수단 및 반복중단 제어수단의 반복복호 수행여부에 따라 연판정값 출력수단의 출력값을 경판정하여 복호화된 결과를 출력하는 경판정값 출력수단을 포함한다.
Description
본 발명은 무선통신 시스템에서 터보복호기의 반복복호 제어기 및 그 방법에 관한 것으로, 더욱 상세하게는 직렬로 구성된 터보복호기의 연판정 출력값인 LLR의 부호비트를 비교, 계수하여 부호비트의 다른 정도를 이용하여 소정의 반복복호 후에 중단하게 함으로써 복호지연을 줄일 수 있는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치 및 방법에 관한 것이다.
일반적으로 이동통신 등의 무선통신 분야에서는 무선채널 상에서 발생되는 잡음, 간섭과 같은 복잡한 현상으로 유선통신에 비하여 많은 오류가 발생한다. 무선채널에서 발생하는 오류를 정정하기 위해서는 강력한 오류정정 부호를 사용한다. 오류정정 부호로써 사용되는 터보부호기는 재귀적 조직형 길쌈부호(RSC : Recursive Systematic Comvolutional)를 인터리버를 사이에 두고 병렬로 연접하여 부호화하며 반복복호와 준 최적복호 방법을 통하여 수행하게 된다. 또한 터보부호기는 인터리버의 크기가 크고 반복복호를 충분히 수행되었을때 BER(Bit Error Ratio)관점에서 새논리미트(Shannon's Limit)에 근접하는 우수한 성능을 보인다.
도 1은 일반적인 무선통신 시스템에서 송신단에서 터보부호를 부호화하기 위한 부호기의 구성도로써, 입력되는 정보비트(dk)를 그대로 통과하여 하나의 정보신호 Xk(100)로 출력하며 입력되는 정보비트(dk)를 부호화하기 위한 제1 부호기(101)와 입력되는 정보비트(dk)의 입력순서를 달리하여 상관성을 줄이는 인터리버(103)와 인터리버된 정보비트(104)를 부호화하는 제2 부호기(105)로 구성된다.
따라서, 상기 터보부호기는 원래의 정보신호 Xk(100)와 제1 부호기(101) 및 제2 부호기(102)의 출력인 y1k(102)와 y2k(106)의 이중의 패리티 비트를 출력하게 된다.
또한, 터보부호기에서 원하는 부호율(Coding Rate)을 얻기위해 제1 부호기(101)와 제2 부호기(105)를 천공기(107)를 통해서 출력신호 Yk를 천공(Puncturing)한다. 이렇게 천공하여 최종적으로 얻은 부호기 출력과 원래의 정보신호 Xk(100)와 함께 채널을 통해서 수신단에 전송한다.
도 1의 터보부호기에 의해서 부호화된 부호어(Codeword)를 수신단에서 복호하는데는 도 2와 같은 구조의 복호기 두 개를 직렬로 연결하여 복호한다. 이러한 복호기는 MAP(Maximum a Posteriori)과 SOVA(Soft Output Viterbi Algorithm) 복호기를 사용하며 일반적인 BER 성능은 MAP 복호기가 더 우수한 것으로 알려져 있다.
터보부호의 복호기는 기존의 연접부호(Concatenated Codes)등과 같은 다단계 부호의 복호기와는 달리 두 복호기 사이에 외부정보의 교환이 이루어져서 복호 동작을 반복적으로 수행할 수 있다.
도 2는 종래의 터보 복호기의 구성을 보이는 블록도 이다. 이하 도 2의 터보 복호기를 참조하여 일반적인 터보 복호기의 복호화 과정을 설명한다.
먼저 제1 복호기(204)는 채널을 통해서 수신된 정보비트 Xk(200)와 패리티비트 y1k(202)를 이용하여 복호 과정을 수행하고 복호된 결과를 출력한다. 인터리버(Interleaver)(206)는 제1 복호기(204)의 출력신호(205)에 존재하는 연집오류(Burst Error)를 랜덤오류(Random Error)로 만들어주기 위해서 인터리빙 과정을 수행하고 인터리빙된 신호(207)를 출력한다. 제2 복호기(208)는 인터리빙된 신호(207)와 패리티비트 y2k(203)을 이용하여 다시 복호 과정을 수행하고 복호된 결과 를 출력한다.
이 때, 반복복호를 원하지 않을 경우, 제2 디인터리버(Deinterleaver)(210)는 제2 복호기(208)의 출력신호(209)를 디인터리빙하고, 경판정기(212)는 디인터리빙된 신호(211)를 경판정하여 복호신호 (213)로 출력한다. 그러나, 반복복호를 하기 위해서는 제2 복호기(208)의 출력신호 중에서 외부정보값을 추출하여 제1 디인터리버(Deinterleaver)(215)를 통하여 제1 복호기(204)로 피드백(Feedback)한다. 이 피드백된 신호가 제1 복호기(204)에서 사전정보값(216)으로 사용되어 반복복호시에 정보비트의 신뢰도를 향상시켜 주는 역할을 담당한다. 이러한 반복복호는 원하는 성능을 얻을 때까지 계속 수행된다.
종래에 이동통신 등의 무선통신 분야에서 전파지연 및 다중 전파경로 수신에 의한 페이딩 등으로 인한 채널잡음 때문에 많은 전송 오류가 발생한다. 이러한 문제점을 개선하고 데이터의 신뢰도를 높이기 위하여 사용되는 오류 정정 부호는 디지탈 이동통신 시스템에서 중요한 요소로 자리잡고 있다.
최근에 발표된 터보부호는 RSC 부호를 병렬로 연결하여 부호화하며 반복복호를 통하여 복호 동작을 수행하게 된다. 또한 터보부호는 인터리버의 크기가 크고 반복복호가 충분히 수행되었을 때 BER 관점에서 샤논 리미트(Shannon Limit)에 근접하는 우수한 성능을 보인다.
그러나, 종래의 방법은 많은 연산량에 따른 복잡도의 증가, 인터리버와 반복복호에 따른 복호 지연 및 실시간 처리에 대한 여러가지 문제점이 있다.
수신단에서 터보부호의 복호화 장치인 터보복호기는 입력전에 미리 정해진 반복복호 횟수에 따라 복호를 수행한다. 임의의 반복복호 횟수를 거친 후에 얻어낸 최종출력인 LLR 값에 대해서 0(zero)을 임계값으로 하여 경판정(Hard-Decision)하므로써 터보 부호기의 입력 정보비트 값을 추정하게 된다.
이러한 경우에 반복복호 횟수가 증가할수록 BER은 점점 좋아지나 데이터 전송의 지연시간이 제한되어 있고 터보 부호의 복호기에서는 반복복호 횟수가 증가하더라도 부호이득(Coding Gain)이 더 이상 좋아지지 않는 현상이 발생하게 된다.
또한 BER 성능의 향상을 위한 반복복호 횟수의 증가는 복호화 시간의 증가를 초래하므로 실제 시스템에서 원하는 BER 성능을 얻기위해 반복복호 횟수를 계속해서 증가시킬 수가 없다는 문제점이 발생한다. 따라서, 이러한 반복복호 기술은 일정이상의 성능을 얻은 터보복호기에서는 비효율적이며 데이터 복호를 지연시키는 문제점을 가지고 있다.
이러한 문제를 해결하기 위해서 소정의 반복복호 후에 복호를 중단하기위한 정지기준(stop criterion)을 필요로 하게 된다. 최근까지, 하겐워(Hagenauer)가 제안한 교차 엔트로피(CE : Cross Entropy)에 의한 정지기준(Stop Criterion)을 많이 사용하고 있으나, 이 방식은 다소 복잡한 계산을 포함하고 있어서 많은 연산량으로 인한 복잡도의 증가 및 하드웨어 구현상의 어려움 등의 많은 문제점이 있다.
본 발명이 이루고자 하는 기술적인 과제는 직렬로 구성된 터보복호기의 연판정 출력값인 LLR의 부호비트를 비교, 계수하여 부호비트의 다른 정도를 이용하여 소정의 반복복호 후에 중단하게 함으로써 복호지연을 줄일 수 있는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치 및 방법을 제공하는데 있다.
본 발명이 이루고자 하는 상기 기술적인 과제를 해결하기 위한 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치는 터보 복호기로서, 터보 부호화된 데이터를 반복복호하여 연판정값을 출력하는 연판정값 출력수단; 상기 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 다른 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수를 초과한 경우, 상기 터보 복호기의 반복복호를 중단하는 반복중단 제어수단; 및 상기 반복중단 제어수단의 반복복호 수행여부에 따라 상기 연판정값 출력수단의 출력값을 경판정하여 복호화된 결과를 출력하는 경판정값 출력수단을 포함하는 것이 바람직하다.
본 발명에 있어서, 최대 반복복호 횟수가 설정되어 있고, 상기 연판정값 출력수단의 연판정값으로부터 반복복호 횟수를 카운트하여 그 결과를 반복중단 제어수단으로 출력하는 카운터를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 연판정값 출력수단은 제1 복호화된 데이터를 연판정하는 제1 연판정기; 및 제2 복호화 및 인터리빙된 데이터를 연판정하는 제2 연판정기를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 반복중단 제어수단은 상기 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 같은 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수 미만인 경우, 상기 터보 복호기의 반복복호가 계속 수행되도록 제어하는 것을 특징으로 한다.
본 발명에 있어서, 상기 반복중단 제어수단은 상기 제1 연판정기로부터 출력되는 비트열의 부호를 저장하는 제1 부호 저장부; 상기 제2 연판정기로부터 출력되는 비트열의 부호를 저장하는 제2 부호 저장부; 상기 제1 부호 저장부 및 제2 부호 저장부의 부호를 비교하는 비교기; 상기 비교 결과, 제1 부호 저장부 및 제2 부호 저장부의 부호가 다른 경우 설정된 다운카운트 값을 내림차순 카운트하는 다운 카운터; 반복복호 횟수를 카운트하는 카운터; 및 상기 다운 카운터가 0이 아닌 값을 카운트 하거나, 상기 카운터가 설정된 최대 반복횟수를 수행한 경우, 반복복호 중단신호를 상기 경판정 출력수단으로 출력하는 반복복호 중단신호 발생기를 포함하는 것을 특징으로 한다.
본 발명이 이루고자 하는 상기 기술적인 과제를 해결하기 위한 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어방법은 터보 복호기에 적용되는 반복중단 제어방법으로서, (a) 연판정된 제1 복호화된 데이터의 부호를 저장하는 단계; (b) 연판정된 제2 복호화 및 디인터리빙된 데이터의 부호를 저장하는 단계; (c) 상기 부호를 비교하여 서로 다른 부호인 경우를 내림차순 카운트하는 다운카운터의 다운카운트를 수행하는 단계; (d) 카운터에 의해 반복복호 횟수를 카운트한 값과 상기 카운터에 기 설정된 최대 반복복호 횟수를 비교하는 단계; (e) 상기 다운 카운터의 카운트 값이 0이 아니거나, 상기 카운터가 최대 반복복호 횟수를 초과하는 경우 반복복호 중단신호를 발생하는 단계; 및 (f) 상기 연판정된 제2 복호화 및 디인터리빙된 데이터를 경판정하여 출력하는 단계를 포함하는 것이 바람직하다.
본 발명에 있어서, 상기 다운 카운터가 부호가 같은 경우를 카운트하거나, 상기 카운터가 반복복호 횟수가 설정된 최대 반복복호 횟수 미만을 카운트한 경우, 상기 터보 복호기의 반복복호가 계속 수행되는 것을 특징으로 한다.
본 발명에서는 터보복호기에서 반복복호가 충분히 수행되었을 때 우수한 성능을 얻지만 실제적으로 채널 환경에 따라 더 이상의 반복복호 후에도 부호이득이 계속 증가하지 않음을 동기로 삼아 시스템에서 요구하는 성능을 얻었을 경우 적응적으로 반복복호를 제어하는 정지기준(Stop Criterion)을 고려하였다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 3는 본 발명에 따른 터보복호기의 반복복호 제어장치의 구성을 보이는 블록도로서, 제1 복호기(304), 인터리버(306), 제2 복호기(308), 제1 디인터리버(311), 제2 디인터리버(313), 반복복호 제어기(317), 스위칭부(320), 경판정기(321)를 포함한다.
도 1의 터보 부호기에서 출력된 신호 즉, 정보비트 Xk(300)와 패리티비트 (301)를 채널을 통해서 수신한 후, 수신된 패리티비트 Yk(301)를 디펑쳐링(Depuncturing)하여 제1 부호기(101)에서 출력된 패리티비트 y1k(302)는 제1 복호기(304)로, 제2 부호기(105)에서 출력된 패리티비트 y2k(303)는 제2 복호기(308)로 보낸다. 그 후에, 상기 제1 복호기(304)에서는 Xk(300)와 y1k(302)를 이용하여 복호한 다음, 제1 복호기(304)의 출력(305)을 인터리버(306)에서 인터리빙(Interleaving)한 신호(307)와 y2k(303)를 이용하여 상기 제2 복호기(308)에서 복호한다.
이 때, 반복복호를 원하지 않을 경우에는 상기 제2 복호기(308)의 출력신호(309)를 제2 디인터리버(313)에서 디인터리빙(Deinterleaving)한 다음, 경판정기(321)를 통해 경판정한 신호(322)을 복호 신호로 내보낸다. 그러나, 반복복호를 하기 위해서는 상기 제2 복호기(308)의 출력신호(310)를 제1 디인터리버(311)에서 디인터리빙한 신호(312)와 수신신호 Xk(300)와 y1k(302)를 이용하여 상기 제1 복호기(304)로 다시 복호한다. 이러한 반복복호는 원하는 성능을 얻을 수 있을 때까지 할 수 있다.
그러나 반복복호는 반복복호 횟수가 증가함에 따라서 추가적인 계산량과 복호지연 등의 문제를 일으키므로 이를 해결하기 위해서 소정의 반복복호 후에 복호를 중단하기위한 반복복호 제어기(317)을 추가적으로 구성하였다.
도 4는 도 3 중 반복복호 제어기 및 주변 장치의 상세도로서, 제1 연판정기(401), 제2 연판정기(403), 카운터(405), 제1 부호저장부(317-1), 제2 부호저장부(317-2), 비교기(317-3), 다운카운터(317-4), 반복복호 중단신호 발생기(317-5)를 포함하는 반복복호 제어기(317) 및 경판정기(321)를 포함한다.
제1 연판정기(401)는 제1 복호기(304)의 출력(318)을 연판정하여 연판정값인 LLR(Log Likelihood Ratio)의 부호비트를 출력하고, 제2 연판정기(403)는 제2 디인터리버(313)의 출력(315)을 연판정하여 연판정값인 LLR의 부호비트를 출력한다.
LLR이란 입력 정보비트 가 1(one)일 사후확률(APP : a posteriori probability)값과 입력 정보비트 가 0(zero)일 사후확률 값의 비율에 대한 로그(logarithm)값을 의미하며 터보 복호기에서 출력되는 LLR에 대한 정의식은 수학식 1과 같다.
수학식 1에 의해서, L(dk)값이 (+)이면 정보비트 dk는 1(one)로, L(dk)값이 (-)이면 정보비트 dk는 0(zero)으로 추정할 수 있으며, LLR 값이 클수록 이러한 추정의 신뢰성은 더욱 높아진다고 할 수 있다.
따라서 수학식 1에서 정의된 LLR은 정보비트 dk에 대한 신뢰도를 나타내며 반복복호시 성능향상에 중요한 역할을 하게 된다. 반복복호는 각 정보비트이 LLR 값을 향상 시킨다. 그리고 각 정보비트는 LLR 값의 부호를 판정하여 결정된다. 반복복호가 거듭될수록 첫 번째 복호기와 두 번째 복호기의 LLR의 부호가 수학식 2와 같이 됨을 가정하였다.
수학식 2에서, i는 반복복호 횟수를 의미하며 k는 한 프레임 내에서 k번째 입력 정보를 의미한다. 또한 는 제1 복호기(304)의 LLR 출력이며, 는 제2 복호기(306)의 LLR 출력을 의미한다. 반복복호가 거듭 될수록 제1 복호기(304)와 제2 복호기(305)의 LLR의 부호비트가 같은 값으로 수렴하게 되며 정보비트를 올바르게 복호할 수 있게 된다는 것이다.
제1 부호저장부(317-1)는 제1 연판정기(401)로부터 출력되는 제1 복호기(304)의 출력(318)에 대한 연판정값인 LLR의 부호비트를 저장하고, 제2 부호저장부(317-2)는 제2 연판정기(403)로부터 출력되는 제2 디인터리버(313)의 출력(315)에 대한 연판정값인 LLR의 부호비트를 저장한다.
그러나 제1 복호기(304)의 LLR 시퀀스는 제2 복호기(308) 사이의 인터리버(306)가 있어 서로 다른 출력 시퀀스를 갖기 때문에 제1 부호저장부(317-1)는 연판정된 제1 복호기(304)의 출력(318)을 저장하고 제2 부호저장부(317-2)는 연판정된 제2 디인터리버(313)의 출력(315)을 저장한다.
비교부(317-3)는 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호를 비교한다. 비교부(317-3)의 비교 결과, 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호가 같으면 0(zero)을 출력한다. 그러나, 비교부(317-3)의 비교 결과, 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호가 다르면 1(one)을 출력한다.
다운카운터(317-4)는 비교부(317-3)에서 출력되는 값을 내림차수 카운트한다. 여기서, 시스템에서 요구하는 BER에 따라서 다운카운터(317-4)의 초기값을 초기화한다.
예를 들어, 다운카운터(317-4)에 초기값이 "5"로 설정되어 있는 경우, 비교부(317-3)의 출력이 1(one)이면 다운카운터(317-4)는 내림차수 카운트를 수행하여 이후 카운트값이 "4"가 되지만, 비교부(317-3)의 출력이 0(zero)이면 다운카운터(317-4)는 내림차수 카운트를 수행하지 않는다.
그리고 내림차수 계수하여 다운 카운터(317-4)의 값이 0(zero)가 될 경우는 더 이상 내림차수 카운트를 수행하지 않는다.
반복복호 중단신호 발생부(317-5)는 다운카운터(317-4) 및 카운터(405)의 값에 따라 반복복호 중단신호를 출력한다. 반복복호 중단신호 발생부(317-5)는 다운 카운터(317-4)의 값이 0 (zero)이 아닌 값을 갖거나 카운터(405)의 값이 최대 반복복호 횟수를 수행 했다면, 경판정기(321)에 반복복호 중단신호를 출력한다.
그러나, 반복복호 중단신호 발생부(317-5)는 다운 카운터(317-4)의 값이 0 (zero)인 값을 갖거나 카운터(405)의 값이 최대 반복복호 횟수를 수행하지 않은 경우에 계속하여 반복복호를 수행하도록 제어한다.
반복복호 중단신호 발생부(317-5)는 다운카운터(317-4)의 출력과 카운터(405)의 출력을 논리합(OR)하고 그 결과를 경판정기(321)에 출력한다.
반복복호 중단신호 발생부(317-5)에서 출력되는 반복복호 중단신호(319)는 도 3에서 스위칭부(320)의 스위칭 제어신호로도 사용되어, 반복복호 중단신호에 의해 제2 디인터리버(313)의 출력(314)이 경판정기(321)로 스위칭되도록 한다.
카운터(405)에는 최대 반복복호 횟수(max_N_iter)가 설정되어 있으며, 카운터(405)는 최대 반복복호 횟수동안 터보 복호기의 반복복호 횟수를 카운트하여 반복복호 중단신호 발생기(317-5)로 출력한다.
경판정기(321)가 반복복호 중단신호 발생부(317-5)에서 출력되는 반복복호 중단신호에 의해서 턴-온(turn-on)되면, 소정의 반복복호 횟수동안 반복복호 수행 여부에 따라서 제2 디인터리버(313)의 출력을 경판정하여 복호된 결과를 출력한다. 경판정기(321)는 제2 디인터리버(313)에서 출력된 값이 양수일때는 1(one)로, 음수일때는 0(zero)으로 경판정값을 출력한다.
본 발명에서는 터보복호기의 제1 복호기와 제2 복호기의 LLR 부호비트의 수렴여부에 따라 반복복호의 중단여부를 결정한다. 수렴여부의 판단을 위해서 두 복호기 LLR의 부호비트의 차이(Lsd)와 프레임내의 오류갯수(Nerr)를 통하여 다음과 같은 4가지의 경우를 나타낼 수 있다.
경우1. 반복복호가 진행하더라도 Lsd와 Ner이 큰 값을 가지는 경우
경우2. 반복복호가 진행함에 따라 Lsd와 Nerr이 0이되는 경우
경우3. 반복복호가 진행함에 따라 Lsd는 0이지만 Nerr이 0이되지 않는 경우
경우4. 반복복호가 진행함에 따라 Lsd가 0이 되지 않지만 Nerr은 0이되는 경우
먼저 경우1은 반복복호를 진행하더라도 프레임내에 오류가 여전히 남아있어서 정보비트를 복호할 수 없는 경우로, 이 경우 수렴하지 않았다고 판단하고 반복복호를 수행한다.
경우2는 반복복호가 진행됨에 따라 프레임 내의 오류가 없기 때문에 정보비트를 정확히 복호하는 경우로, 이 경우 수렴할 것이라고 판단하고 반복복호를 중단한다.
경우3은 복호기가 수신된 정보열에 오류가 없다고 판단하였지만 프레임 내에 오류가 남아있는 경우로, 이 경우 수렴할 것이라고 판단하고 반복복호를 중단한다.
경우4는 두 복호기의 LLR 부호가 같지는 않지만 프레임 내의 오류가 존재하지 않은 경우로, 이 경우 수렴할 것이라고 판단하고 반복복호를 중단한다. 이 경우는 반복복호가 진행됨에 따라 첫 번째 복호기에서 나타난 오류를 두 번째 복호기에서 정정하기 때문에 나타나는 현상으로 볼 수 있다. 따라서 이러한 경우에 반복을 중단한다면 수학식 2이 되기 직전에 반복을 중단하는 경우로 볼 수 있다. 이에 근거하여 반복복호를 중단시키기 위한 중단조건을 제시하면 수학식 3과 같다.
여기서 Sd는 첫 번째 복호기와 두 번째 복호기의 LLR 값의 부호가 다른 개수이며, 은 프레임 크기이다. 본 논문에서 제안된 반복복호 중단 알고리즘은 각 반복복호 과정에서 터보복호기의 LLR 출력값에 대한 신뢰도를 측정하는 척도로써 두 복호기간의 LLR 부호의 서로 다른 개수를 이용한다.
도 5는 본 발명에 따른 터보복호기의 반복복호 제어방법의 동작을 보이는 흐름도이다. 도 5에 도시된 바와 같이, 먼저 터보부호는 반복복호를 제어하기 위하여 카운터(405)의 최대반복복호 횟수(max_N_iter)를 설정하고, 카운터(405)의 현재 반복복호 횟수(N_iter=0)를 초기화 하고, 다운카운터(317-4)의 초기값을 설정한다(501단계).
이후, 터보부호기에서 출력되는 신호를 제1 복호기(304)에서 제1 복호화 하고(503단계), 제1 복호기(304)의 출력(318)에 대한 연판정값인 LLR의 부호비트를 제1 부호저장부(317-1)에 저장한다(505단계).
터보부호기에서 출력되는 신호를 제2 복호기(308)에서 복호화 하고(507단계), 제2 디인터리버(313)에서 디인터리빙한 후 제2 디인터리버(313)의 출력(315)에 대한 연판정값인 LLR의 부호비트를 제2 부호저장부(317-2)에 저장한다(509단계).
이후, 그리고 성능개선을 위한 반복복호를 수행하면 반복복호 횟수를 카운트하는 카운터(405)의 반복복호 횟수(N_iter)를 1(one) 증가시킨다(511단계).
비교부(317-3)는 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호를 비교한다(513단계).
그러나, 비교부(317-3)의 비교 결과(515단계), 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호가 다르면 1(one)을 출력한다(517단계).
이후, 다운카운터(317-4)는 설정된 초기값을 1(one) 감소한다(519단계).
비교부(317-3)의 비교 결과(515단계), 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호가 같으면 0(zero)을 출력한다(521단계).
다운카운터(317-4)의 다운카운트 수행결과가 0(zero)인가를 판단하여(523단계), 다운카운터(317-4)의 다운카운트 수행결과가 0(zero)인 경우 카운터(405)가 최대 반복복호 횟수를 수행하였는지 판단한다(525단계).
다운카운터(317-4)의 다운카운트 수행결과가 0(zero)이 아니거나, 카운터(405)가 최대 반복복호를 수행한 경우, 반복복호 중단신호를 발생하고(527단계), 제2 인터리버(313)의 출력을 경판정하여 출력한다(529단계).
그러나, 카운터(405)가 최대 반복복호를 수행하지 않은 경우 503단계로 점프하여 반복복호를 수행한다.
도 6은 본 발명의 정지기준과 교차 엔트로피(Cross Entropy)에 의한 정지기준의 평균 반복복호 횟수를 비교하여 나타낸 테이블 이다.
BER=10-6 영역에서 부호율이 1/3이고 8-상태(State)를 가지는 터보부호에 대하여 모의실험한 결과로서 본 발명의 정지기준이 기존의 교차 엔트피 방식과 비교하여 약 0.5회∼1.1회 정도의 평균 반복복호 횟수의 감소와 약 11%∼19% 정도의 계산량의 감소 효과가 있음을 확인하였다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상에서 상술한 바와같이 본 발명은, 터보부호의 문제점 중의 하나인 반복복호로 인한 계산량과 복호 지연시간을 단축시킬 수 있고, 반복복호 중단기준을 결정하는데 이용할 수 있는 효과가 있는데 이를 더욱 구체적으로 설명하면 다음과 같다.
첫째, 본 발명에 따르면, 터보 복호 과정에서 제1복호기와 제2복호기의 연판정 출력값에 대한 LLR의 부호를 판별하여 소정 조건을 만족하면 반복복호를 중단시키고, 복호 결과가 수렴하지 않을 경우에도 지정된 반복복호 횟수동안 진행한 후에 중단시킴으로써 데이터의 복호지연을 줄일 수 있는 효과가 있다.
둘째, 본 발명에 따르면, 복호 지연시간 단축으로 인하여 전력소모를 줄일 수 있고 시스템 전체의 용량증가를 도모하며 양질의 고속 멀티미디어 서비스를 제공할 수 있는 효과가 있다.
셋째, 본 발명에 따르면, 본 발명의 정지기준을 사용하여 터보 복호화 장치의 반복복호 횟수를 제어하므로써 종래의 반복복호 기법인 하겐워(Hagenauer)의 교차엔트로피 방식에서 필요로 하는 지수(Exponential)의 계산이 불필요하여 비교적 간단한 계산을 수행하므로 계산량을 줄일 수 있는 효과가 있다.
도 1은 일반적인 터보부호기의 구성을 보이는 블록도이다.
도 2는 종래의 터보복호기의 구성을 보이는 블록도이다.
도 3는 본 발명에 따른 터보복호기의 반복복호 제어장치의 구성을 보이는 블록도이다.
도 4는 도 3 중 반복복호 제어기 및 주변 장치의 상세도이다.
도 5는 본 발명에 따른 터보복호기의 반복복호 제어방법의 동작을 보이는 흐름도이다.
도 6은 본 발명의 정지기준과 교차 엔트로피에 의한 정지기준의 평균 반복복호 횟수를 비교하여 나타낸 테이블 이다.
Claims (7)
- 터보 복호기로서,터보 부호화된 데이터를 반복복호하여 연판정값을 출력하는 연판정값 출력수단;상기 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 다른 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수를 초과한 경우, 상기 터보 복호기의 반복복호를 중단하는 반복중단 제어수단; 및상기 반복중단 제어수단의 반복복호 수행여부에 따라 상기 연판정값 출력수단의 출력값을 경판정하여 복호화된 결과를 출력하는 경판정값 출력수단을 포함하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.
- 제 1항에 있어서, 최대 반복복호 횟수가 설정되어 있고, 상기 연판정값 출력수단의 연판정값으로부터 반복복호 횟수를 카운트하여 그 결과를 반복중단 제어수단으로 출력하는 카운터를 더 포함하는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.
- 제 2항에 있어서. 상기 연판정값 출력수단은제1 복호화된 데이터를 연판정하는 제1 연판정기; 및제2 복호화 및 인터리빙된 데이터를 연판정하는 제2 연판정기를 포함하는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.
- 제 1항에 있어서, 상기 반복중단 제어수단은상기 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 같은 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수 미만인 경우, 상기 터보 복호기의 반복복호가 계속 수행되도록 제어하는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.
- 제 3항에 있어서, 상기 반복중단 제어수단은상기 제1 연판정기로부터 출력되는 비트열의 부호를 저장하는 제1 부호 저장부;상기 제2 연판정기로부터 출력되는 비트열의 부호를 저장하는 제2 부호 저장부;상기 제1 부호 저장부 및 제2 부호 저장부의 부호를 비교하는 비교기;상기 비교 결과, 제1 부호 저장부 및 제2 부호 저장부의 부호가 다른 경우 설정된 다운카운트 값을 내림차순 카운트하는 다운 카운터;반복복호 횟수를 카운트하는 카운터; 및상기 다운 카운터가 0이 아닌 값을 카운트 하거나, 상기 카운터가 설정된 최대 반복횟수를 수행한 경우, 반복복호 중단신호를 상기 경판정 출력수단으로 출력하는 반복복호 중단신호 발생기를 포함하는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.
- 터보 복호기에 적용되는 반복중단 제어방법으로서,(a) 연판정된 제1 복호화된 데이터의 부호를 저장하는 단계;(b) 연판정된 제2 복호화 및 디인터리빙된 데이터의 부호를 저장하는 단계;(c) 상기 부호를 비교하여 서로 다른 부호인 경우를 내림차순 카운트하는 다운카운터의 다운카운트를 수행하는 단계;(d) 카운터에 의해 반복복호 횟수를 카운트한 값과 상기 카운터에 기 설정된 최대 반복복호 횟수를 비교하는 단계;(e) 상기 다운 카운터의 카운트 값이 0이 아니거나, 상기 카운터가 최대 반복복호 횟수를 초과하는 경우 반복복호 중단신호를 발생하는 단계; 및(f) 상기 연판정된 제2 복호화 및 디인터리빙된 데이터를 경판정하여 출력하는 단계를 포함하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어방법.
- 제 6항에 있어서,상기 다운 카운터가 부호가 같은 경우를 카운트하거나, 상기 카운터가 반복복호 횟수가 설정된 최대 반복복호 횟수 미만을 카운트한 경우, 상기 터보 복호기의 반복복호가 계속 수행되는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050056264A KR100738250B1 (ko) | 2005-06-28 | 2005-06-28 | Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050056264A KR100738250B1 (ko) | 2005-06-28 | 2005-06-28 | Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050079986A true KR20050079986A (ko) | 2005-08-11 |
KR100738250B1 KR100738250B1 (ko) | 2007-07-12 |
Family
ID=37266823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050056264A KR100738250B1 (ko) | 2005-06-28 | 2005-06-28 | Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100738250B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100849085B1 (ko) * | 2006-02-03 | 2008-07-30 | 한국전자통신연구원 | 가변 이득계수를 이용한 저복잡도 및 저전력 터보 복호기 |
US7861135B2 (en) | 2006-02-03 | 2010-12-28 | Electronics And Telecommunications Research Institute Of Daejeon | Low-complexity and low-power-consumption turbo decoder with variable scaling factor |
WO2011013949A2 (ko) * | 2009-07-28 | 2011-02-03 | (주)네스랩 | 저전력 터보복호기의 조기정지 시스템 및 방법 |
US8458578B2 (en) | 2007-05-17 | 2013-06-04 | Samsung Electronics Co., Ltd. | Apparatus for generating soft decision values using an analog-to-digital converter and method thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100362912B1 (ko) * | 2000-03-27 | 2002-11-29 | 학교법인 포항공과대학교 | 터보 복호기에서 반복 복호를 중지하는 장치 및 이를구비한 터보 복호기 |
JP2002100995A (ja) * | 2000-09-22 | 2002-04-05 | Sony Corp | 復号装置及び方法、並びにデータ受信装置及び方法 |
KR100443174B1 (ko) * | 2001-12-27 | 2004-08-04 | 한국전자통신연구원 | 포화비트 값을 이용한 반복 복호 제한 장치 및 그를이용한 터보 복호 시스템 |
KR100517977B1 (ko) * | 2002-10-28 | 2005-10-04 | 엘지전자 주식회사 | 터보 디코더의 디코딩 반복 제한 방법 |
KR20040086872A (ko) * | 2003-03-22 | 2004-10-13 | 김환용 | 터보 복호기의 반복복호 횟수 제어장치 및 그 방법 |
KR100530339B1 (ko) * | 2003-05-09 | 2005-11-22 | 김환용 | 터보 복호기의 복호 지연시간 감소장치 및 그 방법 |
-
2005
- 2005-06-28 KR KR1020050056264A patent/KR100738250B1/ko not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100849085B1 (ko) * | 2006-02-03 | 2008-07-30 | 한국전자통신연구원 | 가변 이득계수를 이용한 저복잡도 및 저전력 터보 복호기 |
US7861135B2 (en) | 2006-02-03 | 2010-12-28 | Electronics And Telecommunications Research Institute Of Daejeon | Low-complexity and low-power-consumption turbo decoder with variable scaling factor |
US8458578B2 (en) | 2007-05-17 | 2013-06-04 | Samsung Electronics Co., Ltd. | Apparatus for generating soft decision values using an analog-to-digital converter and method thereof |
WO2011013949A2 (ko) * | 2009-07-28 | 2011-02-03 | (주)네스랩 | 저전력 터보복호기의 조기정지 시스템 및 방법 |
WO2011013949A3 (ko) * | 2009-07-28 | 2011-04-21 | (주)네스랩 | 저전력 터보복호기의 조기정지 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100738250B1 (ko) | 2007-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8443265B2 (en) | Method and apparatus for map decoding and turbo decoder using the same | |
KR100321978B1 (ko) | 통신시스템에서반복복호장치및방법 | |
KR100860733B1 (ko) | 디코딩 디바이스, 디코딩 방법, 및 수신 장치 | |
KR100876735B1 (ko) | 이동통신 시스템에서 반복 복호 정지 장치 및 방법 | |
WO1999007076A2 (en) | Adaptive channel encoding method and device | |
KR20080010609A (ko) | 다중입력 다중출력 통신 시스템의 오류 정정 장치 및 방법 | |
US7886209B2 (en) | Decoding device, decoding method, and receiving apparatus | |
JP2001257601A (ja) | 誤り訂正符号化タイプのデジタル送信方法 | |
KR19990081470A (ko) | 터보복호기의 반복복호 종료 방법 및 그 복호기 | |
US20180248563A1 (en) | Device and Method of Controlling an Iterative Decoder | |
KR100738250B1 (ko) | Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 | |
KR100530339B1 (ko) | 터보 복호기의 복호 지연시간 감소장치 및 그 방법 | |
US6801588B1 (en) | Combined channel and entropy decoding | |
AlMahamdy et al. | Early termination of turbo decoding by identification of undecodable blocks | |
KR100823727B1 (ko) | 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법 | |
CN108476027B (zh) | 窗口交织的turbo(wi-turbo)码 | |
KR100662076B1 (ko) | 연판정 출력의 차이값에 대한 절대평균값을 이용한 반복중단 제어장치 및 그 방법 | |
KR20040086872A (ko) | 터보 복호기의 반복복호 횟수 제어장치 및 그 방법 | |
JP2002353821A (ja) | 誤り訂正復号方法および復号装置 | |
US7565594B2 (en) | Method and apparatus for detecting a packet error in a wireless communications system with minimum overhead using embedded error detection capability of turbo code | |
JP2005167513A (ja) | 復号装置及び復号方法 | |
KR100776910B1 (ko) | 비이진부호에서의 scr/sdr을 이용한 반복 복호 장치및 그 동작 방법 | |
Janvars et al. | Hard decision decoding of single parity turbo product code with N-level quantization | |
KR100370780B1 (ko) | 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기 | |
KR100564016B1 (ko) | 터보 복호기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20120628 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130702 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |