KR100823727B1 - 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법 - Google Patents

터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법 Download PDF

Info

Publication number
KR100823727B1
KR100823727B1 KR1020060043957A KR20060043957A KR100823727B1 KR 100823727 B1 KR100823727 B1 KR 100823727B1 KR 1020060043957 A KR1020060043957 A KR 1020060043957A KR 20060043957 A KR20060043957 A KR 20060043957A KR 100823727 B1 KR100823727 B1 KR 100823727B1
Authority
KR
South Korea
Prior art keywords
value
decoding
output
soft decision
noise variance
Prior art date
Application number
KR1020060043957A
Other languages
English (en)
Other versions
KR20070111079A (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 KR1020060043957A priority Critical patent/KR100823727B1/ko
Publication of KR20070111079A publication Critical patent/KR20070111079A/ko
Application granted granted Critical
Publication of KR100823727B1 publication Critical patent/KR100823727B1/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/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/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. 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/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/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

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

본 발명은 무선 이동통신 시스템 등에서 사용되는 터보부호의 복호기에 관한 것으로, 보다 상세하게는 터보 복호기의 현재 복호 과정에서 출력되는 연판정 출력값에 대한 평균값으로부터 유도되는 잡음 분산값을 판정 함수로 이용하여 소정의 반복복호 후에 판정 함수의 판정 결과에 따라 BER(Bit Error Rate) 성능의 손실없이 계산량과 평균 반복복호 횟수를 효율적으로 감소시킬 수 있는 터보 복호기의 반복중단 제어장치 및 그 방법에 관한 것이다. 상기 터보 복호기의 반복중단 제어장치는 터보 복호기로서, 터보 부호화된 데이터를 반복복호하여 연판정값을 출력하고, 반복복호 중단신호에 의해서 반복복호를 중단하는 연판정값 출력부; 상기 연판정값 출력부에서 출력되는 연판정 출력값을 디인터리빙하여 상기 연판정 출력값에 대한 평균값을 계산하고, 상기 평균값으로부터 잡음 분산값을 유도한 후에 상기 유도된 잡음 분산값과 소정의 임계값을 비교하고, 상기 비교 결과에 따라 상기 터보 복호기의 반복복호 횟수를 제어하는 반복중단 제어기; 및 상기 반복중단 제어기의 반복복호 수행여부에 따라 상기 연판정값 출력부의 출력값을 경판정하여 복호 결과를 출력하는 경판정값 출력부를 포함하는 것을 특징으로 한다.

Description

터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치 및 그 방법{Apparatus and method for iterative decoding stop control using variance values of noise in turbo decoder}
도 1은 종래의 터보 부호기의 구성도 이다.
도 2는 종래의 터보 복호기의 구성도 이다.
도 3은 본 발명에 따른 터보 복호기의 반복중단 제어장치의 구성도 이다.
도 4는 본 발명에 따른 반복중단 제어부 및 주변장치의 상세도 이다.
도 5는 각 반복 횟수에 따른 LLR의 평균값을 보여주는 도면이다.
도 6은 각 반복 횟수에 따른 잡음 분산값을 보여주는 도면이다.
도 7은 본 발명에 따른 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어방법에 대한 흐름도 이다.
본 발명은 무선 이동통신 시스템 등에서 사용되는 터보부호의 복호기에 관한 것으로, 보다 상세하게는 터보 복호기의 현재 복호 과정에서 출력되는 연판정 출력값에 대한 평균값으로부터 유도되는 잡음 분산값을 판정 함수로 이용하여 소정의 반복복호 후에 판정 함수의 판정 결과에 따라 BER 성능의 손실없이 계산량과 평균 반복복호 횟수를 효율적으로 감소시킬 수 있는 터보 복호기의 반복중단 제어장치 및 그 방법에 관한 것이다.
종래에 무선 이동통신 시스템은 전파지연 및 다중경로 페이딩 등으로 인한 채널잡음 때문에 많은 전송 오류가 발생한다. 이러한 문제점을 개선하고 데이터의 신뢰도를 높이기 위하여 사용되는 오류정정 부호는 상기 무선 이동통신 시스템에서 중요한 요소로 자리잡고 있다.
상기 무선 이동통신 시스템은 전송 채널에서 발생하는 잡음이나 간섭으로 인한 오류를 정정하기 위하여 오류정정을 수행한다. 상기 오류정정은 순방향 오류정정(FEC : Forward Error Correction)과 역방향 오류정정(REC : Reverse Error Correction)으로 크게 구분된다. 상기 순방향 오류정정은 기지국으로부터 이동 단말기로의 전송 채널에 대해서 수행하는 오류정정이며, 상기 역방향 오류정정은 이동 단말기로부터 기지국으로의 전송 채널에 대해서 수행하는 오류정정이다. 전술한 오류정정들 가운데 무선 이동통신 시스템에서 보다 중요시되고 있는 것이 순방향 오류정정이다.
통상적으로 무선 이동통신 시스템에서 이루어지는 FEC는 대표적으로 컨벌루션널 부호(Convolutional Codes)를 이용하는 방법과 터보부호(Turbo Codes)를 이용하는 방법이 있다. 특히 최근 제 3세대 이동통신 시스템으로서 주목받고 있는 동기방식(3GPP2 : 3rd Generation Partnership Project 2)과 비동기방식(3GPP : 3rd Generation Partnership Project) 모두에서 오류정정 부호로서 터보부호가 채택되 었다. 상기 터보부호는 기존에 사용되던 컨벌루션널 부호에 비하여 고속 데이터 전송시에 성능이 우수한 것으로 알려져 있다. 또한 상기 FEC의 한 종류인 터보부호는 전송 채널에서 발생하는 잡음에 의한 오류를 효과적으로 정정하여 데이터 전송의 신뢰도를 높일 수 있다는 장점을 가진다. 그러나 기존에 사용되던 컨벌루션널 부호는 매 입력 프레임마다 한 번의 복호를 수행한 후에 복호된 데이터를 출력하는 반면에 상기 터보부호는 매 입력 프레임마다 여러 번의 복호를 수행한 후에 복호된 데이터를 출력하는 반복복호(Iterative Decoding)방법을 사용한다.
도 1은 종래의 터보 부호기의 구성도 로서, 이하 도 1의 터보 부호기를 참조하여 일반적인 터보 부호기의 부호화 과정을 설명한다.
상기 터보 부호기는 입력 정보비트의 입력 순서를 바꾸어 주는 인터리버(Interleaver)와 재귀적 조직형 길쌈부호(RSCC : Recursive Systematic Convolutional Codes)를 병렬로 연결한 구조로 되어있다. 상기 터보 부호기는 N 개의 정보비트가 하나의 프레임(Frame)으로 이루어져 있으며 프레임 단위로 부호화 과정을 수행한다. 도 1에 도시된 터보 부호기는 입력 정보비트 dk 를 이용하여 패리티(Parity)비트를 만드는 두 개의 간단한 RSC(Recursive Systematic Convolutional) 부호기 즉, 제1 부호기(101) 및 제2 부호기(105)가 인터리버(103)를 통해서 병렬로 연결되어 있다.
도 1에서와 같이 상기 터보 부호기는 입력 정보비트 dk 를 하나의 정보신호 Xk(100)로 출력하고 입력 정보비트 dk 를 제1 부호기(101)에 통과시켜 y1k(102)를 얻 는다. 그리고, 입력 정보비트 dk 를 N 개의 정보비트와 동일한 크기를 갖는 인터리버(103)에 통과시켜 얻은 신호(104)를 또 다른 제2 부호기(105)에 통과시켜 y2k(106)를 얻는다.
따라서, 상기 터보부호의 입력 정보비트는 제1 부호기(101)의 출력뿐만 아니라 인터리버(103)를 통해서 변형된 정보를 이용한 제2 부호기(105)의 출력으로 각각 부호화되며, 터보부호의 출력은 원래의 정보신호 Xk(100)와 제1 부호기(101) 및 제2 부호기(105)를 통해서 생성된 이중의 패리티비트(y1k ,y2k)를 지니게 된다.
또한, 상기 터보 부호기는 원하는 부호율(Coding Rate)을 얻기위해서 y1k(102)와 y2k(106)를 천공기(107)를 이용하여 천공(Puncturing)한다. 이렇게 천공하여 최종적으로 얻은 패리티비트 Yk(108)를 원래의 정보신호 Xk(100)와 함께 채널을 통해서 수신단에 전송한다.
상기 터보부호에 의해서 부호화된 부호어(Codewords)를 수신단에서 복호하는데는 도 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)를 경판정하여 복호 신호로 내보낸다. 그러나, 반복복호를 하기 위해서는 제2 복호기(208)의 출력신호 중에서 외부정보값을 추출하여 제1 디인터리버(Deinterleaver)(215)를 통하여 제1 복호기(204)로 피드백(Feedback)한다. 이 피드백된 신호가 제1 복호기(204)에서 사전정보값으로 사용되어 반복복호시에 정보비트의 신뢰도를 향상시켜 주는 역할을 담당한다. 이러한 반복복호는 원하는 성능을 얻을 때까지 계속 수행된다.
최근에 발표된 터보부호는 RSC 부호를 병렬로 연결하여 부호화하며 반복복호를 통하여 복호 동작을 수행하게 된다. 상기 터보부호는 인터리버의 크기가 크고 반복복호가 충분히 수행되었을 때 BER 관점에서 샤논 리미트(Shannon Limit)에 근접하는 아주 우수한 성능을 나타내는 것으로 알려져 있다.
무선 이동통신 시스템에서 사용되는 상기 터보부호는 임의의 반복복호 횟수를 거친 후에 얻어낸 최종출력인 연판정 출력값에 대해서 0(zero)을 임계값으로 하여 경판정(Hard-Decision)하므로서 터보 부호기의 입력 정보비트 dk 값을 추정하게 된다. 이러한 경우에 반복복호 횟수가 증가할수록 BER은 점점 좋아지지만 데이터 전송의 지연시간이 제한되어 있고 터보부호의 복호기에서는 반복복호 횟수가 증가하더라도 부호이득(Coding Gain)이 더 이상 좋아지지 않는 현상이 발생하게 된다. 또한, BER 성능의 향상을 위한 반복복호 횟수의 증가는 복호 지연시간을 증가시키므로 실제 시스템에서는 반복복호 횟수를 계속해서 증가시킬 수가 없다. 따라서, 종래의 방법은 많은 연산량에 따른 복잡도의 증가, 인터리버와 반복복호에 따른 복호 지연 및 실시간 처리에 대한 어려움이 존재하므로 이러한 반복복호 기술은 비효율적일 뿐만 아니라 데이터 전송을 지연시키는 문제점을 가지고 있다.
터보부호를 이용하여 부호화 과정을 거친 후 전송 채널을 통해서 수신된 신호들은 터보부호의 반복복호 특성때문에 아래 3가지의 경우로 분류할 수 있다.
(1) 반복복호 횟수가 증가함에 따라서 소정의 값으로 수렴한 후에 더 이상 변화가 없고 수렴된 값과 입력데이터가 동일하여 오류가 발생하지 않은 경우
(2) 반복복호 횟수가 증가함에 따라서 소정의 값으로 수렴한 후에 더 이상 변화가 없고 수렴된 값과 입력데이터가 서로 상이하여 오류가 발생한 경우
(3) 반복복호 횟수가 증가함에 따라서 소정의 값으로 수렴하지 않고 오류의 위치가 반복복호 횟수에 따라서 달라지는 경우
상술한 분류 중 (2)와 (3)의 경우는 반복복호를 많이 수행하더라도 오류를 정정할 수 없는 경우이다. 그리고 (1)의 경우는 수렴되기 전까지 반복복호를 수행한 경우에는 오류를 정정할 수 없고 수렴될 때까지 반복복호를 수행해야만 오류를 정정할 수 있는 경우이다. 따라서 반복복호 횟수를 증가시킬수록 (1)의 경우가 발생할 때 수렴하기 전에 반복복호를 중단함으로서 오류를 정정할 수 없는 경우가 줄어들기 때문에 BER 관점에서의 복호 성능은 향상될 수 있다.
그러나 반복복호 횟수를 증가시킬수록 반복복호 횟수에 따른 터보부호의 복호성능의 향상 정도는 줄어들고, 반복복호에 따른 계산량은 비례적으로 증가하므로 적절하게 반복복호 횟수를 결정해야 한다. 또한, 복호 지연 등의 문제를 일으키므로 이를 해결하기 위해서 소정의 반복복호후에 복호를 중단하기 위한 정지기준(Stop Criterion)을 필요로 하게 된다. 상기 반복복호는 어느 시점에서 복호를 중단해야 하는가를 판단하는 것이 매우 중요한 변수가 된다. 즉, 반복복호 과정에서 복호 지연시간을 단축하고 복호에 따른 전력소모를 최소화하기 위해서는 복호하는 프레임의 오류 발생 유무를 수시로 점검해야 한다. 최근까지, 하겐워(Hagenauer)가 제안한 교차엔트로피(CE : Cross Entropy)를 이용한 방법을 많이 사용하고 있으나, 이 방법은 다소 복잡한 계산을 포함하고 있어서 많은 연산량으로 인한 복잡도의 증가 및 하드웨어 구현상의 어려움 등의 많은 문제점이 존재한다.
따라서 전술한 바와 같은 문제점을 해결하고자 터보부호의 반복복호 과정에 서 반복을 효과적으로 중단하고자 하는 방법들이 연구된 바 있다.
예를들면, 터보부호의 반복복호 과정에서 매 복호 과정마다 복호기에서 출력되는 연판정 출력값에 대한 절대 최소값이 어느 임계값 이상이 되면 복호를 중단하는 방법이다. 이러한 방법은 비교적 우수한 BER 성능을 보이고, 평균 반복복호 횟수를 감소시켜 전력소모를 줄일 수 있을 뿐만 아니라 하드웨어적으로 구현이 매우 쉽다는 장점을 가지고 있다. 그러나 전술한 방법은 우수한 BER 성능을 보장하기 위한 임계값이 Eb/No와 프레임 크기에 종속적이다. 이로 인해 전술한 방법에서 제시된 임계값들은 Eb/No와 프레임 크기가 변화할 때마다 다양한 채널환경에 따라 민감하게 변한다는 문제점이 존재한다. 특히, 수신신호에 대한 Eb/No를 정확하게 추정하기 어려운 실제 시스템에서는 다양한 채널환경의 변화에 따른 채널 정보값들의 변화를 정확하게 예측(Estimation)하기 어렵다는 것이 큰 문제점으로 지적되고 있다. 따라서, 반복복호의 정지기준으로 사용하기에는 부적합하다고 판단된다.
상술한 바와 같은 문제점을 해결하기 위하여 본 발명이 이루고자 하는 기술적인 과제는 무선 이동통신 시스템에서 반복복호를 보다 효율적인 방법으로 중단하기 위한 반복중단 제어장치 및 그 방법을 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적인 과제는 무선 이동통신 시스템에서 복호기의 반복복호에 따른 복호 지연시간을 단축시키기 위한 효율적인 정지기준을 가지는 반복중단 제어장치 및 그 방법을 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적인 과제는 무선 이동통신 시스템에 서 복호기의 반복복호에 따른 소비전력을 감소시키기 위한 반복중단 제어장치 및 그 방법을 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적인 과제는 무선 이동통신 시스템에서 복호기의 반복복호를 중단하는 척도로서 연판정 출력값에 대한 평균값으로부터 유도되는 잡음 분산값을 판정 함수로 이용하는 반복중단 제어장치 및 그 방법을 제공하는데 있다.
본 발명이 이루고자 하는 상기 기술적인 과제를 해결하기 위해서 상기 터보 복호기의 반복중단 제어장치는 터보 복호기로서, 터보 부호화된 데이터를 반복복호하여 연판정값을 출력하고, 반복복호 중단신호에 의해서 반복복호를 중단하는 연판정값 출력부; 상기 터보 복호기의 현재 복호 과정을 통해서 상기 연판정값 출력부에서 출력되는 연판정 출력값을 디인터리빙하여 출력하는 디인터리버; 상기 디인터리버에서 디인터리빙된 연판정 출력값을 저장하는 연판정값 저장부; 상기 연판정값 저장부에 저장되어 있는 연판정 출력값에 대한 평균값을 계산하는 평균값 계산부; 상기 평균값 계산부에서 출력되는 연판정 출력값에 대한 상기 평균값으로부터 유도되는 잡음 분산값을 계산하는 잡음 분산값 계산부; 상기 잡음 분산값 계산부로부터 현재 출력되는 잡음 분산값과 소정의 임계값을 비교하고, 상기 비교 결과에 따라 상기 터보 복호기의 반복복호 횟수를 제어하는 반복중단 제어부; 및 상기 반복중단 제어부의 반복복호 수행여부에 따라 상기 연판정값 출력부의 출력값을 경판정하여 복호 결과를 출력하는 경판정값 출력부를 포함하는 것이 바람직하다.
본 발명에 있어서, 상기 연판정값 출력부의 연판정값으로부터 반복복호 횟수를 카운트하여 상기 반복중단 제어부 및 경판정값 출력부에 각각 출력하는 카운터를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 반복중단 제어부는 신호대잡음비(SNR)에 따라 서로 다른 임계값을 저장하는 임계값 저장부; 상기 잡음 분산값 계산부에서 현재 출력되는 잡음 분산값을 상기 임계값 저장부에 저장된 소정의 임계값과 비교하여 현재 출력된 잡음 분산값이 상기 임계값보다 작거나 같으면 제1 레벨 신호를 출력하는 비교부; 및 상기 비교부가 제1 레벨 신호를 출력하거나 상기 연판정값 출력부가 소정의 횟수동안 반복복호를 수행한 경우, 상기 연판정값 출력부에 반복복호 중단신호를 출력하는 반복복호 중단신호 출력부를 포함하는 것을 특징으로 한다.
본 발명이 이루고자 하는 상기 기술적인 과제를 해결하기 위해서 상기 터보 복호기의 반복중단 제어방법은 터보 복호기에 적용되는 반복중단 제어방법으로서, (a) 터보 부호화된 데이터를 상기 터보 복호기에서 반복복호하여 현재 복호 과정을 통해서 출력되는 연판정 출력값을 디인터리빙하고 디인터리빙된 연판정 출력값을 저장하는 단계; (b) 상기 연판정 출력값에 대한 평균값을 계산하는 단계; (c) 상기 평균값으로부터 유도되는 잡음 분산값을 계산하는 단계; 및 (d) 상기 잡음 분산값과 소정의 임계값을 비교하고, 상기 비교 결과에 따라 상기 터보 복호기의 반복복호 횟수를 제어하는 단계를 포함하는 것이 바람직하다.
본 발명에 있어서, 상기 (d)단계에서 상기 비교 결과값이 제1 레벨 신호를 출력하거나 반복복호 횟수가 소정 횟수 이상인 경우 반복복호를 중단하는 것을 특 징으로 한다.
이하, 첨부된 도를 참조하여 본 발명에 따른 바람직한 일 실시 예를 상세히 설명한다.
도 3은 본 발명에 따른 터보 복호기의 반복중단 제어장치의 구성도 로서, 반복중단 제어기(317)를 제외한 구성은 도 2와 동일하여 설명을 생략한다.
도 4는 본 발명에 따른 반복중단 제어부 및 주변장치의 상세도 로서, 연판정값 출력부(400), 카운터(401), 경판정값 출력부(402), 디인터리버(313) 및 반복중단 제어기(317)로 구성된다. 본 발명에서 상기 반복중단 제어기(317)는 연판정값 저장부(317-1), 평균값 계산부(317-2), 잡음 분산값 계산부(317-3) 및 반복중단 제어부(317-4)로 구성된다. 본 발명에서 상기 반복중단 제어부(317-4)는 임계값 저장부(317-41), 비교부(317-42) 및 반복복호 중단신호 출력부(317-43)로 구성된다.
상기 구성에 따른 동작은 다음과 같다.
연판정값 출력부(400)는 터보 부호화된 데이터를 수신하여 복호하고 i 번째 출력 정보비트에 대해서 연판정 출력값인 LLR(Log Likelihood Ratio)값을 출력한다. 상기 LLR 값이란 입력 정보비트 dk 가 1(one)일 사후확률(APP : A Posteriori Probability)값과 입력 정보비트 dk 가 0(zero)일 사후확률 값의 비율에 대한 로그(logarithm)값을 의미한다. 터보 복호기에서 출력되는 LLR 값에 대한 수식은 수학식 1과 같다.
[수학식 1]
Figure 112006034178766-pat00001
상기 수학식 1에 정의된 터보 복호기의 최종 연판정 출력값인 LLR 값은 정보비트 dk 에 대한 신뢰도를 나타내며 반복복호시 성능향상에 중요한 역할을 담당한다. LLR 값이 양(+)의 값일 경우에는 정보비트 dk 가 1(one)일 확률이 0(zero)일 확률에 비해서 더 크다는 것을 나타내므로 복호되는 값은 1(one)이 되고, LLR 값이 음(―)의 값일 경우에는 정보비트 dk 가 0(zero)일 확률이 1(one)일 확률에 비해서 더 크다는 것을 나타내므로 복호되는 값은 0(zero)이 된다.
이러한 LLR 값에 대한 평균값은 도 5에 나타난 바와 같이 반복 횟수가 증가함에 따라서 일정한 값으로 수렴하게 되며 높은 SNR(Signal to Noise Ratio) 영역에서는 그 수렴속도가 더욱 빨라짐을 알 수가 있다.
반복복호 과정에서 정보 프레임의 LLR 평균값이 일정한 값으로 수렴한다고 판단되면 반복복호를 중단하고 그렇지 않으면 반복복호를 계속 수행하여 오류를 정정하게 된다. 이를 위해서 먼저, 각 반복복호시에 LLR 평균값에 대해서 수렴영역과 비수렴영역을 정의해야 하며 이에 따라 터보부호의 반복복호를 중단하기 위한 정보 프레임의 수렴 여부를 결정해야 한다.
본 발명에서는 터보 복호기의 최종 연판정 출력값인 LLR 값에 대하여 평균을 취함으로서 얻어지는 잡음 분산값을 이용하여 정보 프레임의 수렴 여부를 결정하고 자 한다.
제2 디인터리버(313)는 연판정값 출력부(400)로부터 출력되는 수학식 1과 같은 연판정 출력값을 디인터리빙한다. 제2 디인터리버(313)에서 출력되는 디인터리빙된 연판정 출력값에 대한 수식은 수학식 2와 같다.
[수학식 2]
Figure 112006034178766-pat00002
수학식 2에서
Figure 112006034178766-pat00003
은 잡음 분산값을 나타내며, n´는 인터리빙된 후의 잡음을 나타낸다.
연판정값 저장부(317-1)는 상기 제2 디인터리버(313)에서 디인터리빙된 연판정 출력값을 저장한다.
평균값 계산부(317-2)는 상기 연판정값 저장부(317-1)에 저장되어 있는 연판정 출력값에 대한 평균값을 계산한다. 터보 복호기의 연판정 출력값에 대한 평균값을 계산하는 수식은 수학식 3과 같으며, 수학식 2의 양변에 평균을 취하여 얻을 수 있다.
[수학식 3]
Figure 112006034178766-pat00004
잡음 분산값 계산부(317-3)는 상기 평균값 계산부(317-2)에서 출력되는 연판정 출력값에 대한 평균값을 나타내는 수학식 3에서 좌변의 LLR 평균값과 우변의 분모항에 있는 잡음 분산값을 서로 치환함으로서 유도되는 잡음 분산값을 계산한다. 본 발명에서는 연판정값들에 대해서 반복복호 중단을 판정하는 조건으로 연판정 출력값에 대한 상기 평균값으로부터 유도되는 잡음 분산값을 사용한다.
터보 복호기의 연판정 출력값에 대한 상기 평균값으로부터 유도되는 잡음 분산값을 계산하는 수식은 수학식 4와 같다.
[수학식 4]
Figure 112006034178766-pat00005
다음에 반복중단 제어부(317-4)를 설명한다.
반복중단 제어부(317-4)는 상기 잡음 분산값 계산부(317-3)로부터 현재 출력되는 잡음 분산값과 소정의 임계값을 비교하고, 상기 비교 결과에 따라 상기 터보 복호기의 반복복호 횟수를 제어한다.
이를 수행하기 위한 반복중단 제어부(317-4)는 임계값 저장부(317-41), 비교부(317-42) 및 반복복호 중단신호 출력부(317-43)로 구성된다.
임계값 저장부(317-41)는 SNR에 따라 서로 다른 임계값을 저장한다. 적절한 임계값을 설정하기 위해서, 도 5에 나타나 있는 LLR의 평균값을 살펴보면 반복복호가 진행됨에 따라서 임의의 일정한 값으로 수렴하는 특성과 동시에 SNR 값이 증가함에 따라서 수렴하는 값 또한 증가하는 특성을 가지고 있음을 알 수 있다.
도 6은 LLR의 평균값이 가지고 있는 이러한 특성을 수학식 4에 적용하여 각 반복 횟수에 따른 잡음 분산값을 나타낸 것이다. 도 6에 나타난 바와 같이 잡음 분산값은 반복복호가 진행됨에 따라서 임의의 일정한 값으로 수렴하는 특성과 동시에 SNR 값이 증가함에 따라서 수렴하는 값 또한 서로 다른 값을 가지면서 감소하는 특성을 가지고 있음을 알 수 있다. 따라서, 본 발명에서 적용할 임계값은 각 SNR에 따라서 서로 다른 임계값을 갖도록 설정되며, 이러한 임계값은 임계값 저장부(317-41)에 저장된다.
비교부(317-42)는 상기 임계값 저장부(317-41)에 저장된 소정의 임계값과 상기 잡음 분산값 계산부(317-3)로부터 현재 출력되는 잡음 분산값을 비교하여, 현재 출력된 잡음 분산값이 상기 임계값보다 작거나 같을 경우에 1(one)을, 현재 출력된 잡음 분산값이 상기 임계값보다 클 경우에 0(zero)을 출력한다.
반복복호 중단신호 출력부(317-43)는 상기 비교부(317-42)가 제1 레벨 신호를 출력하거나 상기 연판정값 출력부(400)가 소정의 횟수동안 반복복호를 수행했다면, 상기 경판정값 출력부(402)에 반복복호 중단신호를 출력한다. 상기 반복복호 중단신호 출력부(317-43)는 상기 비교부(317-42)의 출력과 카운터(401)의 출력을 논리합(OR)하고 그 결과를 상기 경판정값 출력부(402)에 출력한다. 여기서, 카운터(401)의 출력은 소정의 반복복호 횟수동안 반복복호를 수행하였음을 나타내도록 출력되는 MAX_CNT 신호이다.
본 발명에서는 터보 복호기의 현재 반복 과정에서 출력되는 연판정 출력값에 대한 평균값으로부터 유도되는 잡음 분산값이 임계값보다 큰 상태에서 MAX_CNT까지 반복복호가 진행되었을 때에도 반복복호를 중단한다. 그 이유는 반복복호 횟수를 늘리더라도 복호 데이터가 특정한 값으로 수렴(Converge)하지 않고 복호되는 데이터에 오류가 존재하며 그 오류의 위치가 반복복호 횟수에 따라서 달라진다고 간주되기 때문이다. 따라서 MAX_CNT까지 반복복호를 수행하였다면 반복복호를 중단하도록 한다.
경판정값 출력부(402)는 반복복호 중단신호 출력부(317-43)에서 출력되는 반복복호 중단 신호에 의해서 턴-온(Turn-on)된다. 즉, 반복복호 횟수가 최대이거나 터보 복호기의 현재 복호 과정에서 출력되는 연판정 출력값에 대한 평균값으로부터 유도되는 잡음 분산값이 임계값보다 작거나 같을 경우 반복복호를 중단하고 복호된 정보비트를 출력한다.
경판정값 출력부(402)가 반복복호 중단신호 출력부(317-43)에서 출력되는 반복복호 중단 신호에 의해서 턴-온(Turn-on)되면, 소정 반복복호 횟수동안 반복복호 수행여부에 따라 연판정값 출력부(400)의 출력값을 경판정하여 복호 결과를 출력한다. 경판정값은 연판정값 출력부(400)에서 현재 출력된 연판정 출력값이 양수일 때는 1(one)로, 음수일 때는 0(zero)으로 경판정한다. 경판정값에 대한 수식은 수학식 5와 같다.
[수학식 5]
Figure 112006034178766-pat00006
여기서,
Figure 112006034178766-pat00007
는 출력 정보비트에 대한 판정(추정)값을 의미한다. 본 발명에서는 터보 복호기의 연판정 출력값에 대해서 반복복호 중단을 판정하는 판정 함수로서 연판정 출력값에 대한 평균값으로부터 유도되는 잡음 분산값을 이용하여 상기 잡음 분산값을 임계값과 비교하여 반복복호의 중단을 결정한다.
이에 근거하여, 반복복호를 제어하기 위한 정지기준을 수식으로 표현하면 수학식 6과 같다.
[수학식 6]
Figure 112006034178766-pat00008
Figure 112006034178766-pat00009
여기서, i는 반복복호 횟수를 의미하고,
Figure 112006034178766-pat00010
은 터보 복호기의 현재 복호 과정에서 출력되는 연판정 출력값에 대한 평균값으로부터 유도되는 잡음 분산값을 의미한다. 또한, TH 는 반복복호를 제어하기 위한 임의의 임계값을 의미하며, 각각의 SNR에 따라서 가변적으로 설정한다. 즉, 각각의 반복복호마다 터보 복호기의 현재 복호 과정에서 출력되는 잡음 분산값과 임계값을 비교하여, 잡음 분산값이 임계값보다 작거나 같을 경우에는 반복복호를 중단한다.
도 7은 본 발명에 따른 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어방법에 대한 흐름도 로서, 먼저 터보 부호기에 의해서 부호화된 코드워드(Codeword)를 제1 복호기(304)로 복호하고(701단계), 이어서 제2 복호기(308)로 반복복호를 수행한다(702단계).
반복복호 과정이 수행되면, 제2 디인터리버(313)는 연판정값 출력부(400)로부터 출력되는 연판정값을 디인터리빙하여 디인터리빙된 연판정 출력값을 출력하고, 이를 연판정값 저장부(317-1)에 저장한다(703단계).
이어서, 평균값 계산부(317-2)는 연판정값 저장부(317-1)에 저장되어 있는 연판정 출력값에 대한 평균값을 계산하고(704단계), 잡음 분산값 계산부(317-3)는 상기 평균값 계산부에서 출력되는 연판정 출력값에 대한 상기 평균값으로부터 유도되는 잡음 분산값을 계산한다(705단계).
이어서, 반복중단 제어부(317-4)는 상기 잡음 분산값 계산부로부터 현재 출력되는 잡음 분산값과 소정의 임계값을 서로 비교한다(706단계). 비교결과, 현재 출력되는 잡음 분산값이 상기 임계값보다 크면 다음 반복복호를 수행하는 과정(701단계)으로 넘어가고, 작거나 같을 경우에는 반복복호를 중단한다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상술한 바와 같이 본 발명에 따르면, 터보부호의 문제점 중의 하나인 반복 복호로 인한 계산량과 복호 지연시간을 단축시킬 수 있고, 반복복호 횟수를 결정하는데 이용할 수 있는 효과가 있는데 이를 더욱 구체적으로 설명하면 다음과 같다.
첫째, 본 발명에 따르면, 터보 복호기의 현재 복호 과정에서 출력되는 연판정 출력값에 대한 평균값으로부터 유도되는 잡음 분산값을 판정 함수로 이용하여 상기 중단조건이 소정의 조건을 만족하면 복호 결과가 수렴하는 것으로 판단하여 반복복호를 중단시키고, 복호 결과가 수렴하지 않을 경우에도 지정된 반복복호 횟수동안 진행한 후에 중단시킴으로서 데이터의 전송지연을 최대한 줄일 수 있는 효과가 있다.
둘째, 본 발명에 따르면, 복호 지연시간 감소로 인하여 전력소모를 줄일 수 있고, 양질의 고속 멀티미디어 서비스를 제공할 수 있는 효과가 있다.
셋째, 본 발명에 따르면, 종래의 반복복호 기법인 하겐워(Hagenauer)의 교차엔트로피를 이용한 방법보다도 비교적 간단한 계산을 수행하므로 계산량을 줄일 수 있는 효과가 있다.

Claims (5)

  1. 터보 복호기로서,
    터보 부호화된 데이터를 반복복호하여 연판정값을 출력하고, 반복복호 중단신호에 의해서 반복복호를 중단하는 연판정값 출력부;
    상기 터보 복호기의 현재 복호 과정을 통해서 상기 연판정값 출력부에서 출력되는 연판정 출력값을 디인터리빙하여 출력하는 디인터리버;
    상기 디인터리빙된 연판정 출력값을 저장하는 연판정값 저장부;
    상기 저장된 연판정 출력값에 대한 평균값을 계산하는 평균값 계산부;
    상기 평균값으로부터 유도되는 잡음 분산값을 계산하는 잡음 분산값 계산부;
    신호대잡음비(SNR)에 따라 서로 다른 임계값을 저장하는 임계값 저장부;
    상기 잡음 분산값 계산부로부터 현재 출력되는 잡음 분산값을 상기 임계값 저장부에 저장되어 있는 소정의 임계값과 비교하여 현재 출력된 잡음 분산값이 상기 임계값보다 작거나 같으면 제1 레벨 신호를 출력하는 비교부;
    상기 비교부가 제1 레벨 신호를 출력하거나 상기 연판정값 출력부가 소정의 횟수동안 반복복호를 수행한 경우, 상기 연판정값 출력부에 반복복호 중단신호를 출력하는 반복복호 중단신호 출력부; 및
    상기 반복복호 중단신호 출력부에서 출력되는 반복복호 중단신호에 따라 상기 연판정값 출력부의 출력값을 경판정하여 복호 결과를 출력하는 경판정값 출력부를 포함하는 반복중단 제어장치.
  2. 제 1 항에 있어서, 상기 반복중단 제어장치는
    상기 연판정값 출력부의 연판정값으로부터 반복복호 횟수를 카운트하여 상기 반복중단 제어부 및 경판정값 출력부에 각각 출력하는 카운터를 더 포함하는 것을 특징으로 하는 반복중단 제어장치.
  3. 삭제
  4. 터보 복호기에 적용되는 반복중단 제어방법으로서,
    (a) 터보 부호화된 데이터를 상기 터보 복호기에서 반복복호하여 현재 복호 과정을 통해서 출력되는 연판정 출력값을 디인터리빙하고 디인터리빙된 연판정 출력값을 저장하는 단계;
    (b) 상기 연판정 출력값에 대한 평균값을 계산하는 단계;
    (c) 상기 평균값으로부터 유도되는 잡음 분산값을 계산하는 단계; 및
    (d) 상기 잡음 분산값과 소정의 임계값을 비교하고, 상기 비교 결과에 따라 상기 터보 복호기의 반복복호 횟수를 제어하는 단계를 포함하는 반복중단 제어방법.
  5. 제 4항에 있어서, 상기 (d)단계에서
    상기 비교 결과값이 제1 레벨 신호를 출력하거나 반복복호 횟수가 소정 횟수 이상인 경우 반복복호를 중단하는 것을 특징으로 하는 반복중단 제어방법.
KR1020060043957A 2006-05-16 2006-05-16 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법 KR100823727B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060043957A KR100823727B1 (ko) 2006-05-16 2006-05-16 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060043957A KR100823727B1 (ko) 2006-05-16 2006-05-16 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법

Publications (2)

Publication Number Publication Date
KR20070111079A KR20070111079A (ko) 2007-11-21
KR100823727B1 true KR100823727B1 (ko) 2008-04-21

Family

ID=39090084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060043957A KR100823727B1 (ko) 2006-05-16 2006-05-16 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법

Country Status (1)

Country Link
KR (1) KR100823727B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100888502B1 (ko) * 2006-12-05 2009-03-12 한국전자통신연구원 반복 수신 장치 및 그의 송신 신호 검출 방법
CN117393025B (zh) * 2023-12-08 2024-03-15 杭州阿姆科技有限公司 生成符合nand数据特征带软判决信息的数据的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030004985A (ko) * 2001-07-06 2003-01-15 가부시키가이샤 히타치세이사쿠쇼 오류 정정 터보 부호의 복호기
US6686853B2 (en) 2000-11-06 2004-02-03 Broadcom Corporation Method and apparatus for iterative decoding
KR20040086872A (ko) * 2003-03-22 2004-10-13 김환용 터보 복호기의 반복복호 횟수 제어장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6686853B2 (en) 2000-11-06 2004-02-03 Broadcom Corporation Method and apparatus for iterative decoding
US6982659B2 (en) 2000-11-06 2006-01-03 Broadcom Corporation Method and apparatus for iterative decoding
KR20030004985A (ko) * 2001-07-06 2003-01-15 가부시키가이샤 히타치세이사쿠쇼 오류 정정 터보 부호의 복호기
JP2003023359A (ja) 2001-07-06 2003-01-24 Hitachi Ltd 誤り訂正ターボ符号の復号器
KR20040086872A (ko) * 2003-03-22 2004-10-13 김환용 터보 복호기의 반복복호 횟수 제어장치 및 그 방법

Also Published As

Publication number Publication date
KR20070111079A (ko) 2007-11-21

Similar Documents

Publication Publication Date Title
KR100860733B1 (ko) 디코딩 디바이스, 디코딩 방법, 및 수신 장치
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
US7584409B2 (en) Method and device for alternately decoding data in forward and reverse directions
US6665357B1 (en) Soft-output turbo code decoder and optimized decoding method
EP1480347A1 (en) Digital transmission method of the error-correcting coding type
JP2002111512A (ja) 復号装置及び方法、並びにデータ受信装置及び方法
US7886209B2 (en) Decoding device, decoding method, and receiving apparatus
US8358713B2 (en) High throughput and low latency map decoder
US7027521B2 (en) Digital transmission method of the error correcting coding type
KR100738250B1 (ko) Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법
US20180248563A1 (en) Device and Method of Controlling an Iterative Decoder
KR100823727B1 (ko) 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법
KR100530339B1 (ko) 터보 복호기의 복호 지연시간 감소장치 및 그 방법
KR100662076B1 (ko) 연판정 출력의 차이값에 대한 절대평균값을 이용한 반복중단 제어장치 및 그 방법
AlMahamdy et al. Early termination of turbo decoding by identification of undecodable blocks
US7333419B2 (en) Method to improve performance and reduce complexity of turbo decoder
KR20040086872A (ko) 터보 복호기의 반복복호 횟수 제어장치 및 그 방법
JP2005167513A (ja) 復号装置及び復号方法
KR100776910B1 (ko) 비이진부호에서의 scr/sdr을 이용한 반복 복호 장치및 그 동작 방법
JP2004146941A (ja) 復号装置および復号方法
KR100564015B1 (ko) 터보 복호기
KR100564016B1 (ko) 터보 복호기
Chi et al. High throughput low energy FEC/ARQ technique for short frame turbo codes
Shim et al. An efficient iteration decoding stopping criterion for turbo codes
KR20050045470A (ko) 터보코드 복호의 비트 단위 조기정지장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130404

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140410

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150429

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee