KR100712864B1 - 디지털 필터 계수의 동적 범위를 변화시키는 시스템 - Google Patents
디지털 필터 계수의 동적 범위를 변화시키는 시스템 Download PDFInfo
- Publication number
- KR100712864B1 KR100712864B1 KR1019997012043A KR19997012043A KR100712864B1 KR 100712864 B1 KR100712864 B1 KR 100712864B1 KR 1019997012043 A KR1019997012043 A KR 1019997012043A KR 19997012043 A KR19997012043 A KR 19997012043A KR 100712864 B1 KR100712864 B1 KR 100712864B1
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- coefficient
- gain
- coefficients
- circuit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Filters That Use Time-Delay Elements (AREA)
Abstract
디지털 필터들을 다수의 필터셀들을 포함하며, 상기 다수의 필터셀들 각각은 필터셀에 대한 계수를 결정하고, 다수의 필터셀들 각각에 사용된 이득에 따라 계수를 조정하고, 조정된 계수를 입력 데이터에 승산하여 필터셀 출력을 발생하는 회로를 포함한다. 가산 회로는 다수의 필터셀들 각각으로부터 필터셀 출력들을 가산하여 필터 출력을 발생하고, 역이득 회로는 다수의 필터셀들의 계수들을 조정하는데 사용된 이득의 역에 따라 필터 출력을 조정한다.
디지털 필터, 필터셀 계수, 필터링 방법
Description
본 발명은 필터를 구현하는데 필요한 하드웨어의 크기를 줄이기 위해, 여기에 사용되는 계수들의 동적 범위를 변화시키는 디지털 필터에 관한 것이다. 특히, 본 발명은 필터 이득에 따라 계수들을 조정하고, 각각의 조정된 계수에 입력 데이터를 승산하고, 얻어진 프로덕트들(products)을 가산하고, 필터 이득의 역(inverse)에 따라 프로덕트들의 합을 조정하는 디지털 필터에 관한 것이다.
FIR 필터들(FIR: finite impluse response filters)과 같은 종래의 디지털 필터는 다수의 필터셀들 또는 일련의 배열된 "탭(tap)"셀들로 구성되어 있다. 각각의 필터셀은 샘플된 데이터값을 저장하기 위한 데이터 레지스터 및 특정 셀에 대한 계수를 저장하는 계수 레지스터를 포함한다. 동작시에, 동일한 샘플된 데이터값은 각각의 필터셀에 연속적으로 입력되고, 그 셀에 대한 계수만큼 승산된다. 이어서, 필터의 출력을 발생하기 위해 이들 승산들의 결과들이 출력되고 조합된다. "적응" 필터들로 알려진 어떤 유형들의 디지털 필터들에서, 적응 회로는 또한 채널 특성들 등과 같이 데이터 전송에 영향을 미치는 다양한 팩터들(factors)에 기초하여 셀의 계수들을 갱신하는데 사용되는 각각의 필터셀에 포함된다.
종래의 디지털 필터들에서는 이러한 필터들이 입력 데이터에 계수를 승산하는 방식으로 인해 문제들이 발생한다. 더욱 구체적으로, 종래의 디지털 필터들, 특히 적응 디지털 필터들은 종종 비교적 높은 비트 정확도를 필요로 한다. 그러한 정확도를 얻기 위한 한가지 방식은 상기 승산에 영향을 주기 위해 부동 소수점 연산을 이용하는 것이다. 그러나, 부동 소수점 연산은 구현하는데 과도한 양의 하드웨어의 용량을 요구할 수 있고, 비교적 느릴 수 있다. 결국, 부동 소수점 연산은 많은 디지털 필터 응용들에 사용하기에 부적합한 것으로 판명되었다.
종래의 디지털 필터들이 높은 비트 정확도를 얻는 다른 방식은 비교적 큰 비트수를 갖는 계수들, 즉 비교적 큰 동적 범위를 가진 계수들을 사용하여 상기의 승산을 수행하는 것이다. 그러나, 이러한 큰 비트수를 처리하기 위해서, 이들 종래의 디지털 필터들은 비교적 큰 승산 회로들을 필요로 한다. 결국, 이러한 디지털 필터들은 크기가 비교적 커지게 될 수 있다. 이러한 크기 제한은 특히, 수십 또는 수백개의 필터 탭 셀들을 필요로 하는 적응 등화기들과 같은 장치들에서 문제가 될 수 있다. 또한, 이런 유형의 종래 디지털 필터에서 사용되는 승산 회로들의 크기로는 또한 이들 필터들이 동작하는 속도를 저하시킨다.
그러므로, 디지털 필터에서 사용되는 회로의 수 및/또는 양을 상당히 증가 증시키지 않고 그리고 디지털 필터의 속도를 상당히 줄이지 않고 디지털 필터의 높은 비트 정확도를 유지하는 방식에 대한 필요성이 존재한다.
발명의 개시
본 발명은 입력 데이터에 계수를 승산하기 전에 이득에 따라 계수들을 조정하는 디지털 필터를 제공하여 상술한 필요성을 해소한다. 예를 들어, 본 발명에 따라, 크기가 "00000111"의 이진수 표현을 갖는 계수는 제1의 5개 제로들을 제거함으로써, 계수값에 영향을 미치지 않고, "111"로 조정될 수 있다. 이와 같이 조정된 계수들을 사용하여, 승산 동안 비트 정확도가 요구되지 않아, 승산을 수행하는데 요구되는 승산 회로의 크기를 줄이고, 승산이 수행되는 속도를 증가시킨다. 또한, 본 발명에 따라, 승산 결과들에 기초하여 발생된 필터 출력은 계수들을 조정하는데 사용되는 이득의 역에 기초하여 조정된다. 결국, 높은 비트 정확도가 필터에 의해 유지된다.
본 발명은 입력 데이터에 계수를 승산하기 전에 이득에 따라 계수들을 조정하는 디지털 필터를 제공하여 상술한 필요성을 해소한다. 예를 들어, 본 발명에 따라, 크기가 "00000111"의 이진수 표현을 갖는 계수는 제1의 5개 제로들을 제거함으로써, 계수값에 영향을 미치지 않고, "111"로 조정될 수 있다. 이와 같이 조정된 계수들을 사용하여, 승산 동안 비트 정확도가 요구되지 않아, 승산을 수행하는데 요구되는 승산 회로의 크기를 줄이고, 승산이 수행되는 속도를 증가시킨다. 또한, 본 발명에 따라, 승산 결과들에 기초하여 발생된 필터 출력은 계수들을 조정하는데 사용되는 이득의 역에 기초하여 조정된다. 결국, 높은 비트 정확도가 필터에 의해 유지된다.
그러므로, 본 발명의 한 양상에 따라, 본 발명은 다수의 필터셀들을 포함하는 디지털 필터이며, 그 각각은 필터셀에 대한 계수를 결정하고, 다수의 필터셀들 각각에 의해 사용되는 이득에 따라 계수를 조정하고, 필터셀 출력를 발생시키기 위해서 조정된 계수를 입력 데이터에 승산하는 회로를 포함한다. 또한 다수의 필터셀들 각각으로부터 필터셀 출력들을 가산함으로써 필터 출력을 발생시키는 가산 회로 및 다수의 필터셀들의 계수들을 조정하는데 사용된 이득의 역에 따라 필터 출력들 조정하는 역이득 회로가 상기 디지털 필터에 포함된다.
본 발명의 양호한 실시예들에서, 디지털 필터는 최고차 넌제로 크기 비트(highest-order nonzero magnitude bit)를 갖는 다수의 필터셀들의 계수에 기초하여 이득을 결정하기 위해 이득 제어 회로를 포함한다. 본 발명의 이들 실시예들에서, 다수의 필터셀들 각각은 필터셀 출력을 발생하기 위해 조정된 계수를 입력 데이터에 승산하기 위해 승산 회로를 포함하며, 이득은 각 필터셀의 조정된 계수가 필터셀에 대한 승산 회로의 입력 범위를 차지하도록 결정된다. 이를 위해서, 다수의 필터셀들 각각은 계수의 최고차 넌제로 크기 비트가 승산 회로에 대한 입력의 최상위 비트 위치에 있도록 계수를 포함하는 비트들을 시프트함으로써 필터셀에 대한 계수를 조정하는 이득 조정 회로를 포함한다. 본 발명에 이런 특징들로 인해, 계수의 비트 정확도를 낮추는 것, 즉, 계수의 2진 표현에서 불필요한 제로들을 제거하는 것이 가능하므로, 상술한 승산 동안 사용되는 승산 회로의 크기를 줄일 수 있다.
본 발명의 특히 양호한 실시예에서, 이득 조정 회로는 패스 트랜지스터의 매트릭스를 사용하여 구현되는 배럴 시프터를 포함한다. 패스 트랜지스터들의 매트릭스를 사용하는 배럴 시프터를 구현함으로써, 배럴 시프트의 크기를 줄일 수 있고, 더 나아가 디지털 필터의 전체 크기를 줄일 수 있다.
본 발명의 다른 양상에 따라, 본 발명은 다수의 필터셀들로 이루어진 디지털 필터를 사용하는 입력 데이터를 필터링하는 방법이며, 다수의 필터셀들 각각이 입력 데이터 및 계수에 기초하여 필터셀 출력을 발생시킨다. 상기 방법은 다수의 필터셀들 각각의 계수를 결정하기 위한 계수 결정 단계, 다수의 필터셀들 각각에 의해 사용되는 이득에 따라 각 필터셀의 계수를 조정하기 위한 계수 조정 단계, 및 입력 데이터에 대한 필터셀 출력을 발생시키기 위해서 조정된 계수에 각 필터셀의 입력 데이터를 승산하기 위한 승산 단계를 포함한다. 상기 방법은 또한 필터 출력을 발생하기 위해서 다수의 필터셀들 각각으로부터 필터셀 출력을 가산하기 위한 가산 단계, 및 다수의 필터셀들의 계수들을 조정하는데 사용된 이득의 역에 따라 필터 출력을 조정하기 위한 출력 조정 단계를 포함한다.
다수의 필터셀들 각각에 의해 사용되는 이득에 따라 각각의 필터셀의 계수를 조정함으로써, 그리고 계수들을 조정하는데 사용된 이득의 역에 따라 필터 출력을 연속적으로 조정함으로써, 본 발명은 그렇게 하기 위해 초과의 하드웨어 용량을 이용하지 않고 필터의 비트 정확도를 유지할 수 있다. 또한, 상술된 방법을 사용하는 디지털 필터는 디지털 필터는 상술한 종래의 디지털 필터보다 작고 보다 빠르게 될 수 있다.
본 발명에 따른 다른 양상에 따라, 본 발명은 다수의 제 1 필터셀들을 포함하는 디지털 필터이며, 그 각각은 제 1 필터셀에 대한 계수를 결정하고, 다수의 제 1 필터셀들 각각에 의해 사용되는 제 1 이득에 따라 계수를 조정하고, 제 1 필터셀 출력을 발생시키기 위해서 조정된 계수를 입력 데이터에 승산하는 회로를 포함한다. 제 1 가산 회로는 다수의 제 1 필터셀들 각각으로부터 제 1 필터셀 출력들을 가산함으로써 제 1 출력을 발생시키며, 제 1 역이득 회로는 다수의 제 1 필터셀들의 계수를 조정하는데 사용된 제 1 이득의 역에 따라 제 1 출력을 조정함으로써 제 1 조정된 출력을 발생시킨다. 또한, 디지털 필터에는 다수의 제 2 필터셀들가 포함되며, 그 각각은 필터셀에 대한 계수를 결정하고, 다수의 제 2 필터셀들 각각에 의해 사용되는 제 2 이득에 따라 계수를 조정하고, 제 2 필터셀 출력을 발생시키기 위해서 조정된 계수를 입력 데이터에 승산하는 회로를 포함한다. 제 2 가산 회로는 다수의 제 2 필터셀들 각각으로부터 제 2 필터셀 출력들을 가산하여 제 2 출력을 발생하고, 제 2 역이득 회로는 다수의 제 2 필터셀들의 계수들을 조정하는데 사용된 제 2 이득의 역에 따라 제 2 출력을 조정함으로써 제 2 조정된 출력을 발생시킨다. 최종적으로, 제 3 가산 회로는 디지털 필터의 필터 출력을 발생시키기 위해서 제 1 조정된 출력 및 제 2 조정된 출력을 가산한다.
본 발명의 상술한 특징들로 인해, 다른 그룹의 필터셀들의 다른 계수들을 조절하는 것이 가능하므로, 필터의 전체 정확도를 높이는 것이 가능하다.
본 발명에 따른 다른 양상에 따라, 본 발명은 다수의 필터셀들을 포함하는 디지털 필터이며. 그 각각은 필터셀에 대한 다수의 계수들을 결정하고, 다수의 필터셀들 각각에 의해 사용되는 이득에 따라 다수의 계수들 각각을 조정하고, 필터셀 출력을 발생시키기 위해서 대응하는 조정된 계수에, 필터셀에 입력된 대응하는 데이터 값을 승산하는 회로를 포함한다. 본 발명에서, 가산 회로는 다수의 필터셀들 각각으로부터 필터셀 출력들을 가산함으로써 필터 출력을 발생시키고, 역이득 회로는 다수의 필터셀들의 계수들을 조정하는데 사용된 이득의 역에 따라 필터 출력을 조정한다.
그러므로, 본 발명의 상술한 양상은 변하는 계수의 동적 범위들을 공유하는 자원들과 조합한다. 결국, 본 발명의 이 양상은 속도 또는 비트 정화도를 희생시키지 않고, 하드웨어의 추가적인 소형화를 제공한다.
본 발명의 본질을 쉽게 이해할 수 있도록 간단히 설명하였다. 본 발명의 완벽한 이해는 첨부된 도면과 연계하여 양호한 실시예들의 상세한 설명을 참조함으로서 얻어질 수 있다.
도 1은 본 발명의 제 1 실시예에 따른 적응 FIR 필터를 도시한 기능 블록도.
도 2는 도 1에 도시된 기능들을 구현하기위해 사용될 수 있는 회로를 도시한 블록도.
도 3은 도 1에 도시된 계수 레지스터로부터 플립플롭과 함께, 도 2에 도시된 비부호화값 회로를 구현하는 표준 방식을 도시한 회로도.
도 4는 도 1에 도시된 계수 레지스터로부터 플립플롭과 함께 도 2에 도시된 비부호값 회로를 구현하는 대안의 방식을 도시한 회로도.
도 5는 도 2에 도시된 이득 제어 회로를 구현하는데 사용되는 회로를 도시한 도면.
도 6은 패스 트랜지스터들의 매트릭스를 사용하는 배럴 시프터의 구현을 도시한 도면.
도 7은 본 발명에 따른 디지털 필터의 제 2 실시예를 도시한 도면.
도 8은 본 발명에 따른 디지털 필터의 제 3 실시예를 도시한 도면.
제 1 실시예
처음에, 본 발명이 다른 유형들의 디지털 필터들로 사용될 수 있을지라도, 본 발명은 적응 FIR 필터의 범위에서 설명된다는 것에 유의하자. 이런 관점에서, 도 1은 본 발명을 구현하는 적응 FIR 필터의 예를 도시한다. 도 1에 도시된 바와 같이, 디지털 필터(1)는 가산 회로(2), 역이득 회로(3), 및 동일한 다수의 필터셀들(4)을 포함한다. 필터의 요구된 작용성에 따라, 임의의 수의 이들 필터들이 디지털 필터(1)에 포함될 수 있다.
디지털 필터(1)는 소정의 샘플링 속도로 신호로부터 데이터를 샘플링하고, 도 1 에 도시된 샘플 데이터(5)를 샘플링 클록 신호에 따라 각각의 필터셀들(4)로 연속적으로 시프트함으로써 동작한다. 예를 들어, 샘플 데이터(5)는 제 1 샘플링 클록 펄스에 응답하여 필터셀(4a)로 시프트된다. 다음에, 추가 데이터가 다음 샘플링 클록 펄스에서 샘플링 될때, 그 추가 데이터는 필터셀(4a)로 시프트되고, 필터셀(4a)에 있던 데이터(즉, 샘플 데이터(5))는 필터셀(4b) 등으로 시프트된다.
필터셀들(4) 각각은 샘플링 클록 신호의 신호 주기 내에서 샘플 데이터를 처리한다. 이하에 더욱 상세히 설명되는 바와 같이, 상기 처리는 다수의 필터셀들 각각에 대한 계수를 결정하고, 다수의 필터셀들 각각에 사용되는 이득에 따라 각 필터셀의 계수를 조정하고, 각 필터셀에 대해, 도 1의 필터셀 출력(6)을 발생시키기 위해서 조정된 계수에 각 필터셀에 입력된 샘플 데이터를 승산하는 것을 포함한다. 이런 방식으로 모든 필터셀들(4)에 의해 샘플 데이터가 처리된 후, 얻어진 필터셀 출력들이 가산 회로(2)에 제공된다. 가산 회로(2)는 필터(1)에 대한 필터 출력을 발생키시기 위해서 필터셀들(4) 각각으로부터 필터셀 출력을 조합한다. 이후에, 역이득 회로(3)는 필터셀들(4)의 계수를 조정하는데 사용되었던 이득의 역에 따라 필터셀 출력(7)을 조정하고 그 결과를 출력한다.
도 1에 도시된 바와 같이, 필터셀들(4)의 다른 것들과 구조적으로 동일한 필터셀(4a)은 데이터 레지스터(9), 계수 레지스터(10), 계수 적응 회로(11), 이득 조정 회로(12), 및 승산 회로(14)를 포함한다. 데이터 레지스터(9)는 데이터 라인이나 이전 필터셀과 같은, 외부 소스(도시 생략)로부터 입력 데이터값을 수신한다. 계수 레지스터(10)는 필터셀에 의해 사용되는 2진 계수값을 저장한다. 계수 적응 회로(11)는 갱신된 계수값들을 결정하고 계수 레지스터(10)에 갱신된 계수값을 저장한다. 더욱 구체적으로, 상술된 바와 같이, 필터셀(4a)은 필터셀에 저장된 계수가 주기적으로 갱신되는 것을 의미하는 적응 필터셀이다. 그러므로, 예를 들어 데이터값을 전송하는데 사용된 전송 채널의 변화들에 의해 야기된 입력 데이터값의 원하지 않은 변화들에 대해 수정하고, 그리고/또는 필터 에러 등을 포함할 수 있는 외부 입력(15)에 기초하여 수정을 수행하도록 주기적으로 갱신될 수 있다.
승산 회로(14)는 데이터 레지스터(9)로부터 출력된 데이터값에 이득 조정 회로(12)에 의해 조정된 계수를 승산한다. 특히, 이득 조정 회로(12)는 여기에 가변 이득(16)을 인가함(예를 들어, 계수에 이득을 승산함)으로써 계수 레지스터(10)로부터 출력된 계수를 조정한다. 이런 점에서, 2진 계수에 2N제곱을 승산하는 것은 2진 계수를 "N" 비트만큼 왼쪽으로 시프트하는 효과를 갖는다. 따라서, 이하에서 상술되는 바와 같이, 2N 제곱인 이득(16)은 계수 레지스터(10)로부터 출력된 계수의 비트들을 왼쪽으로 시프트시키는 효과를 갖는다. 바람직하게는, 이 시프트는 계수의 최고차 넌제로 크기 비트(즉, 넌사인 비트)가 승산 회로(14)에 대한 입력의 최상위 비트 위치에 있도록, 그리고 조정된 계수가 승산 회로(14)의 전체 동적 범위(즉, 입력 범위)를 차지하도록 한다.
예로써, 승산 회로(14)가 8-비트 승산기를 포함하고, 셀에 대한 계수가 비부호화된(unsigned) 비트 표현 표현 "0000000011001100"를 가지는 경우에, 이득 조정 회로(12)는 계수가 "11001100"를 포함하도록 그 계수의 비트들을 시프트하는 이득을 인가한다. 이럭 식으로, 이득 조정 회로(12)는 계수로부터 불필요한 8개의 제로들을 제거한다. 이렇게 함으로써, 본 발명은 승산 정확도를 희생시키지 않고, 비교적 큰 16-비트 승산 회로를 좀더 작은 8-비트 승산 회로로 대치할 수 있다. 더욱이, 역이득 회로(3)가 이득 조정 회로(12)에 의해 인가된 이득의 역에 따라 필터 출력(7)을 조정하므로, 상기 예에서, 본 발명은 16-비트 정확도를 유지할 수 있다. 특히, 본 발명은 필터 출력(7)의 최고차 비트 위치에 8개의 제로들을 가산함으로써 16-비트 정확도를 유지할 수 있다.
본 발명에서, 이득 조정 회로(12)에 의해 도입된 이득은 필터 계수들의 변화들에 응답하여 변한다. 이런 관점에서, 도 2는 특정 회로, 즉 이득 제어 회로(20)과 이득을 결정하는데 사용되는 비부호화값 회로(21)를 도시한다. 도 2는 또한 도 1에 관한대 상술된 다른 기능들을을 수행하는데 사용되는 대표적인 회로 아키텍쳐를 도시한다. 특히, 도 2는 이득 조정 회로(12)의 기능을 수행하는 배럴 시프터(22) 및 역이득 회로(3)의 기능을 수행하는 배럴 시프터(24)를 도시한다. 이런 특징들의 동작의 상세한 설명이 이하에서 설명된다.
특히, 배럴 시프터(22)는 이득을 계수 레지스터(1)로부터 출력된 계수 출력에 인가한다. 기술분야에 공지된 바와 같이, 배럴 시프터(22)와 같은 배럴 시프터는 2의 제곱에 대응하는 임의의 이득량을 제공할 수 있다. 배럴 시프터(22)에 의해 인가되는 이득량은 이득 제어 회로(20)에 의해 결정한다. 이런 관점에서, 본 발명의 상기 실시예에서 모든 필터 계수들이 동일한 이득으로써 향상되므로, 이득 제어 회로(20)는 필터셀들(4)의 계수들에서 최고차 넌제로 크기 비트가 1이 되도록 계수의 비트들을 시프트하므로, 이득 제어 회로(22)는 최고차 넌제로 크기 비트를 갖는 계수가 그의 값에 영향을 미치지 않고 시프트될 수 있는 비트의 양에 기초하여 모든 계수들에 대해 수행되는 비트 시프트의 양을 결정한다. 예를 들어, 계수들이 비부호화된 "00001101" , "00110011" , 및 "00000011"를 포함한다면, 이득 제어 회로(20)는 최고차 넌제로 크기 비트를 가진것으로서 "00110011"을 인식하고, 왼쪽에 2개의 제로들에 의해 다른 2개의 계수들 뿐만 아니라 그 계수를 스프트하는 이득을 선택한다.( "00110011" 계수의 128 및 256 위치들에 제로들이 존재하므로). 이 동작을 수행하기 위한 특정 회로가 이하에서 설명된다.
계수들이 2진수들로 표현되기 때문에, 계수에 부호값들이 없는 경우(즉, 모든 계수가 양수일 경우), 최고차 넌제로 비트를 가진 계수를 위치시키는 작업은 단순히 필터(1)의 모든 계수들 중에서 최고차 넌제로 비트를 찾아내는 것을 포함한다. 계수들이 부호 값들을 가지고, 종래의 2의 보수 형태를 사용하여 표현되는 경우에, 그 작업 복잡도는 최상위 비트("MSB") 위치에서 부호 비트의 존재로 인해 증가된다. 따라서, 본 발명은 부호 비트의 문제를 해소하기 위해 비부호값 회로(21)를 제공한다. 동작시에, 비부호값 회로(21)는 계수 레지스터(10)로부터 계수를 얻고, 이어서, 그 계수에 대한 부호 비트가, 계수가 음수인 것을 나타내는 경우에 계수의 비트와이즈 역(bitwise inversion)에 의한 계수의 크기(즉, 절대값)를 결정한다.
이런 관점에서, 비부호값 회로(21)는 상술된 계수에 대한 크기 비트(즉, 넌사인 비트들)를 비트와이즈 역를 수행하도록 표준 논리 요소들을 포함할 수 있다. 도 3은 이러한 구현을 도시한다. 즉, 도 3은 배타적 OR 게이트(29)와 인버터(30)를 사용한 비부호값 회로(21)의 구현을 도시한다. 동작시, 배타적 OR 게이트(29)는 플립플롭(27a)에 저장된 부호 비트와 플립플롭들(27b 내지 27e)에 저장된 크기 비트들 사이에서 실행되는 배타적 OR 동작으로 인해 플리플롭(27)(계수 레지스터(10)를 포함)에 저장된 데이터의 크기를 출력한다. 이 실시예에서, 인버터들(30)은 배타적 OR 게이트(29)로부터 출력된 데이터 크기를 반전시키기 위해 제공된다. 본 발명에 실시예에서, 계수 크기 버스(38)가 "액티브-하이"의 반대로서 "액티브-로우" 버스이기 때문에 이것이 행해진다. 액티브-하이 버스가 사용되는 경우, 반전이 요구되지 않는다.
도 3에 도시된 바와 같이, 필터 계수들이 표준 플립플롭(27)을 사용하는 계수 레지스터(10)에 저장되기 때문에, 각각의 플립플롭은 비보수(uncomplemented) 및 보수 계수 데이터 출력 양자를 갖는다. 결국, 배타적 OR 게이트(29)는 부호 비트값에 따라 두개의 출력간에 선택하는 2-대-1 승산기(도시 생략)로 대치될 수 있다. 이런 승산기는 종래의 논리 게이트들을 사용하여 구현되거나, 대안적으로 도 4에 도시된 방식으로 2개의 패스 트랜지스터들을 사용하여 실구현될 수 있다.
이런 관점에서, 도 4는 계수 레지스터(10)로부터 플립플롭들(27)과 함께, 비부호값 회로(21)의 2-패스 트랜지트터 구현을 도시한다. 예로서, 트랜지스터들(34, 35, 36)을 보면, 트랜지스터(34)의 게이트(34a)는 플립플롭(27a)의 보수 부호 비트 출력에 접속되고, 트랜지스터(35)의 게이트(35a)는 플립플롭(27a)의 비보수 부호 비트 출력에 접속된다. 트랜지스터들(34, 35)의 드레인들(34b, 35b)은 각각 플립플롭(27b)의 출력들 중 하나에 항상 접속되는 노드를 형성하기 위해 도 4에 도시된 구성으로 함께 접속된다. 상기 노드가 어떤 출력에 연결될지는 플립플롭(27a)에 저장된 계수의 부호 비트에 의해 결정된다. 그래서, 크기 비트(이 경우, MSB)가 플립플롭(27b)에서 상기 노드를 통과하여 계수 버스(38)(도 2 참조)로 출력될 수 있다. 특히, 크기 비트는 접지된 소스(36b)와 계수 크기 버스(38) 상의 모든 다른 드레인들에 그리고 풀업 레지스터(39)에 접속되는 드레인(36c)를 갖는 트랜지스터(36)의 게이트(36a)를 통과하여 출력된다. 플립플롭들(27c 내지 27e)에 저장되는 남아있는 크기 비트들은 또한 이런 식으로 계수 크기 버스(38)에 출력된다.
그러므로, 비부호값 회로(21)에 의한 처리에 따라서, 비부호 계수는 계수 크기 버스(38)에 출력된다. 우선순위 인코더(prioriy encoder) 등을 포함할 수 있는 이득 제어 회로(20)에 의해 상기 계수의 최고차 비트의 결정이 수행된다. 특히, 이득 제어 회로(20)는 최고차 넌제로 비트를 가진 계수값을 결정하여, 필터 출력뿐 아니라 모든 계수들에 의한 비트들의 수가 시프트되어야 한다. 도 5는 본 발명의 실시예에서 이득 제어 회로(20)를 구현하는데 사용될 수 있는 회로를 도시한다.
이런 관점에서, 도 5에 도시된 바와 같이, 이득 제어 회로(20)는 비부호값 회로(21)부터의 입력된 2진 계수 데이터 출력인 다수의 AND 게이트들 및 인버터들을 포함한다. 도 5에 도시된 논리 게이트들은 다수의 "0"과 함께, 임의의 신호에 입력에 대해 신호 "1"이 출력되는 것을 보장하도록 구성된다. 신호 "1"이 출력되는 "시프트" 라인은 입력 계수에 대해 필요한 시프트량에 대응한다. 예를 들어, "시프트 0"대해, 비트들은 시프트되지 않고, "시프트 1"에 대해, 비트들은 왼쪽으로 1 시프트되며, "시프트 2"에 대해, 비트들은 왼쪽으로 2 시프트된다.
"0"이 최상위 비트(MSB)이고, "1"이 최하위 비트(LSB)인 반전된 크기 "0001"를 갖는 음의 계수의 경우에는 도 5에 도시된 회로의 동작하는데 사용될 수 있다. 특히, 이 경우에, "0001"이 포트들(40 내지 43)에 입력된다. 결국, "시프트 0" 의 출력은 "1"이고, "시프트 1", "시프트 2", 및 "시프트 3"의 출력은 모두 "0"이다. 상술한 바와 같이 "0001"은 반전되므로, 이 경우에 계수의 실제값은 실제로 "1110"이다. 그러므로, 데이터의 시프트가 수행되지 않는다는 의미인 "시프트 1"에서 "1"은 "1110"이 시프트되지 않으므로 정확하다. 다음의 표 1은 4비트에 대해서 이득 제어 회로(20)에 대한 입력들의 예들을 제공하는 것을 도시하며, 그에 의해 생성된 시프트 출력들에 대응한다.
이득 제어 회로(20)는 도 5에 도시된 회로로부터 출력된 시프트량에 기초하여 디지털 필터(1)의 계수들에서 최고차 넌제로 비트를 결정하는 회로(도시 생략)를 포함한다. 예를 들어, 디지털 필터(1)의 모든 계수에 대한 시프트량은 그 필터의 모든 계수들에 대한 시프트양을 찾기 위해서 논리적으로 "OR"될 수 있다.
상술된 바와 같은 회로의 대안으로서, 필터의 계수들 모두가 양의 값들을 가질 경우(즉, 부호 비트 없음), 상기 계수들은 비부호값 회로(21)를 거치지 않고 단순히 계수 레지스터(10)에서 계수 크기 버스(38)로 간단히 출력될 수 있다. 이후, 이 경우에 단순히 다수의 "OR" 게이트들을 포함할 수 있는 이득 제어 회로(20)는 각각의 계수로부터 동일한 비트들에 대한 논리 OR 동작을 수행함으로써 최고차 넌제로 비트를 찾아낸다. 최고차 넌제로 비트를 가진 계수에 대응하는 비트 시프트량은 상기 동작에 기초하여 선택되고 출력된다. 이 논리 OR 동작을 구현하는 한가지 방법은 비트들의 "wired-OR" (또는 반전된 비트들의 "wired-AND")와 같은 배치 수단을 통해서이다.
일단 비트 시프트량(즉, 이득)이 결정되면, 비트 시프트량은 도 2에 도시된 바와 같이, 배럴 시프터들(22, 24)에 제공된다. 이런 관점에서, 상술된 바와 같이, 필터셀(4)들의 계수들은 동일한 양만큼 시프트된다. 따라서, 도 2에 도시된 바와 같이, 시프트야은 시프트 셀들(4) 각각에 제공된다. 배럴 시프터(22)는 계수 레지스터(10)로부터 제공된 계수를, 이득 제어 회로(20)로부터 제공되는 시프트량만큼 경감시킨다. 즉, 배럴 시프터(22)는 계수 레지스터(10)로부터 제공된 계수를 이득 제어 회로(20)로부터 제공되는 비트 시프트량과 같은 양만큼 왼쪽으로 시프트시킨다. 상술된 바와 같이, 이는 계수로부터 불필요한 비트들을 제거하게 하여, 각각의 필터셀에서 사용될 작은 동적 범위를 갖는 승산 회로를 가능하게 한다.
계수 레지스터(10)로부터의 계수가 요구된 시프트량만큼 조정된 이후에, "조정된" 계수는 데이터 레지스터(9)로부터 입력 데이터값만큼 승산된다. 상기 승산의 출력은 필터셀 출력(6)을 포함하며, 가산 회로(2)에 제공된다. 본 발명의 양호한 실시예들에서, 시프트량(즉, 이득)은 각 필터셀의 조정된 계수가 상기 필터셀에 대한 승산 회로의 전체 입력 범위를 차지하도록 선택된다. 그러므로, 본 발명에 따른 상기 실시예에서 8 비트 승산기가 사용되는 경우, 승산 회로에 제공되는 계수 데이터의 8 비트들이 존재하는 것을 보장하도록 이득이 결정되어야 한다. 이것은, 요구된 비트들의 수를 갖지 않는 계수 값들의 점유되지 않는 고차 비트에 음의 번호들에 대해 1들 또는 양의 번호들에 대해 제로들을 가산함으로써 신호 확장을 수행하는 회로를 포함함으로써 이득 제어 회로(20)에서 구현될 수 있다.
상술된 바와 같이, 가산 회로(2)는 디지털 필터(1)에 대해 필터셀 출력을 발생시키기 위해서 필터셀들(4) 모두로부터 필터셀 출력들을 가산한다. 그래서, 배럴 시프터(24)는 배럴 시프터(24)에서 사용된 것의 역인 이득에 의해, 필터셀의 출력, 즉 필터셀들(4)의 출력들의 합을 시프트한다. 즉, 배럴 시프터(24)는 필터 출력(7)에 부호 확장을 실행하여, 필터의 비트 정확도를 필요한 만큼 유지한다. 예를 들어, 필터셀들(4)(예컨대 배럴 시프터(22))의 배럴 시프터들이 필터 계수들로부터 3개의 최상위 비트들을 제거하면, 배럴 시프터(24)는 필터 출력(7)의 고차 비트 위치들에 3개의 부호 확장 비트들을 가산한다.
배럴 시프터들(22, 24)은 표준 논리 게이트들을 사용하여 구현될 수 있다. 그러나, 다수의 논리 게이트들이 논리 게이트 구조들에 요구되므로, 본 발명은 바람직하게는, 패스 트랜지스터들의 매트릭스를 사용하여 배럴 시프터들(22, 24)을 구현한다. 패스 트랜지스터들의 매트릭스를 사용한 공지된 배럴 시프터 구조예를 도 6에 도시하였다. 도 6에 도시된 구조의 배럴 시프터를 사용함으로써, 본 발명에 따른 디지털 필터(1)를 구현하는데 필요한 하드웨어의 양을 추가로 줄일 수 있다. 이것은 차 신호 전파 지연을 줄여, 디지털 필터(1)의 속도를 증가시킨다.
제 2 실시예
본 발명에 따른 디지털 필터의 제 2 실시예를 도 7에 도시하였다. 본 실시예는 다수의 제 1 필터셀들을 포함하는 디지털 필터로서, 상기 제 1 필터셀 각각은 필터셀에 대한 계수를 결정하고, 다수의 제 1 필터셀들 각각에 사용된 제 1 이득에 따라 계수를 조정하고, 제 1 필터셀 출력을 발생시키기 위해서 조정된 계수를 입력 데이터에 승산하는 회로를 포함한다. 제 1 가산 회로는 다수의 제 1 필터셀들 각각의 출력인 제 1 필터셀 출력을 가산하여 제 1 출력을 발생하고, 제 1 역이득 회로는 다수의 제 1 필터셀들의 계수들을 조정하는데 사용된 제 1 이득의 역에 따라 제 1 출력을 조정하여 제 1 조정된 출력을 발생한다. 또한 상기 디지털 필터는 다수의 제 2 필터셀들을 포함하며, 상기 제 2 필터셀 각각은 필터셀에 대한 계수를 결정하고, 다수의 제 2 필터셀들 각각에 사용된 제 2 이득에 따라 계수를 조정하고, 조정된 계수를 입력 데이터에 승산하여 제 2 필터셀 출력을 발생시키는 회로를 포함한다. 제 2 가산 회로는 다수의 제 2 필터셀들 각각의 출력인 제 2 필터셀 출력을 가산하여 제 2 출력을 발생하고, 제 2 역이득 회로는 다수의 제 2 필터셀들의 계수들을 조정하는데 사용된 제 2 이득의 역에 따라 제 2 출력을 조정하여 제 2 조정된 출력을 발생한다. 최종적으로, 제 3 가산 회로는 제 1 조정된 출력 및 제 2 조정된 출력을 가산하여 디지털 필터의 필터 출력을 발생한다.
그러므로, 도 7을 참조하여, 디지털 필터(49)는 도 2에 도시된 디지털 필터와 기능 및 구조가 동일한 제 1 필터 회로(50)와 제 2 필터 회로(51)를 포함한다. 디지털 필터(49)는 또한 제 1 및 제 2 필터 회로의 출력을 가산하는 가산 회로(52)를 포함한다. 도 7에 도시된 회로 구조를 사용하여, 디지털 필터의 총정확도를 높일 수 있다.
특히, 본 발명에 따라, 제 1 이득(즉, 제 1 시프트량)은 제 1 필터 회로(50)에서 결정된다. 상기 제 1 이득은 제 1 필터 회로(50)의 각각의 제 1 필터셀(54) 계수를 조정하는데 사용된다. 그래서, 제 1 필터 이득의 역(inverse)은 배럴 시프터(56)와 같은 제 1 역이득 회로 사용하는 제 1 필터 출력(55)을 조정하는데 사용된다. 제 1 이득과 다르거나 동일한 제 2 이득(즉, 제 2 시프트량)은 제 2 필터 회로(51)에서 결정된다. 상기 제 2 이득은 제 2 필터 회로(50)의 각각의 제 2 필터셀(57) 계수를 조정하는데 사용된다. 그래서, 제 2 필터 이득의 역은 배럴 시프터(60)와 같은 제 2 역이득 회로 사용하는 제 2 필터 출력(59)을 조정하는데 사용된다. 조정된 출력들(61, 62)이 가산 회로(52)에서 가산되어 디지털 필터(49)의 출력을 발생시킨다.
필터의 다른 부분들에 대해 이득들을 사용함으로써, 본 발명의 실시예는 필터 셀들의 다른 그룹들의 계수들을 달리 경감시킬 수 있게 한다. 이것은 주어진 전체 필터 정확도를 위한 디지털 필터를 구현하는데 필요한 하드웨어 양의 추가적인 감소를 가능하게 한다. 예를 들어, 10 필터셀의 경우, 제1의 5개 필터셀들의 계수가 제2의 5개 필터셀들보다 고차 비트 위치들에서 보다 많은 제로들을 가질 수 있다. 따라서, 예를 들어, 제1의 5개 필터셀의 계수들은 8 비트 승산기를 사용할 수 있도록 조정될 수 있고, 제2의 5개 필터셀들은 16 비트 승산기를 사용할 수 있도록 조정될 수 있다. 8 비트 승산기가 16 비트 승산기보다 구현하는데 있어 작은 하드웨어 양을 필요로 하므로, 10개 중 5개 필터셀들에 대해 사용될 수 있으며, 그것의 종래 디지털 필터에 비하여 디지털 필터의 전체 크기가 훨씬 감소될 수 있다.
제 3 실시예
본 발명에 따른 디지털 필터의 제 3 실시예를 도 8에 도시한다. 구체적으로, 상기 디지털 필터는 다수의 필터셀들을 포함하며, 상기 다수의 필터셀들 각각은 필터셀에 대한 계수를 결정하고, 다수의 필터셀들 각각에 사용된 이득에 따라 계수를 조정하고, 조정된 계수를 대응되는 필터셀의 입력 데이터값에 승산하여 필터셀 출력을 발생시키는 회로를 포함한다. 본 발명에서, 가산 회로는 다수의 필터셀들 각각의 필터셀 출력을 가산하여 필터 출력을 발생하고, 역이득 회로는 다수의 필터셀들의 계수들을 조정하는데 사용된 이득의 역에 따라 필터 출력을 조정한다.
본 발명의 주된 실시예는 상술된 제 1 실시예의 이점과 단일 필터셀에서의 자원 공유의 이점을 결합하는 것이다. 일반적으로, 자원 공유는 하드웨어 회로를 공유하는 것이고, 단일 필터셀내의 승산 회로를 자원 공유하여 필터 구성에 필요한 전체 하드웨어 용량을 줄일 수 있으며, 필터의 크기를 줄일 수 있다. 이런 관점에서, 본 발명은 멀티플렉서가 필터셀에 사용되어 다른 필터 계수를 동일한 승산 회로를 사용하여 다른 데이터값에 승산하는 종래의 자원 공유 장치에서 실행되었다. 또한, 본 발명은 발명의 명칭이 " 디지털 필터에서 자원 공유 시스템"인 미국 특허 제09/031,698호 에 개시된 자원 공유 시스템에서 실행될 수 있으며,(출원인:필립스 일렉트로닉스 북아메리카 코포레이션; 출원 번호: PHA 23,373; 발명자: 위티그 카알, 터키니취 진), 상기 발명에 개시된 내용은 본 발명에서 참조하였다.
이런 관점에서, 미국 특허 제09/031,698호 에 개시된 자원 공유 시스템에서, 각각의 필터셀 각각은 1 이상의 입력 데이터값과 계수를 저장하지만, 계수를 데이터값에 승산하기 위해서는 단일 승산 회로를 사용한다. 또한, 이런 필터셀은 각각 동일한 적응 회로를 사용하여 다수의 계수값들을 갱신하므로, 필터에 필요한 하드웨어 용량을 줄일 수 있다. 도 8은 본 발명에 다른 상기 실시예에 따른 디지털 필터의 실예를 도시한다. 구체적으로, 도 8은 자원 공유하고 상술된 두가지 실시예에서 설명된 형태에서 계수의 동적 범위를 변화시킬 수 있는 디지털 필터를 도시한다. 도 8에 도시된 바와 같이, 필터(70)는 필터셀(71)을 포함한다. 이런 필터셀 각각은 입력 레지스터(72), 멀티플렉서(73), 데이터 레지스터(74), 승산 회로(75), 계수 레지스터(76), 논리 상태(77, 78, 79, 80), 배럴 시프터(81), 및 비부호값 회로(82)를 포함한다.
배럴 시프터(81)와 비부호값 회로(82)는 도 2를 참조로 상술된 배럴 시프터(22)와 비부호값 회로(21)와 동일한 방식으로 동작한다. 도 8에 도시된 이득 제어 회로(85), 베럴 시프터(86), 및 가산 회로(87)도 또한 동일하다. 즉 상기 소자들은 본질적으로 도 2에 도시된 이득 제어 회로(20), 배럴 시프터(24), 및 가산 회로(2)와 동일한 방식으로 동작한다. 그러므로 상기 소자들의 자세한 설명은 생략하기로 한다. 그러나, 도 8에 도시된 예에서, 가산기(87)는 가산기(2)의 필터 출력 수신 속도의 4배로 필터 출력을 수신하므로, 가산기(87)는 가산기(2)보다 4배 빠르게 동작한다. 이런 관점에서, 일반적으로, 필터셀마다 "N"필터 계수가 있을 경우, 제 3 실시예의 가산기는 제 1 실시예의 가산기보다 N 배 빠르게 동작한다. 또한, 본 발명에 따른 상기 실시예에서, 가속기(100)는 필터셀의 출력을 함께 합산하고, 상기 합을 저장하며, 클록 펄스에 따라 상기 합을 출력한다.
도 8에 도시된 나머지 소자들은 승산 회로(75) 및 계수 레지스터(76)에서 계수를 갱신하는데 사용되는 계수 회로를 공유한다. 상기 목적을 위해, 입력 레지스터(72)는 멀티플렉서(73)와 데이터 레지스터(74)에 직렬로 배치된다. 입력 레지스터(72)와 데이터 레지스터(74)는 클록 신호에 따라 데이터를 시프트시키는 종래의 시프트 레지스터로 구성된다. 이런 관점에서, 상세히 설명해보면, 입력 레지스터(72)는 상술된 샘플링 클록 신호에 따라 데이터를 시프트시킨다. 반대로, 데이터 레지스터(74)는 샘플링 클록 신호 주파수의 배수인 주파수를 가진 순환 클록 신호에 따라 데이터를 시프트시킨다. 상기 장치는 입력 레지스터의 단일 시프트에 대하여 데이터 레지스터(74)는 여러번 시프트하도록 제공된다.
데이터 레지스터(74a)는 각각의 순환 클록 펄스마다 승산 회로(75)에 데이터값을 출력한다. 도 8에 도시된 바와 같이, 동일한 데이터값이 피드백 패스(97)를 통해 멀티플렉서(73)에 되돌아온다. 멀티플렉서(73)는 또한 선택 신호(88) 및 입력 레지스터(72)로부터의 출력을 수신한다. 선택 신호(88)로 인해 멀티플렉서(73)는 샘플링 클록 펄스 동안 레지스터(72)로부터의 출력을 수신하며, 순환 클록 펄스 동안 피드백 패스(97)로부터의 데이터를 시프트시킨다. 상기 장치로 인해, 순환 클록 펄스 동안 데이터값은 데이터 레지스터(74)를 순환한다. 그러나, 각각의 샘플링 클록 펄스에서, 입력 레지스터(72)로부터 첨가된 데이터값은 첨가된 데이터값이 순환되는 데이터 레지스터(74)로 시프트된다. 그러므로, 요약하면, 데이터 레지스터(74)는 소정의 시간동안 제 1 데이터값 세트를 순환시키고, 다음의 소정의 시간 동안 데이터 레지스터(74)는 소정의 시간동안 제 2 데이터값 세트를 순환시킨다.
이런 관점에서, 데이터 레지스터(74)는 동일한 수의 데이터값을 순환시킨다. 따라서, 매시간 첨가된 데이터값은 데이터 레지스터(74)에 입력되고, 데이터 레지 스터(74)내에 이전 데이터값은 제거된다. 구체적으로, 피드백 패스(97)상의 데이터값(즉, 승산 회로(75)에 마지막으로 출력되는 데이터값)은 데이터 레지스터(74)에 되돌아오지 않고 제거된다. 샘플링 클록 주기마다 오직 하나의 데이터값이 제거되므로, 데이터 레지스터(74)는 일반적으로 데이터값을 여러 샘플링 주기 동안 순환시킨 후 제거한다. 이런 일반적인 법칙 중 예외의 경우는 단일 데이터값이 단일 데이터 레지스터에서 순환되는 경우이다. 이런 경우, 상기 데이터값은 오직 한 샘플링 클록 주기동안만 순환된다.
계수 레지스터(76)는 다수의 계수값들을 순환시켜서 각각의 계수값을 소정의 주기동안 한번 출력한다. 더욱 구체적으로, 계수값은 계수 레지스터(76)사이에서 시프트되고, 양호하게 소정의 순환 클록 주기에서 계수 레지스터(76a)는 배럴 시프터(81)에 계수를 출력한다. 교대로, 배럴 시프터(81)는 이득 제어 회로(85)로부터 수신된 이득에 따라 상기 계수를 조정하고, 조정된 계수를 승산 회로(75)에 출력한다. 그러므로, 각각의 순환 틀럭 신호의 주기에서, 승산 회로(75)는 데이터 레지스터(74a)로부터 데이터값을 수신하고 배럴 시프터(81)로부터 조정된 계수를 수신한다. 이때에, 승산 회로(75)는 상기 두값을 승산하고 승산값이 출력된다. 비록 본 발명의 실시예에서 승산 회로를 설명하였지만, 본 발명이 실행되는 필터셀 형태에 따라 다른 형태의 회로도 사용가능하다.
도 8에 도시된 계수 레지스터(74)를 고려해보면, 계수 레지스터(76)는 피드백 패스(90)를 통해 계수 출력을 배럴 시프터(81)에 공급함으로서 계수값을 순환시킨다. 상기 장치는 동일한 계수가 계수 레지스터(76)를 순환하도록 허용하여, 데이터값이 상기 계수를 데이터 레지스터(74)에서 공유할 수 있게 한다. 즉, 상술된 바와 같이, 데이터 레지스터(74)는 일반적으로 데이터값을 여러 샘플링 주기 동안 순환시킨 후 제거한다. 결과적으로, 동일한 데이터값은 여러 샘플링 클록 주기에 걸쳐 여러 차례 승산 회로(75)에 출력된다. 동일한 데이터값이 승산 회로(75)에 출력될 때마다. 다른 계수값이 배럴 시프터(81)를 통해 승산 회로에 출력된다. 결과적으로, 각각의 데이터값에 각각의 계수가 승산된다.
도 8에 도시된 본 발명의 양호한 실시예에서, 다수의 논리 상태들(77,78,79,80)은 계수 레지스터(76) 사이에 배치된다. 상기 논리 상태들은 외부 입력들(92, 93, 94, 95)을 각각 수신하고, 필요하다면 계수 레지스터(74)에서 출력된 계수값을 갱신한다. 더욱 구체적으로, 상술된 바와 같이, 필터셀(71a)은 적응 필터셀이며, 상기 필터셀의 데이터값은 전송하는 채널상의 변화 때문에 입력 데이터값이 변화할 경우 주기적으로 갱신되어 수정된다. 본 발명에서, 필터 에러(즉, 예상 필터 출력과 실제 필터 출력 사이의 차이)나 이와 유사한 것을 포함한 외부 입력들(92, 95)이 존재하는 논리 상태들(77 내지 80)을 통해서 갱신이 이루어진다.
그러므로, 본 발명에서, 계수 계산이 적절한 계수 레지스터 사이의 분리된 파이프 라인 상태에서 분리되어 실행된다. 따라서, 본 발명의 상기 실시예에서, 계수 레지스터들(76b, 76c, 76d)의 계수값들은 필수적으로 실제 계수를 포함하지 않아서, "프라임" 체크를 하여 표시하였다. 비교적, 상기 계수 레지스터의 계수값은 실제 계수값의 중간값으로 나타난다. 본 발명의 이런 특징으로 계수의 계산과 갱신이 동시에 수행되고, 필터셀(71a)을 실행하는데 필요한 하드웨어 용량이 줄어드는 이점이 있다.
본 발명의 양호한 실시예들에서, 논리 상태들(77 내지 80)은 공지된 최소 평균 자승 알고리즘을 사용하여 계수들을 갱신한다. 그러나, 본 발명은 이 알고리즘을 사용하여 계수드을 갱신하는 것에만 제한되지 않고, 임의의 이러한 알고리즘이 사용될 수 있다는 것에 유의하자.
그러므로, 상술된 자원 공유 양상 및 최소 타이밍 참작들(minor timing considerations)을 제외하고, 본 발명의 제 3 실시예는 제 1 실시예와 유사한 방식으로 동작한다. 이런 관점에서, 본 발명의 제 2 실시예는 또한 제 3 실시예에서 설명한 유형의 자원 공유를 구현하는 필터셀들을 사용하여 구현될 수 있다는 것에 유의하자. 이러한 실시예에서, 디지털 필터의 동작 속도를 저하시키지 않고, 디지털 필터의 실질적은 전체 하드웨어 감소들을 달성할 수 있다.
본 발명은 특정한 예시적인 실시예들에 대해 설명되었다. 본 발명은 여기에서 설명된 실시예들 및 변형예들에 제한되지 않으며, 다양한 변경들 및 변형들이 첨부된 청구의 범위의 사상 및 범위에서 벗어남이 없이 기술 분야의 숙련자들에 의해 말들어 질 수 있다는 것을 이해할 것이다.
Claims (20)
- 디지털 필터에 있어서,다수의 필터셀들(4)로서, 상기 다수의 필터셀들 각각은 상기 필터셀에 대한 계수를 결정하고, 상기 다수의 필터셀들 각각에 의해 사용되는 이득에 따라 상기 결정된 계수를 조정하고(12,22), 필터셀 출력을 발생시키기 위해 상기 조정된 계수를 입력 데이터에 승산하는(14) 회로(11)를 포함하는, 상기 다수의 필터셀(4)과;상기 다수의 필터셀들(4) 각각으로부터 필터셀 출력들을 가산함으로써 필터 출력을 발생시키는 가산 회로(2)와;상기 다수의 필터셀들(4)의 상기 계수를 조정하는데 사용된 상기 이득의 역(inverse)에 따라 상기 필터 출력을 조정하는 역이득 회로(3,24)를 포함하는, 디지털 필터.
- 제 1항에 있어서, 최고차 넌제로 크기 비트(highest order nonzero magnitude bit)를 갖는 상기 다수의 필터셀들(4)의 계수에 기초하여 상기 이득을 결정하기 위한 이득 제어 회로(20)를 더 포함하는, 디지털 필터.
- 제 2항에 있어서, 상기 다수의 필터셀들(4) 각각은 상기 조정된 계수를 상기 입력 데이터에 승산하기 위한 승산 회로(14)를 포함하고, 상기 이득은 각각의 필터 셀의 상기 조정된 계수가 상기 필터 셀에 대한 상기 승산 회로(14)의 입력 범위를 차지하도록 결정되는, 디지털 필터.
- 제 3항에 있어서, 상기 다수의 필터셀들(4) 각각은 상기 계수의 최고차 넌제로 비트가 상기 승산 회로(14)에 대한 입력의 최상위 비트 위치에 있도록 상기 계수를 포함하는 비트들을 시프트(shifting)함으로써 상기 필터셀에 대한 계수를 조정하는 이득 조정 회로(22)를 포함하는, 디지털 필터.
- 제 4항에 있어서, 상기 이득 조정 회로(22)는 배럴 시프터(barrel shifter)를 포함하는, 디지털 필터.
- 제 5항에 있어서, 상기 배럴 시프터(22)는 패스 트랜지스터들(pass transistors)의 매트릭스를 사용하여 구현되는, 디지털 필터.
- 제 2항에 있어서, 상기 다수의 필터셀들(4) 각각은 상기 필터셀에 대한 상기 계수를 결정하기 위해 계수 적응 회로(11)를 포함하고, 상기 계수 적응 회로는 상기 입력 데이터에 관련된 데이터에 기초하여 주기적으로 상기 계수를 갱신하는, 디지털 필터.
- 제 7항에 있어서, 상기 이득 제어 회로(20)는 상기 다수의 필터셀들(4)에 대한 계수들의 갱신들에 따라 상기 이득을 변경하는, 디지털 필터.
- 제 1항에 있어서, 상기 역이득 회로(3)는 배럴 시프터를 포함하는, 디지털 필터.
- 다수의 필터셀들(4)로 이루어진 디지털 필터(1)를 사용하여 입력 데이터를 필터링하는 방법으로서, 상기 다수의 필터셀들 각각은 입력 데이터 및 계수에 기초하여 필터셀 출력을 발생시키는, 상기 입력 데이터를 필터링하는 방법에 있어서,상기 다수의 필터셀들(4) 각각의 계수를 결정하기 위한 계수 결정 단계와,상기 다수의 필터셀들(4) 각각에 의해 사용되는 이득에 따라 각각의 필터셀의 결정된 계수를 조정하기 위한 계수 조정 단계와,각각의 필터셀(4)에 대한 필터셀 출력을 발생시키기 위해서, 조정된 계수로 각각의 필터셀의 입력 데이터를 승산하기 위한 승산 단계와,필터 출력을 발생시키기 위해서 상기 다수의 필터셀들 각각으로부터 필터셀 출력들을 가산하기 위한 가산 단계와,상기 다수의 필터셀들(4)의 계수들을 조정하는데 사용된 상기 이득의 역에 따라 상기 필터 출력을 조정하기 위한 출력 조정 단계를 포함하는, 필터링 방법.
- 제 10항에 있어서, 최고차 넌제로 크기 비트를 갖는 상기 다수의 필터셀들의 계수에 기초하여 상기 다수의 필터셀(4) 각각에 의해 사용되는 상기 이득을 결정하기 위한 이득 결정 단계를 더 포함하는, 필터링 방법.
- 제 11항에 있어서, 상기 승산 단계는 조정된 계수를 입력 데이터에 승산하는 승산 회로(14)를 사용하여 상기 다수의 필터셀들(4) 각각에서 실행되고;상기 이득 결정 단계는 각각의 필터셀의 상기 조정된 계수가 상기 필터셀에 대해 상기 승산 회로(14)의 입력 범위를 차지하도록 상기 이득을 결정하는, 필터링 방법.
- 제 12항에 있어서, 상기 계수 조정 단계는 최고차 넌제로 크기 비트가 상기 승산 회로(14)에 대한 입력의 최상위 비트 위치에 있도록 상기 계수를 포함하는 비트들을 시프트함으로써 상기 필터셀에 대한 상기 계수를 조정하는, 필터링 방법.
- 제 13항에 있어서, 상기 계수 조정 단계는 배럴 시프터(22)를 사용하여 실행되는, 필터링 방법.
- 제 14항에 있어서, 상기 배럴 시프터(22)는 패스 트랜지스터들의 매트릭스를 사용하여 구현되는, 필터링 방법.
- 제 11항에 있어서, 상기 계수 결정 단계는 상기 필터셀에 대한 입력 데이터에 관련된 데이터에 기초하여 주기적으로 상기 계수를 갱신함으로써 각각의 필터 셀에 대한 상기 계수를 결정하는, 필터링 방법.
- 제 16항에 있어서, 상기 이득 결정 단계는 상기 다수의 필터셀들(4)에 대한 계수들의 갱신들에 따라 상기 이득을 변경하는, 필터링 방법.
- 제 10항에 있어서, 상기 출력 조정 단계는 배럴 시프터(22)를 사용하여 실행되는, 필터링 방법.
- 디지털 필터 장치에 있어서,조정된 제 1 출력을 발생시키기 위한, 청구항 1에 청구된 바와 같은 제 1 디지털 필터(50)와,조정된 제 2 출력을 발생시키기 위한, 청구항 1에 청구된 바와 같은 제 2 디지털 필터(51)와,상기 디지털 필터 장치를 위한 필터 출력을 발생시키기 위해 상기 조정된 제 1 출력과 상기 조정된 제 2 출력을 가산하는 제 3 가산 회로(52)를 포함하는, 디지털 필터 장치.
- 제 1 항에 있어서,상기 다수의 필터셀들(71) 각각은, 필터셀(77,78,79,80)에 대한 다수의 계수들을 결정하고, 상기 다수의 필터셀들 각각에 의해 사용되는 이득에 따라 상기 다수의 계수들 각각을 조정하고, 필터셀 출력(100)을 발생시키기 위해 대응하는 조정된 계수를 상기 필터셀에 입력된 대응하는 데이터 값과 승산하기 위한 회로를 포함하는, 디지털 필터.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/062,941 US6606641B1 (en) | 1998-04-20 | 1998-04-20 | System for varying the dynamic range of coefficients in a digital filter |
US09/062,941 | 1998-04-20 | ||
PCT/IB1999/000263 WO1999054996A1 (en) | 1998-04-20 | 1999-02-15 | System for varying the dynamic range of coefficients in a digital filter |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010014014A KR20010014014A (ko) | 2001-02-26 |
KR100712864B1 true KR100712864B1 (ko) | 2007-05-03 |
Family
ID=22045868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019997012043A KR100712864B1 (ko) | 1998-04-20 | 1999-02-15 | 디지털 필터 계수의 동적 범위를 변화시키는 시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6606641B1 (ko) |
EP (1) | EP0990305B1 (ko) |
JP (1) | JP2002505834A (ko) |
KR (1) | KR100712864B1 (ko) |
DE (1) | DE69930906T2 (ko) |
WO (1) | WO1999054996A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3379501B2 (ja) * | 1999-12-28 | 2003-02-24 | 日本電気株式会社 | ゲイン可変型ディジタルフィルタ |
GB2371695B (en) * | 2000-12-07 | 2005-02-16 | Ubinetics Ltd | Signal processing |
DE10232702B4 (de) * | 2002-07-18 | 2005-06-16 | Infineon Technologies Ag | Adaptiver Entzerrer mit integrierter Anpassung des Ausgangspegels |
KR100498465B1 (ko) * | 2002-11-23 | 2005-07-01 | 삼성전자주식회사 | 채널 등화 방법 및 채널 등화기 |
JP5790956B2 (ja) * | 2011-05-17 | 2015-10-07 | 日本電気株式会社 | ディジタルフィルタ回路 |
KR102192991B1 (ko) | 2014-04-23 | 2020-12-18 | 삼성전자주식회사 | 가변적인 디지털 필터를 포함하는 아날로그-디지털 컨버터 및 이를 포함하는 이미지 센서 |
US10879877B1 (en) | 2018-09-28 | 2020-12-29 | The Mitre Corporation | Systems and method for a low power correlator architecture using distributed arithmetic |
US10410700B1 (en) | 2018-09-28 | 2019-09-10 | The Mitre Corporation | Systems and method for a low-power correlator architecture using shifting coefficients |
US20210133124A1 (en) * | 2019-11-06 | 2021-05-06 | Stmicroelectronics International N.V. | High throughput digital filter architecture for processing unary coded data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233549A (en) * | 1992-04-21 | 1993-08-03 | Loral Aerospace Corp. | Reduced quantization error FIR filter |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4615026A (en) * | 1984-01-20 | 1986-09-30 | Rca Corporation | Digital FIR filters with enhanced tap weight resolution |
US5029217A (en) * | 1986-01-21 | 1991-07-02 | Harold Antin | Digital hearing enhancement apparatus |
GB2210236B (en) * | 1987-09-24 | 1991-12-18 | Newbridge Networks Corp | Speech processing system |
JPH07109974B2 (ja) * | 1989-04-22 | 1995-11-22 | 富士ゼロックス株式会社 | ディジタルフィルタ処理装置 |
JPH03116301A (ja) * | 1989-09-29 | 1991-05-17 | Canon Inc | 適応装置 |
DE59003361D1 (de) * | 1990-03-27 | 1993-12-09 | Siemens Ag | Zweidraht-Vierdraht-Umsetzer. |
US5079734A (en) * | 1990-04-30 | 1992-01-07 | Harris Corporation | Digital decimation filter |
US5339264A (en) | 1992-07-27 | 1994-08-16 | Tektronix, Inc. | Symmetric transposed FIR digital filter |
US5493581A (en) * | 1992-08-14 | 1996-02-20 | Harris Corporation | Digital down converter and method |
US5381359A (en) * | 1992-08-27 | 1995-01-10 | Quantum Corporation | Adaptation and training of digital finite impulse response filter within PRML sampling data detection channel |
US5619711A (en) * | 1994-06-29 | 1997-04-08 | Motorola, Inc. | Method and data processing system for arbitrary precision on numbers |
US5852667A (en) * | 1995-07-03 | 1998-12-22 | Pan; Jianhua | Digital feed-forward active noise control system |
JPH0991197A (ja) * | 1995-09-22 | 1997-04-04 | Sharp Corp | データ転送制御装置 |
JP3655403B2 (ja) * | 1995-10-09 | 2005-06-02 | 株式会社ルネサステクノロジ | データ処理装置 |
US5838598A (en) * | 1995-12-12 | 1998-11-17 | Analog Devices, Inc. | Method and apparatus for gain correction of a sigma-delta converter |
GB2310093A (en) * | 1996-02-01 | 1997-08-13 | Racal Datacom Ltd | Digital filters |
EP0813301A1 (en) | 1996-06-10 | 1997-12-17 | TOSHIBA Electronics Europe GmbH | Adaptive digital filter |
JP3228153B2 (ja) * | 1996-11-08 | 2001-11-12 | 日産自動車株式会社 | 能動型振動制御装置 |
US5867065A (en) * | 1997-05-07 | 1999-02-02 | Glenayre Electronics, Inc. | Frequency selective predistortion in a linear transmitter |
US6108681A (en) | 1998-02-27 | 2000-08-22 | Philips Electronics North America Corporation | System for sharing resources in a digital filter |
WO2000008765A2 (en) * | 1998-08-06 | 2000-02-17 | Steensgaard Madsen Jesper | Delta-sigma a/d converter |
-
1998
- 1998-04-20 US US09/062,941 patent/US6606641B1/en not_active Expired - Lifetime
-
1999
- 1999-02-15 DE DE69930906T patent/DE69930906T2/de not_active Expired - Lifetime
- 1999-02-15 EP EP99901850A patent/EP0990305B1/en not_active Expired - Lifetime
- 1999-02-15 WO PCT/IB1999/000263 patent/WO1999054996A1/en active IP Right Grant
- 1999-02-15 JP JP55266399A patent/JP2002505834A/ja not_active Abandoned
- 1999-02-15 KR KR1019997012043A patent/KR100712864B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233549A (en) * | 1992-04-21 | 1993-08-03 | Loral Aerospace Corp. | Reduced quantization error FIR filter |
Also Published As
Publication number | Publication date |
---|---|
WO1999054996A1 (en) | 1999-10-28 |
US6606641B1 (en) | 2003-08-12 |
EP0990305B1 (en) | 2006-04-19 |
KR20010014014A (ko) | 2001-02-26 |
JP2002505834A (ja) | 2002-02-19 |
DE69930906T2 (de) | 2006-12-21 |
EP0990305A1 (en) | 2000-04-05 |
DE69930906D1 (de) | 2006-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0101318B1 (en) | Digital filters | |
KR100712864B1 (ko) | 디지털 필터 계수의 동적 범위를 변화시키는 시스템 | |
US20090070394A1 (en) | Canonical signed digit multiplier | |
US20060277240A1 (en) | Apparatus and method for implementing efficient arithmetic circuits in programmable logic devices | |
US5987487A (en) | Methods and apparatus for the processing of digital signals | |
JP3003467B2 (ja) | 演算装置 | |
JP4388141B2 (ja) | ディジタルフィルタ用共有リソース | |
US8090013B2 (en) | Method and system of providing a high speed Tomlinson-Harashima Precoder | |
US7167514B2 (en) | Processing of quinary data | |
WO2005085990A1 (en) | A high speed shifter circuit | |
Naik et al. | An efficient reconfigurable FIR digital filter using modified distribute arithmetic technique | |
US10305451B1 (en) | Multiplier-based programmable filters | |
US5570309A (en) | Iterative arithmetic processor | |
Raj et al. | A paradigm of distributed arithmetic (DA) approaches for digital FIR filter | |
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
KR0176829B1 (ko) | 초대규모 집적회로 구현에 적합한 고차 에프아이알 필터 | |
JP3074958B2 (ja) | 加算機能付きシリアル乗算器 | |
KR100265358B1 (ko) | 고속의쉬프팅장치 | |
US5615141A (en) | Multiplying apparatus | |
Kumar et al. | Modified CSM for FIR Filter Realization | |
JP3540136B2 (ja) | データ分割並列シフタ | |
Kumar et al. | Performance evaluation of FIR filters using digit serial architectures | |
KR20220037361A (ko) | 곱셈 연산 근사화 능력이 있는 필터 및 방법 | |
WO2003009473A1 (en) | Processing of quinary data | |
KR100464013B1 (ko) | 저면적/저전력 적응형 디지털 필터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20130411 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140410 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |