KR100285067B1 - 비터비 디코더의 가산 비교 선택 회로 - Google Patents

비터비 디코더의 가산 비교 선택 회로 Download PDF

Info

Publication number
KR100285067B1
KR100285067B1 KR1019980039970A KR19980039970A KR100285067B1 KR 100285067 B1 KR100285067 B1 KR 100285067B1 KR 1019980039970 A KR1019980039970 A KR 1019980039970A KR 19980039970 A KR19980039970 A KR 19980039970A KR 100285067 B1 KR100285067 B1 KR 100285067B1
Authority
KR
South Korea
Prior art keywords
path metric
minimum path
memory
metric
addition comparison
Prior art date
Application number
KR1019980039970A
Other languages
English (en)
Other versions
KR20000021049A (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 KR1019980039970A priority Critical patent/KR100285067B1/ko
Priority to US09/397,756 priority patent/US6504882B1/en
Publication of KR20000021049A publication Critical patent/KR20000021049A/ko
Application granted granted Critical
Publication of KR100285067B1 publication Critical patent/KR100285067B1/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/093CRC update after modification of the information word
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

개시되는 비터비 디코더의 가산비교선택 회로는 레이트 셋 2에서 심볼이 천공(puncturing)되는 특성을 이용하여 풀 레이트에서의 가산 비교 선택 연산 시간을 단축시킬 수 있는 구성을 갖는다. 이와 같은 가산비교선택 회로에 의해서 디코딩 수행시간이 단축된다. 그 결과, CPU가 메모리로부터 프레임 데이터를 정상적으로 독출하기 위한 시간적 여유가 보장되어 비터비 디코더의 성능이 향상된다.

Description

비터비 디코더의 가산 비교 선택 회로(ADD-COMPARE-SELECT-CIRCUIT FOR VITERBI DECODER)
본 발명은 이동통신용 단말기의 모뎀 칩에 구성되는 비터비 디코더에 관한 것으로, 좀 더 구체적으로는 디코딩 수행시간이 단축된 비터비 디코더에 관한 것이다.
일반적으로 CDMA(Code Division Multiple Access)방식의 이동통신용 단말기의 모뎀 칩에는 이른바 비터비 디코더(Viterbi Decoder)가 포함된다. 이러한 비터비 디코더는 전송되는 신호에 의해 발생되는 잡음 및 채널 페이딩으로 인한 데이터의 손실을 줄이기 위해, 길쌈 부호화된 이진 심볼 스트림으로부터 원래의 심볼과 데이터 비트를 얻기 위한 디코딩을 수행한다.
CDMA 방식의 이동통신용 단말기 시스템 내에서 비터비 디코더가 동작하는 타이밍은 네 가지의 포워드 링크 채널(forward link channel) 가운데 세 개의 채널 타이밍과 관련이 있다. 상기 세 개의 채널은 다음과 같다.
- 동기 채널(sync channel)
- 페이징 채널(paging channel)
- 순방향 통과 채널(forward traffic channel)
비터비 디코더는 상기 동기 채널과 페이징 채널에서는 연속(continuous) 모드로 동작하고, 순방향 통과 채널에서는 프레임(frame) 모드로 동작한다. 상기 프레임 모드에서는 두 가지의 데이터 레이트(rate)로 동작한다. 첫 번째로, 레이트 셋 1(rate set 1)에서는 9.6k bps(bit per second)를 풀 레이트(full rate)로 하여, 4.8k, 2.4k, 1.2k의 데이터 레이트에 대한 디코딩을 차례로 수행한다. 두 번째로, 레이트 셋 2(rate set 2)에서는 14.4k bps를 풀 레이트로 하여, 7.2k, 3.6k, 1.8k의 데이터 레이트에 대한 디코딩을 차례로 수행한다.
상기 두 가지의 데이터 레이트에 대한 디코딩 수행 시간은 각 데이터 레이트에서의 프레임 크기에 비례한다. 프레임 모드에서 한 프레임을 디코딩하는 시간( Tdec )은 [수학식 1]과 같다.
[수학식 1]
Tdec= (TF+TH+TQ+TE+LTr+8) × Tstg
Tdec : 디코딩 수행 시간
TF : 풀 레이트 프레임 사이즈 TH : 1/2 레이트 프레임 사이즈
TQ : 1/4 레이트 프레임 사이즈 TE : 1/8 레이트 프레임 사이즈
LTr : 트레이스백 길이 Tstg : 1비트 추정 시간
레이트 셋 1에서 프레임 사이즈는 각각 198, 96, 48, 24 비트이고, 레이트 셋 2에서의 프레임 사이즈는 각각 288, 144, 72, 36 비트이다. 따라서, 레이트 셋 2에서의 디코딩 수행 시간은 레이트 셋 1의 그것에 비해 약 1.5 배 더 걸린다(트레이스백 길이 LTr = 64 인 경우).
도 1은 CDMA 순방향 채널의 길쌈 부호기를 도시한 블록도이다.
도 1에 도시된 길쌈 부호기(convolutional encoder)는 8 개의 지연 소자(delay element) 즉, 8-비트의 스토리지(storage)를 포함한다. 따라서, 28= 256 가지의 상태(state)를 갖는다. 기지국의 길쌈 부호기는 이동국으로 전송할 데이터 심볼에 상관(correlation)을 부여하여 길쌈 코드로 인코딩(encoding)한 코드 심볼(code symbol)을 전송한다.
브랜치 메트릭은 현재의 단계(stage)에 수신된 데이터와 모든 브랜치(branch)와의 연관성을 나타낸다. 상기 브랜치 메트릭은 256 개의 상태들로부터 두 개의 브랜치를 갖는다. 즉, 256 개의 브랜치에 대해 각각의 브랜치의 길쌈 부호와 신호의 비트에 다른 입력 심볼의 크기가 더해진 두 개의 브랜치를 갖게 된다. 2n에서 n은 길쌈 부호기의 구속장(constraint length)이다. 도면에 도시된 길쌈부호기는 구속장이 8이고, 1/2 코드 레이트(code rate)를 갖는다.
CDMA 방식의 이동통신용 단말기 시스템 내에서 비터비 디코더는 도 1에 도시된 바와 같은 길쌈 부호기에 의해 인코딩된 심볼을 디코딩한다. 비터비 디코더의 디코딩 과정은 다음과 같다. 비터비 디코더는 심볼의 모든 가짓수에 따라 상태 전이를 계산하고, 입력 심볼에 따라 각각의 상태에서 어떤 경로로 현 상태에 이르는 것이 가능성이 높은가를 계산한다.
도 2는 종래의 비터비 디코더를 도시한 블록도이다. 도면에서 참조부호 10은 비터비 디코더 컨트롤러, 20은 입력버퍼, 30은 심볼 메트릭 테이블 회로(Symbol Metric Table; SMT), 40은 브랜치 메트릭(branch metric) 계산 회로, 50은 가산비교선택(Add Compare Select; ACS) 회로, 60은 트레이스백(traceback) 그리고 70은 출력 버퍼를 각각 나타낸다.
도면에 도시된 바와 같이, 비터비 디코더의 각 블록(20~70)들은 컨트롤러(10)로부터의 컨트롤 신호에 따라 입력 데이터(IN_DATA)를 처리하여 출력시킨다. 상기 비터비 디코더의 한 블록에서 처리된 데이터는 다음 단의 블록(이른바 데이터경로)으로 입력되어 처리된다.
도 3은 한 단계에서의 상태 전이를 보여주고 있다.
도 3을 참조하면, 한 단계(stage)는 1 비트의 프레임 데이터(IN_DATA) 입력에 따라 상태(state)가 1 비트 쉬프트 되는 것을 나타내고, 디코더에서는 2-비트 심볼의 입력과 대응한다. 현재 단계 (i)에서 상태가 '0'일 때 입력이 '0'이면 다음 단계 (i+1)에서의 상태는 '0'이 되고, 입력이 '1'이면 다음 스테이지 (i+1)에서의 상태는 '128'이 된다. 이러한 각각의 전이는 그 결과로서 코드 심볼을 갖는데, 이 코드 심볼과 디코더로의 입력 심볼을 비교하여 그 전이에 대한 가중치(weight)를 계산한다. 이를 브랜치 메트릭(branch matric)이라 하며, 이것이 작을수록 그 상태 전이가 올바른 경로 상에 있을 가능성이 보다 높다는 것을 의미한다. 이 브랜치 메트릭을 모든 경로 상에서 각 상태에 대한 누적한 것을 경로 메트릭(path metric) 또는 상태 메트릭(state metric)이라 한다.
도 3에 도시된 바와 같이, 단계 (i+1)의 상태 '0'으로의 전이는 단계 (i)에서 상태 '0'과 상태 '1'로부터 이루어지고 있다. 단계 (i)에서 상태 a로의 경로 메트릭을 PMa i 라 하고, 단계 (i)의 상태 a에서 단계 (i+1)의 상태 b로의 전이가 갖는 브랜치 메트릭을 BMa,b i 라 하면, 경로 메트릭 PMa i+1 은 [수학식 2]와 같다.
[수학식 2]
PMc i+1=min (PM′a i+ BMa,c i, PM′b i+ BMb,c i)
상기 [수학식 2]에서 경로 메트릭 PMa i+1 을 구하는 과정은 "더하고(add)-비교하고(compare)-선택하는(select)" 동작이므로 가산비교선택(Add-Compare-Select; ACS)라 한다. 상기 경로 메트릭은 매 단계마다 모든 상태에 대하여 계산이 수행되어, 모든 상태로의 전이가 이전 단계의 어느 상태로부터 왔는지를 메모리에 기록해 둔다.
상기 가산비교선택 연산을 수행하는 가산비교선택 회로 구성이 도 4에 도시되어 있다.
도 4를 참조하면, ACS 회로(50)는 ACS 컨트롤러(51), ACS 연산부(52), 상기 ACS 연산부(52)로부터 출력되는 다음 상태(next state)의 경로 메트릭을 저장하는 레지스터(53), 지연부(54), 제 1 및 제 2 메모리(55, 56), 멀티플렉서(57) 그리고 상기 멀티플렉서(57)로부터 출력되는 현재 상태(current state)의 경로 메트릭을 저장하는 레지스터(58)를 포함한다. 상기 제 1 및 제 2 메모리(55, 56)는 램(Random Access Memory; RAM)으로 구성된다.
각 상태의 경로 메트릭(PM)을 저장하기 위해서는 128 * 12 사이즈의 메모리 두 개(55, 56)를 사용한다. 단계 (i)에서, 제 1 메모리(55)에는 PMa i (a는 임의의 상태)가 저장되어 있고, 제 2 메모리(56)에는 PMb i+1 (b는 임의의 상태)가 저장된다. 경로 메트릭은 5-비트의 크기를 가지며, 1 비트의 특성 비트(quality bit)가 부가되어 있으므로, 각 메모리의 워드 a에는 2 개의 경로 메트릭 PM2a j , PM2a+1 j (j는 임의의 상태)이 저장된다.
다시 도 4를 참조하면, ACS 회로(50)는 초기 단계에서 제 1 및 제 2 메모리(55, 56)를 초기화한다. 이후 매 단계마다 하나의 메모리에서 경로 메트릭을 독출하여 다음 단계의 경로 메트릭을 계산하고, 계산 결과를 다른 메모리에 저장하는 방법으로 동작한다. 제 1 또는 제 2 메모리(55, 56)에 대한 독출/기입 동작은 매 단계마다 번갈아 수행된다. 각 메모리에 대한 독출/기입 동작은 2 클럭 사이클씩 소요되므로, 하나의 단계를 처리하는 데에는 256+α(α는 ACS 연산부(52)의 계산 지연 시간) 클럭 사이클이 소요된다.
256 클럭 동안에 짝수 번째 클럭들에는 이전 단계에 대한 경로 메트릭 읽기 동작을 수행하며, 홀수 번째 클럭들에는 현 단계에 대한 경로 메트릭 쓰기 동작을 수행한다. 만일 이전 단계에서 제 1 메모리(55)의 워드라인 0과 워드라인 1로부터 독출된 경로 메트릭은 두 개의 브랜치 메트릭과 합해져 현 단계에 대한 제 2 메모리(56)의 워드라인 0과 워드라인 64에 기록되는 경로 메트릭(PM)이 구해진다.
단계 i의 최초에, 메모리로부터 PM0 i PM1 i 을 독출하여 PM0 i+1 PM128 i+1 을 계산하고, PM2 i PM3 i 을 독출하여 PM1 i+1 PM129 i+1 을 계산한다. 이어, PM4 i PM5 i 을 메모리로부터 독출할 때, PM0 i+1 PM1 i+1 을 메모리에 저장하고, PM6 i PM7 i 을 메모리로부터 독출할 때, PM128 i+1 PM129 i+1 을 메모리에 저장한다. 이와 같은 방법으로 모든 상태에 대한 ACS 연산을 수행하면, 한 단계에 대한 ACS 계산이 완료된다. 이것은 ACS 계산이 정확히 프레임 크기에 비례하고 있음을 나타낸다.
매 단계마다 경로 메트릭의 값이 누적됨에도 불구하고 5-비트 만으로 경로 메트릭을 나타내기 위해서 ACS 계산시 정규화(normalization) 및 포화 연산(saturation)을 수행한다. 이를 고려한 ACS 계산식이 [수학식 3]과 같다.
[수학식 3]
트레이스백 회로(60)는 ACS 회로(50)에서 계산한 모든 상태에서의 전이 정보를 입력받아, 최후 단계에서 최소의 경로 메트릭을 갖는 상태에서부터 역으로 추적하여, 그 경로상의 전이를 원래의 프레임 데이터로서 추적한다. 이러한 과정을 트레이스백(traceback)이라 한다.
도 5는 순방향 통과 채널에서의 비터비 디코더 동작 타이밍을 보여주고 있다.
도 5를 참조하면, 순방향 통과 채널(forward traffic channel)에서 한 프레임의 주기는 20ms이다. 프레임 주기의 개시점(a)에서 디인터리버(deinterleaver)(미 도시됨)는 프레임 동기 신호를 비터비 디코더의 컨트롤러(10)로 제공한다. 비터비 디코더는 상기 프레임 동기 신호에 동기되어 심볼 입력을 개시하고, 심볼 입력 완료 후에 디코딩을 개시한다. 디코딩 동작 완료후, 디코딩된 데이터는 다음 프레임의 디코딩 개시점(e) 이전에 CPU(Central Processing Unit)(미 도시됨)로 전송되어야 한다. 심볼 입력 시간(b)은 매우 짧은 시간이고, 프레임 데이터 디코딩 시간( Tdec )(c)은 레이트 셋 1일 때 약 11.3ms, 레이트 셋 2일 때 약 16ms이다. 상기 CPU가 프레임 데이터를 독출하는데 주어진 시간은 [수학식 4]와 같다.
[수학식 4]
Tread= 20ms - Tdec
따라서, 상기 독출 시간( Tread )은 레이트 셋 1에서는 약 8.7 ms이고, 레이트 셋 2에서는 약 4 ms 가 된다. 상기 독출 시간( Tread )이 감소할수록 CPU가 프레임 데이터를 정상적으로 독출하기에는 어려움이 따른다. 이것은 CPU의 동작 속도 및 소프트웨어의 효율 등에 영향을 받는다. 즉, CPU가 메모리(55, 56)에 저장된 프레임 데이터를 제한된 독출 시간( Tread )내에 정상적으로 독출하기 위해서는 CPU의 동작 속도가 빠르거나 소프트웨어의 구조가 효율적이어야 한다.
레이트 셋 1에서는 독출 시간이 약 8.7 ms로 비교적 안정적인 동작을 보장하지만, 레이트 셋 2에서는 4 ms로, 그 시간이 매우 짧아 CPU의 동작 속도 및 수행중인 소프트웨어의 부하에 따라 올바른 동작을 보장하지 못하는 경우가 발생할 수 있다.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, CPU가 메모리로부터 프레임 데이터를 정상적으로 독출하기 위한 시간적 여유를 보장할 수 있도록 디코딩 수행시간이 단축된 비터비 디코더를 제공하는데 있다.
도 1은 CDMA 순방향 채널의 길쌈 부호기를 도시한 블록도;
도 2는 종래의 비터비 디코더를 도시한 블록도;
도 3은 한 단계에서의 상태 전이를 보여주고 있는 도면;
도 4는 가산비교선택 연산을 수행하는 가산비교선택 회로 구성을 보여주는 블록도;
도 5는 순방향 통과 채널에서의 비터비 디코더 동작 타이밍을 보여주는 타이밍도;
도 6은 본 발명의 바람직한 실시예에 따른 비터비 디코더의 가산비교선택 회로의 구성을 보여주는 블록도;
도 7은 심볼 천공 패턴과 ACS 연산 과정을 보여주고 있는 도면; 그리고
도 8은 천공 패턴 '0101'에 대응하는 두 단계에서의 상태 전이를 보여주고 있다.
*도면의 주요 부분에 대한 부호의 설명*
10 : 비터비 디코더 컨트롤러 20 : 입력 버퍼
30 : 심볼 메트릭 테이블 회로 40 : 브랜치 메트릭 계산 회로
50 : 가산비교선택 회로 51 : ACS 컨트롤러
52 : ACS 연산부 53, 58 : 레지스터
54 : 지연부 55 : 제 1 메모리
56 : 제 2 메모리 57 : 멀티플렉서
60 : 트레이스백 70 : 출력 버퍼
100 : 가산비교선택 회로 110 : ACS 컨트롤러
120 : 제 1 연산부 130 : 제 2 연산부
122, 132 : ACS 연산부 124, 134 : 레지스터
126, 136 : 지연부 140 : 제 1 멀티플렉서
150 : 제 1 메모리 160 : 제 2 메모리
170 : 제 2 멀티플렉서 180 : 레지스터
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 비터비 디코더의 가산비교선택 회로는: 칩 선택 신호에 의해 선택될 때 제 1 기입 신호에 응답하여 최소 경로 메트릭 기입 동작을 수행하는 제 1 메모리와; 상기 칩 선택 신호에 의해 선택될 때 제 2 기입 신호에 응답하여 최소 경로 메트릭 기입 동작을 수행하는 제 2 메모리와; 프레임 동기 신호에 동기되어, 이전 단계에서 현재 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 메모리 또는 상기 제 2 메모리로부터 이전 단계의 최소 경로 메트릭을 입력받아 현재 단계의 최소 경로 메트릭을 구하는 제 1 가산비교선택 수단과; 상기 프레임 동기 신호에 동기되어, 현재 단계에서 다음 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 가산비교선택 수단으로부터 최소 경로 메트릭을 입력받아 다음 단계의 최소 경로 메트릭을 구하는 제 2 가산비교선택 수단과; 천공 패턴에 따른 제 1 선택 신호에 응답하여 상기 제 1 가산비교선택 수단과 상기 제 2 가산비교선택 수단으로부터 입력되는 상기 최소 경로 메트릭을 매 스테이지마다 번갈아 선택하여 상기 제 1 메모리 또는 제 2 메모리로 출력하는 제 1 선택 수단 및; 상기 천공 패턴에 응답해서 상기 제 1 선택 수단으로부터 출력되는 상기 최소 경로 메트릭을 상기 제 1 및 제 2 메모리들로 각 단계마다 번갈아 기입되도록 상기 칩 선택 신호와 상기 제 1 및 제 2 기입 신호를 발생하는 제어 수단을 포함한다.
바람직한 실시예에 있어서, 상기 제 1 가산비교선택 수단은, 프레임 동기 신호에 동기되어, 이전 단계에서 현재 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 메모리 또는 상기 제 2 메모리로부터 이전 단계의 경로 메트릭을 입력받아 현재 단계의 최소 경로 메트릭을 구하는 제 1 가산비교선택 수단과; 상기 최소 경로 메트릭을 저장하는 레지스터 및; 상기 최소 경로 메트릭을 소정 시간 지연하여 출력하는 지연 수단을 포함한다.
바람직한 실시예에 있어서, 상기 제 2 가산비교선택 수단은, 프레임 동기 신호에 동기되어, 현재 단계에서 다음 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 가산비교선택 수단으로부터 최소 경로 메트릭을 입력받아 다음 단계의 최소 경로 메트릭을 구하는 제 2 가산비교선택 수단과; 상기 최소 경로 메트릭을 저장하는 레지스터 및; 상기 최소 경로 메트릭을 소정 시간 지연하여 출력하는 지연 수단을 포함한다.
바람직한 실시예에 있어서, 상기 제어 수단으로부터 출력되는 선택 신호에 응답하여 상기 제 1 메모리 및 제 2 메모리로부터 출력되는 이전 단계의 최소 경로 메트릭을 번갈아 선택하여 출력하는 제 2 선택 수단과; 상기 최소 경로 메트릭을 저장하는 레지스터를 더 포함한다.
본 발명의 목적을 달성하기 위한 본 발명의 다른 특징에 의하면, 비터비 디코더는: 길쌈 부호화된 입력 데이터에 대한 브랜치 메트릭을 계산하는 브랜치 메트릭 계산 수단과; 복수개의 상태 노드 각각에 대응하고, 상기 브랜치 메트릭을 누산한 형태의 경로 메트릭에 현재 단계의 상기 브랜치 메트릭을 더하고, 그 값을 비교하여, 가장 작은 값을 갖는 경로 메트릭을 최소 경로 메트릭으로 선택하는 가산-비교-선택 연산을 수행하는 가산비교선택 수단과; 상기 가산비교선택 수단으로부터 한 프레임 만큼의 상기 최소 경로 메트릭들을 입력받아 역추적하여 그 경로 상의 전이를 디코딩된 데이터로 출력하는 트레이스백 수단을 포함하되, 상기 가산비교선택 수단은, 칩 선택 신호에 의해 선택될 때 제 1 기입 신호에 응답하여 최소 경로 메트릭 기입 동작을 수행하는 제 1 메모리와; 상기 칩 선택 신호에 의해 선택될 때 제 2 기입 신호에 응답하여 최소 경로 메트릭 기입 동작을 수행하는 제 2 메모리와; 프레임 동기 신호에 동기되어, 이전 단계에서 현재 단계로의 상태 전이에 따른 상기 브랜치 메트릭과, 상기 제 1 메모리 또는 상기 제 2 메모리로부터 이전 단계의 최소 경로 메트릭을 입력받아 현재 단계의 최소 경로 메트릭을 구하는 제 1 가산비교선택 수단과; 상기 프레임 동기 신호에 동기되어, 현재 단계에서 다음 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 가산비교선택 수단으로부터 최소 경로 메트릭을 입력받아 다음 단계의 최소 경로 메트릭을 구하는 제 2 가산비교선택 수단과; 천공 패턴에 따른 제 1 선택 신호에 응답하여 상기 제 1 가산비교선택 수단과 상기 제 2 가산비교선택 수단으로부터 입력되는 상기 최소 경로 메트릭을 매 스테이지마다 번갈아 선택하여 상기 제 1 메모리 또는 제 2 메모리로 출력하는 제 1 선택 수단 및; 상기 천공 패턴에 응답해서 상기 제 1 선택 수단으로부터 출력되는 상기 최소 경로 메트릭을 상기 제 1 및 제 2 메모리들로 각 단계마다 번갈아 기입되도록 상기 칩 선택 신호와 상기 제 1 및 제 2 기입 신호를 발생하는 제어 수단을 포함한다.
여기서, 우리는 상기 제 2 가산비교선택 수단의 특징적 사안에 주의해야 한다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면 도 6 내지 도 8을 참조하여 상세히 설명한다.
본 발명의 신규한 비터비 디코더의 가산비교선택 회로는 레이트 셋 2에서 심볼이 천공(puncturing)되는 특성을 이용하여 풀 레이트에서의 가산 비교 선택 연산 시간을 단축시킬 수 있는 구성을 갖는다. 이와 같은 가산비교선택 회로에 의해서 디코딩 수행시간이 단축된다. 그 결과, CPU가 메모리로부터 프레임 데이터를 정상적으로 독출하기 위한 시간적 여유가 보장되어 비터비 디코더의 성능이 향상된다.
도 6은 본 발명의 바람직한 실시예에 따른 비터비 디코더의 가산비교선택 회로의 구성을 보여주고 있다.
도 6을 참조하면, 비터비 디코더의 가산비교선택 회로(100)는 ACS 컨트롤러(110), 최소 경로 메트릭을 연산하는 제 1 연산부(120)와 제 2 연산부(130), 상기 제 1 및 제 2 연산부로부터 상기 최소 경로 메트릭을 입력받아 선택적으로 출력하는 제 1 멀티플렉서(140), 상기 최소 경로 메트릭을 저장하는 제 1 메모리(150)와 제 2 메모리(160), 상기 제 1 및 제 2 메모리로부터 입력되는 상기 최소 경로 메트릭을 선택적으로 출력하는 제 2 멀티플렉서(170) 그리고 상기 제 2 멀티플렉서(170)로부터 출력되는 상기 최소 경로 메트릭을 저장하는 레지스터(180)를 포함한다.
기지국에서 이동국으로 프레임 데이터를 전송할 때, 길쌈부호기에서 인코딩되어 만들어진 심볼은 각 레이트에 따라 반복되고 인터리빙(interleaving)을 거친후 전송된다. 즉, 풀 레이트(full rate) 이하 1/2 레이트에서는 2 배, 1/4 레이트에서는 4 배, 1/8 레이트에서는 8 배로 반복되어 레이트에 관계없이 똑같은 양의 심볼을 전송하게 된다. 레이트 셋 2에서는 심볼을 반복한 후, 인터리빙 전에 심볼을 4/6 비율로 천공(puncturing)한다. 즉, 프레임 데이터 3-비트당 4 개의 심볼이 전송된다. 이때의 천공 패턴(puncturing pattern)은 '110101'이다. 패턴이 '0'인 부분은 심볼이 천공되는 위치와 대응한다.
비터비 디코더에서는 천공된 심볼이 원래 있어야할 위치의 심볼 값을 '0'으로 처리한다. 이것은 그때의 브랜치 메트릭 값이 '0'임을 뜻하고 따라서 경로 메트릭 값에 영향을 주지 않는다. 여기서 심볼의 천공 패턴이 '110101'이므로, 첫 단계 즉, 패턴의 상위 두 비트 '11'은 정상적으로 계산하고, 뒷부분 '0101'에 해당하는 두 단계에 대한 최소 경로 메트릭을 한꺼번에 계산하여도 오버플로우(overflow)가 발생하지 않는다.
다시 도 6을 참조하여, 비터비 디코더의 가산비교선택 회로의 동작을 상세히 설명한다.
상기 제 1 연산부(120)는 프레임 동기 신호(F_sync)에 동기되어, 이전 단계에서 현재 단계로의 상태 전이에 따른 브랜치 메트릭과 상기 제 1 메모리 또는 상기 제 2 메모리로부터 이전 단계의 최소 경로 메트릭을 입력받아 현재 단계의 최소 경로 메트릭을 구하는 ACS 연산부(122)와, 상기 최소 경로 메트릭을 저장하는 레지스터(124) 그리고 상기 레지스터에 저장된 최소 경로 메트릭을 소정 시간 지연하여 출력하는 지연부(126)를 포함한다.
상기 제 2 연산부(130)는 프레임 동기 신호(F_sync)에 동기되어, 현재 단계에서 다음 단계로의 상태 전이에 따른 브랜치 메트릭과 상기 제 1 연산부(120)부터 현재 단계의 최소 경로 메트릭을 입력받아 다음 단계의 최소 경로 메트릭을 구하는 ACS 연산부(132)와, 상기 최소 경로 메트릭을 저장하는 레지스터(134) 그리고 상기 레지스터에 저장된 최소 경로 메트릭을 소정 시간 지연하여 출력하는 지연부(136)를 포함한다. 상기 제 1 및 제 2 메모리(150, 160)는 램(Random Access Memory; RAM)으로 구성된다.
상기 지연부들(126, 136)은 상기 최소 경로 메트릭을 제 1 또는 제 2 메모리에 저장하기 위해 기입 인에이블 신호(WEN) 및 칩 선택 신호(CSN)와 타이밍을 맞추기 위해 상기 레지스터에 저장된 데이터를 소정 시간 지연하여 출력한다.
프레임 모드에서 레이트 셋 1 일 때에는 제 1 멀티플렉서(140)의 선택 신호(PuncStage)가 항상 '0'이 되어 상기 제 1 연산부(120)로부터 입력되는 최소 경로 메트릭이 출력된다. 레이트 셋 2 일 때에는 풀 레이트가 아닐 때 즉, 1/2 레이트, 1/4 레이트, 1/8 레이트에서 상기 제 1 멀티플렉서(140)의 선택 신호(PuncStage)는 항상 '0'이 되어 상기 제 1 연산부(120)로부터 입력되는 최소 경로 메트릭을 출력한다.
레이트 셋이 2 이고, 풀 레이트(14.4k bps)일 때 상기 제 1 멀티플렉서(140)의 선택 신호(PuncStage)는 '0' 과 '1'이 번갈아 입력된다. 즉, 천공 패턴 '11'에 대응하는 단계에서 상기 선택 신호는 '0'이 되고, 천공 패턴이 '0101'일 때 상기 선택 신호는 '1'이 된다.
천공 패턴 '11'과 대응하는 단계에서 최소 경로 메트릭 계산은 종래와 같은 방법으로 현재 단계(i+1)에 대한 계산이 제 1 메모리(150)또는 제 2 메모리(160)에 기입된다. 천공 패턴 '0101'과 대응하는 연속적인 두 단계(i+1, i+2)에 대한 최소 경로 메트릭은 두 단계에 대한 계산 결과가 상기 제 1 메모리(150)또는 제 2 메모리(160)에 기입된다.
천공 패턴이 '01'일 때 가산비교선택 회로(100)의 동작은 다음과 같다.
우선, 제 1 메모리(150) 또는 제 2 메모리(160)의 워드 0과 워드 1로부터 이전 단계 (i)의 상태 0, 1, 2, 3에 각각 대응하는 경로 메트릭 PM0 i , PM1 i , PM2 i , PM3 i 을 독출한다. 상기 경로 메트릭들로부터 현재 단계 (i+1)의 최소 경로 메트릭 PM0 i+1 , PM1 i+1 , PM128 i+1 , PM129 i+1 을 ACS 연산부(122)에서 계산한다. 상기 단계 (i+1)의 최소 경로 메트릭 PM0 i+1 , PM1 i+1 , PM128 i+1 , PM129 i+1 을 입력받은 ACS 연산부(132)는 다음 단계 (i+2)의 최소 경로 메트릭 PM0 i+2 , PM64 i+2 , PM128 i+2 , PM192 i+2 을 계산한다. 연속된 두 개의 경로 메트릭이 메모리의 같은 워드에 저장되어야 하므로, 이 시점에서는 상기 경로 메트릭들을 메모리에 저장할 수 없다.
계속해서, 상기 제 1 메모리(150) 또는 제 2 메모리(160)의 워드 0과 워드 1로부터 이전 단계 (i)의 상태 4, 5, 6, 7에 각각 대응하는 경로 메트릭 PM4 i , PM5 i , PM6 i , PM7 i 을 독출한다. 상기 경로 메트릭들로부터 현재 단계 (i+1)의 최소 경로 메트릭 PM2 i+1 , PM3 i+1 , PM130 i+1 , PM131 i+1 을 ACS 연산부(122)에서 계산한다. 상기 단계 (i+1)의 최소 경로 메트릭 PM2 i+1 , PM3 i+1 , PM130 i+1 , PM131 i+1 을 입력받은 ACS 연산부(132)는 다음 단계 (i+2)의 최소 경로 메트릭 PM1 i+2 , PM65 i+2 , PM129 i+2 , PM193 i+2 을 계산한다. 현재 천공 패턴은 '0101'이므로 제 1 멀티플렉서(140)의 선택 신호(PuncStage)가 '1'이다. 따라서, 연속된 두 단계(i+1, i+2)의 상태들 0. 1, 64, 65, 128, 129, 192. 193에 각각 대응하는 최소 경로 메트릭들이 상기 제 1 메모리(150) 또는 제 2 메모리(160)의 워드 0과 워드 32, 64, 94에 두 개씩 기입된다.
상기 제 1 메모리(150) 또는 제 2 메모리(160)로부터 경로 메트릭을 독출하는 순서는 워드 0, 1, 2, …, 127로 종래와 동일하나, 상기 제 1 메모리(150) 또는 제 2 메모리(160)에 경로 메트릭을 기입하는 순서는 워드 0, 32, 64, 96, 1, 33, 65, 97, …, 31, 63, 95, 127이 된다.
상기 제 1 메모리(150)와 제 2 메모리(160)의 기입/독출은 ACS 컨트롤러(110)로부터 출력되는 기입 인에이블 신호(WEN)와 칩 선택 신호(CSN)에 의해 결정되는데, 상기 메모리들로 입력되는 기입 인에이블 신호(WEN)는 서로 상보적이다. 즉, 제 1 메모리(150)에 경로 메트릭을 기입할 때 제 2 메모리(160)는 독출 동작이 수행된다. 반대로 제 2 메모리(160)에 경로 메트릭을 기입할 때 제 1 메모리(150)는 독출 동작이 수행된다. 상기 제 1 메모리(150)와 제 2 메모리(160)는 매 단계마다 기입/독출 동작을 번갈아 수행한다.
천공 패턴 '0101'에 대응하는 두 단계의 ACS 연산 속도는 천공 패턴 '11'에 대응하는 한 단계의 ACS 연산 속도보다 약간 더 길다. 이는 비터비 디코더의 컨트롤러(미 도시됨)에서 제 1 멀티플렉서(140)의 선택 신호 주기를 비롯한 각 회로의 동작 타이밍을 조절하여 정상적인 동작이 수행 가능하다.
상기 가산비교선택 회로(100)의 ACS 연산부들(122, 124)로부터 출력되는 전이 정보 신호들(Brc, Brn)은 연속하는 두 단계(i+1,i+2)에 대한 신호이다.
도 7은 심볼 천공 패턴과 ACS 연산 과정을 보여주고 있다.
도 7을 참조하면, 천공 패턴 '11'에 대응하는 단계 (i)에서 ACS 연산은 종래와 같은 방법으로 단계 (i)의 각 상태의 경로 메트릭을 구하고, 최소 경로 메트릭을 상기 제 1 또는 제 2 메모리에 저장한다. 다음 연속되는 천공 패턴 '0101' 에 대응하는 단계 (i+1) 및 단계 (i+2)의 ACS 연산시 각 단계의 최소 메트릭을 모두 계산한 후에 메모리에 저장한다. 따라서, 2 단계에 대한 연산 처리 속도가 1 단계에 대한 연산 처리 속도와 동일하다.
레이트 셋 2의 풀 레이트에서 한 프레임의 데이터는 288 비트이므로, 최소 경로 메트릭 계산 단계는 단계 0부터 단계 287까지 모두 288 개의 단계를 갖는다. 본 발명에 의하면, 레이트 셋 2의 풀 레이트에서 천공 패턴'11'에 대응하는 96 단계는 그대로 수행되고, 천공 패턴 '0101'에 대응하는 192 단계는 두 단계가 한꺼번에 계산되므로 그 절반인 96 단계로 최소 경로 메트릭을 계산한 것과 동일하다. 즉, 레이트 셋 2의 풀 레이트에서 연산 속도는 2/3으로 감소된다.
또한, 종래 기술에 의하면 트레이스백 길이( LTr )가 64일 때, 한 프레임을 디코딩하는데 약 16 ms의 시간이 소요되었으나, 본 발명에 의하면 트레이스백 길이( LTr )가 96 일 때에도 디코딩하는데 약 14.4 ms의 시간이 소요된다. 따라서, 디코딩 시간이 약 1.6 ms 이상 단축됨으로써 CPU와 비터비 디코더간의 프레임 데이터 전송을 보다 안정적으로 수행할 수 있다.
도 8은 천공 패턴 '0101'에 대응하는 두 단계에서의 상태 전이를 보여주고 있다. 천공 패턴 '0101'에 대응하는 단계 (i+1)와 단계 (i+2)의 상태 0, 1, 2, 3, 4, 5, 6, 7에 대한 ACS 연산 결과인 경로 메트릭은 PM0 i+2 , PM1 i+2 , PM64 i+2 , PM65 i+2 , PM128 i+2 , PM129 i+2 , PM192 i+2 , PM193 i+2 이고, 상기 경로 메트릭은 상기 제 1 메모리(150) 또는 제 2 메모리(160)의 워드 0과 워드 32, 64, 94에 두 개씩 기입된다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
이상과 같은 본 발명에 의하면, 비터비 디코더의 가산비교선택 계산 시간이 단축되므로서 디코딩 수행시간이 단축된다. 그 결과, CPU가 메모리로부터 프레임 데이터를 정상적으로 독출하기 위한 시간적 여유가 보장되어 비터비 디코더의 성능이 향상된다.

Claims (5)

  1. 비터비 디코더의 가산비교선택 회로에 있어서,
    칩 선택 신호에 의해 선택될 때 제 1 기입 신호에 응답하여 최소 경로 메트릭 기입 동작을 수행하는 제 1 메모리와;
    상기 칩 선택 신호에 의해 선택될 때 제 2 기입 신호에 응답하여 최소 경로 메트릭 기입 동작을 수행하는 제 2 메모리와;
    프레임 동기 신호에 동기되어, 이전 단계에서 현재 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 메모리 또는 상기 제 2 메모리로부터 이전 단계의 최소 경로 메트릭을 입력받아 현재 단계의 최소 경로 메트릭을 구하는 제 1 가산비교선택 수단과;
    상기 프레임 동기 신호에 동기되어, 현재 단계에서 다음 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 가산비교선택 수단으로부터 최소 경로 메트릭을 입력받아 다음 단계의 최소 경로 메트릭을 구하는 제 2 가산비교선택 수단과;
    천공 패턴에 따른 제 1 선택 신호에 응답하여 상기 제 1 가산비교선택 수단과 상기 제 2 가산비교선택 수단으로부터 입력되는 상기 최소 경로 메트릭을 매 스테이지마다 번갈아 선택하여 상기 제 1 메모리 또는 제 2 메모리로 출력하는 제 1 선택 수단 및;
    상기 천공 패턴에 응답해서 상기 제 1 선택 수단으로부터 출력되는 상기 최소 경로 메트릭을 상기 제 1 및 제 2 메모리들로 각 단계마다 번갈아 기입되도록 상기 칩 선택 신호와 상기 제 1 및 제 2 기입 신호를 발생하는 제어 수단을 포함하는 것을 특징으로 하는 비터비 디코더의 가산비교선택 회로.
  2. 제 1 항에 있어서,
    상기 제 1 가산비교선택 수단은,
    프레임 동기 신호에 동기되어, 이전 단계에서 현재 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 메모리 또는 상기 제 2 메모리로부터 이전 단계의 경로 메트릭을 입력받아 현재 단계의 최소 경로 메트릭을 구하는 제 1 가산비교선택 수단과;
    상기 최소 경로 메트릭을 저장하는 레지스터 및;
    상기 최소 경로 메트릭을 소정 시간 지연하여 출력하는 지연 수단을 포함하는 것을 특징으로 하는 비터비 디코더의 가산비교선택 회로.
  3. 제 1 항에 있어서,
    상기 제 2 가산비교선택 수단은,
    프레임 동기 신호에 동기되어, 현재 단계에서 다음 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 가산비교선택 수단으로부터 최소 경로 메트릭을 입력받아 다음 단계의 최소 경로 메트릭을 구하는 제 2 가산비교선택 수단과;
    상기 최소 경로 메트릭을 저장하는 레지스터 및;
    상기 최소 경로 메트릭을 소정 시간 지연하여 출력하는 지연 수단을 포함하는 것을 특징으로 하는 비터비 디코더의 가산비교선택 회로.
  4. 제 1 항에 있어서,
    상기 제어 수단으로부터 출력되는 선택 신호에 응답하여 상기 제 1 메모리 및 제 2 메모리로부터 출력되는 이전 단계의 최소 경로 메트릭을 번갈아 선택하여 출력하는 제 2 선택 수단과;
    상기 최소 경로 메트릭을 저장하는 레지스터를 더 포함하는 것을 특징으로 하는 비터비 디코더의 가산비교선택 회로.
  5. 비터비 디코더에 있어서,
    길쌈 부호화된 입력 데이터에 대한 브랜치 메트릭을 계산하는 브랜치 메트릭 계산 수단과;
    복수개의 상태 노드 각각에 대응하고, 상기 브랜치 메트릭을 누산한 형태의 경로 메트릭에 현재 단계의 상기 브랜치 메트릭을 더하고, 그 값을 비교하여, 가장 작은 값을 갖는 경로 메트릭을 최소 경로 메트릭으로 선택하는 가산-비교-선택 연산을 수행하는 가산비교선택 수단과;
    상기 가산비교선택 수단으로부터 한 프레임 만큼의 상기 최소 경로 메트릭들을 입력받아 역추적하여 그 경로 상의 전이를 디코딩된 데이터로 출력하는 트레이스백 수단을 포함하되,
    상기 가산비교선택 수단은,
    칩 선택 신호에 의해 선택될 때 제 1 기입 신호에 응답하여 최소 경로 메트릭 기입 동작을 수행하는 제 1 메모리와;
    상기 칩 선택 신호에 의해 선택될 때 제 2 기입 신호에 응답하여 최소 경로 메트릭 기입 동작을 수행하는 제 2 메모리와;
    프레임 동기 신호에 동기되어, 이전 단계에서 현재 단계로의 상태 전이에 따른 상기 브랜치 메트릭과, 상기 제 1 메모리 또는 상기 제 2 메모리로부터 이전 단계의 최소 경로 메트릭을 입력받아 현재 단계의 최소 경로 메트릭을 구하는 제 1 가산비교선택 수단과;
    상기 프레임 동기 신호에 동기되어, 현재 단계에서 다음 단계로의 상태 전이에 따른 브랜치 메트릭과, 상기 제 1 가산비교선택 수단으로부터 최소 경로 메트릭을 입력받아 다음 단계의 최소 경로 메트릭을 구하는 제 2 가산비교선택 수단과;
    천공 패턴에 따른 제 1 선택 신호에 응답하여 상기 제 1 가산비교선택 수단과 상기 제 2 가산비교선택 수단으로부터 입력되는 상기 최소 경로 메트릭을 매 스테이지마다 번갈아 선택하여 상기 제 1 메모리 또는 제 2 메모리로 출력하는 제 1 선택 수단 및;
    상기 천공 패턴에 응답해서 상기 제 1 선택 수단으로부터 출력되는 상기 최소 경로 메트릭을 상기 제 1 및 제 2 메모리들로 각 단계마다 번갈아 기입되도록 상기 칩 선택 신호와 상기 제 1 및 제 2 기입 신호를 발생하는 제어 수단을 포함하는 것을 특징으로 하는 비터비 디코더.
KR1019980039970A 1998-09-25 1998-09-25 비터비 디코더의 가산 비교 선택 회로 KR100285067B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019980039970A KR100285067B1 (ko) 1998-09-25 1998-09-25 비터비 디코더의 가산 비교 선택 회로
US09/397,756 US6504882B1 (en) 1998-09-25 1999-09-16 Add-compare-select circuit for viterbi decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980039970A KR100285067B1 (ko) 1998-09-25 1998-09-25 비터비 디코더의 가산 비교 선택 회로

Publications (2)

Publication Number Publication Date
KR20000021049A KR20000021049A (ko) 2000-04-15
KR100285067B1 true KR100285067B1 (ko) 2001-03-15

Family

ID=19551961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980039970A KR100285067B1 (ko) 1998-09-25 1998-09-25 비터비 디코더의 가산 비교 선택 회로

Country Status (2)

Country Link
US (1) US6504882B1 (ko)
KR (1) KR100285067B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686170B1 (ko) * 2004-11-30 2007-02-23 엘지전자 주식회사 디코딩 장치 및 이를 이용한 디코딩 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW447194B (en) * 1999-04-12 2001-07-21 Matsushita Electric Ind Co Ltd Viterbi decoding device and method
US6757864B1 (en) * 2000-04-06 2004-06-29 Qualcomm, Incorporated Method and apparatus for efficiently reading and storing state metrics in memory for high-speed ACS viterbi decoder implementations
KR100431162B1 (ko) * 2002-06-29 2004-05-12 피앤피네트워크 주식회사 코드레이트 검출장치
EP1450493A1 (en) * 2003-02-19 2004-08-25 Nokia Corporation Viterbi decoder with path metric calculations over two trellis columns and routing of path metrics in the memory
US7307807B1 (en) 2003-09-23 2007-12-11 Marvell International Ltd. Disk servo pattern writing
US7864895B1 (en) 2003-09-23 2011-01-04 Marvell International Ltd. Viterbi detection using a correlation metric
DE102004003096B3 (de) * 2004-01-21 2005-11-24 Infineon Technologies Ag Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität
US7751144B1 (en) 2004-07-15 2010-07-06 Marvell International Ltd. Self-servo-write using ramp-tracks
US7209312B1 (en) 2004-07-15 2007-04-24 Marvell International Ltd. Self-servo-write using ramp-tracks
US7933365B2 (en) 2004-11-16 2011-04-26 Lg Electronics Inc. Enhanced VSB Viterbi decoder
US7349171B2 (en) * 2006-03-06 2008-03-25 Marvell World Trade Ltd. Method for measuring actuator velocity during self-servo-write
US7773334B1 (en) 2006-12-06 2010-08-10 Marvell International Ltd. Single-pass spiral self-servo-write
US8027114B1 (en) 2008-06-02 2011-09-27 Marvell International Ltd. Spiral servo detection with phase-locked loop (PLL)
US8261173B2 (en) * 2009-04-29 2012-09-04 Menara Networks, Inc. Calibration method and circuit for an add-compare-select loop
KR101581804B1 (ko) * 2009-06-11 2015-12-31 삼성전자주식회사 터보 디코더에서 가산비교선택 과정 수행 장치 및 이를 위한 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742622A (en) * 1996-03-12 1998-04-21 Discovision Associates Error detection and correction system for a stream of encoded data
GB9622540D0 (en) * 1996-10-30 1997-01-08 Discovision Ass Trackback for viterbi decoder
KR100230911B1 (ko) * 1997-01-20 1999-11-15 김영환 고화질 텔레비젼의 격자 복호기
US6452984B1 (en) * 1999-02-25 2002-09-17 Lsi Logic Corporation Metric biasing for maximum likelihood sequence estimators
US6343103B1 (en) * 1999-09-03 2002-01-29 Agere Systems Guardian Corp. Methods and apparatus for representation of branch metrics in a communication system decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686170B1 (ko) * 2004-11-30 2007-02-23 엘지전자 주식회사 디코딩 장치 및 이를 이용한 디코딩 방법

Also Published As

Publication number Publication date
KR20000021049A (ko) 2000-04-15
US6504882B1 (en) 2003-01-07

Similar Documents

Publication Publication Date Title
KR100285067B1 (ko) 비터비 디코더의 가산 비교 선택 회로
JP3900637B2 (ja) ビタビ復号装置
EP0234558B1 (en) Path trace viterbi decoder
KR940010435B1 (ko) 비터비 복호기의 경로기억장치
JP3515720B2 (ja) ビタビ復号器
JP3747604B2 (ja) ビタビ復号装置
US6408420B1 (en) Viterbi decoding method and apparatus thereof
US5878060A (en) Viterbi decoding apparatus and viterbe decoding method
CN114448562A (zh) 维特比解码器中的并行回溯
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
EP0603824B1 (en) Method of and circuit for detecting synchronism in viterbi decoder
JP3259725B2 (ja) ビタビ復号装置
US6886128B2 (en) Decoding apparatus, decoding method, data-receiving apparatus and data-receiving method
US6385258B1 (en) Viterbi decoder for use in a mobile communication system
CN100505557C (zh) 基于Viterbi译码的多路并行循环块回溯方法
KR100240663B1 (ko) 가산 비교 선택 회로를 갖는 비터비 디코더
US20050257123A1 (en) Memory management algorithm for trellis decoders
KR0155516B1 (ko) 비터비 복호기에서 한개의 메모리를 사용한 상태 매트릭 메모리 운용방법 및 그 장치
US5666380A (en) Digital communication system and method of compressing information
JP2575854B2 (ja) ビタビ復号回路
KR100528873B1 (ko) 구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법
KR20010008761A (ko) 병렬 가산비교선택회로 및 트레이스백 구조를 채용한 이동국용고속 비터비 디코더
JPH0361375B2 (ko)
JP2803627B2 (ja) 畳込み復号化回路
JP2001186025A (ja) ビタビ復号装置

Legal Events

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

Payment date: 20071203

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee