KR0169777B1 - 고속 비터비 복호기의 구현을 위한 정규화 방법 및 장치 - Google Patents

고속 비터비 복호기의 구현을 위한 정규화 방법 및 장치 Download PDF

Info

Publication number
KR0169777B1
KR0169777B1 KR1019950018786A KR19950018786A KR0169777B1 KR 0169777 B1 KR0169777 B1 KR 0169777B1 KR 1019950018786 A KR1019950018786 A KR 1019950018786A KR 19950018786 A KR19950018786 A KR 19950018786A KR 0169777 B1 KR0169777 B1 KR 0169777B1
Authority
KR
South Korea
Prior art keywords
normalization
state value
state
acs
storage device
Prior art date
Application number
KR1019950018786A
Other languages
English (en)
Other versions
KR970004372A (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 KR1019950018786A priority Critical patent/KR0169777B1/ko
Priority to US08/672,076 priority patent/US5859861A/en
Priority to JP8170095A priority patent/JPH09181619A/ja
Priority to DE19626076A priority patent/DE19626076C2/de
Priority to CN96106939A priority patent/CN1142143A/zh
Publication of KR970004372A publication Critical patent/KR970004372A/ko
Priority to US09/159,636 priority patent/US5960011A/en
Application granted granted Critical
Publication of KR0169777B1 publication Critical patent/KR0169777B1/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
    • 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

본 발명은 디지털 전송 데이터에 순방향 오류 정정(Forward Error Correction)을 제공하기 위해 사용되어 잡음이 존재하는 전송선로상에서 디지털 통신의 성능을 향상시키는 고속 비터비 복호기 및 고속 비터비 복호기의 구현을 위한 정규화(Normalization)방법 및 장치에 관한 것으로, 생존자 상태값으로 부터 정해진 임계값을 감하여 연산을 실행하는 방식을 사용하지 않고, 생존자 상태값을 ÷2하여 정규화 연산을 실행함으로서 비터비 복호기의 동작 속도를 개선한다.

Description

고속 비터비 복호기의 구현을 위한 정규화 방법 및 장치
제1도는 일반적인 길쌈부호화기의 구성을 도시한 구성도.
제2도는 제1도의 길쌈부호화기에 따른 격자도.
제3도는 일반적인 비터비 복호기의 구성예를 도시한 블록도.
제4도는 정규화 연산 요구 장치를 포함하는 종래의 비터비 복호기의 구성예를 도시한 블록도.
제5도는 정규화 연산 요구 장치를 포함하는 종래의 비터비 복호기의 다른 구성예를 도시한 블록도.
제6도는 본 발명의 구성예를 도시한 블록도.
제7도는 ÷2정규화 연산을 포함하는 제6도의 ACS연산 장치와 멀티플렉서 장치 및 상태값 저장 장치의 구현예를 도시한 회로도.
제8도는 제6도의 정규화 연산 요구 장치의 구현예를 도시한 회로도.
제9도는 본 발명의 다른 구성예를 도시한 블록도.
* 도면의 주요부분에 대한 부호의 설명
2,12 : 유사성(Branch Metric)연산 장치 3,13 : ACS 연산장치
4 : 멀티플렉서 장치 5 : 상태값 저장 장치
6 : 정규화 연산 요구 장치 7 : 역추적 장치
8 : 출력 단자 19 : 유사성 정규화 연산 장치
21 : 멀티플렉서 31 : 레지스터
본 발명은 디지털 전송 데이터에 순방향 오류 정정(Forward Error Correction)을 제공하기 위해 사용되어 잡음이 존재하는 전송선로상에서 디지털 통신의 성능을 향상시킨 고속 비터비 복호기 및 고속 비터비 복호기의 구현을 위한 정규화(Normalization) 방법에 관한 것이다. 특히, 본 발명은 고화질 텔레비젼, 디지털 위성방송, 디지털 이동통신, 디지털 케이블 텔레비젼 등 디지털 데이터를 전송하는 시스템에서 사용되고 있으며, HDD 및 FDD등 디지털 데이터를 기록/재생하는 분야에서도 사용 가능한 비터비 복호기에 관한 것이다.
상기와 같은 종류의 비터비 복호기가 참고 문헌 ; [1]G. D. Forney, The Viterbi algorithm Proc. IEEE, Vol. 61, No.3, pp. 268-278, Mar. 1970, [2]G. Fettweis and H. Meyr, High spped Parallel Viterbi decoding : algorithm and VLSI-architecture, IEEE Comm., pp. 46-55, May 1991, [3]US Patent No. 5349608에 공지되어 있다.
간단한 비터비 복호 알고리듬을 부호화율(Code Rate)R=1/2, 구속장(Constraint Length)K=3, 생성다항식(Generating Polynomial)이
인 길쌈부호화기의 예를 이용하여 설명하면 다음과 같다.
길쌈부호화기는 제1도와 같이 2-bit 쉬프트 레지스터(141)와 모듈로(modulo)-2 덧셈을 실행하는 2개의 덧셈기(142)로 구성되며, 복호기의 출력 G1,G2는 쉬프트 레지스터의 내용인 상태(State) 및 입력(143)에 의해 결정되며, 그 출력을 시간에 따라 그림으로 나타낸 것이 제2도의 격자도(Trellis Diagram)이다.
격자도에서 각점은 쉬프트 레지스터가 가질 수 있는 각 상태를 나타내며, 굵은선은 가지(Branch)는 입력이 '0'일 때의 천이(Transition)를, 가는선의 가지는 입력이 '1'일 때의 천이를 나타낸다. 각 가지에 표시된 숫자는 그 가지의 천이가 일어났을 때 출력되는 G1,G2의 값을 나타낸다.
제2도에 도시한 바와같이, 각 상태에는 2개의 경로(Path)가 합쳐지게 되며, 비터비 복호 알고리듬은 그 두 개의 경로 가능성이 있는 경로만 선택하고 가능성이 없는 경로는 버리는 최우복호법(最尤復號法, Maximum Likelihood Decoding)을 기본으로 한다. 이렇게 선택되어진 경로를 생존자 경로(Survivor Path)라고 하며, 각 상태는 정해진 길이(Decision Depth 또는 Truncation Depth)만큼의 생존자경로에 대한 정보를 유지한다.
복호는 각 상태가 유지하고 있는 생존자경로 중 가장 가능성이 있는 생존자경로를 선택하여 역추적(Traceback)함으로써 이루어진다.
비터비 알고리듬에 근거한 비터비 복호기는 기본적으로, 수신된 입력 부호와 제2도의 각 가지의 참고값(Reference Value)과 유사성(Branch Metric)을 계산하는 유사성(Branch Metric) 연산 장치와 각 상태에서의 생존자경로를 선택하고 생존자경로의 상태값(State Metric)을 연산하는 ACS(Add-Compare-Select) 연산 장치, 상태값을 저장하는 상태값 저장 장치(State Metric Memory), 각 상태의 생존자경로에 대한 정보를 저장하는 경로 저장 장치(Path Memory), 각 상태의 생존자경로 중 가장 가능성이 있는 생존자경로를 검출하는 최대 유사값 검출 장치(Maximum Likelihood Detection), 경로 저장 장치를 제어하여 역추적을 실행하는 역추적 제어 장치(Maximum Likelihood Decision)로 구성된다.
비터비 복호기를 구현할 때 상태값 저장 장치를 구성하는 하드웨어(일반적으로 레지스터)의 크기를 무한정 크게 할 수 없으며, 각 상태값 저장을 연산하는 ACS 연산 장치는 매시간 반복적으로 실행되므로 상태값 저장 장치의 저장 능력을 초과하는 데이터 넘침 현상(Overflow)이 발생할 수 있어 복호된 출력에 오류가 발생할 수 있다.
이러한 오류를 방지하기 위해 상태값을 조정하는 연산(Normalization 또는 Rescaling)을 위한 정규화(Normalization)연산 장치가 필요하게 되며, 이러한 기능들을 포함하는 기존의 비터비 복호기는 제3도와 같고 각 장치의 동작은 다음과 같다.
입력 단자(101)에 입력되는 수신된 입력 부호는 유사성(Branch Metric)연산 장치(102)에서 각 가지의 (00),(01),(10),(11)참고값에 따른 유사성을 연산한다. ACS 연산 장치(103)에서는 유사성 연산 장치(102)의 출력과 상태값 저장 장치(104)에 저장되어 있는 전 시간에서의 상태값을 입력으로 하여 생존자경로 및 상태값을 연산한다.
비터비 복호기를 구현할 때 상태값 저장 장치를 구성하는 하드웨어(일반적으로 레지스터)의 크기를 무한정 크게 할 수 없으며, 각 상태값 저장을 연산하는 ACS연산 장치는 매시간 반복적으로 실행되므로 상태값 저장 장치의 저장 능력을 초과하는 데이타 넘침 현상(Overflow)이 발생할 수 있어 복호된 출력에 오류가 발생할 수 있다.
이러한 오류를 방지하기 위해 상태값을 조정하는 연산(Normalization 또는 Rescaling)을 위한 정규화(Normalization)연산 장치가 필요하게 되며, 이러한 기능들을 포함하는 기존의 비터비 복호기는 제3도와 같고 각 장치의 동작은 다음과 같다.
입력 단자(101)에 입력되는 수신된 입력 부호는 유사성(Branch Metric)연산 장치(102)에서 각 가지의(00),(01),(10),(11) 참고값에 따라 유사성을 연산한다. ACS 연산 장치(103)에서는 유사성 연산 장치(102)의 출력과 상태값 저장 장치(104)에 저장되어 있는 전시간에서의 상태값을 입력으로 하여 생존자경로 및 상태값을 연산한다.
ACS 연산 장치(103)에서의 연산은 제2도의 격자도에 따라 실행된다. ACS 연산 장치(103)의 출력 중 생존자경로에 대한 정보는 경로 저장 장치(107)에 저장되고 상태값은 정규화 연산 장치(105) 및 최대 유사값 검출 장치(106)로 출력된다.
최대 유사값 검출 장치(106)에서는 ACS 연산 장치(103)로부터 입력된 상태값 중 최대 유사값을 검출하여 최대 유사값은 정규화 연산 장치(105)로 출력하며, 최대 유사값의 주소는 역추적 제어장치(108)로 출력하여 경로 저장 장치(107)를 제어한다.
정규화 연산 장치(105)는 ACS 연산 장치(103)로부터 입력되는 각 상태의 생존자 상태값으로부터 최대 유사값 검출 장치(106)로부터 입력되는 최대 유사값을 감하여 상태값 저장 장치(104)에 저장한다. 그러므로 상태값 저장 장치(104)에 저장되는 상태값은 항상 현재 시간의 ACS 연산 장치(103)의 출력에서 최대 유사값(예를 들어 가장 작은 상태값)을 감하여 저장하므로 데이터 넘침 현상은 발생하지 않는다.
제3도와 같은 비터비 복호비의 구성은 가장 이상적인 방식이나 ACS 연산 장치(103)로부터 최대 유사값 검출 장치(106), 정규화 연산 장치(105)로 구성되는 연산경로의 지연으로 수십 Mbps급의 고속의 데이터 처리를 요하는 응용 분야에서의 적용은 불가능하다.
최대 유사값을 이용하지 않고 정규화 연산을 실행한다면, 제3도의 비터비 복호기의 동작속도를 결정하는 ACS 연산 장치(103), 최대 유사값 검출 장치(106), 정규화 연산 장치(105)로 구성되는 연산경로에서 최대 유사값 검출 장치(106)를 분리할 수 있다. 일반적으로 최대 유사값 검출 장치는 다단의 비교기로 구성되므로 최대 유사값 검출장치를 분리함으로서 비터비 복호기의 동작 속도를 크게 개선할 수 있다.
최대 유사값을 이용하지 않는 정규화 연산은 생존자 상태값 중 최소값이 정해진 임계값(Threshold Value)을 초과할 경우에 그 임계값을 모든 생존자 상태값으로 부터 감하는 방식을 사용하며, 이러한 방식의 비터비 복호기는 생존자 상태값 중 최소값이 정해진 임계값을 초과했음을 검출하여 생존자 상태값의 정규화 연산을 요구하는 정규화 연산 요구 장치를 필요로 한다.
정류화 연산 요구 장치를 포함하는 비터비 복호기는 일반적으로 제4도와 같은 구조를 가진다. 제4도의 비터비 복호기는 ACS 연산 장치(113), 정규화 연산 요구 장치(116), 또는 정규화 연산 장치(117), 멀티플렉서 장치(114), 상태값 저장 장치(115)가 피드백 루프를 구성하므로 파이프라인 구조를 채용하여 동작 속도를 개선할 수 없다. 그러므로 제4도의 비터비 복호기의 동작속도는 ACS 연산 장치(113), 정규화 연산 요구 장치(116) 멀티플렉서 장치(114)로 구성되는 연산 경로의 연산 속도에 의해 결정된다.
제4도와 같은 구조를 가지는 비터비 복호기의 동작 속도를 개선하기 위하여 정규화 연산 요구 장치를 앞에서 언급한 피드백 루프로부터 분리한 비터비 복호기가 제5도와 같은 구조로 제안되었다. 제5도의 비터비 복호기는 정규화 연산 요구 여부를 ACS 연산 장치(123)의 출력을 이용하지 않고 상태 저장 장치의 출력을 이용하므로써 정규화 연산 요구 장치(126)를 앞에서 언급한 피드백 루프로부터 분리한다. 제5도의 비터비 복호기의 연산 속도는 ACS 연산 장치(123), 정규화 연산 장치(127), 멀티플렉서 장치(125)로 구성된 연산 경로의 연산 속도에 의해 결정된다. 정규화 연산 장치(127)의 연산 지연이 정규화 연산 요구 장치(126)의 연산 지연 보다 작으므로 제5도의 비터비 복호기는 제4도의 비터비 복호기 보다 동작 속도를 개선할 수 있지만, 정규화 연산 장치(127)와 멀티플렉서 장치(124)가 비터비 복호기의 동작 속도 개선에 장애가 된다.
제5도의 비터비 복호기에서는 정규화 연산 요구 여부를 상태값 저장 장치(125)로 부터의 출력을 이용하여 검출하므로 정규화 연산 요구 여부의 검출과 정규화 연산 사이에 한 주기의 차이가 있다. 현 주기의 ACS 연산 결과를 이용 정규화 연산 요구 여부를 결정한 후 그 결과를 이용 다음 주기에서의 ACS 연산 결과를 정규화 한다.
따라서 본 발명은 상기 종래의 비터비 복호기가 가지는 문제점인 복잡한 하드웨어, 동작 속도 장해 등의 문제를 해결하여 동작 속도가 개선된 비터비 복호기를 제공하는 것으로서, 본 발명의 비터비 복호기에서는 생존자 상태값 중 최소값이 임계값을 초과하는지를 검사하여 정규화 연산 요구 여부를 결정하고 모든 생존자 상태값으로 부터 정해진 임계값을 감하여 정규화 연산을 실행하는 방식을 사용하지 않고, 생존자 상태값 중 최대값이 임계값을 초과하는지를 검사하여 정규화 연산 요구 여부를 결정하고 모든 생존자 상태값을 ÷2(1 비트 쉬프트 레프트)하여 정규화 연산을 실행함으로서 비터비 복호기의 동작 속도를 결정짓는 연산 경로에서 별도의 정규화 연산 장치를 제거하여 비터비 복호기의 동작 속도를 개선한다.
즉, 본 발명의 일예에 따르면, 길쌈부호화된 부호를 복호하기 위한 비터비 복호기에서 ACS 연산 장치에 연결되어 상태값 저장 장치의 데이터 넘침 현상을 방지하기 위한 고속 비터비 복호기의 구현을 위한 정규화 방법에 있어서, 상태값 저장 장치에 저장 되어 있는 생존자 상태값 중 최대값이 정해진 임계값을 초과하는 지를 검출하는 단계 ; 및 정규화 연산이 필요한 경우 ACS 연산 결과를 ÷2(1 비트 쉬프트 레프트)하여 정규화 연산을 실행하는 단계를 포함하는 것을 특징으로 한다.
또한 본 발명의 일예에 따르면, 64개의 상태가 존재할 경우 상태값을 저장 하는 레지스터의 크기를 7비트로 하고, 생존자 상태값 중 최대값이 63을 초과 할 경우 ÷2의 정규화 연산을 실행한다.
또한 본 발명의 다른 예에 따르면, 상태수 만큼의 멀티플렉서로 구성되어, 별도의 정규화 연산 장치를 사용하지 않고 ACS 연산 장치의 출력을 입력으로 하여 정규화 연산 요구 신호에 따라 입력을 그대로 출력하거나 ÷2의 정규화 연산 결과를 출력하는 멀티플렉서 장치를 특징으로 한다.
또한 본 발명의 또 다른 예에 따르면, 입력 단자로 입력되어 유사성을 연산하는 유사성 연산 장치와, 상기 유사성 연산 장치로부터 입력되는 유사성과 상태값 저장 장치로부터 입력되는 전 시간에서의 상태값을 입력 받아 현재 시간에서의 생존자경로 정보와 상태값을 연산하는 ACS 연산 장치와, 상태수 만큼의 멀티플렉서로 구성되어, ACS 연산 장치의 출력을 입력으로 하여 정규화 연산 요구 신호에 따라 입력을 그대로 출력하거나 ÷2의 정규화 연산 결과를 출력하는 멀티플렉서 장치와, 상기 멀티플렉서 장치로부터 입력되는 상태값을 저장하며, 그 출력은 ACS 연산 장치로 입력 되어 각 상태의 생존자 경로 정보 및 생존자의 상태값 연산에 사용되는 상태값 저장장치와, 상기 상태값 저장 장치에 저장된 상태값 데이터로부터 상태값 중 최대값이 정해진 임계값을 초과하는 지를 검출하여 그 결과를 멀티플렉서 장치로 출력하는 정규화 연산 요구 장치와, ACS 연산 장치으로 부터 출력되는 생존자 경로 정보를 저장하기 위한 경로 저장 장치와 역추적을 제어하는 역추적 제어 장치로 구성 되며, 역추적 결과인 복호된 데이터를 출력단지(8)를 통하여 출력하는 역추적 장치로 구성된다.
이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.
본 발명의 구성은 제6도의 본 발명에 따른 비터비 복호기와 같다.
예를 들어 8단계로 Soft Decision된 수신 부호 행렬은 입력 단자(1)로 입력되어 유사성 연산 장치(2)에서 유사성이 연산된다. 유사성 연산 장치(2)에서 연산된 유사성은 ACS 연산 장치(3)로 입력된다.
ACS 연산 장치(3)는 유사성 연산 장치(2)로부터 입력되는 유사성과 상태값 저장 장치(5)로부터 입력되는 전 시간에서의 상태값을 입력 받아 현재 시간에서의 생존자경로 정보와 상태값을 연산한다. ACS 연산 장치(3)는 상태수 만큼의 ACS 연산 단위로 구성되며, 각 ACS 연산 단위는 2개의 덧셈기, 1개의 비교기, 1개의 멀티플렉서로 구성된다. ACS 연산 장치(3)로부터 출력되는 생존자 경로 정보는 역추적 장치(7)에 저장되며, 상태값은 멀티플렉서 장치(4)로 출력된다.
멀티플렉서 장치(4)는 정규화 연산 및 선택 연산을 동시에 실시한다. 멀티플렉서 장치(4)는 상태수 만큼의 멀티플렉서로 구성되며, 멀티플렉서 장치(4)의 출력은 정규화 연산 요구 장치의 출력에 따라 결정되어 상태값 저장 장치(5)에 입력된다.
상태수 저장 장치(5)는 상태수 만큼의 6비트 레지스터로 구성되며, 응용에 따라 레지스터의 크기를 조절할 수 있다. 상태값 저장 장치(5)는 멀티플렉서 장치(4)로부터 입력되는 상태값을 저장하며, 상태값 저장 장치(5)의 출력은 ACS 연산 장치(3)로 입력되어 각 상태의 생존자 경로 정보 및 생존자의 상태값 연산에 사용된다.
정규화 연산 요구 장치(6)는 상태값 저장 장치(5)에 저장된 상태값 데이터로부터 상태값 중 최대값이 정해진 임계값을 초과하는 지를 검출하여 그 결과를 멀티플렉서 장치(4)로 출력한다. 상태값 저장 장치(5)를 구성하는 레지스터의 크기를 6비트라고 할 때, 정규화 연산 요구 여부를 검출하는 기준이 되는 정해진 임계값을 31로 할 경우에는 상태값 저장 장치(5)를 구성하는 각 레지스터의 상위 1비트, 47로 할 경우에는 상위 2비트만을 이용하여 정규화 연산 요구 여부를 검출한다.
역추적 장치(7)는 ACS 연산 장치(3)로부터 출력되는 생존자 경로 정보를 저장하기 이한 경로 저장 장치와 역추적을 제어하는 역추적 제어 장치로 구성되며, 역추적 결과인 복호된 데이터를 출력단지(8)를 통하여 출력한다. 역추적 장치(7)는 최대 유사값 검출 장치를 포함하여 최대 유사값-생존자 상태값을 가지는 상태로부터 역추적을 실행할 수 있다.
제7도는 ÷2의 정규화 연산을 포함하는 제6도의 ACS 연산 장치(3)와 멀티플렉서 장치(4) 및 상태값 저장 장치(5)의 구현예를 도시한 회로도이고, 제8도는 제6도의 정규화 연산 요구 장치(6)의 구현예를 도시한 회로도로이다.
특히, 제8도는 상기 상태값 저장 장치(5)를 구성하는 각 레지스터(31)의 상위 1비트만을 이용하는 정규화 연산 요구 장치(6)의 구현예이며, 동일한 개념을 적용하여 응용에 따라 확장하여 사용할 수 있다. 또한, 제7도와 제8도의 회로가 작동하기 위한 전제 조건은 상태수가 N이고 6비트의 상태값 레지스터(31)를 사용하는 경우이다.
상기 ACS 연산 장치(3)는 N개의 ACS 연산 블록으로 구성되고, 상기 멀티플렉서 장치(4)는 N개의 멀티플렉서 블록으로 구성되며, 상기 상태값 저장 장치(5)는 N개의 6비트 레지스터(31)로 구성된다.
이때, 상기 각각의 ACS 연산 블록은 6비트의 출력 단자를 가지고, 상기 멀티플렉서(21) 블록은 6개의 2-1 멀티플렉서(21)로 구성되며, 상기 6비트 레지스터(31)는 6개의 플립플롭으로 구성된다.
ACS 연산 장치(3)에서 1번째 ACS 연산 블록의 i번째 출력을 ACS1,i라고 하고, 상기 멀티플렉서 장치(4)에서 m번째 멀티플렉서 블록의 j번째 멀티플렉서(31)의 상위 입력을 MUXm,j/10, 하위 입력을 MUXm,j/11, 출력을 MUXm,1/z라고 하며, 상기 상태값 저장 장치(5)의 n번째 레지스터(31)의 k번째 플립플롭의 입력을 SRn,k/D, 출력을 SRn,k/Q라고 한다.
또한, 제7도와 제8도의 실시예에서는 정규화 연산 요구의 기준이 되는 임계값을 31로 한다. 즉, 상기 상태값 저장 장치(5)를 구성하는 N개의 레지스터(31)가 저장하고 있는 상태값 중 어느 하나라도 31보다 클 경우에는 정규화 연산을 실행하는 것으로 한다.
상기 정규화 연산 요구 장치(6)는 N개의 입력으로부터 1개의 출력을 발생하며, 정규화 연산 요구 장치(6)의 n번째 입력은 NORMi,n-1, 출력은 NORMz로 표시할 수 있다. 이 때, NORMz='1'이면 정규화 연산을 실행해야 하고, NORMz='0'이면 정규화 연산을 실행하지 않으며, 상기 정규화 연산 요구 장치(6)의 논리식은 다음과 같다.
상기 논리식에서 연산자 OR은 논리합을 의미하며, 이때 정규화 연산 요구 장치(6)의 각 입력은 다음과 같다.
즉, 상기 상태값 저장 장치(5)를 구성하는 각 6비트 레지스터(31)의 최상위 비트 출력이 정규화 연산 요구 장치(6)의 입력으로 사용됨을 의미한다.
상기 정규화 연산 요구 장치(6)의 출력 NORMz는 상기 멀티플렉서 장치(4)의 입력 SEL 단자에 연결되며, 이때 상기 멀티플렉서 장치(4)의 m번째 멀티플렉서 블록의 입력 연결은 다음과 같다.
즉, m번째 멀티플렉서(21)를 구성하는 6개의 멀티플렉서(21)들의 상위 입력에는 대응하는 ACS 연산 블록의 6비트 출력이 그대로 연결되며, 하위 입력에는 '0', SRm,5/Q, SRm,4/Q, SRm,3/Q, SRm,2/Q, SRm,1/Q이 차례로 연결된다. 이때, Selm='0'이면 각 멀티플렉서(21)의 상위 입력이 멀티플렉서(21)의 출력으로 선택되며, Selm='1'이면 하위 입력이 멀티플렉서(21)의 출력으로 선택된다.
상기와 같이 정규화 연산 요구 장치(6)의 출력 NORMz이 상기 멀티플렉서 장치(4)의 입력 SEL 단자에 연결되도록 하므로써 본 발명에 따른 정규화 장치는 정규화 연산이 요구되는 경우에 ÷2의 정규화 연산을 최소의 하드웨어와 최소의 지연 시간으로 실행할 수 있게 되며, 제7도에 있어서 상기 ACS 연산 장치(3)와 멀티플렉서 장치(4) 및 상태값 저장 장치(5)의 m번째 블록 사이의 연결 방식은 N개의 모든 블록에 응용하여 적용된다.
본 발명은 ÷2(1비트 쉬프트 레프트)의 정규화 연산을 실행함으로서 ACS 연산 결과의 하위 1비트 정보를 유실한다. ACS 연산 결과의 하위 1비트 정보를 유실함으로서 비터비 복호기의 오류 정정 성능의 저하를 초래할 수 있다.
오류 정정 성능의 저하를 최소화하기 위하여 정규화 연산의 실행 빈도를 줄여 하위 비트의 정보를 유실하는 빈도를 최소화하여야 한다. 정규화 연산의 실행 빈도를 최소화 하기 위하여는 상태값의 증가 속도를 최소화하여야 하므로 유사성 연산 장치의 연산 결과를 ACS 연산 장치의 입력에 직접 연결하지 않고, 유사성을 정규화한 결과를 ACS 연산 장치에 입력한다.
ACS 연산에서는 상대적인 값이 중요하므로 유사성을 정규화한 결과를 이용하여도 비터비 복호기의 오류 정정 성능에는 영향이 없다.
제9도의 비터비 복호기는 유사성 정규화 연산 장치(19)를 유사성 연산 장치(12) 및 ACS연산 장치(13)의 사이에 삽입한 본 발명의 다른 실시예이다. 유사성의 정규화 연산은 유사성(Branch Metric) 중 최소값을 검출하여 각 유사성으로부터 최소값을 감하는 연산이다.
따라서 본 발명은 생존자 상태값으로부터 정해진 임계값을 감하여 연산을 실행하는 방식을 사용하지 않고, 생존자 상태값을 ÷2하여 정규화 연산을 실행함으로서 비터비 복호기의 동작 속도를 개선한다. ÷2의 정규화 연산은 제7도의 멀티플렉서 구조를 이용 구현 가능하므로 정규화 연산을 실행하는 별도의 논리 회로를 필요로 하지 않아 정규화 연산 장치의 연산 지연만큼의 동작 속도를 개선할 수 있다.
본 발명은 DBS(Direct Broadcast System, 직접위성방송시스템)와 같은 수십 Mbps급의 데이터 처리를 요하는 응용 분야에 적용 가능하다.

Claims (6)

  1. 길쌈부호화된 부호를 복호하기 위한 비터비 복호기에서 ACS 연산 장치에 연결되어 상태값 저장 장치의 데이터 넘침 현상을 방지하기 위한 고속 비터비 복호기의 구현을 위한 정규화 방법에 있어서, 상태값 저장 장치에 저장되어 있는 생존자 상태값 중 최대값이 정해진 임계값을 초과하는 지를 검출하는 단계; 및 정규화 연산이 필요한 경우 ACS 연산 결과를 ÷2(1비트 쉬프트 레프트)하여 정규화 연산을 실행하는 단계를 포함하는 것을 특징으로 하는 고속 비터비 복호기의 구현을 위한 정규화 방법.
  2. 제1항에 있어서, 64개의 상태가 존재할 경우 상태값을 저장하는 레지스터의 크기를 6비트로 하고, 생존자 상태값 중 최대값이 31을 초과할 경우 ÷2의 정규화 연산을 실행하는 것을 특징으로 하는 고속 비터비 복호기의 구현을 위한 정규화 방법.
  3. 제1항에 있어서, 64개의 상태가 존재할 경우 상태값을 저장하는 레지스터의 크기를 7비트로 하고, 생존자 상태값 중 최대값이 63을 초과할 경우 ÷2의 정규화 연산을 실행하는 것을 특징으로 하는 고속 비터비 복호기의 구현을 위한 정규화 방법.
  4. 입력 단자(1)로 입력되어 유사성을 연산하는 유사성 연산 장치(2)와, 상기 유사성 연산장치(2)로부터 입력되는 유사성과 상태값 저장 장치(5)로부터 입력되는 전 시간에서의 상태값을 입력받아 현재 시간에서의 생존자경로 정보와 상태값을 연산하는 ACS 연산 장치(3)와, 상태수 만큼의 멀티플렉서로 구성되어, ACS 연산 장치의 출력을 입력으로 하여 정규화 연산 요구 신호에 따라 입력을 그대로 출력하거나 ÷2의 정규화 연산 결과를 출력하는 멀티플렉서 장치(4)와, 상기 멀티플렉서 장치(4)로부터 입력되는 상태값을 저장하며, 그 출력은 ACS 연산 장치(3)로 입력되어 각 상태의 생존자 경로 정보 및 생존자의 상태값 연산에 사용되는 상태값 저장장치(5)와, 상기 상태값 저장 장치(5)에 저장된 상태값 데이터로부터 상태값 중 최대값이 정해진 임계값을 초과하는 지를 검출하여 그 결과를 멀티플렉서 장치(4)로 출력하는 정규화 연산 요구 장치(6)와, ACS 연산 장치(3)로부터 출력되는 생존자 경로 정보를 저장하기 위한 경로 저장 장치와 역추적을 제어하는 역추적 제어 장치로 구성되며, 역추적 결과인 복호된 데이터를 출력단지(8)을 통하여 출력하는 역추적 장치(7)로 구성되는 것을 특징으로 하는 고속 비터비 복호기의 구현을 위한 정규화 장치.
  5. 제4항에 있어서, 상기 상태값 저장 장치(5)를 구성하는 레지스터의 크기를 6비트라고 할 때, 정규화 연산 요구 여부를 검출하는 기준이 되는 정해진 임계값을 31로 할 경우에는 상태값 저장 장치(5)를 구성하는 각 레지스터의 상위 1비트, 47로 할 경우에는 상위 2비트만을 이용하여 정규화 연산 요구 여부를 검출하는 것을 특징으로 하는 고속 비터비 복호기의 구현을 위한 정규화 장치.
  6. 제4항에 있어서, 상기 유사성 연산 장치 및 ACS 연산 장치 사이에 유사성 연산 결과의 최소값을 검출하여 모든 유사성으로부터 그 최소값을 감하여 주는 유사성 정규화 연산 장치를 더 포함하는 것을 특징으로 하는 고속 비터비 복호기의 구현을 위한 정규화 장치.
KR1019950018786A 1995-06-21 1995-06-30 고속 비터비 복호기의 구현을 위한 정규화 방법 및 장치 KR0169777B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1019950018786A KR0169777B1 (ko) 1995-06-30 1995-06-30 고속 비터비 복호기의 구현을 위한 정규화 방법 및 장치
US08/672,076 US5859861A (en) 1995-06-21 1996-06-26 High speed viterbi decoder
JP8170095A JPH09181619A (ja) 1995-06-30 1996-06-28 ビタービ復号器とその復号方法
DE19626076A DE19626076C2 (de) 1995-06-30 1996-06-28 Viterbi-Decodierer und Synchronisierungs-/Nichtsynchronisierungserkennungsgerät dafür
CN96106939A CN1142143A (zh) 1995-06-30 1996-07-01 维特比解码器
US09/159,636 US5960011A (en) 1995-06-30 1998-09-24 Viterbi decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950018786A KR0169777B1 (ko) 1995-06-30 1995-06-30 고속 비터비 복호기의 구현을 위한 정규화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR970004372A KR970004372A (ko) 1997-01-29
KR0169777B1 true KR0169777B1 (ko) 1999-03-20

Family

ID=19419203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950018786A KR0169777B1 (ko) 1995-06-21 1995-06-30 고속 비터비 복호기의 구현을 위한 정규화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR0169777B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020072628A (ko) * 2001-03-12 2002-09-18 학교법인 인하학원 고속 연판정 출력 비터비 복호기를 위한 경로 메트릭정규화 방법 및 장치

Also Published As

Publication number Publication date
KR970004372A (ko) 1997-01-29

Similar Documents

Publication Publication Date Title
KR101478841B1 (ko) 소프트 출력 채널 검출기, map 검출기, 수신 신호 처리 방법 및 map 검출기를 사용한 수신 신호 처리 방법
US5349608A (en) Viterbi ACS unit with renormalization
US5027374A (en) Bit serial Viterbi decoder add/compare/select array
US6697443B1 (en) Component decoder and method thereof in mobile communication system
US6148431A (en) Add compare select circuit and method implementing a viterbi algorithm
JP3120511B2 (ja) ビタビ復号装置
US7581160B2 (en) ACS circuit and Viterbi decoder with the circuit
JP3264855B2 (ja) トーレス削除方法を用いるビタビ復号器における生存者メモリ
US20050044474A1 (en) Maximum likelihood detector and/or decoder
EP3996285A1 (en) Parallel backtracking in viterbi decoder
US20070113161A1 (en) Cascaded radix architecture for high-speed viterbi decoder
KR0169777B1 (ko) 고속 비터비 복호기의 구현을 위한 정규화 방법 및 장치
KR0140779B1 (ko) 비터비 복호기
US6031876A (en) Trellis decoder for ATSC 8VSB
US20050138535A1 (en) Method and system for branch metric calculation in a viterbi decoder
US7020831B2 (en) Pipelined add-compare-select circuits and methods, and applications thereof
KR100478462B1 (ko) 격자 코드 데이타의 생존 경로 역추적장치
KR0169680B1 (ko) 비터비 복호기
US20020056068A1 (en) Device and method to carry out a viterbi-algorithm
Shim et al. An improved VLSI architecture for Viterbi decoder
Vijayan et al. An Efficient Low–Power Viterbi Decoder using Dual Port Memory
WO1996002973A1 (en) Viterbi acs unit with renormalization
WO2001029973A1 (en) Trellis backtrace decoder
KR19990035418A (ko) 트렐리스 코드 데이터의 생존 경로 역추적 장치
JP2001144631A (ja) ビタビ復号装置

Legal Events

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

Payment date: 20050922

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee