KR20080029825A - Digital filter - Google Patents
Digital filter Download PDFInfo
- Publication number
- KR20080029825A KR20080029825A KR1020070096785A KR20070096785A KR20080029825A KR 20080029825 A KR20080029825 A KR 20080029825A KR 1020070096785 A KR1020070096785 A KR 1020070096785A KR 20070096785 A KR20070096785 A KR 20070096785A KR 20080029825 A KR20080029825 A KR 20080029825A
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- precision
- calculation
- processes
- arithmetic
- 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
- H03H17/0223—Computation saving measures; Accelerating measures
- H03H17/0227—Measures concerning the coefficients
-
- 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
- H03H17/0233—Measures concerning the signal representation
-
- 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
- H03H17/0238—Measures concerning the arithmetic used
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H21/00—Adaptive networks
- H03H21/0012—Digital adaptive filters
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Filters That Use Time-Delay Elements (AREA)
Abstract
Description
본 발명은, 오디오 기기 등에 바람직한 디지털 필터에 관한 것이다. The present invention relates to a digital filter suitable for audio equipment and the like.
디지털 필터는, 집적 회로화가 가능하며, 소형화, 저가격화, 고신뢰화를 실현할 수 있음과 함께, 필터 특성을 소프트웨어 처리에 의해 용이하게 조정할 수 있는 등, 아날로그 필터와 비교하여 많은 이점을 갖고 있다. 이 디지털 필터는, 예를 들면 원하는 필터 처리를 실행하도록 프로그램된 DSP(Digital Signal Processor; 디지털 신호 처리 장치)에 의해 실현된다. 그리고, 최근에는, 필터 처리에 이용하는 필터 계수를 유저가 자유롭게 재기입할 수 있는 구성의 디지털 필터가 제공되고 있다.Digital filters have many advantages over analog filters, such as integrated circuits, compactness, low cost, and high reliability, and the filter characteristics can be easily adjusted by software processing. This digital filter is realized by, for example, a digital signal processor (DSP) programmed to perform desired filter processing. In recent years, digital filters having a configuration in which a user can freely rewrite filter coefficients used for filter processing have been provided.
도 10은, 이 종류의 디지털 필터의 기능 구성을 도시하는 블록도이다. 이 디지털 필터는, 이 3 밴드 이퀄라이저로서 기능하도록 프로그램된 DSP에 의해 구성되어 있다. 여기에서, 3 밴드 이퀄라이저는, 각각 IIR(Infinite Impulse Response) 필터에 의해 구성된 이퀄라이저 EQ0, EQ1 및 EQ2를 바이쿼드(biquad) 종속 접속하여 이루어지는 것이며, 입력 오디오 샘플 x(n)에 원하는 주파수 특성을 부여하여 출력 오디오 샘플 y(n)으로서 출력한다. 또한, 이러한 이퀄라이저용의 IIR 필터에 관해서는 예를 들면 특허 문헌 1에 개시되어 있다. 그리고, 도 10에 도시하는 디지털 필터는, 3 밴드 이퀄라이저로서의 기능을 운영하기 위해서, 각 샘플링 주기에서, 도시의 지연 처리(901∼912)와, 승산 처리(921∼936)와, 가산 처리(941∼943)를 실행한다.Fig. 10 is a block diagram showing the functional configuration of this kind of digital filter. This digital filter is constituted by a DSP programmed to function as this three-band equalizer. Here, the three-band equalizer is obtained by biquad-dependent connection of equalizers EQ0, EQ1 and EQ2 configured by an Infinite Impulse Response (IIR) filter, respectively, to give a desired frequency characteristic to the input audio sample x (n). And output as output audio sample y (n). In addition, Patent Document 1 discloses an IIR filter for such an equalizer. The digital filter shown in FIG. 10 uses delay processing (901 to 912), multiplication processing (921 to 936), and addition processing (941) in each sampling period in order to operate a function as a three-band equalizer. To 943).
각 샘플링 주기에서, 승산 처리(921∼935)에서는, 지연 처리(901∼911)의 출력 신호값 dEQ00 등에 대하여, 도시의 필터 계수 cEQ00 등을 각각 승산한다. 또한, 각 샘플링 주기에서, 가산 처리(941)에서는, 승산 처리(921∼925)의 각 출력값을 가산하고, 가산 처리(942)에서는, 승산 처리(926∼930)의 각 출력값을 가산하고, 가산 처리(943)에서는, 승산 처리(931∼935)의 각 출력값을 가산한다. 이에 의해 가산 처리(941∼943)의 출력값으로서, 하기 수학식 1∼3에 나타내는 신호값 dEQ10, dEQ20 및 dEQ30이 산출되고, 다음의 샘플링 주기에의 절환 시에는, 이 산출 결과에 맞추어서 신호값의 갱신이 행해진다.In each sampling period, in the
도 11은, 도 10에 도시하는 이퀄라이저 EQx(x=0∼2) 중의 1개의 필터 특성을 모식적으로 도시한 것이다. 도 11에 도시한 바와 같이, 1개의 이퀄라이저 EQx의 필터 특성은, 통과시키는 신호의 게인이 최대로 되는 피크 주파수 f0, 동일 피크 주파수 f0에서의 게인 G, 주파수 선택의 예리함을 나타내는 큐 Q에 의해 특정된다. 그리고, 제x 밴드(x=0∼2)의 이퀄라이저 EQx의 목표로 하는 피크 주파수 f0, 게인 G 및 큐 Q가 부여된 경우, 동일 이퀄라이저 EQx에 이용하는 필터 계수 cEQx0, cEQx1, cEQx2, cEQx3, cEQx4는, 다음 식에 의해 연산된다.FIG. 11 schematically shows one filter characteristic of the equalizer EQx (x = 0 to 2) shown in FIG. 10. As shown in Fig. 11, the filter characteristics of one equalizer EQx are specified by the peak frequency f0 at which the gain of the signal to pass is maximum, the gain G at the same peak frequency f0, and the cue Q indicating the sharpness of frequency selection. do. When the target peak frequencies f0, gain G, and cue Q of the equalizer EQx of the xth band (x = 0 to 2) are given, the filter coefficients cEQx0, cEQx1, cEQx2, cEQx3, and cEQx4 used for the same equalizer EQx are , Is calculated by the following equation.
단, A, ω, α, β는, 다음과 같다. 또한, 하기에서 Fs는 샘플링 주파수이다.However, A, ω, α, and β are as follows. Also, in the following, Fs is a sampling frequency.
유저는, 이퀄라이저 EQx(x=0∼2) 각각에 관해서, 예를 들면 퍼스널 컴퓨터 등을 이용하여, 원하는 피트 주파수 f0, 게인 G 및 큐 Q에 기초하여 필터 계수 cEQx0, cEQx1, cEQx2, cEQx3 및 cEQx4를 산출하고, 디지털 필터의 계수 기억부에 기입할 수 있다. 이 계수 기입이 행해지면, 이 후, 디지털 필터는, 계수 기억부에 기입된 필터 계수를 이용하여 상기 수학식 1∼3의 연산을 행하는 3 밴드 이퀄라이저로서 기능한다.For each of the equalizers EQx (x = 0 to 2), the user uses, for example, a personal computer or the like to filter coefficients cEQx0, cEQx1, cEQx2, cEQx3 and cEQx4 based on the desired pit frequency f0, gain G and cue Q. Can be calculated and written to the coefficient storage unit of the digital filter. When this coefficient writing is performed, the digital filter then functions as a three-band equalizer which performs the calculations of the above expressions 1 to 3 using the filter coefficients written in the coefficient storage unit.
그런데, 상기 수학식 1∼3에 포함되는 승산 처리, 즉, 도 10에서의 승산 처리(921∼936)는, DSP 내의 승산기를 시분할 제어 하에서 이용함으로써 실행된다. 또한, 상기 수학식 1∼3에 포함되는 가산 처리, 즉, 도 10에서의 가산 처리(941∼943)는, DSP 내의 가산기를 시분할 제어 하에서 이용함으로써 실행된다. 여기에서, DSP 내의 승산기나 가산기는, 유한의 비트폭의 데이터를 취급하는 것이기 때문에, 어떻게 하여도 연산 시에 오차가 발생한다. 이 연산 오차가 크면, 3 밴드 이 퀄라이저의 특성으로서, 요구 사양(예를 들면 피크 주파수 f0, 게인 G 및 큐 Q)을 충족시키는 것이 얻어지지 않을 가능성이 있다. 또한, 특히 도 10에 도시하는 3 밴드 이퀄라이저와 같은 IIR 필터에 의해 구성된 디지털 필터는, FIR(Finite Impulse Response; 유한 임펄스 응답) 필터에 비하여 연산량이 적다고 하는 이점을 갖는 한편, 연산 오차가 크면, 리미트 사이클(limit cycle)이라고 불리는 발진 현상을 야기하는 경우가 있다.Incidentally, the multiplication processing included in the above formulas (1) to (3), that is, the multiplication processing (921 to 936) in FIG. 10 is executed by using the multipliers in the DSP under time division control. The addition processings included in the above expressions (1) to (3), that is, the
그런데, 원하는 사양의 불충족, 리미트 사이클(limit cycle)의 발생 등의 문제점이 발생할지의 여부의 갈림길로 되는 연산 정밀도는, 일정하지는 않고, 어떠한 필터 처리를 실행할지에 의존한다. 예를 들면 도 10에 도시되는 바와 같은 IIR 필터의 경우, 통과 대역의 중심으로 되는 피크 주파수 f0이 높은 경우에는 연산 정밀도를 그다지 높게 하지 않아도 문제점은 발생하지 않지만, 피크 주파수 f0이 낮은 경우에는 연산 정밀도를 높게 하지 않으면 문제점이 발생하는 경향이 있다. 따라서, 다양한 조건(예를 들면 피크 주파수 f0)에서 DSP에 필터 처리를 실행시키는 경우에는, 그들 각 조건에서 실행되는 필터 처리 중, 문제점을 발생시키지 않기 위해 필요로 되는 연산 정밀도가 가장 높은 것, 즉, 워스트 케이스(worst case)에서의 연산 정밀도를 구하고, 그 연산 정밀도가 확보되도록 할 필요가 있다. By the way, the arithmetic precision which becomes the divergence of whether the problem, such as the lack of a desired specification and the generation of a limit cycle, will arise is not constant but depends on what filter process is performed. For example, in the case of the IIR filter as shown in FIG. 10, if the peak frequency f0 serving as the center of the pass band is high, a problem does not occur even if the computation accuracy is not so high, but if the peak frequency f0 is low, the computation precision is low. If you do not raise the problem tends to occur. Therefore, when the DSP performs the filter process under various conditions (for example, the peak frequency f0), among the filter processes executed under each of these conditions, the one with the highest computational precision required in order not to cause a problem, that is, Therefore, it is necessary to obtain the calculation precision in the worst case and to ensure the calculation accuracy.
이러한 워스트 케이스(worst case)를 고려한 디지털 필터의 설계 방법으로서, 종래, 2개의 방법이 있었다. 제1 방법은, DSP의 연산기의 하드웨어 본래의 연산 정밀도, 보다 구체적으로는 승산기나 가산기의 비트폭을 워스트 케이스(worst case)에서 필요로 되는 것에 맞추는 설계 방법이다.As a method of designing a digital filter in consideration of such a worst case, there have been two methods. The first method is a design method in which the hardware intrinsic arithmetic precision of a DSP arithmetic unit, more specifically, the bit width of a multiplier or an adder is matched to what is needed in a worst case.
제2 방법은, 제1 방법과 같이 DSP의 하드웨어의 구성을 워스트 케이스(worst case)에 맞추어서 최적화하는 것은 아니고, 워스트 케이스(worst case)에서는 배(倍)정밀도 연산을 연산기에 실행시키고, 워스트 케이스(worst case)에서 필요한 연산 정밀도를 확보하는 방법이다. 예를 들면 앞서 게재한 도 10의 3 밴드 이퀄라이저에서, 워스트 케이스(worst case)를 상정하면, DSP의 승산기나 가산기의 본래의 연산 정밀도에서는, 필요한 연산 정밀도에 충족되지 않는 경우, 이 제2 방법에서는, DSP에 하기 수학식 13∼15에 나타내는 배정밀도 연산을 실행시켜서, 필요한 연산 정밀도를 얻는다.The second method, like the first method, does not optimize the hardware configuration of the DSP in accordance with the worst case. In the worst case, the double precision operation is executed by the calculator, and the worst case is performed. This is how to get the computational precision needed in the (worst case). For example, in the three-band equalizer shown in Fig. 10, assuming a worst case, in the second calculation method, if the original arithmetic precision of the multiplier or adder of the DSP does not meet the required arithmetic precision, The DSP performs the double precision operation shown in the following equations (13) to (15) to obtain the required calculation precision.
상기 수학식 13∼15에서, dEQxyL(x=0∼2, y=0∼4)은, 신호값 dEQxy(x=0∼2, y=0∼4)의 하위 비트, dEQxyU(x=0∼2, y=0∼4)는, 신호값 dEQxy(x=0∼2, y=0∼4)의 상위 비트이다.In Equations 13 to 15, dEQxyL (x = 0 to 2, y = 0 to 4) is a lower bit of the signal value dEQxy (x = 0 to 2, y = 0 to 4), and dEQxyU (x = 0 to 2, y = 0 to 4 are the higher bits of the signal value dEQxy (x = 0 to 2, y = 0 to 4).
[특허 문헌 1] 일본 특개 2003-110405호 공보 [Patent Document 1] Japanese Patent Application Laid-Open No. 2003-110405
그런데, 전술한 제1 방법은, 워스트 케이스(worst case)에 맞추어서 승산기 등의 연산 정밀도를 결정하기 때문에, 연산을 위한 하드웨어가 대규모인 것으로 된다고 하는 문제가 있다. 또한, 연산을 위한 하드웨어가 대규모화하는 것에 수반하여, 소비 전력이 커진다고 하는 문제가 있다. 또한, 전술한 제2 방법은, 연산을 위한 하드웨어의 규모를 바꾸는 것은 아니므로, 제1 방법에 비하여 하드웨어의 규모를 작게 할 수 있지만, 워스트 케이스(worst case)에 맞춘 연산 정밀도를 얻기 위하여 연산 횟수를 늘려서 배정밀도 연산을 행하므로, 소비 전력이 커진다고 하는 문제가 있다. 또한, 제1 및 제2 방법 중 어느 것에서도, 디지털 필터의 연산 정밀도는, 워스트 케이스(worst case)에서의 사용에 견딜 수 있는 연산 정밀도로 고정된다. 그러나, 유저가 필터 계수를 자유롭게 재기입하는 것이 가능한 디지털 필터의 경우, 디지털 필터는 워스트 케이스(worst case)가 아닌 조건(예를 들면 피크 주파수 f0을 높게 하여 동작시키는 등)에서도 사용되는 경우가 있다. 그러한 경우라도, 상기 제1 방법 또는 제2 방법에 의해 설계된 디지털 필터는, 워스트 케이스(worst case)를 고려하여 결정된 연산 정밀도, 즉, 원래 필요한 연산 정밀도보다도 높은 연산 정밀도로 연산을 행하기 때문에, 과잉의 연산 정밀도에서의 연산에 의해 쓸데없이 전력을 소비한다는 문제가 있다.By the way, since the above-mentioned first method determines the calculation precision of a multiplier or the like in accordance with the worst case, there is a problem that hardware for calculation becomes large. In addition, there is a problem that power consumption increases with the increase in hardware for computation. In addition, since the above-described second method does not change the scale of hardware for calculation, the scale of hardware can be made smaller than that of the first method, but the number of calculations is required to obtain arithmetic precision in accordance with the worst case. Since the double precision operation is performed by increasing, the power consumption increases. In addition, in either of the first and second methods, the computational accuracy of the digital filter is fixed to the computational accuracy that can withstand use in a worst case. However, in the case of a digital filter in which the user can freely rewrite the filter coefficients, the digital filter may be used even in a condition that is not a worst case (for example, by operating at a high peak frequency f0). . Even in such a case, since the digital filter designed by the first method or the second method performs the calculation with a calculation precision determined in consideration of a worst case, that is, a calculation precision higher than the originally required calculation precision, There is a problem that power is consumed unnecessarily by operation at the operation precision of.
본 발명은, 이상과 같은 사정을 감안하여 이루어진 것으로, 필터 처리의 실행 조건에 적합한 연산 정밀도로 연산을 행할 수 있어, 쓸데없는 전력 소비가 저감된 디지털 필터를 제공하는 것을 목적으로 하고 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and an object thereof is to provide a digital filter which can perform calculation with an arithmetic precision suitable for an execution condition of a filter process, and reduces unnecessary power consumption.
본 발명은, 필터 처리의 처리 대상 신호에 승산하는 필터 계수 또는 상기 필터 처리의 처리 과정에서 발생하는 신호에 승산하는 필터 계수를 기억하는 계수 기억 수단과, 상기 계수 기억 수단에 기억된 상기 필터 계수의 재기입을 행하는 계수 재기입 제어 수단과, 상기 계수 기억 수단에 기억된 상기 필터 계수를 이용한 필터 처리를 처리 대상 신호에 실시하기 위한 연산을 행하는 연산 수단과, 상기 연산 수단에 의한 연산의 제어를 행하는 수단으로서, 상기 필터 처리의 실행 조건을 나타내는 파라미터에 기초하여, 상기 연산 수단의 사용 양태를 바꿈으로써 상기 연산 수단에 의한 연산의 연산 정밀도의 절환 제어를 행하는 필터 처리 제어 수단을 구비하는 것을 특징으로 하는 디지털 필터를 제공한다.The present invention provides coefficient storage means for storing a filter coefficient multiplied by a signal to be processed in a filter process or a filter coefficient multiplied in a signal generated in a process of the filter process, and the filter coefficient stored in the coefficient storage means. Coefficient rewriting control means for rewriting, calculation means for performing calculation for performing a filter process using the filter coefficients stored in said coefficient storage means to a signal to be processed, and means for controlling the calculation by said calculation means. And a filter processing control means for switching control of arithmetic precision of the calculation by said arithmetic means by changing the use mode of said arithmetic means on the basis of a parameter indicating an execution condition of said filter processing. Provide a filter.
이러한 발명에 따르면, 필터 처리의 실행 조건에 기초하여, 연산 수단에 의한 연산의 연산 정밀도의 절환이 행해지므로, 다양한 실행 조건에서 필터 처리를 행하는 경우에, 실행 조건에 맞는 적절한 연산 정밀도로 필터 처리를 위한 연산이 행해져, 쓸데없는 전력 소비가 회피된다.According to this invention, since the calculation precision of the calculation by the calculation means is switched on the basis of the execution condition of the filter processing, when the filter processing is performed under various execution conditions, the filter processing is performed at an appropriate calculation accuracy suitable for the execution condition. Operation is performed to avoid unnecessary power consumption.
이하, 도면을 참조하여, 본 발명의 실시 형태를 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, embodiment of this invention is described with reference to drawings.
<제1 실시 형태><First Embodiment>
도 1은 본 발명의 제1 실시 형태인 디지털 필터의 구성을 도시하는 블록도이다. 이 디지털 필터는, 앞서 게재한 도 10의 3 밴드 이퀄라이저로서의 필터 처리를 입력 오디오 샘플 x(n)에 실시하고, 그 결과 얻어지는 오디오 샘플 y(n)을 출력하도록 프로그램된 DSP이며, 데이터 패스부(100)와, 계수 기억부(200)와, 인터페이스(300)와, 제어부(400)를 갖고 있다.1 is a block diagram showing the configuration of a digital filter as a first embodiment of the present invention. This digital filter is a DSP programmed to perform the filter processing as the three-band equalizer of FIG. 10 previously described to the input audio sample x (n), and output the resulting audio sample y (n). 100, a
계수 기억부(200)는, 앞서 게재한 도 10의 3 밴드 이퀄라이저로서의 필터 처리에 이용하는 필터 계수 cEQxy(x=0∼2, y=0∼4)를 기억하는 수단으로서, 예를 들면 EEPROM 등의 재기입 가능한 불휘발성 메모리에 의해 구성되어 있다.The
데이터 패스부(100)는, 앞서 게재한 도 10의 3 밴드 이퀄라이저로서의 필터 처리를 위한 연산을 행하는 장치로서, 승산기(111), 가산기(112) 및 레지스터(113)로 이루어지는 연산기(110)와, 워크 RAM(120)과, 승산기(111)에 공급할 입력 정보의 선택을 행하는 셀렉터(131 및 132)를 갖고 있다.The
여기서, 워크 RAM(120)은, 앞서 게재한 도 10의 지연 처리(901∼912) 등에 이용되는 기억 장치로서, 앞서 게재한 도 10의 3 밴드 이퀄라이저의 각 노드의 신호값 dEQxy를 나타내는 2N비트(N은 복수)의 데이터를 기억한다. 승산기(111)는, 앞서 게재한 도 10의 승산 처리(921∼936) 등을 행하는 장치이며, 2개의 N비트의 입력 데이터의 승산을 행하여 2N비트의 데이터를 출력한다. 셀렉터(131)는, 계수 기억부(200) 내의 필터 계수 cEQxy(x=0∼2, y=0∼4) 중 제어부(400)로부터 지시된 것을 선택하여 승산기(111)에 공급한다. 셀렉터(132)는, 제어부(400)로부터의 지시에 따라서, 워크 RAM(120)으로부터 읽어내어지는 신호값 dEQxy 또는 입력 오디오 샘플 x(n)을 선택하여 승산기(111)에 공급한다. 여기에서, 셀렉터(132)는, 워크 RAM(120)으로부터 읽어내어지는 신호값 dEQxy를 승산기(111)에 공급할 때에는, 제어부(400)로부터의 지시에 따라, 2N비트의 신호값 dEQxy 중 상위 N비트 또는 하위 N비트를 선택하여 승산기(111)에 공급한다. 승산기(111)로부터 출력되는 2N비트의 데이터는, 가산기(112)에 공급되는 과정에서 부호 확장되고, 부호 비트 후에 정수부 M비트가 추가된 2N+M비트의 데이터로 된다. 가산기(112) 및 레지스터(113)는, 이 2N+M비트의 데이터의 누산을 행하여, 하기 수학식 1∼3 또는 하기 수학식 13∼15의 신호값 dEQ10, dEQ20 및 dEQ30을 산출하는 누산기로서 기능한다. 이상의 데이터 패스부(100) 내의 각 부의 처리는, 제어부(400)로부터 공급되는 소정 주파수의 클럭 φ에 동기하여 행해진다.Here, the
[수학식 1][Equation 1]
[수학식 2][Equation 2]
[수학식 3][Equation 3]
[수학식 13][Equation 13]
[수학식 14][Equation 14]
[수학식 15][Equation 15]
인터페이스(300)는, 디지털 필터의 외부의 장치와의 사이에서 신호의 수수를 행하는 장치이다. 디지털 필터는, 이 인터페이스(300)에 의해, 외부로부터 입력 오디오 샘플 x(n)을 취득하고, 3 밴드 이퀄라이저로서의 필터 처리에 의해 얻어지는 출력 오디오 샘플 y(n)을 외부에 출력한다. 또한, 계수 기억부(200) 내의 필터 계수의 재기입 시, 인터페이스(300)는, 퍼스널 컴퓨터 등의 외부 장치에 접속되고, 재기입용의 필터 계수나 필터 계수의 재기입 커맨드를 외부 장치로부터 수취하는 역할을 한다.The
제어부(400)는, 이 디지털 필터 전체의 제어를 행하는 수단이다. 바람직한 양태에서, 제어부(400)는, CPU와, 이 CPU에 의해 실행되는 프로그램을 기억하는 ROM과, 작업용의 RAM에 의해 구성되어 있다. 제어부(400)는, 계수 재기입 제어 부(401)와 필터 처리 제어부(402)를 갖고 있다. 이들의 실체는 제어부(400)의 CPU가 실행하는 프로그램이다.The
계수 재기입 제어부(401)는, 퍼스널 컴퓨터 등의 외부 장치가 인터페이스(300)에 접속된 상태에서, 필터 계수와 필터 계수의 재기입 커맨드를 외부 장치로부터 인터페이스(300)를 통하여 수취했을 때, 수취한 필터 계수에 의해 계수 기억부(200) 내의 필터 계수의 재기입을 행하는 수단이다.The coefficient
필터 처리 제어부(402)는, 데이터 패스부(100)에 의해 행해지는 3 밴드 이퀄라이저로서의 필터 처리의 제어를 행하는 수단이다. 본 실시 형태의 특징은, 이 필터 처리 제어부(402)에 의해 행해지는 필터 처리의 제어의 양태에 있다. 종래의 기술 하에서는, 필터 처리의 여러 실행 조건 중의 워스트 케이스(worst case)의 실행 조건에 맞추어서 디지털 필터의 연산 처리의 연산 정밀도가 결정되고, 디지털 필터는, 어떠한 실행 조건에서 필터 처리를 실행하는 경우에서도, 이 결정된 연산 정밀도로 필터 처리를 위한 연산을 행하였다. 이에 대하여, 본 실시 형태에서의 필터 처리 제어부(402)는, 3 밴드 이퀄라이저를 구성하는 이퀄라이저 EQx(x=0∼2) 각각에 대해서, 이퀄라이저 EQx의 실행 조건이 워스트 케이스(worst case)인지 비워스트 케이스(non-worst case)인지를 판정하고, 이 판정 결과에 따라서, 해당 이퀄라이저 EQx로서의 필터 처리의 연산 정밀도를 결정하고, 그러한 연산 정밀도로 필터 처리가 행해지도록 데이터 패스부(100)의 제어를 행한다. 즉, 실행 조건이 비워스트 케이스(non-worst case)인 경우에는, 데이터 패스부(100)의 연산기(110)에 단(單)정밀도 연산을 행하게 하고, 실행 조건이 워스트 케이스(worst case)인 경우에는, 데이터 패스부(100)의 연산기(110)에 배정밀도 연산을 행하게 하는 것이다. 더욱 상세히 설명하면, 다음과 같다. The filter
우선, 앞서 게재한 도 10의 3 밴드 이퀄라이저를 구성하는 각 이퀄라이저 EQx(x=0∼2)는, 피크 주파수 f0이 낮을수록, 문제점(요구 사양 불충족, 리미트 사이클(limit cycle)의 발생 등)을 발생시키지 않고 필터 처리를 행하는데에 필요한 연산 정밀도가 높게 된다. 즉, 개개의 이퀄라이저 EQx에 관해서, 실행 조건이 비워스트 케이스(non-worst case)인지 워스트 케이스(worst case)인지는 피크 주파수 f0에 의해 정해져서, 피크 주파수 f0이 임의의 임계값 이상이면 단정밀도 연산에서도 문제점은 생기지 않지만(비워스트 케이스(non-worst case)), 피크 주파수 f0이 동일 임계값을 하회하는 경우에는 배정밀도 연산을 행하지 않으면 문제점이 발생하기 쉬워진다(워스트 케이스(worst case)). 그리고, 본 실시 형태에서, 단정밀도 연산에 의한 필터 처리를 행하여도 문제점이 생기지 않는 피크 주파수 f0의 범위인 단정밀도 연산 존과, 배정밀도 연산을 행하지 않으면 문제점이 생기는 피크 주파수 f0의 범위인 배정밀도 연산 존의 경계는, 500㎐ 부근에 있다.First, each equalizer EQx (x = 0 to 2) constituting the three-band equalizer shown in FIG. 10 described above has a problem that the lower the peak frequency f0 is, the lesser the problem is caused by the lack of a specification (limit cycle) or the like. The arithmetic precision required for performing the filter process without generating the error is high. That is, with respect to the individual equalizer EQx, whether the execution condition is a non-worst case or a worst case is determined by the peak frequency f0, and if the peak frequency f0 is equal to or greater than an arbitrary threshold value, the single precision operation No problem occurs (non-worst case), but if the peak frequency f0 is less than the same threshold value, problems are likely to occur unless double precision calculation is performed (worst case). In this embodiment, the single-precision arithmetic zone which is a range of the peak frequency f0 which does not cause a problem even if the filter processing by a single-precision arithmetic is performed, and the double precision which is a range of the peak frequency f0 which a problem arises when a double precision calculation is not performed. The boundary of the calculation zone is around 500 ms.
본 실시 형태에서는, 비워스트 케이스(non-worst case)/워스트 케이스(worst case)의 판정에 도움이 되는 피크 주파수 f0이 디지털 필터에 직접 부여되는 일은 없지만, 이 피크 주파수 f0을 이용하여 연산된 필터 계수 cEQxy(x=0∼2, y=0∼4)가 디지털 필터에 공급된다. 그리고, 이 필터 계수 cEQxy(x=0∼2, y=0∼4)의 중에는 피크 주파수 f0에 크게 의존하는 것이 있다. 도 2는, 3 밴드 이퀄라이저의 제x 밴드의 처리를 행하는 IIR 필터에서, 피크 중심 주파수 f0을 변화시켰을 때의 필터 계수 cEQxy(y=0∼4)의 변화의 양태를 나타내는 것이다. 또한, 이 도면에는, 필터 계수 cEQxy(y=0∼4)와 함께, 단정밀도 연산 존과 배정밀도 연산 존이 나타내어져 있다.In the present embodiment, the
도 2에 도시한 바와 같이, 필터 계수 cEQx1 및 cEQx3은 피크 주파수 f0에 크게 의존하여, 필터 계수 cEQx1은 피크 주파수 f0이 낮아질수록, -2.0에 가까워지고, 필터 계수 cEQx3은 피크 주파수 f0이 낮아질수록, 2.0에 가까워진다. 따라서, 적절한 임계값을 설정하여, 예를 들면 필터 계수 cEQ1이 동일 임계값을 하회하면 배정밀도 연산을 행하고, 임계값 이상이면 단정밀도 연산을 행하도록 하면, 배정밀도 연산 존과 단정밀도 연산 존에서 적절한 연산 정밀도를 선택할 수 있는 것을 알 수 있다. 따라서, 본 실시 형태에서는, 필터 처리 제어부(402)가 필터 계수 cEQx1을 임계값 -1.99와 비교하여, cEQx1< -1.99이면 배정밀도 연산, cEQx1≥-1.99이면 단정밀도 연산을 필터 처리를 위한 연산 정밀도로서 선택하도록 하고 있다. As shown in Fig. 2, the filter coefficients cEQx1 and cEQx3 are highly dependent on the peak frequency f0, so that the filter coefficient cEQx1 is closer to -2.0 as the peak frequency f0 is lower, and the filter coefficient cEQx3 is lower as the peak frequency f0, Getting close to 2.0 Therefore, if an appropriate threshold value is set and, for example, the filter coefficient cEQ1 is less than the same threshold value, the double precision operation is performed, and if the filter coefficient cEQ1 is greater than or equal to the threshold value, the single precision operation is performed in the double precision operation zone and the single precision operation zone. It can be seen that an appropriate calculation precision can be selected. Therefore, in the present embodiment, the filter
도 3은, 이 경우에 이용하는 임계값 -1.99의 타당성을 나타내는 것으로, 피트 주파수 f0이 1000㎐ 이하인 범위에서, 큐 Q와 게인 G의 각종의 조합에 대하여 필터 계수 cEQx1을 연산한 경우에, 필터 계수 cEQx1이 -1.99를 하회하는 횟수를 나타낸 것이다. 도 3에 도시한 바와 같이 피크 주파수 f0이 650㎐보다도 높은 영역에서는, 큐 Q와 게인 G를 어떤 조합으로 하여도, 필터 계수 cEQx1이 -1.99를 하회하는 일은 없다. 그리고, 필터 계수 cEQx1이 -1.99를 하회하기 시작하는 것은, 피크 f0이 650㎐ 이하로 되었을 때이다. 따라서, 전술한 바와 같이 필터 계수 cEQx1이 -1.99를 하회한 경우에 배정밀도 연산을 행하도록 하면, 피크 주파수 f0이 500 ㎐ 이하인 경우에 반드시 배정밀도 연산이 행해지는 것이 보증된다.Fig. 3 shows the validity of the threshold value -1.99 used in this case. When the filter coefficient cEQx1 is calculated for various combinations of the queue Q and the gain G in the range where the pit frequency f0 is 1000 Hz or less, the filter coefficient The number of times cEQx1 is less than -1.99. As shown in FIG. 3, in the region where the peak frequency f0 is higher than 650 Hz, the filter coefficient cEQx1 does not fall below -1.99 even if the cue Q and the gain G are combined in any combination. And the filter coefficient cEQx1 starts to fall below -1.99 when the peak f0 becomes 650 Hz or less. Therefore, as described above, if the double-precision calculation is performed when the filter coefficient cEQx1 is less than -1.99, it is guaranteed that the double-precision calculation is always performed when the peak frequency f0 is 500 Hz or less.
이상 설명한 기능 외, 필터 처리 제어부(402)는, 1샘플링 주기 내에서 실행할 모든 필터 처리가 종료한 경우에, 다음의 샘플링 주기가 시작될 때까지의 기간, 데이터 패스부(100)에 공급하는 클럭 φ을 정지시키고, 쓸데없는 전력 소비를 회피하는 기능을 갖고 있다.In addition to the functions described above, the filter
이상이 본 실시 형태에 따른 디지털 필터의 구성의 상세이다.The above is the detail of the structure of the digital filter which concerns on this embodiment.
다음으로 본 실시 형태의 동작을 설명한다. 도 4는, 본 실시 형태에서의 필터 처리 제어부(402)의 동작을 도시하는 상태 천이도이다. 본 실시 형태에서, 필터 처리 제어부(402)는, 각 샘플링 주기에서, 이퀄라이저 EQx(x=0∼2)로서의 필터 처리를 데이터 패스부(100)에 실행시키고, 1개의 오디오 샘플 y(n)을 출력시킨다.Next, operation | movement of this embodiment is demonstrated. 4 is a state transition diagram showing the operation of the filter
DSP 연산 아이들 스테이트(idle state) DSPIDLE은, 1샘플링 주기 내에서 실행할 모든 처리가 종료하고, 다음의 샘플링 주기가 시작될 때까지 대기하고 있는 스테이트이다. 필터 처리 제어부(402)는, DSP 연산 아이들 스테이트(idle state) DSPIDLE에서는, 데이터 패스부(100)에 대한 클럭 φ의 공급을 정지한다. 이 DSP 연산 아이들 스테이트(idle state) DSPIDLE에서, 샘플링 주기의 개시를 나타내는 FS 플래그가 어서트되면, 필터 처리 제어부(402)는, 계수 기억부(200) 내의 필터 계수 cEQ01을 참조하여, cEQ01≥-1.99인 경우에는 스테이트를 단정밀도 연산 스테이트 EQ0으로 천이시키고, cEQ01< -1.99인 경우에는 스테이트를 배정밀도 연산 스테이트 BIEQ0으로 천이시킨다. 그리고, 데이터 패스부(100)에 대한 클럭 φ의 공급을 개시한다.DSP Operation Idle State DSPIDLE is a state waiting for all processing to be executed within one sampling period to end and the next sampling period to begin. The filter
단정밀도 연산 스테이트 EQ0에서, 필터 처리 제어부(402)는, 앞서 게재한 수학식 1의 단정밀도 연산을 데이터 패스부(100)에 실행시키고, 그 결과 얻어지는 이퀄라이저 EQ0의 출력 신호값 dEQ10을 워크 RAM(120) 내의 제1 연산 결과 저장 에리어에 저장시킨다. 또한, 배정밀도 연산 스테이트 BIEQ0에서는, 앞서 게재한 수학식 13의 배정밀도 연산을 데이터 패스부(100)에 실행시키고, 그 결과 얻어지는 이퀄라이저 EQ0의 출력 신호값 dEQ10을 워크 RAM(120) 내의 제1 연산 결과 저장 에리어에 저장시킨다.In the single-precision arithmetic state EQ0, the filter
단정밀도 연산 스테이트 EQ0 또는 배정밀도 연산 스테이트 BIEQ0이 종료하면, 필터 처리 제어부(402)는, 계수 기억부(200) 내의 필터 계수 cEQ11을 참조하여, cEQ11≥-1.99인 경우에는 스테이트를 단정밀도 연산 스테이트 EQ1로 천이시킨다. 그리고, 앞서 게재한 수학식 2의 단정밀도 연산에 의해 이퀄라이저 EQ1의 출력 신호값 dEQ20을 데이터 패스부(100)에 산출시키고, 출력 신호값 dEQ20을 워크 RAM(120) 내의 제2 연산 결과 저장 에리어에 저장시킨다. 한편, cEQ11<-1.99인 경우에는 스테이트를 배정밀도 연산 스테이트 BIEQ1로 천이시킨다. 그리고, 앞서 게재한 수학식 14의 배정밀도 연산에 의해 이퀄라이저 EQ1의 출력 신호값 dEQ20을 산출시키고, 출력 신호값 dEQ20을 워크 RAM(120) 내의 제2 연산 결과 저장 에리어에 저장시킨다.When the single-precision arithmetic state EQ0 or the double-precision arithmetic state BIEQ0 ends, the filter
단정밀도 연산 스테이트 EQ1 또는 배정밀도 연산 스테이트 BIEQ1이 종료하면, 필터 처리 제어부(402)는, 계수 기억부(200) 내의 필터 계수 cEQ21을 참조하여, cEQ21≥-1.99인 경우에는 스테이트를 단정밀도 연산 스테이트 EQ2로 천이시킨 다. 그리고, 앞서 게재한 수학식 3의 단정밀도 연산에 의해 이퀄라이저 EQ2의 출력 신호값 dEQ30을 데이터 패스부(100)에 산출시키고, 출력 신호값 dEQ30을 워크 RAM(120) 내의 제3 연산 결과 저장 에리어에 저장시킨다. 한편, cEQ21<-1.99인 경우에는 스테이트를 배정밀도 연산 스테이트 BIEQ2로 천이시킨다. 그리고, 앞서 게재한 수학식 15의 배정밀도 연산에 의해 이퀄라이저 EQ2의 신호값 dEQ30을 산출시키고, 출력 신호값 dEQ30을 워크 RAM(120) 내의 제3 연산 결과 저장 에리어에 저장시킨다.When the single-precision arithmetic state EQ1 or the double-precision arithmetic state BIEQ1 is completed, the filter
단정밀도 연산 스테이트 EQ2 또는 배정밀도 연산 스테이트 BIEQ2가 종료하면, 필터 처리 제어부(402)는, 스테이트를 페이드 아웃/페이드 인 연산 스테이트 FADE로 천이시킨다. 그리고, 앞서 게재한 도 10의 승산 처리(936)를 데이터 패스부(100)에 실행시키고, 오디오 샘플 y(n)을 디지털 필터의 외부에 출력시킨다. 또한, 앞서 게재한 도 10의 지연 처리(901∼912)를 실행시키기 위해, 워크 RAM(120) 내에서 예를 들면 신호값 dEQ01을 신호값 dEQ02를 저장하기 위한 에리어로 이동하고, 신호값 dEQ00을 신호값 dEQ01을 저장하기 위한 에리어로 이동하고, ……, 와 같은 상태로 각 신호값 dEQxy의 저장 에리어의 변경을 행한다. 또한, 워크 RAM(120) 내에서 제1∼제3 연산 결과 저장 에리어에 저장된 신호값 dEQ10, dEQ20 및 dEQ30을 각각의 신호값을 위해 형성된 에리어에 저장한다. 그리고, 셀렉터(132)에 입력 오디오 샘플 x(n)을 선택시키고, 워크 RAM(120) 내의 신호값 dEQ00용의 에리어에 저장시킨다. 다음의 샘플링 주기에서는, 이와 같이 내용의 갱신이 행해진 각 저장 에리어의 신호값 dEQxy가 앞서 게재한 수학식 1∼3 또는 앞서 게재 한 수학식 13∼15의 연산에 이용된다. 이 페이드 아웃/페이드 인 연산 스테이트 FADE가 종료한 경우, 필터 처리 제어부(402)는, 스테이트를 DSP 연산 아이들 스테이트(idle state) DSPIDLE로 천이시킨다.When the single-precision arithmetic state EQ2 or the double-precision arithmetic state BIEQ2 ends, the filter
그런데, 본 실시 형태에서는, 디지털 필터가 필터 처리를 실행하고 있는 기간에서도, 인터페이스(300)를 통하여 계수 기억부(200) 내의 필터 계수의 갱신이 행해지고, 그에 의해 이퀄라이저 EQx(x=0∼2) 중 어느 한쪽의 필터 처리에 대하여 단정밀도 연산/배정밀도 연산의 절환이 발생하는 경우가 있다. 이 경우, 필터 처리 제어부(402)는, 페이드 아웃/페이드 인 연산 스테이트 FADE에서, 페이드 아웃 처리를 데이터 패스부(100)에 실행시킨다. 이 페이드 아웃 처리는, 소정수의 샘플링 주기를 이용하여, 승산 처리(936)에서 이퀄라이저 EQ2의 출력 신호값 dEQ30에 곱하는 승산 계수 FADE를 1로부터 서서히 감소시켜서 0에 가깝게 하는 처리이다.By the way, in this embodiment, even in the period in which the digital filter is performing the filter process, the filter coefficients in the
이 페이드 아웃 처리가 완료되어, 승산 계수 FADE가 0으로 되면, 그 직후의 샘플링 주기에서 스테이트가 DSP 연산 아이들 스테이트(idle state) DSPIDLE로 천이했을 때에, 필터 처리 제어부(402)는, 스테이트를 워크 RAM 초기화 스테이트 MEMCLR로 천이시킨다. 이 워크 RAM 초기화 스테이트 MEMCLR에서, 필터 처리 제어부(402)는, 데이터 패스부(100)의 워크 RAM(120)에 기억된 앞서 게재한 도 10의 3 밴드 이퀄라이저의 각 노드의 신호값 dEQxy를 초기화한다. 이 초기화가 종료하면, 그 직후의 샘플링 주기에서 스테이트가 페이드 아웃/페이드 인 연산 스테이트 FADE로 되었을 때, 필터 처리 제어부(402)는, 페이드 인 처리를 데이터 패스부(100)에 실행시킨다. 이 페이드 인 처리는, 소정수의 샘플링 주기를 이용하여, 승산 처 리(936)에서 이퀄라이저 EQ2의 출력 신호값 dEQ30에 곱하는 승산 계수 FADE를 0으로부터 서서히 증가시켜서 1에 가깝게 하는 처리이다.When this fade-out process is completed and the multiplication factor FADE becomes 0, the filter
이와 같이 단정밀도 연산/배정밀도 연산의 절환이 발생할 때에는, 페이드 아웃 처리를 행하고 나서 워크 RAM(120) 내의 신호값을 초기화하고, 페이드 인 처리를 거쳐, 3 밴드 이퀄라이저로서의 필터 처리를 재개하도록 하고 있기 때문에, 출력 오디오 샘플 y(n)에 연산 정밀도의 절환에 수반하는 노이즈가 발생하는 것을 방지할 수 있다. As described above, when switching between single-precision and double-precision operations occurs, the signal value in the
도 5 및 도 6은 본 실시 형태의 구체적 동작예를 나타내는 타임 차트이다. 도 5에 도시하는 예에서는, 이퀄라이저 EQx(x=0∼2)의 실행 조건이 모두 워스트 케이스(worst case)이며, 필터 계수 cEQx1(x=0∼2)이 모두 -1.99 미만이기 때문에, 1샘플링 주기 동안에, 배정밀도 연산 스테이트 BIEQ0, BIEQ1, BIEQ2, 페이드 아웃/페이드 인 연산 스테이트 FADE 및 DSP 연산 아이들 스테이트(idle state) DSPIDLE이 발생한다. 이에 대하여, 도 6에 도시하는 예에서는, 이퀄라이저 EQx(x=0∼2)의 실행 조건이 모두 비워스트 케이스(non-worst case)이며, 필터 계수 cEQx1(x=0∼2)이 모두 -1.99 이상이기 때문에, 1샘플링 주기 동안에, 단정밀도 연산 스테이트 EQ0, EQ1, EQ2, 페이드 아웃/페이드 인 연산 스테이트 FADE 및 DSP 연산 아이들 스테이트 DSPIDLE이 발생한다. 여기에서, 앞서 게재한 수학식 1∼3 및 앞서 게재한 수학식 13∼15에도 나타내고 있는 바와 같이, 단정밀도 연산 스테이트 EQx(x=0∼2)에서 행해지는 승산 처리의 횟수는, 배정밀도 연산 스테이트 BIEQx(x=0∼2)에서 행해지는 승산 처리의 횟수의 1/2이다. 따라서, 단정밀도 연산 스테이트 EQx(x=0∼ 2)의 계속 시간은, 배정밀도 연산 스테이트 BIEQx(x=0∼2)의 계속 시간의 약 1/2로 된다. 이 때문에, 도시한 바와 같이, 이퀄라이저 EQx(x=0∼2)의 실행 조건이 비워스트 케이스(non-worst case)인 경우(도 6)에는, 워스트 케이스(worst case)인 경우(도 5)에 비하여, 데이터 패스부(100)에 클럭 φ가 공급되는 기간이 짧아져, 소비 전력이 저감된다.5 and 6 are time charts showing specific operation examples of the present embodiment. In the example shown in FIG. 5, since the execution conditions of the equalizer EQx (x = 0 to 2) are all worst cases, and the filter coefficients cEQx1 (x = 0 to 2) are all less than -1.99, one sampling is performed. During the period, double precision arithmetic states BIEQ0, BIEQ1, BIEQ2, fade out / fade in arithmetic state FADE and DSP arithmetic idle state DSPIDLE occur. In contrast, in the example shown in FIG. 6, all of the execution conditions of the equalizer EQx (x = 0 to 2) are non-worst cases, and the filter coefficients cEQx1 (x = 0 to 2) are all -1.99. As a result, the single-precision arithmetic states EQ0, EQ1, EQ2, the fade out / fade in arithmetic state FADE, and the DSP arithmetic idle state DSPIDLE occur during one sampling period. Here, as shown in the above-described equations 1 to 3 and the above-described equations 13 to 15, the number of times of multiplication processing performed by the single-precision arithmetic state EQx (x = 0 to 2) is double precision calculation. It is 1/2 of the number of multiplication processes performed in state BIEQx (x = 0 to 2). Therefore, the duration of the single-precision arithmetic state EQx (x = 0 to 2) is about 1/2 of the duration of the double-precision arithmetic state BIEQx (x = 0 to 2). For this reason, as shown, when the execution condition of equalizer EQx (x = 0-2) is a non-worst case (FIG. 6), when it is a worst case (FIG. 5) In comparison, the period during which the clock phi is supplied to the
다음으로 도 7을 참조하여, 필터 처리 제어부(402)에 의한 제어 하에서 행해지는 필터 계수 cEQ와 신호값 dEQ의 승가산 처리의 양태에 대하여 설명한다. 도 7에서, cEQ는 도 10에 도시하는 3 밴드 이퀄라이저의 승산 처리(921∼936)에 이용되는 필터 계수 cEQxy(x=0∼2, y=0∼4), dEQ는 동일 승산 처리(921∼936)에 이용되는 신호값 dEQxy(x=0∼2, y=0∼4)를 나타내고 있다.Next, with reference to FIG. 7, the aspect of the multiplication process of the filter coefficient cEQ and signal value dEQ performed under control by the filter
필터 처리 제어부(402)는, 단정밀도 연산 스테이트 EQx(x=0∼2)에서는, 도 7에 도시된 "상위 계산"의 처리만을 데이터 패스부(100)에 실행시킨다. 예를 들면 단정밀도 연산 스테이트 EQ0에서 앞서 게재한 수학식 1의 신호값 dEQ10을 데이터 패스부(100)에 산출시키는 경우, 필터 처리 제어부(402)는, 레지스터(113)에 초기값 0을 기입한다. 다음으로 필터 처리 제어부(402)는, 계수 기억부(200) 내의 필터 계수 cEX00 및 워크 RAM(120) 내의 신호값 dEQ00의 상위 N비트를 셀렉터(131 및 132)를 각각 통하여 승산기(111)에 공급시키고, 양자의 승산 처리를 행하게 한다. 이에 의해 승산기(111)는, 승산 결과 cEQ00×dEQ00을 나타내는 2N비트의 데이터를 출력한다. 필터 처리 제어부(402)는, 이 2N비트의 데이터를 부호 확장하여 2N+M비트의 데이터로 하고, 가산기(112)와 레지스터(113)에 그 누산을 행하게 한다.In the single-precision arithmetic state EQx (x = 0 to 2), the filter
다음으로 필터 처리 제어부(402)는, 계수 기억부(200) 내의 필터 계수 cEX01 및 워크 RAM(120) 내의 신호값 dEQ01의 상위 N비트를 셀렉터(131 및 132)를 각각 통하여 승산기(111)에 공급시키고, 양자의 승산 처리를 행하게 하고, 이 승산 결과 cEQ01×dEQ01의 누산을 가산기(112)와 레지스터(113)에 행하게 한다. 필터 처리 제어부(402)는, 이하 마찬가지의 수순에 의해, 앞서 게재한 수학식 1 중의 각 승산 처리 cEQ02×dEQ02, cEQ03×dEQ10 및 cEQ04×dEQ11과 그 누산을 데이터 패스부(100)에 행하게 한다. 이 결과, 앞서 게재한 수학식 1의 신호값 dEQ10을 나타내는 2N+M비트의 데이터가 레지스터(113) 내에 얻어진다. 필터 처리 제어부(402)는, 이 2N+M비트의 데이터의 상위 N비트와 올 0인 하위 N비트로 이루어지는 데이터를 신호값 dEQ10으로서 워크 RAM(120) 내의 제1 연산 결과 저장 에리어에 저장시킨다. 이상, 단정밀도 연산 스테이트 EQ0에서의 승가산 처리의 양태를 설명했지만, 단정밀도 연산 스테이트 EQ1 및 EQ2에서도, 마찬가지의 양태에서 앞서 게재한 수학식 2 및 3의 연산 처리가 실행된다.Next, the filter
이상이 비워스트 케이스(non-worst case)에서 실행되는 필터 처리의 연산의 양태이다.The above is the aspect of the calculation of the filter process performed in a non-worst case.
한편, 필터 처리 제어부(402)는, 배정밀도 연산 스테이트 BIEQx(x=0∼2)에서는, 신호값 dEQ를 상위 N비트와 하위 N비트(모두 부호 비트를 포함함)로 나누어, 동일한 승산기(111)에, 계수 cEQ와 신호값 dEQ의 하위 비트의 승산 처리(도 7에서의 "하위 계산")와, 계수 cEQ와 신호값 dEQ의 상위 비트의 승산 처리(도 7에서의 "상위 계산")를 순차적으로 실행시키고, 승산기(111)의 비트폭 N에 대응한 연산 정 밀도의 배의 연산 정밀도로 승산 처리를 행한다. 배정밀도 연산 스테이트 BIEQ0의 경우를 예로 그 동작을 설명하면 다음과 같다. On the other hand, in the double-precision arithmetic state BIEQx (x = 0 to 2), the filter
우선, 필터 처리 제어부(402)는, 레지스터(113)에 초기값 0을 기입한다. 다음으로 필터 처리 제어부(402)는, 계수 기억부(200) 내의 N비트의 필터 계수 cEX00을 셀렉터(131)를 통하여 승산기(111)에 공급시킨다. 또한, 필터 처리 제어부(402)는, 워크 RAM(120) 내의 2N비트의 신호값 dEQ00의 하위 N비트의 데이터를 셀렉터(132)를 통하여 승산기(111)에 공급시킨다. 그리고, 승산기(111)에 필터 계수 cEX00과 신호값 dEQ00의 하위 N비트의 승산 처리를 행하게 한다. 이에 의해 승산기(111)는, 승산 결과를 나타내는 2N비트의 데이터를 출력한다. 다음으로 필터 처리 제어부(402)는, 이 승산 결과의 부호 확장을 행하게 하여 2N+M비트의 신호값을 발생시키고, 이 2N+M비트의 신호값을 가산기(112) 및 레지스터(113)로 이루어지는 누산기에 공급하여, 그 누산을 행하게 한다. 이 결과, 레지스터(113)에 필터 계수 cEX00과 신호값 dEQ00의 하위 N비트의 승산 결과를 나타내는 2N+M비트의 데이터가 저장된다. 그리고, "상위 계산"의 실행 전에, 이 레지스터(113) 내의 데이터를 N-1비트만큼 하위 비트측으로 시프트하여, 원래의 1/2N-1의 데이터로 한다.First, the filter
다음으로, 필터 처리 제어부(402)는, 이하와 같이 "상위 계산"을 데이터 패스부(100)에 실행시킨다. 우선, 필터 처리 제어부(402)는, 계수 기억부(200) 내의 N비트의 필터 계수 cEX00을 셀렉터(131)를 통하여 승산기(111)에 공급시킨다. 또한, 필터 처리 제어부(402)는, 워크 RAM(120) 내의 2N비트의 신호값 dEQ00의 상위 N비트의 데이터를 셀렉터(132)를 통하여 승산기(111)에 공급시킨다. 그리고, 승산기(111)에 필터 계수 cEX00과 신호값 dEQ00의 상위 N비트의 승산 처리를 행하게 한다. 이에 의해 승산기(111)는, 승산 결과를 나타내는 2N비트의 데이터를 출력한다. 다음으로 필터 처리 제어부(402)는, 이 승산 결과의 부호 확장을 행하게 해서2N+M비트의 신호값을 발생시키고, 이 2N+M비트의 신호값을 가산기(112) 및 레지스터(113)로 이루어지는 누산기에 공급하여, 그 누산을 행하게 한다. 이 결과, 레지스터(113) 내에, 필터 계수 cEX00과 신호값 dEQ00의 하위 N비트의 승산 결과와, 필터 계수 cEX00와 신호값 dEQ00의 상위 N비트와의 승산 결과를 가산한 데이터, 즉, 배정밀도 연산에 의한 필터 계수 cEX00과 신호값 dEQ00의 승산 결과가 얻어진다. 이하 마찬가지의 양태에 의해, 앞서 게재한 수학식 13에 나타내는 각 승산 처리와 그들의 누산 처리를 행하게 한다. 그리고, 이에 의해 레지스터(113) 내에 얻어지는 이퀄라이저 EQ0의 출력 신호값 dEQ10을 워크 RAM(120) 내의 제1 연산 결과 저장 에리어에 저장시킨다.Next, the filter
이상, 배정밀도 연산 스테이트 BIEQ0에서의 승가산 처리의 양태를 설명했지만, 배정밀도 연산 스테이트 BIEQ1 및 BIEQ2에서도, 마찬가지의 양태에서 앞서 게재한 수학식 14 및 15의 연산 처리가 실행된다.As mentioned above, although the aspect of the multiplication process in double-precision arithmetic state BIEQ0 was demonstrated, the arithmetic process of Formula (14) and 15 previously published also in double-precision arithmetic states BIEQ1 and BIEQ2 is performed similarly.
이상이 워스트 케이스(worst case)에서 실행되는 필터 처리의 연산의 양태이다.The above is the aspect of the calculation of the filter process performed in a worst case.
이상 설명한 바와 같이, 본 실시 형태에 따르면, 필터 계수에 기초하여, 디지털 필터의 실행 조건이 높은 연산 정밀도를 요하는 워스트 케이스(worst case)인 지 그렇지 않은 비워스트 케이스(non-worst case)인지가 판정되고, 공통의 연산기(110)를 이용하여, 워스트 케이스(worst case)이면 배정밀도 연산에 의해, 비워스트 케이스(non-worst case)이면 소비 전력이 적은 단정밀도 연산에 의해 필터 처리가 실행된다. 따라서, 하드웨어 규모를 크게 하는 일 없이, 또한, 쓸데없는 소비 전력을 발생시키는 일 없이, 워스트 케이스(worst case)에서의 필터 처리 및 비워스트 케이스(non-worst case)에서의 필터 처리의 양방을 실행할 수 있다. 또한, 본 실시 형태에서는, 3 밴드 이퀄라이저로서의 필터 처리가 그보다 소규모의 이퀄라이저 EQx(x=0∼2)로서의 각 폴더 처리로 이루어지는 경우에, 소규모의 필터 처리 각각에 대하여 개별적으로 실행 조건이 워스트 케이스(worst case)인지 비워스트 케이스(non-worst case)인지를 판정하여, 연산 정밀도를 선택하도록 하고 있으므로, 극력 많은 필터 처리를 단정밀도 연산에 의해 행할 수 있어, 섬세한 절전이 가능하다고 하는 이점이 있다.As described above, according to the present embodiment, based on the filter coefficient, whether the execution condition of the digital filter is a worst case or a non-worst case that requires high computational accuracy is required. The filter processing is determined using a
<제2 실시 형태><2nd embodiment>
도 8은 본 발명의 제2 실시 형태에 따른 디지털 필터에서의 필터 계수 cEQ와 신호값 dEQ의 승가산 처리의 양태를 도시하는 도면이다. 상기 제1 실시 형태에서는, 필터 계수 cEQ를 N비트, 신호값 dEQ를 2N비트로 하고, 필터 처리를 배정밀도 연산에 의해 행하는 경우에는, 신호값 dEQ를 상위 N비트와 하위 N비트로 나누어, 계수 cEQ와 후자의 승산 처리 및 계수 cEQ와 전자의 승산 처리를 순차적으로 실행하고, 승산 결과의 누산을 행하였다. 이에 대하여, 본 실시 형태에서는, 필터 계수 cEQ를 2N비트, 신호값 dEQ를 N비트로 하고, 신호값 dEQ와의 승산에 사용하는 필 터 계수 cEQ의 비트수를 절환함으로써, 단정밀도 연산/배정밀도 연산의 절환을 행한다.It is a figure which shows the aspect of the multiplication process of the filter coefficient cEQ and signal value dEQ in the digital filter which concerns on 2nd Embodiment of this invention. In the first embodiment, when the filter coefficient cEQ is N bits and the signal value dEQ is 2 N bits, and the filter processing is performed by double precision calculation, the signal value dEQ is divided into the upper N bits and the lower N bits, and the coefficient cEQ and The latter multiplication process and the coefficient cEQ and the former multiplication process were executed sequentially, and the multiplication result was accumulated. In contrast, in the present embodiment, the filter coefficient cEQ is set to 2N bits, the signal value dEQ is set to N bits, and the number of bits of the filter coefficient cEQ used for multiplication with the signal value dEQ is changed to perform the single precision operation / double precision operation. Switch over.
필터 처리를 단정밀도 연산에 의해 행하는 경우에는, 도 8에 도시하는 "상위 계산"만을 실행한다. 즉, 필터 계수 cEQ의 상위 N비트와 신호값 dEQ의 승산을 승산기(111)에 의해 행하고, 그 승산 결과를 부호 확장하고, 가산기(112) 및 레지스터(113)로 이루어지는 누산기에 의해 누산한다.When the filter process is performed by a single precision operation, only the "upper calculation" shown in FIG. 8 is executed. That is, the multiplication of the upper N bits of the filter coefficient cEQ and the signal value dEQ is performed by the
이상의 처리를 앞서 게재한 수학식 1에서의 필터 계수 cEQxy와 신호값 dEQxy의 각 조합에 대하여 실행하면, 신호값 dEQ10을 나타내는 2N+M비트의 데이터가 레지스터(113) 내에 얻어진다. 필터 처리 제어부(402)는, 이 데이터의 상위 N비트를 신호값 dEQ10으로서 워크 RAM(120) 내의 제1 연산 결과 저장 에리어에 저장시킨다. 앞서 게재한 수학식 2 및 3에 나타내는 신호값 dEQ20 및 dEQ30의 산출의 동작도 기본적으로 마찬가지이다.When the above processing is performed for each combination of the filter coefficient cEQxy and the signal value dEQxy in the above-described equation (1), 2N + M bits of data representing the signal value dEQ10 are obtained in the
한편, 필터 처리를 배정밀도 연산에 의해 행하는 경우에는, 도 8에 도시하는 "하위 계산" 및 "상위 계산"을 순차적으로 실행한다. 우선, 필터 계수 cEQ의 하위 N비트와 신호값 dEQ의 승산을 승산기(111)에 의해 행하고, 그 승산 결과를 부호 확장하고, 가산기(112) 및 레지스터(113)로 이루어지는 누산기에 의해 누산한다. 그리고, "상위 계산"에 앞서서, 레지스터(113) 내의 데이터를 N-1비트만큼 하위 비트측으로 시프트하여, 원래의 1/2N-1의 데이터로 한다. 다음으로, 필터 계수 cEQ의 상위 N비트와 신호값 dEQ의 승산을 승산기(111)에 의해 행하고, 그 승산 결과를 부 호 확장하고, 가산기(112) 및 레지스터(113)로 이루어지는 누산기에 의해 누산한다.On the other hand, when the filter process is performed by double precision calculation, "lower calculation" and "higher calculation" shown in FIG. 8 are executed sequentially. First, multiplying the lower N bits of the filter coefficient cEQ by the signal value dEQ is performed by the
이상의 처리를 앞서 게재한 수학식 1에서의 필터 계수 cEQxy와 신호값 dEQxy의 각 조합에 대하여 실행하면, 신호값 dEQ10을 나타내는 2N+M비트의 데이터가 레지스터(113) 내에 얻어진다. 필터 처리 제어부(402)는, 이 데이터의 상위 N비트를 신호값 dEQ10으로서 워크 RAM(120) 내의 제1 연산 결과 저장 에리어에 저장시킨다. 앞서 게재한 수학식 2 및 3에 나타내는 신호값 dEQ20 및 dEQ30의 산출의 동작도 기본적으로 마찬가지이다.When the above processing is performed for each combination of the filter coefficient cEQxy and the signal value dEQxy in the above-described equation (1), 2N + M bits of data representing the signal value dEQ10 are obtained in the
본 실시 형태에서도, 필터 처리의 실행 조건이 비워스트 케이스(non-worst case)인지 워스트 케이스(worst case)인지에 따라 단정밀도 연산/배정밀도 연산의 절환이 행해지므로, 하드웨어를 대규모로 하는 일 없이, 비워스트 케이스(non-worst case) 및 워스트 케이스(worst case)에서의 필터 처리를 실행 가능하고, 또한, 비워스트 케이스(non-worst case)에서 쓸데없는 전력 소비를 회피할 수 있다.Also in the present embodiment, since the single-precision operation / double-precision operation is switched according to whether the execution condition of the filter processing is a non-worst case or a worst case, the hardware is not scaled up. It is possible to perform the filter processing in the non-worst case and the worst case, and also to avoid the unnecessary power consumption in the non-worst case.
<제3 실시 형태>Third Embodiment
도 9는 본 발명의 제3 실시 형태인 디지털 필터에서의 필터 처리 제어부(402)(도 1 참조)의 동작을 도시하는 상태 천이도이다. 상기 제1 실시 형태에서는, 이퀄라이저 EQx(x=0∼2) 각각에 대해서, 필터 처리의 실행 조건이 비워스트 케이스(non-worst case)인지 워스트 케이스(worst case)인지를 판정하고, 각 이퀄라이저마다 연산 정밀도의 선택을 행하였다. 이에 대하여, 본 실시 형태에서는, 이퀄라이저 EQx(x=0∼x)의 전체 처리에 관해서, 일괄하여 연산 정밀도의 절환을 행한 다.FIG. 9 is a state transition diagram showing the operation of the filter processing control unit 402 (see FIG. 1) in the digital filter according to the third embodiment of the present invention. In the first embodiment, for each equalizer EQx (x = 0 to 2), it is determined whether the execution condition of the filter process is a non-worst case or a worst case, and for each equalizer. Arithmetic precision was selected. On the other hand, in this embodiment, arithmetic precision is switched collectively about the whole process of equalizer EQx (x = 0-x).
더욱 상세히 설명하면, 필터 처리 제어부(402)는, 샘플링 주기의 개시 시에, 계수 기억부(200) 내의 필터 계수 cEQx1(x=0∼2)을 참조한다. 그리고, 필터 계수 cEQx1(x=0∼2)의 모두가 -1.99 이상인 경우에는, 이 후, 스테이트를 단정밀도 연산 스테이트 EQ0, EQ1, EQ2로 순차적으로 천이시켜서, 단정밀도 연산에 의해 이퀄라이저 EQx(x=0∼2)의 필터 처리를 실행시킨다. 한편, 필터 계수 cEQx1(x=0∼2) 중 적어도 하나인 -1.99 미만인 경우에는, 이 후, 스테이트를 배정밀도 연산 스테이트 BIEQ0, BIEQ1, BIEQ2로 순차적으로 천이시켜서, 배정밀도 연산에 의해 이퀄라이저 EQx(x=0∼2)의 필터 처리를 실행시킨다.In more detail, the filter
본 실시 형태에서도, 하드웨어를 대규모로 하지 않고, 비워스트 케이스(non-worst case) 및 워스트 케이스(worst case)에서의 필터 처리를 실행 가능하며, 또한, 비워스트 케이스(non-worst case)에서 쓸데없는 전력 소비를 회피할 수 있다. 또한, 본 실시 형태는, 상기 제1 실시 형태와 같이 이퀄라이저 EQx(x=0∼x) 각각에 대한 개별적인 연산 정밀도의 절환을 행하는 것은 아니므로, 섬세한 절전을 행할 수는 없지만, 제1 실시 형태와 비교하여 제어가 간단하다는 이점이 있다.Also in this embodiment, the filter processing can be performed in a non-worst case and a worst case without using hardware on a large scale, and it is also useful for a non-worst case. You can avoid the power consumption. In addition, since this embodiment does not switch individual arithmetic precision with respect to each of equalizer EQx (x = 0-x) similarly to the said 1st embodiment, it is not possible to perform delicate power saving, In comparison, the control is simple.
<그 밖의 실시 형태><Other embodiments>
이상, 본 발명의 각 실시 형태에 대하여 설명했지만, 본 발명에는 그 이외에도 다른 실시 형태가 있을 수 있다. 예를 들면 다음과 같다.As mentioned above, although each embodiment of this invention was described, other embodiment may exist other than this invention. For example:
(1) 상기 실시 형태에서는, 필터 처리의 실행 조건을 비워스트 케이스(non-worst case)와 워스트 케이스(worst case)의 2단계로 나누어, 실행 조건이 어디에 속하는지에 따라 단정밀도 연산 또는 배정밀도 연산을 선택하도록 했다. 그러나, 필터 처리의 실행 조건을 3단계 이상으로 나누어, 실행 조건이 엄격해짐에 따라, 2배 정밀도 연산, 3배 정밀도 연산, ……과 같은 상태로, 연산 정밀도를 높이도록 하여도 된다.(1) In the above embodiment, the execution condition of the filter process is divided into two stages, a non-worst case and a worst case, and the single-precision operation or the double-precision operation depends on where the execution condition belongs. To choose. However, by dividing the execution condition of the filter process into three or more steps, and the execution condition becomes strict, the double precision operation, the triple precision operation,... … In such a state, the calculation precision may be increased.
(2) 상기 실시 형태에서는, 필터 처리의 실행 조건을 나타내는 파라미터로서 필터 계수를 이용했지만, 디지털 필터가 필터 처리의 피크 주파수 f0, 게인 G, 큐 Q 등을 외부로부터 취득 가능한 경우에는, 그들 파라미터에 기초하여 필터 처리의 실행 조건(비워스트 케이스(non-worst case)/워스트 케이스(worst case) 별)을 판정하여, 연산 정밀도를 선택하도록 하여도 된다. (2) In the above embodiment, the filter coefficients are used as parameters representing the execution conditions of the filter processing. However, when the digital filter can obtain the peak frequency f0, the gain G, the cue Q, and the like of the filter processing from the outside, the parameters are applied to these parameters. Based on the execution condition of the filter process (non-worst case / worst case), the calculation precision may be selected.
(3) 디지털 필터에 외부로부터의 조작에 의해 설정 가능한 자동 모드와 메뉴얼 모드를 설치하고, 메뉴얼 모드에서는, 예를 들면 인터페이스(300)를 경유한 커맨드의 입력 등에 따라서, 이퀄라이저 EQx(x=0∼2)의 각각을 위한 연산 정밀도의 절환 제어를 행하고, 자동 모드에서는, 상기 제1 실시 형태와 같이 필터 처리의 실행 조건을 나타내는 파라미터(상기 제1 실시 형태에서는 필터 계수)에 기초하여 연산 정밀도의 절환 제어를 행하도록 하여도 된다. (3) An automatic mode and a manual mode that can be set by an external operation are provided in the digital filter, and in the manual mode, the equalizer EQx (x = 0 to ~), for example, in accordance with the input of a command via the
도 1은 본 발명의 제1 실시 형태인 디지털 필터의 구성을 도시하는 블록도.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing the configuration of a digital filter as a first embodiment of the present invention.
도 2는 동일 실시 형태가 취급하는 이퀄라이저의 피크 주파수와 필터 계수의 관계를 도시하는 도면.Fig. 2 is a diagram showing a relationship between peak frequencies and filter coefficients of an equalizer handled by the same embodiment.
도 3은 동일 실시 형태에서 필터 처리의 실행 조건이 비워스트 케이스(non-worst case)인지 워스트 케이스(worst case)인지를 판단하기 위한 필터 계수의 임계값의 타당성을 도시하는 도면.FIG. 3 is a diagram showing the validity of a threshold of filter coefficients for determining whether an execution condition of a filter process is a non-worst case or a worst case in the same embodiment. FIG.
도 4는 동일 실시 형태에서의 필터 처리 제어부의 동작을 도시하는 상태 천이도. 4 is a state transition diagram showing an operation of the filter processing control unit in the same embodiment.
도 5는 동일 실시 형태의 동작예를 나타내는 타임 차트.5 is a time chart showing an operation example of the same embodiment;
도 6은 동일 실시 형태의 다른 동작예를 나타내는 타임 차트.6 is a time chart showing another example of operation of the same embodiment;
도 7은 동일 실시 형태에서의 필터 계수와 신호값의 승가산 처리의 양태를 도시하는 도면.FIG. 7 is a diagram illustrating aspects of multiplication processing of filter coefficients and signal values in the same embodiment. FIG.
도 8은 본 발명의 제2 실시 형태에 따른 디지털 필터에서 행해지는 필터 계수와 신호값의 승가산 처리의 양태를 도시하는 도면.Fig. 8 is a diagram showing an aspect of multiplication processing of filter coefficients and signal values performed in the digital filter according to the second embodiment of the present invention.
도 9는 본 발명의 제3 실시 형태에 따른 디지털 필터의 필터 처리 제어부의 동작을 도시하는 상태 천이도.Fig. 9 is a state transition diagram showing the operation of the filter processing control unit of the digital filter according to the third embodiment of the present invention.
도 10은 3바이트 이퀄라이저로서 동작하는 디지털 필터의 기능 구성을 도시하는 블록도.Fig. 10 is a block diagram showing the functional configuration of a digital filter operating as a three byte equalizer.
도 11은 동일 3바이트 이퀄라이저에서의 1개의 이퀄라이저의 필터 특성을 모 식적으로 도시한 도면.FIG. 11 is a diagram schematically showing filter characteristics of one equalizer in the same 3-byte equalizer. FIG.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100 : 데이터 패스부100: data path section
200 : 계수 기억부200: coefficient storage unit
300 : 인터페이스300: interface
400 : 제어부400: control unit
401 : 계수 재기입 제어부401: count rewrite control unit
402 : 필터 처리 제어부402: filter processing control unit
110 : 연산기110: calculator
111 : 승산기111: Multiplier
112 : 가산기112: adder
113 : 레지스터113: register
131, 132 : 셀렉터131, 132: selector
Claims (17)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006266139A JP2008085923A (en) | 2006-09-28 | 2006-09-28 | Digital filter |
JPJP-P-2006-00266139 | 2006-09-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080029825A true KR20080029825A (en) | 2008-04-03 |
KR100907961B1 KR100907961B1 (en) | 2009-07-16 |
Family
ID=39256425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070096785A KR100907961B1 (en) | 2006-09-28 | 2007-09-21 | Digital filter |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2008085923A (en) |
KR (1) | KR100907961B1 (en) |
CN (1) | CN101154937B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013016908A (en) * | 2011-06-30 | 2013-01-24 | Rohm Co Ltd | Sine wave generator, digital signal processor, and audio output device |
CN103959192B (en) * | 2011-12-21 | 2017-11-21 | 英特尔公司 | For estimating the mathematical circuit surmounted function |
US9606796B2 (en) * | 2013-10-30 | 2017-03-28 | Texas Instruments Incorporated | Computer and methods for solving math functions |
KR101584917B1 (en) | 2014-10-14 | 2016-01-14 | 세종대학교산학협력단 | Multi-stage filter apparatus and Method for filtering Using the same |
CN105068640B (en) * | 2015-08-13 | 2018-06-26 | 浪潮(北京)电子信息产业有限公司 | It is a kind of improve high-performance calculation energy consumption than method and system |
JP6556768B2 (en) | 2017-01-25 | 2019-08-07 | 株式会社東芝 | Multiply-accumulator, network unit and network device |
RU2716902C1 (en) * | 2019-07-22 | 2020-03-17 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Омский государственный технический университет" (ОмГТУ) | Multistage biquad filter |
CN112600533B (en) * | 2020-12-09 | 2023-10-13 | 中国科学院新疆天文台 | Filter bank for radio astronomical observation |
CN115102524B (en) * | 2022-07-07 | 2023-08-08 | 武汉市聚芯微电子有限责任公司 | Filter |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3058169B2 (en) * | 1989-03-31 | 2000-07-04 | 富士通テン株式会社 | Digital filter filter coefficient setting method |
JPH04195585A (en) * | 1990-11-28 | 1992-07-15 | Nippon Steel Corp | Digital signal processing circuit |
JPH1084239A (en) * | 1996-09-10 | 1998-03-31 | Alpine Electron Inc | Digital graphic equalizer |
JPH10256857A (en) * | 1997-03-11 | 1998-09-25 | Toshiba Corp | Sound quality correction device |
JP3185715B2 (en) * | 1997-06-30 | 2001-07-11 | 日本電気株式会社 | Adaptive equalization filter for communication |
JP2004260755A (en) | 2003-02-27 | 2004-09-16 | Toyota Motor Corp | Digital filter and digital signal processing method |
JP2004289417A (en) | 2003-03-20 | 2004-10-14 | Matsushita Electric Ind Co Ltd | Digital filter |
JP2006148664A (en) | 2004-11-22 | 2006-06-08 | Matsushita Electric Ind Co Ltd | Sound image fixing apparatus |
-
2006
- 2006-09-28 JP JP2006266139A patent/JP2008085923A/en active Pending
-
2007
- 2007-09-21 KR KR1020070096785A patent/KR100907961B1/en not_active IP Right Cessation
- 2007-09-26 CN CN2007101515518A patent/CN101154937B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101154937A (en) | 2008-04-02 |
CN101154937B (en) | 2010-11-03 |
JP2008085923A (en) | 2008-04-10 |
KR100907961B1 (en) | 2009-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100907961B1 (en) | Digital filter | |
JP2000076047A (en) | Floating point multiplication and accumulation unit | |
JP4302640B2 (en) | Apparatus and method for calculating multiplication using multiplicand shift, and recording medium storing program code for executing the apparatus | |
JP2003510876A (en) | FIR filter using programmable shifter | |
JP4457084B2 (en) | Arithmetic unit | |
JPH082014B2 (en) | Multi-stage digital filter | |
US8812569B2 (en) | Digital filter implementation for exploiting statistical properties of signal and coefficients | |
JP4219926B2 (en) | Method and apparatus for performing multiplication or division in an electronic circuit | |
JPH07234778A (en) | Arithmetic circuit | |
KR100675993B1 (en) | Arithmetic unit with, and method of selectively delaying a multiplication result | |
JP2842947B2 (en) | Galois field polynomial multiply / divide circuit and digital signal processor incorporating the same | |
Caffarena et al. | Architectural synthesis of fixed-point dsp datapaths using fpgas | |
JP4464380B2 (en) | Digital filter | |
CN114448390A (en) | Biquad digital filter device and implementation method | |
JPH0816364A (en) | Counter circuit and microprocessor using the same | |
JP3252954B2 (en) | Multiplication method and multiplication circuit | |
JP4745032B2 (en) | Filter device | |
JP3880807B2 (en) | Digital filter and processing method thereof | |
JP4273323B2 (en) | Multiply and accumulate circuit | |
JP3523104B2 (en) | Fixed-point multiplier / adder | |
JP6728594B2 (en) | Sound source device | |
JP2009065515A (en) | Digital filter | |
JP3453321B2 (en) | Arithmetic processing method and arithmetic processing circuit | |
GB2345562A (en) | Digital signal processor for performing fixed-point and/or integer arithmetic | |
JP2009282852A (en) | Digital signal processor |
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: 20120620 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130603 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |