KR100396756B1 - 비터비 복호기 - Google Patents

비터비 복호기 Download PDF

Info

Publication number
KR100396756B1
KR100396756B1 KR10-2000-0085637A KR20000085637A KR100396756B1 KR 100396756 B1 KR100396756 B1 KR 100396756B1 KR 20000085637 A KR20000085637 A KR 20000085637A KR 100396756 B1 KR100396756 B1 KR 100396756B1
Authority
KR
South Korea
Prior art keywords
state
path
synchronization
determining
metric
Prior art date
Application number
KR10-2000-0085637A
Other languages
English (en)
Other versions
KR20020056313A (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 KR10-2000-0085637A priority Critical patent/KR100396756B1/ko
Publication of KR20020056313A publication Critical patent/KR20020056313A/ko
Application granted granted Critical
Publication of KR100396756B1 publication Critical patent/KR100396756B1/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/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
    • 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/33Synchronisation based on error coding or decoding

Landscapes

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

Abstract

본 발명은 비터비 복호기에 관한 것으로, 종래의 비트오율값의 크기를 보고 동기를 판단하는 방식은 복호 지연시간이 길고, 믿을 만한 판단을 하기 위해서는 긴 측정주기 또는 여러번의 추정을 해야 하는 문제점이 있으며, 또한 신호대 잡음비(SNR)가 높아야 잘 동작한다는 문제점이 있으며, 또한 경로 메트릭(Path metric)의 증가율에 의해 동기를 판단하는 방식은 평균 입력신호의 크기 변화에 민감하고, 믿을만한 판단을 하기 위해서는 여러번(20~30)의 추정이 필요하며, 부호율에 따라 증가율이 달라진다는 문제점이 있으며, 또한 최대/최소 경로메트릭의 차를 이용한 동기를 판단하는 방식은 신호대 잡음비(SNR)가 낮은 환경에서는 역시 신뢰성이 떨어지는 문제점이 있다. 따라서, 본 발명은 부호화된 신호를 입력받아 정렬하는 신호정렬 조정부와; 각 상태에서의 브랜치 메트릭을 계산하는 브랜치 메트릭 계산부와; 각 상태에서의 패스 메트릭을 계산하고, 최적 경로(Survival path)를 선택하는 ACS부와; 상기 ACS부의 출력인 각 상태에서의 패스 메트릭 가운데 최소 경로메트릭을 갖는 상태를 결정하는 최소 경로메트릭 선택부와; 이전 최소 경로메트릭의 상태로부터 현재 최소 경로메트릭의 상태가 나올 수 있는지 여부에 의한 연속 가능한 상태를 검출하는 상태 연결 검출부와; 상기 상태 연결 검출부의 정보를 이용하여 동기여부를 판단하는 동기 판단부로포함하여 구성하고, 최소 경로에 해당되는 상태(min_state)값이 그 이전 상태(prev_min_state)에서 1비트를 우로 시프트시킨 값과 일치하는지 여부에 의해 경로가 연결되었는지를 판단하고, 그 경로 연결이 되지 않은 개수를 카운트하여 그 개수가 임계값보다 크면 동기가 맞지 않는 것으로 판단하고, 그보다 작으면 동기가 맞는 것으로 판단하도록 이루어짐으로써, 간단하면서 빠르게 비터비 복호기의 동기를 검출할 수 있도록 하여 비터비 복호기의 신뢰성을 향상시킬 수 있는 효과가 있다.

Description

비터비 복호기{VITERBI DECODER}
본 발명은 비터비 복호기에 관한 것으로, 특히 비터비 복호기에서 동기를 좀더 빠르게 검출할 수 있도록 하는데 적당하도록 한 비터비 복호기에 관한 것이다.
길쌈부호(Convolutional Coding)는 전송 채널상에서 발생하는 잡음 등의 영향으로부터 데이터를 보호하기 위한 오류 정정의 목적으로 널리 사용하고 있는 방식 가운데 하나이다.
이러한, 길쌈부호를 복호하는 방식에는 여러 가지가 있으며 이 가운데 상업적으로 가장 널리 사용하고 있는 것이 비터비 복호기이며, 이 비터비 복호기에서 올바른 데이터의 복구를 위해 필요한 작업 중의 하나가 동기화(Node Synchronization)이다.
그럼, 일반적인 비터비 복호기의 동기화 과정을 도1을 참조하여 설명하기로 한다.
먼저, 도1의 (a)와 같이 도시된 송신 신호열(D(1)∼D(4))이 부호율(code rate)이 1/2인 길쌈부호기(1)를 거치면, (b)에 도시된 바와 같은 부호화된 신호열(C11∼C42)이 된다.
그러면, 이 신호는 송신하기 전에 사용할 변조방식에 맞도록 하기 위하여 병렬/직렬 변환기(2)를 통해 (c)에 도시된 바와 같은 직렬 형태의 신호열(S(1)∼S(8))로 만든다.
그럼, 변조용 심벌 변환기(3)에서는 상기 직렬 형태의 신호열(S(1)∼S(8))을 사용할 변조방식에 맞도록 전송 심벌당 비트수 크기로 맞추어 전송하며, 수신부에서는 복조용 비트 변환기(4)를 통해 상기 신호열을 수신하여 변조방식의 역과정을 거쳐 (d)에 도시된 바와 같은 복조 수신 신호열(R11∼R42)을 만든다.
참고로, 상기 수신 신호열(R11∼R42)은 송신 신호열(S(1)∼S(8))에 대하여 한가지 형태로만 복조되는 것이 아니고, 사용한 변조 방식에 따라 발생할 수 있는 반송파 위상오차의 개수만큼 다른 신호열이 나올 수 있다.
이렇게 만들어진 수신 신호열(R11∼R42)을 비터비 복호기(6)에 입력하기 위해서는 직렬/병렬 변환기(5)를 통해 (e)에 도시된 바와 같이 한 개의 병렬 데이터 쌍으로 정렬한다.
즉, 송신신호와 같은 형태로 정렬되어 비터비 복호기(6)가 복호를 잘 수행하게 되면, (f)와 같이 송신 데이터와 같은 형태의 복호 데이터(D)가 출력된다.
그러나, (e')와 같이 송신신호가 다르게 정렬되면 비터비 복호기(6)가 복호를 제대로 수행할 수 없게되어 (f')와 같이 송신 데이터와 다른 형태의 복호 데이터(E(1)∼E(4))가 출력된다.
이와 같이, 비터비 복호기(6)에서의 동기는 (e)에 도시된 바와 같이, 수신 신호열을 비터비 복호기에 맞도록 맞추어 주는 것을 말하며, 동기가 잡힐 때까지 동기화 과정을 계속 수행한다.
이때, 동기가 잡힌 것을 판단하기 위해서는 일단, 임의의 위치를 기준으로 신호를 정렬하여 비터비 복호를 수행해본 결과, 비터비 복호가 잘 이루어지면 신호정렬 위치가 맞아 동기가 잡힌 것으로 본다.
그러나, 비터비 복호가 잘 이루어지지 않으면 신호 정렬 위치가 안맞아 동기가 안맞은 것으로 보고, 이때에는 다른 위치로 신호정렬을 시도해 본다.
상기와 같은 과정을 계속 수행하다 보면 비터비 복호기가 복호를 수행할 수 있는 올바른 위치를 찾게 되어 비터비 복호기의 동기를 잡게 되는 것이다.
그럼, 종래 비터비 복호기의 동기화 과정의 몇가지를 예를 들어 설명하기로 한다.
먼저, 도2는 복호 데이터의 재부호화에 의한 비트오율 측정을 이용하여 동기화하는 장치의 구성을 보인 예시도이다.
일단, 송신단의 길쌈부호기(11)를 통해 부호화된 신호열을 수신하는 수신단은 임의의 신호 정렬용 위치 설정에 대하여 비터비 복호기 입력 신호를 정렬한 다음, 비터비 복호부(12)를 통해 비터비 복호를 수행하고, 복호된 신호열을 다시 길쌈부호부(14)를 통해 길쌈 부호화한다.
한편, 지연기(13)는 상기 수신된 신호를 비터비 복호부(12)와 길쌈 부호부(14)를 거치는 동안 지연시켜 출력하고, 비교부(15)는 상기 지연부(13)에서 출력된 신호와 길쌈 부호부(14)에서 출력된 신호를 비교하여 비트 에러(BIT ERROR)를 비트 오율 측정부(16)에 출력하여 비트오율(Bit Error Rate)을 검사한다.
만약, 동기가 맞았다면 비트오율은 채널에서 생긴 잡음 때문에 발생한 오류 만큼의 비트오율값을 나타내게 되고, 동기가 맞지 않았다면 비터비 복호기의 복호 데이터는 수신 신호열과는 상관없는 신호가 나오게 되어 비트오율은 상당히 큰 값이 된다.
따라서, 비트오율값의 크기를 보고 동기가 맞는지 아닌지를 판단할 수 있게 되는 것이다.
이 방식은 입력 신호의 크기 변화에 무관하다는 장점이 있으나, 복호 지연시간이 길고 믿을 만한 판단을 하기 위해서는 긴 측정주기 또는 여러번의 추정을 해야하는 단점이 있으며, 또한 신호대 잡음비(SNR)가 높아야 잘 동작한다는 문제점이 있다.
다음, 경로 메트릭(Path metric)의 증가율에 의해 동기를 판단하는 방식을 도3을 참조하여 설명한다.
일단, 상기에서 설명한 바와 같이 만약, 동기가 맞는다면 경로메트릭의 증가는 단지 채널상의 잡음에 의한 영향만 있기 때문에 그리 크지않다. 그러나, 동기가 맞지 않는다면 경로메트릭의 증가율은 크게 나타난다.
동기가 맞는 경우와 맞지 않는 경우의 경로메트릭 값 변화 형태의 예가 도3에 도시되어 있다.(도3에서 경로메트릭이 0으로 되는 것은 규준화를 한 것임)
따라서, 경로메트릭의 증가율을 보고 동기 여부를 판단할 수 있다.
상기 경로메트릭에 의한 방식은 평균 입력신호의 크기 변화에 민감하고, 믿을만한 판단을 하기 위해서는 여러번(20~30)의 추정이 필요하며, 부호율에 따라 증가율이 달라진다는 문제점이 있다.
다음, 최대, 최소 경로메트릭의 차를 이용한 동기화 과정을 도4를 참조하여 설명한다.
도4는 동기가 맞을 경우와 맞지 않을 경우의 최소 경로메트릭과 최대 경로메트릭의 차이를 보인 예시도이다.
이에 도시된 바와 같이, 동기가 맞는 경우에는 경로메트릭의 최대값과 최소값의 차이 또는 비율이 커지게 된다. 즉, 생존경로(Survival path)에 해당하는 최소경로 메트릭은 작은 값을 가지며, 그밖의 다른 경로 메트릭은 큰 값을 가지게 되기 때문이다.
그러나, 동기가 맞지 않았을 경우에는 비터비 복호가 올바르게 되지 않으므로 모든 경로메트릭이 큰 값을 가지며 증가하게 된다.
따라서, 최대 경로메트릭과 최소 경로메트릭의 차이 또는 비율이 크면 동기가 맞는 것으로 판단할 수 있고, 그 차이값이 작으면 동기가 맞지 않은 것으로 판단할 수 있다.
이와 같이, 최대/최소 경로메트릭의 차이에 의해 동기화 여부를 판단하는 방식은 보통의 동작환경에서는 좋지만, 신호대 잡음비(SNR)가 낮은 환경에서는 역시 신뢰성이 떨어지는 문제점이 있다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, 간단한 방법으로 보다 빠르게 동기화를 수행할 수 있도록 하기 위한 비터비 복호기를 제공함에 그 목적이 있다.
도1은 일반적인 비터비 복호기의 동기화 과정을 설명하기 위한 예시도.
도2는 복호 데이터의 재부호화에 의한 비트오율 측정을 이용하여 동기화하는 장치의 구성을 보인 예시도.
도3은 경로 메트릭(Path metric)의 증가율에 의해 동기를 판단하는 방식을 설명하기 위한 경로 메트릭 변화 예시도.
도4는 동기가 맞을 경우와 맞지 않을 경우의 최소 경로메트릭과 최대 경로메트릭의 차이를 보인 예시도.
도5는 본 발명을 적용한 비터비 복호기의 구성도.
도6은 본 발명을 적용한 동기 검출방식에서 Count-discon값 변화 예시도.
도7은 본 발명을 적용한 동기 검출 과정을 보인 순서도.
도8a는 구속장 길이가 3인 길쌈부호기의 회로도.
도8b는 상기 도8a에 도시된 길쌈부호기의 격자도(trellis diagram).
도9는 상기 도8a에 도시된 길쌈부호기의 입출력신호 및 동기검출부의 출력상태를 보인 예시도.
***도면의 주요 부분에 대한 부호의 설명***
100 : 신호정렬 조정부 200 : 브랜치 메트릭 계산부
300 : ACS부 400 : 최소 경로메트릭 선택부
500 : 상태 연결 검출부 600 : 동기 판단부
700 : 트레이스백 유니트
이와 같은 목적을 달성하기 위한 본 발명은, 부호화된 신호를 입력받아 정렬하는 신호정렬 조정부와; 각 상태에서의 브랜치 메트릭을 계산하는 브랜치 메트릭 계산부와; 각 상태에서의 패스 메트릭을 계산하고, 최적 경로를 선택하는 ACS부와; 상기 ACS부의 출력인 각 상태에서의 패스 메트릭 가운데 최소 경로메트릭을 갖는 상태를 결정하는 최소 경로메트릭 선택부와; 이전 최소 경로메트릭의 상태로부터 현재 최소 경로메트릭의 상태가 나올 수 있는지 여부에 의한 연속 가능한 상태를 검출하는 상태 연결 검출부와; 상기 상태 연결 검출부의 정보를 이용하여 동기여부를 판단하는 동기 판단부로 구성한 것을 특징으로 한다.
이하, 본 발명에 따른 일실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도5는 본 발명을 적용한 비터비 복호기의 구성을 보인 블록도로서, 이에 도시한 바와 같이, 부호화된 신호를 입력받아 정렬하는 신호정렬 조정부(100)와; 각 상태에서의 브랜치 메트릭(branch metric)을 계산하는 브랜치 메트릭 계산부(200)와; 각 상태에서의 패스 메트릭(path metric)을 계산하고, 생존경로를 선택하는 ACS부(300)와; 상기 ACS부(300)의 출력인 각 상태에서의 패스 메트릭 가운데 최소 경로메트릭을 갖는 상태를 결정하는 최소 경로메트릭 선택부(400)와; 이전 입력신호에 대해 결정된 최소 경로메트릭의 상태와 현재 입력신호에 대해 결정된 최소 경로메트릭의 상태가 격자도 상에서 연속 가능한 상태인지 아닌지 여부 즉, 현재의 최소 경로메트릭의 상태(min_state)가 이전 최소 경로메트릭의 상태(pre_min_state)로부터 올 수 있는지 여부를 검출하는 상태 연결 검출부(500)와; 상기 상태 연결 검출부(500)의 정보를 이용하여 동기여부를 판단하는 동기 판단부(600)로 구성된다.
상기 설명에서 생략된 트레이스백 유니트(700)는 복호 데이터를 결정하기 위해서 수신신호의 경로를 시간적으로 역추적하는 역할을 한다.
이하, 상기와 같이 구성된 본 발명의 동작 및 작용을 설명하면 다음과 같다.
먼저, 신호정렬 조정부(100)는 입력신호를 비터비 복호기에 맞게 정렬하는 부분으로, 동기 판단부(600)로부터 동기화 여부에 대한 정보를 받아 동기가 맞을 때 까지 신호 정렬을 계속 수행한다.
다음, 브랜치 메트릭 계산부(200)에서는 정렬된 신호로부터 각 상태(state)에서의 브랜치 메트릭을 계산한다.
브랜치 메트릭은 상태(state)당 2개씩 계산하게 된다.
다음, ACS(Add, Compare Select)부(300)에서는 각 상태의 브랜치 메트릭과 그 이전 시간까지의 각 상태 경로 메트릭을 이용하여 각 상태마다 1개씩의 생존경로를 선택한다.
이때 0 또는 1로된 각 상태에서의 선택정보를 트레이스백 유니트(700)에 결정벡터(decision vector) 정보로 제공하여 트레이스백 유니트(700)에서 복호 데이터를 얻을 수 있게 한다.
또한, 최소 경로메트릭 선택부(400)로는 각 상태의 경로메트릭 정보를 보내준다.
최소 경로메트릭 선택부(400)에서는 ACS부(300)의 각 상태별 경로메트릭을 비교하여, 최소 경로메트릭을 갖는 상태가 어느 상태인지를 결정한다.
이렇게 결정된 상태를 'min_state'라고 하고, 그 이전 시간에 결정했던 상태를 'prev_min_state'라고 할 때, 상태 연결 검출부(500)에서는 'min_state'가 'prev_min_state'로부터 올 수 있는 상태인지 아닌지의 여부를 판단한다.
즉, 'min_state'와 'prev_min_state'가 격자도 상에서 연결이 되어 있으면 출력(disconnect)으로 0을, 연결되어 있지 않으면 1을 출력하도록 한다.
동기 판단부(600)에서는 상태 연결 검출부(500)의 출력신호를 카운터에 입력시켜 'min_state'와 'prev_min_state'가 연결안된 개수(즉, disconnect=1인 개수)를 센다.
그리고, 상기 연결안된 개수(count_discon)의 변화를 검토하여 동기 여부를 판단한다.
이 값은 도6에 도시된 바와 같이 동기가 맞는 경우에는 잡음에 의한 영향만으로 그 증가율이 작으나, 동기가 맞지 않는 경우에는 증가율이 커지게 된다.
다음, 도7은 본 발명을 적용한 동기 검출 과정을 보인 순서도로서, 이에 도시한 바와 같이, 최소 경로메트릭 선택부(400)에서 최소 경로에 해당되는 상태(min_state)를 결정하고(S11), 그 상태값이 그 이전 상태(prev_min_state)에서 1비트를 우로 시프트시켜 상기 최소 경로 상태(min_state)와 일치하는지를 판단한다(S12).
이에 따라, 두 상태(min_state, prev_min_state) 값이 일치하면 경로가 연결된 상태로서 'disconnect=0'이 되고, 두 상태값이 일치하지 않으면 경로가 연결되지 않은 상태로서 'disconnect=1'이 된다.
다음, 상기 'disconnect=1'인 경우의 개수를 순차로 카운트하고(count_discon=count_discon + disconnect), 현재의 상태(min_state)를 이전 상태(prev_min_state)로 설정하여, 다음 최소 경로 상태(min_state)와의 연결 여부를 일정 시간동안 계속 반복한다(S14).
다음, 상기 카운트값(count_discon)을 바탕으로 일정 시간마다 동기 여부를 판단하게 되는데, 사용하는 길쌈 부호의 부호율과 채널의 잡음환경 등에 따라 적당한 임계값(thredhold)을 정하고, 상기 카운트 값(count_discon)과 임계값을 비교하여 그보다 크면 동기가 맞지 않는 것으로 판정하고, 그보다 작으면 동기가 맞는 것으로 판정한다(S15).
상기와 같은 동기 검출 과정은 비터비 복호기가 동작하는 한 계속된다.
그럼, 도8과 도9에 도시된 바와 같이, 구속장 길이가 3인 간단한 경우를 예로 들어 본 발명의 동기 검출과정을 설명하면 다음과 같다.
도8a는 구속장 길이가 3인 길쌈부호기의 회로도이고, 도8b는 상기 길쌈부호기의 격자도(trellis diagram)이다.
다음, 도9는 상기 도8a에 도시된 길쌈부호기의 입출력신호 및 경판정(hard decision)을 이용한 동기검출부의 출력상태를 보인 예시도이다.
도8a에 도시된 길쌈부호기는 도9의 (a)와 같이 입력신호(1 0 1 1…)를 부호화하여 '11 10 00 01 …'의 신호를 출력한다. 부호화된 신호를 복호하기 위해서 동기를 맞추어야 한다.
만약, 도9의 (a)처럼 동기를 맞추었을 경우, ACS부(300)에서 각 상태의 경로메트릭을 구하고, 최소 경로메트릭 선택부(400)에서 최소 경로메트릭의 상태를 정한다.
만약, 최소 경로메트릭을 갖는 상태가 1개가 아닐 때에는 임의의 규칙을 정하여 여러개 가운데 하나를 선택한다.
먼저, 동기가 맞을 경우에 대해서 설명하기로 한다.
도9의 (a)에서 비터비 복호기의 첫 번째 입력신호가 '11'일 때, 각 상태(00∼11)에서의 경로메트릭은 [0 0 1 1]이 된다. 따라서, 'min_state'는 '10'이 되며, 첫 번째 입력에 대해서는 'prev_min_state'가 없으므로, 상태 연결여부(disconnect)는 판단하지 않는다.
다음, 두 번째 데이터를 입력받기 전에 현재의 상태(min_state)는 이전 상태(prev_min_state)가 되도록 변환한다.
그럼, 두 번째 입력신호 '10'에 대한 ACS부(300) 출력인 경로메트릭은 [1 1 0 1]이 되며, 최소 경로메트릭의 상태(min_state)는 '01'이 된다.
이제 상태의 연속여부를 판정한다.
즉, min_state[0]=1=prev_min_state[1]로서 서로 같으므로 상태는 연속임을 알 수 있다. 따라서, 'disconnect=0이 된다.
상기와 같은 과정을 계속 반복해 가며 'disconnect'값을 보면 동기가 맞을 경우 모두 0이 된다.
다음으로, 동기가 맞지 않을 경우에 대해 설명하면 다음과 같다.
도9의 (d)는 동기를 잘못 맞추어 정확한 위치보다 한신호 뒤에서 동기를 잡은 경우로서, 첫 번째 입력신호(11)에 대한 각 상태의 경로메트릭은 [0 0 1 1]이되고, 그 때의 최소 경로메트릭의 상태(min_state)는 '10'이 된다.
다음, 두번째 입력을 받기 전에 현재 상태(min_state)는 이전 상태(prev_min_state)가 되고, 두 번째 입력을 받아 ACS부(300)를 거친 뒤의 경로메트릭은 [0 1 1 1]이 되고, 이때의 최소 경로메트릭의 상태(min_state)는 '00'이 된다.
다음, 상태의 연결여부를 확인하면 Min_state[0]=0, prev_min_state[1]=1로 서로 같지 않으므로 이것은 상태가 연결되어 있지 않음을 나타낸다. 따라서, disconnect=1이 된다.
상기와 같은 과정을 계속 수행해 나가다 보면 곳곳에 상태 연결이 되어 있지 않은 곳을 발견할 수 있다. 즉, 동기가 맞을 때보다 동기가 맞을 때(disconnect=1이 되는 횟수)가 더 많음을 알 수 있다.
즉, 최소 경로메트릭의 현재 상태(min_state)와 이전 상태(prev_min_state)의 연결 여부에 의해서 그 값(disconnect=1인 횟수)이 소정의 임계값을 넘으면 동기가 맞지 않고, 그 이내이면 동기가 맞는 것을 바로 확인할 수 있는 것이다.
여기서, 'disconnect=1'이 되는 빈도는 채널상의 잡음, 부호율(coderate) 등에 따라 달라지므로, 각각의 경우에 대한 정보를 기초 데이터로 갖고, 적당한 값을 선택하여 동기 여부를 판단해야 한다.
이상에서 설명한 바와 같이 본 발명 비터비 복호기는 간단하면서 좀더 빠르게 비터비 복호기의 동기를 검출할 수 있도록 하여 비터비 복호기의 신뢰성을 향상시킬 수 있는 효과가 있다.

Claims (5)

  1. 부호화된 신호를 입력받아 정렬하는 신호정렬 조정부와; 각 상태에서의 브랜치 메트릭을 계산하는 브랜치 메트릭 계산부와; 각 상태에서의 패스 메트릭을 계산하고, 최적 경로를 선택하는 ACS부와; 상기 ACS부의 출력인 각 상태에서의 패스 메트릭 가운데 최소 경로메트릭을 갖는 상태를 결정하는 최소 경로메트릭 선택부와; 이전 최소 경로메트릭의 상태로부터 현재 최소 경로메트릭의 상태가 나올 수 있는지 여부에 의한 연속 가능한 상태를 검출하는 상태 연결 검출부와; 상기 상태 연결 검출부의 정보를 이용하여 동기여부를 판단하는 동기 판단부를 포함하여 구성한 것을 특징으로 하는 비터비 복호기.
  2. 제1항에 있어서, 상기 상태 연결검출부는 최소 경로에 해당되는 상태(min_state)값과 그 이전 상태(prev_min_state)에서 1비트를 우로 시프트시킨 값이 일치하는지를 판단하여, 두 상태(min_state, prev_min_state)값이 일치하면 경로가 연속된 상태로서 'disconnect=0'으로, 두 상태값이 일치하지 않으면 경로가 연속되지 않은 상태로서 'disconnect=1'을 출력하도록 구성한 것을 특징으로 하는 비터비 복호기.
  3. 제1항에 있어서, 상기 동기 판단부는 상태 연결 검출부의 출력신호중 최소 경로메트릭의 현재 상태(min_state)와 그 이전 상태(prev_min_state)가 연결안된 개수(disconnect=1인 개수)를 카운트하여 임계값 이상인지 여부에 의해 동기 여부를 판단하도록 구성한 것을 특징으로 하는 비터비 복호기.
  4. 최소 경로에 해당되는 상태(min_state)를 결정하고, 그 상태값이 그 이전 상태(prev_min_state)에서 1비트를 우로 시프트시킨 값과 일치하는지 여부에 의해 경로가 연결되었는지를 판단하는 제1단계와; 상기 단계에서 경로 연결이 되지 않은 개수를 카운트하는 제2단계와; 상기 카운트된 경로 연결이 되지 않은 개수가 임계값보다 크면 동기가 맞지 않는 것으로 판단하고, 그보다 작으면 동기가 맞는 것으로 판단하는 제3단계로 이루어진 것을 특징으로 하는 비터비 복호기.
  5. 제4항에 있어서, 상기 경로 연결이 되지 않은 개수의 임계값은 사용하는 길쌈 부호의 부호율과 채널의 잡음환경 등에 따라 적정한 값을 설정하도록 이루어진 것을 특징으로 하는 비터비 복호기.
KR10-2000-0085637A 2000-12-29 2000-12-29 비터비 복호기 KR100396756B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0085637A KR100396756B1 (ko) 2000-12-29 2000-12-29 비터비 복호기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0085637A KR100396756B1 (ko) 2000-12-29 2000-12-29 비터비 복호기

Publications (2)

Publication Number Publication Date
KR20020056313A KR20020056313A (ko) 2002-07-10
KR100396756B1 true KR100396756B1 (ko) 2003-09-02

Family

ID=27688808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0085637A KR100396756B1 (ko) 2000-12-29 2000-12-29 비터비 복호기

Country Status (1)

Country Link
KR (1) KR100396756B1 (ko)

Also Published As

Publication number Publication date
KR20020056313A (ko) 2002-07-10

Similar Documents

Publication Publication Date Title
EP0139511A2 (en) Digital data decoders
US8370730B2 (en) Soft output viterbi detector with error event output
US5822340A (en) Method for decoding data signals using fixed-length decision window
WO2017214556A1 (en) Modulation adaption method for multi-mode modems
US4862464A (en) Data error detector for digital modems using trellis coding
EP0603824B1 (en) Method of and circuit for detecting synchronism in viterbi decoder
US7590925B2 (en) Apparatus and method for detecting puncture position in a symbol stream encoded by punctured convolutional coding scheme
KR100396756B1 (ko) 비터비 복호기
US6914947B2 (en) Method and apparatus for handling time-drift
EP0748057B1 (en) Bit error counting method and counter
US7107514B1 (en) Method and apparatus for detecting Viterbi decoder errors due to quasi-catastophic sequences
US6785353B1 (en) Synchronization loss detection in a V.34 receiver
US6947503B2 (en) Method and circuit for synchronizing a receiver for a convolutionally coded reception signal
JP3123289B2 (ja) ビタビ復号装置
US6253347B1 (en) Automatic synchronization circuit for trellis decoder
KR100431162B1 (ko) 코드레이트 검출장치
US6637003B1 (en) Viterbi decoder and synchronism controlling method
EP0838906A2 (en) Method and device for determining thresholds of metric values used in Viterbi synchronization evaluation circuits
KR100191324B1 (ko) 디지탈 전송신호의 복원장치
US6411663B1 (en) Convolutional coder and viterbi decoder
WO2003039058A2 (en) Estimation of channel parameters using re-encoding
JP2871140B2 (ja) 復調基準位相曖昧度除去システムおよびその受信装置
KR100488136B1 (ko) 고정길이결정창을이용한데이터신호디코딩방법
KR0150093B1 (ko) 비터비 복호기에서의 펀츄어 패턴 동기/비동기 및 위상이동 검출 방법
US8503585B2 (en) Decoding method and associated apparatus

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20070629

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee