KR20020066621A - 버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법 - Google Patents

버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법 Download PDF

Info

Publication number
KR20020066621A
KR20020066621A KR1020010006901A KR20010006901A KR20020066621A KR 20020066621 A KR20020066621 A KR 20020066621A KR 1020010006901 A KR1020010006901 A KR 1020010006901A KR 20010006901 A KR20010006901 A KR 20010006901A KR 20020066621 A KR20020066621 A KR 20020066621A
Authority
KR
South Korea
Prior art keywords
filter
common pattern
bit
coefficient
common
Prior art date
Application number
KR1020010006901A
Other languages
English (en)
Other versions
KR100422443B1 (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 KR10-2001-0006901A priority Critical patent/KR100422443B1/ko
Priority to US10/075,643 priority patent/US20020152251A1/en
Publication of KR20020066621A publication Critical patent/KR20020066621A/ko
Application granted granted Critical
Publication of KR100422443B1 publication Critical patent/KR100422443B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0238Measures concerning the arithmetic used
    • H03H17/0239Signed digit arithmetic

Abstract

덧셈기의 사용을 최소화하여 고속 저전력 연산을 제공하는 개선된 디지털 필터가 개시된다. n 비트(n은 2이상의 자연수)의 CSD 코드워드로 표현되는 필터계수들을 복수로 갖는 디지털 필터에서 상기 필터계수들을 구현하는 방법은, 상기 필터계수들의 임의의 필터계수들에 대한 코드워드 패턴들 중에서, 정해진 공통패턴(common subexpression)의 비트이동, 비트가산, 비트반전을 통하여 같아지는 패턴들을 찾아서 버츄얼(virtual) 공통패턴으로 만들어 상기 임의의 필터계수들의 탭라인에서 상기 버츄얼 공통패턴이 공통패턴을 이용하여 수행됨으로서 덧셈의 사용 수를 감소시키는 방법을 특징으로 한다.

Description

버츄얼 공통패턴을 사용한 저전력 CSD 선형위상 FIR 필터 구조 및 그에 따른 필터구현방법{Low power CSD Linear phase FIR filter architecture using virtual common subexpression and filter design method therefore}
본 발명은 디지털 필터에 관한 것으로, 특히 공통패턴을 사용한 저전력 CSD 필터 구조 및 그에 따른 필터 구현방법에 관한 것이다.
일반적으로 디지털 필터는 곱셈기, 덧셈기, 및 지연소자를 포함하는 회로들을 반도체 기판 상에 제조하는 것에 의해 구현될 수 있다. 그러한 디지털 필터의 입력신호와 필터계수 그리고 출력신호는 모두 2의 보수형(2's complement)으로 표현되는 것이 일반적이다. 고속 저전력 필터가 이동 통신 시스템 단말기 등의 IF (Intermediate Frequency) 다운 컨버터 칩에서 요구되어짐에 따라, 곱셈기를 사용하지 않고 덧셈기 만으로 곱셈을 수행하는 방법이 많이 사용되고 있다.
그러한 덧셈과 지연소자만으로 구현되는 디지털 필터에서는 2의 보수형 보다는 CSD(Canonical Signed Digit:이하 CSD)형의 표현이 널리 사용된다. 왜냐하면 임의의 필터계수를 바이너리(Binary)로 나타낼 때, 2의 보수형보다는 CSD형이 1의 수가 적게 사용되기 때문이다. 단 CSD형의 표현에서는 1과 -1이 모두 사용되는 점이 2의 보수형의 표현과는 다르다. CSD형의 표현에서 구현 측면을 보면, 1의 구현 시에는 덧셈기가 사용되고, -1의 구현에서는 뺄셈기가 사용되나 회로 구현비용은 같다.
일반적으로, 필터계수에 사용되는 1 또는 -1의 수가 덧셈의 수와 일치한다. 즉, 임의의 필터에서 1 또는 -1이 총 m개가 있을 때, 구현을 위하여 m-1개의 덧셈이 필요하다. 예를 들어, m=24 인 경우에 23개의 덧셈기가 필요하다.
그러나, 최근에는 CSD형의 필터구현에서 공통패턴을 공유함으로서 덧셈의 수를 감소시킨 방법이 사용되고 있다. 선형위상(Linear phase) FIR 필터에서, 예컨대 8개의 계수들이 있을 때 h0~h3의 계수는 h7~h4의 계수와 각각 대칭이다. 이와 같이 선형 위상 FIR 필터는 자연적으로 공통패턴이 2개 이상 존재한다.
이하에서는 후술될 본 발명의 철저한 이해를 제공할 의도외에는 다른 의도없이, 필터 계수(coefficients)의 대칭에서 생성되는 공통패턴을 이용하여 FIR(Finite Impulse Response:이하 FIR)필터를 구현하는 종래 기술의 예를 3가지 들고 각기 설명한다.
첫째의 경우로서, 다음과 같은 14탭의 선형위상 FIR 필터를 살펴보기로 하자.
H(z) = h0+ h1z-1+ h2z-2+ h3z-3+ h4z-4+ h5z-5+ h6z-6+ h7z-7+ h8z-8+ h9z-9+ h10z-10+ h11z-11+ h12z-12+ h13z-13
위의 필터계수가 다음과 같은 CSD형으로 나타내진다고 하자. 다음의 표-1에서 -1은 N으로 표기된다.
표-1
-1 -2 -3 -4 -5 -6 -7 -8 -9
h0 1 N 1
h1 1 N 1
h2 1 N 1
h3 1 N 1
h4 1 N 1
h5 1 N 1
h6 1 N 1
위의 표-1에서 0은 별도로 표기되지 않고 블랭크로 나타내었으며, h7부터h13까지의 계수들은 h0부터 h6까지의 계수들과 대칭이므로 생략되었다. 위의 표에서 가로방향은 9비트로 표현되는 CSD형의 필터계수를 나타내며, 세로방향은 필터 계수를 나타낸다. 즉 h0의 필터계수는 0100N0010의 CSD 형의 계수이다. 상기 표에서 가로방향은 쉬프트를 의미하고, 세로는 지연을 의미한다. 1번째 행과 1번째 열은 x1으로 정의되며, 기준 점으로 정해진다.
위의 각각의 계수 패턴들을 수식으로 나타내면 다음과 같다.
h0:x2= x1-x1>> 3 + x1>> 6
h1:x3= x1-x1>> 3 + x1>> 7
h2:x4= x1-x1>> 3 + x1>> 5
h3:x5= x1-x1>> 4 + x1>> 6
h4:x6= x1-x1>> 2 + x1>> 6
h5:x7= x1>> 1-x1>> 3 + x1>> 6
h6:x8= x1>> (-1) -x1>> 3 + x1>> 6
상기 수식에서 ">>"은 쉬프트를 나타내는 부호로 사용되었다. 예를 들어, 상기 h0:x2= x1-x1>> 3 + x1>> 6 라는 표현은 x1을 기준으로 정할 때, 표-1에서 보여지는 바와 같이 -x1>> 3은 상기 x1을 기준으로 3 비트 쉬프트, x1>> 6 은 상기 x1을 기준으로 6비트 쉬프트를 의미한다. 여기서, 상기 x1은 1비트 쉬프트를 자체로 내재하고 있다. 따라서, 쉬프트되는 전체 비트수는 각기 -1,-(-4),-7로서 나타난다. 상기와 같은 방식으로 상기 h1:x3= x1-x1>> 3 + x1>> 7 은 -1,-4,-8이 된다. 또한, 상기 -(-4)는 +4인데 이는 표-1에서 N으로 되어 있기 때문이며, 실제로는 뺄셈기의 사용을 필요로 한다.
위의 패턴을 사용하여 출력신호를 표기하면 다음과 같다.
y = x2>> 1 + x3[-1] >> 1 + x4[-2]>> 1 + x5[-3]>> 1 + x6[-4]>> 1 + x7[-5]>> 1 + symmetry
결국 출력은 입력신호 x의 쉬프트(shift)되고 지연된 여러 개의 합으로 표현될 수 있는 것이다. 상기 symmetry 는 표기의 간략화를 위해 사용된 용어로서 대칭의 계수가 반복되는 것을 의미한다. 즉, h7부터 h13 까지의 계수는 h0부터 h6까지의 계수와 대칭이므로 별도의 표시를 생략하고 symmetry로서 표기되었다. 상기한 바와 같은 계수 패턴들을 가지는 FIR 필터를 트랜스포즈드 다이랙트 폼(transposed direct form)이용하여 구현하면 도 1과 같은 구성이 얻어진다.
도 1을 참조하면, 라인(T1~T7)은 탭들(taps)을 나타내며, 덧셈기는 부호 Ai(i는 1이상의 자연수)로 표기되고, 지연기는 부호 Di로 표기되며, 입력신호는 x, 출력신호는 y로 나타나 있다. 도면에서 비록 덧셈기로 표기되었으나 뺄샘을 행하는 뺄셈기는 그 입력단에 부호"-"가 표기되어 있다. 본 명세서에서 사용되는 용어 "덧셈기"는 덧셈을 행하는 기능을 가짐은 물론, 실질적으로 뺄셈을 수행하는 뺄셈기와 동일한 기능을 갖는 의미로 사용됨을 유의하여야 한다.
도 1을 참조하면, 탭라인(T1)에서 보여지는 덧셈기들(A1,A2)에 의해 -1,-4,-7의 덧셈이 행하여져 상기 h0계수가 구현되고, 탭라인(T2)에서 보여지는 덧셈기들(A3,A4)에 의해 -1,-4,-8의 덧셈이 행하여져 상기 h1계수가 구현된다. 상기 -1,-4,-8과 같이 -n(n은 정수)은 2-n을 의미하며 n비트 라이트(right)시프트 동작이다. 결국, 입력신호 x는 덧셈이 수행되기 이전에 -1,-4,-8과 곱하여지며 이는 시프트 레지스터에 의해 구현된다. 즉 도면에서의 -n은 시프트 레지스터의 하드웨어로 구현됨을 의미한다.
지연기들(D1~D13)은 출력신호 y를 얻기 위해 각기 대응되는 덧셈기의 출력을 주어진 타임 만큼 지연하기 위한 기능을 한다. 상기 h0계수 구현시 -1,-4,-7로 되는 것은 x1자체가 -1의 쉬프트를 내재하고 있는 기준 점이므로 x1을 구현할 때에는 구현 식보다 -1을 더 쉬프트 하여야 하기 때문이다.
도 1과 같은 필터를 구현하는데 사용된 덧셈의 수를 보면 다음과 같다. 먼저 각각의 필터계수를 만드는데 14개의 덧셈기들(A1~A14)이 필요하다. 왜냐하면 총 7개의 계수가 필요한데 한 개의 필터 계수당 2개의 덧셈이 사용되기 때문이다. 그리고 출력신호를 뽑아 내기 위하여 13개의 덧셈기들(A12~A27)이 필요하다. 따라서 총 14+13=27개의 덧셈기가 사용됨을 알 수 있다.
상기 표-1에서 보듯이 h0의 패턴과 나머지 계수들의 패턴이 유사하나 공통패턴은 될 수 없으므로 덧셈의 감소는 성취될 수 없다. 이와 같은 패턴에서 덧셈의감소를 달성할 수 있는 방법이 모색되어야만 CSD형의 필터에서 저전력 및 고속의 필터가 구현될 수 있다.
상기한 바와 같이, 도 1과 같은 필터구성에서 필터 계수(coefficients)의 대칭에서 생성되는 공통패턴을 이용하여 덧셈기의 수를 어느 정도 감소시킬 수 는 있으나, 여전히 덧셈기가 많이 소요되는 문제점이 있다.
두번째의 경우로서, 다음과 같은 10탭의 선형위상 FIR 필터를 살펴보기로 하자.
H(z) = h0+ h1z-1+ h2z-2+ h3z-3+ h4z-4+ h5z-5+ h6z-6+ h7z-7+ h8z-8+ h9z-9
위의 필터의 계수가 다음과 같은 CSD형으로 나타내진다고 하자. 다음의 표-2에서 -1은 N으로 표기된다.
표-2
-1 -2 -3 -4 -5 -6 -7 -8 -9
h0 1 N 1 N
h1 N 1 N
h2 1 1 N
h3 1 N N
h4 1 N 1
h5부터 h9까지의 계수들은 h0부터 h4까지의 계수들과 대칭이므로 생략하였다. 위의 표에서 가로는 9비트로 표현되는 CSD형의 필터계수를 나타내며, 세로는 필터 계수를 나타낸다. 즉 h0의 계수는 10N0010N0의 CSD 형의 계수이다. 위의 각각의 계수 패턴들을 수식으로 나타내면 다음과 같다.
h0:x2= x1-x1>> 2 + x1>> 5 - x1>> 7
h1:x3= -x1>> 2 + x1>> 5 - x1>> 7
h2:x4= x1+ x1>> 5 - x1>> 7
h3:x5= x1- x1>> 2 - x1>> 7
h4:x6= x1- x1>> 2 + x1>> 5
위의 패턴을 사용하여 출력신호를 표기하면 다음과 같다.
y = x2+ x3[-1] + x4[-2] + x5[-3] + x6[-4] + symmetry
상기한 바와 같은 계수 패턴들을 가지는 FIR 필터를 트랜스포즈드 다이랙트 폼을 이용하여 구현하면 도 2와 같은 구성이 얻어진다.
도 2를 참조하면, 도 1과 동일 또는 유사하게 라인(T1~T5)은 탭들(taps)을 나타내며, 덧셈기는 부호 Ai(i는 1이상의 자연수)로 표기되고, 지연기는 부호 Di로 표기되며, 입력신호는 x, 출력신호는 y로 나타나 있다. 도면에서 비록 덧셈기로 표기되었으나 뺄샘을 행하는 뺄셈기는 그 입력단에 부호"-"가 표기되어 있다. 탭라인(T1)에서 보여지는 덧셈기들(A1,A2,A3)에 의해 -1,-3,-6,-8의 덧셈이 행하여져 상기 h0계수가 구현되고, 탭라인(T2)에서 보여지는 덧셈기들(A4,A5)에 의해 -3,-6,-8의 덧셈이 행하여져 상기 h1계수가 구현된다. 지연기들(D1~D9)은 출력신호 y를 얻기 위해 각기 대응되는 덧셈기의 출력을 주어진 타임 만큼 지연하기 위한 기능을 한다.
도 2에서, 필터를 구현하는데 필요한 덧셈의 수를 보면 다음과 같다. 먼저각각의 필터계수를 만드는데 11개의 덧셈기들(A1~A11)이 필요하다. 왜냐하면 각각의 계수에 3, 2, 2, 2, 2개의 덧셈이 사용되기 때문이다. 그리고 지연기들에 연결되어 덧셈을 행하는 덧셈기들(A12~A20)이 9개 필요하다. 따라서 총 11+9=20개의 덧셈기들이 필요하다.
표-2에서 보듯이 h0의 패턴과 나머지 계수들의 패턴이 유사하나 공통패턴은 될 수 없으므로 역시 덧셈의 감소는 성취될 수 없다. 이와 같은 패턴에서도 덧셈의 감소를 달성할 수 있는 방법이 모색되어야만 CSD형의 필터에서 저전력으로 필터 구현이 가능해 질 수 있다.
상기한 바와 같이, 도 2와 같은 필터구성에서 필터 계수의 대칭에서 생성되는 공통패턴을 이용하여 덧셈기의 수를 어느 정도 감소시킬 수 는 있으나, 여전히 덧셈기가 많이 소요되는 문제점에 기인하여 고속 및 저전력 특성을 최적으로 달성하기 어렵다.
이제, 세 번째의 경우로서, 다음과 같은 10탭의 선형위상 FIR 필터를 살펴보기로 하자.
H(z) = h0+ h1z-1+ h2z-2+ h3z-3+ h4z-4+ h5z-5+ h6z-6+ h7z-7+ h8z-8+ h9z-9
위의 필터의 계수가 다음과 같은 CSD형으로 나타내진다고 하자. 다음의 표-3에서 -1은 N으로 표기된다.
표-3
-1 -2 -3 -4 -5 -6 -7 -8 -9
h0 1 N 1 N
h1 N N 1 N
h2 1 1 1 N
h3 1 N N N
h4 1 N 1 1
상기의 표-3에서 h5부터 h9까지의 계수들은 h0부터 h4까지의 계수들과 대칭이므로 생략하였다. 위의 표에서 가로는 9비트로 표현되는 CSD형의 필터계수를 나타내며, 세로는 필터 계수를 나타낸다. 즉 h0의 계수는 10N0010N0의 CSD 형의 계수이다.
위의 각각의 계수 패턴들을 수식으로 나타내면 다음과 같다.
h0:x2= x1- x1>> 2 + x1>> 5 - x1>> 7
h1:x3= -x1-x1>> 2 + x1>> 5 - x1>> 7
h2:x4= x1+ x1>> 2 + x1>> 5 - x1>> 7
h3:x5= x1- x1>> 2 - x1>> 5 - x1>> 7
h4:x6= x1- x1>> 2 + x1>> 5 + x1>> 7
위의 패턴을 사용하여 출력신호를 표기하면 다음과 같다.
y = x2+ x3[-1] + x4[-2] + x5[-3] + x6[-4] + symmetry
상기한 바와 같은 계수 패턴들을 가지는 FIR 필터를 트랜스포즈드 다이랙트 폼을 이용하여 구현하면 도 3과 같은 구성이 얻어진다.
도 3을 참조하면, 도 1 또는 도 2의 경우와 동일 또는 유사하게 라인(T1~T5)은 탭들(taps)을 나타내며, 덧셈기는 부호 Ai(i는 1이상의 자연수)로 표기되고, 지연기는 부호 Di로 표기되며, 입력신호는 x, 출력신호는 y로 나타나 있다. 탭라인(T1)에서 보여지는 덧셈기들(A1,A2,A3)에 의해 -1,-3,-6,-8의 덧셈이 행하여져 상기 h0계수가 구현되고, 탭라인(T2)에서 보여지는 덧셈기들(A4,A5,A6)에 의해 -1,-3,-6,-8의 덧셈이 행하여져 상기 h1계수가 구현된다. 지연기들(D1~D9)은 출력신호 y를 얻기 위해 각기 대응되는 덧셈기의 출력을 주어진 타임 만큼 지연하기 위한 기능을 한다.
도 3에서, 필터를 구현하는데 필요한 덧셈의 수를 보면 다음과 같다. 먼저 각각의 필터계수를 만드는데 15개의 덧셈이 필요하다. 왜냐하면 각각의 계수를 구현하기 위해 3개씩의 덧셈기들이 5개의 탭들에 사용되기 때문이다. 그리고 지연기들에 연결되어 덧셈을 행하는 덧셈기가 9개 필요하다. 따라서 총 15+9=24개의 덧셈기가 사용된다.
표-3에서 보듯이 h0의 패턴과 나머지 계수들의 패턴이 유사하나 역시 공통패턴은 될 수 없으므로 덧셈의 감소는 성취될 수 없다. 이와 같은 패턴에서도 덧셈의 감소를 달성할 수 있는 방법이 모색되어야만 CSD형의 필터에서 저전력으로 필터 구현이 가능해 질 수 있다.
도 3와 같은 필터구성에서도 필터 계수의 대칭에서 생성되는 공통패턴을 이용하여 덧셈기의 수를 어느 정도 감소시킬 수 는 있으나, 여전히 덧셈기가 많이 소요되는 문제점에 기인하여 고속 및 저전력 특성을 최적으로 달성하기 어렵다.
상기한 바와 같이 선형위상 FIR 필터에서는 계수의 대칭에서 생성되는 공통패턴을 이용하여 덧셈기를 줄이는 기법이 우선적으로 사용되며, 일반 FIR 필터에서는 계수의 대칭에서 생성되는 공통패턴이 없으므로 계수들에서 나타나는 공통패턴을 조사하여 공유하는 기법이 사용된다. 두 가지 기법 모두가 필터계수 내에 존재하는 공통패턴을 공유하는 방법이라는 점에서는 같은 개념이다.
이와 같이 CSD(Canonical Signed Digit)를 사용한 FIR 필터구현에서, 사용되어지는 가산기의 수를 줄이기 위한 공통패턴 공유 방법이 서브 익스프레션 셰어링(Subexpression sharing)기술이라는 명칭으로 본 분야에서 개시되어졌다. 이는 리챠드 아이 하틀리(Richard I. Hartley)에 의해 발표된 제목 "Subexpression sharing in filters using canonic signed digit multipliers"하에 IEEE Transaction on circuits and systems II: Analog and digital signal processing, Vol. 43, No. 10, pp. 677-688, October 1996. 에 나타나 있다.
또한, 최소의 가산기를 이용하는 고속 FIR 디지털 필터 구조와 믹스드 인테저 프로그래밍(MILP)을 사용한 필터의 설계방법에 관한 기술이 M. Yagyu, A. Nishihara, and N. Fujii, "Fast FIR digital filter structures using minimal number of adders and its application to filter design", IEICE Transaction on Fundamentals, Vol. E79 A, No. 8, pp. 1120-1129, August 1996.에 개시된 바 있다.
상기한 선행기술들에서는 선형위상 필터 계수 대칭에서 생성되는 공통패턴이외에 계수 내부에 존재하는 공통패턴들을 찾아서 공유함으로써 덧셈기의 수를 줄이고 있으나, 고속 저전력의 반도체 칩을 구현할 만큼 덧셈기의 수를 감소시키지 못하는 문제점이 있다.
상술한 바와 같이 종래에는 덧셈기의 수가 많아서 고속처리 및 저전력 구현이 어려운 문제점이 있어 왔다. CSD형으로 구현되는 디지털 필터에서 덧셈기의 수가 반도체의 구현면적과 처리속도를 정의하므로, 덧셈기의 수를 보다 최소화할 수 있는 기술이 절실히 필요하게 된다.
따라서, 상기한 종래의 문제점들을 해결할 수 있는 개선된 기술이 본 분야에서 절실히 요망되는 실정이다.
따라서, 본 발명의 목적은 상기한 종래의 문제점들을 해소할 수 있는 디지털 필터를 제공함에 있다.
본 발명의 다른 목적은 공통패턴을 최대로 이용하여 덧셈 연산을 최소화하는 저전력 CSD 선형위상 필터 구조 및 그에 따른 필터구현방법을 제공함에 있다. ]
본 발명의 또 다른 목적은 저전력 고속 동작의 FIR필터를 제공함에 있다.
본 발명의 또 다른 목적은 보다 간단한 회로 구성으로 칩내의 점유면적을 최소화하고 제조원가를 저렴하게 할 수 있는 저전력 고속 동작의 디지털 필터 및 그에 따른 필터 구현방법을 제공함에 있다.
상기한 목적들 및 타의 목적을 달성하기 위한 본 발명의 일 양상(aspect)에 따라, n 비트(n은 2이상의 자연수)의 CSD 코드워드로 표현되는 필터계수들을 복수로 갖는 디지털 필터에서 상기 필터계수들을 구현하는 방법은, 상기 필터계수들 중필터계수들 안에 나타나는 임의의 코드워드 패턴을 기존의 공통패턴을 이용하여 구현함으로서 구현 비용을 절감시키는 것을 특징으로 한다.
본 발명의 다른 양상에 따라, 디지털 필터는: k 비트의 디지털 샘플들을 입력신호로서 수신하여 CSD 코드내에서 n 비트의 코드워드로서 각기 표현되는 필터 계수들중에서 공통패턴으로 정의된 필터 계수의 비트 쉬프트 값들 만큼 각기 쉬프팅하는 제1쉬프트 레지스터 멤버들과, 상기 공통패턴으로 정의되지 않은 다른 필터 계수들의 코드워드를 상기 공통패턴의 코드워드를 이용하여 구현하기 위하여 쉬프팅하는 제2쉬프트 레지스터 멤버들을 포함하는 쉬프트 레지스터 그룹과; 상기 제1쉬프트 레지스터 멤버들로부터 출력된 쉬프팅된 디지털 샘플들을 모두 더하여 공통 탭라인에 제공하는 제1 합성멤버들과, 상기 제2쉬프트 레지스터 멤버들로부터 출력된 쉬프팅된 디지털 샘플들을 상기 공통 탭라인의 합성출력과 각기 더하여 각각의 대응되는 탭라인에 제공하는 제2 합성멤버들을 포함하는 덧셈그룹과; 상기 탭라인들에 연결되며 상기 합성출력들 간에 딜레이를 제공하기 위해 직렬로 연결된 복수의 지연기를 가지는 지연그룹과; 상기 지연기들의 출력과 상기 탭라인의 합성출력들을 더하여 k비트의 디지털 출력신호를 생성하기 위한 복수의 덧셈기를 포함하는 출력 덧셈그룹을 적어도 포함함을 특징으로 한다.
상기한 본 발명의 방법 및 필터구조에 따르면, 고속 저전력 연산 및 덧셈기의 사용개수를 보다 최소화 할 수 있다.
도 1은 종래의 공통패턴을 사용한 CSD 선형위상 필터구조도
도 2는 종래의 공통패턴을 사용한 CSD 선형위상 필터구조도
도 3은 종래의 공통패턴을 사용한 CSD 선형위상 필터구조도
도 4는 본 발명의 일 예에 따라 도 1을 개선한 CSD 선형위상 필터구조도
도 5는 본 발명에 일 예에 따라 도 2를 개선한 CSD 선형위상 필터구조도
도 6은 본 발명에 일 예에 따라 도 3을 개선한 CSD 선형위상 필터구조도
도 7은 본 발명이 적용될 수 있는 무선 수신단말기의 IF 디지털 신호처리부의 블록도
도 8 및 도 9는 본 발명에 따른 버츄얼 공통패턴 및 종래의 공통패턴을 이용하여 나타낸 필터의 패턴구조도들
상기한 본 발명의 목적들 및 타의 목적들, 특징, 그리고 이점들은, 첨부된 도면들을 참조하여 이하에서 기술되는 본 발명의 상세하고 바람직한 실시예의 설명에 의해 보다 명확해질 것이다. 도면들 내에서 서로 동일 내지 유사한 부분들은 설명 및 이해의 편의상 동일 내지 유사한 참조부호들로 기재됨을 주목하여야 한다.
먼저, 본 발명의 실시예들의 전반에 걸쳐 일관되게 견지되고 있는 기술적 사상은, 처리할 임의의 패턴이 공통패턴에 대하여 필터계수의 대칭이나 보수형태로도 나타나지 아니하는 임의의 패턴도 기존의 공통패턴을 이용하여 구현할 수 있다는 것이다. 예컨대, 상기 공통패턴에 대하여 비트이동(쉬프트), 비트가산, 또는 비트반전을 행하면 임의의 패턴과 같아질 수 있는데, 이를 본 명세서에서는 버츄얼 공통패턴이라고 명명하였다. 따라서, 버츄얼 공통패턴이라는 용어는, 원래는 공통패턴이 아닌 패턴이 기존의 공통패턴을 이용하여 간단히 구현될 수 있는 패턴의 의미로 해석되어야 한다.
본 발명에서 사용되는 덧셈기는 입력초단에 사용되는 특별한 경우를 제외하고는 모두 복수의 입력단들을 가지는 풀 애더(full adder)이다. 상기 풀 애더는 2개의 하프 애더(half adder)와 하나의 오아 게이트(OR gate)로 구현될 수 있다. 상기 하프 애더는 한 개의 배타적 논리합 게이트와 한 개의 앤드 게이트를 연결하여 구성될 수 있음은 명백하다. 지연기는 플립플롭 또는 레지스터로 구성될 수 있다.
먼저, 첫 번째의 경우로서, 비트 이동에 의한 버츄얼 공통패턴의 생성을 설명한다. 설명전후를 불문하고 도 4를 미리 참조하고 도 1과 비교하여 덧셈기의 감소를 카운팅 하여도 무방하다.
다음과 같은 14탭의 선형위상 FIR 필터를 살펴보기로 하자.
H(z) = h0+ h1z-1+ h2z-2+ h3z-3+ h4z-4+ h5z-5+ h6z-6+ h7z-7+ h8z-8+ h9z-9+ h10z-10+ h11z-11+ h12z-12+ h13z-13
위의 필터의 계수가 상기한 표-1에서와 같은 CSD형으로 나타내진다고 하자.
따라서, 상기 표-1에서 보여지는 각각의 계수 패턴들은 h0을 사용하여 다음과 같이 표기할 수 있다.
h1 : 100N0001 = 100N001 - 00000001
h2 : 100N010 = 100N001 + 0000001
h3 : 1000N01 = 100N001 + 0000100
h4 : 10N0001 = 100N001 - 0001000
h5 : 010N001 = 100N001 - 0100000
h6 : 1000N001 = 0100N001+01000000
즉, 모든 패턴은 공통패턴 h0인 100N001의 패턴을 이용하여 나타낼 수 있다. 위의 각각의 계수 패턴들을 수식으로 나타내면 다음과 같다.
h0:x2= x1- x1>> 3 + x1>> 6
h1:x3= x2- x1>> 7
h2:x4= x2+ x1>> 6
h3:x5= x2+ x1>> 4
h4:x6= x2- x1>> 3
h5:x7= x2- x1>> 1
h6:x8= x2+ x1
위의 패턴을 사용하여 출력신호를 표기하면 다음과 같다.
y = x2>> 1 + x3[-1] >> 1 + x4[-2] >> 1 + x5[-3] >> 1 + x6[-4] >> 1 + x7[-5] >> 1 + x8[-6] >> 1 + symmetry
상기한 바와 같은 계수 패턴들을 가지는 FIR 필터를 트랜스포즈드 다이랙트 폼(transposed direct form)을 이용하여 구현하면 도 4와 같은 구성이 얻어진다.
도 4를 참조하면, 라인(T1~T7)은 탭들(taps)을 나타내며, 덧셈기는 부호 Ai(i는 1이상의 자연수)로 표기되고, 지연기는 부호 Di로 표기되며, 입력신호는 x, 출력신호는 y로 나타나 있다. 도면에서 비록 덧셈기로 표기되었으나 뺄샘을 행하는 뺄셈기는 그 입력단에 부호 "-"가 표기되어 있다.
도 4를 참조하면, 탭라인(T1)에서 보여지는 덧셈기들(A1,A2)에 의해 -1,-4,-7의 덧셈이 행하여져 상기 h0계수가 구현되고, 탭라인(T2)에서 보여지는 덧셈기(A3)에 의해 h0계수와 -8의 덧셈이 행하여져 상기 h1계수가 구현된다. 탭라인(T3)에서 보여지는 덧셈기(A4)에 의해 h0계수와 -7의 덧셈이 행하여져 상기 h2계수가 구현되고, 탭라인(T4)에서 보여지는 덧셈기(A5)에 의해 h0계수와 -5의 덧셈이 행하여져 상기 h3 계수가 구현되며, 탭라인(T5)에서 보여지는 덧셈기(A6)에 의해 h0계수와 -4의 덧셈이 행하여져 상기 h4 계수가 구현되고, 탭라인(T6)에서 보여지는 덧셈기(A7)에 의해 h0계수와 -2의 덧셈이 행하여져 상기 h5 계수가 구현되며, 탭라인(T7)에서 보여지는 덧셈기(A8)에 의해 h0계수와 -1의 덧셈이 행하여져 상기 h6 계수가 구현된다. 여기서, 상기 덧셈기들(A3,A4,A5,A6,A7,A8)의 일측 입력단은 공통패턴으로 작용하는 필터계수 h0의 탭라인(T1)에 공통으로 연결됨을 유의하라. 지연기들(D1~D13)은 출력신호 y를 얻기 위해 각기 대응되는 덧셈기의 출력을 주어진 타임 만큼 지연하기 위한 기능을 한다. 예컨대, 지연기(D1)는 상기 덧셈기(A1)의 출력을 저장하고 있다가 상기 덧셈기(A3)의 출력이 나오는 시점에서 덧셈기(A9)의 입력으로 제공한다. 지연기(D2)는 상기 덧셈기(A4)의 출력이 나올 때 저장된 상기 덧셈기(A9)의 출력을 덧셈기(A10)의 입력으로 제공한다.
도 4와 같은 필터를 구현하는데 사용된 덧셈의 수를 보면 다음과 같다. 먼저 각각의 필터계수를 만드는데 8개의 덧셈기들(A1~A8)이 사용되었다. 그리고 출력신호 y를 도출하기 위하여 지연기들에 의해 지연된 출력과 탭라인에 나타나는 출력을 합하는 덧셈기들(A9~A21)이 13개 사용되었다. 따라서 총 8+13=21개의 덧셈기가 사용되었다. 이와 같이, 비트이동에 의하여 버츄얼 공통패턴을 생성하여 도 4와 같이 필터를 구성하면, 도 1과 같은 종래의 경우에 비해 6개의 덧셈기를 추가로 더 줄일 수 있다. 즉, 도 1에서는 27개의 덧셈기가 사용되었으나 도 4에서는 21개의 덧셈기가 사용되었음을 주목하라.
덧셈기가 줄어든 이유를 강조하여 설명하면, 종래의 방법에서는 h1부터 h6의 필터계수가 h0의 공통패턴과는 관계가 없으므로 h1부터 h6의 필터계수를 h0의 공통패턴을 이용하여 구현하지 못하고 그 자체로서만 구현하였다. 그러나, 본 발명에서는 종래의 방법과는 달리, 구현하고자 하는 임의의 패턴들 즉, h1부터 h6의 필터계수들을 모두 h0의 필터계수를 이용하여 표현하였다. 즉, 임의의 패턴이 공통패턴의 1비트 비트이동을 통하여 같아지는 버츄얼 공통패턴을 만드는 것이다. 위의 수식에서 보여지듯이 h1부터 h6의 필터계수들은 모두 x2의 공통패턴에 1개의 덧셈만을 추가하여 표현된 것임을 알 수 있다.
결국, CSD 코드워드로 표현되는 필터계수들을 복수로 갖는 디지털 필터에서 상기 필터계수들을 구현하는 방법은, 상기 필터계수들중 임의의 필터계수들에 대한 코드워드 패턴을 기존에 정해진 공통패턴의 비트이동을 통하여 구현하는 것이다. 따라서, 상기 임의의 필터계수들의 탭라인에서 상기 공통패턴을 공유하게 되는 덧셈이 각기 수행되도록 하는 것에 의해 달성된다.
상기한 바와 같이, 본 발명의 첫 번째 실시 예의 경우에는 비트이동을 통한 버츄얼 공통패턴을 생성하여 필터 구현에 사용되는 가산기의 수를 도 1의 경우에 비해 6개를 감소시켰다. 따라서, 감소된 만큼의 저전력 및 고속 처리가 달성되는 효과가 있다.
두 번째의 경우로서, 비트가산에 의한 버츄얼 공통패턴의 생성을 설명한다.유사하게 도 5를 미리 참조하고 도 2와 비교하여 덧셈기의 감소를 카운팅하여도 무방하다.
다음과 같은 10탭의 선형위상 FIR 필터를 살펴보기로 하자.
H(z) = h0+ h1z-1+ h2z-2+ h3z-3+ h4z-4+ h5z-5+ h6z-6+ h7z-7+ h8z-8+ h9z-9
위의 필터의 계수가 상기한 표-2에서와 같은 CSD형으로 나타내진다고 하자.
상기 표-2에서 보여지는 각각의 패턴들은 h0을 사용하여 다음과 같이 표기될 수 있다.
h1 : 00N0010N = 10N0010N - 10000000
h2 : 1000010N = 10N0010N + 00100000
h3 : 10N0000N = 10N0010N - 00000100
h4 : 10N00100 = 10N0010N + 00000001
즉 모든 패턴은 h0의 패턴을 이용하여 다음과 같이 수식으로 나타낼 수 있다.
h0:x2= x1- x1>> 2 + x1>> 5 - x1>> 7
h1:x3= x2- x1
h2:x4= x2+ x1>> 2
h3:x5= x2- x1>> 5
h4:x6= x2+ x1>> 7
위의 패턴을 사용하여 출력신호를 표기하면 다음과 같다.
y = x2+ x3[-1] + x4[-2] + x5[-3] + x6[-4] + symmetry
상기한 바와 같은 계수 패턴들을 가지는 FIR 필터를 트랜스포즈드 다이랙트 폼을 이용하여 구현하면 도 5와 같은 구성이 얻어진다.
도 5를 참조하면, 라인(T1~T5)은 탭들(taps)을 나타내며, 덧셈기는 부호 Ai(i는 1이상의 자연수)로 표기되고, 지연기는 부호 Di로 표기되며, 입력신호는 x, 출력신호는 y로 나타나 있다. 도면에서 비록 덧셈기로 표기되었으나 뺄샘을 행하는 뺄셈기는 그 입력단에 부호 "-"가 표기되어 있다.
도 5를 참조하면, 탭라인(T1)에서 보여지는 덧셈기들(A1,A2,A3)에 의해 -1,-3,-6,-8의 덧셈이 행하여져 상기 h0계수가 구현되고, 탭라인(T2)에서 보여지는 덧셈기(A4)에 의해 h0계수와 -1의 덧셈이 행하여져 상기 h1계수가 구현된다. 탭라인(T3)에서 보여지는 덧셈기(A5)에 의해 h0계수와 -3의 덧셈이 행하여져 상기 h2 계수가 구현되고, 탭라인(T4)에서 보여지는 덧셈기(A6)에 의해 h0계수와 -6의 덧셈이 행하여져 상기 h3 계수가 구현되며, 탭라인(T5)에서 보여지는 덧셈기(A7)에 의해 h0계수와 -8의 덧셈이 행하여져 상기 h4 계수가 구현된다.
지연기들(D1~D9)은 출력신호 y를 얻기 위해 각기 대응되는 덧셈기의 출력을 주어진 타임 만큼 지연하기 위한 기능을 한다. 예컨대, 지연기(D1)는 상기 덧셈기(A1)의 출력을 저장하고 있다가 상기 덧셈기(A4)의 출력이 나오는 시점에서덧셈기(A8)의 입력으로 제공한다. 지연기(D2)는 상기 덧셈기(A5)의 출력이 나올 때 저장된 상기 덧셈기(A8)의 출력을 덧셈기(A9)의 입력으로서 제공한다. 여기서, 상기 덧셈기들(A4,A5,A6,A7)의 일측 입력단은 공통패턴으로 작용하는 필터계수 h0의 탭라인(T1)에 공통으로 연결됨을 주목(note)하라.
도 5와 같은 필터를 구현하는데 사용된 덧셈기의 수를 보면 다음과 같다. 먼저 각각의 필터계수를 만드는 데에는 각각의 계수별로 3, 1, 1, 1, 1개의 덧셈기가 사용되기 때문에 총 7개의 덧셈기들(A1~A7)이 사용되었다. 그리고, 출력신호를 뽑아 내는데 9개의 덧셈기들(A8~A16)이 사용됨을 알 수 있다. 따라서, 총 7+9=16개의 덧셈기들이 사용되었다.
이와 같이, 비트가산에 의하여 버츄얼 공통패턴을 생성하여 도 5와 같이 필터를 구성하면, 도 2와 같은 종래의 경우에 비해 4개의 덧셈기를 추가로 더 줄일 수 있다. 즉, 도 2에서는 20개의 덧셈기가 사용되었으나 도 5에서는 16개의 덧셈기가 사용되었음을 주목하라.
이와 같이, 덧셈기가 감소된 이유를 또 다시 강조하여 설명하면, 종래의 방법에서는 h1부터 h4까지의 필터계수가 h0의 공통패턴과는 관계가 없으므로 h1부터 h4까지의 필터계수를 h0의 공통패턴을 이용하여 구현하지 못하고 그 자체로서만 구현하였다. 그러나, 본 발명에서는 종래의 방법과는 달리, 구현하고자 하는 임의의 패턴들 즉, h1부터 h4까지의 필터계수들을 모두 h0의 필터계수를 이용하여 표현하였다. 즉, 기존의 공통패턴의 1비트 비트가산을 통하여 같아지는 임의의 패턴들을 버츄얼 공통패턴으로 정의하여 구현하는 것이다. 위의 수식에서 보여지듯이 h1부터h4의 필터계수들은 모두 x2의 공통패턴에 1개의 덧셈만을 추가하여 표현된 것임을 알 수 있다.
상기한 바와 같이, 본 발명의 두 번째 실시 예의 경우에는 비트가산을 통한 버츄얼 공통패턴을 생성하여 필터 구현에 사용되는 가산기의 수를 도 2의 경우에 비해 4개를 감소시켰다. 따라서, 감소된 만큼의 저전력 및 고속 처리가 달성되는 효과가 있다.
본 발명의 실시 예들 중의 세 번째의 경우로서, 비트 반전에 의한 버츄얼 공통패턴의 생성을 이하에서 설명한다. 유사하게 도 6를 미리 참조하고 도 3과 비교하여도 상관없다.
다음과 같은 10탭의 선형위상 FIR 필터를 살펴보기로 하자.
H(z) = h0+ h1z-1+ h2z-2+ h3z-3+ h4z-4+ h5z-5+ h6z-6+ h7z-7+ h8z-8+ h9z-9
위의 필터의 계수가 상기한 표-3과 같은 CSD형으로 나타내진다고 하자.
상기 표-3에서 가로는 9비트로 표현되는 한 개의 CSD형의 필터계수를 나타내며, 세로는 사용되는 여러 개의 필터 계수를 나타낸다. 즉 h0의 계수는 10N0010N0의 CSD 형의 계수이다.
위의 각각의 패턴들은 h0을 사용하여 다음과 같이 표기될 수 있다.
h1 : N0N0010N = 10N0010N -100000000
h2 : 1010010N = 10N0010N + 01000000
h3 : 10N00N0N = 10N0010N - 00001000
h4 : 10N00101 = 10N0010N + 00000010
즉, 모든 패턴은 공통패턴이 되는 h0인 패턴을 이용하여 수식으로 다음과 같이 나타낼 수 있다.
h0:x2= x1- x1>> 2 + x1>> 5 - x1>> 7
h1:x3= x2- x1>> (-1)
h2:x4= x2+ x1>> 1
h3:x5= x2- x1>> 4
h4:x6= x2+ x1>> 6
위의 패턴을 사용하여 출력신호를 표기하면 다음과 같다.
y = x2+ x3[-1] + x4[-2] + x5[-3] + x6[-4] + symmetry
상기한 바와 같은 계수 패턴들을 가지는 FIR 필터를 트랜스포즈드 다이랙트 폼을 이용하여 구현하면 도 6과 같은 구성이 얻어진다.
도 6을 참조하면, 라인(T1~T5)은 탭들(taps)을 나타내며, 덧셈기는 부호 Ai(i는 1이상의 자연수)로 표기되고, 지연기는 부호 Di로 표기되며, 입력신호는 x, 출력신호는 y로 나타나 있다. 도면에서 비록 덧셈기로 표기되었으나 뺄샘을 행하는 뺄셈기는 그 입력단에 부호 "-"가 표기되어 있다.
도 6을 참조하면, 탭라인(T1)에서 보여지는 덧셈기들(A1,A2,A3)에 의해 -1,-3,-6,-8의 덧셈이 행하여져 상기 h0계수가 구현되고, 탭라인(T2)에서 보여지는 덧셈기(A4)에 의해 h0계수와 입력신호의 덧셈이 행하여져 상기 h1계수가 구현된다. 탭라인(T3)에서 보여지는 덧셈기(A5)에 의해 h0계수와 -2의 덧셈이 행하여져 상기 h2 계수가 구현되고, 탭라인(T4)에서 보여지는 덧셈기(A6)에 의해 h0계수와 -5의 덧셈이 행하여져 상기 h3 계수가 구현되며, 탭라인(T5)에서 보여지는 덧셈기(A7)에 의해 h0계수와 -7의 덧셈이 행하여져 상기 h4 계수가 구현된다.
지연기들(D1~D9)은 출력신호 y를 얻기 위해 각기 대응되는 덧셈기의 출력을 주어진 타임 만큼 지연하기 위한 기능을 한다. 예컨대, 지연기(D1)는 상기 덧셈기(A1)의 출력을 저장하고 있다가 상기 덧셈기(A4)의 출력이 나오는 시점에서 덧셈기(A8)의 입력으로 제공한다. 지연기(D2)는 상기 덧셈기(A5)의 출력이 나올 때 저장된 상기 덧셈기(A8)의 출력을 덧셈기(A9)의 입력으로서 제공한다. 여기서, 상기 덧셈기들(A4,A5,A6,A7)의 일측 입력단은 공통패턴으로 작용하는 필터계수 h0의 탭라인(T1)에 공통으로 연결됨을 주목(note)하라.
도 6과 같은 필터를 구현하는데 사용된 덧셈기의 수를 보면 다음과 같다. 먼저 각각의 필터계수를 만드는 데에는 각각의 계수별로 3, 1, 1, 1, 1개의 덧셈기가 사용되기 때문에 총 7개의 덧셈기들(A1~A7)이 사용되었다. 그리고, 출력신호를 뽑아 내는데 9개의 덧셈기들(A8~A16)이 사용됨을 알 수 있다. 따라서, 총 7+9=16개의 덧셈기들이 사용되었다.
이와 같이, 비트반전에 의하여 버츄얼 공통패턴을 생성하여 도 6와 같이 필터를 구성하면, 도 3과 같은 종래의 경우에 비해 8개의 덧셈기를 추가로 더 줄일수 있다. 즉, 도 3에서는 24개의 덧셈기가 사용되었으나 도 6에서는 16개의 덧셈기가 사용되었음을 주목하라.
이와 같이, 덧셈기가 감소된 이유를 설명하면, 종래의 방법에서는 h1부터 h4까지의 필터계수가 h0의 공통패턴과는 관계가 없으므로 h1부터 h4까지의 필터계수를 h0의 공통패턴을 이용하지 못하고 자체로서만 구현하였다. 그러나, 본 발명에서는 종래의 방법과는 달리, 구현하고자 하는 임의의 패턴들 즉, h1부터 h4까지의 필터계수들을 모두 h0의 필터계수를 이용하여 표현하였다. 즉, 공통패턴의 1비트의 비트반전을 통하여 같아지는 패턴들을 찾아내어 이를 버츄얼 공통패턴으로 정의하고 공통패턴을 이용하여 구현하는 것이다. 위의 수식에서 보여지듯이 h1부터 h4의 필터계수들은 모두 x2의 공통패턴에 1개의 덧셈만을 추가하여 표현된 것임을 알 수 있다.
상기한 바와 같이, 본 발명의 세 번째 실시 예의 경우에는 비트반전을 통한 버츄얼 공통패턴을 생성하여 필터 구현에 사용되는 가산기의 수를 도 3의 경우에 비해 8개를 감소시켰다. 따라서, 감소된 만큼의 저전력 및 고속 처리가 달성되는 효과가 있다.
상기한 바와 같이, 임의의 패턴에 대하여 비트이동, 비트가산, 또는 비트반전을 행하여 버츄얼 공통패턴을 만들어 필터를 구현하면 가산기의 수를 종래의 방법에 비해 훨씬 더 줄일 수 있다.
이하에서는 상기한 바와 같은 본 발명을 도 7에 적용할 경우에 버츄얼 공통패턴의 생성에 의한 가산기의 실질적인 감소를 설명한다. 도 7을 참조하면, RF 신호처리부(10)를 통해 수신된 아나로그 신호는 A/D 변환기(22)에 의해 소정 비트의 디지털 샘플들로 변환되어 제1,2 승산기(24,25)에 제공된다. 제1,2 필터부(26,27)는 각기 필터링된 I,Q 신호를 기저대역 신호처리부(30)로 출력하기 위해 주어진 사양으로 필터링을 행한다.
상기 도 7에서, CDMA 이동통신 단말기의 IF단 사양의 디지털 필터 즉, 상기 제1,2필터부(26,27)를 CSD형 아키텍처로 제작시, 필터의 샘플링 주파수는 19.6608MHz, 패스밴드(Passband) 주파수는 630KHz, 패스밴드 리플(ripple)은 0.1dB, 스톱밴드(Stopband)주파수는 1.2288MHz, 스톱밴드 감쇄(Stopband attenuation)는 -40dB로 정하였다.
위와 같은 사양을 만족하는 72탭의 선형위상 FIR 필터를 이하에서 설명한다. 72개의 필터계수는 대칭이므로 36개만을 24 비트 프리시젼(bit precision)의 CSD형의 계수로 나타낼 경우에 종래의 공통패턴 방식에 따르면 도 9와 같이 나타난다. 그러나, 본 발명에 의한 버츄얼 공통패턴에 따르면 도 8과 같이 나타난다. 비교를 위한 도 9와 본 발명의 적용 예를 보인 도 8에서 -1은 n으로 표기된다.
도 8 및 도 9에서, 1 또는 -1의 수가 총 m=458개이므로 아무런 공통패턴을 사용하지 않을 시 m-1=457개의 덧셈이 필요하다. 또한, 선형위상 대칭에 의한 공통패턴만을 이용하면 229-1+36 =264개의 덧셈이 필요하다. 그러나, 종래의 방법에 따라 공통패턴의 공유를 통하여 구현하면 도 9와 같이 18+179-1= 196개의 덧셈기가 필요하게 된다. 결국, 도 9에서는 공통패턴을 옅은 검은 색의 블록내에 표시하였으며, 맨 우측의 열에 그 필터계수를 구현하기 위한 곱셈기의 수를 나타내었다. 따라서 196개의 덧셈기가 필요한 공통패턴을 도 9에서는 보여주고 있다.
그러나, 도 8에서는 다음과 같이 버츄얼 공통패턴이 구현된다.
h1 : *00101 = *0101의 bit shift(-1)
h3 : *0100001 = *0100*01의 bit add(-1)
h7 : 10*00*0* = 10*0010*의 bit 반전(-2)
h8 : 100100*0*= 100100*01의 bit 반전(-2)
h12 : *000*0* = *000*01의 bit 반전(-1)
h13 : 101001 = 10101의 bit shift(-1)
h15 : *00*01 = *0*01의 bit shift(-1)
h18 : *0*001 = *0*01의 bit shift(-1)
h19 : 10*000* = 10*010*의 bit add(-1)
h20 : *010001 = *010*01의 bit add(-1)
h21 : *0010* = *010*의 bit shift(-1)
h23 : *000101= *000*01의 bit 반전(-1)
h26 : *0*00* = *0*0*의 bit shift(-1)
h29 : 100100*0*= 100100*01의 bit 반전(-2)
h30 : 10*0010* = 새로 공통패턴으로 정의(-3)
h34 : 10*00* = 10*0*의 bit shift(-1)
Total: -21개의 세이브(save)
도 8에서와 같이, 본 발명의 적용 예에서는 총 36개의 계수 중에서 위와 같이 16개의 계수에서 총 21개의 덧셈 감소를 이룰 수 있으며, 이는 도 8에서 괄호부호로 표시되어 있다. 또한, 도 8의 맨 우측 열에는 도 9에 비하여 감소된 덧셈의 수가 기록되어 있으며, 이 열의 합은 158이다. 결국, 본 발명의 적용 예에서는 공통패턴을 만드는데 21개의 덧셈이 필요하므로 총 21+158-1=178의 덧셈기만이 필요하다.
따라서, 도 8을 도 9와 대비하여 참조시 종래의 공통패턴 방식에 비하여 총 18개의 덧셈이 감소됨을 알 수 있다. 지금까지의 결과를 표-4에 요약하였다.
표-4
구 분 덧셈의 수 %
직접구현 (m=458) 457 233.2
계수대칭 이용 방식 264 134.7
종래의 공통패턴 방식(도 9) 196 100
본 발명의 버츄얼공통패턴 방식 (도 8) 178 90.8
상기한 바와 같이, CDMA 이동통신 단말기의 IF단의 필터를 본 발명에 따른 방식의 아키텍처로 구현시, 기존의 공통패턴을 사용한 CSD 아키텍처보다 9.2%의 덧셈 감소의 효과를 얻을 수 있다.
본 발명에 따른 버츄얼 공통패턴 아키텍처는 선형 위상 FIR 필터뿐만 아니라 일반적인 필터에서도 사용될 수 있다.
상기한 바와 같이, 본 발명은 도면을 기준으로 예를 들어 기술되었지만 이에한정되지 않으며 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명이 속하는 기술분야에서 통상의 지식을 갖는 자에 의해 다양한 변화와 변경이 가능함은 물론이다. 예를 들어, 필터 탭라인의 수 및 공통패턴의 설정과 비트 쉬프트, 비트 가산 및 반전에 의한 버츄얼 공통패턴의 설정을 사안에 따라 변경하거나, 가감할 수 있음은 물론이다. 또한, 곱셈을 위한 쉬프트 레지스터, 덧셈기, 지연기들을 하드웨어적으로 구현하는 것 이외에 마이크로프로세서나 디지털 신호처리기에 의해 소프트웨어적으로 필터를 구현할 수 있다.
상술한 바와 같이, 본 발명에 따르면 필터구현에 사용되는 덧셈의 수를 최소화하여 고속 및 저전력 디지털 필터를 제공하는 효과가 있다.

Claims (13)

  1. n 비트(n은 2이상의 자연수)의 CSD 코드워드로 표현되는 필터계수들을 복수로 갖는 디지털 필터에서 상기 필터계수들을 구현하는 방법에 있어서,
    상기 필터계수들중 임의의 필터계수들에 대한 코드워드 패턴을 정해진 공통패턴과 관련성 있는 버츄얼 공통패턴으로 만드는 것에 의해 상기 임의의 필터계수들의 탭라인에서 상기 공통패턴을 공유하게 되는 덧셈이 각기 수행되도록 하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 버츄얼 공통패턴은 비트이동에 의해 상기 공통패턴과 같아지게 됨을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 버츄얼 공통패턴은 비트가산에 의해 상기 공통패턴과 같아지게 됨을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 버츄얼 공통패턴은 비트반전에 의해 상기 공통패턴과 같아지게 됨을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 버츄얼 공통패턴은 비트이동, 비트가산, 또는 비트반전중의 적어도 둘 이상을 행함에 의해 상기 공통패턴과 같아짐을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 디지털 필터는 선형위상 FIR 필터임을 특징으로 하는 방법.
  7. n 비트(n은 2이상의 자연수)의 CSD 코드워드로 표현되는 필터 계수들에 의해 설정된 필터특성을 갖는 디지털 필터에서 k 비트(k는 4이상의 자연수)의 디지털 샘플들을 입력신호로서 수신하여 필터링하는 방법에 있어서:
    상기 디지털 필터 계수들중의 임의의 계수들에 대한 패턴 중에서 비트이동, 비트가산, 또는 비트반전에 의해 정해진 공통패턴과 같아지는 패턴을 찾아 버츄얼 공통패턴을 형성한 후, 상기 디지털 샘플들을 상기 공통패턴 및 버츄얼 공통패턴에 대응되는 비트수 만큼 각기 쉬프팅하는 단계와;
    상기 공통패턴에 대응되는 비트수 만큼 각기 쉬프팅된 상기 디지털 샘플들을 모두 합하여 공통계수 탭라인의 합성출력값을 구하는 단계와;
    상기 공통계수 탭라인의 합성출력값을 공통입력으로 사용하여 상기 버츄얼공통패턴에 대응되는 비트수 만큼 각기 쉬프팅된 상기 디지털 샘플들과 각기 합함에 의해 임의계수 탭라인들의 합성출력값을 각기 구하는 단계와;
    상기 공통계수 탭라인의 합성출력값 및 상기 임의계수 탭라인들의 합성출력값을 누적적으로 합성하여 필터 출력값을 생성하기 위해 지연 및 가산을 순차로 행하는 단계를 가짐을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 디지털 필터가 이동통신 단말기의 중간주파수 단에 채용되는 경우에 상기 탭라인들의 수는 73으로 설정됨을 특징으로 하는 방법.
  9. 제8항에 있어서, 상기 CSD 코드워드의 비트수는 24비트임을 특징으로 하는 방법.
  10. 디지털 필터에 있어서:
    k 비트의 디지털 샘플들을 입력신호로서 수신하여 CSD 코드내에서 n 비트의 코드워드로서 각기 표현되는 필터 계수들중에서 공통패턴으로 정의된 필터 계수의 비트 쉬프트 값들 만큼 각기 쉬프팅하는 제1쉬프트 레지스터 멤버들과, 상기 공통패턴으로 정의되지 않은 다른 필터 계수들의 코드워드를 상기 공통패턴의 코드워드를 이용하여 구현하기 위하여 쉬프팅하는 제2쉬프트 레지스터 멤버들을 포함하는 쉬프트 레지스터 그룹과;
    상기 제1쉬프트 레지스터 멤버들로부터 출력된 쉬프팅된 디지털 샘플들을 모두 더하여 공통 탭라인에 제공하는 제1 합성멤버들과, 상기 제2쉬프트 레지스터 멤버들로부터 출력된 쉬프팅된 디지털 샘플들을 상기 공통 탭라인의 합성출력과 각기 더하여 각각의 대응되는 탭라인에 제공하는 제2 합성멤버들을 포함하는 덧셈그룹과;
    상기 탭라인들에 연결되며 상기 합성출력들 간에 딜레이를 제공하기 위해 직렬로 연결된 복수의 지연기를 가지는 지연그룹과;
    상기 지연기들의 출력과 상기 탭라인의 합성출력들을 더하여 k비트의 디지털 출력신호를 생성하기 위한 복수의 덧셈기를 포함하는 출력 덧셈그룹을 적어도 포함함을 특징으로 하는 디지털 필터.
  11. CSD 코드로 표현되는 필터 계수들을 가지는 N 탭 CSD 디지털 필터에 있어서:
    복수 비트의 디지털 샘플들을 입력신호로서 수신하여 상기 필터 계수들중에서 공통패턴으로 정의되는 필터 계수의 비트 쉬프트 값들 만큼 각기 쉬프팅하는 제1쉬프트 레지스터 멤버들과, 상기 공통패턴으로 정의되지 않은 다른 필터 계수들의 코드워드를 상기 공통패턴의 코드워드를 이용하여 구현하기 위하여 쉬프팅하는 제2쉬프트 레지스터 멤버들을 포함하는 쉬프트 레지스터 그룹과;
    상기 제1쉬프트 레지스터 멤버들로부터 출력된 쉬프팅된 디지털 샘플들을 모두 더하여 공통 탭라인에 제공하는 제1 덧셈기들과, 상기 제2쉬프트 레지스터 멤버들로부터 출력된 쉬프팅된 디지털 샘플들을 상기 공통 탭라인의 합성출력과 각기 더하여 각각의 대응되는 탭라인에 제공하는 제2 덧셈기들을 포함하는 덧셈그룹과;
    상기 탭라인들에 연결되며 상기 합성출력들 간에 딜레이를 제공하기 위해 직렬로 연결된 복수의 지연기를 가지는 지연그룹과;
    필터출력 응답을 제공하기 위해, 상기 지연기들의 출력과 상기 탭라인의 합성출력들을 더하여 k비트의 디지털 출력신호를 생성하기 위한 복수의 덧셈기를 포함하는 출력 덧셈그룹을 적어도 포함함을 특징으로 하는 디지털 필터.
  12. 제11항에 있어서, 상기 공통 탭라인은, 상기 필터 계수들중 계수 패턴이 가장 공통성이 많은 필터 계수의 탭라인으로 설정됨을 특징으로 하는 디지털 필터.
  13. 제11항에 있어서, 상기 디지털 필터는, 상기 쉬프팅, 덧셈, 지연을 행하는 디지털 신호처리 프로세서에 의해 소프트웨어적으로 구현됨을 특징으로 하는 디지털 필터.
KR10-2001-0006901A 2001-02-13 2001-02-13 버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법 KR100422443B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2001-0006901A KR100422443B1 (ko) 2001-02-13 2001-02-13 버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법
US10/075,643 US20020152251A1 (en) 2001-02-13 2002-02-13 Low power CSD linear phase FIR filter architecture using virtual common subexpression and filter design method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0006901A KR100422443B1 (ko) 2001-02-13 2001-02-13 버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법

Publications (2)

Publication Number Publication Date
KR20020066621A true KR20020066621A (ko) 2002-08-21
KR100422443B1 KR100422443B1 (ko) 2004-03-11

Family

ID=19705665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0006901A KR100422443B1 (ko) 2001-02-13 2001-02-13 버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법

Country Status (2)

Country Link
US (1) US20020152251A1 (ko)
KR (1) KR100422443B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100911785B1 (ko) * 2005-07-29 2009-08-12 엔엑스피 비 브이 디지털 필터, 유한 임펄스 응답 필터, 디지털 필터링 방법, 유한 임펄스 응답 필터링 방법 및 컴퓨터 판독가능한 기록매체

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100422449B1 (ko) * 2001-11-12 2004-03-11 삼성전자주식회사 수직 공통패턴을 사용한 저전력 csd 선형위상 디지털필터 구조 및 그에 따른 필터구현방법
JP3899966B2 (ja) * 2002-03-14 2007-03-28 松下電器産業株式会社 ディジタル信号受信装置
US8819095B2 (en) * 2007-08-28 2014-08-26 Qualcomm Incorporated Fast computation of products by dyadic fractions with sign-symmetric rounding errors
TWI411298B (zh) * 2009-03-05 2013-10-01 Realtek Semiconductor Corp Frequency conversion device and conversion method and filter thereof
KR20160057590A (ko) 2014-11-13 2016-05-24 삼성디스플레이 주식회사 공통 부분식 소거 방법 및 이를 이용한 필터

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10233650A (ja) * 1997-02-21 1998-09-02 Mitsubishi Electric Corp フィルタ回路
US6590931B1 (en) * 1999-12-09 2003-07-08 Koninklijke Philips Electronics N.V. Reconfigurable FIR filter using CSD coefficient representation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100911785B1 (ko) * 2005-07-29 2009-08-12 엔엑스피 비 브이 디지털 필터, 유한 임펄스 응답 필터, 디지털 필터링 방법, 유한 임펄스 응답 필터링 방법 및 컴퓨터 판독가능한 기록매체

Also Published As

Publication number Publication date
US20020152251A1 (en) 2002-10-17
KR100422443B1 (ko) 2004-03-11

Similar Documents

Publication Publication Date Title
Mahesh et al. A new common subexpression elimination algorithm for realizing low-complexity higher order digital filters
US8417750B2 (en) Filters for communication systems
CN103166598B (zh) 数字滤波器及其配置方法、电子设备及无线通信系统
US5301134A (en) Digital filter circuit for use in oversampling type analog/digital converter
US5831879A (en) Digital transmit filter
KR20040039310A (ko) 차동 출력 스위칭 증폭기에서 스펙트럼 널을 생성하기위한 회로 및 그 방법
US5440503A (en) Digital filtering circuit operable as a three-stage moving average filter
KR100422449B1 (ko) 수직 공통패턴을 사용한 저전력 csd 선형위상 디지털필터 구조 및 그에 따른 필터구현방법
Lyons Understanding cascaded integrator-comb filters
US6850579B2 (en) Multiplierless finite impulse response filter
KR100422443B1 (ko) 버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법
US7330865B2 (en) Digital filter and its designing method
KR20050075365A (ko) 디지털 필터의 설계 방법 및 장치, 디지털 필터 설계용프로그램, 디지털 필터
US6888904B2 (en) 108-tap 1:4 interpolation FIR filter for digital mobile telecommunication
US7167514B2 (en) Processing of quinary data
US6486813B1 (en) Oversampling circuit digital/analog converter
US5488576A (en) Amplitude adaptive filter
EP1187334B1 (en) Oversampling circuit and digital/analog converter
CN110518894B (zh) 高速低复杂度的二阶全通滤波器
JP2001339277A (ja) ディジタルfirフィルタ
JPS6096014A (ja) トランスバ−サルフイルタ
Koskinen et al. Low-power Decimation and Channel Selection Filter for a WCDMA Receiver
Jang et al. A LOW-POWER LINEAR PHASE FIR FILTER STRUCTURE USING VERTICAL COMMON SUB-EXPRESSION OF CSD COEFFICIENTS
JPH09326671A (ja) ディジタル補間フィルタ回路
Kuang et al. An 8-channel, area-efficient, low-power audio sampling rate converter

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080303

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee