KR20010033503A - 버터플라이 동작을 이용한 비-이진 비터비 디코더 - Google Patents

버터플라이 동작을 이용한 비-이진 비터비 디코더 Download PDF

Info

Publication number
KR20010033503A
KR20010033503A KR1020007007004A KR20007007004A KR20010033503A KR 20010033503 A KR20010033503 A KR 20010033503A KR 1020007007004 A KR1020007007004 A KR 1020007007004A KR 20007007004 A KR20007007004 A KR 20007007004A KR 20010033503 A KR20010033503 A KR 20010033503A
Authority
KR
South Korea
Prior art keywords
binary
trellis
path
node
butterfly
Prior art date
Application number
KR1020007007004A
Other languages
English (en)
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 도날드 디. 먼둘
Publication of KR20010033503A publication Critical patent/KR20010033503A/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/6569Implementation on processors, e.g. DSPs, or software 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
    • 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/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37

Landscapes

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

Abstract

비-이진 트렐리스 내에 이진 버터플라이 트렐리스를 지정함으로써, 비-이진 트렐리스 다이어그램을 이용하여 데이터 신호를 디코딩하는 디코더가 개시되어 있다. 상기 디코더는, 비터비 이진 버터플라이 동작을 이용하여 각각 지정된 이진 버터플라이 트렐리스를 해석하여, 비-이진 트렐리스의 각 노드에 한 쌍의 경로를 생성한다. 기본 이진 버터플라이 동작으로부터의 각 노드에 대한 경로를 비교하여, 상기 노드에 대한 생존 경로를 결정한다.

Description

버터플라이 동작을 이용한 비-이진 비터비 디코더{NON-BINARY VITERBI DECODER USING BUTTERFLY OPERATIONS}
도 1은 송신기(transmitter)(12), 수신기(receiver)(14) 및, 채널(24)을 포함하는 전형적인 디지털 통신 시스템(10)을 나타낸다. 송신기는 채널 인코더(channel encoder)(16), 멀티플렉서(multiplexer)(18), 변조기(20) 및, 전송 유닛(transmission unit)(22)을 포함한다. 상기 송신기(12)는, 부호 분할 다원 접속(code division multiple access)(CDMA) 시스템에서의 암호화 유닛(encryption unit)이나 주파수 확산기(frequency spreader)와 같이 도 1에 도시되지 않은 것으로서 그 밖의 신호 처리 부품을 포함할 수도 있다.
송신기(12)의 채널 인코더(16)는 원시 데이터 신호(source data signal)를 수신하고 이를 부호화하여, 수신기(14)에 의한 신호 복원을 개선한다. 디지털 데이터에 대한 신호 공간 부호화의 한 가지 유형이 M-진 신호방식이다. 채널 디코더는 신호 공간에서 k 데이터 비트를 M=2k심벌로 변환한다. 2진 데이터 신호에서는 k=1이다. 신호 공간을 부호화하는 한 가지 종류가 K-단 시프트 레지스터(K-stage shift register)를 이용하여 구현될 수 있는 콘볼루션 부호이다. 매 단위 시간마다, k 비트가 레지스터의 제1 k단에 시프트되는 한편, 상기 레지스터에 이미 있던 비트는 k 단 만큼 오른쪽으로 시프트된다. 매 단위 시간마다, 선택된 시프트 레지스터의 내용은 더해지거나, 빼지며, 그렇지 않으면 부호화된 부호의 수(n)가 얻어지도록 처리된다. 매 단위 시간마다 k 비트를 레지스터로 시프트함으로써, 시프트된 k 비트 집합 각각은 인코더에서 제한된 수의 허용된 다음 상태로의 천이를 나타낸다. 따라서, 부호화된 비트는 인코더의 현재 상태를 나타냄은 물론, 수신한 부호화된 비트 시퀀스로부터 얻어질 수 있는 인코더 상태의 경과 정보(historical information)를 나타낸다.
채널 인코더(16)로부터 부호화된 비트는 멀티플렉서(18)에 입력된다. 멀티플렉서(18)는 상기 부호화된 비트를 상이한 소스로부터 발생되거나 또는 상이한 특성을 가진 다른 신호와 결합한다. 변조기(20)가 다중화된 신호를 수신하여, 상기 신호를 채널(24) 상에서 전송될 수 있는 파형으로 변환한다. 상기 변조된 신호는 전송 유닛(22)으로 입력되며, 상기 전송 유닛(22)은 일반적으로 고전력 증폭기(high powered amplifier) 및 안테나를 포함하여 상기 변조된 신호를 채널(24) 상으로 전송한다.
신호를 전송하는 동안, 채널(24)은 신호 내에 잡음(noise), 페이딩(fading) 및, 재밍(jamming)을 일으킨다. 수신기(14)는 전송된 신호를 검출하여, 상기 전송된 신호로부터 원래의 소스 데이터 신호의 복원을 시도해야 한다. 상기 수신기(14)는 수신 유닛(receiver unit)(26), 복조기(demodulator)(27), 디멀티플렉서 (demultiplexer)(28) 및, 채널 디코더(30)를 포함한다. 수신 유닛(26)은 일반적으로 전송된 신호를 검출하기 위한 안테나 및, 신호를 증폭하기 위한 저잡음 증폭기를 포함한다. 복조기(27)가 신호를 복조하는 한편, 디멀티플렉서(28)는 상기 신호를 성분 신호(component signal)로 분리한다.
채널 디코더(30)는 잡음 및 페이딩이 추가된 디멀티플렉싱된 신호를 디코딩하여 원래의 원시 데이터 신호를 재구성한다. 콘볼루션 부호를 디코딩하는 한 가지 잘 알려져있는 방법으로는, A.J.Viterbi에 의해 창안되어, IEEE Transactions on Information Theory, Vol. IT-13, pp.260-269(1967년 4월)에 기재되어 있는 비터비 알고리즘이 있는데, 이것은 여기서 참고로 포함된다. 비터비 알고리즘은, 송신기(12) 채널 인코더(16)의 예상 상태(possible state)를 나타내는 노드 열 및, 상태 간에 허용된 천이를 나타내는 노드 사이의 브랜치(branches)를 가진 트렐리스(trellis)를 이용한다. 채널 인코더가 단위 시간 주기마다 한 비트만을 천이한다면, 즉 k=1이라면, 트렐리스 부호는 이진수이며 노드마다 두 개의 연결 브랜치를 갖는다. 채널 인코더가 단위 시간 주기마다 한 비트 이상을 천이한다면, 즉 k〉1이라면, 트렐리스 부호는 비-이진이며 노드마다 두 개 이상의 연결 브랜치를 갖는다.
비-이진 트렐리스, 즉 노드마다 두 개 이상의 브랜치를 가진 트렐리스에 대한 비터비 알고리즘을 구현하는 것은, 이진 트렐리스, 즉 노드마다 두 개의 브랜치를 가진 트렐리스에 대한 비터비 알고리즘보다 훨씬 더 복잡한데, 이는 훨씬 더 큰 계산량이 채널 디코더에 부여되기 때문이다. 이와 같이 증가한 복잡성으로 인해, 상업적인 통신 시스템에서 데이터를 인코딩하고 디코딩함에 있어 비-이진 트렐리스를 이용하는 것이 제한되어 왔다. 따라서, 산업계에서는, 비-이진 트렐리스에 대한 비터리 알고리즘을 이용하여 콘볼루션 부호를 디코딩하기 위한 간단하고 효과적인 방법 및 디코더에 대한 요구가 일어나고 있다.
본 발명은 디지털 통신 시스템의 수신기에 관한 것으로서, 특히 변형된 비터비 알고리즘(Viterbi algorithm)을 이용하여 비-이진 콘볼루션 부호(convolutional code) 데이터를 디코딩하는 디코더에 관한 것이다.
도 1은 본 발명을 구현할 수 있는 디지털 통신 시스템을 나타내는 도면.
도 2는 기본적인 이진 버터플라이 동작을 이용하는 디코더로 콘볼루션 부호를 디코딩하는 두 가지 상태를 가진 이진 트렐리스를 나타내는 도면.
도 3은 기본적인 이진 버터플라이 동작을 이용하는 디코더로 콘볼루션 부호를 디코딩하는 두 개 이상의 상태를 가진 이진 트렐리스를 나타내는 도면.
도 4는 본 발명 디코더로 콘볼루션 부호를 디코딩하는 비-이진 트렐리스를 나타내는 도면.
도 5는 변형된 기본적인 버터플라이 이진 동작을 나타내는 콘볼루션 부호를 디코딩하는 비-이진 트렐리스를 나타내는 도면.
도 6은 본 발명을 구현하는데 이용될 수 있는 디코더를 나타내는 도면.
도 7은 변형된 기본적인 이진 버터플라이 동작을 이용하여 콘볼루션 부호를 디코딩하기 위한 본 발명 디코더의 동작 방법에 대한 흐름도.
본 발명은 채널로 전송된 신호를 디코딩하여 비-이진 트렐리스를 이용하여 원시 데이터 신호를 판정하는 방법에 관한 것이다. 제1단계는, 비-이진 트렐리스를 두 개의 연결 브랜치가 있는 노드를 가진 복수의 이진 버터플라이 트렐리스로 분리하는 것이다. 비-이진 트렐리스에 설계된 이진 버터플라이 트렐리스 각각에 대한 이진 버터플라이 동작을 수행하여, 이진 버터플라이 트랠리스의 각 노드와 연결된 가장 알맞은 경로 미터(path metrics)를 결정한다. 다음으로, 본 발명 방법은, 이진 버터플라이 동작을 수행함으로써 결정된 바와 같이 비-이진 트렐리스의 각 노드에 연결된 가장 알맞은 경로 미터를 비교하여, 비-이진 트렐리스의 각 노드에 대한 생존(survivor) 경로를 선택하여, 비-이진 트렐리스의 각 노드에 대해 축적된 경로 미터를 결정하는 단계를 포함한다. 본 발명의 디코더는 제1프로세서(processor)와 제2프로세서를 포함하는데, 상기 제1프로세서는 이진 버터플라이 트렐리스에 대한 이진 버터플라이 동작을 수행하여 이진 버터플라이 트렐리스의 각 노드와 연결된 가장 알맞은 경로 미터를 결정하며, 제2프로세서는 제1프로세서로 하여금 비-이진 버터플라이 트렐리스내에 설계된 복수의 이진 버터플라이 동작을 수행하도록 하여, 비-이진 트렐리스의 각 노드와 연결된 가장 알맞은 경로 미터를 비교하여 비-이진 트렐리스의 각 노드에 대한 생존 경로 및 축적된 경로 미터를 결정한다.
본 발명 및, 본 발명의 목적과 장점에 대해 더욱 완전히 이해하기 위해, 이제 첨부 도면과 관련한 이하의 설명을 참조해야 하며, 여기서 웃한 부분은 동일한 번호를 이용한다.
이하, 본 발명의 바람직한 실시형태가 도시되어 있는 첨부 도면을 참조하여 본 발명을 더욱 상세히 설명한다.
이진 트렐리스를 이용한 비터비 알고리즘에 대한 실시예가 도 2에 도시되어 있다. 비터비 알고리즘은 트렐리스 다이어그램을 이용하는데, 여기서 노드는 매 시간마다 신호 공간(S)에서의 인코딩된 원시 데이터 신호의 예상 상태를 나타낸다. 도 2의 이진 트렐리스에 대한 실시예에 있어서, 신호 공간(S)은 적어도 두 개의 신호 상태(S0및 S1)를 포함한다. 신호 공간(S)은 아날로그 신호 진폭의 범위일 수도 있고, 또는 주파수 편이 방식(frequency-shift-keying system) 이나 위상 편이 방식(phase-shift-keying system)의 다차원 공간 특성일 수도 있다. 신호 공간에서의 두 상태간의 천이는 송신기에서 심벌 집합(A={a1,a2,…})의 고유 부호 심벌로 인코딩된다. 예컨대, 송신기를 이용하여 인코딩하는 동안, S0에서 S0로의 천이를 a0으로, S0에서 S1으로의 천이를 a1으로, S1에서 S0으로의 천이를 a2로, 그리고 S1에서 S1으로의 천이를 a3로 각각 나타낼 수 있다. 인코더에서의 상태 시퀀스는, 도 2에 도시한 바와 같은 비터비 트렐리스를 통한 경로를 따라 수신기에의해 디코딩된다.
도 2는 이진 버터플라이 트렐리스를 나타내는 것으로서, 여기서 각 노드가 단 두 개의 연결 브랜치를 갖는데, 즉 각 노드는 단 두 개의 브랜치를 통해 다른 두 노드로부터 도달될 수 있다. 도 1의 각 단위 시간(t) 마다 상기 노드는 신호 공간(S)의 신호 상태(S0및 S1)를 나타낸다. 트렐리스에서의 노드 사이의 브랜치는 상태간 천이를 나타낸다. 각각의 천이 혹은 브랜치에 있어서, 집합 A={a1,a2,…}로부터의 고유 심벌이 지정되어 도 2에 도시한 바와 같이 그 천이를 나타낸다.
동작시, 고유 심벌(A)은 인코더의 시프트 레지스트의 인코딩된 비트에 의해 결정된다. 브렌치 미터(metric)(Meti)는 상기 브랜치 또는 천이에 대한 집합(A)으로부터의 심벌과 실제 수신된 신호 간의 거리(예컨대, 아날로그 신호의 유클리드(Euclidian) 거리, 또는 디지털 신호의 해밍(Hamming) 거리)이다. 예컨대,Met0으로 나타낸 미터값은 수신된 신호와 심벌(a0) 간의 거리이고, 미터값(Met1)은 수신된 신호와 심벌(a1) 간의 거리이며, 미터값(Met2)은 수신된 신호와 심벌(a2) 간의 거리이고, 그리고 미터값(Met3)은 수신된 신호와 심벌(a3) 간의 거리이다. 상태에 대한 경로 미터는MetSi로 표시되며, 이는 트렐리스를 통한 상기 상태로의 선택 경로 사이의 브랜치 미터의 합이다.
수신된 신호의 시퀀스에 있어서, 수신된 신호값에 가장 근접한 각 브랜치가 나타내는 심벌(a1,a2,…)의 경로, 즉 가장 알맞은 경로 미터를 가진 경로를 위해, 디코딩 방법은 트렐리스를 조사해야 한다. 이진 신호의 비터비 알고리즘은 이진 버터플라이 트렐리스를 통해 가장 알맞은 경로 미터를 결정한다. 각 노드 또는 상태마다 두 개의 후보 경로 미터가 계산된다. 계산된 각 후보 경로 미터가 상기 상태로의 상이한 브랜치 또는 천이를 나타낸다. 예컨대, t2에서의 상태(S0)에 있어서, 계산된 두 개의 후보 경로 미터는 MetS0+Met0와 MetS1+Met2이다. 일단 계산이 이루어지면, 상기 두 후보 경로 미터를 비교하여, 어떤 경로 미터가 가장 알맞은지를 결정한다. 일반적으로, 가장 알맞은 경로 미터는 디지털 신호에 대해서는 해밍거리, 또는 아날로그 신호에 대해서는 유클리드 거리에 의해 결정되는 바와 같이 가장 작은 값을 갖는 경로 미터이다. 다음으로, 가장 알맞은 경로 미터와 관련된 경로를 선택한다. t2에서 상태 S1에 대해 누적된 경로 미터(MetS0)를 가장 알맞은 경로 미터와 일치하는 값으로 갱신한다. t2에서 상태(S1)에 대해 상기 설명한 경로 선택 동작을 도 2에서 ACS0(Add-Compare-Select)라 한다.
마찬가지로, t2에서 상태(S1)에 대해서도 경로 선택 동작을 수행한다. 상태(S1)에 대한 두 개의 후보 경로 미터(MetS0+Met1및 MetS1+Met3)가 계산된다. 가장 알맞은 경로 미터가 결정되어, 상기 가장 알맞은 경로 미터와 관련된 경로가 선택된다. 상기 노드에 대한 경로 선택 동작을 도 2에서 ACS1(Add-Compare-Select)이라 한다. 일반적으로, 상태(S)에 대해 선택된 경로는 생존 경로로 공지되어 있다.
이진 트렐리스, 즉 각 상태 또는 노드마다 두 개의 브랜치를 가지며 단위 시간 주기에서 두 개의 노드 또는 상태를 가진 트렐리스에 대해 수행된 상기 설명한 비터비 알고리즘은, 기본적인 이진 버터플라이 동작으로 공지되어 있다. 두 개 이상의 상태를 가진 이진 트렐리스에 있어서, 상기 기본적인 이진 버터플라이 동작이 여러 번 수행되어 노드 또는 상태 각각에 대한 생존 경로를 결정할 수 있다. 그러나, 노드 또는 상태 각각은 여전히 단지 두 개의 연결 브랜치를 갖는다. 예컨대, 시간(t1및 t2)에서 네 개의 상태(S0,S1,S2및, S3)를 가진 이진 트렐리스가 도 3에 도시되어 있다. 제1기본 이진 버터플라이 동작을 수행하여, 도 3에서 1로 표시된 이진 트렐리스에서 상태(S0및 S1)에 대한 생존 경로를 결정한다. 그런 다음, 제2기본 이진 버터플라이 동작을 수행하여, 도 3에서 2로 표시된 이진 트렐리스 상태(S2및 S3)에 대한 생존 경로를 결정한다.
상기 설명한 기본적인 이진 버터플라이 동작은, Texas Instruments의 TMS320C54X DSP와 같은 선행 기술 분야에 잘 알려져있는 매우 효과적인 가속기(accelerator) 반도체 칩에 의해 수행될 수 있다.
도 4는 본 발명 디코더를 이용하여 콘볼루션 부호를 디코딩하는 비-이진 트렐리스를 나타낸다. 비-이진 트렐리스에 있어서, 각 노드(Si)는 두 개 이상의 예상 브랜치를 가질 수 있다. 따라서, 단위 시간 주기(t2)에서 상태(Si)로의 천이는 단위 주기(t1)에서의 상태 집합(Sim={Si1,Si2,Si3,…Sim})으로부터 이루어질 수 있으며, 여기서 색인(m)은 2보다는 큰 수이다. 집합(A)로부터의 고유 심벌이 상태 집합(Si)과 관련된 모든 천이(T={ai1,ai2,…aim})에 대해 정해져, t(Sim,Sm)=aim이 된다. 트렐리스 다이어그램은, 트렐리스 다이어그램의 노드로 나타나있는 각 상태에 대한 집합(Si및 Ti)에 의해 명확히 정해질 수 있다.
도 4의 트렐리스 다이어그램에 있어서, 원시 데이터 신호의 신호 공간은, 각 상태와 연결된 네 개의 브랜치 또는 천이를 가진 네가지 상태(Si={S0,S1,S2및, S3})를 포함한다. 따라서, t2에서 상태(S0)로의 천이는 상태 집합(S0,4={S0,0,S0,1,S0,2, S0,4})으로 얻어질 수 있다. S0으로의 천이에 대한 집합(A)로부터의 고유 심벌은: t(S0,0,S0)=a0,t(S0,1,S0)=a1,t(S0,2,S0)=a2및, t(S0,3,S0)=a3로 나타낼 수 있다. 트렐리스 다이어그램의 나머지 상태(S1,S2및, S3)에 대해서도 유사한 표현이 나타날 수 있다.
본 발명은, 비-이진 트렐리스 내에 이진 버터플라이 트렐리스를 설계함으로써 비-이진 트렐리스를 이용하여 콘볼루션 부호를 디코딩한다. 이진 버터플라이 트렐리스 각각은 매 단위 시간 주기마다 단지 두 개의 상태를 가지며, 각 상태마다 두 개의 브랜치를 갖는다.
예컨대, 도 4의 비-이진 트렐리스는 숫자(1 에서 4)로 지정된 4개의 이진 버터플라이 트렐리스로 분리된다. 본 발명에 있어서, 이진 버터플라이 트렐리스는 기본적인 이진 버터플라이 동작을 이용하여 각각 분석되며, 두 개의 기본적인 이진 버터플라이 동작으로부터 각 노드에 대한 결과를 비교하여 상기 노드에 대한 생존 경로를 결정한다.
시간(t2)에서 노드(S0및 S1)에 대해 생존 경로를 결정하기 위한 실시예를 도 5를 참조하여 설명한다. 도 5의 비-이진 트렐리스는 도 4에서 1 및 2로 지정된 2개의 이진 기본적인 버터플라이를 나타낸다.
시간(t1)의 각 상태(Si)에 있어서, 경로 미터(MetSi)는 동작을 시작하기 전에 알려진다. 경로 미터(MetSi)는 트렐리스를 통해 상기 상태(Si)로의 선택 경로 간의 이전 브랜치 미터의 합과 일치한다. 선택적으로, t1이 디코딩 동작의 제1상태라면, 경로 미터(MetSi)는 초기값으로 설정될 수 있다. 본 발명은 비-이진 트렐리스에 먼저 지정된 기본적인 이진 버터플라이 트렐리스 상에서 기본적인 이진 버터플라이 동작을 수행 또는 실행한다. 예컨대, 기본적인 이진 버터플라이 동작은 먼저, 도 5에서 1로 표시되어 있는 지정된 기본적인 이진 버터플라이에 대해 수행된다. 먼저 지정된 이진 버터플라이 트렐리스는 단위 시간 주기(t1)에서 상태(S0및 S1)와 단위 시간 주기(t2)에서 상태(S0및 S1)를 포함한다.
t2에서 제1지정 기본적인 이진 버터플라이의 상태(S0)에 대해, 동작(ACS0)이 수행된다. 두 개의 후보 경로 미터(MetS0+Met0및 MetS1+Met2)가 계산된다. 일단 계산이 이루어지면, 두 개의 후보 경로 미터를 비교하여, 어떤 경로 미터가 가장 알맞은가를 결정한다. 상기 설명한 바와 같이, 가장 알맞은 경로 미터는 일반적으로 가장 작은 값을 가진 경로 미터이다. 가장 알맞은 경로 미터는, 예컨대 디지털 신호에 대한 해밍 거리나 또는 아날로그 신호에 대한 유클리드 거리에 의해 결정될 수 있다. 다음으로, 동작(ACS0)에 대해 가장 알맞은 경로 미터와 관련된 경로가 결정된다.
이것을 S0에 대한 생존 경로로 선택하지 않고, 상기 경로 및 상응하는 가장 알맞은 경로 미터를 동작(ACS0)의 결과로 저장한다. 그런 다음, 본 발명은 동작(ACS2)를 수행하여, t2에서의 상태(S1)에 대해 두 개의 후보 경로 미터(MetS0+Met1및 MetS1+Met3)를 계산한다.
가장 알맞은 경로 미터가 결정되어, 상기 가장 알맞은 경로 미터와 관련된 생존 경로가 동작(ACS2)에 대해 결정된다. 거듭 말하지만, 이것을 S1에 대한 생존 경로 선택하지 않고, 상기 경로 및 상응하는 가장 알맞은 경로 미터를 동작(ACS2)의 결과로 저장한다.
다음으로, 본 발명은 도 5에서 2로 표시된 제2의 지정된 기본적인 이진 버터플라이 트렐리스에 대해 변형된 기본적인 이진 버터플라이 동작을 실행한다. 상기 제2의 지정된 이진 버터플라이 트렐리스는 단위 시간 주기(t1)에서 상태(S2및 S3)와 단위 시간 주기(t2)에서의 상태(S0및 S1)를 포함한다. 동작(ACS1)은 t2에서의 상태(S0)에 대해 수행된다. 두 개의 후보 경로 미터(MetS2+Met4및 MetS3+Met6)가 계산된다. 가장 알맞은 경로 미터가 결정되어, 상기 가장 알맞은 경로 미터와 관련된 경로가 선택된다. 상기 경로 및 가장 알맞은 경로 미터를 동작(ACS1)에 대해 저장한다. 다음으로, t2에서의 상태(S1)에 대해 동작(ACS3)를 수행한다. 두 개의 후보 경로 미터(MetS2+Met5및 MetS3+Met7)가 계산된다. 가장 알맞은 경로 미터가 결정되어, 상기 가장 알맞은 경로 미터와 관련된 경로가 동작(ACS3)에 대해 결정된다. 상기 경로 및 가장 알맞은 경로 미터를 동작(ACS3)에 대해 저장한다.
다음으로, 본 발명은, 비-이진 트렐리스의 상태에 상응하는 기본적인 이진 버터플라이 동작에서 수행된 ACS 각각에 대해 가장 알맞은 경로 미터를 비교함으로써, 비-이진 트렐리스의 각 노드 또는 상태(S)에 대한 생존 경로를 결정한다. 예컨대, 단위 시간 주기(t2)에서의 상태(S0)에 있어서, 상태(SO)와 연결된 ACS0의 결과로서 저장된 가장 알맞은 경로 미터를 상태(S0)와 연결된 ACS1의 결과로 저장된 가장 알맞은 경로 미터와 비교한다. 상기 설명한 바와 같이, 동작(ACS0)은 제1기본 이진 버터플라이 동작 중에 수행되는 반면, ACS1은 제2의 기본적인 이진 버터플라이 동작 중에 수행되었다. 그러나, ACS0및 ACS1동작 두 가지 모두 t2에서의 상태(S0)로의 브랜치에 대해 수행되었으므로, 상기 결과를 비교하여 상태(S0)에 대한 생존 경로를 결정한다. t2에서의 상태(S0)에 대한 생존 경로는, 상기 저장된 두 가지 동작(ACS0및 ACS1) 미터 중 가장 알맞은 경로 미터에 해당하는 경로이다. t2에서의 상태(S0)에 대한 최종 누적 미터(MetS0)는 상기 저장된 두 가지 동작(ACS0및 ACS1) 미터 중 가장 알맞은 경로 미터와 일치한다.
마찬가지로, t2에서의 상태(S1)에 대해 생존 경로와 누적 경로(MetS1)를 결정한다. 상태(S1)와 관련된 동작(ACS2)의 결과로 저장된 가장 알맞은 경로 미터를 상태(S1)와 관련된 동작(ACS3)의 결과로 저장된 가장 알맞은 경로 미터와 비교한다. t2에서의 상태(S1)에 대한 생존 곡선은 상기 저장된 두 개의 동작(ACS2및 ACS3) 미터 중 가장 알맞은 경로 미터에 해당하는 경로이다. t2에서의 상태(S1)에 대한 최종 누적 미터(MetS1)는 상기 저장된 두 가지 동작(ACS2및 ACS3) 중 가장 알맞은 경로 미터와 일치한다.
마찬가지로, 본 발명은 상태(S2및 S3)에 대한 생존 경로를 결정하기 위해, 도 4에 도시된 기본적인 이진 버터플라이 트렐리스(3 및 4)에 변형된 이진 버터플라이 동작을 수행한다. 비-이진 트렐리스 내에 이진 버퍼플라이 트렐리스를 지정함으로써, 본 발명은 디코더의 계산량을 간단히 한다.
도 6을 보면, 이진 버터플라이 동작을 수행하는 일반적인 선행 기술 칩을 이용하여, 약간만 변형하거나 또는 전혀 변형시키지 않고 채널 디코더(34)에 본 발명을 구현할 수 있다. 채널 디코더(34)는 프로세서(porcessor)(36), 메모리(memory)(38) 및, 이진 버터플라이 가속기 칩(40)을 포함한다. 프로세서(36)는 본 발명에 따라 채널 디코더(34)의 동작을 제어한다. 이진 버터플라이 가속기 칩(40)은 소정의 이진 버터플라이 트렐리스 상에서 기본적인 이진 버터플라이 동작을 수행하여, 이진 버터플라이 트렐리스의 각 노드에 대한 ACS 동작 결과를 출력한다. 상기 이진 버터플라이 가속기 칩(40)은 Texas Instruments의 가속기 반도체 TMS320C54X 칩일 수도 있다. 메모리(38)는 프로세서 칩(40) 상에 놓이거나, 또는 프로세서(40) 외부의 캐시(cache)나 램(RAM)에 놓일 수 있다. 도 6은 채널 디코더(34)가 프로세서(36)와 별도의 이진 버터플라이 가속기 칩(40)을 포함하는 것으로 나타나있지만, 당업자들이라면 상기 두 칩의 기능을 하나의 프로세서에 통합할 수도 있다는 것을 알고 있을 것이다.
비-이진 트렐리스를 이용하여 콘볼루션 부호를 디코딩하기 위한 채널 디코더(34)의 동작은 도 7과 관련하여 설명된다. 도 7은 본 발명 채널 디코더(34)의 동작에 대한 흐름도를 나타낸다. 채널 디코더(34)는, 원하는 디코딩 과정을 위해 비-이진 트렐리스, 상태(Si), 천이(T) 및, 심벌 집합(A)을 이용하여 사전에 프로그램된다. 또한, 원하는 디코딩 과정을 위해 비-이진 트렐리스를 복수로 지정된 이진 버터플라이 트렐리스로 분리한다.
도 7의 단계 42에서, 채널 디코더(34)가 디멀티플렉서(38)로부터 인코딩된 신호 심벌을 수신한다. 단계 44에서, 프로세서(36)는 지정된 기본 버터플라이 트렐리스 중 하나에 대해 기본적인 이진 버터플라이 동작을 수행하도록 이진 버터플라이 가속기 칩(40)에게 명령한다. 이진 버터플라이 가속기 칩은 기본 버터플라이 동작을 수행하여, 두 개의 ACS 동작 결과를 기본적인 이진 버터플라이 트렐리스의 두 노드 각각에 대해 하나씩 결정한다. 단계 46에 도시한 바와 같이, 기본 버터플라이 동작의 두 노드에 대한 ACS 동작 결과를 메모리(38)에 저장한다. 두 ACS 동작에서 결정된 경로 및 가장 알맞은 경로 미터는, 소정의 ACS 동작에 대한 관련 상태 또는 노드와 함께 메모리(38)에 지정된다.
다음으로, 단계 48에서 프로세서(36)는 상기 이상의 기본 이진 버터플라이 트렐리스가 비-이진 트렐리스에 지정되어 있는지 여부를 판단한다. 그 대답이 긍정이라면, 단계 44로 돌아가, 다음 지정된 기본 버터플라이 트렐리스에 대한 기본적인 버터플라이 동작을 수행하도록 이진 버터플라이 가속기 칩(40)에게 명령한다.
단계 48에서, 프로세서(36)가 기본 버터플라이 트렐리스 각각에 대해 이진 버터플라이 동작을 수행하였다고 판정하면, 상기 프로세서(36)는 비-이진 트렐리스에의 각 상태 또는 노드에 대한 생존 경로를 결정한다. 프로세서(36)는 비-이진 트렐리스의 상태 또는 노드와 연결된 메모리(38)에 저장된 각각의 ACS 동작에 대해 가장 알맞은 경로 미터를 비교하여, 각 상태에 대한 가장 알맞은 경로 미터 및 상응하는 생존 경로를 선택한다. 상기 프로세서(36)는 각 상태에 대한 미터를 상기 선택된 가장 알맞은 경로 미터로 갱신하여, 상응하는 생존 경로를 메모리(38)에 저장한다. 프로세서(36)는 이어서, 완료될 때까지 메시지의 인코딩된 신호 심벌을 처리한다.
선택적으로, 프로세서(36)는 도 7의 단계 50과 52를 수행하여, 이진 버터플라이 가속기 칩이 상기 상태와 관련된 이진 버터플라이 동작을 계산한 후 상태에 대한 생존 경로를 선택한다. 이와 동시에, 이진 버터플라이 가속기 칩은 도 7의 단계 44와 46에서와 같이 나머지 상태와 관련된 이진 버터플라이 동작을 계산할 수 있다.
본 발명은 비-이진 트렐리스를 이용하여 콘볼루션 부호를 디코딩함으로써 선행 기술의 디코더에 비해 상당한 장점을 가진다. 비터비 알고리즘을 이용하여 비-이진 트렐리스를 직접 해결하는 것은 매우 복잡한 기술과 상당한 계산량을 필요로한다. 본 발명은, 비-이진 트렐리스를 복수의 이진 버터플라이 트렐리스로 분리하여 각각의 이진 버터플라이 트렐리스에서 변형된 이진 버터플라이 동작을 수행함으로써 비-이진 트렐리스를 디코딩한다. 따라서, 본 발명은 이진 버터플라이 동작을 수행하는 매우 효과적이며 더욱 간단한 구조를 이용한다.
본 발명의 동작 및 구조가 상기 설명으로부터 명백하지만, 도시하여 설명한 바와 같은 본 발명의 동작 방법 및 구조는 바람직하다는 특징을 가지며, 다음의 특허청구범위에 정해져있는 본 발명의 의미와 범위를 벗어나지 않고 변경, 변형 및 교체가 이루어질 수도 있다.

Claims (18)

  1. 복수의 노드를 가진 비-이진 트렐리스를 이용하여 원시 데이터 신호를 판정하기 위한, 채널 상으로 전송된 인코딩된 신호의 디코딩 방법에 있어서,
    비-이진 트렐리스 내에 두 개의 연결 브랜치가 있는 노드를 가진 복수의 이진 버터플라이 트렐리스를 지정하는 단계,
    지정된 이진 버터플라이 트렐리스 각각에 대해 이진 버터플라이 동작을 수행하고 상기 지정된 이진 버터플라이 트렐리스의 각 노드와 연결되는 가장 알맞은 경로 미터를 결정하여, 비-이진 트렐리스의 각 노드가 그와 연결된 가장 알맞은 복수의 경로 미터를 갖는 단계, 및
    상기 이진 버터플라이 동작에서 결정된 비-이진 트렐리스의 각 노드와 연결되는 가장 알맞은 복수의 경로 미터를 비교하여, 비-이진 트렐리스의 각 노드에 대한 생존 경로를 선택하는 단계를 포함하는 디코딩 방법.
  2. 제1항에 있어서, 상기 이진 버터플라이 동작에서 결정된 이진 버터플라이 트렐리스의 각 노드와 연결된 가장 알맞은 복수의 경로 미터를 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  3. 제2항에 있어서, 비-이진 트렐리스의 생존 경로로부터 원시 데이터 신호를 판정하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  4. 제3항에 있어서, 비-이진 트렐리스내에 두 개의 연결 브랜치가 있는 노드를 가진 복수의 이진 버터플라이 트렐리스를 지정하는 단계는,
    제1단위 시간 주기에서 비-이진 트렐리스에 표현된 두 개의 시작 노드를 가지며, 제2단위 시간 주기에서 비-이진 트렐리스에 표현된 두 개의 종료 노드를 갖는 제1의 이진 버터플라이 트렐리스를 지정하는 단계, 및
    제1단위 시간 주기에서 비-이진 트렐리스에 표현된 두 개의 선택적인 시작 노드를 가지며, 제2단위 시간 주기에서 비-이진 트렐리스에 표현된 두 개의 종료 노드를 가진 제2의 이진 버터플라이 트렐리스를 지정하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  5. 제4항에 있어서, 지정된 이진 버터플라이 트렐리스 각각에 대해 이진 버터플라이 동작을 수행하는 단계는, 제1의 지정된 이진 버터플라이 트렐리스에 대해 이진 버터플라이 동작을 수행하는 단계를 포함하는데, 상기 단계는,
    제1지정 이진 버터플라이 동작의 제1종료 노드로의 제1브랜치에 대한 제1후보 경로 미터를 결정하는 단계,
    제1지정 이진 버터플라이 동작의 제1종료 노드로의 제2브랜치에 대한 제2후보 경로 미터를 결정하는 단계,
    제1종료 노드에 대한 제1 및 제2후보 경로 미터로부터 상기 제1종료 노드에 가장 알맞은 제1경로 미터를 결정하는 단계,
    제1지정 이진 버터플라이 동작의 제2종료 노드로의 제1브랜치에 대한 제1후보 경로 미터를 결정하는 단계,
    제1지정 이진 버터플라이 동작의 제2종료 노드로의 제2브랜치에 대한 제2후보 경로 미터를 결정하는 단계, 및
    제2종료 노드에 대한 제1 및 제2후보 경로 미터로부터 싱ㄱ; 제2종료 노드에 가장 알맞은 제1경로 미터를 결정하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  6. 제5항에 있어서, 지정된 이진 버터플라이 트렐리스 각각에 대해 이진 버터플라이 동작을 수행하는 단계는, 제2지정 이진 버터플라이 트렐리스에 대해 이진 버터플라이 동작을 수행하는 단계를 포함하는데, 상기 단계는,
    제2지정 이진 버터플라이 트렐리스의 제1종료 노드로의 제1브랜치에 대한 제1후보 경로 미터를 결정하는 단계,
    제2지정 이진 버터플라이 트렐리스의 제1종료 노드로의 제2브랜치에 대한 제2후보 경로 미터를 결정하는 단계,
    제1종료 노드에 대한 제1 및 제2후보 경로 미터로부터 상기 제2지정 이진 버터플라이 트렐리스의 제1종료 노드에 가장 알맞은 제2경로 미터를 결정하는 단계,
    제2지정 이진 버터플라이 트렐리스의 제2종료 노드로의 제1브랜치에 대한 제1후보 경로 미터를 결정하는 단계,
    제2지정 이진 버터플라이 동작의 제2종료 노드로의 제2브랜치에 대한 제2후보 경로 미터를 결정하는 단계, 및
    제2종료 노드에 대한 제1 및 제2후보 경로 미터로부터 상기 제2지정 이진 버터플라이 트렐리스에 대한 제2종료 노드에 가장 알맞은 제2경로 미터를 결정하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  7. 제6항에 있어서, 비-이진 트렐리스의 각 노드와 연결되는 가장 알맞은 복수의 경로 미터를 비교하여 생존 경로를 선택하는 단계는,
    제1지정 이진 버터플라이 트렐리스의 제1종료 노드에 대해 가장 알맞은 제1경로 미터와, 제2지정 이진 버터플라이 트렐리스의 제1종료 노드에 대해 가장 알맞은 제2경로 미터를 비교하는 단계, 및
    제1종료 노드에 대해, 상기 제1의 가장 알맞은 경로 미터와 상기 제2의 가장 알맞은 경로 미터 중 가장 알맞은 값과 연결된 생존 경로를 선택하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  8. 제7항에 있어서, 비-이진 트렐리스의 각 노드와 연결되는 가장 알맞은 복수의 경로 미터를 비교하여 생존 경로를 선택하는 단계는,
    제1지정 이진 버터플라이 트렐리스의 제2종료 노드에 대해 가장 알맞은 제1경로 미터와, 제2지정 이진 버터플라이 트렐리스의 제2종료 노드에 대해 가장 알맞은 제2경로 미터를 비교하는 단계, 및
    제2종료 노드에 대해, 상기 제1의 가장 알맞은 경로 미터와 상기 제2의 가장 알맞은 경로 미터에서 가장 알맞은 값과 연결된 생존 경로를 선택하는 단계를 포함한는 것을 특징으로 하는 디코딩 방법.
  9. 제8항에 있어서,
    상기 제1종료 노드에 대한 상기 제1의 가장 알맞은 경로 미터와 상기 제2의 가장 알맞은 경로 미터에서 가장 알맞은 값과 일치하도록, 비-이진 트렐리스의 제1종료 노드에 대한 누적값을 결정하는 단계, 및
    상기 제2종료 노드에 대한 상기 제1의 가장 알맞은 경로 미터와 상기 제2의 가장 알맞은 경로 미터에서 가장 알맞은 값과 일치하도록, 비-이진 트렐리스의 제2종료 노드에 대한 누적값을 결정하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  10. 복수의 노드를 가진 비-이진 트렐리스에 의해 원시 데이터 신호를 판정하기 위한 채널 상으로 전송된 인코딩된 신호를 디코딩하는 장치에 있어서,
    제1프로세서로서, 이진 버터플라이 트렐리스에 대한 이진 버터플라이 동작을 수행하여, 이진 버터플라이 트렐리스의 각 노드와 연결된 가장 알맞은 경로 미터를 결정하는 제1프로세서, 및
    제2프로세서로서, 비-이진 트렐리스 내에 지정된 복수의 이진 버터플라이 트렐리스에서 이진 버터플라이 동작을 수행하도록 상기 제1프로세서에게 명령하여, 비-이진 트렐리스의 각 노드에 연결된 가장 알맞은 복수의 경로 미터를 비교하여 비-이진 트렐리스의 각 노드에 대한 생존 경로를 결정하는 제2프로세서를 포함하는 디코딩 장치.
  11. 제10항에 있어서, 상기 제1프로세서에 의해 결정된 이진 버터플라이 트렐리스의 각 노드에 연결되는 가장 알맞은 경로 미터를 저장하는 메모리를 더 포함하는 것을 특징으로 하는 디코딩 장치.
  12. 제11항에 있어서, 상기 제1프로세서가 이진 버터플라이 가속기인 것을 특징으로 하는 디코딩 장치.
  13. 제12항에 있어서, 상기 제2프로세서가 비-이진 트렐리스의 생존 경로로부터 원시 데이터 신호를 디코딩하는 것을 특징으로 하는 디코딩 장치.
  14. 채널상으로 전송된 인코딩된 신호를 디코딩하는 장치로서, 상기 인코딩된 신호는 비-이진 트렐리스에 의해 표현된 부호에 따라 전송하기 전에 인코딩되며, 상기 비-이진 트렐리스는 복수의 노드와 각 노드마다 두 개 이상의 브랜치를 갖는 디코딩 장치에 있어서,
    비-이진 트렐리스 내에 두 개의 연결 브랜치가 있는 노드를 가진 복수의 버터플라이 트렐리스를 지정하는 수단,
    지정된 이진 버터플라이 트렐리스 각각에 대한 이진 버터플라이 동작을 수행하여, 상기 지정된 이진 버터플라이 트렐리스의 각 노드와 연결된 가장 알맞은 경로 미터를 결정하여, 비-이진 트렐리스의 각 노드가 이것과 연결된 가장 알맞은 복수의 경로 미터를 가지게 되는 수단,
    상기 수단에 의해 결정된 비-이진 트렐리스의 노드에 연결되는 가장 알맞은 복수의 경로 미터를 비교하여 이진 버터플라이 동작을 수행하는 수단, 및
    비-이진 트렐리스의 노드에 대한 비-이진 트렐리스의 생존 경로를 선택하는 수단을 포함하는 것을 특징으로 하는 디코딩 장치.
  15. 제14항에 있어서, 지정된 이진 버터플라이 트렐리스의 각 노드와 연결된 가장 알맞은 경로 미터를 저장하는 수단을 더 포함하는 것을 특징으로 하는 디코딩 장치.
  16. 제15항에 있어서, 비-이진 트렐리스의 생존 경로로부터 원시 데이터 신호를 판정하는 수단을 더 포함하는 것을 특징으로 하는 디코딩 장치.
  17. 제16항에 있어서, 이진 버터플라이 동작을 수행하는 상기 수단이 이진 버터플라이 가속기를 포함하는 것을 특징으로 하는 디코딩 장치.
  18. 제17항에 있어서, 상기 비교 수단 및 선택 수단이 프로세서인 것을 특징으로 하는 디코딩 장치.
KR1020007007004A 1997-12-31 1998-12-22 버터플라이 동작을 이용한 비-이진 비터비 디코더 KR20010033503A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/002,563 US6115436A (en) 1997-12-31 1997-12-31 Non-binary viterbi decoder using butterfly operations
US9/002,563 1997-12-31
PCT/US1998/027346 WO1999034520A1 (en) 1997-12-31 1998-12-22 Non-binary viterbi decoder using butterfly operations

Publications (1)

Publication Number Publication Date
KR20010033503A true KR20010033503A (ko) 2001-04-25

Family

ID=21701358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007007004A KR20010033503A (ko) 1997-12-31 1998-12-22 버터플라이 동작을 이용한 비-이진 비터비 디코더

Country Status (9)

Country Link
US (1) US6115436A (ko)
EP (1) EP1044507B1 (ko)
JP (1) JP2002500463A (ko)
KR (1) KR20010033503A (ko)
CN (1) CN1283331A (ko)
AU (1) AU1942799A (ko)
CA (1) CA2316941A1 (ko)
DE (1) DE69834207T2 (ko)
WO (1) WO1999034520A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19926649A1 (de) * 1999-06-11 2000-12-14 Philips Corp Intellectual Pty Anordnung zur Trelliscodierung
EP1158683A1 (de) 2000-05-24 2001-11-28 Infineon Technologies AG Vorrichtung und Verfahren zum Durchführen eines Viterbi-Algorithmus
FI109162B (fi) 2000-06-30 2002-05-31 Nokia Corp Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
US7127664B2 (en) * 2000-09-18 2006-10-24 Lucent Technologies Inc. Reconfigurable architecture for decoding telecommunications signals
US6865710B2 (en) * 2000-09-18 2005-03-08 Lucent Technologies Inc. Butterfly processor for telecommunications
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
KR100408037B1 (ko) * 2001-03-03 2003-12-01 엘지전자 주식회사 비트 레벨 부호화/복호화 방법 및 장치
US7010052B2 (en) * 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
US6848074B2 (en) 2001-06-21 2005-01-25 Arc International Method and apparatus for implementing a single cycle operation in a data processing system
FI20020108A0 (fi) * 2002-01-21 2002-01-21 Nokia Corp Menetelmõ ja laite polkumetriikoiden muodostamiseksi trelliksessõ
US7139312B2 (en) * 2002-05-23 2006-11-21 Stmicroelectronics, Inc. System and method for improving coding gain performance within gigabit phy viterbi decoder
FI20021656A0 (fi) * 2002-09-16 2002-09-16 Nokia Corp Menetelmä ja järjestely dekoodauksen suorittamiseksi
TWI228654B (en) * 2003-07-11 2005-03-01 Mediatek Inc Non-binary Viterbi data processing system and method
US20080152044A1 (en) * 2006-12-20 2008-06-26 Media Tek Inc. Veterbi decoding method for convolutionally encoded signal
EP2518687B1 (en) * 2011-04-26 2013-04-24 FEI Company Method for determining a reconstructed image using a particle-optical apparatus
CN111181575B (zh) * 2019-12-19 2021-09-14 西南大学 一种基于反向蝶形计算的Turbo码译码器及处理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5068859A (en) * 1989-06-19 1991-11-26 California Institute Of Technology Large constraint length high speed viterbi decoder based on a modular hierarchial decomposition of the deBruijn graph
US5588028A (en) * 1993-02-02 1996-12-24 U.S. Robotics Simplified trellis decoder
US5539757A (en) * 1993-12-22 1996-07-23 At&T Corp. Error correction systems with modified Viterbi decoding
US5703911A (en) * 1995-08-17 1997-12-30 Chung-Chin Chen Decoding method for trellis codes with large free distances
DK9600410U3 (da) * 1996-11-18 1998-03-13 Polysheet As Forankringsindretning

Also Published As

Publication number Publication date
DE69834207T2 (de) 2007-01-04
AU1942799A (en) 1999-07-19
US6115436A (en) 2000-09-05
CA2316941A1 (en) 1999-07-08
CN1283331A (zh) 2001-02-07
EP1044507B1 (en) 2006-04-12
WO1999034520A1 (en) 1999-07-08
JP2002500463A (ja) 2002-01-08
EP1044507A1 (en) 2000-10-18
DE69834207D1 (de) 2006-05-24

Similar Documents

Publication Publication Date Title
US6711213B2 (en) Implementing reduced-state viterbi detectors
KR20010033503A (ko) 버터플라이 동작을 이용한 비-이진 비터비 디코더
US4606027A (en) Error correction apparatus using a Viterbi decoder
US4545054A (en) Diode-configured Viterbi algorithm error correcting decoder for convolutional codes
US6148431A (en) Add compare select circuit and method implementing a viterbi algorithm
US5331665A (en) Decoder device for decoding convolutionally encoded message
WO2002095955A1 (en) Method of decoding a variable-length codeword sequence
US5878092A (en) Trace-back method and apparatus for use in a viterbi decoder
JPH07221655A (ja) 通信システムおよび情報処理方法
US5150369A (en) High-speed convolutional decoder
US5930298A (en) Viterbi decoder for decoding depunctured code
JPH0316046B2 (ko)
EP3996285A1 (en) Parallel backtracking in viterbi decoder
US5257263A (en) Circuit for decoding convolutional codes for executing the survivor path storage and reverse scanning stage of a Viterbi algorithm
US5657333A (en) Method and apparatus for error-control coding in a digital data communication system
US5944849A (en) Method and system capable of correcting an error without an increase of hardware
KR19990043406A (ko) 트렐리스 코드 데이터의 생존 경로 역추적 장치
KR970008419B1 (ko) 에이치디티브이(hdtv)용 비터비 디코더
KR0185925B1 (ko) 비터비알고리즘에 흔적삭제방법을 이용하는 복호화방법 및 그 장치
KR100210405B1 (ko) 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치
KR100258234B1 (ko) 트렐리스 코드 데이터의 생존 경로 저장 장치
JP3530447B2 (ja) ビタビ復号装置
JPH04373313A (ja) 復号装置
JPH02196524A (ja) ビタビ復号方式
Skoglund An approach to vector quantization over binary Gaussian channels with intersymbol interference

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid