KR100399410B1 - 비터비 복호기 및 그 복호 방법 - Google Patents

비터비 복호기 및 그 복호 방법 Download PDF

Info

Publication number
KR100399410B1
KR100399410B1 KR10-2000-0079279A KR20000079279A KR100399410B1 KR 100399410 B1 KR100399410 B1 KR 100399410B1 KR 20000079279 A KR20000079279 A KR 20000079279A KR 100399410 B1 KR100399410 B1 KR 100399410B1
Authority
KR
South Korea
Prior art keywords
state
register
value
optimal
encoding
Prior art date
Application number
KR10-2000-0079279A
Other languages
English (en)
Other versions
KR20020049951A (ko
Inventor
이병길
김석중
Original Assignee
삼성탈레스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성탈레스 주식회사 filed Critical 삼성탈레스 주식회사
Priority to KR10-2000-0079279A priority Critical patent/KR100399410B1/ko
Publication of KR20020049951A publication Critical patent/KR20020049951A/ko
Application granted granted Critical
Publication of KR100399410B1 publication Critical patent/KR100399410B1/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

Abstract

본 발명은 비터비 복호기 및 그 복호 방법에 관한 것으로서, 본 발명의 비터비 복호기는 부호화시 그 부호화의 단계별로 발생되는 최적의 레지스터 상태값을 저장하는 저장수단과, 상기 저장수단에 저장된 레지스터의 상태 값들 중 각 단계에서 그 상태가 최적인 레지스터의 위치를 식별한 후, 그 위치값을 출력하는 최적 상태 식별수단과, 시스템 클럭에 동기되어 상기 저장수단에서 출력되는 단계별 레지스터의 상태 값들 중 상기 최적 상태 식별수단에서 출력되는 위치값에 해당되는 위치의 상태값을 선택하는 제1 선택수단과, 상기 선택된 상태값을 순차 저장한 후, 역순으로 읽어 디코딩된 데이터를 출력하는 임시저장수단으로 구성되며, 상기 비터비 복호기에 의한 복호 방법은 상기 부호화시 그 부호화의 단계별로 발생되는 최적의 레지스터 상태값들을 저장하는 과정과, 상기 과정에서 단계별로 저장된 레지스터의 상태 값들 중 각 단계에서 그 상태가 최적인 레지스터의 위치를 식별한 후, 그 식별된 위치의 레지스터 상태 값을 임시 저장수단에 순차 저장하는 과정과, 상기 과정에서 순차 저장된 각 레지스터의 상태 값을 역순으로 읽어서 디코딩된 데이터를 출력하는 과정으로 구성되어, 하드웨어 구성시 구속장의 길이에 영향을 받지 않으며, 복호화 수행시 그 처리 과정 및 하드웨어 크기를 간략화할 수 있다는 특징이 있다.

Description

비터비 복호기 및 그 복호 방법{Viterbi decoder and decoding method thereof}
본 발명은 비터비 복호기 및 그 복호 방법에 관한 것으로서, 특히, 부호화의 단계별로 발생되는 최적의 레지스터 상태값들을 저장하고 그 저장된 레지스터 상태값들 중 상기 부호화 단계별로 그 상태가 최적인 레지스터의 위치를 식별하여 그 위치의 상태값에 의해 복호화를 수행하도록 함으로써, 복호화 수행시 그 처리 과정 및 하드웨어 크기를 간략화한 것을 특징으로 하는 비터비 복호기 및 그 복호 방법에 관한 것이다.
일반적으로 유무선 환경에서 통신을 하거나 저장 매체에 데이터를 저장하는 경우 오류가 발생하여 잘못된 정보가 전달되거나 잘못된 정보를 저장하는 경우가 발생한다.
채널 코딩은 이러한 오류를 정정하기 위해 엔코더에서 부호화시 정보 비트에 리던던시(redundancy)를 첨가하여 저장하거나 전송한 코드워드(codeword)를 디코더에서 원래의 정보 데이터로 복원하는 기술로서, 크게 블럭 코딩 방법과 트리 코딩 방법으로 나눌 수 있는데, 이중 트리 코딩 방법은 다시 컨볼루션 코딩(convolutional coding) 방법과 터보 코딩(turbo coding) 방법으로 나눌 수 있다.
비터비 복호기 및 그 복호 방법은 이중 컨볼루션 코딩 방법으로 부호화된 코드를 최적으로 복호화하기 위한 장치 및 방법으로서, 비터비 알고리즘(Viterbi Algorithm)을 이용한 복호 기법을 사용한다.
상기 비터비 알고리즘은 가능한 모든 정보가 동일한 확률로 발생하는 경우 복호 착오율을 최소로 하는 의미에서 가장 적합한 복호법으로서, 2차원 대칭 통신로에서 사용하는 경우 수신된 부호 계열 중 해밍 거리가 가장 가까운 부호 계열을 선택하여 내보내는 복호법이다.
즉, 부호화의 단계별로 발생된 경로 선택 정보 중 해밍 함수에 의해 가능성 (Maximum likelihood) 함수가 가장 큰 경로를 탐색하고, 그 경로의 부호 계열을 전송된 부호 계열로 추정하는 알고리즘으로서, 가능성이 희박한 경로를 제거하고 오직 최적 경로만을 탐색하는데 중점을 둔 알고리즘이다.
이러한 비터비 알고리즘은 컨볼루션 코딩 기법으로 부호화된 코드를 복호할 때 그 착오율을 최소로 한다는 장점이 있는 반면, 각 단계별로 최적의 경로를 검색해야 하므로, 연산량이 많고 따라서 복잡한 구조를 가진다.
도 1은 종래의 비터비 복호기에 사용된 단위셀에 대한 구성도로서, 도 1을 참조하면, 종래의 비터비 복호기에 사용된 단위셀의 구조는 이전 단계에서 발생된 두 가지의 경우의 수를 가지고 발생되는 데이터 값(a, b)을 입력으로 받아 외부에서 인가되는 경로 선택 제어신호(PS:Pass Signal)에 의해 그 데이터들(a, b) 중 하나의 경로를 선택하는 먹스(MUX)(10)와, 시스템 클럭(CLK)에 동기되어 상기 먹스(10)에서 선택된 경로 정보를 출력하는 D 플립플롭(20)으로 구성된다.
이 때, 상기 데이터 값(a, b)은 '1' 또는 '0'의 값을 갖는다.
한편, 도 2는 종래의 실시예에 따라 상기 도 1에 나타난 단위셀을 연결하여 구성한 비터비 복호기에 대한 구성도로서, 특히, 구속장의 길이가 '6'인 경우에 대한 실시예를 나타낸다.
도 2를 참조하면, 구속장의 길이가 '6'인 경우 상기 단위셀들을 26×34 의 배열로 연결한 후, 각 단위셀에 저장된 최적 경로 정보가 외부에서 인가되는 시스템 클럭(도시되지 않음)에 동기되어 열 단위로 전달되며, 이러한 동작을 반복 수행함으로써, 디코딩된 데이터가 최종적으로 출력된다.
그러나, 이러한 구성을 갖는 종래의 비터비 복호기의 경우 부호화시 선택된 경로 정보를 입력으로 받아 들여 복호를 수행하도록 함으로써, 방대한 양의 경로 선택 정보(Path Select Signal)를 기억하여야 하고, 또 경로 선택 정보가 들어올 때마다 매번 이전의 경로 선택 정보를 갱신(update)하여야 한다.
따라서, 하드웨어의 구조가 복잡하고, 연산량이 많다는 단점이 있다.
한편, 상기와 같은 구성을 갖는 종래의 비터비 복호기의 경우 단위셀의 행 길이는 구속장의 길이 즉, 부호화시 엔코더에 사용된 레지스터의 수에 따라 변하는데, 상기 구속장의 길이가 'n'이면, 그 코드를 복호하기 위해 필요한 단위셀의 행의 길이는 '2n'이 되므로, 상기 구속장 길이의 증가에 따른 부하가 지수 함수적으로 증가된다는 단점이 있다.
따라서, 본 발명에서는 상기와 같은 문제점을 해결하기 위해, 부호화의 단계별로 발생되는 최적의 레지스터 상태값들을 메모리에 저장하고 그 저장된 레지스터 상태값들 중 상기 부호화 단계별로 그 상태가 최적인 레지스터의 위치를 식별하여 그 위치의 상태값에 의해 복호화를 수행하도록 함으로써, 하드웨어 구성시 구속장의 길이에 영향을 받지 않으며, 복호화 수행시 그 처리 과정 및 하드웨어 크기를 간략화할 수 있는 비터비 복호기 및 그 복호 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해 본 발명에서 제공하는 비터비 복호기는 컨볼루션 부호화 방법으로 부호화된 신호를 복호하는 비터비 복호기에 있어서, 상기 부호화시 그 부호화의 단계별로 발생되는 최적의 레지스터 상태값을 저장하는 저장수단과, 상기 저장수단에 저장된 레지스터의 상태 값들 중 각 단계에서 그 상태가 최적인 레지스터의 위치를 식별한 후, 그 위치값을 출력하는 최적 상태 식별수단과, 시스템 클럭에 동기되어 상기 저장수단에서 출력되는 단계별 레지스터의 상태 값들 중 상기 최적 상태 식별수단에서 출력되는 위치값에 해당되는 위치의 상태값을 선택하는 제1 선택수단과, 상기 선택된 상태값을 순차 저장한 후, 역순으로 읽어 디코딩된 데이터를 출력하는 임시저장수단으로 구성된다.
한편, 상기 목적을 달성하기 위해 본 발명에서 제공하는 비터비 복호 방법은 상기 부호화시 그 부호화의 단계별로 발생되는 최적의 레지스터 상태값들을 저장하는 제1 과정과, 상기 제1 과정에서 단계별로 저장된 레지스터의 상태 값들 중 각 단계에서 그 상태가 최적인 레지스터의 위치를 식별하여 그 식별된 위치의 레지스터 상태 값을 임시 저장수단에 순차 저장하는 제2 과정과, 상기 제2 과정에서 순차 저장된 각 레지스터의 상태 값을 역순으로 읽어서 디코딩된 데이터를 출력하는 제3 과정으로 구성된다.
도 1은 종래의 비터비 복호기에 사용된 단위 셀에 대한 구성도,
도 2는 종래의 실시예에 따라 단위 셀을 연결하여 구성한 비터비 복호기에 대한 블록도,
도 3은 본 발명의 실시예에 따른 비터비 복호기에 대한 구성도,
도 4는 본 발명의 실시예에 따른 시프트 레지스터의 동작 설명도,
도 5는 본 발명의 실시예에 따라 비터비 복호를 수행하는 방법에 대한 처리 흐름도,
도 6은 본 발명의 실시예에 따라 부호화의 단계별로 최적의 상태를 갖는 상태값을 찾아 저장하는 방법에 대한 처리 흐름도,
도 7은 본 발명의 실시예에 따라 최적의 상태를 갖는 레지스터의 현재 위치값으로 최적의 상태를 갖는 레지스터의 다음 위치에 대한 위치값을 생성하는 방법에 대한 처리 흐름도.
<도면의 주요부분에 대한 부호의 설명>
100 : 메모리 200 : 제1 MUX
300 : LIFO 400 : 최적 상태 식별부
401 : 비교기 402 : 제2 MUX
403 : 시프트 레지스터 404 : D 플립플롭
이하, 첨부한 도면을 참조하여, 본 발명의 일 실시예를 통해 본 발명을 보다 상세하게 설명하고자 한다.
도 3은 본 발명의 실시예에 따른 비터비 복호기에 대한 구성도이고, 도 4는 본 발명의 실시예에 따른 시프트 레지스터의 동작 설명도이고, 도 5는 본 발명의 실시예에 따라 비터비 복호를 수행하는 방법에 대한 처리 흐름도이고, 도 6은 본 발명의 실시예에 따라 부호화의 단계별로 최적의 상태를 갖는 상태값을 찾아 저장하는 방법에 대한 처리 흐름도이고, 도 7은 본 발명의 실시예에 따라 최적의 상태를 갖는 레지스터의 현재 위치값으로 최적의 상태를 갖는 레지스터의 다음 위치에 대한 위치값을 생성하는 방법에 대한 처리 흐름도이다.
먼저, 도 3을 참조하면, 본 발명에서 제공하는 비터비 복호기는 부호화시 그 부호화의 단계별로 발생되는 최적의 레지스터 상태값들을 저장하는 메모리(100)와, 상기 메모리(100)에 저장된 레지스터의 상태 값들 중 각 단계에서 그 상태가 최적인 레지스터의 위치를 식별한 후, 그 위치값을 출력하는 최적 상태 식별부(400)와, 시스템 클럭에 동기되어 상기 메모리(100)에서 출력되는 단계별 레지스터의 상태 값들 중 상기 최적 상태 식별부(400)에서 출력되는 위치값에 해당되는 위치의 레지스터 상태값을 선택하는 제1 먹스(MUX)(200)와, 상기 선택된 레지스터 상태값을 순차 저장한 후, 역순으로 읽어 디코딩된 데이터를 출력하는 임시저장부(LIFO:Last Input First Output)(300)로 구성된다.
이 때, 상기 메모리(100)는 부호화의 각 단계별로 단위 길이의 메모리 영역을 사용하여 각 레지스터의 최적 상태값을 저장하는데, 부호화시 사용된 엔코더의 구속장의 길이가 'n'일 때, 그 단위 길이는 2n비트이다.
도 2의 경우 구속장의 길이가 '6'인 경우 상기 단위 길이는 26(64)비트로서, 부호화시 그 부호화의 단계별로 발생되는 최적의 레지스터 상태값들이 상기 메모리(100)에 64비트 단위(PS[63, …,0])로 저장되고, 시스템 클럭에 동기되어 상기 64비트 단위(QPS[63, …,0])의 데이터가 출력된다.
한편, 상기 제1 먹스(MUX)(200)로 최적 상태의 레지스터 위치 정보를 출력하는 상기 최적 상태 식별부(400)는 상기 부호화의 첫 단계에서 발생된 각 레지스터의 상태 값들을 비교하여 그 상태가 최적인 레지스터의 위치를 식별한 후, 그 위치값을 출력하는 비교기(401)와, 상기 제1 먹스(200)로 출력하는 위치값 및 상기 제1 먹스(200)에서 선택된 상태값을 이용하여 새로운 위치값을 생성하는 시프트 레지스터(403)와, 시스템 클럭에 동기되어 상기 시프트 레지스터(403)에서 생성되는 새로운 위치값을 일정시간 지연시켜 출력하는 D 플립플롭(404)과, 외부에서 인가되는 제어신호(CS)에 의해 상기 비교기(401)와 D 플립플롭(404)에서 출력되는 위치값 중 하나의 신호를 선택하여 출력하는 제2 먹스(MUX)(402)로 구성된다.
이 때, 상기 비교기(401) 및 D 플립플롭(404)에서 출력되는 최적 상태의 레지스터 위치값은 'n'비트(부호화시 사용된 엔코더의 구속장의 길이가 'n'일 때)로서, 도 3의 경우 상기 구속장의 길이가 '6'인 경우의 실시예이므로, 상기 레지스터위치값을 나타내는 데이터의 길이는 6비트([5, …, 0])이다.
상기 제2 먹스(402)의 동작을 제어하기 위해 외부에서 인가되는 제어 신호(CS)는 부호화의 첫 단계에서 발생된 각 레지스터의 상태 값들이 상기 메모리(100)로 입력될 경우 상기 비교기(401)에서 출력되는 값을 선택하도록 하고, 그 이후의 경우는 모두 상기 D 플립플롭(404)에서 출력되는 값을 선택하도록 한다.
한편, 상기 제1 먹스(200)는 상기 제2 먹스(402)에서 출력되는 최적 상태의 레지스터의 위치값을 참조하여 상기 메모리(100)에서 출력되는 각 레지스터의 상태값 중 최적의 상태를 나타내는 '1'비트의 값을 선택하여 출력한다.
또한, 상기 시프트 레지스터(403)는 상기 위치값 및 상태값에 의해 새로운 위치값을 생성하기 위해, 상기 제2 먹스(402)에서 출력되는 6비트의 위치값 중 최상위 비트(MSB)를 버리고, 나머지 5비트의 값을 왼쪽으로 천이(Left shifting)시킨 후, 상기 제1 먹스(200)에서 선택된 상태값을 상기 천이된 위치값의 최하위 비트(LSB)에 삽입한다.
이러한 시프트 레지스터(403)의 동작이 도 4에 나타나 있다. 도 4를 참조하면, 상기 시프트 레지스터(403)로 n비트의 레지스터 위치값('101 …01')이 입력된 경우의 예로서, 도 4a는 상기 입력값('101 …01')에서 최상위 비트(MSB) 값('1')을 버리는 과정을 나타내고, 도 4b는 상기 최상위 비트(MSB)를 제외한 나머지 값(n-1)('01 … 01')을 왼쪽으로 한칸씩 천이(shifting)시키는 과정을 나타내고, 도 4c는 상기 도 4b 과정 수행 후, 공백이 된(blank) 최하위 비트(LSB)에 상기 제1 먹스(200)에서 선택된 상태값을 삽입하는 과정을 나타낸다.
이 때, 상기 도 4c는 상기 제1 먹스(200)에서 선택된 레지스터의 상태값이 '0'인 경우의 예를 나타낸다.
이와 같이 새로운 레지스터의 위치값이 생성되면, 상기 D 플립플롭(404)은 시스템 클럭에 동기를 맞추어 상기 위치값을 일정시간 지연시킨 후, 상기 제2 먹스(402)로 전달하며, 상기 제2 먹스(402)는 그 값을 최적의 상태를 갖는 레지스터의 위치값으로 간주하여 상기 제1 먹스(200)의 선택 신호로 출력한다.
한편, 도 5를 참조하면, 이러한 구성을 갖는 본 발명의 비터비 복호기에 의해 컨볼루션 부호화 방법으로 부호화된 신호를 복호하는 방법은 다음과 같다.
먼저, 상기 부호화시 그 부호화의 단계별로 각 레지스터에서 선택된 최적의 레지스터의 상태값을 상기 메모리(도 3의 '100')에 저장(s100)한 후, 상기 저장된 레지스터의 상태 값들 중 각 단계에서 그 상태가 최적인 레지스터의 위치를 식별하여 그 식별된 위치의 레지스터 상태 값을 임시저장부(도 3의 '300')에 순차 저장(s200)한다. 그리고, 상기 순차 저장된 각 레지스터의 상태 값을 역순으로 읽어서 디코딩된 데이터를 출력(s300)한다.
이 때, 상기 최적인 레지스터의 상태값을 저장하는 임시저장부(도 3의 '300')는 스택과 같은 LIFO 구조로서, 순차 저장된 임의의 데이터를 역순으로 출력하는 특성을 갖는다.
도 6은 상기 과정 중 부호화의 단계별로 최적의 상태를 갖는 상태값을 찾아 저장하는 과정(s200)에 대한 좀 더 상세한 처리 과정을 나타낸 도면으로서, 도 6을 참조하면, 부호화의 단계별로 최적의 상태를 갖는 상태값을 찾아 저장하는 과정은먼저, 상기 부호화의 첫 단계에서 발생된 각 레지스터의 상태 값들을 비교하여 그 상태가 최적인 레지스터의 위치를 식별(s210)한다.
그리고, 상기 식별된 위치의 위치값 및 상태값을 추출(s220)하여, 그 상태값을 저장(s230)한 후, 상기 상태값 및 위치값으로 새로운 위치값을 생성(s240)한다.
상기 과정에서 새로운 위치값이 생성되면, 그 생성된 위치값에 의해 부호화의 다음 단계에서 발생된 각 레지스터의 상태가 최적인 레지스터의 위치를 식별(s250)하고, 그 식별된 위치의 위치값 및 상태값을 추출(s260)한다.
그리고, 상기 상태값 저장 과정(s230)으로 돌아가서, 새롭게 추출된 상태값을 저장한 후, 복호화 과정이 종료할 때까지 그 이후의 과정을 반복 수행한다.
한편, 상기 과정 중 새로운 위치값을 생성하는 과정(s240)에 대한 좀 더 세부적인 처리 과정이 도 7에 나타나 있는데, 도 7을 참조하면, 새로운 위치값을 생성하는 과정은 먼저, 현재 위치값의 최상위 비트(MSB)를 버리고(s241), 나머지 값을 왼쪽으로 천이(Left shifting)시킨 후(s242), 최하위 비트(LSB)에 상기 상태값을 삽입(s243)하는 과정으로 구성된다.
상기와 같은 특징을 갖는 본 발명의 비터비 복호기 및 그 복호 방법은 부호화의 단계별로 발생된 최적의 레지스터 상태값들을 메모리에 저장하고 그 저장된 레지스터 상태값들 중 상기 부호화 단계별로 그 상태가 최적인 레지스터의 위치를 식별하여 그 위치의 상태값에 의해 복호화를 수행하도록 함으로써, 하드웨어 구성시 구속장의 길이에 영향을 받지 않으며, 복호화 수행시 그 처리 과정 및 하드웨어 크기를 간략화할 수 있다는 장점이 있다.

Claims (7)

  1. 컨볼루션 부호화 방법으로 부호화된 신호를 복호하는 비터비 복호기에 있어서,
    상기 부호화시 그 부호화의 단계별로 발생되는 최적의 레지스터 상태값을 저장하는 저장수단과,
    상기 저장수단에 저장된 레지스터의 상태 값들 중 각 단계에서 그 상태가 최적인 레지스터의 위치를 식별한 후, 그 위치값을 출력하는 최적 상태 식별수단과,
    시스템 클럭에 동기되어 상기 저장수단에서 출력되는 단계별 레지스터의 상태 값들 중 상기 최적 상태 식별수단에서 출력되는 위치값에 해당되는 위치의 상태값을 선택하는 제1 선택수단과,
    상기 선택된 상태값을 순차 저장한 후, 역순으로 읽어 디코딩된 데이터를 출력하는 임시저장수단으로 구성된 것을 특징으로 하는 비터비 복호기.
  2. 제1항에 있어서, 상기 최적 상태 식별수단은
    상기 부호화의 첫 단계에서 발생된 각 레지스터의 상태 값들을 비교하여 그 상태가 최적인 레지스터의 위치를 식별한 후, 그 위치값을 출력하는 비교수단과,
    상기 최적 상태 식별수단에서 상기 제1 선택수단으로 출력하는 위치값 및 상기 제1 선택수단에서 선택된 상태값을 이용하여 새로운 위치값을 생성하는 생성수단과,
    시스템 클럭에 동기되어 상기 생성수단에서 생성되는 새로운 위치값을 일정시간 지연시켜 출력하는 지연수단과,
    외부에서 인가되는 제어신호에 의해 상기 비교수단과 지연수단에서 출력되는 위치값 중 하나의 신호를 선택하여 출력하는 제2 선택수단으로 구성된 것을 특징으로 하는 비터비 복호기.
  3. 제2항에 있어서, 상기 생성수단은
    상기 최적 상태 식별수단에서 상기 제1 선택수단으로 출력하는 위치값의 최상위 비트(MSB)를 버리고, 나머지 값을 왼쪽으로 천이(Left shifting)시킨 후, 상기 제1 선택수단에서 선택된 상태값을 상기 천이된 위치값의 최하위 비트(LSB)에 삽입하여 새로운 위치값을 생성하는 것을 특징으로 하는 비터비 복호기.
  4. 컨볼루션 부호화 방법으로 부호화된 신호를 복호하는 비터비 복호 방법에 있어서,
    상기 부호화시 그 부호화의 단계별로 발생되는 최적의 레지스터 상태값들을 저장하는 제1 과정과,
    상기 제1 과정에서 단계별로 저장된 레지스터의 상태 값들 중 각 단계에서 그 상태가 최적인 레지스터의 위치를 식별하여 그 식별된 위치의 레지스터 상태 값을 임시 저장수단에 순차 저장하는 제2 과정과,
    상기 제2 과정에서 순차 저장된 각 레지스터의 상태 값을 역순으로 읽어서 디코딩된 데이터를 출력하는 제3 과정으로 구성된 것을 특징으로 하는 비터비 복호 방법.
  5. 제4항에 있어서, 상기 제1 과정은
    상기 각 단계별로 단위 길이의 메모리 영역을 사용하여 각 레지스터의 상태값을 저장하며,
    그 단위 길이는 2n비트이고,
    상기 n은 부호화시 사용된 엔코더의 구속장 길이인 것을 특징으로 하는 비터비 복호 방법.
  6. 제4항에 있어서, 상기 제2 과정은
    상기 부호화의 첫 단계에서 발생된 각 레지스터의 상태 값들을 비교하여 그 상태가 최적인 레지스터의 위치를 식별하는 제1 단계와,
    상기 제1 단계에서 식별된 위치의 위치값 및 상태값을 추출하는 제2 단계와,
    상기 추출된 상태값을 저장하고, 그 상태값 및 위치값으로 새로운 위치값을 생성하는 제3 단계와,
    상기 제3 단계에서 생성된 위치값에 의해 부호화의 다음 단계에서 발생된 각 레지스터의 상태가 최적인 레지스터의 위치를 식별하는 제4 단계와,
    상기 제4 단계에서 식별된 위치의 위치값 및 상태값을 추출한 후, 상기 제3단계 및 제4 단계를 수행하는 제5 단계와,
    복호가 종료할 때까지 상기 제3 내지 제5 단계를 반복 수행하는 제6 단계로 구성된 것을 특징으로 하는 비터비 복호 방법.
  7. 제6항에 있어서, 상기 제3 단계는
    상기 위치값의 최상위 비트(MSB)를 버리고, 나머지 값을 왼쪽으로 천이(Left shifting)시킨 후, 최하위 비트(LSB)에 상기 상태값을 삽입하여 새로운 위치값을 생성하는 것을 특징으로 하는 비터비 복호 방법.
KR10-2000-0079279A 2000-12-20 2000-12-20 비터비 복호기 및 그 복호 방법 KR100399410B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0079279A KR100399410B1 (ko) 2000-12-20 2000-12-20 비터비 복호기 및 그 복호 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0079279A KR100399410B1 (ko) 2000-12-20 2000-12-20 비터비 복호기 및 그 복호 방법

Publications (2)

Publication Number Publication Date
KR20020049951A KR20020049951A (ko) 2002-06-26
KR100399410B1 true KR100399410B1 (ko) 2003-09-26

Family

ID=27683896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0079279A KR100399410B1 (ko) 2000-12-20 2000-12-20 비터비 복호기 및 그 복호 방법

Country Status (1)

Country Link
KR (1) KR100399410B1 (ko)

Also Published As

Publication number Publication date
KR20020049951A (ko) 2002-06-26

Similar Documents

Publication Publication Date Title
KR100538730B1 (ko) 비터비디코딩장치및비터비디코딩방법
JP4701343B2 (ja) トレリスに基づく受信器
US6460161B1 (en) Processing of state histories in Viterbi decoding
EP1102408B1 (en) Viterbi decoder
US20070180352A1 (en) Memory system and method for use in trellis-based decoding
KR100227094B1 (ko) 큰 제약조건 길이를 갖는 소프트 결정 비터비 디코딩의 방법 및 회로
JPS6037834A (ja) 誤り訂正符号の復号方法および復号器
US6333954B1 (en) High-speed ACS for Viterbi decoder implementations
US7277507B2 (en) Viterbi decoder
US6272661B1 (en) Minimum memory implementation of high speed viterbi decoder
JPS60180222A (ja) 符号誤り訂正装置
JP2811651B2 (ja) 符号化/復号する方法と装置
JP4580927B2 (ja) ビタビ復号装置、およびビタビ復号方法
JP3259725B2 (ja) ビタビ復号装置
JP3784896B2 (ja) ビタビデコーダの論理ブロック
KR100399410B1 (ko) 비터비 복호기 및 그 복호 방법
JP4082158B2 (ja) ビタビ復号方法、ビタビ復号装置及びプログラム
JPH0722969A (ja) 演算装置
JP3530451B2 (ja) ビタビ復号装置
WO2003069866A1 (en) Traceback operation in viterbi decoding for rate-k/n convolutional codes
JP2001094442A (ja) 復号装置及び復号方法
WO2007000708A1 (en) Viterbi decoder and decoding method thereof
JP2004120791A (ja) ビタビ復号器
JPH047849B2 (ko)
JPH07202725A (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: 20120830

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190903

Year of fee payment: 17