KR100277467B1 - 비터비 디코더 - Google Patents

비터비 디코더 Download PDF

Info

Publication number
KR100277467B1
KR100277467B1 KR1019980010755A KR19980010755A KR100277467B1 KR 100277467 B1 KR100277467 B1 KR 100277467B1 KR 1019980010755 A KR1019980010755 A KR 1019980010755A KR 19980010755 A KR19980010755 A KR 19980010755A KR 100277467 B1 KR100277467 B1 KR 100277467B1
Authority
KR
South Korea
Prior art keywords
data
unit
state
output
csm
Prior art date
Application number
KR1019980010755A
Other languages
English (en)
Other versions
KR19990076092A (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 KR1019980010755A priority Critical patent/KR100277467B1/ko
Publication of KR19990076092A publication Critical patent/KR19990076092A/ko
Application granted granted Critical
Publication of KR100277467B1 publication Critical patent/KR100277467B1/ko

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

본 발명은 비터비 디코더에 관한 것으로, 종래의 기술에 있어서는 같은 크기의 스테이트 메모리를 사용하여 동일한 동작을 하게 함으로써, 메모리 셀의 낭비에 의한 메모리 사용의 효율성이 떨어지며, 또한 칩의 크기를 커지게 하는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 입력부와, 가산 및 비교선택부와, 출력부로 구성된 데이터 디코딩용 비터비 디코더에 있어서, 상기 입력부의 출력 데이터를 입력받아 그 데이터와 기 설정된 프리비어스 스테이트 매트릭(PSM)을 가산하여 커런트 스테이트 매트릭(CSM)을 생성하는 제1,2 가산부와; 상기 제1,2 가산부의 출력인 커런트 스테이트 매트릭(CSM)을 각각 비교하는 비교부와; 상기 비교부의 출력 중 작은 커런트 스테이트 매트릭(CSM)을 선택하여 출력하는 선택부와; 상기 선택부의 출력을 입력받아 스테이트의 값에 따라 선택적으로 출력하는 디멀티플렉서와; 상기 디멀티플렉서로부터 출력되는 데이터를 입력받아 각각 저장하는 제1,2 스테이트 저장부와; 상기 제1,2 스테이트 저장부의 읽기/쓰기 어드레스를 발생하는 메모리제어부와; 상기 제1,2 스테이트 저장부로부터 입력되는 데이터를 프리비어스 스테이트 매트릭(PSM)으로 하여 선택적으로 출력하는 멀티플렉서로 구성된 가산 및 비교선택부를 구비한 장치를 제공하여 각기 다른 동작을 하게 함으로써, 하나의 스테이트 저장부를 데이터의 중복없이 데이터 읽기와 쓰기가 가능하게 되어 메모리 사용의 효율성이 향상되며, 또한 스테이트 저장부의 용량이 대폭 감소하게 함으로써, 칩의 크기가 줄어들어 생산성이 향상되는 효과가 있다.

Description

비터비 디코더
본 발명은 비터비 디코더에 관한 것으로, 특히 통신 시스템에 사용되는 데이터 디코딩용 비터비 디코더에 있어서, 같은 용량의 두 스테이트 메모리에 저장되던 프리비어스 스테이트(Previous State) 및 커런트 스테이트(Current State) 값을 각기 나누어 저장함으로써, 스테이트 메모리의 용량을 줄여 성능을 향상시킨 비터비 디코더에 관한 것이다.
도 1은 종래 비터비 디코더의 구성을 보인 블록도로서, 이에 도시된 바와 같이 일반적으로, 이동전화 등과 같은 통신 시스템에 사용되는 데이터 디코딩용 비터비 디코더는 디모듈레이터로부터 데이터를 액세스하는 입력부와; 커런트 스테이트 매트릭(Current State Metric : CSM)을 계산하고, 그 계산결과를 프리비어스 스테이트 매트릭(Previous State Metric : PSM)으로 하여 다음 스테이트에서 다시 커런트 스테이트 매트릭을 계산하는 과정을 반복 수행하는 가산 및 비교선택부와; 상기 가산 및 비교선택부에서 비교정보를 입력받아 입력데이터의 오류를 검색하고, 디코딩하여 출력하는 출력부로 구성되며, 이와 같은 종래 비터비 디코더를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도 1에 도시된 바와 같이 디모듈레이터(미도시)의 출력 데이터를 입력받아 저장한 다음 브랜치매트릭(Branch Metric : BM)을 계산하여 출력 데이터(BM0∼BM1)를 출력하는 입력 및 연산부(10)와; 상기 입력 및 연산부(10)의 출력 데이터(BM0∼BM1)를 입력받아 기 설정된 프리비어스 스테이트 매트릭(PSM)과 가산하여 커런트 스테이트 매트릭(CSM)을 형성하고, 그 중 더 작은 커런트 스테이트 매트릭(CSM)을 선택하여 저장하며, 이후의 상태에서 그 값을 프리비어스 스테이트 매트릭을 선택하여 출력하고, 상기 비교정보를 출력하는 가산 및 비교연산부(20)와; 상기 가산 및 비교연산부(20)의 비교정보를 입력받아 입력된 데이터의 오류를 검사하고, 디코딩한 다음 이를 저장하고 출력하는 트래이스 백 및 출력부(30)로 구성된다.
상기 가산 및 비교선택부(20)는 상기 입력 및 연산부(10)의 출력 데이터(BM0∼BM1)를 입력받아 그 데이터와 기 설정된 프리비어스 스테이트 매트릭(PSM)을 가산하여 커런트 스테이트 매트릭(CSM)을 생성하는 제1,2 가산부(21)(22)와; 상기 제1,2 가산부(21)(22)의 출력인 커런트 스테이트 매트릭(CSM)을 각각 비교하는 비교부(23)와; 상기 비교부(23)의 출력 중 작은 커런트 스테이트 매트릭(CSM)을 선택하여 출력하는 선택부(24)와; 상기 선택부(24)의 출력 데이터를 입력받아 각각 저장하는 제1,2 스테이트 저장부(25)(26)와; 상기 제1,2 스테이트 저장부(25)(26)에 저장된 데이터를 프리비어스 스테이트 매트릭(PSM)으로 하여 선택적으로 출력하는 멀티플렉서(27)로 구성된다.
상기 트래이스 백 및 출력부(30)는 상기 가산 및 비교선택부(20)의 선택부(24)에서 출력한 데이터를 입력받아 트래이스 백 메모리(미도시)에 액세스하여 그 메모리에 저장된 데이터에 따라 디코딩하는 트래이스 백(Trace Back)(31)부와; 상기 트래이스 백부(31)에서 디코딩된 데이터를 출력하는 출력부(32)로 구성된다.
이하, 상기와 같이 구성된 종래 비터비 디코더의 동작 과정을 설명하면 다음과 같다.
먼저, 입력 및 연산부(10)의 입력부(11)는 디모듈레이터로부터 수신된 데이터를 액세스하고, 그 액세스한 데이터는 브랜치 매트릭 연산부(12)에서 연산되어 출력 데이터(BM0∼BM1)로 출력된다. 그 다음, 가산 및 비교선택부(20)의 제1,2 가산부(21)(22)로 입력되는데, 2개의 가산부가 사용되는 것은 버터플라이(Butterfly) 부분의 처리를 동시에 수행하기 위함으로, 도 2는 종래 비터비 디코더의 기본 동작 단위이며, 두 개의 스테이트를 칭하는 버터플라이 구성을 보인 개념도로서, 이에 도시된 바와 같이 이러한 연산방법은 해밍법(Hamming Method)이라 하며, 이 계산 과정은 정해진 스테이트의 값에 따라 도 2의 버터플라이 형성 수 만큼 계속 진행된다. 예를 들어 제약조건 길이(Constraint Lenth)가 '9'이고, 스테이트가 '256'이면 버터플라이의 수는 '128'개가 된다. 상기 입력 및 연산부(10)의 출력 데이터를 입력받은 가산 및 비교선택부(20)는 전체적으로 상기 제약조건 길이에 '5'를 곱한 값, 즉 여기서는 '45'를 트래이스 백 깊이(Trace Back Depth)로 하여 그 트래이스 백 깊이 만큼 가산, 비교, 선택동작을 반복하여 수행한다. 즉 도 2의 프리비어스 스테이트 매트릭(PSM) 값과 브랜치 매트릭(BM) 값에서 커런트 스테이트 매트릭(CSM)을 생성하는 동작을 '5760'번 반복한다.
이와 같은 전체 동작은 가산 및 비교선택부(20)의 제1,2 가산부(21)(22)에서 각각 프리비어스 스테이트 매트릭(PSM)과 상기 입력 및 연산부(10)의 출력 데이터(BM0∼BM1)를 입력받아 가산하여 출력하고, 그 값을 입력받은 비교부(23)는 상기 제1,2 가산부(21)(22)의 출력값을 비교하여 그 중 작은 값의 정보를 선택부(24)로 출력한다. 그 다음 상기 선택부(24)는 상기 비교부(23)의 출력신호에 따라 각각 제1 가산부(21)와 제2 가산부(22)중 그 출력신호인 커런트 스테이트 매트릭(CSM)이 작은 것을 선택하여 출력한다.
상기 선택부(24)에서 선택된 커런트 스테이트 매트릭(CSM)은 제1,2 스테이트 저장부(25)(26)에 저장되고, 다음 데이터가 입력 및 연산부(10)를 통해 입력되면 그 저장된 값을 프리비어스 스테이트 매트릭(PSM)으로 하여 선택적으로 출력하는 멀티플렉서(27)를 통해 상기 제1,2 가산부(21)(22)로 출력하여 다음 데이터를 동일한 방식으로 가산, 비교, 선택하여 저장하게 되며, 이러한 동작은 정해진 깊이 만큼 반복 수행하게 된다. 그 다음 선택부(24)를 통해 선택적으로 입력받은 트래이스 백부(31)는 트래이스 백 알고리즘을 실행하여 수신된 데이터의 오류를 검사하고, 그 데이터를 디코딩하게 되며, 이는 출력부(32)를 통해 출력된다.
상기와 같이 종래의 기술에 있어서는 같은 크기의 스테이트 메모리를 사용하여 동일한 동작을 하게 함으로써, 메모리 셀의 낭비에 의한 메모리 사용의 효율성이 떨어지며, 또한 칩의 크기를 커지게 하는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 용량의 두 스테이트 메모리에 저장되던 프리비어스 스테이트(Previous State) 및 커런트 스테이트(Current State) 값을 각기 나누어 저장함으로써, 스테이트 메모리의 용량을 줄여 성능을 향상시키는 장치를 제공함에 그 목적이 있다.
도 1은 종래 비터비 디코더의 구성을 보인 블록도.
도 2는 도 1에 있어서, 버터플라이 구성도.
도 3은 본 발명 비터비 디코더의 구성을 보인 블록도.
도 4는 도 3에서 스테이트 저장부의 동작을 보인 개념도.
***도면의 주요 부분에 대한 부호의 설명***
10 : 입력 및 연산부 11 : 입력부
12 : 브랜치 매트릭 연산부 20, 40 : 가산 및 비교선택부
21, 22, 41, 42 : 가산부 23, 43 : 비교부
24, 44 : 선택부 25, 26, 46, 47 : 스테이트 저장부
27, 49 : 멀티플렉서 30 : 트래이스 백 및 출력부
31 : 트래이스 백부 32 : 출력부
45 : 디멀티플렉서 48 : 메모리제어부
이와 같은 목적을 달성하기 위한 본 발명의 구성은 입력부와, 가산 및 비교선택부와, 출력부로 구성된 데이터 디코딩용 비터비 디코더에 있어서, 상기 입력부의 출력 데이터를 입력받아 그 데이터와 기 설정된 프리비어스 스테이트 매트릭(PSM)을 가산하여 커런트 스테이트 매트릭(CSM)을 생성하는 제1,2 가산부와; 상기 제1,2 가산부의 출력인 커런트 스테이트 매트릭(CSM)을 각각 비교하는 비교부와; 상기 비교부의 출력 중 작은 커런트 스테이트 매트릭(CSM)을 선택하여 출력하는 선택부와; 상기 선택부의 출력을 입력받아 스테이트의 값에 따라 선택적으로 출력하는 디멀티플렉서와; 상기 디멀티플렉서로부터 출력되는 데이터를 입력받아 각각 저장하는 제1,2 스테이트 저장부와; 상기 제1,2 스테이트 저장부의 읽기/쓰기 어드레스를 발생하는 메모리제어부와; 상기 제1,2 스테이트 저장부로부터 입력되는 데이터를 프리비어스 스테이트 매트릭(PSM)으로 하여 선택적으로 출력하는 멀티플렉서로 구성된 가산 및 비교선택부를 구비함을 특징으로 한다.
이하, 본 발명에 따른 일실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도 3은 본 발명 비터비 디코더의 구성을 보인 블록도로서, 이에 도시한 바와 같이 디모듈레이터(미도시)의 출력 데이터를 입력받아 저장한 다음 브랜치매트릭(Branch Metric : BM)을 계산하여 출력 데이터(BM0∼BM1)를 출력하는 입력 및 연산부(10)와; 상기 입력 및 연산부(10)의 출력 데이터를 입력받아 그 데이터와 기 설정된 프리비어스 스테이트 매트릭(PSM)을 가산하여 커런트 스테이트 매트릭(CSM)을 생성하는 제1,2 가산부(41)(42)와; 상기 제1,2 가산부(41)(42)의 출력인 커런트 스테이트 매트릭(CSM)을 각각 비교하는 비교부(43)와; 상기 비교부(43)의 출력 중 작은 커런트 스테이트 매트릭(CSM)을 선택하여 출력하는 선택부(44)와; 상기 선택부(44)의 출력을 입력받아 스테이트의 값에 따라 선택적으로 출력하는 디멀티플렉서(45)와; 상기 디멀티플렉서(45)로부터 출력되는 데이터를 입력받아 각각 저장하는 제1,2 스테이트 저장부(46)(47)와; 상기 제1,2 스테이트 저장부(46)(47)의 읽기/쓰기 어드레스를 발생하는 메모리제어부(48)와; 상기 제1,2 스테이트 저장부(46)(47)로부터 입력되는 데이터를 프리비어스 스테이트 매트릭(PSM)으로 하여 선택적으로 출력하는 멀티플렉서(49)와; 상기 가산 및 비교선택부(40)의 선택부(44)에서 출력한 데이터를 입력받아 트래이스 백 메모리(미도시)에 액세스하여 그 메모리에 저장된 데이터에 따라 디코딩하는 트래이스 백(Trace Back)(31)부와; 상기 트래이스 백부(31)에서 디코딩된 데이터를 출력하는 출력부(32)로 구성한다.
이와 같이 구성한 본 발명에 따른 일실시예의 동작 과정을 첨부한 도 4를 참조하여 설명하면 다음과 같다.
본 발명의 기본적인 동작은 도 1에 도시된 동작과 일치한다. 즉 도 3에서와 같이 입력 및 연산부(10)는 디모듈레이터(미도시)의 출력 데이터를 입력받아 저장한 다음 브랜치매트릭(Branch Metric : BM)을 계산하여 출력 데이터(BM0∼BM1)를 출력하며, 가산 및 비교연산부(40)는 상기 입력 및 연산부(10)의 출력 데이터(BM0∼BM1)를 입력받아 기 설정된 프리비어스 스테이트 매트릭(PSM)과 가산하여 커런트 스테이트 매트릭(CSM)을 형성하고, 그 중 더 작은 커런트 스테이트 매트릭(CSM)을 선택하여 저장하며, 이후의 상태에서 그 값을 프리비어스 스테이트 매트릭을 선택하여 출력하고, 상기 비교정보를 출력하며, 트래이스 백 및 출력부(30)는 상기 가산 및 비교연산부(40)의 비교정보를 입력받아 입력된 데이터의 오류를 검사하고, 디코딩한 다음 이를 저장하고 출력하는 동작을 한다. 그러나, 본 발명이 종래 기술과의 차이점은 스테이트 저장부(46)(47)의 구조 및 동작에 있다.
도 4는 도 3에서 스테이트 저장부의 동작을 보인 개념도로서, 이에 도시한 바와 같이 첫 번째 스테이트의 첫 번째 가산 및 비교선택동작을 수행하기 위하여 메모리제어부(48)에서 출력한 읽기 어드레스에 의해 제1,2 스테이트 저장부(46)(47)에서 기 저장된 프리비어스 스테이트 매트릭을 S(0), S(1), S(2), S(3)의 순으로 차례로 읽어 출력하면 멀티플렉서(49)는 이를 입력받아 먼저 상기 제1 스테이트 저장부(46)의 출력을 선택하여 전부 읽어내어 이를 제1,2 가산기(41)(42)에 인가하여 커런트 스테이트 매트릭(S(0), S(2k-2), S(1), S(2k-2+1))을 계산한다. 이때 프리비어스 스테이트 매트릭 S(0)와 S(1)으로부터 커런트 스테이트 매트릭 S(0), S(2k-2)가 계산되어 지며, 프리비어스 스테이트 매트릭 S(2), S(3)으로부터 커런트 스테이트 매트릭 S(1), S(2k-2+1)가 계산된다.
그 다음, 상기 계산된 커런트 스테이트 매트릭 S(0)과 S(1)은 비교부(43)에서 프리비어스 스테이트 매트릭 S(0), S(1)과 비교된다. 이때 그 비교한 결과에 따라 선택부(44)는 상기 제1 가산부(41) 또는 제2 가산부(42)에서 계산한 커런트 스테이트 매트릭(S(0), S(2k-2), S(1), S(2k-2+1))을 선택하여 출력하고, 이를 디멀티플렉서(45)에서 입력받아 스테이트 값이 0∼2k-2-1의 값이면 상기 제1 스테이트 저장부(46)로 출력하며, 2k-2이상의 값이면 상기 제2 스테이트 저장부(47)로 출력하고, 이를 상기 메모리제어부(48)의 쓰기 어드레스에 의해 상기 제1 또는 제2 스테이트 저장부(46)(47)에 저장한다.
그 다음, 첫 번째 스테이트의 두 번째 가산 및 비교선택동작을 수행하기 위해 상기 메모리제어부(48)에서 출력한 읽기 어드레스에 의해 상기 제1,2 스테이트 저장부(46)(47)에 기 저장된 프리비어스 스테이트 매트릭 S(4), S(5), S(6), S(7)을 차례로 읽어 출력하면 멀티플렉서(49)는 이를 입력받아 먼저 상기 제1 스테이트 저장부(46)의 출력을 선택하여 처음부터 절반까지만 읽고, 나머지 절반값은 제2 스테이트 저장부(47)에서 읽어 이를 상기 제1,2 가산기(41)(42)에 인가한다.
상기와 같은 동작을 반복하여 수행함으로써, 스테이트 저장부의 용량이 줄어들게 되고, 또한 각기 다른 동작을 하게 함으로써, 하나의 스테이트 저장부를 데이터의 중복없이 데이터 읽기와 쓰기가 가능하게 한다.
이상에서 설명한 바와 같이 본 발명 비터비 디코더는 각기 다른 동작을 하게 함으로써, 하나의 스테이트 저장부를 데이터의 중복없이 데이터 읽기와 쓰기가 가능하게 되어 메모리 사용의 효율성이 향상되며, 또한 스테이트 저장부의 용량이 대폭 감소하게 함으로써, 칩의 크기가 줄어들어 생산성이 향상되는 효과가 있다.

Claims (1)

  1. 입력부와, 가산 및 비교선택부와, 출력부로 구성된 데이터 디코딩용 비터비 디코더에 있어서, 상기 입력부의 출력 데이터를 입력받아 그 데이터와 기 설정된 프리비어스 스테이트 매트릭(PSM)을 가산하여 커런트 스테이트 매트릭(CSM)을 생성하는 제1,2 가산부와; 상기 제1,2 가산부의 출력인 커런트 스테이트 매트릭(CSM)을 각각 비교하는 비교부와; 상기 비교부의 출력 중 작은 커런트 스테이트 매트릭(CSM)을 선택하여 출력하는 선택부와; 상기 선택부의 출력을 입력받아 스테이트의 값에 따라 선택적으로 출력하는 디멀티플렉서와; 상기 디멀티플렉서로부터 출력되는 데이터를 입력받아 각각 저장하는 제1,2 스테이트 저장부와; 상기 제1,2 스테이트 저장부의 읽기/쓰기 어드레스를 발생하는 메모리제어부와; 상기 제1,2 스테이트 저장부로부터 입력되는 데이터를 프리비어스 스테이트 매트릭(PSM)으로 하여 선택적으로 출력하는 멀티플렉서로 구성된 가산 및 비교선택부를 구비함을 특징으로 하는 비터비 디코더.
KR1019980010755A 1998-03-27 1998-03-27 비터비 디코더 KR100277467B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980010755A KR100277467B1 (ko) 1998-03-27 1998-03-27 비터비 디코더

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980010755A KR100277467B1 (ko) 1998-03-27 1998-03-27 비터비 디코더

Publications (2)

Publication Number Publication Date
KR19990076092A KR19990076092A (ko) 1999-10-15
KR100277467B1 true KR100277467B1 (ko) 2001-01-15

Family

ID=65860942

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980010755A KR100277467B1 (ko) 1998-03-27 1998-03-27 비터비 디코더

Country Status (1)

Country Link
KR (1) KR100277467B1 (ko)

Also Published As

Publication number Publication date
KR19990076092A (ko) 1999-10-15

Similar Documents

Publication Publication Date Title
JP3900637B2 (ja) ビタビ復号装置
JP3747604B2 (ja) ビタビ復号装置
US6324226B1 (en) Viterbi decoder
US5440504A (en) Arithmetic apparatus for digital signal processor
JPH08340263A (ja) イン・プレイス現状態/次状態レジスタ
EP1739843B1 (en) Power efficient Viterbi decoder
US20010044921A1 (en) Viterbi decoder with high speed processing function
KR100311504B1 (ko) 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법
JP2798123B2 (ja) ビタビ復号装置
KR100277467B1 (ko) 비터비 디코더
KR100266409B1 (ko) 비터비 디코더
KR100259194B1 (ko) 비터비 디코더
KR19990076528A (ko) 비터비 알고리즘 처리를 위한 가산 비교 선택 고속화 장치 및방법
KR20040031323A (ko) 비터비 복호기의 경로 메트릭 저장 장치 및 방법
JP3548949B2 (ja) ビタビ復号器
JPH11186915A (ja) ビタビ復号装置
CN101160729B (zh) 用于并行处理递归数据的定址体系结构
JP3231647B2 (ja) ビタビ復号器
KR100217041B1 (ko) 비터비 디코더
JPH04421B2 (ko)
US20050094749A1 (en) Non-binary viterbi data processing system and method
JP2002111518A (ja) ビタビ復号方法及びその装置
JPH0722969A (ja) 演算装置
JPH0361375B2 (ko)
KR0148060B1 (ko) Viterbi 복호기의 ACS를 위한 메모리 최적 구조

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee