KR100359805B1 - 비터비 디코더 및 비터비 디코더의 디코딩 방법 - Google Patents

비터비 디코더 및 비터비 디코더의 디코딩 방법 Download PDF

Info

Publication number
KR100359805B1
KR100359805B1 KR1019990057157A KR19990057157A KR100359805B1 KR 100359805 B1 KR100359805 B1 KR 100359805B1 KR 1019990057157 A KR1019990057157 A KR 1019990057157A KR 19990057157 A KR19990057157 A KR 19990057157A KR 100359805 B1 KR100359805 B1 KR 100359805B1
Authority
KR
South Korea
Prior art keywords
survival path
survival
path metric
unit
state
Prior art date
Application number
KR1019990057157A
Other languages
English (en)
Other versions
KR20010055840A (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 KR1019990057157A priority Critical patent/KR100359805B1/ko
Publication of KR20010055840A publication Critical patent/KR20010055840A/ko
Application granted granted Critical
Publication of KR100359805B1 publication Critical patent/KR100359805B1/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/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/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback

Landscapes

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

Abstract

본 발명은 비코더 디코더의 가산비교선택(ACS) 장치를 개선하여 높은 에러율의 채널 환경에서 디코딩율을 정수배로 할 수 있는 비터비 디코더 및 비터비 디코더의 디코딩 방법을 제공하기 위한 것이다. 이와 같은 비터비 디코더는 이전 상태의 제 1부터 제 n 번째 생존경로 메트릭과, 제 1부터 제 n 번째 수신 심볼(OS)을 각각 수신하여 제 1부터 제 n 번째 현재 상태의 생존경로 메트릭(SM) 값을 생성하는 제 1부터 제 n 가산비교선택부와, 상기 제 1부터 제 n-1 가산비교선택부의 각각에서 만들어진 첫 번째와 두 번째 현재 상태의 생존경로 메트릭 값을 저장하는 제 2부터 제 n 가산비교선택부 입력시간 스위치부와, 상기 제 n 가산비교선택부에서 만들어진 현재 상태의 메트릭 메모리 값을 저장하는 가상 경로 메트릭 메모리부와, 상기 제 1부터 제 n 가산비교선택부의 각각에서 만들어진 생존경로 메트릭 값중 작은 값의 생존경로 메트릭을 구하는 최단경로 생성부와, 상기 생전경로가 이전 상태에서 현재 상태로 천이할 때의 생존경로(PATH)를 저장하는 트래이스 백 테이블과, 상기 최단경로 생성부와 트래이스 백 테이블로부터 최대유사경로를 구하고, 디코딩된 비트를 출력하는 트레이스 백부(Trace-Back)로 구성된다.

Description

비터비 디코더 및 비터비 디코더의 디코딩 방법{Viterbi decoder and method for decoding in viterbi decoder}
본 발명은 비터비 디코더에 관한 것으로서, 특히 비터비 디코더의 가산비교선택(ACS) 장치를 개선하여 디코딩 율을 정수배로 높이기에 적당하도록 한 비터비 디코더에 관한 것이다.
일반적으로 콘벌루션 엔코더(Convolution Encoder)의 현재 콘벌루션 엔코딩된 데이터는 이전의 콘벌루션 엔코딩된 데이터에 의존하므로 콘벌루션 엔코더를 통해 콘벌루션 엔코딩되어 출력되는 데이터가 모두 콘벌루션 엔코더의 출력값이 되는 것이 아니고, 이전의 입력값(이를 상태(State)라 한다)에 따라 제한된 파형만을 출력하게 된다.
따라서, 비터비 디코더는 수신부에서 수신되는 수신 파형을 관찰하여 가장 가능성 있는 입력값을 추정한다.
그리고 각 상태마다 2개의 경로(path)가 만나므로 각 상태마다 2개의 경로의 현재의 거리값을 계산하며, 계산된 현재 거리값을 비교하여 그중 작은 값을 갖는 경로를 생존경로라 한다.
비터비 알고리즘(Viterbi Algorithm : VA)은 통신에서 콘벌루션 코드(Convolution Code)로 알려진 에러 정정 코드(Error Correction Code)의 디코딩(Decoding)을 위해 널리 사용되며, 또한 타켓 트래킹(Target Tracking), 패턴(Pattern) 인식의 분야에서도 사용된다.
이하 첨부된 도면을 참조하여 종래 비터비 알고리즘을 설명하기로 한다.
도 1은 일반적인 비터비 알고리즘(VA)을 사용하는 통신 시스템을 나타낸 도면이다.
여기서 소오스(Source)(1)로부터 메모리없는(Memoryless) 2원 대칭의 통신 채널(BSC : Binary Symmetric Channel)(3)을 통해 리셉터(Receptor)(5)로 비트(Bit)의 시퀀스(Sequence)가 보내진다. 이때, 통신 채널(Channel)(3)의 잡음 때문에 보내지는 비트(Bit)의 시퀀스는 일부가 손상을 받을 수 있고, 따라서 에러(Error)를 포함한 메시지(Message)가 수신된다. 따라서 수신한 데이터(Data)에서 가능한한 에러(Error)를 정정하여야 한다.
여기서 콘벌루션 엔코더(2)는 M개의 쉬프트 레지스터(Shift Register)로 구성되어 있고, 쉬프트 레지스터는 입력으로부터 K 비트(Bit)를 동시에 쉬프트(Shift)하여 입력하고, 레지스터(Register)에 저장된 비트(Bit)로부터 논리적 연산(Logical Operation)을 수행하여 N 비트(Bit)의 출력을 만든다. 이때 콘벌루션 엔코더(Encoder)(2)는 동시에 입력된 것보다 많은 비트(Bit)를 출력한다. 이러한 엔코딩 스킴(Encoding Scheme)을 M*N, M*K 콘벌루션 엔코딩(Convolutional Encoding)이라 한다.
도 2는 일반적인 콘벌루션 엔코더를 나타낸 도면이다.
도 2에 나타낸 콘벌루션 엔코더는 엔코딩 스킴을 M = 1, N = 2, K = 5인 예이다. 두개의 출력에 대한 논리적 연산(Logical Operation)은 다음과 같다.
O0(N) = S(N) + S(N-3) + S(N-4)
O1(N) = S(N) + S(N-1) + S(N-3) + S(N-4)
이때, + 는 모듈로 2(Modulo 2) 연산이다.
코드(Code)는 심볼(Symbol)처럼 보일 것이고, 채널(Channel)상에서 손상되어 리셉터(Receptor)(5)가 잘못 판단할 수도 있다. 하지만 엔코딩 스킴(Encoding Scheme)에 의해 하나의 출력 심볼(Symbol)은 마지막 입력 뿐 아니라, 소오스(1)로부터 입력된 이전 비트(Bit)에 대한 정보를 포함한다.
또한 잡음 환경 안에서도 이전의 수신 신볼(Observation Symbol) 그리고 이어지는 다음 수신 심볼(Observation Symbol)을 사용하여 원래의 심볼(Symbol)을 디코드(Decode)할 수 있는 기술이 비터비 디코딩 알고리즘(Viterbi Decoding Algorithm)이다.
엔코더(Encoder)를 유한상태머신(Finite State Machine ; FSM)으로 나타내고 유한상태머신(FSM)의 상태는 쉬프트 레지스터(Shift Register)의 왼쪽 4 비트(Bits)를 이용하여 표현하고, 4번째 비트(Bit S4)를 최상위 비트(MSB)로 생각하면, 도 2에 나타낸 콘볼루션 엔코더는 도 3에 나타낸 유한상태머신(FSM)으로 표현할 수 있다.
도 3은 일반적인 유한상태머신을 나타낸 도면이다.
도 3에서 실선은 '0'에 의한 천이(Transition)이고, 점선은 '1'에 의한 천이이다.
만약 도 2의 콘벌루션 엔코더에 상태 S4, S3, S2, S1 = '1,0,1,0'이 순차적으로 입력되었다면, 현재 상태는 '1010'B = 10d(십진수 10)이다. 이어서, 그 다음소오스(S)의 입력이 '0'이면, 상태 S4, S3, S2, S1 = '0101'B = 5d이되며, 출력 O1O0= '10'이 된다. 그러나, 그 다음 소오스(S)의 입력이 '1'이라면, 상태 S4, S3, S2, S1 = '1101'B = 13d, 출력 O1O0= "01" 이 된다.
시간상에서 이러한 유한상태머신(FSM)의 천이(Transition)을 트렐리스(Trellis)라고 불리는 시간과 상태의 2차원의 그래프로 나타낼 수 있다. 각 노드(Node)는 유한 상태 머신의 상태를 나타내고, 각 화살표는 수신된 소오스에 따른 가능한 천이을 나타낸다.
도 4는 도 3에 나타낸 유한상태머신에 연관된 트렐리스 다이어그램(Trellis Diagram)이다.
비터비 알고리즘(VA)은 원래의 전송된 비트(Bit)의 시퀀스(Sequence)를 복구하기 위해 유한상태머신(FSM)에 의해 생성된 심볼(Symbol)을 관찰하고, 이전의 트렐리스(Trellis) 구조 그리고 수신 심볼(Observation Symbol)과 유한상태머신(FSM)의 천이(Transition)에 연관된 메트릭스(Metrics)의 셋(Set)을 이용한다.
다음에 이어질 최대유사경로(Most Likely Path)의 트렐리스(Trellis)를 통해 가능한 경로의 값(Cost)을 계산하기 위해 이러한 메트릭스(Metrics)가 이용된다.
이러한 경로(Path)는 생존경로(Survivor Path)라고 하고, 경로를 결정하는 개연성 기능(Likelihood Function)은 앞에서도 설명한 바와 같이 디스턴스(Distance)의 계산 값(거리 값)이 작은 것으로 한다.
이와 같은 비터비 디코더의 알고리즘(Algorithm)은 다음과 같다.
Initialize :
At Time T = 0
SM[Initial_State] = 0 ;
For State I in 0 To Number_Of_States Except the Initial_State
SM[I] = Maximm_Possible_Value ;
End For ;
Calculation :
For Time T in 1 To Max_Time
For Current_State N in 0 To Number_Of_State
For Previous_State M in 0 To Number_Of_State
SMt[N] = Min{ SMt-1[M] + DIST[OS,Wmn] } ;
End For ;
PATH[N,T] = M Such That SMt-1[M] + DIST[OS,Wmn] = SMt[N];
End For ;
End For ;
Decision :
At Time T = Max_Time
For State N in 0 To Number_Of_State
M = Min { SMt[N] } ;
End For ;
M = N Such That SMt[N] = M ;
For Time T in Max_Time Downto 1
M = STATE[M, T] ;
End For ;
Generates_Symbol_For_The_Last_Transition ;
End For ;
여기서, T는 시간이고, SMt[S]는 시간 T에서 상태 S의 메트릭스(Metrics)이다. 그리고, DIST[OS, Wmn] : OS(Observed Symbol)는 현재 관찰된, 수신된 심볼(Observed Symbol)과 Wmn(상태 M에서 N으로의 천이(Transition) 시 유한상태머신(FSM)에 발생하는 가중치(Weight)) 사이의 거리이다.
또한, Path[]는 시간에 대해 각 상태로 천이하는 최대유사경로(Most Likely Path)를 저장하는 메모리이며. M은 : 최소 메트릭(Minimum Metric) M의 상태이다.
이와 같은 알고리즘을 설명하면,
초기화 :
상태 메트릭스(Metrics) SM[](생존경로)의 초기 상태를 가장 작은 값으로, 그 이외의 상태는 가장 큰 값으로 초기화한다.
계산 :
시간 T를 증가하고 최대 시간(Max Time)까지,
모든 현재 상태의 경우에 대해
이전 상태에서 현재 상태로 모든 천이(Transition)에 대해 이전 상태 메트릭스(Metrics)의 값과,이전 상태에서 현재 상태로의 천이(Transition)의 Weight와 현재의 수신된 심볼(Observed Symbol) 사이의 거리를 합하여 이중 가장 작은 값을 선택하여 이를 상태 메트릭스(Metrics)에 저장한다. 그리고 이때의 천이 경로(Transition Path)를 저장한다.
최대(Max) 시간까지, 모든 현재 상태에 대해서, 모든 이전 상태에서 현재 상태로의 천이에 대해서 위의 과정을 수행한다.
결정 :
최대(Max) 시간까지 위의 계산 과정을 수행하고, 상태 메트릭(Metric)의 값 중 가장 작은 값을 찾아 그 때의 상태를 취한다. 이 때의 상태를 최대유사경로(Most Likely Path)라고 하며 위의 계산 과정 중 저장된 천이 경로(Transition Path)를 역으로 따라가면 초기 시간에서 최대(Max) 시간까지의 경로(Path)를 알 수 있고, 이를 이용해서 송신된 비트(Bit)를 복구할 수 있게 된다.
도 5는 종래 비터비 디코더의 블록 구성도이다.
종래 비터비 디코더는 이전 상태의 생존경로 메트릭(Surviver Path Metric : SM) 메모리부(12)의 이전 상태의 생존경로 메트릭(I,J)과 수신 심볼(Observation Symbol)(OS)을 입력으로 현재 상태의 생존경로 메트릭(SM) 값(K,L)을 생성하는 가산비교선택(Add Compare Select)부(11)와, 상기 가산비교선택부(11)에서 만들어진 현재 상태의 생존경로(SM) 값(K,L)을 저장하는 생존경로 메트릭 메모리부(SurvivorPath Metric Memory : SM MEM)(12)와, 가산비교선택부(11)에서 만들어진 생존경로 메트릭 값(K,L) 중 가장 작은 값의 상태를 구하는 최단경로 생성부(Generate MINimum PATH : GEN MIN_PATH)(13)와, 이전 상태에서 현재 상태로 천이(Transition)할 때 경로(PATH)를 저장하는 트래이스 백 테이블(Trace-Back Table : TBT)(14)과, 최단경로(Minimum Path) 값을 가지는 상태로부터 트래이스 백(Trace Back)하여 최대유사경로(Most Likely Path)를 구하고, 디코딩된 디코드 비트(Decoded Bit)를 출력하는 트레이스 백부(Trace-Back)(15)로 구성된다.
이와 같은 종래 비터비 디코더에서는 가산비교선택부(11)가 하나만 구성되어 있는데 이는 이전 상태 생존경로 메모릭 메모리(SM MEM) 값을 차례로 읽어 가산비교선택(ACS)을 수행하고(즉, 현재 상태의 생존경로 메트릭(Metric) 값(K,L)을 생성하고) 이를 이미 읽은 생존경로 메트릭 메모리부(12)에 차례로 다시 적어 넣는다.
따라서 같은 생존경로 메트릭 메모리부(12)에 써지는 생존경로 메트릭(SM) 값의 상태는 시간에 따라 달라지고 따라서 어드레스 제어(Address Control)는 이 회로의 중요한 부분이 된다.
또한 이러한 과정을 모든 상태(State)에 대해서 수행해야만 한 순간에 발생한 수신 심볼(OS)에 대한 처리를 마치는 것이 되므로 실제로 실시간 시스템에서 가산비교선택(ACS)과 생존경로 메트릭 메모리(SM MEM)는 실제로 비터비 디코더(Viterbi Decoder) 전체가 입력되는 수신 심볼(OS)의 입력 레이트(Rate)에 대해 상태의 개수 배(실제로는 상태의 개수 배 + α) 이상의 사이클(cycle)로 가산비교선택(ACS) 처리를 해야 한다.
도 6은 도 5에 나타낸 비터비 디코더의 가산비교선택부(ACS)를 상세히 나타낸 블록 구성도이다.
종래 비터비 디코더의 가산비교선택부(ACS)(11)는 현재 상태에서 다음 상태로 천이(Transition)할 때의 가중치(Weight)를 생성하는 가중치 생성부(Generate Weight Of Transition)(21)와, 수신된 심볼(Observed Symbol : OS)과 가중치 생성부(21)의 가중치(Weight)와의 디스턴스(Distance)를 생성하는 디스턴스 생성부(22)와, 디스턴스 생성부(22)에서 출력되는 현재 수신된 심볼(OS)과 가중치와의 거리와 이전 상태의 생존경로 메트릭(I,J)을 가산하는 제 1부터 제 4 가산기(23.24.25.26)와, 상기 제 1, 제 3 가산기(23,25)의 가산 결과에 따른 현재 상태의 생존경로 메트릭(K,L)을 생존경로 메트릭 메모리부(12) 및 최단경로 생성부(13)로 출력하는 제 1 비교부(27)와, 상기 제 2, 제 4 가산기(24,25)의 가산 결과에 따른 이전 상태에서 현재 상태로의 천이하는 경로(PATH_K 또는 PATH_L)를 트래이스 백 테이블(14)로 출력하는 제 2 비교부(28)로 구성된다.
여기서, I, J는 이전 상태의 생존경로 메트릭이고, K, L은 현재 상태의 생존경로 메트릭이며, D_I2K, D_I2L, D_J2K, D_J2L는 현재 수신 심볼(OS)과 가중치(Weight)와의 디스턴스(Distance)이고, WOT_I2K, WOT_I2L, WOT_J2K, WOT_J2L은 이전 상태의 생존경로 메트릭 I, J에서 현재 상태 생존경로 메트릭 K, L로 천이시 유한 상태 머신(FSM)이 발생하는 가중치이다.
이와 같은 종래 가산비교선택부(11)에서는 디스턴스(Distance)와 이전 상태의 생존경로 메트릭(SM)를 더하고, 더한 값 중 현재의 같은 상태로천이(Transition)하는 값에서 작은 값을 선택(Select)하여 출력으로 내보낸다.
이와 같은 종래 비터비 디코더의 동작을 도 2의 콘벌루션 인코더(Convolutional Encoder)로 생성된 코드(Code)와 도 4의 트렐리스 다이어그램(Trellis Diagram)에서 시간 Ti의 생존경로 메트릭(SM)으로부터 시간 Ti+1, Ti+2의 생존경로 메트릭(SM)을 구하기 위해 다음과 같이 동작한다.
우선, 도 4의 유한상태머신에 연관된 트렐리스 다이어그램의 Ti에서 생존경로 메트릭 메모리부(SM MEM)(12)로부터 이전 상태의 생존경로 메트릭(SM)(I,J)을 읽고 연속된 2개의 생존경로 메트릭(I,J)을 가산비교선택부(11)로 입력한다. 최초에 구동을 하는 경우를 예를 들면 도 3에서 '0,1'을 생존경로 메트릭으로 입력한다.
이때, 가산비교선택부(11)는 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K, L)인 '0,8'을 출력하게 되고, 이를 생존경로 메트릭 메모리부(SM MEM)(12)에 저장한다.
계속해서 가산비교 선택부(11)는 Ti의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '2,3'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '1,9'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
그다음 가산비교 선택부(11)는 Ti의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '4,5'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '2,10'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
이어서, 가산비교 선택부(11)는 Ti의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '6,7'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '3,11'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
그다음 가산비교 선택부(11)는 Ti의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '8,9'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '4,12'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
계속해서 가산비교 선택부(11)는 Ti의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '10,11'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '5,13'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
그다음 가산비교 선택부(11)는 Ti의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '12,13'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '6,14'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
이어서 가산비교 선택부(11)는 Ti의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '14,15'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '7,15'를 출력하고, 이를 생존경로 메트릭메모리부(12)에 저장한다.
이와 같은 과정을 모든 Ti 생존경로 메트릭에 대해 수행하면 Ti+1의 생존경로 메트릭이 생존경로 메트릭 메모리부(12)에 저장된다.
이어서, Ti+1 에서 생존경로 메트릭 메모리부(SM MEM)(12)로부터 이전 상태의 생존경로 메트릭(SM)(I,J)을 읽고 연속된 4개의 생존경로 메트릭을 가산비교선택부(11)로 입력한다. 이때, 도 4에 나타낸 바와 같이 '0,8,1,9'의 값을 가산비교선택부(11)에 입력한다.
그러면, 가산비교선택부(11)는 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K, L)인 '0,8,4,12'를 출력하고 이를 생존경로 메트릭 메모리부(SM MEM)(12)에 저장한다.
계속해서 가산비교 선택부(11)는 Ti+1의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '2,3,10,11'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '1,9,5,13'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
그다음 가산비교 선택부(11)는 Ti+1의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '4,12,5,13'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '2,10,6,14'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
이어서 가산비교 선택부(11)는 Ti+1의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '6,14,7,15'의 값을 읽고 수신 심볼(OS)을참조하여 현재 상태의 생존경로 메트릭(K,L)인 '3,11,7,15'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
이와 같은 과정을 모든 Ti+1 생존경로 메트릭에 대해 수행하면 Ti+2의 생존경로 메트릭이 생존경로 메트릭 메모리부(12)에 저장된다. 이어서, Ti+2 에서 생존경로 메트릭 메모리부(SM MEM)(12)로부터 이전 상태의 생존경로 메트릭(SM)(I,J)을 읽고 연속된 8개의 생존경로 메트릭을 가산비교선택부(11)로 입력한다.
그러면, 가산비교선택부(11)는 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K, L)인 '0,8,4,12,1,5,9,13'을 출력하고 이를 생존경로 메트릭 메모리부(SM MEM)(12)에 저장한다.
계속해서 가산비교 선택부(11)는 Ti+2의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '0,8,4,12,1,5,9,13'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '0,2,4,6,8,10,12,14'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
그리고 가산비교 선택부(11)는 Ti+2의 생존경로 메트릭 메모리부(12)로부터 이전 상태의 생존경로 메트릭(I,J)으로 '2,10,6,14,3,11,7,15'의 값을 읽고 수신 심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K,L)인 '1,3,5,7,9,11,13,15'를 출력하고, 이를 생존경로 메트릭 메모리부(12)에 저장한다.
이와 같은 과정을 모든 Ti+2 생존경로 메트릭에 대해 수행하면 Ti+3의 생존경로 메트릭이 생존경로 메트릭 메모리부(12)에 저장된다.
앞서 설명한 바와 같이 비터비 디코더(Viterbi Decoder)가 입력되는 수신 심볼의 입력 레이트(Rate)에 대해 상태(state)의 개수 배 이상으로 동작해야 한다는 것은 비터비 디코더(Viterbi Decoder)의 디코딩 율(Decoding Rate)에 대한 제한 사항이 된다. 예를 들면, 콘벌루션 엔코더(Convolution Encoder)의 구속장(Constraint Length) K가 9 인 코드(Code)는 디코드(Decode)시, 비터비 디코더는 256개의 상태(State)를 가지고 동작하게 되고, 비터비 디코더를 최대 50MHz로 동작시키는 경우 50MHz/256이므로 약 0.1953M 미만의 디코딩 율(Decoding Rate)을 가지게 된다. 실제로는 이보다 더 작은 디코딩 율을 가진다.
이와 같은 종래 비터비 디코더에 있어서는 다음과 같은 문제점이 있었다.
첫째, 채널 환경이 멀티미디어화됨에 따라 비터비 디코더 역시 더욱 많은 양과 빠른 속도의 디코딩율이 요구되지만 비터비 디코더의 동작 클럭을 무한정 향상하는 것 역시 한계가 있다.
둘째, 비터비 디코더는 생존경로 메트릭 메모리부와 트래이스 백 테이블이 차지하는 면적이 시스템 상에서 다른 부분에 비해 크게 부담이 되므로 하나의 시스템이 여러 개의 비터비 디코더를 구비하는 경우 역시 시스템의 커다란 문제로 작용할 수밖에 없다.
셋째, 생존경로 메트릭 메모리를 읽는 과정, 가산비교선택부의 동작 및 생존경로 메트릭 메모리에 쓰는 과정은 회로 상에서 시간적으로 동시에 일어나므로 Ti에서 Ti+1로 생존경로 메트릭을 만드는 과정 즉, 하나의 수신된 심볼을 처리하는 것은 시간적으로 상태의 개수만큼의 사이클(cycle)을 필요로 하므로 디코딩 율을 향상하는데 한계가 된다.
본 발명의 목적은 이상에서 언급한 종래 기술의 문제점을 감안하여 안출한 것으로서, 비코더 디코더의 가산비교선택(ACS)를 개선하여 높은 에러율의 채널 환경에서 디코딩율을 정수배로 할 수 있는 비터비 디코더를 제공하기 위한 것이다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 이전 상태의 제 1부터 제 n 번째 생존경로 메트릭과, 제 1부터 제 n 번째 수신 심볼(OS)을 각각 수신하여 제 1부터 제 n 번째 현재 상태의 생존경로 메트릭(SM) 값을 생성하는 제 1부터 제 n 가산비교선택부와, 상기 제 1부터 제 n-1 가산비교선택부의 각각에서 만들어진 첫 번째와 두 번째 현재 상태의 생존경로 메트릭 값을 저장하는 제 2부터 제 n 가산비교선택부 입력시간 스위치부와, 상기 제 n 가산비교선택부에서 만들어진 현재 상태의 메트릭 메모리 값을 저장하는 가상 경로 메트릭 메모리부와, 상기 제 1부터 제 n 가산비교선택부의 각각에서 만들어진 생존경로 메트릭 값중 작은 값의 생존경로 메트릭을 구하는 최단경로 생성부와, 상기 생전경로가 이전 상태에서 현재 상태로 천이할 때의 생존경로(PATH)를 저장하는 트래이스 백 테이블과, 상기 최단경로 생성부와 트래이스 백 테이블로부터 최대유사경로를 구하고, 디코딩된 비트를 출력하는 트레이스 백부(Trace-Back)로 구성된다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 다른 특징에 따르면 생존경로 메트릭 메모리부에서 이전 상태의 첫 번째와 두 번째 생존경로 메트릭 값을 첫 번째 수신심볼과 가산하여 임시 현재상태 생존경로 메트릭 값을 임시 메모리부로 출력하는 단계와, 상기 임시 메모리의 상기 임시 현재상태의 생존경로 메트릭값과 두 번째 수신 심볼을 가산하여 현재 상태 생존경로 메트릭 값을 상기 생존경로 메트릭 메모리부로 출력하는 단계로 이루어진다.
이상과 같은 본 발명에 따르면, 비터비 디코더의 디코딩 율을 향상할 수 있는 장점이 있다.
도 1은 일반적인 비터비 알고리즘(VA)을 사용하는 통신 시스템을 나타낸 도면
도 2는 일반적인 콘벌루션 엔코더를 나타낸 도면
도 3은 일반적인 유한상태머신(FSM)을 나타낸 도면
도 4는 도 3에 나타낸 유한상태머신에 연관된 트렐리스 다이어그램
도 5는 종래 비터비 디코더의 블록 구성도
도 6은 도 5에 나타낸 비터비 디코더의 가산비교선택부(ACS)를 상세히 나타낸 블록 구성도
도 7은 본 발명에 따른 비터비 디코더를 나타낸 블록 구성도
*도면의 주요 부분에 대한 부호의 설명*
31,33,35,37 : 가산비교선택부(ACS)
32,34,36 : ACS부 입력시간 스위치부
38 : 생존경로 메트릭 메모리부 39 : 최단경로 생성부
40 : 트레이스 백 테이블 41 : 트레이스 백부
이하 본 발명의 바람직한 일 실시 예에 따른 구성 및 작용을 첨부된 도면을 참조하여 설명한다.
도 7은 본 발명에 따른 비터비 디코더의 구조를 나타낸 블록 구성도이다.
본 발명에 따른 비터비 디코더는 생존경로 메트릭(Surviver Path Metric : SM) 메모리부(38)의 이전 상태의 제 1부터 제 n 번째 생존경로 메트릭(I1,J1), (I2,J2)···(In,Jn)을 차례로 리드하고, 제 1부터 제 n 번째 수신 심볼(Observation Symbol)(제 1 OS, 제 2 OS ···제 n OS)을 각각 수신하여 제 1부터 제 n 번째 현재 상태의 생존경로 메트릭(SM) 값(K1,L1),(K2,L2)···(Kn,Ln)을 생성하는 제 1부터 제 n 가산비교선택(Add Compare Select)부(31,33,35,37)와, 상기 제 1부터 제 n-1 가산비교선택부(ACS)(31,33,35)에서 만들어진 현재 상태의 생존경로 메트릭(SM) 값(K1,L1),(K2,L2)···(Kn-1,Ln-1)을 저장하는 제 2부터 제 n ACS부 입력시간 스위치부(32,36,36)와, 상기 제 n 가산비교선택부(37)에서 만들어진 현재 상태의 메트릭 메모리 값(Kn,Ln)을 저장하는 가상 경로 메트릭 메모리부(Survivor Path Metric Memory : SM MEM)(38)와, 제 1부터 제 n 가산비교선택부(31)(33)(35)(37)에서 만들어진 생존경로 메트릭값(K1,L1),(K2,L2)···(Kn-1,Ln-1)(Kn,Ln)의 각각의 경우에 대하여 가장 작은 값의 상태를 구하는 최단경로 생성부(Generate MINimum PATH : GEN MIN_PATH)(39)와, 이전 상태에서 현재 상태로 천이(Transition)할 때 경로(PATH)를 저장하는 트래이스 백 테이블(Trace-Back Table : TBT)(40)과, 최단경로(Minimum Path) 값을 가지는 상태로부터 트래이스 백(Trace Back)하여 최대유사경로(Most Likely Path)를 구하고, 디코딩된 디코드 비트(Decoded Bit)를 출력하는 트레이스 백부(Trace-Back)(41)로 구성된다.
이와 같은 본 발명 비터비 디코더의 특징은 제 1부터 제 n 가산비교선택부(31,33,35,37)를 순차적으로 구성하고, 각 가산비교선택부(31,33,35,37)사이에 제 2부터 제 n ACS 입력시간 스위치부(32,34,36)를 구성한 것이다. 이때, 하드웨어가 많이 추가되는 것처럼 보이지만, 비터비 디코더에서는 하드웨어 크기의 대부분을 생존경로 메트릭 메모리부(38)와, 트레이스 백 테이블(40)이 차지하기 때문에 하드웨어 크기에는 크게 영향을 미치지 않는다.
여기서, I, J는 이전 상태의 생존경로 메트릭이고, K, L은 현재 상태의 생존경로 메트릭이다.
이와 같은 본 발명 비터비 디코더의 동작을 도 2의 콘벌루션 인코더(Convolutional Encoder)로 생성된 코드(Code)와 도 4의 트렐리스 다이어그램(Trellis Diagram)에서 시간 Ti의 생존경로 메트릭(SM)으로부터 시간 Ti+2의 생존경로 메트릭(SM)을 구하는 방법을 설명하기로 한다. 이때, 제 1부터 제 n 가산비교 선택부(31,33,35,37)중 제 1, 제 2 가산비교선택부(31,33)와 제 2 가산비교선택부 입력시간 스위치부(32)로 구성된 비터비 디코더를 예로 하여 설명하기로 한다.
우선, 도 4의 유한상태머신에 연관된 트렐리스 다이어그램의 Ti를 참조하여 제 1 가산비교선택부(31)에서 생존경로 메트릭 메모리부(SM MEM)(38)로부터 이전 상태의 생존경로 메트릭(SM)(I1,J1)으로 '0,1'을 읽는다.
그러면, 제 1 가산비교선택부(31)는 제 1 수신심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K11,L11)인 '0,8'을 출력하고 이를 제 2 ACS부 입력시간 스위치부(32)에 저장한다. 이때, 트레이스 백 테이블(40)로는 첫 번째 최단유사경로(PATH_L1,PATH_K1)를 출력한다.
그 다음, 제 1 가산비교선택부(31)는 생존경로 메트릭 메모리부(38)에서 출력되는 다음 번 이전 상태 생존경로 메트릭(I1,J1)으로 '2,3'을 읽고, 제 1 수신심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K12,L12)인 '1,9'를 제 2 ACS부 입력시간 스위치부(32)에 저장한다. 따라서, 제 2 ACS부 입력시간 스위치부(32)에는 두 개의 현재상태의 생존경로 메트릭(K11,L11),(K12,L12)인 '0,8''1,9'가 저장된다.
이어서, 제 2 ACS부 입력시간 스위치부(32)에 저장된 두 개의 현재상태의 생존경로 메트릭(K11,L11),(K12,L12)인 '0,8''1,9'의 4개의 생존경로 메트릭중 '0,1'의 값을 갖는 K11,K12두 개를 입력된 순서에 맞추어 제 2 가산비교선택부(33)에 두 번째 이전 상태 메트릭(I2,J2)으로 입력한다. 이때, 제 2 가산비교선택부(33)에 수신된 두 번째 이전상태 메트릭(I2,J2)인 '0,1'은 제 2 가산비교선택부(33)에 입력되는 제 2 수신심볼 값에 따라 두 번째 생존경로 메트릭(K2,L2)인 '0,8'이 생존경로 메트릭 메모리부(38)에 저장된다.
계속해서, 제 2 ACS부 입력시간 스위치부(32)에 저장된 두 개의 현재상태의 생존경로 메트릭중 남아 있는 '8,9' 의 값을 갖는 L11,L12두 개를 입력된 순서에 맞추어 제 2 가산비교선택부(33)에 두 번째 이전 상태 메트릭(I2,J2)으로 입력하면 두 번째 이전상태 메트릭(I2,J2)인 '8,9'는 제 2 가산비교선택부(33)에 입력된 제 2 수신심볼 값에 따라 두 번째 현재상태 생존경로 메트릭(K2,L2)인 '4,12'가 생존경로 메트릭 메모리부(38)에 저장된다. 따라서 실제적으로 생존경로 메트릭 메모리부(38)에 저장된 현재상태 메트릭은 도 4에서 설명한 Ti+2의 생존경로 매트릭값인 '0,8,4,12'가 저장된다. 그리고, 트레이스 백 테이블(40)에는 두 번째 최단유사경로(PATH_L2,PATH_K2)를 출력한다.
그 다음, 도 4의 유한상태머신에 연관된 트렐리스 다이어그램의 Ti를 참조하여 생존경로 메트릭 메모리부(SM MEM)(38)로부터 이전 상태의 생존경로 메트릭(SM)(I1,J1)으로 '4,5'를 제 1 가산비교선택부(31)로 입력한다.
그러면, 제 1 가산비교선택부(31)는 제 1 수신심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K11,L11)인 '2,10'을 출력하고 이를 제 2 ACS부 입력시간 스위치부(32)에 저장한다. 이때, 트레이스 백 테이블(40)로는 첫 번째 최단유사경로(PATH_L1,PATH_K1)를 출력한다.
그 다음, 제 1 가산비교선택부(31)는 생존경로 메트릭 메모리부(38)에서 출력되는 다음 번 이전 상태 생존경로 메트릭(I1,J1)으로 '6,7'을 읽고, 제 1 수신심볼(OS)을 참조하여 현재 상태의 생존경로 메트릭(K12,L12)인 '3,11'를 제 2 ACS부 입력시간 스위치부(32)에 저장한다. 이때, 제 2 ACS부 입력시간 스위치부(32)에는 두 개의 현재상태의 생존경로 메트릭(K11,L11),(K12,L12)인 '2,10''3,11'가 저장된다.
이어서, 제 2 ACS부 입력시간 스위치부(32)에 저장된 두 개의 현재상태의 생존경로 메트릭(K11,L11),(K12,L12)인 '2,10''3,11'의 4개의 생존경로 메트릭중 '2,3'의 값을 갖는 K11,K12두 개를 입력된 순서에 맞추어 제 2 가산비교선택부(33)에 두 번째 이전 상태 메트릭(I2,J2)으로 입력한다. 이때, 제 1, 제 2 가산비교선택부(31,33)가 있을 경우를 예로 들어 설명하고 있으므로 제 2 가산비교선택부(33)에 수신된 두 번째 이전상태 메트릭(I2,J2)인 '2,3'은 제 2 가산비교선택부(33)에 입력되는 제 2 수신심볼 값에 따라 두 번째 생존경로 메트릭(K2,L2)인 '1,9'가 생존경로 메트릭 메모리부(38)에 저장된다.
계속해서, 제 2 ACS부 입력시간 스위치부(32)에 저장된 두 개의 현재상태의 생존경로 메트릭중 남아 있는 (L11,L12)인 '10,11' 의 값을 갖는 L11,L12두 개를 입력된 순서에 맞추어 제 2 가산비교선택부(33)에 두 번째 이전 상태 메트릭(I2,J2)으로 입력하면, 두 번째 이전상태 메트릭(I2,J2)인 '10,11'은 제 2 가산비교선택부(33)에 입력된 제 2 수신심볼 값에 따라 두 번째 생존경로 메트릭(K2,L2)인'5,13'이 생존경로 메트릭 메모리부(38)에 저장된다. 따라서 실제적으로 생존경로 메트릭 메모리부(38)에 저장된 현재상태 메트릭은 도 4에서 설명한 Ti+2의 생존경로 매트릭값이 저장되는 것이다. 그리고, 트레이스 백 테이블(40)에는 두 번째 최단유사경로(PATH_L2,PATH_K2)를 출력한다.
이와 같은 과정을 도 4의 유한상태머신에 연관된 트렐리스 다이어그램의 Ti를 참조하여 생존경로 메트릭 메모리부(SM MEM)(38)로부터 이전 상태의 생존경로 메트릭(SM)(I1,J1)으로 '8,9', '10,11' 및 '12,13', '14,15'를 각각 제 1 가산비교선택부(31)에 입력하면, 제 1 가산비교선택부(31)는 제 1 수신심볼을 참조하여 각각 '4,12', '5,13' 및 '5,14' '7,15'의 값을 제 2 ACS부 입력시간 스위치부(32)에 임시로 저장하고, 제 2 ACS부 입력시간 스위치부(32)에서는 '4,12', '5,13' 및 '5,14' '7,15'의 값을 이전 생존경로 메트릭값인 'I2,J2'로 제 2 가산비교선택부(33)로 출력한다.
그러면, 제 2 가산비교선택부(33)에서는 제 2 수신 심볼을 참조하여 생존경로 메트릭 메모리부(38)로 각각 '2,6,10,14' 및 '3,7,11,15'의 현재상태 생존경로 메트릭을 출력한다.
8의 과정을 Ti의 모든 SM을 SM MEM에서 읽을 때까지 수행하면 Ti+2의 SM이 만들어진다.
이와 같은 비터비 디코더의 모든 동작은 회로상에서 시간적으로 동시에 일어나므로 Ti의 생존경로 메트릭으로부터 Ti+2의 생존경로 메트릭을 만드는 과정(제 1, 제 2의 수신심볼에 대한 처리)은 시간적으로 상태의 개수만큼의 사이클(cycle)이 필요하다. 따라서 전형적인 비터비 디코더의 절반만큼의 사이클이 필요하다.
도 4의 트렐리스 다이어그램에서 종래 비터비 디코더가 Ti의 두 개의 생존경로 메트릭으로부터 Ti+1의 두개의 생존경로 메트릭을 생성한다면 본 발명에 따른 비터비 디코더는 Ti의 4개의 SM으로부터 Ti+2의 4개의 SM을 생성한다고 할 수 있다.
그리고, ACS부 입력시간 스위치 및 가산비교입력부를 확장하면 위에서 설명한 바와 같은 디코딩율은 정수배로 향상된다. 하지만 하나씩 증가할 때마다 ACS부 입력시간 스위치의 하드웨어적인 구성은 기하급수적으로 커지고 복잡해진다.
즉, 제 2 ACS부 입력시간 스위치부(32)가 4개의 생존경로 메트릭을 저장하고 스위칭(Switching)해야 한다면, 제 3 ACS부 입력시간 스위치부(32)는 8개를 저장하고 스위칭(Switching)해야 한다.
이상의 설명에서와 같은 본 발명은 멀티미디어 환경에 따라 여러 개의 채널(Channel)을 지원하는 통신 시스템에서 각 채널의 데이터 전송량의 정수배를 디코딩할 수 있는 가산비교선택(ACS)부와 이에 부가되는 ACS부 입력시간 스위치부 부분을 추가하여 비터비 디코더의 디코딩율을 정수배(ACS의 개수 배)만큼 증가할 수 있다.
따라서, 앞으로의 통신 시스템에서 고속의 데이터를 전송하고자 하는 경우, 높은 BER(Bit Error Rate)을 지원하기 위해서 인코딩단의 콘벌루션 엔코더의 구속장 K가 최소 9 이상이 되어야 하는 시스템에서도 비터비 디코더의 디코딩율이 개선함으로써 데이터 전송의 제한을 없앨 수 있다.

Claims (3)

  1. 이전 상태의 제 1부터 제 n 번째 생존경로 메트릭과, 제 1부터 제 n 번째 수신 심볼(OS)을 각각 수신하여 제 1부터 제 n 번째 현재 상태의 생존경로 메트릭(SM) 값을 생성하는 제 1부터 제 n 가산비교선택부와;
    상기 제 1부터 제 n-1 가산비교선택부의 각각에서 만들어진 첫 번째와 두 번째 현재 상태의 생존경로 메트릭 값을 저장하는 제 2부터 제 n 가산비교선택부 입력시간 스위치부와;
    상기 제 n 가산비교선택부에서 만들어진 현재 상태의 메트릭 메모리 값을 저장하는 가상 경로 메트릭 메모리부와,
    상기 제 1부터 제 n 가산비교선택부의 각각에서 만들어진 생존경로 메트릭 값중 작은 값의 생존경로 메트릭을 구하는 최단경로 생성부와,
    상기 생전경로가 이전 상태에서 현재 상태로 천이할 때의 생존경로(PATH)를 저장하는 트래이스 백 테이블과,
    상기 최단경로 생성부와 트래이스 백 테이블로부터 최대유사경로를 구하고, 디코딩된 비트를 출력하는 트레이스 백부(Trace-Back)로 구성됨을 특징으로 하는 비터비 디코더.
  2. 제 1 항에 있어서, 상기 제 2부터 제 n ACS부 입력시간 스위치부는 각각 상기 제 1부터 제 n 가산비교선택부와 교번되어 직렬로 구성된 것을 특징으로 하는비터비 디코더
  3. 생존경로 메트릭 메모리부에서 이전 상태의 첫 번째와 두 번째 생존경로 메트릭 값을 첫 번째 수신심볼과 가산하여 임시 현재상태 생존경로 메트릭 값을 임시 메모리부로 출력하는 단계와;
    상기 임시 메모리의 상기 임시 현재상태의 생존경로 메트릭 값과 두 번째 수신 심볼을 가산하여 현재 상태 생존경로 메트릭 값을 상기 생존경로 메트릭 메모리부로 출력하는 단계로 이루어지는 것을 특징으로 하는 비터비 디코더의 디코딩 방법.
KR1019990057157A 1999-12-13 1999-12-13 비터비 디코더 및 비터비 디코더의 디코딩 방법 KR100359805B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990057157A KR100359805B1 (ko) 1999-12-13 1999-12-13 비터비 디코더 및 비터비 디코더의 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990057157A KR100359805B1 (ko) 1999-12-13 1999-12-13 비터비 디코더 및 비터비 디코더의 디코딩 방법

Publications (2)

Publication Number Publication Date
KR20010055840A KR20010055840A (ko) 2001-07-04
KR100359805B1 true KR100359805B1 (ko) 2002-11-07

Family

ID=19625406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990057157A KR100359805B1 (ko) 1999-12-13 1999-12-13 비터비 디코더 및 비터비 디코더의 디코딩 방법

Country Status (1)

Country Link
KR (1) KR100359805B1 (ko)

Also Published As

Publication number Publication date
KR20010055840A (ko) 2001-07-04

Similar Documents

Publication Publication Date Title
US4583078A (en) Serial Viterbi decoder
US6445755B1 (en) Two-step soft output viterbi algorithm decoder using modified trace back
KR100195745B1 (ko) 비터비 복호화기의 가산 비교 선택 장치
AU762877B2 (en) Component decoder and method thereof in mobile communication system
US5446746A (en) Path memory apparatus of a viterbi decoder
GB2311447A (en) Viterbi decoder
US6333954B1 (en) High-speed ACS for Viterbi decoder implementations
US5912908A (en) Method of efficient branch metric computation for a Viterbi convolutional decoder
US6408420B1 (en) Viterbi decoding method and apparatus thereof
US7277507B2 (en) Viterbi decoder
JP2000209106A (ja) 高速ビタビ復号器の最小量のメモリによる実現
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
EP3996285A1 (en) Parallel backtracking in viterbi decoder
KR100195741B1 (ko) 가변 레이트 비터비 복호화기
JP3233847B2 (ja) ビタビ復号方法及びビタビ復号回路
KR100737648B1 (ko) 비터비 복호장치 및 비터비 복호방법
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
US7225393B2 (en) Viterbi decoder and Viterbi decoding method
KR100359805B1 (ko) 비터비 디코더 및 비터비 디코더의 디코딩 방법
US20050138535A1 (en) Method and system for branch metric calculation in a viterbi decoder
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
KR0169681B1 (ko) 비터비 복호기
KR0169680B1 (ko) 비터비 복호기
JP3530451B2 (ja) ビタビ復号装置
KR0169678B1 (ko) 비터비 복호기

Legal Events

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

Payment date: 20120926

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130924

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140924

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160923

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20170922

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee