KR100491016B1 - 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법 - Google Patents

역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법 Download PDF

Info

Publication number
KR100491016B1
KR100491016B1 KR10-2003-0062767A KR20030062767A KR100491016B1 KR 100491016 B1 KR100491016 B1 KR 100491016B1 KR 20030062767 A KR20030062767 A KR 20030062767A KR 100491016 B1 KR100491016 B1 KR 100491016B1
Authority
KR
South Korea
Prior art keywords
state transition
memory
reverse
information
control unit
Prior art date
Application number
KR10-2003-0062767A
Other languages
English (en)
Other versions
KR20050025829A (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-2003-0062767A priority Critical patent/KR100491016B1/ko
Publication of KR20050025829A publication Critical patent/KR20050025829A/ko
Application granted granted Critical
Publication of KR100491016B1 publication Critical patent/KR100491016B1/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/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
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

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

Abstract

역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기에 관한 것으로, 생존 메모리, 다수 단의 역방향 상태 천이 제어부, 다수단의 상태 천이 메모리, 및 다수결 결정논리 복호부를 포함하고, 상기 생존 메모리는 ACSU로부터의 결정 비트를 병렬로 입력하고, 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 생존 경로 정보를 상기 역방향 상태 천이 제어부로 출력하고, 상기 역방향 상태 천이 제어부는 상기 생존 메모리에 저장되어 있는 생존경로 정보와 상기 상태 천이 메모리에 저장되어 있는 상태 천이 정보를 입력으로 하고, 이에 기초하여 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 역방향 상태 천이 제어 정보를 상기 상태 천이 메모리 또는 다수결 결정논리 복호부로 출력하고, 상기 상태 천이 메모리는 상태 천이 정보를 저장함과 동시에 상기 역방향 상태 천이 제어부로 출력하고, 상기 다수결 결정논리 복호부는 상기 역방향 상태 천이 제어부로부터 역방향 상태 천이 제어 정보를 입력하여 다수결 결정논리에 의하여 복호한다.

Description

역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기 및 그 방법{Trace-Back Viterbi Decoder with Consecutive Control of Backward State Transition and Method thereof}
본 발명은 결정 비트(decision bit)를 기반으로 역방향 상태 천이의 연속적인 제어에 의한 순서적 복호를 가능하게 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기 및 그 방법에 관한 것이다.
통신 기술의 진전에 따라 데이터 전송 속도의 고속화가 이루어져 수십 Mbps급의 유선 및 무선 통신 시스템의 실용화가 이미 이루어지고 있다. 또한, 최근에는 100Mbps 이상의 유선 및 무선 통신 시스템을 구현하기 위하여 인접 채널간의 신호간 간섭이나 멀티패스 페이딩(multipath fading) 등의 영향을 억제할 수 있는 보다 강인한 채널 오류의 검출과 정정의 성능을 갖는 부호기(encoder) 및 복호기 (decoder)에 대한 연구가 많이 이루어지고 있다.
채널 오류의 검출과 정정을 할 수 있는 부호기로서 길쌈 부호기는 그 구조가 간단하고, 높은 부호 이득의 가변 전송율을 구현하고, 최적 복호를 가능하게 하는 것으로 알려져 있다.
그 중에서 비터비 알고리즘(Viterbi Algorithm : VA)은 길쌈 부호기에 의한 채널 부호의 최적 복호를 구현하는 방법으로, 채널 오류의 검출 및 정정뿐만 아니라 채널 등화(channel equalization) 및 심볼간 간섭의 제거를 할 수 있어서 유선 및 무선 통신 시스템뿐만 아니라 저장 매체에 데이터를 기록하고 재생하는 시스템 등에 다양하게 응용되고 있다.
도 1은 종래의 비터비 알고리즘에 의한 비터비 복호기를 개략적으로 나타내는 블록도이다.
도 1에 나타난 것과 같이, 종래의 비터비 복호기는 일반적으로 가지 메트릭 유닛(Branch Metrics Unit : BMU)(110), ACSU(Add-Compare-Select Unit)(120), 생존 메모리 유닛(Survior Memory Unit : SMU)(130), LIFO(Last In First Out) 버퍼(140), 및 래치(latch)(150)로 구성되어 있다.
비터비 복호기에 의해 수신된 채널 잡음이 부가되어 있는 수신 데이터 열로부터 부호기의 입력 정보 를 최적 복호하는 비터비 알고리즘은 부호기에 의해 송신된 송신 데이터 와의 유사성에 따라 수학식 1과 같이 연산된 메트릭 (metric) 값이 최소인 경로를 선택하는 것이다.
여기서, 는 사이클 타임 번째 상태 에서 후술될 ACSU(120)에서 이루어지는 ACS(Add Compare Selection) 사이클 타임 상태 로 천이되는 경우의 가지 메트릭으로 이는 상태 에 입력되는 번째 가지(branch)의 메트릭에 해당된다.
따라서, BMU(110)는 비터비 복호의 과정에 있어서 가지 메트릭 의 연산을 수행하여 ACSU(120)에 입력한다. 이 가지 메트릭 의 연산에는 유클리드 거리(Euclid distance)나 해밍 거리(Hamming distance) 등이 연판정(soft decision) 또는 경판정(hard decision)의 적용에 따라 구분되어 사용된다.
ACSU(120)는 다음의 경로 메트릭의 연산과 생존경로의 결정 및 이에 관한 결정 정보를 출력한다. ACSU(120)에 의한 임의의 ACS 사이클 타임에서 특정 상태에 이르기까지의 최소 생존경로를 따라 누적된 가지 메트릭을 경로 메트릭(또는, "상태 메트릭"이라고도 함)라 한다. ACSU(120)에 의한 ACS 사이클 타임 번째 경로 메트릭을 이라 하면, ACSU(120)에 의한 ACS 사이클 타임 번째 상태와 번째 상태로부터 천이되는 경우의 경로 메트릭 는 ACSU(120)에 의한 ACS 사이클 타임 에서 경로 메트릭과 이 상태에 이르게 하는 가지 메트릭의 합이 최소가 되는 경로 및 가지 메트릭으로 다음의 수학식 2와 같이 주어진다.
각 상태의 경로 메트릭 는 ACSU(120)에 의한 다음 ACS 사이클 타임에서의 생존경로를 결정하는데 이용하기 위해 래치(150)를 사용해서 저장된다. 각 사이클 타임마다 각 상태에 도달하는 경로 중에서 최소의 경로 메트릭의 경로를 생존경로라 하고 이를 식별하는 정보를 결정 비트라 한다. 즉, ACSU(120)에 의한 ACS 사이클 타임 에서의 번째 생존경로에 대한 결정 비트를 라 하면, 이는 경로의 가지 메트릭이 ACSU(120)에 의한 ACS 사이클 타임 의 상태에서 ACS 사이클 타임 의 상태로 천이가 이루어짐으로써, 도 2에 나타난 구속장 인 m개의 천이 레지스터(210)와 2개의 부호기 생성다항식(220-1, 220-2)으로 구성된 길쌈부호기의 천이 레지스터에서 빠져나와 비터비 복호기에 입력되는 입력 정보에 해당된다.
생존 메모리 유닛(130)은 비터비 알고리즘에 의한 복호의 과정에서 ACSU (120)로부터의 결정 비트를 메모리에 저장하고 역추적을 하거나 ACSU(120)에 의한 매 ACS 사이클 타임마다 메모리의 내용을 교환함으로써 최소 메트릭의 생존경로를 추적하여 송신된 정보를 복호한다.
LIFO(Last In First Out) 버퍼(140)는 생존 메모리 유닛(130)에 의해 복호가 이루어진 정보를 버퍼링(buffering)하고, 입력의 역순으로 출력한다.
상기한 것과 같이 비터비 알고리즘에 의한 복호 속도는 ACSU(120)에 의한 ACS의 반복 연산과 최적 경로의 탐색에 요구되는 연속적인 생존 메모리의 제어에 의해 제한된다. 따라서, 소비 전력을 감소시키고 시스템 통합 칩(chip) 내에 비터비 복호기를 내장시키기 위해서는 ACSU(120)뿐만 아니라, 시스템 통합 칩 내의 점유 공간의 면적을 줄일 수 있는 영역 효율성(area efficiency)이 요구된다.
이러한 비터비 복호기 구현을 위한 생존 메모리(Survivor Memory : SM) 제어는 생존경로의 저장에 사용되는 메모리의 구성에 따라 레지스터 교환(register exchange) 방식과 역추적 (trace-back) 방식으로 분류된다.
레지스터 교환 방식은 레지스터를 사용하여 각 상태의 생존경로에 관한 정보를 저장하고, ACS 사이클 타임마다 저장된 전체 레지스터의 정보를 갱신하여 복호하는 방식이다. 이 레지스터 교환 방식은 복호 지연 시간, 메모리 크기, 배열 규칙성(regularity) 등의 변수들이 복호에 영향을 크게 미치는 시스템에 주로 사용되고 있다. 즉, 레지스터 교환 방식은 생존 메모리의 제어 구조가 비교적 간단하여 구속장이 짧은 채널 부호기의 복호에 보편적으로 사용된다. 그러나, 레지스터 교환 방식은 복호 과정의 매 ACS 사이클 타임마다, 전체 레지스터의 값을 교환하여야 하므로 광대역의 메모리 억세스 대역폭이 필요하게 되어, 소비 전력이 증가하게 되고 VLSI 구현시 칩 크기가 증가하는 문제가 있다.
역추적 방식은 일정한 크기의 메모리에 각 상태의 생존경로에 관한 정보를 저장한 후, 역추적 방식으로 다수결 결정논리 추정(majority logic estimation)에 의해 경로를 탐색하여 복호하는 방식이다. 이 역추적 방식은 구속장이 비교적 크고 높은 부호 이득이 요구되는 시스템에 주로 사용된다. 또한, 역추적 방식은 온 칩(on chip) 레지스터 대신에 RAM(Random Access Memory)과 같은 외부 메모리를 사용한 구현이 가능하고 전력 소모가 레지스터 교환 방식에 비해 적은 이점을 보유하고 있어서 많이 비터비 복호기의 생존 메모리 제어를 위해 사용되고 있다.
도 3은 도 1에 나타낸 종래의 비터비 복호기에 있어서 역추적 방식으로 복호하기 위한 생존 메모리 유닛을 나타내는 도이다.
도 3에 나타낸 것과 같이, 생존 메모리 유닛(130)은 생존 메모리(310), 역추적 상태 추정부(320), 상태 통합 및 복호를 하기 위한 결정부(330), 및 메모리 어드레스 및 제어신호를 생성하기 위한 메모리 어드레스 및 제어 신호 생성부(340)로 구성되어 있다.
생존 메모리(310)는 도 1에 나타낸 것과 같은 ACSU(120)로부터의 결정 정보를 저장하고 메모리 어드레스 및 제어 신호 생성부(340)로부터의 메모리 어드레스 및 제어 신호에 의해 역추적 상태 추정부(320)로 역추정 상태 추정에 필요한 역추정 상태 추정 정보를 출력한다. 역추적 상태 추정부(320)는 생존 메모리(310)로부터의 역추적 상태 추정 정보에 기초하여 역추정 상태 추적을 하고, 그 결과를 상태 통합 및 복호를 위한 결정을 하는 결정부(330)와 메모리 어드레스 및 제어 신호 생성부(340)로 출력한다. 결정부(330)는 역추적 상태 추정부(320)로부터의 결과를 입력하여 상태 통합 및 복호를 위한 결정을 하고, 그 결과를 도 1에 나타낸 것과 같이 LIFO 버퍼(140)와 메모리 어드레스 및 제어 신호 생성부(340)로 출력한다. 메모리 어드레스 및 제어 신호 생성부(340)는 역추적 상태 추정부(320)로부터의 역추정 상태 추정 정보와 결정부(330)로부터의 결과에 기초하여 메모리 어드레스 및 제어신호를 생성한다.
이와 같이, 역추적 방식에 의한 복호 과정에서 최적 생존경로의 결정은 복호 깊이 이상으로 경로 메모리를 역추적하면, 역추적이 시작되는 시점의 모든 상태는 공통된 하나의 최적 상태로 통합될 확률이 매우 높다. 즉, 모든 생존경로는 이상의 경로를 역추적하면 모든 상태는 하나의 최적 상태로 통합될 확률이 매우 높다. 따라서, 임의의 ACS 사이클 타임 의 모든 상태로부터 ACS 사이클 타임 동안 역추적하면, 이들 상태는 다수결 결정 논리 추정의 의미에서 ACS 사이클 타임 에서 최적 경로가 되는 하나의 상태로 통합되는 것이다.
일반적인 역추적 방식에 의한 복호는 생존경로의 결정에 관한 정보인 결정 비트 를 기반으로 하여, 역순으로 생존경로의 갱신과 복호를 동시에 수행한다. 즉, 현재 상태 에서 그 전의 상태 의 추정은 다음의 수학식 3에 의해 이루어진다.
여기서, 함수 은 생존경로의 트렐리스(trellis) 구조와 수신 비트열에 의해 좌우된다. 이와 같은 역추적 방식에 의한 복호 과정은 연속적인 복호를 위해서는, 저장된 생존경로의 결정에 관한 정보를 읽어내서 역방향으로 상태간의 경로를 추정하고, 역추적과 비슷하며 추적된 경로에 대응하는 부호화된 정보를 최종적으로 복호하고, ACSU로부터의 각 상태의 생존경로에 관한 결정 비트를 생존 메모리에 저장하는 과정에 ACSU로부터의 생존경로에 관한 결정 비트 를 기반으로 하여 역방향의 상태 천이를 연속적으로 제어함으로서 간단한 구조의 역추적 복호를 구현하기 위하여 새로운 생존경로 결정에 관한 정보의 저장하는 3가지 과정이 하나의 ACS 사이클 타임 동안에 동시에 이루어져야 한다. 여기서, 새로운 생존경로 결정에 관한 정보를 저장하기 위해 먼저 사이클 타임 의 임의의 상태로부터 직전의 사이클 타임 의 과거 상태로 복귀하는데 필요한 매핑 관계를 조사하는 것이 필요하다.
역추적 방식의 복호 과정에서 ACS 사이클 타임 , 상태 의 생존경로를 나타내는 결정 비트 는 부호기의 레지스터로부터 천이되어 빠져나가는 정보 과 동일한 값으로 다음의 수학식 4와 같이 된다.
따라서, 사이클 타임 , 번째 상태 로부터 한 사이클 타임 전의 역방향 상태 로의 역추적은 다음의 수학식 5와 같이 이루어진다.
이 과정을 복호 깊이 이상 반복하게 되면 사이클 타임 에서 하나의 상태로 통합될 확률이 매우 높고, 이 때 모든 N개의 상태는 하나의 상태 값으로 동일한 비트 정보를 나타낸다.
이와 같이 역추적 방식을 이용하여 높은 스루풋(throughput) 및 영역 효율성을 갖는 구조에 대한 많은 연구가 진행되어 왔다. 대표적인 방식으로 다음과 같은 것이 있다. 「O. Collins and F. Pollara, "Memory management in trace back Viterbi decoders," TDA Prog. Rep. 42-99, JPL, Nov. 1989.」에 개시된 것과 같이, 멀티프로세서 비터비 복호기 구현을 위한 방식으로 3개의 메모리 버퍼를 사용한 3-포인터 역추적 복호 방식, 「C. M. Radar, "Memory management in a Viterbi algorithm," IEEE Trans. Commun., vol. 29, pp. 1399 - 1401, Sep. 1981.」에 개시된 것과 같이, 경로 메모리에 저장된 데이터를 메모리 어드레싱의 포인터로 사용하는 방식,「G. Feygin and P. G. Gulak, " Architectural tradeoffs for survivor sequence memory management in Viterbi decoders," IEEE Trans. Commun., vol. 41, no. 3, pp. 425 - 429, March 1993.」에 개시된 것과 같이, 일반화된 k-포인터 알고리즘에 의한 생존 메모리 어드레싱(addressing) 방식, 「P. J. Black and T.H. Meng, "Hybrid survivor path architecture for Viterbi decoders," In Proc. Int. Conference on Acoustics, Speech, and Signal Processing 93 (ICASSP'93), pp. 433 - 436, Nov. 1993.」에 개시된 것과 같이, 높은 스루풋(throughput)의 달성과 칩 내 점유 면적의 비율을 줄이기 위한 방식으로 레지스터 교환에 의한 전처리와 역추적에 의한 복호 방식을 적용한 혼합 방식 등이 있다.
이상과 같은 다양한 방식에 제시된 것과 같이, 종래의 역추적 방식에 의한 복호는 상태의 수가 많은 경우, 즉 구속장 가 큰 경우 칩 크기 및 전력소모 등의 면에서 뛰어나지만, 그 특성상 사용되는 메모리 크기가 방대해지고, 생존경로에 관한 정보의 저장과 역추적 및 복호 등의 과정이 동시에 수행되어야 하므로, 메모리 억세스를 위한 제어가 복잡하게 될 뿐만 아니라 복호에 있어서 지연 시간이 길어지는 근본적인 제약을 동반하고 있다. 또한, 생존 메모리 제어를 위한 별도의 회로가 요구되는 문제가 있다.
본 발명은 상기한 종래의 역추적 비터비 복호기의 문제점을 개선하고 VLSI 칩 구현을 보다 용이하게 할 수 있도록 하기 위하여, 역추적 방식의 복호에 필요한 생존 메모리가 고정되고 축소되며, 복호 과정에 메모리 어드레싱을 단순 천이(shift) 동작만으로 가능하게 함으로써 메모리 어드레싱을 위한 별도의 논리회로가 요구되지 않는, 결정 비트(decision bit)를 기반으로 역방향 상태 천이의 연속적인 제어에 의한 순서적 복호를 가능하게 하는, 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기 및 그 방법에 관한 것이다.
상기의 목적을 달성하기 위하여, 본 발명은 생존 메모리, 다수 단의 역방향 상태 천이 제어부, 다수단의 상태 천이 메모리, 및 다수결 결정논리 복호부를 포함하고, 상기 생존 메모리는 ACSU로부터의 결정 비트를 병렬로 입력하고, 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 생존 경로 정보를 상기 역방향 상태 천이 제어부로 출력하고, 상기 역방향 상태 천이 제어부는 상기 생존 메모리에 저장되어 있는 생존경로 정보와 상기 상태 천이 메모리에 저장되어 있는 상태 천이 정보를 입력으로 하고, 이에 기초하여 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 역방향 상태 천이 제어 정보를 상기 상태 천이 메모리 또는 다수결 결정논리 복호부로 출력하고, 상기 상태 천이 메모리는 상태 천이 정보를 저장함과 동시에 상기 역방향 상태 천이 제어부로 출력하고, 상기 다수결 결정논리 복호부는 상기 역방향 상태 천이 제어부로부터 역방향 상태 천이 제어 정보를 입력하여 다수결 결정논리에 의하여 복호하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기이다.
따라서, 본 발명에 의하면, 복호에 필요한 생존 메모리가 고정되고 축소되며, 복호 과정에 메모리 어드레싱을 단순 천이 동작만으로 가능하게 함으로써 메모리 어드레싱을 위한 별도의 논리회로가 요구되지 않는, 결정 비트를 기반으로 역방향 상태 천이의 연속적인 제어에 의한 순서적 복호가 가능하게 된다.
이하, 본 발명에 따른 실시예를 첨부 도면을 참조하여 상세하게 설명한다.
도 4는 본 발명에 따른 역추적 복호기의 생존 메모리 유닛을 나타낸 블록도이다.
도 4에 나타낸 것과 같이, 역추적 복호기의 생존 메모리 유닛은 생존 메모리(410), 각 상태의 역방향의 연속적인 상태 천이를 제어하는 역방향 상태 천이 제어부(420), 상태 천이 메모리(430), 및 다수결 결정에 의한 복호를 수행하는 다수결 결정논리 복호부(majority logic decoding part)(440)로 구성되어 있다.
생존 메모리(410)는, 도 1에 나타낸 것과 같은 ACSU(120)로부터의 결정 비트를 입력하여 저장한다. 그리고, 생존 메모리(410)는 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 생존 경로 정보를 역방향 상태 천이 제어부(420)로 출력한다.
역방향 상태 천이 제어부(420)는 ACSU(120)의 ACS 사이클 타임에 동기되어 생존 메모리(410)에 저장되어 있는 결정 비트인 생존경로 정보와 상태 천이 메모리(430)에 저장되어 있는 상태 천이 정보를 수신하고, 이에 기초하여 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 역방향 상태 천이 제어 정보를 상태 천이 메모리(430)로 출력한다. 이때, 마지막에는 역방향 상태 천이 제어부(420)는 이 역방향 상태 천이 제어 정보를 다수결 결정논리 복호부(440)로 출력한다.
상태 천이 메모리(430)는 ACSU(120)의 ACS 사이클 타임에 동기되어, 처음에는 ACSU(120)으로부터의 결정 비트와 미리 설정되어 있는 초기 상태 천이 정보에 의하고, 나중에는 역방향 상태 천이 제어부(420)로부터의 역방향 상태 천이 제어 정보와 이전에 상태 천이 메모리(430)에 저장되어 있는 상태 천이 정보에 의하여 상태 천이 정보를 저장하고 역방향 상태 천이 제어부(420)로 출력하다.
다수결 결정논리 복호부(440)에서는 역방향 상태 천이 제어부(430)로부터 마지막에 출력되는 역방향 상태 천이 제어 정보에 기초하여 다수결 결정에 따라 자동으로 복호가 이루어진다. 이와 같이 복호가 이루어진 복호 비트는 도 1에 나타낸 것과 같은 LIFO 버퍼(140)로 출력된다.
도 5는 도 4에 나타낸 본 발명에 따른 역추적 복호기의 생존 메모리 유닛의 상세 회로 구성도이다.
도 5에 나타낸 것과 같이, 역추적 복호기의 생존 메모리 유닛은 시프트 레지스터로 이루어진 생존 메모리(510), 다수 단의 병렬 멀티플렉서 (multiplexer : MUX)로 구성되고 각 상태의 역방향의 연속적인 상태 천이를 제어하는 역방향 상태 천이 제어부(520), 다수 단의 상태 천이 메모리(530), 및 다수결 결정에 의한 복호를 수행하는 다수결 결정논리 복호부(majority logic decoding part)(540)로 구성되어 있다.
생존 메모리(510)는, 구속장이 이고 레지스터의 수가 인 길쌈 부호기에서 상태수 으로 주어지는 경우, 도 1에 나타낸 것과 같은 ACSU(120)로부터의 결정 비트 를 병렬로 입력하여 저장하는데, 이때 ACSU(120)의 ACS 사이클 타임에 동기되어 생존 메모리(510)는 우측으로 단순 시프트 된다. 그리고, 생존 메모리(510)는 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 생존 경로 정보를 다수 단의 병렬 멀티플렉서로 구성된 역방향 상태 천이 제어부(520)로 출력한다.
역방향 상태 천이 제어부(520)는 ACSU(120)의 ACS 사이클 타임에 동기되어 생존 메모리(510)에 저장되어 있는 결정 비트인 생존경로 정보와 상태 천이 메모리(530)에 저장되어 있는 상태 천이 정보를 수신하고, 이에 기초하여 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 역방향 상태 천이 제어 정보를 다음 단의 상태 천이 메모리(530)로 출력한다. 이때, 마지막 단의 역방향 상태 천이 제어부(520)는 이 역방향 상태 천이 제어 정보를 다수결 결정논리 복호부 (540)로 출력한다.
상태 천이 메모리(530)는 ACSU(120)의 ACS 사이클 타임에 동기되어, 처음 단에서는 ACSU(120)으로부터의 결정 비트와 미리 설정되어 있는 초기 상태 천이 정보에 의하고, 다음 단에서는 역방향 상태 천이 제어부(520)로부터의 역방향 상태 천이 제어 정보와 이전 단의 상태 천이 메모리(530)에 저장되어 있는 상태 천이 정보에 의하여 상태 천이 정보를 저장하고 역방향 상태 천이 제어부(520)로 출력하다.
다수결 결정논리 복호부(540)에서 마지막 단의 역방향 상태 천이 제어부 (520)로부터의 역방향 상태 천이 제어 정보에 기초하여 다수결 결정에 따라 자동으로 복호가 이루어지고, 이와 같이 복호가 이루어진 복호 비트는 도 1에 나타낸 것과 같은 LIFO 버퍼(140)로 출력된다.
도 6은 도 5에 나타낸 역방향 상태 천이 제어부(520)와 상태 천이 메모리 (530)의 관계를 나타내는 상세 회로 구성도이다.
도 6은 ACSU(120)의 임의의 ACS 사이클 타임 의 결정 비트 번째 상태 천이 메모리(630)에 저장된 에 의해 역방향으로 다음 상태 의 값이 자동으로 정해지는 회로 구성이다. 즉, 개의 MUX로 이루어진 역방향 상태 천이 제어부(620)의 역방향 상태 천이 제어 신호를 사용하여 개의 결정 비트 중에서 하나를 선택하여 출력 하고, 이를 역방향의 다음 상태 의 MSB(Most Significant Bit)의 위치에 입력된다. 이와 동시에 개의 값 중에서 LSB(Least Significant Bit)를 제외한 개의 값이 의 MSB를 제외한 의 위치에 그대로 입력되도록 한다.
도 7은 본 발명에 따른 역추적 복호기의 생존 메모리 유닛을 시스톨릭 (systolic) 배열 구조에 의한 회로 구성의 블록도이다.
도 7에 나타낸 것과 같이, 생존 메모리 유닛은 개의 단위로 구성된 생존 메모리, 상태 천이 메모리 및 역방향 상태 천이 제어부(Survior Memory, Backward State Transition Memory and Backward State Transition Control Part : SM & STM & BSTC)(710-(k-2), 710-(k-4),...,710-(k-M+2))와 다수결 결정논리 복호부(740)로 구성된다. 여기서, 은 복호 깊이를 나타내는 계수이고, 구속장 에 좌우되는 값으로 의 값으로 정해진다. 도 7의 시스톨릭 배열 구조에서 입력은 ACSU(미도시)의 ACS 각 사이클 타임마다 각 상태의 생존 경로에 관한 정보를 나타내는 결정 비트 와 상태 메모리의 초기값 이고, 출력은 다수결 결정으로 복호된 비트이다. 이와 같이 역추적 복호 과정은 파이프라인(pipe line) 형태의 레지스터 배열 구조로부터 입력단에서 출력단으로 ACS 사이클 타임에 동기되어 연속적으로 처리된다.
따라서, ACSU(120)의 ACS 각 사이클 타임에서 전체 역추적 과정이 완료될 때까지 기다려야 하는 기존의 역추적 기법과 달리, 본 발명에 의한 시스톨릭 배열 (systolic array) 구조의 역추적 복호에서는 하나의 ACS 사이클 타임을 갖는 클럭만으로 처리할 수 있다. 종래의 역추적 비터비 복호에서는 역추적, 복호 및 결정 비트의 저장, LIFO 버퍼에서의 시간 지연 등으로 전체적으로 약 정도의 지연 시간이 소요되는데 비하여, 본 발명에 의한 비터비 복호기는 시간 지연으로 고정된다. 따라서, 본 발명에 의한 비터비 복호는 종래의 역추적 방식보다 복호에 따른 지연 시간의 양을 줄일 수 있다.
도 8은 도 7에 나타낸 역추적 복호기의 생존 메모리 유닛의 SM & STM & BSTC의 내부 회로 구성도이다.
도 8에 나타낸 것과 같이, 역추적 복호기의 생존 메모리 유닛의 SM & STM & BSTC는 2개의 병렬 생존 메모리(810), MUX로 이루어진 역방향 상태 천이 제어부(820) 및 상태 천이 메모리(830)로 구성되어 있다. 따라서, 하나의 상태 천이 메모리(830)의 변화는 2개의 병렬 생존 메모리(810)의 천이에 대응하도록 해서 마지막 단에서 2개의 병렬 생존 메모리(810)와 상태 천이 메모리(830)의 천이 시간이 정확하게 동기가 되어 일치되도록 한다.
이상에서 설명한 것과 같이 본 발명에 따른 역추적 복호기에 의한 복호 과정은 개략적으로 살펴보면 다음과 같다.
우선, 생존 메모리 및 상태 메모리 의 초기화와 사이클 타임 으로 초기화하는 초기화 단계를 수행한다.
그리고, 수신 부호어에 따라 가지 메트릭 유닛 및 생존 메모리 유닛에서 가지 메트릭 및 경로 메트릭을 계산하고 결정 비트를 출력하는 결정 비트 출력 단계를 수행한다.
그리고, 결정 비트를 생존 메모리에 크기 이 될 때까지 를 증가시키면서 결정 비트 출력 단계를 반복하면서 결정 비트를 저장한다. 이 때, 생존 메모리는 매 ACS 사이클 타임마다 우측으로 단순히 시프트 됨으로써 입력되는 결정 비트의 위치는 가장 좌측의 생존 메모리에 고정된다.
그리고, 이면, 우선, 생존 메모리의 시프트와 결정 비트를 저장하는 결정 비트 저장 단계를 수행하고, 각 상태의 상태 천이 값을 역방향으로의 역추적을 개시하는 역추적 개시 단계를 수행한다. 이때 역방향 상태 추적의 초기값은 다음의 수학식 6과 같이 각 상태에 따라 주어진다.
이때 ACS가 처리되는 매 ACS 사이클 타임마다 각 상태의 역추적은 다음의 수학식 7과 같이 이루어진다.
여기서, 의 상태 천이 값을 역추적 상태 천이 제어 신호로 사용하고, 결정 비트를 입력으로 한 MUX에 의해 선정된 결정 비트 이다.
그리고, 의 마지막 단에서 상태 메모리에 저장된 각 상태 천이 값을 비교하는 상태 천이 값 비교 단계를 수행한다. 이때 상태 통합이 발생한 경우에는 상태 천이 메모리의 모든 상태 천이 값은 동일한 값을 가지게 되고, 상태 통합이 일어나지 않는 경우에는 복호 오류의 발생 확률이 높은 것으로 된다. 이 경우 다수결 결정논리에 의한 복호(majority logic decoding), 즉, 동일한 값을 갖는 다수의 상태 천이 값을 통합된 최종 상태로 판단하여 복호한다. 이와 같이 복호되어 출력되는 정보 는 상태 천이 값를 나타내는 비트 중 의 MSB이다. 단, 첫 번째 출력되는 상태 천이 값은 제외한다.
이상의 복호 과정으로부터 수신 데이터는 생존 메모리의 크기에 대응하는 사이클 타임 이후부터 매 ACS 사이클 타임에 동기가 되어 복호되고, 복호 지연 시간은 생존 메모리의 크기인 사이클 타임으로 고정된다.
상기한 것과 같이 본 발명은, 생존 메모리 유닛에서 ACS 사이클 타임에 동기된 클럭을 사용하여 전체 복호 과정을 수행할 수 있다. 또, 결정 비트를 생존 메모리에 저장시키기 위한 별도의 제어 회로가 필요 없고 단순히 메모리의 시프트 동작만으로 충분하다. 또, 저장된 결정 비트를 읽어내기 위한 독출 포인터(read pointer)나 복호 독출(decode read)을 위한 과정이 필요 없다. 또, 각 ACS 사이클 타임에서 최소 생존 경로 메트릭의 상태를 검출하기 위한 비교기의 사용이 필요 없어 회로 구성이 간단하다. 또, 생존 메모리에 사용되는 메모리의 양이 종래의 역추적 방식보다 적게 사용된다. 또, 생존 경로에 관한 정보의 단순 천이 동작으로 복호 과정이 이루어지므로 메모리 억세스를 위한 대역폭을 줄일 수 있어서 칩 설계에서 영역 효율성이 높고 전력 소모가 적다.
도 1은 종래의 비터비 알고리즘에 의한 비터비 복호기를 개략적으로 나타내는 블록도이다.
도 2는 구속장 인 m개의 천이 레지스터와 2개의 부호기 생성다항식으로 구성된 길쌈부호기의 구성도이다.
도 3은 도 1에 나타낸 종래의 비터비 복호기에 있어서 역추적 방식으로 복호하기 위한 생존 메모리 유닛을 나타내는 도이다.
도 4는 본 발명에 따른 역추적 복호기의 생존 메모리 유닛을 나타낸 블록도이다.
도 5는 도 4에 나타낸 본 발명에 따른 역추적 복호기의 생존 메모리 유닛의 상세 회로 구성도이다.
도 6은 도 5에 나타낸 역방향 상태 천이 제어부(520)와 상태 천이 메모리 (530)의 관계를 나타내는 상세 회로 구성도이다.
도 7은 본 발명에 따른 역추적 복호기의 생존 메모리 유닛을 시스톨릭 배열 구조에 의한 회로 구성의 블록도이다.
도 8은 도 7에 나타낸 역추적 복호기의 생존 메모리 유닛의 SM & BSTC부의 내부 회로 구성도이다.
<도면의 주요 부분에 대한 설명>
410, 510, 710 생존 메모리
420, 520, 620, 720 상태 천이 제어부
430, 530, 630, 730 상태 천이 메모리
440, 540 다수결 결정논리 복호부

Claims (8)

  1. 생존 메모리, 다수 단의 역방향 상태 천이 제어부, 다수단의 상태 천이 메모리, 및 다수결 결정논리 복호부를 포함하고,
    상기 생존 메모리는 ACSU로부터의 결정 비트를 병렬로 입력하고, 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 생존 경로 정보를 상기 역방향 상태 천이 제어부로 출력하고,
    상기 역방향 상태 천이 제어부는 상기 생존 메모리에 저장되어 있는 생존경로 정보와 상기 상태 천이 메모리에 저장되어 있는 상태 천이 정보를 입력으로 하고, 이에 기초하여 각 상태의 역방향의 연속적인 상태 천이를 제어하는데 필요한 역방향 상태 천이 제어 정보를 상기 상태 천이 메모리 또는 다수결 결정논리 복호부로 출력하고,
    상기 상태 천이 메모리는 상태 천이 정보를 저장함과 동시에 상기 역방향 상태 천이 제어부로 출력하고,
    상기 다수결 결정논리 복호부는 상기 역방향 상태 천이 제어부로부터 역방향 상태 천이 제어 정보를 입력하여 다수결 결정논리에 의하여 복호하는 것을 특징으로 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기.
  2. 제 1항에 있어서,
    상기 역방향 상태 천이 제어부가 역방향 상태 천이 제어 정보를 상기 상태 천이 메모리로 출력하는 경우는 상기 역방향 상태 천이 제어부 마지막 단 이전인 것을 특징으로 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기.
  3. 제 1항에 있어서,
    상기 역방향 상태 천이 제어부가 역방향 상태 천이 제어 정보를 상기 다수결 결정논리 복호부로 출력하는 경우는 상기 역방향 상태 천이 제어부 마지막 단인 것을 특징으로 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기.
  4. 제 1항 내지 3항 중 어느 한 항에 있어서,
    상기 생존 메모리는 시프트 레지스터 이루어진 것을 특징으로 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기.
  5. 제 1항 내지 3항 중 어느 한 항에 있어서,
    상기 역방향 상태 천이 제어부는 병렬 멀티플렉서로 이루어진 것을 특징으로 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기.
  6. 제 1항 내지 3항 중 어느 한 항에 있어서,
    상기 상태 천이 메모리는 처음 단에서는 ACSU으로부터의 결정 비트와 미리 설정되어 있는 초기 상태 천이 정보에 의하고, 다음 단에서는 상기 역방향 상태 천이 제어부로부터의 역방향 상태 천이 제어 정보와 이전 단의 상기 상태 천이 메모리에 저장되어 있는 상태 천이 정보에 의하여 상태 천이 정보를 저장하는 것을 특징으로 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기.
  7. 제 4항에 있어서,
    상기 상태 천이 메모리는 처음 단에서는 ACSU으로부터의 결정 비트와 미리 설정되어 있는 초기 상태 천이 정보에 의하고, 다음 단에서는 상기 역방향 상태 천이 제어부로부터의 역방향 상태 천이 제어 정보와 이전 단의 상기 상태 천이 메모리에 저장되어 있는 상태 천이 정보에 의하여 상태 천이 정보를 저장하는 것을 특징으로 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기.
  8. 제 5항에 있어서,
    상기 상태 천이 메모리는 처음 단에서는 ACSU으로부터의 결정 비트와 미리 설정되어 있는 초기 상태 천이 정보에 의하고, 다음 단에서는 상기 역방향 상태 천이 제어부로부터의 역방향 상태 천이 제어 정보와 이전 단의 상기 상태 천이 메모리에 저장되어 있는 상태 천이 정보에 의하여 상태 천이 정보를 저장하는 것을 특징으로 하는 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비 복호기.
KR10-2003-0062767A 2003-09-08 2003-09-08 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법 KR100491016B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0062767A KR100491016B1 (ko) 2003-09-08 2003-09-08 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0062767A KR100491016B1 (ko) 2003-09-08 2003-09-08 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050025829A KR20050025829A (ko) 2005-03-14
KR100491016B1 true KR100491016B1 (ko) 2005-05-24

Family

ID=37383981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0062767A KR100491016B1 (ko) 2003-09-08 2003-09-08 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법

Country Status (1)

Country Link
KR (1) KR100491016B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102554424B1 (ko) 2022-11-16 2023-07-12 블랙썬 주식회사 상태천이 방식에 의한 이동체의 추적시스템 및 그 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102554424B1 (ko) 2022-11-16 2023-07-12 블랙썬 주식회사 상태천이 방식에 의한 이동체의 추적시스템 및 그 제어방법

Also Published As

Publication number Publication date
KR20050025829A (ko) 2005-03-14

Similar Documents

Publication Publication Date Title
US4583078A (en) Serial Viterbi decoder
JP5618247B2 (ja) 複数ステップ・トレリスを使用するソフト出力ビタビ検出の方法および装置
KR100580160B1 (ko) 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기
KR100350502B1 (ko) 이동통신시스템의 구성 복호기 및 방법
JP4432781B2 (ja) 誤り訂正復号器
KR19990078237A (ko) 비터비 알고리즘을 구현하는 가산 비교 선택 회로 및 방법
US20050149838A1 (en) Unified viterbi/turbo decoder for mobile communication systems
KR100779782B1 (ko) 비터비 디코더 용 고속 acs 유닛
KR100212836B1 (ko) 비터비 디코더의 트레이스백 진행 구조
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
EP3996285A1 (en) Parallel backtracking in viterbi decoder
US7590928B2 (en) Apparatus and method for Viterbi decoding
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
JP3753822B2 (ja) ビタビ復号方法および装置
EP1542370A1 (en) Method and system for branch label calculation in a Viterbi decoder
US20050257123A1 (en) Memory management algorithm for trellis decoders
KR100564757B1 (ko) 저전력 비터비 복호기 및 역추적 방법
KR100359805B1 (ko) 비터비 디코더 및 비터비 디코더의 디코딩 방법
Shim et al. An improved VLSI architecture for Viterbi decoder
Haridas A low power Viterbi decoder design with minimum transition hybrid register exchange processing for wireless applications
JP2004120791A (ja) ビタビ復号器
WO2007000708A1 (en) Viterbi decoder and decoding method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130513

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140513

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150513

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160510

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee