KR20220037361A - 곱셈 연산 근사화 능력이 있는 필터 및 방법 - Google Patents

곱셈 연산 근사화 능력이 있는 필터 및 방법 Download PDF

Info

Publication number
KR20220037361A
KR20220037361A KR1020210121589A KR20210121589A KR20220037361A KR 20220037361 A KR20220037361 A KR 20220037361A KR 1020210121589 A KR1020210121589 A KR 1020210121589A KR 20210121589 A KR20210121589 A KR 20210121589A KR 20220037361 A KR20220037361 A KR 20220037361A
Authority
KR
South Korea
Prior art keywords
shift
bit
multiplication
filter
bit right
Prior art date
Application number
KR1020210121589A
Other languages
English (en)
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 엑스멤스 랩스 인코포레이티드
Publication of KR20220037361A publication Critical patent/KR20220037361A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H11/00Networks using active elements
    • H03H11/02Multiple-port networks
    • H03H11/04Frequency selective two-port networks
    • H03H11/0422Frequency selective two-port networks using transconductance amplifiers, e.g. gmC filters
    • H03H11/0433Two integrator loop filters
    • H03H11/0438Tow-Thomas biquad
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/125Discriminating pulses
    • H03K5/1252Suppression or limitation of noise or interference
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • 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/0225Measures concerning the multipliers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/04Recursive filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F2015/761Indexing scheme relating to architectures of general purpose stored programme computers
    • G06F2015/763ASIC
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H11/00Networks using active elements
    • H03H11/02Multiple-port networks
    • H03H11/04Frequency selective two-port networks
    • H03H2011/0488Notch or bandstop filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Complex Calculations (AREA)

Abstract

필터가 개시된다. 필터는 적어도 하나의 제1 비트 단위 시프트 연산(bit-wise shift operation)으로, 적어도 하나의 제1 계수에 대응하는 적어도 하나의 제1 곱셈 연산을 근사화하기 위한 적어도 하나의 제1 곱셈 근사화 유닛(multiplication approximation unit); 및 복수의 제2 비트 단위 시프트 연산과 적어도 하나의 덧셈 연산으로, 적어도 하나의 제2 계수에 대응하는 적어도 하나의 제2 곱셈 연산으로 근사화하기 위한 적어도 하나의 제2 곱셈 근사화 유닛을 포함한다.

Description

곱셈 연산 근사화 능력이 있는 필터 및 방법{Filter and Method with Multiplication Operation Approximation Capability}
본 출원은 2020년 9월 17일에 출원된 미국 가출원 번호 제63/079,680호에 대해 우선권을 주장하는 바이며, 그 전체 내용이 원용에 의해 본 명세서에 포함된다.
본 출원은 주문형 반도체(ASIC)를 위한 필터 및 방법에 관한 것으로, 더 상세하게는 ASIC을 위한 곱셈 연산을 근사화할 수 있는 필터 및 방법에 관한 것이다.
바이쿼드(bi-quadratic, BiQuad) 필터는 신호 처리에 일반적으로 사용되는 2차 필터이다. 이산 시간 영역에서, BiQuad 필터의 입력/출력 관계가 수식(Eq.) 1로 표현될 수 있다.
Figure pat00001
계수
Figure pat00002
를 적절하게 선택함으로써, BiQuad 필터가 샘플링 주파수, 중심/컷오프 주파수(
Figure pat00003
), Q 인자(Q-factor), 및 이득과 같은 지정된 파라미터의 집합에 따라 저역 통과 필터, 또는 고역 통과 필터, 또는 대역 통과 필터, 또는 피크 필터, 또는 노치 필터, 로우 쉘프(low-shelf) 필터, 또는 하이 쉘프(high-shelf) 필터의 역할을 할 수 있다.
예를 들어, BiQuad 필터의 진폭 응답과 위상 응답을 나타내는 도 1을 참조하라. 도 1에 도시된 바와 같이, 이산 시간 신호들이 48 ksps(kilo-samples per second)의 레이트로 샘플링될 때, 표 1의 계수를 갖는 BiQuad 필터는
Figure pat00004
= 1439.244251 Hz이고, Q = 0.7071 및 유닛 DC-이득인 2차 저역통과 필터의 역할을 할 수 있다.
(표 1)
Figure pat00005
하지만, 전술한 BiQuad 필터는 5회의 곱셈, 4회의 덧셈, 및 몇 회의 레지스터 대입 연산을 필요로 할 수 있다. 부동 소수점 곱셈, 특히 표 1의 계수를 표현하는 데 필요한 64비트 배정밀도 부동 소수점 숫자들이 상당한 양의 하드웨어 자원과 계산 주기를 필요로 할 뿐만 아니라 상당한 양의 전력을 소모하는 값비싼 연산이다.
따라서, 종래 기술의 개선이 필요하다.
따라서, 본 출원의 주요 목적은 곱셈 연산을 근사화하여 종래 기술의 단점을 개선할 수 있는 필터 및 방법을 제공하는 것이다.
본 출원의 일 실시예는 필터를 개시한다. 상기 필터는, 적어도 하나의 제1 비트 단위 시프트 연산(bit-wise shift operation)으로, 적어도 하나의 제1 계수에 대응하는 적어도 하나의 제1 곱셈 연산을 근사화하기 위한 적어도 하나의 제1 곱셈 근사화 유닛(multiplication approximation unit); 및 복수의 제2 비트 단위 시프트 연산과 적어도 하나의 덧셈 연산으로, 적어도 하나의 제2 계수에 대응하는 적어도 하나의 제2 곱셈 연산을 근사화하기 위한 적어도 하나의 제2 곱셈 근사화 유닛을 포함한다.
본 출원의 다른 실시예는 방법을 개시한다. 상기 방법은, 적어도 하나의 제1 비트 단위 시프트 연산으로, 적어도 하나의 제1 계수에 대응하는 적어도 하나의 제1 곱셈 연산을 근사화하는 단계; 및 복수의 제2 비트 단위 시프트 연산과 적어도 하나의 덧셈 연산으로, 적어도 하나의 제2 계수에 대응하는 적어도 하나의 제2 곱셈 연산을 근사화하는 단계를 포함한다.
본 출원의 또 다른 실시예는 필터를 개시한다. 상기 필터는 적어도 하나의 제1 비트 단위 시프트 연산으로, 적어도 하나의 제1 계수에 대응하는 적어도 하나의 제1 곱셈 연산을 근사화하기 위한 적어도 하나의 제1 곱셈 근사화 유닛을 포함한다.
본 발명의 이러한 목적 및 다른 목적은 다양한 그림과 도면에 예시된 바람직한 실시예에 대한 다음의 상세한 설명을 읽은 후 당업자에게 의심할 여지 없이 명백해질 것이다.
도 1은 BiQuad 필터의 진폭 응답과 위상 응답을 나타낸다.
도 2는 Direct Form II의 BiQuad 필터를 개략적으로 나타내는 도면이다.
도 3은 본 출원의 일 실시예에 따른 BiQuad 필터를 개략적으로 나타내는 도면이다.
도 4는 본 출원의 일 실시예에 따른, 도 3에 도시된 BiQuad 필터의 곱셈 근사화 유닛의 변환을 개략적으로 나타내는 도면이다.
도 5는 본 출원의 일 실시예에 따른, 도 3에 도시된 BiQuad 필터의 진폭 응답과 위상 응답을 나타낸다.
도 6은 본 출원의 다른 실시예에 따른 BiQuad 필터를 개략적으로 나타내는 도면이다.
도 7은 전극점 필터(all-pole filter)와 전영점 필터(all-zero filter)를 개략적으로 나타내는 도면이다.
BiQuad 필터의 멀티 스테이지가 시스템에서 사용될 수 있으므로, BiQuad 필터의 M개의 스테이지를 캐스케이드로 연결하면 2M차 필터가 된다. 이러한 배열에서, 한 스테이지의 입력이 이전 스테이지의 출력으로부터 오고, 이 출력은 다음 스테이지의 입력에 연결된다.
Direct Form II의 기존 BiQuad 필터(20)를 개략적으로 나타내는 도면인 도 2를 참조하라. 도 2에 도시된 바와 같이,
Figure pat00006
이 입력 신호이고,
Figure pat00007
이 출력 신호이며,
Figure pat00008
이 지연 요소이므로, BiQuad 필터(20)의 신호의 데이터 처리 흐름이 다음과 같이 표현될 수 있다.
Figure pat00009
이러한 상황에서, BiQuad 필터(20)의 처리의 각각의 반복이 5회의 곱셈, 4회의 덧셈, 및 여러 레지스터 대입 연산을 필요로 한다. 위에서 언급한 바와 같이, 부동 소수점 곱셈은 상당한 양의 하드웨어 자원과 계산 주기를 필요로 할 뿐만 아니라 상당한 양의 전력을 소모하는 값비싼 연산이다. 실리콘 영역, 계산 주기, 및 전력이 모두 디지털 시스템의 귀중한 자원이므로, 부동 소수점 승수의 사용을 최소화하면서 BiQuad 필터를 구현하는 것이 매우 바람직하다.
필터가 주문형 반도체(application-specific integrated circuit, ASIC) 안에 설계될 때, 유한 정밀도로 산술 연산이 수행된다. 모든 변수들과 상수들이 유한한 비트 수로 표현된다. 이상적인 설계 목표와 특정 디지털 구현으로 생성되는 실제 결과 사이에는 오차가 불가피하다. 설계에 존재하는 각각의 계수를 나타내기 위해, 적절한 정밀도, 즉 등가의 비트 수를 선택하는 것이 중요하다. 본 출원은, 극적으로 단순화된 산술 연산을 이용하고 그에 따라 부동 소수점 산술 연산과 유사한 결과를 얻을 수 있으면서 훨씬 적은 하드웨어 자원을 필요로 하는 BiQuad 필터를 구현하는 것을 목표로 한다.
도 3과 도 4를 참조하라. 도 3은 본 출원의 일 실시예에 따른 BiQuad 필터(30)를 개략적으로 나타내는 도면이고, 도 4는 본 출원의 일 실시예에 따른 BiQuad 필터(30)의 곱셈 근사화 유닛(302-308)의 변환을 개략적으로 나타내는 도면이다. 도 3과 도 4에 도시된 바와 같이, 곱셈 근사화 유닛(304, 306, 308)은 비트 단위 시프트 연산(bit-wise shift operation)으로, 적어도 하나의 계수(b0, b1, b2)에 대응하는 곱셈 연산을 각각 근사화하고, 곱셈 근사화 유닛(300, 302)은 비트 단위 시프트 연산과 덧셈 연산으로, 적어도 하나의 계수(a1, a2)에 대응하는 곱셈 연산을 근사화한다. 그 결과, 본 출원은 비트 단위 시프트 연산으로 곱셈 연산을 근사화하여 하드웨어 자원을 절약할 수 있다.
구체적으로, 적절한 코너 주파수(fC)와 품질 인자(Q)를 선택함으로써, 계수(b0, b1, b2)에 의한 곱셈 연산은 아래의 표 2(fs는 샘플 레이트임)에 표시된 비트 단위 시프트 연산과 같아진다. 비트 단위 시프트 연산은 ASIC 설계의 배선에 의해 구현될 수 있으므로, 곱셈의 결과적 구현은 논리 게이트를 사용하지 않고, 실리콘 공간을 차지하지 않으며, 전력도 소모하지 않는다. 즉, BiQuad 필터(30)를 구현하는 첫 번째 단계가 코너 주파수(fC)와 품질 인자(Q)의 적합한 조합을 선택하는 것을 포함하고, 계수(b0, b1, b2)를 포함하는 부동 소수점 곱셈 연산을 ASIC 내의 무비용 비트 단위 재배선으로 변환한다. 그런 다음, BiQuad 필터(30)를 구현하는 두 번째 단계에서, 계수(a1, a2)를 포함하는 2회의 부동 소수점 곱셈 연산이 비트 단위 시프트 연산과 2~3회의 고정 소수점 덧셈 연산이 될 수 있도록, 계수(b0, b1, b2)가 이 미세하게 조정된다.
(표 2)
Figure pat00010
구체적으로, 48 ksps에서 코너 주파수
Figure pat00011
인 경우를 고려하면, (하나의 항(예를 들어,
Figure pat00012
) 또는 각 항이 그 이진 표현에서 단 하나의 '1'을 포함하는 더 많은 항(예를 들어,
Figure pat00013
)의 합에 의해 각각의 계수를 근사화하여 표 2의 4번째 행으로 표 1의 계수들을 변환하는) 곱셈 연산의 계수의 다음의 근사화로 품질 인자(Q)
Figure pat00014
0.707이다.
Figure pat00015
Figure pat00016
Figure pat00017
Figure pat00018
Figure pat00019
여기서, 표기법
Figure pat00020
는 숫자의 2의 보수 이진 표현이다. 예를 들어,
Figure pat00021
이고
Figure pat00022
Figure pat00023
등이다.
도 4에 도시된 바와 같이, 부동 소수점 곱셈 연산 대신에,
Figure pat00024
의 곱셈 연산이 다음과 같이 계산될 수 있다.
Figure pat00025
결과적으로, 3개의 무비용 비트 단위 재배선은 어떠한 곱셈 연산의 필요도 해결할 수 있고, 부동 소수점 곱셈 연산을 근사화하는 데 2회의 정수 덧셈 연산만이 필요하다. 같은 이유로, 도 2의
Figure pat00026
의 곱셈 연산은 도 4에 도시된 바와 같이 2회의 덧셈 연산으로 얻어질 수 있다.
계수(b0, b1, b2)에 대응하는 곱셈 연산에 대해, 계수(b0, b1, b2)는 각각 그 이진 표현에 단 하나의 '1'이 있는 숫자로 근사화되기 때문에, 곱셈 연산 각각은 단 하나의 무비용 비트 단위 시프트 연산으로 얻어질 수 있다. 예를 들어,
Figure pat00027
Figure pat00028
이 오른쪽으로 7비트 시프트된 것이다. 도 4에는 시프트 연산과 덧셈 연산에 의한 BiQuad 필터 내의 모든 6회의 곱셈의 변환이 도시되어 있다.
도 3에 도시된 바와 같이, 필터 계수의 모든 근사화를 적용하고 곱셈을 시프트 연산과 덧셈 연산으로 대체함으로써, 도 2의 BiQuad 필터(20)는 도 2에 도시된 바와 같이 어떠한 곱셈기도 이용하지 않는 BiQuad 필터(30)로 상당히 단순화될 수 있다. 하드웨어 구현에서, 시프트 연산이 하드웨어 구성 요소를 필요로 하지 않는다는 것을 언급할 가치가 있으며, 이는 데이터 버스의 배선의 재배치만을 필요로 하므로 하드웨어 자원을 점유하지 않고 전력도 소비하지 않는다.
코너 주파수 fC
Figure pat00029
1439.24Hz가 48Ksps 샘플 레이트에 상대적이라는 것을 유의해야 한다. 위의 동일한 파라미터들의 집합이 768Ksps 샘플 레이트에서 코너 주파수 fC
Figure pat00030
23,028Hz, 또는 960Ksps 샘플 레이트에서 코너 주파수 fC
Figure pat00031
28,785Hz, 또는 1536Ksps 샘플 레이트에서 코너 주파수 fC
Figure pat00032
46,056Hz, 또는 3072Ksps 샘플 레이트에서 코너 주파수 fC
Figure pat00033
92,111.63Hz(즉, 동일한 fC/fs)를 생성할 수 있다.
본 출원의 일 실시예에 따른 BiQuad 필터(30)의 진폭 응답과 위상 응답을 나타내는 도 5를 참조하라. 도 5에 도시된 바와 같이, 24비트 고정 소수점 연산을 이용하는 BiQuad 필터(30)의 시뮬레이션은, 배정밀도 부동 소수점 연산을 이용하는 BiQuad 필터(20)의 주파수 응답과 잘 일치하는 주파수 응답을 나타낸다. 실선은 모든 계산이 배정밀도 부동 소수점 계산으로 수행될 때 BiQuad 필터(20)의 주파수 응답을 나타낸다. 점선 곡선은 위에서 상세히 설명한 시프트 연산과 24비트 고정 소수점 덧셈 연산만을 이용하는 BiQuad 필터(30)의 주파수 응답을 나타낸다.
시뮬레이션에서 변수에 사용된 정밀도가 입력 및 출력에 대한 16비트 워드 길이(word-length)/15비트 소수부 길이(fraction-length), 및 상태와 누산기에 대한 24비트 워드 길이/17비트 소수부 길이이다. 진폭 응답과 위상 응답 모두에서, 두 곡선 간의 오차는 무시할 수 있다.
요약하면, 디지털 BiQuad 필터의 구현을 상당히 단순화할 수 있는 필터 계수([a1,a2,b0,b1,b2])를 선택하는 절차는 다음과 같다.
(1) 이진 표현에서 각 항이 단 하나의 '1'을 포함하는 하나의 항(예를 들어, b0, b1, b2) 또는 항들의 합(예를 들어, a1, a2)으로 각 계수를 근사화한다.
(2) 항들의 합 표현이 가능한 한 적은 수의 항으로 구성되어야 한다. 각 항은 단순화된 BiQuad 필터(30) 내의 시프트 연산에 대응한다.
(3) 사용되는 계수가 안정적인 필터를 생성하는지 검증한다.
본 출원의 다른 실시예에 따른 BiQuad 필터(60)를 개략적으로 나타내는 도면인 도 6을 참조하라. 본 실시예에서, 디지털 BiQuad의 구현을 더 단순화하기 위해, 필터 계수(a1과 a2)의 다른 근사화가 다음과 같이 적용된다(즉, 비트 단위 시프트 연산의 시프트 비트 수와 덧셈 연산의 덧셈 횟수의 다른 집합들이 품질 인자(Q)
Figure pat00034
0.707와 48 ksps에서의 코너 주파수 fC
Figure pat00035
1439.24Hz의 동일한 특정 집합에 대응한다).
Figure pat00036
Figure pat00037
또한, 단위 DC 이득을 갖는 BiQuad 필터(60)를 얻기 위해, 계수(b0, b1,b2)는 4배로 스케일링된다.
Figure pat00038
Figure pat00039
Figure pat00040
계수 a1에 대응하는 곱셈 연산은 2개의 시프트 연산과 1개의 덧셈 연산으로 대체될 수 있고, 계수 a2에 대응하는 곱셈 연산은 하나의 시프트 연산과 하나의 덧셈 연산으로 대체될 수 있으며, 계수 b0, 또는 계수 b1, 또는 계수 b2에 대응하는 곱셈 연산 각각이 하나의 시프트 연산으로 대체될 수 있다. 도 6에 도시된 바와 같이, BiQuad 필터(60)는 BiQuad 필터(30)보다 2회 적은 덧셈 연산과 2회 적은 시프트 연산을 필요로 한다.
명백하게, 전술한 실시예는 모두 BiQuad 필터에 대한 것이다. 그럼에도 불구하고, 곱셈기의 사용을 피하고 구현을 단순화하기 위해 근사 필터 계수를 사용하는 접근법이, 곱셈 연산을 필요로 하는 다른 유형의 필터 또는 디지털 신호 프로세서에 적용될 수 있다. 예를 들어, 유사한 근거를 이용하여, 계수 곱셈의 대체가 도 4의 좌측 부분에 도시된 바와 같이 전극 필터(all-poles filter), 또는 도 7의 우측 부분에 도시된 바와 같이 전영점 필터(all-zero filter)에 적용될 수 있고, 이것도 본 출원의 범위 안에 있다.
요약하면, 본 출원은 비트 단위 시프트 연산으로 곱셈 연산을 근사화하여 하드웨어 자원을 절약한다.
당업자는 본 발명의 교시를 유지하면서 장치와 방법에 대해 수많은 수정과 변경이 이루어질 수 있음을 즉시 알 수 있을 것이다. 따라서, 본 개시는 첨부된 청구항의 범위에 의해서만 제한되는 것으로 해석되어야 한다.

Claims (19)

  1. 필터로서,
    적어도 하나의 제1 비트 단위 시프트 연산(bit-wise shift operation)으로, 적어도 하나의 제1 계수에 대응하는 적어도 하나의 제1 곱셈 연산을 근사화하기 위한 적어도 하나의 제1 곱셈 근사화 유닛(multiplication approximation unit); 및
    복수의 제2 비트 단위 시프트 연산과 적어도 하나의 덧셈 연산으로, 적어도 하나의 제2 계수에 대응하는 적어도 하나의 제2 곱셈 연산을 근사화하기 위한 적어도 하나의 제2 곱셈 근사화 유닛
    을 포함하는 필터.
  2. 제1항에 있어서,
    상기 적어도 하나의 제1 비트 단위 시프트 연산과 상기 복수의 제2 비트 단위 시프트 연산은 주문형 반도체(application-specific integrated circuit, ASIC)의 배선에 의해 구현되는, 필터.
  3. 제1항에 있어서,
    상기 적어도 하나의 제1 곱셈 근사화 유닛은 상기 적어도 하나의 제1 계수 각각을 제1 이진 표현에서 단 하나의 '1'을 포함하는 하나의 제1항(first term)으로 근사화하고, 상기 적어도 하나의 제2 곱셈 근사화 유닛은 상기 적어도 하나의 제2 계수 각각을 복수의 제2항(second term)으로 근사화하며, 상기 하나의 제1항과 상기 복수의 제2항 각각은 제2 이진 표현에서 단 하나의 '1'을 포함하는, 필터.
  4. 제1항에 있어서,
    상기 적어도 하나의 제1 비트 단위 시프트 연산의 적어도 하나의 시프트 비트 수가 코너 주파수(corner frequency)와 품질 인자(quality factor)의 특정 집합에 대응하는, 필터.
  5. 제4항에 있어서,
    상기 코너 주파수와 상기 품질 인자의 변화량이 1 % 미만인 아래의 표의 하나의 행의 값들로부터 상기 적어도 하나의 시프트 비트 수 중 제1 시프트 비트 수, 제2 시프트 비트 수, 및 제3 시프트 비트 수의 값들과 상기 코너 주파수와 상기 품질 인자의 값들이 선택되고,
    Figure pat00041

    상기 표의 코너 주파수와 품질 인자의 값들의 변화량이 1 % 미만인, 필터.
  6. 제5항에 있어서,
    상기 코너 주파수가 48 ksps(kilo-samples per second)에서 실질적으로 1439.24Hz(Hertz)이고 또한 상기 품질 인자가 실질적으로 0.707일 때, 상기 적어도 하나의 제1 비트 단위 시프트 연산은 제1의 7비트 오른쪽 시프트, 제1의 6비트 오른쪽 시프트, 및 제2의 7비트 오른쪽 시프트를 포함하고, 상기 적어도 하나의 제2 곱셈 연산 중 첫 번째 곱셈 연산은 대응하는 제2의 6비트 오른쪽 시프트, 제1의 2비트 오른쪽 시프트, 1비트 왼쪽 시프트, 및 2개의 덧셈 연산이며, 상기 적어도 하나의 제2 곱셈 연산 중 두 번째 곱셈 연산은 대응하는 제3의 6비트 오른쪽 시프트, 제2의 2비트 오른쪽 시프트, 및 하나의 덧셈 연산을 포함하는, 필터.
  7. 제5항에 있어서,
    상기 표의 하나의 행의 값들로부터 선택된 상기 제1 시프트 비트 수, 상기 제2 시프트 비트 수, 및 상기 제3 시프트 비트 수의 값들은, 상기 적어도 하나의 제1 계수 중 대응하는 제1 계수들이 스케일링될 때 적응적으로 조정되는, 필터.
  8. 제7항에 있어서,
    상기 코너 주파수가 48 ksps(kilo-samples per second)에서 실질적으로 1439.24Hz(Hertz)이고 또한 상기 품질 인자가 실질적으로 0.707일 때, 상기 적어도 하나의 제1 비트 단위 시프트 연산은 제1의 5비트 오른쪽 시프트, 4비트 오른쪽 시프트, 및 제2의 5비트 오른쪽 시프트를 포함하고, 상기 적어도 하나의 제2 곱셈 연산 중 첫 번째 곱셈 연산은 대응하는 2비트 오른쪽 시프트, 1비트 왼쪽 시프트, 및 하나의 덧셈 연산이며, 상기 적어도 하나의 제2 곱셈 연산 중 두 번째 곱셈 연산은 대응하는 3비트 오른쪽 시프트와 하나의 덧셈 연산인, 필터.
  9. 제1항에 있어서,
    상기 복수의 제2 비트 단위 시프트 연산의 복수의 시프트 비트 수와 상기 적어도 하나의 덧셈 연산의 적어도 하나의 덧셈 횟수의 적어도 하나의 집합이 코너 주파수와 품질 인자의 특정 집합에 대응하는, 필터.
  10. 방법으로서,
    적어도 하나의 제1 비트 단위 시프트 연산(bit-wise shift operation)으로, 적어도 하나의 제1 계수에 대응하는 적어도 하나의 제1 곱셈 연산을 근사화하는 단계; 및
    복수의 제2 비트 단위 시프트 연산과 적어도 하나의 덧셈 연산으로, 적어도 하나의 제2 계수에 대응하는 적어도 하나의 제2 곱셈 연산을 근사화하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서,
    상기 적어도 하나의 제1 비트 단위 시프트 연산과 상기 복수의 제2 비트 단위 시프트 연산은 주문형 반도체(application-specific integrated circuit, ASIC)의 배선에 의해 구현되는, 방법.
  12. 제10항에 있어서,
    상기 방법이,
    상기 적어도 하나의 제1 계수 각각을 제1 이진 표현에서 단 하나의 '1'을 포함하는 하나의 제1항으로 근사화하는 단계; 및
    상기 적어도 하나의 제2 계수 각각을 복수의 제2항으로 근사화하는 단계
    를 더 포함하고,
    상기 하나의 제1항과 상기 복수의 제2항 각각은 제2 이진 표현에서 단 하나의 '1'을 포함하는, 방법.
  13. 제10항에 있어서,
    상기 적어도 하나의 제1 비트 단위 시프트 연산의 적어도 하나의 시프트 비트 수가 코너 주파수(corner frequency)와 품질 인자(quality factor)의 특정 집합에 대응하는, 방법.
  14. 제13항에 있어서,
    상기 적어도 하나의 시프트 비트 수 중 제1 시프트 비트 수, 제2 시프트 비트 수, 및 제3 시프트 비트 수의 값들과 상기 코너 주파수와 상기 품질 인자의 값들은, 상기 코너 주파수와 상기 품질 인자의 변화량이 1 % 미만인 아래의 표의 하나의 행의 값들로부터 선택되고,
    Figure pat00042

    상기 표의 코너 주파수와 품질 인자의 값들의 변화량이 1 % 미만인, 방법.
  15. 제14항에 있어서,
    상기 코너 주파수가 48 ksps(kilo-samples per second)에서 실질적으로 1439.24Hz(Hertz)이고 또한 상기 품질 인자가 실질적으로 0.707일 때, 상기 적어도 하나의 제1 비트 단위 시프트 연산은 제1의 7비트 오른쪽 시프트, 제1의 6비트 오른쪽 시프트, 및 제2의 7비트 오른쪽 시프트를 포함하고, 상기 적어도 하나의 제2 곱셈 연산 중 첫 번째 곱셈 연산은 대응하는 제2의 6비트 오른쪽 시프트, 제1의 2비트 오른쪽 시프트, 1비트 왼쪽 시프트, 및 2개의 덧셈 연산이며, 상기 적어도 하나의 제2 곱셈 연산 중 두 번째 곱셈 연산은 대응하는 제3의 6비트 오른쪽 시프트, 제2의 2비트 오른쪽 시프트, 및 하나의 덧셈 연산인, 방법.
  16. 제14항에 있어서,
    상기 표의 하나의 행의 값들로부터 선택된 상기 제1 시프트 비트 수, 상기 제2 시프트 비트 수, 및 상기 제3 시프트 비트 수의 값들은, 상기 적어도 하나의 제1 계수 중 대응하는 제1 계수들이 스케일링될 때 적응적으로 조정되는, 방법.
  17. 제16항에 있어서,
    상기 코너 주파수가 48 ksps(kilo-samples per second)에서 실질적으로 1439.24Hz(Hertz)이고 또한 상기 품질 인자가 실질적으로 0.707일 때, 상기 적어도 하나의 제1 비트 단위 시프트 연산은 제1의 5비트 오른쪽 시프트, 4비트 오른쪽 시프트, 제2의 5비트 오른쪽 시프트를 포함하고, 상기 적어도 하나의 제2 곱셈 연산 중 첫 번째 곱셈 연산은 대응하는 2비트 오른쪽 시프트, 1비트 왼쪽 시프트, 및 하나의 덧셈 연산이며, 상기 적어도 하나의 제2 곱셈 연산 중 두 번째 곱셈 연산은 대응하는 3비트 오른쪽 시프트와 하나의 덧셈 연산인, 방법.
  18. 제10항에 있어서,
    상기 복수의 제2 비트 단위 시프트 연산의 복수의 시프트 비트 수와 상기 적어도 하나의 덧셈 연산의 적어도 하나의 덧셈 횟수의 적어도 하나의 집합이 코너 주파수와 품질 인자의 특정 집합에 대응하는, 방법.
  19. 필터로서,
    적어도 하나의 제1 비트 단위 시프트 연산(bit-wise shift operation)으로, 적어도 하나의 제1 계수에 대응하는 적어도 하나의 제1 곱셈 연산을 근사화하기 위한 적어도 하나의 제1 곱셈 근사화 유닛(multiplication approximation unit)
    을 포함하는 필터.

KR1020210121589A 2020-09-17 2021-09-13 곱셈 연산 근사화 능력이 있는 필터 및 방법 KR20220037361A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063079680P 2020-09-17 2020-09-17
US63/079,680 2020-09-17
US17/399,071 2021-08-11
US17/399,071 US11387822B2 (en) 2020-09-17 2021-08-11 Filter and method with multiplication operation approximation capability

Publications (1)

Publication Number Publication Date
KR20220037361A true KR20220037361A (ko) 2022-03-24

Family

ID=80627212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210121589A KR20220037361A (ko) 2020-09-17 2021-09-13 곱셈 연산 근사화 능력이 있는 필터 및 방법

Country Status (3)

Country Link
US (1) US11387822B2 (ko)
KR (1) KR20220037361A (ko)
CN (1) CN114204917A (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10250555A1 (de) * 2002-10-30 2004-05-19 Philips Intellectual Property & Standards Gmbh Verfahren zur Ermittlung von Filterköffizienten eines digitalen Filters und digitales Filter
US7289558B2 (en) * 2003-07-08 2007-10-30 Utah State University Infinite impulse response multiplierless digital filter architecture
US20060218213A1 (en) * 2005-03-24 2006-09-28 Shereef Shehata Optimization technique for FIR and IIR filter design
JP2021145222A (ja) * 2020-03-11 2021-09-24 株式会社オーディオテクニカ デジタルフィルタ、音声信号処理システム、デジタルフィルタの設計方法、およびプログラム

Also Published As

Publication number Publication date
CN114204917A (zh) 2022-03-18
US20220085799A1 (en) 2022-03-17
US11387822B2 (en) 2022-07-12

Similar Documents

Publication Publication Date Title
JP3337722B2 (ja) デジタル・インターポレータ
US6112218A (en) Digital filter with efficient quantization circuitry
US6295011B1 (en) Method of coding a number for storing in a memory
US5751615A (en) Implementation of a digital decimation filter and method
US6392576B1 (en) Multiplierless interpolator for a delta-sigma digital to analog converter
CA1245302A (en) Sampled data fir filters with enhanced tap weight resolution
EP0693236B1 (en) Method and arrangement in a transposed digital fir filter for multiplying a binary input signal with tap coefficients and a method for designing a transposed digital filter
KR100461714B1 (ko) 디지탈신호처리방법및장치
JPH082014B2 (ja) 多段デジタル・フィルタ
US5400271A (en) Apparatus for and method of calculating sum of products
US5798954A (en) Digital filter device having a bit shifter unit
KR20220037361A (ko) 곱셈 연산 근사화 능력이 있는 필터 및 방법
KR100712864B1 (ko) 디지털 필터 계수의 동적 범위를 변화시키는 시스템
WO2005002051A1 (ja) デジタルフィルタ
US5053984A (en) Memory for programmable digital filter
US11652471B2 (en) Low power biquad systems and methods
JPH0224410B2 (ko)
Ghanekar et al. A class of high-precision multiplier-free FIR filter realizations with periodically time-varying coefficients
US6757702B1 (en) Adaptive filter
KR0140805B1 (ko) 에프아이알 필터의 비트 직렬 연산장치
Dohare et al. Quantized Coefficient FIR Filter for the Design of Filter Bank
Aikawa et al. Kernel with block structure for sampling rate converter
JPH06196969A (ja) 有限インパルス応答フィルタ
JPS62172809A (ja) デジタルフイルタ
GB2104332A (en) Digital finite impulse response filter

Legal Events

Date Code Title Description
E902 Notification of reason for refusal