KR100386244B1 - 비터비 디코더 - Google Patents

비터비 디코더 Download PDF

Info

Publication number
KR100386244B1
KR100386244B1 KR1019980001860A KR19980001860A KR100386244B1 KR 100386244 B1 KR100386244 B1 KR 100386244B1 KR 1019980001860 A KR1019980001860 A KR 1019980001860A KR 19980001860 A KR19980001860 A KR 19980001860A KR 100386244 B1 KR100386244 B1 KR 100386244B1
Authority
KR
South Korea
Prior art keywords
data
buffer ram
input
adder
outputs
Prior art date
Application number
KR1019980001860A
Other languages
English (en)
Other versions
KR19990066175A (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 KR1019980001860A priority Critical patent/KR100386244B1/ko
Publication of KR19990066175A publication Critical patent/KR19990066175A/ko
Application granted granted Critical
Publication of KR100386244B1 publication Critical patent/KR100386244B1/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
    • H03M13/6505Memory efficient implementations

Landscapes

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

Abstract

본 발명은 비터비 디코더(Viterbi Decoder)에 관한 것으로, 종래의 기술에 있어서는 필요 이상으로 큰 용량의 입력버퍼 램이 사용되어 설계 면적을 많이 차지하게 되고, 또한 데이터 전송률이 높아지는 것에 따라 한꺼번에 많은 양의 데이터 입력을 처리하기 위해 많은 양의 입력 램이 사용되어야 하는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 입력되는 데이터 중 홀수번째(혹은 짝수번째) 어드레스 데이터를 저장함과 동시에 출력하는 입력버퍼 램과; 데이터 전송율을 알기위해 데이터를 누산하여 저장하는 누산버퍼 램과; 입력받은 두 개의 연속적인 데이터를 더하여 상기 누산버퍼 램으로 출력하는 제1 가산부와; 상기 입력버퍼 램의 출력을 입력받아 상기 제1 가산부로 출력한 후, 입력되는 데이터 중 짝수번째(혹은 홀수번째) 어드레스 데이터를 직접 입력받아 이 입력데이터와 함께 들어오는 스트로브에 의해 상기 짝수번째(혹은 홀수번째) 어드레스 데이터를 상기 제1 가산부로 출력하는 제1 멀티플렉서와; 입력받은 연속적인 두 개의 데이터를 더하여 상기 누산버퍼 램으로 출력하는 제2 가산부와; 상기 누산버퍼 램의 출력을 입력받아 내부에서 발생한 제어신호에 의해 상기 제2 가산부 또는 감산부 중 하나를 선택하여 출력하는 제2 멀티플렉서와; 상기 제2 멀티플렉서 및 입력버퍼 램의 출력을 입력받아 감산을 하는 감산부와; 상기 감산부 및 입력버퍼 램의 출력을 입력받아 내부에서 발생한 제어신호에 의해 이 중 하나를 선택하여 출력하는 제3 멀티플렉서와; 해밍간격(Hamming Distance)을 계산하기 위한 가산비교선택부(Add Compare Select : ACS)와; 역추적(Trace-Back : 이하, TB)을 통하여 데이터를 복원하는 TB 램으로 구성된 장치를 제공함으로써, 입력버퍼 램의 크기(용량)을 복원동작 및 타이밍에 영향을 주지않고, 종래보다 반으로 줄일 수 있어 설계면적의 축소와 재료비의 절감으로 인한 경제적인 효과가 있다.

Description

비터비 디코더
본 발명은 비터비 디코더(Viterbi Decoder)에 관한 것으로, 특히 다른 블록과의 인터페이스와 입력 데이터를 저장하기 위한 입력버퍼 램의 용량크기를 복수개의 멀티플렉서와 조합로직을 이용하여 반으로 줄인 비터비 디코더에 관한 것이다.
도 1은 종래 비터비 디코더의 구성을 간략하게 보인 블록도로서, 이에 도시된 바와 같이 비터비 디코더에 입력되는 입력 데이터를 저장하는 입력버퍼 램(10)과; 데이터 전송율을 알기위해 데이터를 누산하여 저장하는 누산버퍼 램(11)과; 해밍간격(Hamming Distance)을 계산하기 위한 가산비교선택부(Add Compare Select : 이하, ACS, 12)와; 역추적(Trace-Back : 이하, TB)을 통하여 데이터를 복원하는 TB 램(13)과; 상기 입력버퍼 램(10)으로부터 입력받은 두 개의 연속적인 데이터를 더하여 상기 누산버퍼 램(11)으로 출력하는 제1 가산부(14)와; 상기 누산버퍼 램(11)으로부터 입력받은 연속적인 두 개의 데이터를 더하여 다시 상기 누산버퍼 램(11)으로 출력하는 제2 가산부(15)로 구성되는데, 이와 같이 구성된 종래의 동작과정을 설명하면 다음과 같다.
비터비 디코더에서 사용되는 입력 데이터의 수가 384개라 가정하면 입력버퍼 램(10)의 크기는 384×4(data width)이고, 비터비 디코더가 4개의 서로 다른 데이터 전송율을 사용한다고 가정하면(14.4K→384, 9.6K→192, 4.8K→96, 2.4K→48) 먼저, 첫 번째로 14.4K의 데이터 전송율에 의한 동작을 위해서는 입력버퍼 램(10)의 데이터를 direct_in 라인을 통해 바로 ACS(12)로 전송하며, 두 번째로 9.6K의 데이터 전송율에 의한 동작을 위해서 상기 입력버퍼 램(10)의 데이터를 A_in 라인을 통해 제1 가산부(14)로 전송하고, 이 제1 가산부(14)는 짝수(even) 어드레스 데이터는 래치(latch)하고 있다가 홀수(odd) 어드레스 데이터가 입력되면 두 어드레스 데이터를 더한 다음 누산버퍼 램(11)의 누산기(미도시)로 전송하여 결국, 누산버퍼 램(11)에는 192개의 데이터가 저장되며, 이 동작이 완료된 후 상기 누산버퍼 램(11)은 acc_in 라인을 통해 ACS(12)로 전송하고, 이 ACS(12) 및 TB 램(13)의 프로세싱(processing)에 의해 9.6K에서의 데이터로 복원되며, 세 번째로 4.8K(또는 2.4K)의 데이터 전송율에 의한 동작을 위해서 상기 누산버퍼 램(11)의 데이터를 제2 가산부(15)로 전송하면 이 제2 가산부(15)는 짝수 어드레스 데이터를 래치하고 있다가 홀수 어드레스 데이터가 입력되면 두 어드레스 데이터를 더한 다음 다시 상기 누산버퍼 램(11)의 누산기(미도시)로 전송하여 상기 누산버퍼 램(11)에는 96개(또는 48개)의 데이터가 저장되고, 이 동작이 완료된 후 상기 누산버퍼 램(11)은 acc_in 라인을 통해 ACS(12)로 전송하며, 이 ACS(12) 및 TB 램(13)의 프로세싱에 의해 4.8K(또는 2.4K)에서의 데이터로 복원된다.
격국, TB 램(13)의 데이터 출력단을 통해 14.4K, 9.6K, 4.8K, 2.4K 때의 데이터를 추출한 후, 실제로 전송한 데이터를 찾아 중앙처리장치(미도시)에 전송함으로써, 동작이 완료된다.
상기와 같이 종래의 기술에 있어서는 필요 이상으로 큰 용량의 입력버퍼 램이 사용되어 설계 면적을 많이 차지하게 되고, 또한 데이터 전송률이 높아지는 것에 따라 한꺼번에 많은 양의 데이터 입력을 처리하기 위해 많은 양의 입력 램이 사용되어야 하는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 복수개의 멀티플렉서와 감산기를 이용하여 입력버퍼 램의 용량을 반으로 줄이는 장치를 제공함에 그 목적이 있다.
도 1은 종래 비터비 디코더의 구성을 간략하게 보인 블록도.
도 2는 본 발명 비터비 디코더의 구성을 간략하게 보인 블록도.
***도면의 주요 부분에 대한 부호의 설명***
10, 20 : 입력버퍼 램 11, 24 : 누산버퍼 램
12, 28 : 가산비교선택부(ACS) 13, 29 : 역추적(TB) 램
14, 22 : 제1 가산부 15, 23 : 제2 가산부
21, 26, 27 : 멀티플렉서 25 : 감산부
이와 같은 목적을 달성하기 위한 본 발명의 구성은 입력되는 데이터 중 홀수번째(혹은 짝수번째) 어드레스 데이터를 저장함과 동시에 출력하는 입력버퍼 램과; 데이터 전송율을 알기위해 데이터를 누산하여 저장하는 누산버퍼 램과; 입력받은 두 개의 연속적인 데이터를 더하여 상기 누산버퍼 램으로 출력하는 제1 가산부와; 상기 입력버퍼 램의 출력을 입력받아 상기 제1 가산부로 출력한 후, 입력되는 데이터 중 짝수번째(혹은 홀수번째) 어드레스 데이터를 직접 입력받아 이 입력데이터와 함께 들어오는 스트로브에 의해 상기 짝수번째(혹은 홀수번째) 어드레스 데이터를 상기 제1 가산부로 출력하는 제1 멀티플렉서와; 입력받은 연속적인 두 개의 데이터를 더하여 상기 누산버퍼 램으로 출력하는 제2 가산부와; 상기 누산버퍼 램의 출력을 입력받아 내부에서 발생한 제어신호에 의해 상기 제2 가산부 또는 감산부 중 하나를 선택하여 출력하는 제2 멀티플렉서와; 상기 제2 멀티플렉서 및 입력버퍼 램의 출력을 입력받아 감산을 하는 감산부와; 상기 감산부 및 입력버퍼 램의 출력을 입력받아 내부에서 발생한 제어신호에 의해 이 중 하나를 선택하여 출력하는 제3 멀티플렉서와; 해밍간격(Hamming Distance)을 계산하기 위한 가산비교선택부(Add Compare Select : ACS)와; 역추적(Trace-Back : 이하, TB)을 통하여 데이터를 복원하는 TB 램으로 구성함을 특징으로 한다.
이하, 본 발명에 따른 일실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도 2는 본 발명 비터비 디코더의 구성을 간략하게 보인 블록도로서, 이에 도시한 바와 같이 입력되는 데이터 중 홀수번째(혹은 짝수번째) 어드레스 데이터를 저장함과 동시에 출력하는 입력버퍼 램(20)과; 데이터 전송율을 알기위해 데이터를 누산하여 저장하는 누산버퍼 램(24)과; 입력받은 두 개의 연속적인 데이터를 더하여 상기 누산버퍼 램으로 출력하는 제1 가산부(22)와; 상기 입력버퍼 램(20)의 출력을 입력받아 상기 제1 가산부(22)로 출력한 후, 입력되는 데이터 중 짝수번째(혹은 홀수번째) 어드레스 데이터를 직접 입력받아 이 입력데이터와 함께 들어오는 스트로브에 의해 상기 짝수번째(혹은 홀수번째) 어드레스 데이터를 상기 제1 가산부(22)로 출력하는 제1 멀티플렉서(21)와; 입력받은 연속적인 두 개의 데이터를 더하여 상기 누산버퍼 램(24)으로 출력하는 제2 가산부(23)와; 상기 누산버퍼 램(24)의 출력을 입력받아 내부에서 발생한 제어신호에 의해 상기 제2 가산부(23) 또는 감산부(25) 중 하나를 선택하여 출력하는 제2 멀티플렉서(26)와; 상기 제2 멀티플렉서(26) 및 입력버퍼 램(20)의 출력을 입력받아 감산을 하는 감산부(25)와; 상기 감산부(25) 및 입력버퍼 램(20)의 출력을 입력받아 내부에서 발생한 제어신호에 의해 이 중 하나를 선택하여 출력하는 제3 멀티플렉서(27)와; 해밍간격(Hamming Distance)을 계산하기 위한 가산비교선택부(Add Compare Select : ACS, 28)와; 역추적(Trace-Back : 이하, TB)을 통하여 데이터를 복원하는 TB 램(29)으로 구성한다.
이와 같이 구성한 본 발명에 따른 일실시예의 동작 과정 및 작용 효과를 설명하면 다음과 같다.
먼저, 입력데이터 중에서 짝수(혹은 홀수) 어드레스를 갖는 데이터를 입력버퍼 램(20)에 저장하고, 동시에 제1 멀티플렉서(21)를 통해 제1 가산부(22)로 입력되어 래치되며, 이후 입력되는 홀수(혹은 짝수) 어드레스 데이터는 상기 입력버퍼 램(20)에 입력되지 않고, 상기 제1 멀티플렉서(21)를 통하여 상기 제1 가산부(22)로 입력되며, 이때 상기 제1 가산부(22)는 상기 두 어드레스 데이터의 값을 더하여 CNT1_OUT 라인을 통해 누산버퍼 램(24)으로 입력된다.
이렇게 반복되어 입력데이터의 전송이 완료되면 결국, 입력버퍼 램에는 짝수(혹은 홀수)어드레스를 갖는 입력데이터만 저장되어져 종래 용량의 ½만을 쓰게된다.
입력데이터가 전부 입력되면 비터비 디코더는 먼저 14.4K의 전송율에서의 데이터 복원을 위해서는 입력버퍼 램(20)의 데이터를 ACS(28)로 전송해야 하는데, 상기 입력버퍼 램(20)에는 단지 짝수(혹은 홀수) 어드레스 데이터만을 가지고 있기 때문에 홀수(혹은 짝수) 어드레스 데이터에 해당하는 데이터는 상기 누산버퍼 램(24)으로부터 제2 멀티플렉서(26)에서 읽어들인 후, 이를 감산부(25)로 출력하며, 상기 감산부(25)는 상기 제2 멀티플렉서(26)의 출력을 상기 입력버퍼 램(20)으로부터 입력되는 짝수(혹은 홀수) 어드레스 데이터와 감산을 하여 얻은 홀수(혹은 짝수) 어드레스 데이터를 제3 멀티플렉서(27)로 출력한다.
상기 제3 멀티플렉서(27)는 14.4K 전송율일때는 상기 감산부(25)의 출력을 상기 ACS(28)로 출력하고, 그 외의 경우(9.6K, 4.8K, 2.4K의 전송율) 일때는 상기 입력버퍼 램(20)의 출력을 상기 ACS(28)로 출력하게 된다.
14.4K 전송율로 데이터의 복원동작이 완료된 후, 다음 전송율로의 동작은 종래와 동일하게 이루어진다.
이상에서 설명한 바와 같이 본 발명 비터비 디코더는 입력버퍼 램의 크기(용량)을 복원동작 및 타이밍에 영향을 주지않고, 종래보다 반으로 줄일 수 있어 설계면적의 축소와 재료비의 절감으로 인한 경제적인 효과가 있다.

Claims (1)

  1. 입력되는 데이터 중 홀수번째(혹은 짝수번째) 어드레스 데이터를 저장함과 동시에 출력하는 입력버퍼 램과; 데이터 전송율을 알기위해 데이터를 누산하여 저장하는 누산버퍼 램과; 입력받은 두 개의 연속적인 데이터를 더하여 상기 누산버퍼 램으로 출력하는 제1 가산부와; 상기 입력버퍼 램의 출력을 입력받아 상기 제1 가산부로 출력한 후, 입력되는 데이터 중 짝수번째(혹은 홀수번째) 어드레스 데이터를 직접 입력받아 이 입력데이터와 함께 들어오는 스트로브에 의해 상기 짝수번째(혹은 홀수번째) 어드레스 데이터를 상기 제1 가산부로 출력하는 제1 멀티플렉서와; 입력받은 연속적인 두 개의 데이터를 더하여 상기 누산버퍼 램으로 출력하는 제2 가산부와; 상기 누산버퍼 램의 출력을 입력받아 내부에서 발생한 제어신호에 의해 상기 제2 가산부 또는 감산부 중 하나를 선택하여 출력하는 제2 멀티플렉서와; 상기 제2 멀티플렉서 및 입력버퍼 램의 출력을 입력받아 감산을 하는 감산부와; 상기 감산부 및 입력버퍼 램의 출력을 입력받아 내부에서 발생한 제어신호에 의해 이 중 하나를 선택하여 출력하는 제3 멀티플렉서와; 해밍간격(Hamming Distance)을 계산하기 위한 가산비교선택부(Add Compare Select : ACS)와; 역추적(Trace-Back)을 통하여 데이터를 복원하는 역추적 램으로 구성함을 특징으로 하는 비터비 디코더.
KR1019980001860A 1998-01-22 1998-01-22 비터비 디코더 KR100386244B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980001860A KR100386244B1 (ko) 1998-01-22 1998-01-22 비터비 디코더

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980001860A KR100386244B1 (ko) 1998-01-22 1998-01-22 비터비 디코더

Publications (2)

Publication Number Publication Date
KR19990066175A KR19990066175A (ko) 1999-08-16
KR100386244B1 true KR100386244B1 (ko) 2004-01-24

Family

ID=37417550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980001860A KR100386244B1 (ko) 1998-01-22 1998-01-22 비터비 디코더

Country Status (1)

Country Link
KR (1) KR100386244B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100939422B1 (ko) * 2005-04-07 2010-01-28 노키아 코포레이션 디코더 메트릭에 의거한 블라인드 전송 포맷 검출

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950013117A (ko) * 1993-10-28 1995-05-17 배순훈 개선된 비터비 디코딩 방법
KR950022261A (ko) * 1993-12-18 1995-07-28 양승택 코드 분할 다중 접근방식 비터비 복호기
KR950030501A (ko) * 1994-04-12 1995-11-24 이헌조 범용 비터비 디코더
KR960705437A (ko) * 1993-09-24 1996-10-09 하비 피. 화이트 코드 분할 다중 접속 시스템 어플리케이션용 다중속도 직렬 비터비 디코더(multirate serial viterbi decoder for code division multiple access system applications)
US5619514A (en) * 1994-12-29 1997-04-08 Lucent Technologies Inc. In-place present state/next state registers
JPH09232972A (ja) * 1996-02-28 1997-09-05 Sony Corp ビタビ復号器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960705437A (ko) * 1993-09-24 1996-10-09 하비 피. 화이트 코드 분할 다중 접속 시스템 어플리케이션용 다중속도 직렬 비터비 디코더(multirate serial viterbi decoder for code division multiple access system applications)
KR950013117A (ko) * 1993-10-28 1995-05-17 배순훈 개선된 비터비 디코딩 방법
KR950022261A (ko) * 1993-12-18 1995-07-28 양승택 코드 분할 다중 접근방식 비터비 복호기
KR950030501A (ko) * 1994-04-12 1995-11-24 이헌조 범용 비터비 디코더
US5619514A (en) * 1994-12-29 1997-04-08 Lucent Technologies Inc. In-place present state/next state registers
JPH09232972A (ja) * 1996-02-28 1997-09-05 Sony Corp ビタビ復号器

Also Published As

Publication number Publication date
KR19990066175A (ko) 1999-08-16

Similar Documents

Publication Publication Date Title
US5602780A (en) Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
KR100694440B1 (ko) 반도체기억장치
JP2996615B2 (ja) ビタビ復号装置及びその方法
US3571807A (en) Redundancy reduction system with data editing
US6112268A (en) System for indicating status of a buffer based on a write address of the buffer and generating an abort signal before buffer overflows
KR100386244B1 (ko) 비터비 디코더
KR920003176B1 (ko) 정렬처리장치의 제어데이타 생성장치
JPH08251038A (ja) ビタビ復号器におけるトレースバック遂行装置
JPH04241521A (ja) 畳込み符号の復号回路
KR100277682B1 (ko) 줄길이 복호 시스템의 오류 검출 장치
CN102576301B (zh) 包括fifo存储器的接口连接电路
CN109376098B (zh) 前向旁路缓存电路
KR0155516B1 (ko) 비터비 복호기에서 한개의 메모리를 사용한 상태 매트릭 메모리 운용방법 및 그 장치
KR19990013315A (ko) 반도체 기억 장치
JP3152017B2 (ja) 符号伝送装置
JP3225763B2 (ja) 符号化装置および復号化装置
JP3761962B2 (ja) タイムスイッチメモリのデータ制御装置
US6229462B1 (en) Method and apparatus for reducing the disparity of set and clear bits on a serial line
SU1238066A1 (ru) Устройство дл вычислени функции двоичной экспоненты
CN114816319A (zh) 一种fifo存储器的多级流水读写方法和装置
KR0124771Y1 (ko) 병렬 데이타 선입 선출 장치
KR950030501A (ko) 범용 비터비 디코더
JPH04290073A (ja) 画像データ圧縮装置
JPH04130875A (ja) 増幅型イメージセンサにおける固定パターンノイズ抑圧回路
JPS6041385A (ja) 時間スイツチ回路

Legal Events

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

Payment date: 20060502

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee