KR0148060B1 - Viterbi 복호기의 ACS를 위한 메모리 최적 구조 - Google Patents

Viterbi 복호기의 ACS를 위한 메모리 최적 구조 Download PDF

Info

Publication number
KR0148060B1
KR0148060B1 KR1019950030652A KR19950030652A KR0148060B1 KR 0148060 B1 KR0148060 B1 KR 0148060B1 KR 1019950030652 A KR1019950030652 A KR 1019950030652A KR 19950030652 A KR19950030652 A KR 19950030652A KR 0148060 B1 KR0148060 B1 KR 0148060B1
Authority
KR
South Korea
Prior art keywords
address
smm
acs
memory
bit
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019950030652A
Other languages
English (en)
Other versions
KR970019126A (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 KR1019950030652A priority Critical patent/KR0148060B1/ko
Publication of KR970019126A publication Critical patent/KR970019126A/ko
Application granted granted Critical
Publication of KR0148060B1 publication Critical patent/KR0148060B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107—Sequence 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
    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00—Coding, 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/65—Purpose and implementation aspects
    • H03M13/6502—Reduction of hardware complexity or efficient processing
    • H03M13/6505—Memory 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

본 발명에서는 비터비 복호기의 주요부분의 하나인 ACS부의 설계에 관한 것으로 특히, 순환길쌈 부호화의 중요 관점인 구속장 K에 따라 변화하는 SMM(State Metric Memory)의 크기를 어드레싱 기법을 사용하여 최적화하기 위한 비터비(Viterbi) 복호기의 ACS를 위한 메모리 최적 구조에 관한 것이다.

Description

Viterbi 복호기의 ACS를 위한 메모리 최적 구조
제1도는 SMM(State Metric Memory)주소 발생기 설계도.
제2도는 SM부의 기능 블럭도.
제3도는 SMM 짝수 주소 발생기 설계도.
제4도는 SMM 홀수 주소 발생기 설계도.
제5도는 DATA TO SMM의 설계도.
제6도는 DATA FROM SMM의 설계도.
제7도는 비트 셔플러를 이용한 X발생기 설계도.
제8도는 한조의 메모리 사용시 상태값 갱신의 흐름 예시도.
제9도는 현단계가 '1'이고 SMM EVEN이 '2'인 경우의 종래 방식의 예시도.
본 발명에서는 비터비 복호기의 주요부분의 하나인 ACS부의 설계에 관한 것으로 특히, 순환길쌈 부호화의 중요 관점인 구속장 K에 따라 변화하는 SMM(State Metric Memory)의 크기를 어드레싱 기법을 사용하여 최적화하기 위한 비터비(Viterbi) 복호기의 ACS를 위한 메모리 최적 구조에 관한 것이다.
일반적으로, CDMA 디지틀 셀룰라 시스팀의 순방향 및 역방향 링크에서 사용되는 비터비 복호기는 BM(Branch Metric)부와 ACS(Add Compare Select)부 및 TB(Trace Back)부 등으로 크게 주요 3부분으로 구성되어 있다.
비터비 복호기의 실질적인 하드웨어의 부피나 복잡도에 있어서 높은 비중하고 있는 부분은 ACS부와 TB부에서의 메모리 및 이를 관리하기 위한 회로이다. 처리시간의 소요면에서 주요한 부분은 복호기능을 위하여 수많은 덧셈 및 비교를 수행하는 ACS부이다. 보통 한쌍의 ACS는 128개의 상태상에 대한 상태값을 순차적으로 계산한다. 이때, 먼저 수행되어 발생한 새로운 상태값이 이후의 ACS에 사용할 상태값을 갱신하지 않도록 저장되어야 한다.
상기와 같은 이를 위하여 일반적으로 사용되는 메모리 구조는 다음의 두가지가 있다.
첫째는, 읽기와 쓰기의 메모리를 각각 할당하여 사용하는 방식이다. 이는 상태의 두배 크기의 메모리가 요구되어 고집적해야 하는 하드웨어 및 가격면에서도 매우 비효율적이다.
둘째는, 상태만큼의 메모리를 적당한 메모리 관리를 통해 사용한다. 이는 한쌍의 ACS수행을 위하여 상태값을 읽고 쓰는데 각각 두번의 메모리 주소가 필요하다. 즉, 상태값을 읽고 쓰는데 두배의 시간이 소요되어 SVD의 ACS부 구조로는 규정된 통신속도에 복호기능을 수행하기 어렵다.
그러므로, 상기와 같은 종래의 메모리 구조로는 생산 단가적인 측면과 생산효율 또는 유지보수의 측면에서 상당한 문제점을 내재하고 있으므로 실제적용상의 어려움이 발생되었다.
상기와 같은 종래기술의 문제점을 해소하기 위한 본 발명의 목적은 SMM을 짝수 패리티상태와 홀수 패리티상태의 메모리로 분할하였으며, 고안한 주소 발생기 및 비트 셔플러를 이용하여 효율적으로 관리함으로써 메모리 크기 및 소요시간 문제를 동시에 해결할 수 있는 Viterbi 복호기의 ACS를 위한 메모리 최적 구조를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 특징은, SMM(State Metric Memory)주소 발생기에 있어서, 상태값 갱신을 위한 8단계의 주소 발생 순서쌍은 단계별로 발생되는 주소쌍중 짝수 주소는 7bit 이진카운터를 이용하여 발생시켰고, 홀수 주소는 짝수 주소의 현 단계(stage)에 위치한 bit만 반전시켜서 발생시키는데 있다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 설명한다.
제1도는 SMM(State Metric Memory)주소 발생기 설계도로서, 상태값 갱신을 위한 8단계의 주소 발생 순서쌍은 단계별로 발생되는 주소쌍중 짝수 주소는 7bit 이진카운터를 이용하여 발생시켰고, 홀수 주소는 짝수 주소의 현 단계(stage)에 위치한 bit만 반전시켜서 발생시켰다.(3비트 카운터, 3×8 디코더 이용)
제2도는 SM부의 기능 블럭도로서, SMM에서 읽은 해당 상태값을 ACS에 보내고, ACS에서 처리한 결과를 SMM에 보내는 일과 SMM주소 흐름을 나타낸 것이다.
제3도는 SMM 짝수 주소발생기 설계도로서, 200ns 주기의 SMM EVEN용 주소를 SMM 주소발생기로부터 A[6:0]을 수신하여 100ns 주기의 쓰기용 주소를 발생(7-bit MUX, 7-Bit D f/f 이용)한다. 여기서, ACLK 200ns의 앞부분 high 100ns은 읽기용 뒷부분 low 100ns은 쓰기용의 주소로 분리한다. 단, 쓰기용 주소는 ACS부의 pipeline 효과로 인해 ACS 3번째부터 발생(읽기용 주소보다 2주기 늦음, 버퍼2개로 타이밍 맞춤)한다.
제4도는 SMM 홀수 주소 발생기 설계도로서, Even의 경우와 동작원리는 같으며 SMM주소발생기로부터 W[6:0]를 수신하여 100ns주기의 읽기용 발생(7-bit MUX, 타이밍을 위한 7-bit D f/f 이용)한다.
제5도는 DATA TO SMM의 설계도로서, ACS로부터 SM_0X(F_SM0X[5:0])와 SM_1X(F_SM1X[5:0])을 수신하여 SMM에 쓰기용 데이터(OW_EDATA[5:0, OW_ODATA[5:0])을 송신한다.
단, SMM은 EVEN과 ODD로 구분이 되어 있으므로 수신한 두개의 상태가 작수인지 홀수인지 X[6:0]의 패리티로서 판별하여 SMM으로 송신한다.
이유는 X가 현상태의 하위 7비트를 표시하므로 상태가 OX의 경우 X의 패리티만 체크하면 Even 상태인지 ODD 상태인지 알 수 있기 때문이다. 그리고, 송신시 SMM에서 읽은 데이터와의 충돌을 방지하기 위해 ACLK의 Low부분에서 보낸다.(6-Bit, MUX, 타이밍을 맞추기 위해 7-Bit D f/f 이용)
제6도는 DATA FROM SMM의 설계도로서, SMM으로부터 상태값(R_EDATA[5:0], R_ODATA[5:0]) 읽어서 SM_X0(T_SMXO)인지 SM_X1(T_SMX1[5:0])인지 판별하여 ACS부로 보내는 동작을 수행하는 회로이다. SM_X0인지 SM_X1인지 판별은 X 발생기로부터 수신한 XLSB부터 수신한 XLSB로서 한다. 또한, ACS 129 - 130 번째는 파이프(pipe)를 비우기 위해 ACS부로 '0' 데이타를 보내준다. 즉, 6비트 MUX, 타이밍을 맞추기 위해 7-Bit D f/f이용함.
제7도는 비트 셔플러를 이용한 X발생기 설계도로서, SMM 주소 발생기로부터 A[6:0]를 받아 8단계마다 반복되는 단계를 선택신호가 3-Bit인 MUX를 이용하여 X와 상태값이 SM_X1인지를 구별하기 위한 XLSB를 구하는 회로(MUX로 구성)이다. 따라서, 본 발명에서는 주요부분의 하나인-ACS부의 설계에 있어서 구속장 K에 따라 변화하는 SMM(State Metric Memory)의 크기를 어드레싱 기법을 사용하여 최적화하였으며 이를 위하여 주소발생기(Address Generator)를 설계하였다.
그리고, SMM의 최적화로 인하여 요구된 TBM(Trace Back Memory)의 주소발생을 위하여 비트 셔플러(Bit Shuffler)를 설계한 것이다. 즉, 본 발명에서는 효율적인 메모리 사용을 위해서 짝수 패리티 상태와 홀수 패리티 상태의 한조의 128워드 메모리로 SMM을 구성했다.
상태0과 상태1의 상태값은 갱신되어 상태0과 128의 위치에 저장된다. 만약, 256워드의 메모리를 한개만 사용한다면 이후에 읽어오는 상태 128의 값은 이미 갱신된 상태이기 때문에 이를 그대로 사용하는 것은 다음 상태의 값을 현 상태에 그대로 적용한 것과 같은 결과가 되므로 바람직하지 않다.
따라서, 메모리를 한조만 사용하면서 기대하는 결과를 얻으려면 잘 고안된 번지 발생 방법이 필요하다.
상술한 바와 같은 필요요인의 발생원인을 첨부한 도면을 참조하여 부연 설명하면, 제8도는 한조의 메모리 사용시 상태값 갱신의 흐름을 나타낸다.
상기 제8도에 도시되어 있는 동작의 흐름을 살펴보면 흐름이 8단계마다 반복됨을 알 수 있다. 이 흐름도에 근거해서 상태값 갱신 8단계에 대한 주소 발생기를 설계했다. 짝수 패리티상에 메모리의 주소는 7-bit이진 카운터에 의해서 발생했으며, 홀수 패리티상에 메모리의 주소는 짝수 패리티 상태 메모리의 주소를 이진값으로 나타내어 각 단계 표시 숫자를 이진값의 위치로 하여 보수를 취하면 얻어진다.
TBM(Traceback Memory)는 0에서 127까지의 TBMO와 상태 128에서 255까지의 TBM1의 한조의 128워드 메모리로 구성된다. TBM주소는 ACS연산후 나비구조에 의한 최상위비트(MSB)SMS 다른 두 상태에 의해서 결정된다. 현재 임의 상태의 상위 7-bit(나비구조에서 X로 표기됨)가 바로 TBM의 주소이다.
따라서, 현재 상태를 찾아서 상위 7-bit를 알아내면 된다. 현재의 상태는 짝수 패리티상태 메모리(SMM EVEN)의 주소(7-bit 이진 카운터에 의해서 발생)와 현 단계만 알면 알 수 있다. 7-bit 주소를 짝수 패리티로 하는 1-bit를 가장 낮은 위치에 부가한 8-bit이진값을 현 단계만큼 오른쪽으로 순환시키면 현 상태를 구할 수 있다.
첨부한 도면중 제9도는 현 단계가 1이고 SMM EVEN이 2인 경우 현 상태를 구하는 종래의 방식에 따른 과정을 나타낸 것이다. 상기 제9도와 같은 방법은 오른쪽으로 순환 시키면서 현 상태를 구하기 때문에 많은 시간이 소요되어 짧은 시간을 요구하는 SVD에서는 적절하지 못하다.
그러기에 제1도 내지 제7도를 참조하여 상술하였던 비트 셔플러를 이용한 X발생기를 본 발명에서 구현한 것이다.
상술한 바와 같은 본 발명을 제공하면, SMM을 짝수 패리티상태와 홀수 패리티상태의 메모리로 분할하였으며, 고안한 주소 발생기 및 비트 셔플러를 이용하여 효율적으로 관리함으로써 메모리 크기 및 소요시간 문제를 동시에 해결하였다. 이는 고집적해야 하는 하드웨어 및 가격면에서도 매우 효율적이며, 또한 규정된 통신 속도에 복호가 가능하다.

Claims (4)

  1. SMM(State Metric Memory)주소 발생기에 있어서, 상태값 갱신을 위한 8단계의 주소 발생 순서쌍은 단계별로 발생되는 주소쌍중 짝수 주소는 7bit 이진카운터를 이용하여 발생시켰고, 홀수 주소는 짝수 주소의 현 단계(stage)에 위치한 bit만 반전시켜서 발생시키는 구조를 특징으로 하는 Viterbi 복호기의 ACS를 위한 메모리 최적 구조.
  2. 제1항에 있어서, 상기 SMM 짝수 주소를 발생시키는 수단은 200ns 주기의 SMM EVEN용 주소를 SMM 주소발생기로부터 A[6:0]을 수신하여 100ns 주기의 쓰기용 주소를 발생(7-bit MUX, 7-Bit D f/f 이용)하는데, ACLK 200ns의 앞부분 high 100ns은 읽기용 뒷부분 low 100ns은 쓰기용의 주소로 분리하는 것을 특징으로 하는 Viterbi 복호기의 ACS를 위한 메모리 최적 구조.
  3. 제2항에 있어서, 상기 쓰기용 주소는 ACS부의 pipeline효과로 인해 ACS 3번째부터 발생(읽기용 주소보다 2주기 낮음, 버퍼2개로 타이밍 맞춤)하는 것을 특징으로 하는 Viterbi 복호기의 ACS를 위한 메모리 최적 구조.
  4. 제1항에 있어서, 상기 SMM 홀수 주소를 발생시키기 위한 수단은 Even의 경우와 동작원리는 같으며 SMM 주소발생기로부터 W[6:0]를 수신하여 100ns주기의 읽기용 주소를 발생(7-bit MUX, 타이밍을 위한 7bit D f/f 이용)하는 것을 특징으로 하는 Viterbi 복호기의 ACS를 위한 메모리 최적 구조.
KR1019950030652A 1995-09-19 1995-09-19 Viterbi 복호기의 ACS를 위한 메모리 최적 구조 Expired - Fee Related KR0148060B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950030652A KR0148060B1 (ko) 1995-09-19 1995-09-19 Viterbi 복호기의 ACS를 위한 메모리 최적 구조

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950030652A KR0148060B1 (ko) 1995-09-19 1995-09-19 Viterbi 복호기의 ACS를 위한 메모리 최적 구조

Publications (2)

Publication Number Publication Date
KR970019126A KR970019126A (ko) 1997-04-30
KR0148060B1 true KR0148060B1 (ko) 1998-12-01

Family

ID=19427184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950030652A Expired - Fee Related KR0148060B1 (ko) 1995-09-19 1995-09-19 Viterbi 복호기의 ACS를 위한 메모리 최적 구조

Country Status (1)

Country Link
KR (1) KR0148060B1 (ko)

Also Published As

Publication number Publication date
KR970019126A (ko) 1997-04-30

Similar Documents

Publication Publication Date Title
KR100426712B1 (ko) 비터비 복호기
US5928378A (en) Add-compare-select processor in Viterbi decoder
JPH10107651A (ja) ビタビ復号装置
US6182265B1 (en) Method for encoding a channel using a parallel convolutional encoder
JP2996615B2 (ja) ビタビ復号装置及びその方法
KR100779782B1 (ko) 비터비 디코더 용 고속 acs 유닛
RU2002113295A (ru) Высокоскоростной модуль сложения /сравнения/ выбора для декодера витерби
US7581160B2 (en) ACS circuit and Viterbi decoder with the circuit
US6792570B2 (en) Viterbi decoder with high speed processing function
KR100311504B1 (ko) 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법
US6304617B1 (en) Viterbi decoder
JP2003530753A (ja) 高速acsビタビデコーダの実行のためにメモリ内の状態の距離を効率的に読出して記憶するための方法および装置
US6886128B2 (en) Decoding apparatus, decoding method, data-receiving apparatus and data-receiving method
US8401126B2 (en) Viterbi decoding apparatus
CN1647391B (zh) 提供网格解码数据的设备和方法
KR20040050754A (ko) 고속 비터비 디코더
JP2904271B2 (ja) ビタビ復号器用パスメモリユニットおよび復号方法
JP4422867B2 (ja) ビタビデコーダ
EP1192719A1 (en) Viterbi decoder
JPH0361375B2 (ko)
KR100410995B1 (ko) 즉시역추적 알고리즘을 이용한 비터비 복호기용 생존경로메모리 관리 방법 및 그 장치
KR20010008761A (ko) 병렬 가산비교선택회로 및 트레이스백 구조를 채용한 이동국용고속 비터비 디코더
JPH0537402A (ja) ビタビ復号器
KR100332408B1 (ko) 비터비 디코더의 생존경로 메트릭 메모리 장치
KR20040031323A (ko) 비터비 복호기의 경로 메트릭 저장 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13

FPAY Annual fee payment

Payment date: 20110511

Year of fee payment: 14

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 14

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20120522

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20120522

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000