KR0170199B1 - 순환길쌈부호의 복호방법 - Google Patents

순환길쌈부호의 복호방법 Download PDF

Info

Publication number
KR0170199B1
KR0170199B1 KR1019950024220A KR19950024220A KR0170199B1 KR 0170199 B1 KR0170199 B1 KR 0170199B1 KR 1019950024220 A KR1019950024220 A KR 1019950024220A KR 19950024220 A KR19950024220 A KR 19950024220A KR 0170199 B1 KR0170199 B1 KR 0170199B1
Authority
KR
South Korea
Prior art keywords
decoding
state
path
input information
convolutional code
Prior art date
Application number
KR1019950024220A
Other languages
English (en)
Other versions
KR970013795A (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 KR1019950024220A priority Critical patent/KR0170199B1/ko
Publication of KR970013795A publication Critical patent/KR970013795A/ko
Application granted granted Critical
Publication of KR0170199B1 publication Critical patent/KR0170199B1/ko

Links

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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • H03M13/4146Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" decoding
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations

Landscapes

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

Abstract

본 발명은 비터비 복호기에서 서바이버 경로를 수정하여 길쌈 부호에 존재하는 전송 손실을 없앰으로써, 통신 경로상의 전송 효율을 향상키도록 하는 순환 길쌈 부호의 복호 방법에 관한 것으로서, 서바이버 경로의 초기상태와 최종상태가 같아야 한다는 조건을 이용하여 복호여부를 판단한 후, 한 블록의 입력 정보를 최대 가능성(ML : Maximum Likelihood) 복호하는 제 1 과정과, 최대 가능성 복호를 수행한 후 서바이버 경로의 초기상태와 최종상태가 같은가를 비교해서 두 상태가 서로 다를 경우, 두 상태가 같아지도록 하는 제 2의 다른 경로로 서바이버 경로를 수정하는 제 2 과정과, 한 블록의 입력정보를 ML 복호할 때 수신된 심볼열을 순환 시프트시켜 ML 복호하는 제 3 과정으로 구성된다.

Description

순환길쌈부호의 복호방법
제1도는 종래 기술인 제로테일 길쌈부호기를 설명하기 위한 개념도.
제2도는 종래 기술인 테일바이팅 길쌈부호기를 설명하기 위한 개념도.
제3도는 길쌈부호의 복호거리에 따른 성능 곡선.
제4도는 Trellis도의 기본구성인 Butterfly.
제5도는 DTCC 방법에 의한 복호 특성.
제6도는 DTCC 방법에 상태 천이 예.
제7도는 시뮬레이션에 사용된 순환길쌈부호기.
제8도는 dfree=10, m=7, r=1.2, g(1)=237, g(2)=345, L=32 인 순환길쌈부호의 성능.
제9도는 제안한 복호방법에서의 통계치.
본 발명은 순환 길쌈 부호의 복호 방법에 관한 것으로서, 특히, 비터비(vitervi) 복호기에서 서바이버 경로(servivor path)를 수정하여 길쌈 부호에 존재하는 전송 손실을 없앰으로써, 통신 경로 상의 전송 효율을 향상시키도록 하는 순환길쌈부호의 복호방법에 관한 것이다.
일반적으로, 디지탈 무선 통신 시스템의 송신단은 데이타 송수신의 기능을 수행하기 위하여 소스부호기, 채널부호기, 변조기 등을 구비하고, 수신단은 복조기, 채널복호기, 소스복호기 등을 구비한다.
이때, 상기 소스부호기와 복호기는 전송채널 상의 점유대역을 줄이기 위해 데이터를 축소하고, 다시 원래의 데이터로 복원한다. 한편, 상기 변조기와 복조기는 합쳐서 모뎀이라 하며, 변조된 데이타를 반송주파수에 실어서 확산 주파수 대역으로 전송하거나, 확산 주파수 대역으로부터 수신하여 복조하는 장치이다.
또한, 상기 채널부호기와 복호기는 채널상의 에러를 보정하기 위해 채널을 부호화하거나 복호화하는데, 이를 체널코딩이라 한다.
이때, 상기 채널부호기는 채널상으로 전송하고자 하는 신호에 중복성을 추가하여 전송하는 역할을 하며, 채널복호기는 상기 중복성이 있는 데이타로 부터 채널에서 첨가된 에러를 보정하여 복호하는 역할을 한다. 이러한 채널코딩 기법중에 가장 대표적인 방식으로 길쌈부호를 이용한 방식이 널리 사용되고 있다.
이때, 상기 길쌈부호를 이용한 방식은 송신단에서 전송하고자 하는 신호(이 신호의 크기를 k라고 하자)를 모두 부호화한 후 추가로 구속장 길이 만큼 '0'비트를 부호화하여 전송하므로써, 수신단에서 레지스터의 상태가 '0'상태에서 시작하여 '0'상태에서 끝나게 되는 모든 가능한 상태를 표시한 변천도(트렐리스 다이어그램'(Trellis Diagram))를 분석한 후, 그 변천도 상의 경로중 최적 경로에 해당하는 코드워드(Codeword)로 복호화하는 것을 말한다.
이때의 복호 방법으로는 최대 가능성 복호(ML : Maximum Likelihood)를 방법을 사용한다.
이렇게 'k'비트의 입력정보의 끝에 구속장길이 'm' 만큼의 '0'비트를 첨가하고, 각 정보비트를 'n'개의 심볼로 부호화하는 길쌈부호를 (n, k, m) ZT(Zero Tail) 길쌈부호라 한다.
상기 심볼이라 함은 하나의 입력비트를 부호화한 결과를 칭한다. 또한, 첨가되는 '0'비트를 꼬리(Tail)비트라고 한다.
상기와 같은 구속장의 정의에는 통상적으로 두가지의 관점이 사용되고 있는데, 하나는 부호기의 출력심볼을 만드는데 사용된 입력 비트수 'k'관점에 의한 것이고, 또, 다른 하나는 부호기를 구성하는데 사용된 시프트 레지스터의 길이 'm' 관점에 의한 것으로서, 후자의 경우 상기 길쌈 부호의 부호기를 구성하는 'm'을 구속장길이 또는 구속장이라 말한다.
한편, 상기 두가지 관점에 의한 구속장 사이에는 'k=m+1'의 관계가 성립한다.
예를 들어, (n, k, m)길쌈부호는 'k'비트의 입력정보를 'n'개의 심볼로 매핑하여 채널상으로 전송되며, 이때, 전송손실은 'm'이고, 한 블록데이타의 길이를 'L'이라고 할 때 전송손실률은 m/(m+L)이 된다.
여기서 전송손실이 크다는 것은 통신채널이 점유대역폭이 커진다는 것을 의미한다.
즉, 30㎑의 주파수 대역으로 통신이 가능한 경우에도 이보다 더 넓은 주파수 대역에서 통신을 해야하기 때문에 일정한 주파수 자원을 효과적으로 사용하지 못하게 된다. 그러므로, 이러한 방법은 구속장의 길이가 클수록 또는 부호화하고자 하는 데이타의 크기가 작을 수록 추가 정보전송에 의한 전송채널상의 손실이 커진다.
상기와 같은 ZT(Zero Tail) 길쌈부호기의 부호화 과정을 첨부한 제1도를 참조하여 살펴보면 다음과 같다.
제1도는 종래의 방식을 적용한 (2, 1, 6) ZT 길쌈부호기를 예로 설명하기 위한 예시도로서, (2, 1, 6) 길쌈부호기는 한 비트의 입력신호가 2개의 심볼로 매핑되고 구속장이 6임을 나타내며, 이때의 비율은 1/2이다.
도시되어 있는 덧셈기를 이진 덧셈기(Modulo - 2 ADDER)라고 할 때, (a)는 첫번째 입력신호를 부호화하는 과정을 (b)는 마지막 신호를 부호화하는 과정을 나타낸다.
이와 같은 ZT 길쌈 부호의 경우 모든 입력정보비트를 부호화한 후 6비트의 0추가로 부호화를 수행하기 때문에 전송률 손실이 발생한다.
따라서, ZT 길쌈부호기에 의한 부호화를 수행할 때, 상기와 같은 전송손실을 없애기 위한 방법이 제공되어야 하는데, 이를 위해 직접절단(Direct Truncation) 방법과 순환길쌈 부호방법이 주로 사용되었으며 이중, 성능이 우수한 방법은 순환길쌈 부호방법이다.
상기 순환길쌈 부호방법에 대하여 첨부한 도면중 제2도를 참조하여 살펴보면, 제2도는 순환길쌈부호 방법인 (2, 1, 6) TB(Tail Biting)길쌈부호의 부호화 과정을 설명하기 위한 예시도이다.
여기서,(a)는 부호화하고자 하는 k개의 입력비트 중 마지막 6개의 입력비트(Ik, Ik-1, Ik-2, Ik-3, Ik-4, Ik-5)로 시프트 레지스터를 초기화한 후 첫번째 입력비트 l1을 부호화하는 과정을 나타내었고 차례대로 k 비트를 모두 부호화하고 나면 (b)도와 같이 되며, (b)의 상태를 시프트시키면, 레지스터는 초기상태(Ik, Ik-1, Ik-2, Ik-3, Ik-4, Ik-5)와 같아진다. 즉, 상기 순환길쌈 부호방법이란, 부호화하고자 하는 정보의 크기를 'k'비트라고 할 때, 우선 그 중 마지막 'm' 비트로 시프트 레지스터를 초기화한 후 입력정보를 차례대로 부호화한다. 이렇게 하여 'k' 비트의 입력정보를 모두 부호화하고 나면 레지스터는 초기 상태와 같게 되는 방식이다. 따라서, 복호기에서는 레지스터의 초기상태와 최종상태가 같다는 점을 이용하여 ML 복호방법으로 복호를 할 수 있다.
그러나, 상술한 순환길쌈 부호방법은 추가의 정보(Tail bit)를 부호화하지 않으므로써 ZT 길쌈부호에 비하여 꼬리(Tail)비트에 의한 전송손실을 제거하는 효과는 있지만, 부호화시에 시프트 레지스터를 초기화하기 위한 입력정보의 마지막 'm' 비트를 얻기 위해 'k' 비트 크기의 메모리가 필요하다는 단점이 있다. 또한, 'k' 비트 크기의 입력정보가 발생할 때까지 부호화를 중지해야하는 부호화 지연을 갖게 된다는 문제점이 있다.
음성통신의 경우 송화자가 말을 한 후 수화자가 그 말을 들을 수 있을 때까지의 음성전달 지연시간은 약 70msec 이하여야 하는데, 만일 상기 부호화 지연에 의한 음성 전달 지연시간이 상기 70msec 이상이 되면 송수화자는 모두 통화에 거북함을 느끼게 된다. 따라서, 상기 부호화 지연은 전체 통신 시스템에 영향을 주게 된다.
이때, 상기 음성 전달 지연시간은 소스부호기, 채널부호기, 변조기, 복조기, 채널복호기, 소스복호기 등 통신시스템의 모든 블록에서 발생하는 지연시간이 포함된 값이므로 상기 음성전달 지연시간을 70msec 이하로 하기 위해 가능한 각 블록에서의 부호화 지연을 최소로 해주어야 하는 등의 시스템 설계상의 어려움이 발생되고 그로 인해 시스템의 신뢰성이 떨어지는 문제점이 발생된다.
한편, 상기와 같은 문제점을 해소하기 위하여 근래에 제안되어진 방식으로 대한민국 특허 출원번호 93-16054호에 기재된 내용을 간략히 살펴보면, 상기 내용은 'k' 비트의 입력정보중 마지막 'm' 비트로 시프트 레지스터를 초기화하는 종래의 방식 대신에 상기 'k' 비트의 입력정보 중 처음 'm' 비트로 레지스터를 초기화하여 전송손실과 부호화지연을 감소시키고, 부호화 과정 중 필요한 메모리의 양을 축소시키는 방법에 관한 것이나, 상술한 개량된 순환 길쌈부호에서는 부호화 지연문제는 어느 정도 해소할 수 있을지 모르나, 순환길쌈 부호방식이 갖는 다른 문제점 즉, ML(Maximum Likelihood) 복호시에 많은 계산량이 요구된다는 문제점을 해소하지 못하였다.
즉, 순환길쌈 부호기는 부호기의 시작상태 또는 종료상태를 수신단에서 알지 못하므로 비터비(Viterbi) 복호시 모든 가능한 상태에서 시작하고 끝나는 코드워드(Codeword)로 복호해야 하기 때문에, 많은 복호계산량을 요구하게 된다. 따라서, 상기 순환 길쌈 부호기의 경우, 그 부호의 성능이 매우 뛰어남에도 불구하고, 복호시의 계산량으로 인해 실제적으로 사용하지 못하고 있는 실정이다.
그에 따라, 최근에는 상술한 바와 같은 순환길쌈 부호방식의 문제점 중 순환길쌈 부호기에서의 복호계산량 문제를 해소하고 성능의 우수성을 어느 정도 유지시킬 수 있도록 하기 위한 많은 연구가 진행중이며, 그중 진척이 되고 있는 방식이 준최적 복호방법이다. 상기의 준최적 복호방법 중에 가장 최근에 제안된 복호방법으로서 가장 적은 계산량을 요구하는 방법이 순환(Circular) 비터비 복호방법이다. 상기 순환(Circular) 비터비 복호방법은 1994년 Cox와 Sundberg에 의해 제안되었는데, 이는 순환길쌈부호의 트렐리스 다이어그램(Trellis Diagram)이 순환되는 특성을 이용하여 한 블록크기의 트렐리스(Trellis) 추적이 완성된 뒤에도 계속적으로 트렐리스(Trellis) 추적을 수행하는 방법으로 이 트렐리스(Trellis)추적을 중지하는 조건에(Stopping Rule)따라 다음 세가지 방법을 제안하였다.
[중지 조건 1]
모든 상태에 대하여 비터비 업데이트(Viterbi Update; 이하, VU라함)를 계산하므로써 각 상태에서의 메트릭(Metric)을 계산하고 저장한 후, 임의의 시간(t)에서 'k'번째 상태의 메트릭을 St(k)라고 표시할 때, St(k)와 St+N(k)의 차이가 모든 k에 대해서 똑같아질 때 VU를 중단한다. 왜냐하면 이후의 VU는 똑같은 결과를 가져오기 때문이다. 여기서 N은 입력정보열의 크기이고, VU는 하나의 시간 구간에 수행되는 모든 상태에서의 ACS(Add, Compare, Select) 연산작용으로 비터비 알고리즘(Viterbi Algorithm) 수행의 기본 연산작용이다.
상기와 같은 중지조건에는 다음과 같은 세가지 문제점이 있다. 첫째는 아주 많은 양의 정보를 메모리에 저장해 두어야 하며, 이때 필요한 메모리 양은 2M(N+1)이다. 둘째는 N+1번째 VU를 시작한 후 모든 상태에서의 차이가 같은 지를 판단하기 위하여 가능한 모든 상태에 대해 비교를 수행해야 하는데, 이것을 매시간 구간마다 모든 상태에 대해 비교해야 하므로 상당히 많은 계산량을 요구한다. 세째는 이러한 비교를 수행할 때 분석(Resolution)에 관한 문제로 경 결정인 경우는 그 비교치도 정수이기 때문에 St(k)의 차이가 같아질 수 있으나 연 결정인 경우는 그렇지 않을 수 있다. 그러므로 허용 오차(Tolerance Error) ε를 정하여 둘 필요가 있다.
상기와 같은 문제를 해결하기 위하여 다음과 같은 중지조건이 제안 되었다.
[중지 조건 2]
처음 N번의 VU를 수행한 후 N개의 심벌 타임(Symbol Time) 이전의 결정워드를 비교하여, M개의 연속적인 결정워드가 같게 되면 업데이트(Update)를 중단하고 이때의 최적 매트릭을 갖는 코드 워드로 복호한다. M개의 연속된 결정워드를 선택한 이유는 M이 메모리 크기이기 때문이며 이 값이 정확하다면 그때의 상태를 정확히 추정할 수 있기 때문이다.
[중지 조건 3]
상술한 중지조건 1과 2를 동시에 만족하는 경우에 VU를 중단 한다.
이상에서 소개한 순환(Circular) 비터비 알고리즘에 의한 순환길쌈부호의 복호계산량은 비선형 길쌈부호에 대한 복호의 경우 기존의 방식에 비하여 계산량이 감소하는 것은 사실이나, 선형 길쌈부호의 복호시의 계산량에 비하여는 약 두배정도의 계산량을 필요로 한다. 그러므로, 지금까지 상술한 어떠한 방식의 순환길쌈부호의 복호계산량으로는 종전의 문제점 즉, 음성전달 지연시간의 허용범주인 약 70msec의 한계를 극복하지 못하는 문제점이 발생되었다.
상기와 같은 문제점을 해소하기 위한 본 발명의 목적은 순환길쌈 부호의 트레리스 다이어그램(Trellis Diagram) 상에서 어떤 임의의 시간에 콜렉트 경로(Correct Path)가 지나가는 상태를 간단히 추정할 수 있다면 이 추정된 시간과 상태로 부터 비터비 복호를 수행하므로써 복호계산량을 줄일 수 있다는 점을 이용하여, 길쌈 부호에 존재하는 전송 손실을 없앰으로써, 통신 경로상의 전송 효율을 향상시키도록 하는 순환길쌈부호의 복호방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 특징은, 입력정보의 일부분을 사용하여 길쌈부호기의 초기상태를 결정하고 나머지 입력 정보를 모두 길쌈부호하고 난 다음, 초기상태를 결정하였던 입력정보를 길쌈부호화하는 순환길쌈부호의 복호화 방법에 있어서, 서바이버 경로의 초기상태와 최종상태가 같아야 한다는 조건을 이용하여 복호여부를 판단한 후, 한 블록의 입력 정보를 최대 가능성(ML : Maximum Likelihood) 복호하는 제 1 과정과, ML복호를 수행한 후 서바이버 경로의 초기상태와 최종상태가 같은가를 비교해서 두 상태가 서로 다를 경우, 두 상태가 같아지도록 하는 다른 경로로 서바이버 경로를 수정하는 제2과정 및 한 블록의 입력정보를 ML복호할 때 수신된 심볼열을 순환시프트시켜 ML복호하는 제 3과정을 포함하는데 있다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 설명한다.
우선, 본 발명에서 사용하고자 하는 이론적 배경을 간략히 설명하면 다음과 같다. 일반적으로, 순환길쌈부호는 입력정보의 처음과 끝이 이어지는 정보열로 만들어 순환(Circular) 부호화를 수행하기 때문에 대응하는 트렐리스(Trellis)는 시작과 끝이 이어져 있는 형태를 가져야 하며, 이때, 상기와 같은 순환띠 형태의 트렐리스 다이어그램으로 부터 복호화 과정을 수행한다는 것은 컬렉트 경로가 매 시간 단위마다 상기 트렐리스상의 어느 경로를 통과하는가를 추정하는 것과 같다. 즉, 이러한 트렐리스 다이어그램에서 ML복호인 비터비 복호를 수행하므로써 서바이버 경로(Survivor Path)로 결정되는 경로는 고리의 형태를 가져야 한다. 따라서, 이 트렐리스상에서의 서바이버 경로는 시작과 끝이 이어져 있는 형태를 갖는다.
상기와 같은 서바이버 경로는 복호방식의 주요 안건으로써, 기존의 ZT 길쌈부호에서는 부호기의 상태가 '0' 상태에서 시작하고 끝나는 서바이버 경로로 복호화 과정이 수행되는 반면에, 순환길쌈 부호는 어떠한 상태이든 시작상태와 종료상태가 같게 되는 모든 경로 중 ML 경로로 복호를 한다. 그러므로, 순환길쌈 부호에서는 어떤 임의의 시간에 컬렉트 경로가 통과하게 되는 상태를 추정할 수만 있다면, 이로부터의 복호과정은 기존의 비터비 복호과정과 같아지기 때문에 계산 시간량은 단축되면서 동일한 성능을 얻게될 것이다.
그에 따라, 본 발명에서는 임의의 시간에 컬렉트 경로가 통과하게 되는 상태를 추정하기 위해 다음과 같은 두가지 특징을 이용한다.
1) 직접절단(Direct Truncation) 방식에서의 성능은 경로 메모리(Path Memory)의 크기 τ가 τ5m (m : 구속장)일 때 기존의 제로테일(Zero Tail) 길쌈부호의 경우와 유사하다.
2) 채널에서 특정 구간내에 특정수 이상의 에러가 유발된다면, 서바이버 경로(Survivor Path)는 컬렉터 경로(Correct Path)와 달라질 수 있다.
상기와 같은 두개의 특징 때문에 길쌈부호는 버스트 에러(Burst Error)인 경우에 다른 부호방법에 비해 성능이 떨어진다. 그러나, 상기의 특징을 역으로 말하면 특정 구간내에 특정수 이하의 에러가 유발되었다면 그 구간내에서의 비터비 알고리즘(Viterbi Algorithm)은 적어도 그 구간내에의 첫번째 상태는 정착히 예측할 수 있다는 것이므로 본 발명에서 이용하고자 하는 것이다.
위의 두가지 특징은 ML복호 기술에서는 이미 알려진 사실이며, 당업자라면 충분히 이해하고 있을 것이므로 상세한 설명은 생략한다.
제3도는 상기 특징 중 첫 번째 특징을 확인하기 위해 dfree=10, m=7, g(1)=237, g(2)=345, 정보비트의 길이 L = 60이라고 가정한 후, 이에 대응하는 길쌈부호에 대한 디코딩 깊이(Decoding Depth)에 따른 성능을 모의 시험한 결과의 예시도이다. 제3도에는 채널에러율 p=0.035인 BSC(Binary Symmetric Channel) 채널에서의 DTCC, ZTCC, 순환길쌈부호(CCC, Circulat Convolutional Codes)에 대한 복호방법의 성능을 각 복호길이에 따라 나타낸 것이다.
여기서, CCC의 복호는 ML복호를 수행하였다. 상기 제3도에 도시되어 있는 시뮬레이션 상태도를 살펴보면 CCC의 성능은 ZTCC와 유사함을 알 수 있다.
그런데, ZTCC는 정보블록의 양쪽끝에서 m비트만큼의 길이에서는 CCC보다 성능이 우수하다. 이것은 ZTCC가 알려진 상태('0'상태)에서 시작하여 알려진 상태('0'상태)에서 끝난다는 것을 전제로 하기 때문에 부호기 상태추정이 정확해지므로써 발생한다.
즉, 특정시간에서의 부호기 상태가 정확하다면 그로부터 앞뒤로 m비트의 복호화는 비교적 정확해진다.
이렇게 알려진 부호기 상태 때문에 ZTCC의 복호는 정확히 동일 오차 보호(Equal Error Protection)를 수행하지 못한다.
그런데, CCC에서는 모든 비트의 부호화상황이 동일하기 때문에 정보블록의 어느 부분에서도 상태추정오류확률이 동일하면 모든 정보비트에 대해 동일한 복호성능을 나타낸다.
한편 DTCC의 경우는 마지막 수신 정보비트에 대한 오차 보호는 없다.
그러므로 DTCC에서 마지막 비트의 복호는 채널상에서의 오류확률과 같게 된다. 즉 마지막 비트는 노코딩(No Coding)인 경우와 같게 된다.
그러나 DTCC 역시 부호기가 알려진 상태(0상태)에서 시작하므로 복호기에서의 초기상태추정은 정확하기 때문에 처음부분의 복호성능은 ZTCC의 경우와 동일하게 우수하다. 이 DTCC의 그래프에서 복호시점으로부터 대략 5m보다 큰 부분에서는 ZTCC와 성능이 유사함을 알 수 있다.
본 발명에서는 이러한 길쌈부호의 특징을 이용하여 다음과 같은 순환길쌈부호의 복호방법을 제안한다.
제안하는 복호 알고리즘 :
단계 1 : t=0에서 모든 상태의 초기 메트릭 값 M0(k)을 '0'으로 놓는다.
단계 2 : 모든 수신신호에 대해서 비터비 알고리즘을 수행한다. 이때 각 상태에서의 서바이버 경로에 대한 초기상태를 저장해 둔다.
단계 3 : 최종적으로 모든 상태에 대한 서바이버 경로 중에서 최적 메트릭을 갖는 경로의 초기상태와 최종상태가 같으면 해당 서바이버 경로는 컬렉트(Correct) 경로로 간주하고 이 경로에 대한 코드워드로 복호한다. 만일 최적 메트릭을 갖는 서바이버 경로에서의 초기상태와 최종상태가 같지 않으면 수신신호를 구속장 m보다 큰 일정한 길이 τ1만큼 시프트시키고 단계 1부터 반복한다. (즉, 1=τ1에서 부터 시작한다.) 단계 1을 일정횟수 τ2만큼 수행했으면 단계 4 를 수행한다.
단계 4 : 최적 메트릭을 갖는 서바이버 경로와 수신신호와의 에러 패턴(Error Pattern)을 구하고 이 에러 패턴 중 가장 긴 노에러 연속 순서의 중앙부분에 해당하는 시간과 이때의 통과 상태를 저장하고 이 시간과 상태에서 부호기가 시작하고 끝나는 비터비복호를 수행한다.
위의 제안방법 중 단계 3에서 서바이버 경로에 대한 초기상태와 최종상태를 비교할 때 경로 수정 기법을 사용한다.
이 경로 수정 기법은 제4도와 같이 트렐리스(Trellis) 도의 기본구성인 버터플라이 구조에서 수신신호에 에러가 발생하여 상태 i2에서의 서바이버 경로가 잘못 선택되었을 가능성을 배제하지 않는 것이다.
즉, 부호기의 상태가 상태 i에서 상태 i2로 천이하였다고 가정하자,
그런데 수신단에서의 수신신호에 에러가 발생하여 상태 i1에서 상태 i2의 가지가 서바이버 경로로 선택되었다면 단계 3에서 초기상태와 최종상태가 일치하지 않은 결과를 초래할 것이다.
이렇게 초기상태와 최종상태가 불일치하는 경우 서바이버 경로의 양쪽 끝부분에서 선택된 가지를 가능한 다른 가지인 경우로(이 경우 i 에서 i2로의 가지)가정하여 메트릭을 수정하고 초기상태와 최종상태를 비교해 보는 기법이다.
이상의 복호방법은 기존의 직접 절단 방법을 사용하였으며 DTCC방법이 수신신호의 처음부분 또는 끝 부분에 에러가 밀집되어 있는 경우에 상태의 추정이 부정확해지기 때문에 반복적으로 DTCC방법을 사용하는 방법이다.
즉 제3도에서와 같이 DTCC에 의한 처음 m비트의 길이에서 복호성능이 좋은 이유는 이 부호기가 항상 0상태에서 시작한다는 것을 전제로 하였기 때문이다.
만일 DTCC에서 부호기가 0상태에서 시작하지 않고 임의의 상태에서 시작하였다면 이 부호기의 복호성능은 상당히 떨어지게 된다.
CCC 복호에서도 부호기의 초기상태를 모르지만 초기상태와 최종상태가 같아야 한다는 조건이 전제되기 때문에 이로 인하여 DTCC에 비하여 복호성능이 향상을 기대할 수 있다.
본 제안 방법에서는 구속장 m 보다 큰 일정길이 τ1만큼 순환 시프트하여 비터비복호를 다시 할 수 있도록 하였다. 이것은 경로 수정에 의해서도 초기상태와 최종상태가 같아지는 최적 메트릭의 서바이버 경로를 선택할 수 없는 경우에 부호기의 초기상태 또는 최종상태의 추정이 어렵다고 판단한다. 그 이유는 길이 m만큼의 수신신호는 다음의 모든 상태로 천이가 가능하며 이 구간중에 일정수 이상의 에러가 발생한다면 그의 초기 상태의 추정이 불가능하기 때문이다.
또한 이 제안방법은 다른 방법과 마찬가지로 채널상태에 따라 계산량이 많아지는 점을 고려하여 계산량에 대한 일정한 임계치를 두었다.
본 제안방법은 기존의 DTCC방법을 반복적으로 사용하는 방법이다.
그러나 기존의 DTCC 방법에서는 최적 메트릭을 갖는 서바이버 경로의 결정에 대한 기준이 없으나 본 제안 방법에서는 부호기의 초기상태와 종료상태가 같아야 한다는 복호조건이 추가되기 때문에 이를 이용하여 반복적으로 DTCC복호를 수행할지를 결정할수 있다.
그러므로 본 제안방법에서의 기대효과를 예측하기 위해서 기존의 DTCC방법에 의한 복호특성을 조사해 보자.
다음 제5도는 m=7, r=1/2 그리고 정보비트의 길이 L=32인 경우 CCC부호화한 부호심볼열을 DTCC복호방법에 의해 복호했을때의 복호특성을 나타낸다.
이 그램에서 전송에러확률 p=0.0225, 0.0298, 0.0375, 0.0448인 경우 BSC(Binary Symmetric Channel)채널을 가정하였고, 100000번의 실험을 수행하였다.
그리고 최적 경로의 초기상태를 a, t=1인 그 다음 상태를 b, t=32인 최종상태를 d, 그리고 바로 이전상태인 t=31에서의 상태를 c로 표시하였으며, Pad는 초기상태 a에서 최종상태 d로 천이된 최적 경로를 서바이버 경로로 선택한 경우의 확률을 나타낸다(제6도 참조). 그리고 Pc는 서바이버 경로 t=31인 시점에서의 상태가 상태 c를 지나갈 확률을 나타낸다.
또한 Pad'은 초기상태 a에서 시작하여 t=31에서의 상태가 c이며 최종상태가 d'로 천이한 경우의 확률을 나타낸다.
이 확률은 BSC채널에서의 버터플라이 구조에 의해서 다음식으로 표시할 수 있다.
일반적으로 채널상에서의 심볼에러확률 p를 갖는 BSC에서 올바른 상태천이확률을 P1, 상태천이 에러확률을 P2라고 표시할 때 이들은 다음과 같이 표현 될 수 있다.
제5도의 결과로부터 DTCC에 의한 복호방법은 그의 복호성능이 상당히 떨어지는 것을 알 수 있다. 이러한 성능 열화는 DTCC에 의한 복호에서 서바이버 경로가 최적 경로가 되지 못했을 경우의 복호에러가 상당히 많기 때문이다.
그런데 DTCC에 의한 복호방법중 최적 경로가 서바이버 경로가 선택되었을 경우만의 복호성능은 p=0.225인 BSC채널에서는 2.35*10-4정도로 좋은 성능을 나타낸다. 그리고 DTCC에 의한 복호방법이 최적 경로를 선택할 확률은 약 95%를 넘고 있다.
그러므로 DTCC에 의한 복호성능이 떨어지는 이유는 부적합 경로가 서바이버 경로로 선택되었을 경우에 복호에러 비트수가 상당히 많기 때문이며 이러한 경우의 확률은 약 5%미만이다.
제5도의 마지막 항은 최적 경로가 서바이버 경로로 선택되었을 경우만의 복호에러비트수와 나머지 부적합 경로가 서바이버 경로로 선택되었을 경우의 복호에러의 비트수의 비를 나타낸다.
즉 DTCC에 의한 복호방법은 95%이상에 대해서는 최적 경로를 서바이버 경로로 선택하여 이때의 복호비트에러수는 나머지의 경우에 비하여 상당히 적은 수의 복호에러를 나타낸다.
이때 최적 경로에서의 복호에러율과 부적합 경로가 서바이버 경로로 선택되었을 경우의 복호에러율과의 비는 p=0.0225인 경우 1:328정도이다.
즉, DTCC에 의한 복호 에러의 대부분은 최적 경로가 서바이버 경로가 되지 않았을 경우의 복호에러에 의해 좌우된다.
또한 Pc는 t=31까지의 서바이버 경로가 최적 경로이며 최종 코드 워드에 에러가 존재하여 최적 경로의 최종상태인 d로 천이되지 않고 d'상태로 천이한 경우의 확률을 나타낸다. 그러므로 Pc-Pad은 최적 경로에 비해 마지막 가지만 다른 경로를 서바이버 경로로 선택할 확률을 나타낸다.
이 확률 값은 본 제안 방법에서의 경로 수정에 의해 성능이 향상 될 수 있음을 나타낸다.
또한 본 제안 복호방법에서는 초기상태와 최종상태가 같아야 한다는 조건을 이용하므로써 경로 수정기법을 사용하여서도 초기상태와 최종상태가 같지 않은 경우 DTCC복호를 처음부터 다시 수행할 수 있다.
이때에는 수신심볼열의 처음과 마지막 부분에 에러가 밀집하여 비터비 알고리즘에 의한 상태 추정이 부정확해지는 점을 고려하여 수신심볼열을 구속장 길이 이상만큼 순환시켜 DTCC복호를 재개하므로써 전체적인 복호성능을 향상시킬 수 있다.
이상에서 제안한 CCC복호 알고리즘을 컴퓨터 시뮬레이션을 통하여 성능을 측정해 보았으며 최근에 발표된 CCC복호 알고리즘을 현재까지 가장 계산량이 작은 방법인 COX의 방법과 성능을 비교하였다. 시뮬레이션시에 성능 비교의 기준으로 COX가 시뮬레이션한 조건과 동일하게 하였다.
즉, dfree=10인 m=7, r=1/2, g(1)=237, g(2)=345인 길쌈부호에 대해 정보열의 길이 L=32인 경우를 입력으로 하였고, 복호는 경판정 결정으로 하였으며, 10000번의 시험을 통한 성능을 비교하였다.
이러한 길쌈부호기를 제7도에 나타내었다.
또한 에러확률이 p=0.0225, 0.0298, 0.0375, 0.048인 각 경우의 BSC채널에 대해 수행하였다.
그리고 본 제안 방법에서의 임계치는 τ1=8, τ2=4로 하였다.
이러한 시험환경에서 수행한 결과는 제8도에 나타내었다.
이 그림에서 T는 송수신단에서 초기상태 또는 최종상태를 알고 있는 이상적인 경우의 성능이고, 나머지는 COX의 방법에 의한 성능을 나타내었다.
제8도에서 보는 바와 같이 본 발명에서 제안하는 방법은 각 채널에 대해 기존의 방법과 유사한 성능을 가지며 평균 VU(Viterbi Update)는 기존 방법에 비해 약 50%정도 절감되었다.
제9도에는 본 제안 방법에서의 결정 통계치로써 Step에서의 숫자는 비터비 알고리즘의 수행횟수를 나타내며 에러블록은 복호에러가 발생한 블록수를 나타낸다.
이 그림으로부터 에러확률이 0.0225인 BSC채널에 대해 약 98%정도는 비터비 알고리즘수행으로써 복호가 가능하였으며 에러확률이 0.0448 인 BSC채널의 경우는 약 93%만이 한번의 비터비 알고리즘 수행으로 복호가 가능하였다.
기존의 선형길쌈부호에서 나타나는 전송률 손실을 개선하는 방법으로 순환길쌈부호방법이 있는데 이 방법은 많은 복호계산량을 요구하는 것이 단점이다.
본 발명에서는 이러한 많은 복호계산량을 절감하는 복호방법으로 기존의 선형길쌈부호의 복호에 비하여 약간의 복호계산량을 더 필요로 하지만 기존의 순환길쌈부호의 복호방법중 현재까지 가장 적은 계산량을 필요로 하는 순환(Circular) 비터비 복호방법에 비하여 절반 수준의 복호계산량으로 복호가 수행되는 장점을 가진다.
또한 복호성능은 순환(Circular) 비터비 복호방법과 유사하다.
본 발명에서 달성한 순환길쌈부호의 복호계산량은 기존의 선형길쌈부호에 비하여 약간의 복호계산량을 추가하므로써 만족할 만한 정도의 성능을 유지하면서 복호가 가능하기 때문에 순환길쌈 부호의 실용화가 가능하다.
기존의 순환길쌈부호의 복호방법으로는 많은 복호계산량을 요구하기 때문에 실용화가 불가능했었다.

Claims (1)

  1. 입력정보의 일부분을 사용하여 길쌈부호기의 초기 상태를 결정하고 나머지 입력정보를 모두 길쌈부호하고 난 다음, 초기상태를 결정하였던 입력정보를 길쌈부호화하는 순환길쌈부호의 복호화 방법에 있어서, 서바이버 경로의 초기상태와 최종상태가 같아야 한다는 조건을 이용하여 복호여부를 판단한 후, 한 블록의 입력 정보를 최대 가능성(ML : Maximum Likelihood) 복호하는 제1과정과; 최대 가능성 복호를 수행한 후 서바이버 경로의 초기상태와 최종상태가 같은가를 비교해서 두 상태가 서로 다를 경우, 두 상태가 같아지도록 하는 제 2의 다른 경로로 서바이버 경로를 수정하는 제 2과정; 및 한 블록의 입력정보를 ML 복호할 때 수신된 심볼열을 순환시프트시켜 ML 복호화는 제 3 과정을 포함하는 것을 특징으로 하는 순환길쌈부호의 복호방법.
KR1019950024220A 1995-08-05 1995-08-05 순환길쌈부호의 복호방법 KR0170199B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950024220A KR0170199B1 (ko) 1995-08-05 1995-08-05 순환길쌈부호의 복호방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950024220A KR0170199B1 (ko) 1995-08-05 1995-08-05 순환길쌈부호의 복호방법

Publications (2)

Publication Number Publication Date
KR970013795A KR970013795A (ko) 1997-03-29
KR0170199B1 true KR0170199B1 (ko) 1999-03-30

Family

ID=19422958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950024220A KR0170199B1 (ko) 1995-08-05 1995-08-05 순환길쌈부호의 복호방법

Country Status (1)

Country Link
KR (1) KR0170199B1 (ko)

Also Published As

Publication number Publication date
KR970013795A (ko) 1997-03-29

Similar Documents

Publication Publication Date Title
US5537444A (en) Extended list output and soft symbol output viterbi algorithms
KR100554322B1 (ko) 복수의 코딩 버스트내에 배치된 crc 비트에 의해 종료 상태가결정되는 컨벌루셔널 디코딩
KR100566084B1 (ko) 콘벌루션 인코딩된 코드워드를 디코딩하기 위한 소프트 결정 출력 디코더
US4805174A (en) Error correcting coder/decoder
Imai et al. A new multilevel coding method using error-correcting codes
JP2527163B2 (ja) デ−タワ−ド伝送システム
US5802116A (en) Soft decision Viterbi decoding with large constraint lengths
JPH07273813A (ja) ソフトシンボルの生成方法と装置
KR20010023315A (ko) 연결 코드에서 순환 중복 검사를 선택하는 장치 및 방법
US6161210A (en) List Viterbi algorithms for tailbiting convolutional codes
US5014275A (en) Sequential decoder
GB2428545A (en) Blind transport format detection with cyclic redundancy check and a variable threshold value
US5822340A (en) Method for decoding data signals using fixed-length decision window
JPH0316046B2 (ko)
GB2315001A (en) Viterbi decoder for depunctured codes
US5850405A (en) Method for error recognition of a digital bit data stream transmitted by a transmitter to a receiver
KR100710743B1 (ko) 간이 채널 디코더를 구비하는 전송 시스템 및 이 시스템의 운영 방법
KR0170199B1 (ko) 순환길쌈부호의 복호방법
KR0171383B1 (ko) 순환컨벌루션널코드의복호화방법
US5666380A (en) Digital communication system and method of compressing information
JP4226165B2 (ja) 復号装置及び復号方法
KR100811376B1 (ko) 통신시스템에서의 부호화 및 복호화 방법
JP3255458B2 (ja) 畳み込み符号化およびビタビ復号化方式並びに畳み込み符号化装置およびビタビ復号化装置
KR0169681B1 (ko) 비터비 복호기
KR20060059286A (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
FPAY Annual fee payment

Payment date: 20081001

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee