KR20030082320A - 비터비 디코더의 브렌치 매트릭 연산장치 - Google Patents

비터비 디코더의 브렌치 매트릭 연산장치 Download PDF

Info

Publication number
KR20030082320A
KR20030082320A KR1020020020985A KR20020020985A KR20030082320A KR 20030082320 A KR20030082320 A KR 20030082320A KR 1020020020985 A KR1020020020985 A KR 1020020020985A KR 20020020985 A KR20020020985 A KR 20020020985A KR 20030082320 A KR20030082320 A KR 20030082320A
Authority
KR
South Korea
Prior art keywords
branch metric
branch
viterbi decoder
input
output
Prior art date
Application number
KR1020020020985A
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 엘지전자 주식회사
Priority to KR1020020020985A priority Critical patent/KR20030082320A/ko
Publication of KR20030082320A publication Critical patent/KR20030082320A/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/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

본 발명은 비터비 디코더의 브렌치 매트릭 연산장치에 관한 것으로, 종래 비터비 디코더는 복호화에 필요한 연산과정이 제한길이가 길어질 수록 복잡하며, 룩업 테이블의 면적도 지수적으로 증가하게 필요로 하여 로직의 면적이 증가하는 문제점이 있었다. 이와 같은 문제점을 감안한 본 발명은 복조된 입력시퀀스를 인가받아 쉬프트 레지스터에 최초 입력된 입력비트와 새로 입력되는 입력비트를 비터비 디코더의 상태가 천이될때의 관계를 고려하여, 그 두 입력비트 사이의 비트만으로 브렌치 매트릭 연산을 수행하는 브렌치 매트릭 연산부와; 상기 브렌치 매트릭 연산부의 출력을 인가받아 가산, 비교 및 선택하는 가산 비교 선택 연산장치와; 상기 가산 비교 선택 연산장치의 출력을 저장하는 패스 메모리와; 상기 패스 메모리에 저장된 데이터를 디코딩하여 출력하는 디코더로 구성되어 브렌치 매트릭 연산을 수행하기 위해 특정 스테이트로 부터 다른 스테이트로 천이하는 과정에서 쉬프트 레지스터에 입력되는 입력비트와 쉬프트 레지스터에 최초 입력된 입력 비트의 관계를 고려하여, 그 사이의 쉬프트 레지스터에 입력된 비트만을 연산함으로써, 그 연산량과 저장에 필요한 로직의 면적을 줄이는 효과가 있다.

Description

비터비 디코더의 브렌치 매트릭 연산장치{BRANCH MATRIC OPERATION APPARATUS FOR VITERBI DECODER}
본 발명은 비터비 디코더에 관한 것으로, 특히 브렌치 매트릭을 효과적으로 연산하기 할 수 있는 비터비 디코더의 브렌치 매트릭 연산장치에 관한 것이다.
일반적으로 디지털 통신에서 데이터 전송시 발생하는 오류를 수정해주기 위해 오류 정정 부호화(ERROR CORRECTING CODING)를 사용한다.
이 오류 정정 부호화는 데이터를 블록 단위로 부호화와 복호화를 수행하는 블록 코드(BLOCK CODE)와 일정 길이의 메모리를 이용해 이전 데이터 현재 데이터를 비교해 부호화를 수행하는 컨볼루션 코드(CONVOLUTION CODE)로 크게 나누어진다.
컨볼루션 코드는 k비트 블록의 입력 메세지에 대하여 동일한 시간 단위에서 n-심벌 블록의 코드워드 메세지를 작성한다.
k/n의 비를 코드율이라고 하며, CDMA에서는 두 가지 코드율(1/2, 1/3)이 보통 사용된다.
상기의 부호화를 이루는 부호화 장치는 쉬프트 레지스터, 모듈로-2 가산기 및 다중화 장치를 포함하여 구성되며, 상기 컨볼루션 코드는 세 가지 정수 n, k, K에 의해 표현되어진다.
상기 정수 K는 제한길이(CONSTRAINT LENGTH)이며, 부호화 장치의 쉬프트 레지스터에서 k-비트 블록의 입력 메세지의 단(STAGE) 수를 나타낸다.
현재 제한길이(K)는 9까지만 이용되며, 그 이상은 실제로는 이용되지 않는다. 광대역 CDMA에서는 제한길이를 9로하여 사용하고 있으며, 비터비 디코더는 이와 같은 컨볼루션 코드를 복호화하는데 가장 많이 사용하는 장치이다.
상기 종래 비터비 디코더 및 그 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도1과 도2는 각각 제한길이(K)가 3과 4인 경우의 트랜지션 맵(transition map)으로서, 이에 도시한 바와 같이 복호화의 복잡도는 그 제한길이(K)의 증가에 따라 지수적으로 증가하게 된다.
상기 제한길이(K)가 작은 경우에는 간단한 트랜지션 맵을 얻을 수 있으나, 그 제한길이(K)가 4만되어도, 스테이트의 수가 8개, 브렌치가 16개가 되며, K=7인 경우에는 스테이트의 수가 64개 브렌치의 개수가 128개가 된다.
이를 이용하여 브렌치 매트릭을 계산하기 위한 브렌치 워드는 64개가 된다.
비터비 디코더는 도3에 도시한 바와 같이 현재 스테이트와 다음 스테이트의 관계가 나비 모양과 같은 버터플라이(BUTTERFLY) 구조를 나타내는 알고리즘을 사용한다.
이는 새로운 브렌치 매트릭 값과 누적된 경로 매트릭 값을 각 천이마다 가한한 후 각 상태별로 비교하여 최적의 매트릭 값을 갖는 생존 매트릭 값과 생존경로를 출력하는 가산 비교 선택 장치(ADD-COMPARE-SELECT)로 구현된다.
상기 비터비 디코더의 알고리즘은 입력 메세지가 주어진 트렐리스(TRELLIS)를 통해 최단 경로를 발견하며 각 노드는 주어진 이산시간의 스테이트에 대응한다. 트랠리스 노드에 접속한는 라인을 브렌치라고 하며, 이는 하나의 스테이트에서 또다른 스테이트로의 트랜지션에 대응한다.
트렐리스의 노드에 접속하는 브렌치는 매트릭에 할당되며, 이러한 매트릭은 |r-v|2에 근사한 부 로그유도 함수로 주어진다.
여기서 r은 측정된 출력을 나타내는 신호이고, v는 상태간의 전위를 위한 실제 출력을 나타내는 신호이다.
이와 같은 구조의 알고리즘을 사용하여 복호화를 수행하고 있지만 상기 제한길이(K)가 길어질 수록 그 계산에 필요한 룩업 테이블의 면적은 지수적으로 증가하게 되며, 이 증가량을 도4에 도시하였다.
상기 도4의 표에서 알 수 있듯이 제한길이(K)를 9로 사용하는 광대역 CDMA에서 필요한 룩업 테이블의 면적, 즉 메모리 공간은 제한길이가 2인 경우에 비하여 128배나 더 요구된다.
상기한 바와 같이 종래 비터비 디코더는 복호화에 필요한 연산과정이 제한길이가 길어질 수록 복잡하며, 룩업 테이블의 면적도 지수적으로 증가하게 필요로 하여 로직의 면적이 증가하는 문제점이 있었다.
이와 같은 문제점을 감안한 본 발명은 복호화에 필요한 연산과정을 줄이며, 그 연산과정의 축소에 의해 룩업 테이블의 면적도 줄일 수 있는 비터비 디코더의 브렌치 매트릭 연산장치를 제공함에 그 목적이 있다.
도1과 도2는 각각 제한길이가 3과 4인 경우의 트랜지션 맵.
도3은 현재 스테이트와 다음 스테이트의 관계를 보인 모식도.
도4는 제한길이에 따른 룩업테이블의 증가량을 보인 표.
도5는 제한길이가 7인 컨볼루셔널 인코더의 구성도.
도6은 도5의 브렌치 워드를 보인 표.
도7은 본 발명 비터비 디코더의 브렌치 매트릭 연산장치의 구성도.
*도면의 주요 부분에 대한 부호의 설명*
10:브렌치 매트릭 연산부11:카운터
12:배타적오아게이트13:연산부
20:가산 비교 선택 연산장치30:패스 메모리
40:디코더
상기와 같은 목적은 복조된 입력시퀀스를 인가받아 쉬프트 레지스터에 최초입력된 입력비트와 새로 입력되는 입력비트를 비터비 디코더의 상태가 천이될때의 관계를 고려하여, 그 두 입력비트 사이의 비트만으로 브렌치 매트릭 연산을 수행하도록 구성함으로써 달성되는 것으로, 이와 같은 본 발명을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도5는 제한길이(K)가 7인 컨볼루셔널 인코더의 구성도로서, 이에 도시한 바와 같이 다수의 쉬프트 레지스터(1~6)를 연결하여 입력데이터를 처리하고, 생성다항식(GENETATION FUNCTION)에 적당한 출력을 선택적으로 가산하는 두 가산기(ADD1, ADD2)를 구비하여 구성된다.
이때의 브렌치 워드를 도6에 나타내었다.
상기 도6에서 X는 쉬프트 레지스터(1~6)로 새롭게 들어오는 입력비트이고, Y는 쉬프트 레지스터에 저장된 값 중에서 가장 먼저 입력된 비트에 해당한다.
상기 b0b1b2b3b4Y는 현재 스테이트이고, Xb0b1b2b3b4는 다음 스테이트가 된다.
컨볼루션 코드의 생성 다항식 또는 생성 시퀀스에 따라 브렌치 워드는 상기 Xb0b1b2b3b4Y 값의 배타적 오아 연산을 통해 획득된다.
상기 인코더의 생성 다항식을 보면 코드율에 상관없이 X와 Y값을 포함하여 다른 레지스터에 저장된 비트들과 배타적 오아 연산을 하도록 되어 있다.
즉, 배타적 오아 연산의 성질에 의해 X와 Y가 동일한 경우 브렌치 워드의 값에 영향을 주지 않으며 반대로 X와 Y가 서로 다른 경우에 브렌치 워드의 값은 인버팅된 값을 나타낸다.
상기 도3의 버터플라이 구조에 있어서, BMOO방향으로 진행할 경우, 즉 현재 스테이트와 다음 스테이트가 0인 경우 X와 Y는 모두 0의 값을 가진다.
이와 반대로 BM01의 경우에는 현재 상태가 0이며 다음 상태가 1인 경우 상기 X와 Y는 서로 다른 값을 나타낸다.
상기와 같은 과정을 감안하면 BM00방향으로 진행할 경우 생성다항식 중에서 b0b1b2b3b4만을 연산함으로써 브렌치 워드의 값을 쉽게 얻을 수 있다.
또한, 상기 버터플라이 구조에서 하나의 스테이트에서 다음 스테이트로 천이시에 BM00과 BM11, BM01과 BM10이 각각 쌍으로 같은 브렌치 매트릭 값을 가지고, BM00과 BM01의 합은 브렌치 매트릭이 가지는 최대값을 가지는 특성이 있다.
상기의 특성을 이용하면 비터비 디코더에서 브렌치 매트릭 연산시 버터플라이 구조에서 하나의 값만을 구하면 된다.
예를 들어 BM00의 브렌치 매트릭만 구하면 나머지 값은 구하지 않아도 알 수 있게 된다.
예를 들어 제한 길이(K)가 7인 경우에 비터비 디코더의 브렌치 매트릭의 연산은 64개의 브렌치 워드를 계산하기 위해 7비트 값을 이용하는 것이 아니라 5비트, 즉 b0b1b2b3b4만을 카운터 등을 이용하여 순차적으로 증가시키면서 32번의 연산으로 모든 브렌치 워드를 연산할 수 있게 된다.
이와 같은 연산이 가능한 본 발명 비터비 디코더의 구성을 도7에 도시하였으며, 이에 도시한 바와 같이 복조된 입력시퀀스를 인가받아 브렌치 매트릭 연산을수행하는 브렌치 매트릭 연산부(10)와; 상기 브렌치 매트릭 연산부(10)의 출력을 인가받아 가산, 비교 및 선택하는 가산 비교 선택 연산장치(20)와; 상기 가산 비교 선택 연산장치(20)의 출력을 저장하는 패스 메모리(30)와; 상기 패스 메모리(30)에 저장된 데이터를 디코딩하여 출력하는 디코더(40)로 구성된다.
상기 브렌치 매트릭 연산부(10)는 5비트의 레지스터 출력신호를 순차적으로 카운트하여 증가시키는 카운터(11)와; 상기 카운터(11)의 출력신호를 배타적오아조합하는 배타적오아게이트(12)와; 상기 배타적오아조합된 결과를 브렌치 매트릭 연산하는 연산부(13)로 구성된다.
상기 카운터(11)는 X와 Y의 값을 제외한 5비트(b0b1b2b3b4)만을 카운팅하여 순차적으로 증가시키고, 그 결과는 배타적오아게이트(12)에서 조합되어 32번의 연산만으로 원하는 출력을 얻을 수 있게 된다.
이는 제한길이(K)를 2만큼 줄인 것과 동일한 연산과정을 통해 제한길이(K)에 해당하는 동작을 수행할 수 있다.
즉, 제한길이(K)가 7인 경우, 본 발명을 이용하면 제한길이(K)가 5인 경우와 같이 룩업테이블의 공간이 n×64개가 필요하게 되며, 이는 종래의 n×256개의 저장공간에 비하여 대폭적인 저장 공간의 축소를 이룰수 있게 된다.
이와 같이 본 발명 비터비 디코더는 하나의 스테이트에서 다른 스테이트로 천이하는 과정에서 X와 Y의 관계에 따라 레지스터의 비트만을 연산하여, 제한길이(K)를 연산과정에서 줄임으로써, 연산량을 줄이고 저장에 필요한 로직면적을 줄일 수 있게 된다.
상기한 바와 같이 본 발명은 브렌치 매트릭 연산을 수행하기 위해 특정 스테이트로 부터 다른 스테이트로 천이하는 과정에서 쉬프트 레지스터에 입력되는 입력비트와 쉬프트 레지스터에 최초 입력된 입력 비트의 관계를 고려하여, 그 사이의 쉬프트 레지스터에 입력된 비트만을 연산함으로써, 그 연산량과 저장에 필요한 로직의 면적을 줄이는 효과가 있다.

Claims (2)

  1. 복조된 입력시퀀스를 인가받아 쉬프트 레지스터에 최초 입력된 입력비트와 새로 입력되는 입력비트를 비터비 디코더의 상태가 천이될때의 관계를 고려하여, 그 두 입력비트 사이의 비트만으로 브렌치 매트릭 연산을 수행하는 브렌치 매트릭 연산부와; 상기 브렌치 매트릭 연산부의 출력을 인가받아 가산, 비교 및 선택하는 가산 비교 선택 연산장치와; 상기 가산 비교 선택 연산장치의 출력을 저장하는 패스 메모리와; 상기 패스 메모리에 저장된 데이터를 디코딩하여 출력하는 디코더로 구성하여 된 것을 특징으로 하는 비터비 디코더의 브렌치 매트릭 연산장치.
  2. 제 1항에 있어서, 상기 브렌치 매트릭 연산부는 최초 입력된 입력비트와 새로 입력되는 입력비트를 제외한 제한길이에 해당하는 비트수의 입력시퀀스를 순차적으로 카운트하여 증가시키는 카운터와; 상기 카운터의 출력신호를 배타적오아조합하는 배타적오아게이트와; 상기 배타적오아조합된 결과를 브렌치 매트릭 연산하는 연산부로 구성하여 된 것을 특징으로 하는 비터비 디코더의 브렌치 매트릭 연산장치.
KR1020020020985A 2002-04-17 2002-04-17 비터비 디코더의 브렌치 매트릭 연산장치 KR20030082320A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020020985A KR20030082320A (ko) 2002-04-17 2002-04-17 비터비 디코더의 브렌치 매트릭 연산장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020020985A KR20030082320A (ko) 2002-04-17 2002-04-17 비터비 디코더의 브렌치 매트릭 연산장치

Publications (1)

Publication Number Publication Date
KR20030082320A true KR20030082320A (ko) 2003-10-22

Family

ID=32379343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020020985A KR20030082320A (ko) 2002-04-17 2002-04-17 비터비 디코더의 브렌치 매트릭 연산장치

Country Status (1)

Country Link
KR (1) KR20030082320A (ko)

Similar Documents

Publication Publication Date Title
US7765459B2 (en) Viterbi decoder and viterbi decoding method
US6070263A (en) Circuit for use in a Viterbi decoder
WO2005011129A1 (ja) ビタビ復号器
KR100390416B1 (ko) 터보 디코딩 방법
KR100437697B1 (ko) 다수준 격자부호변조방식의 복호 방법 및 장치
KR100737648B1 (ko) 비터비 복호장치 및 비터비 복호방법
US20070201586A1 (en) Multi-rate viterbi decoder
KR20010067413A (ko) 브랜치 메트릭 계산 처리에서 감소된 비트수를 갖는비터비 디코더
US7225393B2 (en) Viterbi decoder and Viterbi decoding method
KR20030082320A (ko) 비터비 디코더의 브렌치 매트릭 연산장치
US20050138535A1 (en) Method and system for branch metric calculation in a viterbi decoder
Nandula et al. High speed area efficient configurable Viterbi decoder for WiFi and WiMAX systems
Chandel et al. Viterbi decoder plain sailing design for TCM decoders
US11108415B2 (en) Method of Viterbi algorithm and receiving device
KR100340222B1 (ko) 다수준 격자부호변조방식의 복호화방법 및 장치
JP4295871B2 (ja) 誤り訂正復号器
KR20010113792A (ko) 재귀적 컨벌루션형 심벌들을 디코딩하기 위한 방법 및 장치
Kamuf et al. A simplified computational kernel for trellis-based decoding
Lee A Viterbi decoder with efficient memory management
KR100653233B1 (ko) 비터비 복호기
CN116192155A (zh) 一种低时延、幸存路径长度自动调节的维特比译码电路
KR100504113B1 (ko) 비터비 복호기에서 데이터 복호 시스템 및 방법
KR100531840B1 (ko) 비터비 디코더의 가지 메트릭 계산 방법 및 그 회로
JPH0730438A (ja) ビタビ復号方法
JP3348086B2 (ja) ビタビ復号装置およびビタビ復号方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination