KR100311504B1 - 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법 - Google Patents

비터비디코더의스태이트메트릭메모리및이를이용한복호화방법 Download PDF

Info

Publication number
KR100311504B1
KR100311504B1 KR1019980001907A KR19980001907A KR100311504B1 KR 100311504 B1 KR100311504 B1 KR 100311504B1 KR 1019980001907 A KR1019980001907 A KR 1019980001907A KR 19980001907 A KR19980001907 A KR 19980001907A KR 100311504 B1 KR100311504 B1 KR 100311504B1
Authority
KR
South Korea
Prior art keywords
metric
state
memory
metrics
memories
Prior art date
Application number
KR1019980001907A
Other languages
English (en)
Other versions
KR19990066200A (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 KR1019980001907A priority Critical patent/KR100311504B1/ko
Priority to US09/222,345 priority patent/US6351839B1/en
Priority to CNB98126509XA priority patent/CN1144373C/zh
Publication of KR19990066200A publication Critical patent/KR19990066200A/ko
Application granted granted Critical
Publication of KR100311504B1 publication Critical patent/KR100311504B1/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
    • 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
    • H03M13/6505Memory efficient implementations
    • 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

본 발명은 일정한 주기에 따라 출력되는 현재-스태이트의 메트릭으로부터 생성되는 생존 패스 메트릭(Survival Path Metric)을 제어신호에 의해 지정되는 두 메모리에 동시 저장하여 두 개의 다음-스태이트 메트릭을 동시에 지정할 수 있는 비터비 디코더의 스태이트 메트릭 메모리 및 이를 이용한 복호화 방법에 관한 것이다. 이와 같은 본 발명은 입력되는 N개의 코드심볼과 가설값으로부터 복수의 브렌치 메트릭을 계산하는 수단과, 초기 상태 또는 이전 상태의 복수의 스태이트 메트릭과 상기 브렌치 메트릭을 이용하여 각각의 패스 메트릭을 만드는 수단과, 상기 N ×1/4로 각각 이루어진 제 1, 제 2 메모리와, 상기 N ×1/4 + N ×1/8로 각각 이루어진 제 3, 제 4 메모리로 구성되어, 상기 패스 메트릭 산출수단에서 리드되는 현재 스테이트 메트릭과 라이트되는 다음 스테이트 메트릭을 동시에 저장하는 수단과, 상기 현재 스테이트 메트릭과 다음 스테이트 메트릭을 리드 또는 라이트 동작을 제어하는 어드레스신호를 상기 저장수단에 제공하는 수단을 포함하여 구성된다.

Description

비터비 디코더의 스태이트 메트릭 메모리 및 이를 이용한 복호화방법{state metric memory in viterbi decoder and method for decoding using the same}
본 발명은 디지탈 통신 시스템에 있어서 비터비 디코더(Viterbi Decoder)의 스태이트 메트릭 메모리(State Metric Memory)에 관한 것으로, 특히 송신측에서 전송된 신호가 전송 채널상에서 발생할 수 있는 부가 잡음에 의한 에러(error)를 정정하여 최적의 경로를 통한 복호화를 실현할 수 있는 비터비 디코더의 스태이트 메트릭 메모리 및 이를 이용한 복호화 방법에 관한 것이다.
일반적으로 비터비 디코더는 위성 통신 분야와 디지탈 통신 분야에서 최적의 경로를 통한 복호화를 실현 위한 송수신장치에 많이 이용되고 있다. 이러한 최근의 종래 기술은 대한민국 특허출원 제 97-11990 호(발명의 명칭 : 비터비 디코더의 어드레스 발생 방법)에 개시되었다.
대한민국 특허출원 제 97-11990 호에 개시된 비터비 디코더의 구성은 일반적으로 룩업테이블(Look-Up Table)을 이용하여 수신되는 코드 심볼과 임의의 가설값(Hypothesis)으로부터 브렌치 메트릭(Branch Metric)을 계산하는 브렌치 메트릭부(Branch Metric Calculator)(10)와, 상기 브렌치 메트릭과 현재-스태이트 메트릭(Current-state Metric)을 가산시키고, 패스 메트릭(Path Metric)들을 비교하여 최적의 패스 메트릭을 선택하는 가산비교선택부(Adder/Compare/Selecter)(20)와, 현재-스태이트 메트릭과 다음-스태이트 메트릭(Next-state Metric)을 리드/라이트(read/write)하는 메모리(30)와, 상기 현재 또는 다음 스태이트 메트릭을 리드/라이트(read/write)하도록 상기 메모리의 어드레스를 지정하기 위한 제어신호를 선택적으로 발생시키는 어드레스 발생부(40)로 구성된다.
이와 같은 구성을 갖는 비터비 디코더에 의한 개략적인 복호화 방법은 수신되는 모든 코드심볼에 대한 트렐리스도(Trellis Diagram)를 작성하고, 상기 트렐리스도에서 비터비 디코더로 입력되는 데이터에 대한 각 노드(node)의 거리값(distance value)을 계산하여, 복호화가 가능한 모든 경로들 각각에 대한 거리값을 누적함으로써 상기 누적된 거리값이 가장 작은 경로, 즉 최소의 평가량을 갖는 경로를 생존 패스로 결정한다.
여기서, 비터비 디코더의 어드레스는 메모리로부터 현재-스태이트 메트릭을 일정한 주기에 따라 리드(read)하고, 새로운 다음-스태이트 메트릭으로 갱신하여 다음-스태이트 메트릭을 라이트(write)하는 과정을 통하여 발생된다.
상기와 같이 일정한 주기에 따라 리드(read)되는 현재-스태이트 메트릭으로부터 일정한 주기에 따라 라이트(write)되는 최적의 다음-스태이트 메트릭을 지정하는 것은 도 2에 도시된 트렐리스도(Trellis Diagram)의 스태이트 천이(State Transition)를 모두 실행하려면 아래와 같이 8번의 리드/라이트(read/write) 동작이 수행되어야만 한다.
(000,001→000), (010,011→001), (100,101→010), (110,111→011),
(000,001→100), (010,011→101), (100,101→110), (110,111→111)
상기 8번의 리드/라이트(read/write) 동작을 거쳐 생성된 8 스태이트의 다음-스태이트 메트릭은 다시 현재-스태이트 메트릭으로 간주되어 상기 8번의 리드/라이트(read/write) 동작을 다시 수행한다.
이와 같이, 반복되는 메트릭의 스태이트 교환을 완전하게 실현하기 위해서는 상기 메모리가 임의의 시점부터 일정한 주기에 따라 리드(read)되는 현재-스태이트 메트릭을 모두 저장하고 있어야 하고, 상기 주기에 따라 라이트(write)되는 다음-스태이트 메트릭을 저장하기 위한 메모리 공간이 필요하다.
그러므로, 상기 메모리에서 현재-스태이트 메트릭을 모두 저장할 수 있는 메모 공간이 N이라고 할 때, 다음-스태이트 메트릭을 라이트(write)할 수 있는 메모리 공간도 N이 필요하게 된다. 따라서, 상기 반복되는 메트릭의 스태이트 교환을완전하게 실현하기 위해 필요로 하는 전체 메모리 공간은 2*N이 되어야 한다.
여기서, 도 2에 보인 상기 트렐리스도는 구속장(Constraint Length)에 따라 스태이트가 한정된다. 구속장은 중첩 엔코딩(Convolution Encoding)된 수신 코드 심볼에서 정보를 포함하는 비트가 최대의 영향을 미칠 수 있는 부호기(Encoder)의 출력 비트 수를 나타내는 것으로, C가 구속장이라 할 때 "0"에서 "2C-1"까지 범위의 스태이트가 있게 된다.
그러므로, 도 2에 도시된 트렐리스도는 구속장(Constraint length)이 4인 경우를 보여주는 것으로써, 8 스태이트가 있게 되는 것이다.
또한, 도 1은 종래 기술에 따른 비터비 디코더의 일부 구성을 나타낸 블록구성도이다.
이하에서, 도 2를 참조하여 도 1에 도시된 비터비 디코더의 스태이트 메트릭 메모리의 동작을 설명하면 다음과 같다.
전체 메모리는 일정한 주기를 가지고 리드되는 현재-스태이트 메트릭과 일정한 주기를 가지고 라이트되는 다음-스태이트 메트릭을 위한 4개로 이루어지게 되는데, 상기 현재-스태이트 메트릭을 위한 제1,제2메모리(M100,M200)와, 상기 다음-스태이트 메트릭을 위한 제3,제4메모리(M300,M400)로 나누어진다.
이것은 상기 도 1의 현재-스태이트가 모두 다음-스태이트로 변환된 후에는 제1,제2메모리(M100,M200)가 다음-스태이트의 메트릭을 라이트(write)하고, 제3,제4메모리(M300,M400)가 현재-스태이트의 메트릭을 리드(read)한다.
어드레스 발생부(40)는 카운터부(Counter)(41)와 상기 카운터부(41)를 제어하는 제어부(Controller)(42)로 구성되어 상기 메모리의 영역을 지정하기 위한 제어신호를 출력하게 된다.
상기 출력된 제어신호에 의해 최초 제1, 제2 메모리(M100,M200)에 저장되어 있던 첫 번째 현재-스태이트(0=000,1=001)의 메트릭이 리드되어 가산비교선택부(20)로 입력된다.
상기 가산비교선택부(20)는 룩업테이블(Look-Up Table)을 이용하여 일정 주기로 수신되는 코드심볼과 가설값(Hypothesis)으로부터 산출되는 브렌치 메트릭과, 상기 현재-스태이트(0=000, 1=001)의 메트릭을 각각 가산하고, 각각의 패스 메트릭들을 서로 비교하여 최소의 평가량을 갖는 최적 패스 메트릭(Optimal Path Metric)을 선택함으로써, 각각의 패스 메트릭(Path Metric)을 산출한다.
상기와 같은 최적 패스 메트릭을 서바이벌 패스 메트릭(Survival Path Metric)이라고 하며, 이는 제3 메모리(M300)의 다음-스태이트(0'=000')에 라이트(write)된다.
상기와 같이 첫 번째 과정을 모두 마치고 나면, 어드레스 발생부(40)는 제1, 제2 메모리(M100,M200)의 두 번째 현재-스태이트(2=010,3=011)의 메트릭을 리드하여 상기 첫 번째와 동일한 과정을 거쳐 제4 메모리(M400)의 다음-스태이트(1'=001')에 두 번째 서바이벌 패스 메트릭을 라이트하게 된다.
이와 같이 일정한 주기에 따라 제1, 제2 메모리(M100,M200)의 다음 번째 현재-스태이트 메트릭부터 계속 리드하여 상기 첫 번째과정에서의 동일한 과정으로 상기 주기에 따라 각각 선택된 서바이벌 패스 메트릭을 순차적으로 제3메모리(M300)와 제4 메모리(M400)의 다음-스태이트에 교번하여(alternately) 라이트하게 된다.
상기 모든 과정에서 제1, 제2 메모리(M100,M200)의 현재-스태이트 메트릭은 제어신호에 의해 일정한 주기로 리드되어, 제3 메모리(M300)와 제4 메모리(M400)의 다음-스태이트에 서바이벌 패스 메트릭을 순차적으로 교번하여 라이트하게 됨으로써 첫 번째 8 스태이트의 천이 과정을 모두 마치게 된다.
도 3은 종래 기술에 따른 스태이트 메트릭 메모리의 순차적인 스태이트 천이 과정을 나타낸 도면이다.
도 3은 상기 첫 번째 8 스태이트의 천이 과정을 스태이트 메트릭 메모리에 적용한 것이다. 즉, 일정한 주기와 순서로 (000과001 → 010과011 → 100과101 → 110과111 → 000과001 → 010과011 → 100과101 → 110과111) 리드되는 현재-스태이트 메트릭으로부터 상기 주기와 순서로 교번하여 라이트 함으로써 다음-스태이트 메트릭으로 지정한다.
다음-스태이트 메트릭을 지정하는 것은, 제1, 제2 메모리(M100,M200)의 첫 번째 현재-스태이트 메트릭(0=000,1=001)에서 제3 메모리(M300)의 첫 번째 다음-스태이트 메트릭(0')을 지정한다.
제1, 제2 메모리(M100,M200)의 두 번째 현재-스태이트 메트릭(2=010,3=011)에서 제4 메모리(M400)의 두 번째 다음-스태이트 메트릭(1')을 지정한다.
제1, 제2 메모리(M100,M200)의 세 번째 현재-스태이트 메트릭(4=100,5=101)에서 제3 메모리(M300)의 세 번째 다음-스태이트 메트릭(2')을 지정한다.
제1, 제2 메모리(M100,M200)의 네 번째 현재-스태이트 메트릭(6=110,7=111)에서 제4 메모리(M400)의 네 번째 다음-스태이트 메트릭(3')을 지정한다.
여기서, 앞에서 설명한 어드레스 발생부가 제어신호를 발생하여 상기 제1, 제2 메모리(M100,M200)의 첫 번째 현재-스태이트 메트릭(0=000,1=001)부터 다시 설정된 순서로 출력하게 한다.
제1, 제2 메모리(M100,M200)의 다섯 번째 현재-스태이트 메트릭(0=000, 1=001)에서 제3 메모리(M300)의 다섯 번째 다음-스태이트 메트릭(4')을 지정한다.
제1, 제2 메모리(M100,M200)의 여섯 번째 현재-스태이트 메트릭(2=010,3=011)에서 제4 메모리(M400)의 여섯 번째 다음-스태이트 메트릭(5')을 지정한다.
제1, 제2 메모리(M100,M200)의 일곱 번째 현재-스태이트 메트릭(4=100,5=101)에서 제3 메모리(M300)의 일곱 번째 다음-스태이트 메트릭(6')을 지정한다.
제1, 제2 메모리(M100,M200)의 여덟 번째 현재-스태이트 메트릭(6=110, 7=111)에서 제4 메모리(M400)의 여덟 번째 다음-스태이트 메트릭(7')을 지정한다.
상기 과정을 모두 마치게 되는 임의의 시점에서 상기 지정된 제3, 제4 메모리(M300,M400)의 다음-스태이트 메트릭(0'=000, 1'=001, 2'=010, 3'=011, 4'=100, 5'=101, 6'=110, 7'=111)은 다시 현재-스태이트 메트릭(Present-State Metric)이 되며, 상기 순차적으로 다음-스태이트 메트릭(Next-State Metric)을 지정하기 위한 과정을 반복하게 된다.
그러므로, 상기 메모리는 제1 메모리(M100) 제2 메모리(M200)에 현재-스태이트 메트릭을 모두 저장하고 있어야 하며, 다음-스태이트 메트릭이 임의의 시점에서 다시 현재-스태이트 메트릭이 되기 때문에 제1,제2 메모리(M100, M200)와 동일한 크기의 메모리 영역이 필요하다.
이를 요약하면, 초기 스태이트(a)에서 제1, 제2 메모리(M100,M200)는 현재-스태이트(0,1,2, 3,4,5,6,7)의 메트릭을 이미 저장하고 있으며, 제3, 제4 메모리(M300,M400)에 새로 만들어지는 다음-스태이트(0',1',2',3',4',5',6',7')의 메트릭을 순차적으로 교번하여 라이트하게 된다.
또한, 상기 과정을 모두 마치게 되는 임의의 시점(a')에서는 역할이 바뀌게 되어 제3, 제4 메모리(M300,M400)의 스태이트가 현재-스태이트로 되고, 제1, 제2 메모리(M100,M200)는 다음-스태이트의 메트릭을 순차적으로 교번하여 라이트하기 위한 다음-스태이트가 된다.
이와 같은 종래 기술에 따른 비터비 디코더의 스태이트 메트릭 메모리를 사용할 경우, 현재-스태이트 메트릭을 저장할 수 있는 메모리 공간이 N이면, 다음-스태이트 메트릭을 라이트할 수 있는 메모리 공간으로 똑같은 용량이 필요하다. 따라서, 수신된 코드심볼의 오류를 정정하여 최적의 경로로 복호화를 실현하기 위한 비터비 디코더에 필요한 총 메모리 공간은 2*N이 요구되어야만 한다.
이러한 조건은, 통신 분야에서 통신 기기의 경박단소화 경향에 역행하여 제품의 경쟁력을 떨어트리는 결과를 초래한다. 또한, 이동통신 시스템을 고속 대용량화시킬 경우에는 전체 메모리의 용량이 증가되어야 하기 때문에 비용의 상승을야기하게 된다.
본 발명의 목적은 이와 같은 문제점을 해결하기 위하여 안출한 것으로, 본 발명은 일정한 주기에 따라 출력되는 현재-스태이트의 메트릭으로부터 생성되는 생존 패스 메트릭(Survival Path Metric)을 제어신호에 의해 지정되는 두 메모리에 동시 저장하여 두 개의 다음-스태이트 메트릭을 동시에 지정할 수 있는 비터비 디코더의 스태이트 메트릭 메모리 및 이를 이용한 복호화 방법을 제공하기 위한 것이다.
상기 목적을 달성하기 위한 본 발명은 입력되는 N개의 코드심볼과 가설값으로부터 복수의 브렌치 메트릭을 계산하는 수단과, 초기 상태 또는 이전 상태의 복수의 스태이트 메트릭과 상기 브렌치 메트릭을 이용하여 각각의 패스 메트릭을 만드는 수단과, 상기 N ×1/4로 각각 이루어진 제 1, 제 2 메모리와, 상기 N ×1/4 + N ×1/8로 각각 이루어진 제 3, 제 4 메모리로 구성되어, 상기 패스 메트릭 산출수단에서 리드되는 현재 스테이트 메트릭과 라이트되는 다음 스테이트 메트릭을 동시에 저장하는 수단과, 상기 현재 스테이트 메트릭과 다음 스테이트 메트릭을 리드 또는 라이트 동작을 제어하는 어드레스신호를 상기 저장수단에 제공하는 수단을 포함하여 구성된다.
상기 목적을 달성하기 위한 본 발명은 입력되는 코드심볼과 가설값을 N 이라 할 때 N ×1/4로 각각 이루어진 제 1, 제 2 메모리와, 상기 N ×1/4 + N ×1/8로 각각 이루어진 제 3, 제 4 메모리에서, 상기 입력되는 코드심볼과 가설값으로부터복수의 브렌치 메트릭을 계산하는 단계와, 초기상태 또는 이전 상태의 복수의 스태이트 메트릭과 상기 브렌치 메트릭을 이용하여 각각의 패스 메트릭을 만드는 단계와, 상기에서 만들어져 제공되는 현재 스테이트 메트릭에서 상기 제 1 메모리와 제 2 메모리의 첫 번째 현재 스테이트 메트릭을 리드하여 상기 제 1 메모리에 저장함과 동시에, 다음 스테이트 메트릭을 라이트하여 상기 제 3 메모리에 저장하는 단계와, 상기 제 1, 제 2 메모리의 상기 현재 스테이트 메트릭 다음 번 스테이트 메트릭을 리드하여 상기 제 2 메모리에 저장함과 동시에 다음 스테이트 메트릭을 라이트하여 상기 제 4 메모리에 저장하는 단계와, 상기 제 3, 제 4 메모리의 현재 스테이트 메트릭을 리드하여 상기 제 1 메모리에 저장함과 동시에 다음 스테이트 메트릭을 라이트하여 상기 제 3 메모리에 저장하는 단계와, 상기 제 3, 제 4 메모리의 상기 현재 스테이트 메트릭의 다음 스테이트 메트릭을 리드하여 상기 제 2 메모리에 저장함과 동시에 다음 스테이트 메트릭을 라이트하여 상기 제 4 메모리로 저장하는 단계를 반복하는 것으로 다음 상태로 천이하는 단계를 포함하여 이루어진다.
이와 같은 본 발명의 실시에 의해 한정된 메모리 공간을 효율적으로 이용할 수 있다. 또한, 고속 대용량의 통신 시스템을 실현하는데 메모리 용량을 추가시키지 않고도 실현할 수 있는 비터비 디코더의 스태이트 메트릭 메모리를 제공하는 것이 가능하다.
도 1은 종래 기술에 따른 비터비 디코더의 일부 구성을 나타낸 블록구성도.
도 2는 비터비 디코더에 사용되는 스태이트 메트릭 메모리의 트렐리스도.
도 3은 종래 기술에 따른 스태이트 메트릭 메모리의 순차적인 스태이트 천이 과정을 나타낸 도면.
도 4는 본 발명에 따른 비터비 디코더의 일부 구성을 나타낸 블록구성도.
도 5는 본 발명에 따른 스태이트 메트릭 메모리의 순차적인 스태이트 천이 과정을 나타낸 도면.
이하, 본 발명에 따른 비터비 디코더의 스태이트 메트릭 메모리에 대한 바람직한 실시 예를 첨부한 도면을 참조하여 설명한다.
도 4는 본 발명에 따른 비터비 디코더의 일부 구성을 나타낸 블록구성도이다.
도 4를 참조하면, 본 발명에 따른 비터비 디코더의 스테이트 메트릭 메모리는 룩업테이블(Look-Up Table)을 이용하여 수신된 코드심볼(Received Soft Decision Symbol)과 가설값(Hypothesis)으로부터 브렌치 메트릭을 산출하는 브렌치 메트릭 계산부(110)와, 후술될 어드레스 발생부(140)의 제어신호에 의해 리드된 현재-스태이트 메트릭과 상기 브렌치 메트릭을 각각 조합 가산(Collational Adding)함으로써 각각 2개씩의 패스 메트릭을 만들고, 각각의 패스 메트릭들을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택하는 제1가산비교선택부(121) 및 제2가산비교선택부(122)와, 제1가산비교선택부(121) 및 제2가산비교선택부(122)에서 일정한 주기를 가지고 리드(read)되는 현재-스태이트 메트릭과 일정한 주기로 라이트(write)되는 다음-스태이트 메트릭을 동시에 저장하는 메모리부(130)와, 상기 메모리부(130)에 구비된 4개의 메모리(M100-M400)중에서 현재-스태이트 메트릭을 리드하는 어드레스를 지정하거나 다음-스태이트 메트릭을 라이트하기 위한 어드레스를 지정하는 제어신호를 상기 메모리부(130)에 출력하는 어드레스 발생부(140)로 구성된다.
여기서, 상기 제1가산비교선택부(121)와 제2가산비교선택부(122)에서 각각 선택되어진 최적의 패스 메트릭을 생존 패스 메트릭이라고 한다. 이 생존 패스 메트릭은 어드레스 발생부(140)의 제어신호에 의해 지정되는 제1 메모리(M100) 또는 제2 메모리(M200)중 하나의 다음-스태이트에 라이트됨과 동시에 제3 메모리(M300)또는 제4 메모리(M400)중 하나의 다음-스태이트에 라이트된다. 상기 제1,제2,제3,제4메모리(M100-M400)의 출력은 모두 제1가산비교선택부(121)와 제2가산비교선택부(122)로 피드백된다.
도 5는 본 발명에 따른 스태이트 메트릭 메모리의 순차적인 스태이트 천이 과정을 나타낸 도면이다.
도 5를 참조하면, 먼저 제1 메모리(M100)와 제2 메모리(M200)에 저장되어 있던 현재-스태이트(000,001)의 메트릭을 가산하고, 비교 및 선택하여 각각 산출된 최적의 패스 메트릭을 제1 메모리(M100)의 지정된 다음-스태이트(000')에 라이트함과 동시에 제3 메모리(M300)의 지정된 다음-스태이트(100')에 라이트한다.
두 번째, 제1 메모리(M100)와 제2 메모리(M200)에 저장되어 있던 현재-스태이트(010,011)의 메트릭을 가산하고, 비교 및 선택하여 각각 산출된 최적의 패스 메트릭을 제2 메모리(M200)의 지정된 다음-스태이트(001')에 라이트함과 동시에 제3 메모리(M300)의 지정된 다음-스태이트(101')에 라이트한다.
세 번째, 제3 메모리(M300)와 제4 메모리(M400)에 저장되어 있던 현재-스태이트(100,101)의 메트릭으로부터 가산하고, 비교 및 선택하여 각각 산출된 최적의 패스 메트릭을 제1 메모리(M100)의 지정된 다음-스태이트(010')에 라이트함과 동시에 제3 메모리(M300)의 지정된 다음-스태이트(110')에 라이트한다.
마지막으로, 제3 메모리(M300)와 제4 메모리(M400)에 저장되어 있던 현재-스태이트(110,111)의 메트릭으로부터 가산하고, 비교 및 선택하여 각각 산출된 최적의 패스 메트릭을 제2 메모리(M200)의 지정된 다음-스태이트(011')에 라이트함과동시에 제4 메모리(M400)의 지정된 다음-스태이트(111')에 라이트한다.
상기 일련의 과정이 모두 종료되면, 각 메모리의 지정된 다음-스태이트(000',001',010',011',100',101',110',111')가 현재-스태이트가 되며 상기 일련의 과정을 다시 반복하게 된다.
여기서, 각 메모리(M100-M400)의 스태이트는 상기 4단계에 걸친 일련의 과정을 주기로 자신의 스태이트로 복귀하게 된다.
도 5를 참조하여 앞에서 설명한 도 4에 대해 좀더 구체적인 설명을 하면 다음과 같다.
룩업테이블을 이용하여 수신된 코드심볼과 가설값으로부터 산출되는 브렌치 메트릭이 AAA와 aaa라고 가정하고, 최초 메모리에는 현재-스태이트(000,001,010, 011,100,101,110,111)의 메트릭이 각각 저장되었다고 가정하자.
먼저, 어드레스 발생부(140)의 제어신호에 의해 제1 메모리(M100)와 제2 메모리(M200)에 해당하는 현재-스태이트(000,001)의 메트릭이 리드된다.
제1가산비교선택부(121)는 상기 제1 메모리(M100)에 해당하는 현재-스태이트(000)의 메트릭과 상기 가정된 브렌치 메트릭(AAA)을 가산함과 동시에 상기 제2 메모리(M200)에 해당하는 현재-스태이트(001)의 메트릭과 상기 브렌치 메트릭(AAA)을 가산하여 두 개의 패스 메트릭을 만든다. 이어, 두 개의 패스 메트릭을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택한다.
이와 동시에, 제2가산비교선택부(122)는 상기 제1 메모리(M100)에 해당하는 현재-스태이트(000)의 메트릭과 상기 가정된 브렌치 메트릭(aaa)을 가산함과 동시에 상기 제2 메모리(M200)에 해당하는 현재-스태이트(001)의 메트릭과 상기 브렌치 메트릭(aaa)을 가산하여 두 개의 패스 메트릭을 만든다. 이어, 두 개의 패스 메트릭을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택한다.
상기 제1가산비교선택부(121)에서 선택된 최적의 패스 메트릭은 상기 어드레스 발생부(140)의 제어신호에 의해 지정되는 제1 메모리(M100)의 다음-스태이트(000')에 라이트되고, 이와 동시에 상기 제2가산비교선택부(122)에서 선택된 최적의 패스 메트릭은 상기 어드레스 발생부(140)의 제어신호에 의해 지정되는 제3 메모리(M300)의 다음-스태이트(100')에 라이트됨으로써, 첫 번째 스태이트 메트릭 메모리의 스태이트 천이를 마치게 된다.
또한, 상기 첫 번째 스태이트 천이 과정과 동일한 조건이 제공되는 가정하에서 어드레스 발생부(140)의 제어신호에 의해 제1 메모리(M100)와 제2 메모리(M200)에 해당하는 현재-스태이트(010,011)의 메트릭이 리드된다.
제1가산비교선택부(121)는 상기 제1 메모리(M100)에 해당하는 현재-스태이트(010)의 메트릭과 상기 가정된 브렌치 메트릭(AAA)을 가산함과 동시에 상기 제2 메모리(M200)에 해당하는 현재-스태이트(011)의 메트릭과 상기 브렌치 메트릭(AAA)을 가산하여 두 개의 패스 메트릭을 만든다. 이어, 두 개의 패스 메트릭을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택한다.
또한, 제2가산비교선택부(122)는 상기 제1 메모리(M100)에 해당하는 현재-스태이트(010)의 메트릭과 상기 가정된 브렌치 메트릭(aaa)을 가산함과 동시에 상기 제2 메모리(M200)에 해당하는 현재-스태이트(011)의 메트릭과 상기 브렌치메트릭(aaa)을 가산하여 두 개의 패스 메트릭을 만든다. 이어, 두 개의 패스 메트릭을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택한다.
상기 제1가산비교선택부(121)에서 선택된 최적의 패스 메트릭은 상기 어드레스 발생부(140)의 제어신호에 의해 지정되는 제2 메모리(M200)의 다음-스태이트(001')에 라이트되고, 이와 동시에 상기 제2가산비교선택부(122)에서 선택된 최적의 패스 메트릭은 상기 어드레스 발생부(140)의 제어신호에 의해 지정되는 제4 메모리(M400)의 다음-스태이트(101')에 라이트됨으로써 두 번째 스태이트 메트릭 메모리의 스태이트 천이 과정을 마친다.
상기와 동일한 조건이 제공되는 가정하에서, 어드레스 발생부(140)의 제어신호에 의해 제3 메모리(M300)와 제4 메모리(M400)에 해당하는 현재-스태이트(100,101)의 메트릭이 리드된다.
이때, 제1가산비교선택부(121)는 상기 제3 메모리(M300)에 해당하는 현재-스태이트(100)의 메트릭과 상기 가정된 브렌치 메트릭(AAA)을 가산함과 동시에 상기 제4 메모리(M400)에 해당하는 현재-스태이트(101)의 메트릭과 상기 브렌치 메트릭(AAA)을 가산하여 두 개의 패스 메트릭을 만든다. 이어, 두 개의 패스 메트릭을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택한다.
또한, 제2가산비교선택부(122)는 상기 제3 메모리(M300)에 해당하는 현재-스태이트(100)의 메트릭과 상기 가정된 브렌치 메트릭(aaa)을 가산함과 동시에 상기 제4 메모리(M400)에 해당하는 현재-스태이트(101)의 메트릭과 상기 브렌치 메트릭(aaa)을 가산하여 두 개의 패스 메트릭을 만든다. 이어, 두 개의 패스 메트릭을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택한다.
상기 제1가산비교선택부(121)에서 선택된 최적의 패스 메트릭은 상기 어드레스 발생부(140)의 제어신호에 의해 지정되는 제1 메모리(M100)의 다음-스태이트(010')에 라이트되고, 이와 동시에 상기 제2 가산비교선택부(122)에서 선택된 최적의 패스 메트릭은 상기 어드레스 발생부(140)의 제어신호에 의해 지정되는 제3 메모리(M300)의 다음-스태이트(110')에 라이트됨으로써 세 번째 스태이트 메트릭 메모리의 스태이트 천이 과정을 마친다.
마지막으로 상기와 동일한 조건이 제공되는 가정하에서, 어드레스 발생부(140)의 제어신호에 의해 제3 메모리(M300)와 제4 메모리(M400)에 해당하는 현재-스태이트(110,111)의 메트릭이 리드된다.
제1가산비교선택부(121)는 상기 제3 메모리(M300)에 해당하는 현재-스태이트(110)의 메트릭과 상기 가정된 브렌치 메트릭(AAA)을 가산함과 동시에 상기 제4 메모리(M400)에 해당하는 현재-스태이트(111)의 메트릭과 상기 브렌치 메트릭(AAA)을 가산하여 두 개의 패스 메트릭을 만든다. 이어, 두 개의 패스 메트릭을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택한다.
또한, 제2가산비교선택부(122)는 상기 제3 메모리(M300)에 해당하는 현재-스태이트(110)의 메트릭과 상기 가정된 브렌치 메트릭(aaa)을 가산함과 동시에 상기 제4 메모리(M400)에 해당하는 현재-스태이트(111)의 메트릭과 상기 브렌치 메트릭(aaa)을 가산하여 두 개의 패스 메트릭을 만든다. 이어, 두 개의 패스 메트릭을 서로 비교하여 최소의 평가량을 갖는 최적의 패스 메트릭을 선택한다.
상기 제1가산비교선택부(121)에서 선택된 최적의 패스 메트릭은 상기 어드레스 발생부(140)의 제어신호에 의해 지정되는 제2 메모리(M200)의 다음-스태이트(011')에 라이트되고, 이와 동시에 상기 제2가산비교선택부(122)에서 선택된 최적의 패스 메트릭은 상기 어드레스 발생부(140)의 제어신호에 의해 지정되는 제4 메모리(M400)의 다음-스태이트(111')에 라이트됨으로써 네 번째 스태이트 메트릭 메모리의 스태이트 천이 과정을 마친다.
상기와 같이 네 번째 스태이트 메트릭 메모리의 스태이트 천이 과정을 마치게 되면, 어드레스 발생부(140)의 제어신호에 의해 지정되는 각 메모리의 다음-스태이트는 최초 가정했던 각 메모리의 현재-스태이트(000,001,010,011,100,101, 110,111)와 동일하게 되고, 상기 설명된 일련의 과정을 일정 시점까지 다시 반복하게 된다.
따라서, 비터비 디코더로 수신되는 코드심볼의 오류를 정정하여 최대 유사 메트릭을 갖는 코드 경로를 선별하여 최종적인 복호경로를 통해 최적의 스태이트 메트릭을 디코딩할 수 있게 된다.
상기에서 설명한 본 발명의 효과를 설명하면 다음과 같다.
본 발명을 종래의 기술과 비교해 볼 때, 종래에는 일정한 주기로 출력되는 현재-스태이트 메트릭을 모두 저장하고 있어야 하므로 현재-스태이트 메트릭을 모두 저장할 수 있는 메모리 공간이 N이면, 다음-스태이트 메트릭을 라이트할 수 있는 메모리 공간도 똑같은 용량의 N이 필요하였다.
그러나, 본 발명에서는 현재-스태이트 메트릭을 한 번 리드(read)하게 될 경우 2개를 동시에 할 수 있기 때문에 리드한 현재-스태이트 메트릭을 더 이상 메모리에 저장하지 않아도 되므로 다음-스태이트 메트릭을 라이트할 수 있는 메모리 공간이 확보된다. 따라서 최초 현재-스태이트 메트릭을 저장할 수 있는 메모리 공간이 N이라고 할 때, 다음-스태이트 메트릭을 라이트할 수 있는 메모리 공간은 (1/4)*N만 있어도 충분하다.
또한, 종래에는 도 1에 도시된 바와 같이 구속장이 4인 스태이트 천이도에서는 모든 현재-스태이트를 다음-스태이트로 천이할 경우에 메모리로부터 8번의 리드(read), 라이트(write) 동작을 수행하여야만 하였다. 그러나, 본 발명에서는 다음-스태이트 메트릭을 두 메모리에 동시에 라이트(write)하게 되므로 4번의 리드(read), 라이트(write) 동작만으로 모든 동작을 이룰 수 있다.
따라서, 고속 대용량의 스태이트 메트릭 메모리가 요구되는 통신 시스템에 적용하기가 매우 유용하며, 한정된 메모리를 효율적으로 사용할 수 있기 때문에 비터비 디코더를 내장하는 통신기기의 경박단소를 이루는데 매우 유용하다.

Claims (5)

  1. 입력되는 N개의 코드심볼과 가설값으로부터 복수의 브렌치 메트릭을 계산하는 수단과,
    초기 상태 또는 이전 상태의 복수의 스태이트 메트릭과 상기 브렌치 메트릭을 이용하여 각각의 패스 메트릭을 만드는 수단과,
    상기 N ×1/4로 각각 이루어진 제 1, 제 2 메모리와, 상기 N ×1/4 + N ×1/8로 각각 이루어진 제 3, 제 4 메모리로 구성되어, 상기 패스 메트릭 산출수단에서 리드되는 현재 스테이트 메트릭과 라이트되는 다음 스테이트 메트릭을 동시에 저장하는 수단과,
    상기 현재 스테이트 메트릭과 다음 스테이트 메트릭을 리드 또는 라이트 동작을 제어하는 어드레스신호를 상기 저장수단에 제공하는 수단을 포함하여 구성된 것을 특징으로 하는 비터비 디코더의 스태이트 메트릭 메모리.
  2. a) 입력되는 코드심볼과 가설값을 N 이라 할 때 N ×1/4로 각각 이루어진 제 1, 제 2 메모리와, 상기 N ×1/4 + N ×1/8로 각각 이루어진 제 3, 제 4 메모리에서, 상기 입력되는 코드심볼과 가설값으로부터 복수의 브렌치 메트릭을 계산하는 단계와,
    b) 초기상태 또는 이전 상태의 복수의 스태이트 메트릭과 상기 브렌치 메트릭을 이용하여 각각의 패스 메트릭을 만드는 단계와,
    c) 상기 b)단계에서 만들어져 제공되는 현재 스테이트 메트릭에서 상기 제 1 메모리와 제 2 메모리의 첫 번째 현재 스테이트 메트릭을 리드하여 상기 제 1 메모리에 저장함과 동시에, 다음 스테이트 메트릭을 라이트하여 상기 제 3 메모리에 저장하는 단계와,
    d) 상기 제 1, 제 2 메모리의 상기 현재 스테이트 메트릭 다음 번 스테이트 메트릭을 리드하여 상기 제 2 메모리에 저장함과 동시에 다음 스테이트 메트릭을 라이트하여 상기 제 4 메모리에 저장하는 단계와,
    e) 상기 제 3, 제 4 메모리의 현재 스테이트 메트릭을 리드하여 상기 제 1 메모리에 저장함과 동시에 다음 스테이트 메트릭을 라이트하여 상기 제 3 메모리에 저장하는 단계와,
    f) 상기 제 3, 제 4 메모리의 상기 현재 스테이트 메트릭의 다음 스테이트 메트릭을 리드하여 상기 제 2 메모리에 저장함과 동시에 다음 스테이트 메트릭을 라이트하여 상기 제 4 메모리로 저장하는 단계를 반복하는 것으로 다음 상태로 천이하는 단계를 포함하여 이루어지는 것을 특징으로 하는 비터비 디코더의 스태이트 메트릭 메모리를 이용한 복호화 방법.
  3. 제 2 항에 있어서, 상기 패스 메트릭을 만드는 단계는,
    현재의 스태이트 메트릭과 상기 브렌치 메트릭과 다른 현재의 스태이트 메트릭과 상기 브렌치 메트릭을 동시에 가산하여 적어도 두 개의 패스 메트릭을 만드는 단계와,
    상기 두 개의 패스 메트릭을 서로 비교하여 최적의 패스 메트릭을 선택하는 단계로 이루어진 것을 특징으로 하는 비터비 디코더의 스태이트 메트릭 메모리를 이용한 복호화 방법.
  4. 제 3항에 있어서, 상기 패스 메트릭을 만드는 단계는 적어도 2개의 패스 메트릭을 동시에 출력되는 것을 특징으로 하는 비터비 디코더의 스태이트 메트릭 메모리를 이용한 복호화 방법.
  5. 제 2항에 있어서, 상기 저장단계에서 상기 제 1, 제 2 메모리는 상위 상태 정보를 저장하고, 그 중에서 상기 제 1 메모리는 짝수 상태 정보를 저장하고, 상기 제 2 메모리는 홀수 상태 정보를 저장하며, 상기 제 3, 제 4 메모리는 하위 상태정보를 저장하고, 그 중에서 상기 제 3 메모리는 짝수 상태 정보를 저장하고, 상기 제 4 메모리는 홀수 상태 정보를 저장하는 것을 특징으로 비터비 디코더의 스태이트 메트릭 메모리를 이용한 복호화 방법.
KR1019980001907A 1998-01-22 1998-01-22 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법 KR100311504B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019980001907A KR100311504B1 (ko) 1998-01-22 1998-01-22 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법
US09/222,345 US6351839B1 (en) 1998-01-22 1998-12-29 State metric memory of viterbi decoder and its decoding method
CNB98126509XA CN1144373C (zh) 1998-01-22 1998-12-31 维特比解码器的状态计量存储器及其解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980001907A KR100311504B1 (ko) 1998-01-22 1998-01-22 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법

Publications (2)

Publication Number Publication Date
KR19990066200A KR19990066200A (ko) 1999-08-16
KR100311504B1 true KR100311504B1 (ko) 2001-11-22

Family

ID=19531955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980001907A KR100311504B1 (ko) 1998-01-22 1998-01-22 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법

Country Status (3)

Country Link
US (1) US6351839B1 (ko)
KR (1) KR100311504B1 (ko)
CN (1) CN1144373C (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438181B1 (en) * 1999-05-28 2002-08-20 Koninklijke Philips Electronics N.V. Efficient metric memory configuration for a Viterbi decoder
US6757864B1 (en) * 2000-04-06 2004-06-29 Qualcomm, Incorporated Method and apparatus for efficiently reading and storing state metrics in memory for high-speed ACS viterbi decoder implementations
TW543301B (en) * 2000-12-22 2003-07-21 Mediatek Inc Decoding circuit and method of Vieterbi decoder
US7043682B1 (en) * 2002-02-05 2006-05-09 Arc International Method and apparatus for implementing decode operations in a data processor
CN100477534C (zh) * 2002-08-14 2009-04-08 联发科技股份有限公司 维特比解码器的解码电路与方法
US20070230606A1 (en) * 2006-03-31 2007-10-04 Anders Mark A Viterbi traceback
US8111767B2 (en) * 2007-05-31 2012-02-07 Renesas Electronics Corporation Adaptive sliding block Viterbi decoder
US20090041166A1 (en) * 2007-08-09 2009-02-12 Mbit Wireless, Inc. Method and apparatus to improve information decoding when its characteristics are known a priori
CN101247380B (zh) * 2008-03-27 2011-12-28 复旦大学 用于多带正交频分复用超宽带系统的高速维特比解码器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979175A (en) * 1988-07-05 1990-12-18 Motorola, Inc. State metric memory arrangement for a viterbi decoder
US5295142A (en) * 1989-07-18 1994-03-15 Sony Corporation Viterbi decoder
KR930004862B1 (ko) * 1990-12-17 1993-06-09 삼성전자 주식회사 상태 평가량 기억장치
US5881075A (en) * 1996-03-18 1999-03-09 Samsung Electronics Co., Ltd. Viterbi decoder
US5970104A (en) * 1997-03-19 1999-10-19 Cadence Design Systems, Inc. Method and apparatus for generating branch metrics and branch indices for convolutional code Viterbi decoders

Also Published As

Publication number Publication date
CN1230055A (zh) 1999-09-29
KR19990066200A (ko) 1999-08-16
US6351839B1 (en) 2002-02-26
CN1144373C (zh) 2004-03-31

Similar Documents

Publication Publication Date Title
US5881075A (en) Viterbi decoder
KR940010435B1 (ko) 비터비 복호기의 경로기억장치
KR930004862B1 (ko) 상태 평가량 기억장치
KR100426712B1 (ko) 비터비 복호기
US6523146B1 (en) Operation processing apparatus and operation processing method
US6408420B1 (en) Viterbi decoding method and apparatus thereof
KR100311504B1 (ko) 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법
US7277507B2 (en) Viterbi decoder
US6792570B2 (en) Viterbi decoder with high speed processing function
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
US7861146B2 (en) Viterbi decoding apparatus and Viterbi decoding method
US8401126B2 (en) Viterbi decoding apparatus
US5878060A (en) Viterbi decoding apparatus and viterbe decoding method
KR20030005267A (ko) 고속 acs 비터비 디코더 구현을 위하여 메모리내의상태 메트릭들을 효과적으로 판독하고 저장하는 방법 및장치
US20070201586A1 (en) Multi-rate viterbi decoder
US7114122B2 (en) Branch metric generator for Viterbi decoder
JP4047697B2 (ja) ビタビ復号装置
KR100205547B1 (ko) 비터비 디코더의 트레이스 백 장치
JP2904271B2 (ja) ビタビ復号器用パスメモリユニットおよび復号方法
KR20040050754A (ko) 고속 비터비 디코더
KR0148060B1 (ko) Viterbi 복호기의 ACS를 위한 메모리 최적 구조
KR100217042B1 (ko) 비터비 디코더의 디코딩 처리방법
JP3837913B2 (ja) ビタビ復号器
KR20040031323A (ko) 비터비 복호기의 경로 메트릭 저장 장치 및 방법
JP3338371B2 (ja) ビタビ復号器

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: 20120827

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130823

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150824

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee