KR20080029825A - Digital filter - Google Patents

Digital filter Download PDF

Info

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
Application number
KR1020070096785A
Other languages
Korean (ko)
Other versions
KR100907961B1 (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 KR20080029825A publication Critical patent/KR20080029825A/en
Application granted granted Critical
Publication of KR100907961B1 publication Critical patent/KR100907961B1/en

Links

Images

Classifications

    • 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/0227Measures concerning the coefficients
    • 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/0233Measures concerning the signal representation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0238Measures concerning the arithmetic used
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital 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

A digital filter is provided to reduce unnecessary power consumption by performing an operation with precision suitable a condition of a filter process. A digital filter includes a coefficient storing device(200) storing a filter coefficient multiplying to a process object signal of a filter process or a filter coefficient which is multiplied to a signal generating in a filter processing process. A coefficient re-record controlling device(401) adjusts a re-record of the filter coefficient stored at the coefficient storing device. An operation device performs an operation to perform the filter process using the filter coefficient stored at the coefficient storing device to the process object signal. A filter process control device(402) controls the operation performed by the operation device.

Description

디지털 필터{DIGITAL FILTER}Digital filter {DIGITAL FILTER}

본 발명은, 오디오 기기 등에 바람직한 디지털 필터에 관한 것이다. 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 multiplication processing 921 to 935, the filter coefficient cEQ00 and the like shown in the figure are multiplied by the output signal value dEQ00 and the like of the delay processing 901 to 911, respectively. In addition, in each sampling period, the addition process 941 adds the respective output values of the multiplication processes 921 to 925, and in the addition process 942, the respective output values of the multiplication processes 926 to 930 are added and added. In the process 943, the respective output values of the multiplication processes 931 to 935 are added. As a result, the signal values dEQ10, dEQ20, and dEQ30 shown in the following formulas (1) to (3) are calculated as the output values of the addition processes 941 to 943, and the signal values are updated in accordance with the calculation result when switching to the next sampling period. This is done.

Figure 112007068952517-PAT00001
Figure 112007068952517-PAT00001

Figure 112007068952517-PAT00002
Figure 112007068952517-PAT00002

Figure 112007068952517-PAT00003
Figure 112007068952517-PAT00003

도 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.

Figure 112007068952517-PAT00004
Figure 112007068952517-PAT00004

Figure 112007068952517-PAT00005
Figure 112007068952517-PAT00005

Figure 112007068952517-PAT00006
Figure 112007068952517-PAT00006

Figure 112007068952517-PAT00007
Figure 112007068952517-PAT00007

Figure 112007068952517-PAT00008
Figure 112007068952517-PAT00008

단, A, ω, α, β는, 다음과 같다. 또한, 하기에서 Fs는 샘플링 주파수이다.However, A, ω, α, and β are as follows. Also, in the following, Fs is a sampling frequency.

Figure 112007068952517-PAT00009
Figure 112007068952517-PAT00009

Figure 112007068952517-PAT00010
Figure 112007068952517-PAT00010

Figure 112007068952517-PAT00011
Figure 112007068952517-PAT00011

Figure 112007068952517-PAT00012
Figure 112007068952517-PAT00012

유저는, 이퀄라이저 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 addition processings 941 to 943 in Fig. 10, are executed by using the adder in the DSP under time division control. Since the multipliers and adders in the DSP handle data of a finite bit width, an error occurs during calculation anyway. If this arithmetic error is large, it may not be possible to meet the requirements (for example, peak frequency f0, gain G and cue Q) as characteristics of the three-band equalizer. In addition, in particular, a digital filter constituted by an IIR filter such as a three-band equalizer shown in FIG. 10 has an advantage that the amount of calculation is smaller than that of a FIR (Finite Impulse Response) filter, while the calculation error is large. Sometimes it causes an oscillation phenomenon called a limit cycle.

그런데, 원하는 사양의 불충족, 리미트 사이클(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.

Figure 112007068952517-PAT00013
Figure 112007068952517-PAT00013

Figure 112007068952517-PAT00014
Figure 112007068952517-PAT00014

Figure 112007068952517-PAT00015
Figure 112007068952517-PAT00015

상기 수학식 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 coefficient storage unit 200, an interface 300, and a control unit 400.

계수 기억부(200)는, 앞서 게재한 도 10의 3 밴드 이퀄라이저로서의 필터 처리에 이용하는 필터 계수 cEQxy(x=0∼2, y=0∼4)를 기억하는 수단으로서, 예를 들면 EEPROM 등의 재기입 가능한 불휘발성 메모리에 의해 구성되어 있다.The coefficient storage unit 200 is a means for storing the filter coefficients cEQxy (x = 0 to 2, y = 0 to 4) used for the filter processing as the three-band equalizer shown in FIG. 10, for example, such as EEPROM. It is composed of a rewritable nonvolatile memory.

데이터 패스부(100)는, 앞서 게재한 도 10의 3 밴드 이퀄라이저로서의 필터 처리를 위한 연산을 행하는 장치로서, 승산기(111), 가산기(112) 및 레지스터(113)로 이루어지는 연산기(110)와, 워크 RAM(120)과, 승산기(111)에 공급할 입력 정보의 선택을 행하는 셀렉터(131 및 132)를 갖고 있다.The data path unit 100 is an apparatus for performing calculation for filter processing as the three-band equalizer of FIG. 10 described above, and includes an arithmetic unit 110 including a multiplier 111, an adder 112, and a register 113. The work RAM 120 and selectors 131 and 132 for selecting input information to be supplied to the multiplier 111 are provided.

여기서, 워크 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 work RAM 120 is a storage device used for the delay processes 901 to 912 of FIG. 10 described above, and includes 2N bits indicating the signal value dEQxy of each node of the 3-band equalizer of FIG. N stores a plurality of data. The multiplier 111 is a device for performing multiplication processes 921 to 936 and the like shown in FIG. 10 described above, and multiplies two N bits of input data to output 2N bits of data. The selector 131 selects among the filter coefficients cEQxy (x = 0 to 2, y = 0 to 4) in the coefficient storage unit 200, and supplies them to the multiplier 111. The selector 132 selects the signal value dEQxy or the input audio sample x (n) read from the work RAM 120 and supplies it to the multiplier 111 in accordance with an instruction from the control unit 400. Here, when the selector 132 supplies the signal value dEQxy read out from the work RAM 120 to the multiplier 111, according to the instruction from the control unit 400, the upper N bits of the 2N bit signal value dEQxy. Alternatively, the lower N bits are selected and supplied to the multiplier 111. The 2N-bit data output from the multiplier 111 is code-extended in the process of being supplied to the adder 112, and becomes 2N + M-bit data to which the integer part M bit is added after the sign bit. The adder 112 and the register 113 function as accumulators which accumulate the 2N + M bits of data and calculate signal values dEQ10, dEQ20, and dEQ30 shown in the following formulas (1) to (3) or (13) to (15). do. The processing of each part in the data path part 100 mentioned above is performed in synchronization with the clock phi of a predetermined frequency supplied from the control part 400.

[수학식 1][Equation 1]

Figure 112007068952517-PAT00016
Figure 112007068952517-PAT00016

[수학식 2][Equation 2]

Figure 112007068952517-PAT00017
Figure 112007068952517-PAT00017

[수학식 3][Equation 3]

Figure 112007068952517-PAT00018
Figure 112007068952517-PAT00018

[수학식 13][Equation 13]

Figure 112007068952517-PAT00019
Figure 112007068952517-PAT00019

[수학식 14][Equation 14]

Figure 112007068952517-PAT00020
Figure 112007068952517-PAT00020

[수학식 15][Equation 15]

Figure 112007068952517-PAT00021
Figure 112007068952517-PAT00021

인터페이스(300)는, 디지털 필터의 외부의 장치와의 사이에서 신호의 수수를 행하는 장치이다. 디지털 필터는, 이 인터페이스(300)에 의해, 외부로부터 입력 오디오 샘플 x(n)을 취득하고, 3 밴드 이퀄라이저로서의 필터 처리에 의해 얻어지는 출력 오디오 샘플 y(n)을 외부에 출력한다. 또한, 계수 기억부(200) 내의 필터 계수의 재기입 시, 인터페이스(300)는, 퍼스널 컴퓨터 등의 외부 장치에 접속되고, 재기입용의 필터 계수나 필터 계수의 재기입 커맨드를 외부 장치로부터 수취하는 역할을 한다.The interface 300 is a device that transmits and receives a signal with a device external to the digital filter. The digital filter obtains the input audio sample x (n) from the outside by this interface 300, and outputs the output audio sample y (n) obtained by the filter process as a three-band equalizer to the outside. In addition, upon rewriting the filter coefficients in the coefficient storage unit 200, the interface 300 is connected to an external device such as a personal computer, and receives the filter coefficients for rewriting and the rewrite command of the filter coefficients from the external device. It plays a role.

제어부(400)는, 이 디지털 필터 전체의 제어를 행하는 수단이다. 바람직한 양태에서, 제어부(400)는, CPU와, 이 CPU에 의해 실행되는 프로그램을 기억하는 ROM과, 작업용의 RAM에 의해 구성되어 있다. 제어부(400)는, 계수 재기입 제어 부(401)와 필터 처리 제어부(402)를 갖고 있다. 이들의 실체는 제어부(400)의 CPU가 실행하는 프로그램이다.The control unit 400 is a means for controlling the entire digital filter. In a preferred embodiment, the control unit 400 is composed of a CPU, a ROM storing a program executed by the CPU, and a RAM for work. The control unit 400 has a coefficient rewrite control unit 401 and a filter processing control unit 402. These entities are programs executed by the CPU of the control unit 400.

계수 재기입 제어부(401)는, 퍼스널 컴퓨터 등의 외부 장치가 인터페이스(300)에 접속된 상태에서, 필터 계수와 필터 계수의 재기입 커맨드를 외부 장치로부터 인터페이스(300)를 통하여 수취했을 때, 수취한 필터 계수에 의해 계수 기억부(200) 내의 필터 계수의 재기입을 행하는 수단이다.The coefficient rewriting control unit 401 receives a filter coefficient and a filter coefficient rewriting command from the external device via the interface 300 in a state where an external device such as a personal computer is connected to the interface 300. The filter coefficients are means for rewriting the filter coefficients in the coefficient storage unit 200 by one filter 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 processing control unit 402 is a means for controlling the filter processing as the three-band equalizer performed by the data path unit 100. The characteristic of this embodiment is an aspect of control of the filter process performed by this filter process control part 402. FIG. Under the prior art, the calculation precision of the calculation processing of the digital filter is determined in accordance with the execution case of the worst case among the various execution conditions of the filter processing, and the digital filter performs the filter processing under any execution condition. , The calculation for the filter process was performed with this determined calculation precision. In contrast, the filter processing control unit 402 according to the present embodiment performs non-warranty whether the execution condition of the equalizer EQx is a worst case for each of the equalizer EQxs (x = 0 to 2) constituting the three-band equalizer. It is determined whether the case is a non-worst case, and according to the determination result, the calculation precision of the filter processing as the equalizer EQx is determined, and the control of the data path unit 100 is performed so that the filter processing is performed at such calculation precision. . In other words, when the execution condition is a non-worst case, the operator 110 of the data path unit 100 performs a single-precision operation, and the execution condition is a worst case. In this case, the calculation unit 110 of the data path unit 100 performs double precision calculation. In more detail, as follows.

우선, 앞서 게재한 도 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 peak frequency f 0, which is helpful for the determination of non-worst case / worst case, is not directly given to the digital filter, but is a filter calculated using the peak frequency f 0. Coefficients cEQxy (x = 0 to 2, y = 0 to 4) are supplied to the digital filter. Some of these filter coefficients cEQxy (x = 0 to 2, y = 0 to 4) largely depend on the peak frequency f0. Fig. 2 shows an embodiment of the change in the filter coefficient cEQxy (y = 0 to 4) when the peak center frequency f0 is changed in the IIR filter performing the x-th band of the three-band equalizer. In this figure, the single-precision calculation zone and the double-precision calculation zone are shown together with the filter coefficients cEQxy (y = 0 to 4).

도 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 processing control unit 402 compares the filter coefficient cEQx1 with the threshold value of -1.99, and performs double precision operation when cEQx1 <-1.99 and single precision operation when cEQx1≥-1.99, and calculates the precision for the filter process. It is to be selected as.

도 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 processing control unit 402 supplies the clock? To be supplied to the data path unit 100 for a period until the next sampling period starts when all the filter processing to be executed within one sampling period is completed. Stops and avoids unnecessary power consumption.

이상이 본 실시 형태에 따른 디지털 필터의 구성의 상세이다.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 processing control unit 402 in the present embodiment. In the present embodiment, the filter processing control unit 402 executes the filter process as equalizer EQx (x = 0 to 2) in the data path unit 100 in each sampling period, and executes one audio sample y (n). Output it.

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 processing control unit 402 stops the supply of the clock phi to the data path unit 100 in the DSP operation idle state DSPIDLE. In this DSP operation idle state DSPIDLE, if the FS flag indicating the start of the sampling period is asserted, the filter processing control unit 402 refers to the filter coefficient cEQ01 in the coefficient storage unit 200, and cEQ01≥- In the case of 1.99, the state is shifted to the single-precision arithmetic state EQ0. In the case of cEQ01 <-1.99, the state is shifted to the double-precision arithmetic state BIEQ0. Then, the supply of the clock phi to the data path section 100 is started.

단정밀도 연산 스테이트 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 processing control unit 402 executes the single-precision arithmetic of the above-described equation (1) to the data path unit 100, and executes the output signal value dEQ10 of the equalizer EQ0 obtained as a work RAM ( 120 is stored in the first calculation result storage area. In the double-precision arithmetic state BIEQ0, the double-precision arithmetic expression (13) described above is executed in the data path unit 100, and the resultant output signal value dEQ10 of the equalizer EQ0 is obtained as a first operation in the work RAM 120. It is stored in the result storage area.

단정밀도 연산 스테이트 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 processing control unit 402 refers to the filter coefficient cEQ11 in the coefficient storage unit 200, and cStates a single-precision arithmetic state when cEQ11≥-1.99. Transition to EQ1. The output signal value dEQ20 of the equalizer EQ1 is calculated in the data path unit 100 by the single-precision calculation of Equation 2 described above, and the output signal value dEQ20 is stored in the second operation result storage area in the work RAM 120. Save it. On the other hand, when cEQ11 <-1.99, the state is shifted to the double precision arithmetic state BIEQ1. The output signal value dEQ20 of the equalizer EQ1 is calculated by the double-precision calculation of Equation 14 described above, and the output signal value dEQ20 is stored in the second operation result storage area in the work RAM 120.

단정밀도 연산 스테이트 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 processing control unit 402 refers to the filter coefficient cEQ21 in the coefficient storage unit 200, and cStates a single-precision arithmetic state when cEQ21≥-1.99. Transition to EQ2. Then, the output signal value dEQ30 of the equalizer EQ2 is calculated in the data path unit 100 by the single-precision calculation of Equation 3 described above, and the output signal value dEQ30 is stored in the third operation result storage area in the work RAM 120. Save it. On the other hand, when cEQ21 <-1.99, the state is shifted to the double precision arithmetic state BIEQ2. Then, the signal value dEQ30 of the equalizer EQ2 is calculated by the double precision calculation of the above-described equation (15), and the output signal value dEQ30 is stored in the third operation result storage area in the work RAM 120.

단정밀도 연산 스테이트 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 processing control unit 402 transitions the state to the fade out / fade in arithmetic state FADE. Then, the multiplication process 936 shown in FIG. 10 is executed by the data path unit 100, and the audio sample y (n) is output to the outside of the digital filter. In addition, in order to execute the delay processes 901 to 912 of FIG. 10 described above, in the work RAM 120, for example, the signal value dEQ01 is moved to an area for storing the signal value dEQ02, and the signal value dEQ00 is moved. Move to an area for storing signal value dEQ01; … The storage area of each signal value dEQxy is changed in the same state as. Further, the signal values dEQ10, dEQ20, and dEQ30 stored in the first to third operation result storage areas in the work RAM 120 are stored in the areas formed for the respective signal values. Then, the input audio sample x (n) is selected by the selector 132 and stored in the area for the signal value dEQ00 in the work RAM 120. In the next sampling period, the signal value dEQxy of each storage area in which the contents are updated in this manner is used for the calculation of the above-described formulas (1) to (3) or the above-described formulas (13 to 15). When the fade out / fade in operation state FADE is completed, the filter processing control unit 402 transitions the state to the DSP operation idle state DSPIDLE.

그런데, 본 실시 형태에서는, 디지털 필터가 필터 처리를 실행하고 있는 기간에서도, 인터페이스(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 coefficient storage unit 200 are updated through the interface 300, whereby the equalizer EQx (x = 0 to 2) Switching between single-precision arithmetic and double-precision arithmetic may occur with either of the filter processes. In this case, the filter processing control unit 402 causes the data path unit 100 to perform the fade out process in the fade out / fade in operation state FADE. This fade-out process is a process of gradually reducing the multiplication coefficient FADE from 1 to close to 0 by multiplying the output signal value dEQ30 of the equalizer EQ2 in the multiplication process 936 by using a predetermined number of sampling periods.

이 페이드 아웃 처리가 완료되어, 승산 계수 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 processing control unit 402 switches the state to the work RAM when the state transitions to the DSP operation idle state DSPIDLE in the immediately subsequent sampling period. Transition to initialization state MEMCLR. In this work RAM initialization state MEMCLR, the filter processing control unit 402 initializes the signal value dEQxy of each node of the three-band equalizer shown in FIG. 10 previously stored in the work RAM 120 of the data path unit 100. . After the initialization is completed, the filter processing control unit 402 causes the data path unit 100 to perform the fade in process when the state becomes the fade out / fade in operation state FADE in the immediately following sampling period. This fade-in process is a process of gradually increasing the multiplication coefficient FADE from 0 to multiply the output signal value dEQ30 of the equalizer EQ2 by a predetermined number of sampling periods from zero to close to one.

이와 같이 단정밀도 연산/배정밀도 연산의 절환이 발생할 때에는, 페이드 아웃 처리를 행하고 나서 워크 RAM(120) 내의 신호값을 초기화하고, 페이드 인 처리를 거쳐, 3 밴드 이퀄라이저로서의 필터 처리를 재개하도록 하고 있기 때문에, 출력 오디오 샘플 y(n)에 연산 정밀도의 절환에 수반하는 노이즈가 발생하는 것을 방지할 수 있다. As described above, when switching between single-precision and double-precision operations occurs, the signal value in the work RAM 120 is initialized after the fade-out process is performed, and the filter process as a three-band equalizer is resumed after the fade-in process. Therefore, it is possible to prevent the noise caused by switching of the calculation precision from the output audio sample y (n).

도 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 data path unit 100 is shortened, and power consumption is reduced.

다음으로 도 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 process control part 402 is demonstrated. In FIG. 7, cEQ is the filter coefficients cEQxy (x = 0 to 2, y = 0 to 4) used for the multiplication processing (921 to 936) of the three-band equalizer shown in FIG. 10, and dEQ is the same multiplication processing (921 to The signal value dEQxy (x = 0 to 2, y = 0 to 4) used for the 936 is shown.

필터 처리 제어부(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 processing control unit 402 causes the data path unit 100 to execute only the processing of "higher-order calculation" shown in FIG. For example, when the data path unit 100 calculates the signal value dEQ10 of the above-described equation (1) in the single-precision arithmetic state EQ0, the filter processing control unit 402 writes an initial value 0 to the register 113. . Next, the filter processing control unit 402 supplies the multiplier 111 with the upper N bits of the filter coefficient cEX00 in the coefficient storage unit 200 and the signal value dEQ00 in the work RAM 120 through the selectors 131 and 132, respectively. And multiplication processing of both is performed. As a result, the multiplier 111 outputs 2N bits of data representing the multiplication result cEQ00 x dEQ00. The filter processing control unit 402 sign-extends the 2N bits of data to 2N + M bits of data, and causes the adder 112 and the register 113 to accumulate the data.

다음으로 필터 처리 제어부(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 processing control unit 402 supplies the upper N bits of the filter coefficient cEX01 in the coefficient storage unit 200 and the signal N dEQ01 in the work RAM 120 to the multiplier 111 through the selectors 131 and 132, respectively. The multiplication process of both is performed, and the adder 112 and the register 113 perform accumulation of cEQ01 x dEQ01 as a result of this multiplication. The filter processing control unit 402 causes the data path unit 100 to perform multiplication processing cEQ02 x dEQ02, cEQ03 x dEQ10, and cEQ04 x dEQ11 and the accumulation thereof in the above-described equation (1) according to the same procedure below. As a result, 2N + M bits of data representing the signal value dEQ10 of the above-described equation (1) are obtained in the register 113. The filter processing control unit 402 stores the data consisting of the upper N bits of the 2N + M bits of data and the lower N bits of all 0s as the signal value dEQ10 in the first operation result storage area in the work RAM 120. As mentioned above, although the aspect of the multiplication process in single-precision arithmetic state EQ0 was demonstrated, the arithmetic processing of Formulas 2 and 3 previously published also in the same aspect is performed also in single-precision arithmetic states EQ1 and EQ2.

이상이 비워스트 케이스(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 processing control unit 402 divides the signal value dEQ into the upper N bits and the lower N bits (including all the sign bits), and the same multiplier 111. ), Multiplication processing of the lower bits of the coefficient cEQ and the signal value dEQ ("lower calculation" in FIG. 7), and multiplication processing of the higher bits of the coefficient cEQ and the signal value dEQ ("higher calculation" in FIG. 7). It is executed sequentially, and multiplication processing is performed with arithmetic precision twice the arithmetic precision corresponding to the bit width N of the multiplier 111. The operation of the double-precision arithmetic state BIEQ0 is described as follows.

우선, 필터 처리 제어부(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 processing control unit 402 writes an initial value 0 to the register 113. Next, the filter processing control unit 402 supplies the multiplier 111 with the N-bit filter coefficient cEX00 in the coefficient storage unit 200 through the selector 131. The filter processing control unit 402 also supplies the multiplier 111 with the lower N bits of the 2N bit signal value dEQ00 in the work RAM 120 via the selector 132. Then, the multiplier 111 performs a multiplication process on the lower N bits of the filter coefficient cEX00 and the signal value dEQ00. As a result, the multiplier 111 outputs 2N bits of data representing the multiplication result. Next, the filter processing control unit 402 causes the sign expansion of the multiplication result to generate a signal value of 2N + M bits, and comprises the adder 112 and the register 113 of the signal value of 2N + M bits. The accumulator is supplied to cause accumulation. As a result, 2N + M bits of data representing the multiplication result of the filter coefficient cEX00 and the lower N bits of the signal value dEQ00 are stored in the register 113. Then, before the execution of "upper calculation", the data in this register 113 is shifted to the lower bit side by N-1 bits to be the original 1/2 N-1 data.

다음으로, 필터 처리 제어부(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 processing control unit 402 causes the data path unit 100 to execute "higher-order calculation" as follows. First, the filter processing control unit 402 supplies the multiplier 111 with the N-bit filter coefficient cEX00 in the coefficient storage unit 200 through the selector 131. The filter processing control unit 402 also supplies the multiplier 111 with the upper N bits of the 2N bit signal value dEQ00 in the work RAM 120 via the selector 132. Then, the multiplier 111 performs a multiplication process of the upper N bits of the filter coefficient cEX00 and the signal value dEQ00. As a result, the multiplier 111 outputs 2N bits of data representing the multiplication result. Next, the filter processing control unit 402 causes the signal expansion of the multiplication result to generate a signal value of 2N + M bits, and comprises the adder 112 and the register 113 of the signal value of 2N + M bits. The accumulator is supplied to cause accumulation. As a result, in the register 113, the data obtained by adding the multiplication result of the lower N bits of the filter coefficient cEX00 and the signal value dEQ00 and the multiplication result of the filter coefficient cEX00 and the upper N bits of the signal value dEQ00, that is, double precision calculation The multiplication result of the filter coefficient cEX00 and the signal value dEQ00 by is obtained. According to the same aspect below, each multiplication process and their accumulation process shown in Equation 13 published above are performed. The output signal value dEQ10 of the equalizer EQ0 obtained in the register 113 is thereby stored in the first operation result storage area in the work RAM 120.

이상, 배정밀도 연산 스테이트 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 common operator 110, by a double precision operation for a worst case, or a single precision operation with low power consumption for a non-worst case. . Therefore, both the filter processing in the worst case and the filter processing in the non-worst case can be performed without increasing the hardware scale and generating unnecessary power consumption. Can be. In addition, in this embodiment, when the filter process as a three-band equalizer consists of each folder process as a smaller equalizer EQx (x = 0-2), execution conditions are individually performed with respect to each small filter process. Since it is determined whether the worst case or the non-worst case is used and the calculation precision is selected, the filter processing can be performed by a single precision calculation with a great deal of power, and there is an advantage that delicate power saving is possible.

<제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 multiplier 111, the sign expansion of the multiplication result is performed, and accumulated by the accumulator made up of the adder 112 and the register 113.

이상의 처리를 앞서 게재한 수학식 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 register 113. The filter processing control unit 402 stores the upper N bits of this data in the first operation result storage area in the work RAM 120 as the signal value dEQ10. The operation of calculating the signal values dEQ20 and dEQ30 shown in the above expressions (2) and (3) is basically the same.

한편, 필터 처리를 배정밀도 연산에 의해 행하는 경우에는, 도 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 multiplier 111, and the result of the multiplication is code-extended, and is accumulated by an accumulator made up of the adder 112 and the register 113. Then, prior to " upper calculation, " the data in the register 113 is shifted to the lower bit side by N-1 bits to obtain original 1/2 N-1 data. Next, multiplying the upper N bits of the filter coefficient cEQ and the signal value dEQ by the multiplier 111, the multiplication result is code-expanded, and accumulated by the accumulator made up of the adder 112 and the register 113. .

이상의 처리를 앞서 게재한 수학식 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 register 113. The filter processing control unit 402 stores the upper N bits of this data in the first operation result storage area in the work RAM 120 as the signal value dEQ10. The operation of calculating the signal values dEQ20 and dEQ30 shown in the above expressions (2) and (3) is basically the same.

본 실시 형태에서도, 필터 처리의 실행 조건이 비워스트 케이스(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 processing control unit 402 refers to the filter coefficient cEQx1 (x = 0 to 2) in the coefficient storage unit 200 at the start of the sampling period. When all of the filter coefficients cEQx1 (x = 0 to 2) are equal to or greater than -1.99, the state is subsequently sequentially transitioned to the single-precision arithmetic states EQ0, EQ1, and EQ2, and the equalizer EQx (x is performed by single-precision arithmetic. The filter process of = 0 to 2) is executed. On the other hand, in the case of less than -1.99, which is at least one of the filter coefficients cEQx1 (x = 0 to 2), the state is subsequently sequentially transitioned to the double precision calculation states BIEQ0, BIEQ1, and BIEQ2, and the equalizer EQx ( The filter process of x = 0-2 is performed.

본 실시 형태에서도, 하드웨어를 대규모로 하지 않고, 비워스트 케이스(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 interface 300 or the like. 2) control of operation precision for each of the two), and in the automatic mode, operation precision is switched based on a parameter (filter coefficient in the first embodiment) indicating the execution condition of the filter process as in the first embodiment. Control may be performed.

도 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)

필터 처리의 처리 대상 신호에 승산하는 필터 계수 또는 상기 필터 처리의 처리 과정에서 발생하는 신호에 승산하는 필터 계수를 기억하는 계수 기억 수단과,Coefficient storage means for storing filter coefficients multiplied by the signal to be processed in the filter process or filter coefficients multiplied in the signal generated in the process of the filter process; 상기 계수 기억 수단에 기억된 상기 필터 계수의 재기입을 행하는 계수 재기입 제어 수단과,Coefficient rewrite control means for rewriting the filter coefficients stored in the coefficient storage means; 상기 계수 기억 수단에 기억된 상기 필터 계수를 이용한 필터 처리를 처리 대상 신호에 실시하기 위한 연산을 행하는 연산 수단과,Arithmetic means for performing arithmetic operations to perform a filter process using the filter coefficients stored in the coefficient storage means on a signal to be processed; 상기 연산 수단에 의한 연산의 제어를 행하는 수단으로서, 상기 필터 처리의 실행 조건을 나타내는 파라미터에 기초하여, 상기 연산 수단의 사용 양태를 바꿈으로써 상기 연산 수단에 의한 연산의 연산 정밀도의 절환 제어를 행하는 필터 처리 제어 수단Means for performing control of calculation by the calculation means, the filter performing switching control of arithmetic precision of calculation by the calculation means by changing a mode of use of the calculation means based on a parameter indicating an execution condition of the filter processing Processing control means 을 구비하는 것을 특징으로 하는 디지털 필터.Digital filter comprising a. 제1항에 있어서,The method of claim 1, 상기 제어 수단은, 상기 필터 처리의 실행 조건을 나타내는 파라미터로서, 상기 계수 기억 수단에 기억된 상기 필터 계수를 이용하여, 상기 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.And said control means performs switching control of said arithmetic precision using said filter coefficient stored in said coefficient storage means as a parameter representing an execution condition of said filter processing. 제1항에 있어서,The method of claim 1, 상기 필터 처리 제어 수단은, 상기 파라미터가 나타내는 필터 처리의 실행 조건이 가장 높은 연산 정밀도를 필요로 하는 워스트 케이스인 경우에, 상기 연산 수단에 배(倍)정밀도 연산을 행하게 하고, 상기 파라미터가 나타내는 필터 처리의 실행 조건이 비워스트 케이스인 경우에, 상기 연산 수단에 단(單)정밀도 연산을 행하게 하는 것을 특징으로 하는 디지털 필터.The filter processing control means causes the calculation means to perform double-precision calculation when the execution condition of the filter processing indicated by the parameter is the worst case that requires the highest computational accuracy, and the filter indicated by the parameter. And in the case where the execution condition of the processing is a non-warranty case, the computing means performs a single precision calculation. 제2항에 있어서,The method of claim 2, 상기 필터 처리 제어 수단은, 상기 파라미터가 나타내는 필터 처리의 실행 조건이 가장 높은 연산 정밀도를 필요로 하는 워스트 케이스인 경우에, 상기 연산 수단에 배정밀도 연산을 행하게 하고, 상기 파라미터가 나타내는 필터 처리의 실행 조건이 비워스트 케이스인 경우에, 상기 연산 수단에 단정밀도 연산을 행하게 하는 것을 특징으로 하는 디지털 필터.The filter processing control means causes the calculation means to perform double precision calculation when the execution condition of the filter processing indicated by the parameter is a worst case that requires the highest computational accuracy, and executes the filter processing indicated by the parameter. And a single precision operation is performed on said calculating means when the condition is a non-worst case. 제1항에 있어서,The method of claim 1, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리 단위에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 소규모인 필터 처리 단위에서, 각각이 필요로 하는 연산 정밀도가 확보되도록, 개별적으로 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter processing is constituted by a plurality of smaller filter processing units, and the filter processing control means individually controls the calculation accuracy so that the calculation precision required by each of the small filter processing units is ensured. A digital filter, which performs switching control. 제2항에 있어서,The method of claim 2, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리 단위에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 소규모인 필터 처리 단위에서, 각각이 필요로 하는 연산 정밀도가 확보되도록, 개별적으로 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter processing is constituted by a plurality of smaller filter processing units, and the filter processing control means individually controls the calculation accuracy so that the calculation precision required by each of the small filter processing units is ensured. A digital filter, which performs switching control. 제3항에 있어서,The method of claim 3, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리 단위에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 소규모인 필터 처리 단위에서, 각각이 필요로 하는 연산 정밀도가 확보되도록, 개별적으로 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter processing is constituted by a plurality of smaller filter processing units, and the filter processing control means individually controls the calculation accuracy so that the calculation precision required by each of the small filter processing units is ensured. A digital filter, which performs switching control. 제4항에 있어서,The method of claim 4, wherein 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리 단위에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 소규모인 필터 처리 단위에서, 각각이 필요로 하는 연산 정밀도가 확보되도록, 개별적으로 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter processing is constituted by a plurality of smaller filter processing units, and the filter processing control means individually controls the calculation accuracy so that the calculation precision required by each of the small filter processing units is ensured. A digital filter, which performs switching control. 제1항에 있어서,The method of claim 1, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 복수의 소규모인 필터 처리가 필요로 하는 연산 정밀도 중 가장 높은 연산 정밀도가 확보되도록, 상기 복수의 소규모인 필터 처리에 대하여 일괄하여 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter process is constituted by a plurality of smaller filter processes, and the filter process control means includes the plurality of filter processes so that the highest computational precision among the computational precision required by the plurality of small filter processes is ensured. A digital filter characterized by performing switching control of arithmetic precision collectively with respect to a small filter process. 제2항에 있어서,The method of claim 2, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 복수의 소규모인 필터 처리가 필요로 하는 연산 정밀도 중 가장 높은 연산 정밀도가 확보되도록, 상기 복수의 소규모인 필터 처리에 대하여 일괄하여 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter process is constituted by a plurality of smaller filter processes, and the filter process control means includes the plurality of filter processes so that the highest computational precision among the computational precision required by the plurality of small filter processes is ensured. A digital filter characterized by performing switching control of arithmetic precision collectively with respect to a small filter process. 제3항에 있어서,The method of claim 3, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 복수의 소규모인 필터 처리가 필요로 하는 연산 정밀도 중 가장 높은 연산 정밀도가 확보되도록, 상기 복수의 소규모인 필터 처리에 대하여 일괄하여 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter process is constituted by a plurality of smaller filter processes, and the filter process control means includes the plurality of filter processes so that the highest computational precision among the computational precision required by the plurality of small filter processes is ensured. A digital filter characterized by performing switching control of arithmetic precision collectively with respect to a small filter process. 제4항에 있어서,The method of claim 4, wherein 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리에 의해 구성되어 있 고, 상기 필터 처리 제어 수단은, 상기 복수의 소규모인 필터 처리가 필요로 하는 연산 정밀도 중 가장 높은 연산 정밀도가 확보되도록, 상기 복수의 소규모인 필터 처리에 대하여 일괄하여 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter process is constituted by a plurality of smaller filter processes, and the filter process control means includes the plurality of filter processes so that the highest computational precision among the computational precision required by the plurality of small filter processes is ensured. A digital filter, characterized in that the switching control of arithmetic precision is performed collectively with respect to the small-scale filter processing. 제5항에 있어서,The method of claim 5, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 복수의 소규모인 필터 처리가 필요로 하는 연산 정밀도 중 가장 높은 연산 정밀도가 확보되도록, 상기 복수의 소규모인 필터 처리에 대하여 일괄하여 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter process is constituted by a plurality of smaller filter processes, and the filter process control means includes the plurality of filter processes so that the highest computational precision among the computational precision required by the plurality of small filter processes is ensured. A digital filter characterized by performing switching control of arithmetic precision collectively with respect to a small filter process. 제6항에 있어서,The method of claim 6, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 복수의 소규모인 필터 처리가 필요로 하는 연산 정밀도 중 가장 높은 연산 정밀도가 확보되도록, 상기 복수의 소규모인 필터 처리에 대하여 일괄하여 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter process is constituted by a plurality of smaller filter processes, and the filter process control means includes the plurality of filter processes so that the highest computational precision among the computational precision required by the plurality of small filter processes is ensured. A digital filter characterized by performing switching control of arithmetic precision collectively with respect to a small filter process. 제7항에 있어서,The method of claim 7, wherein 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 복수의 소규모인 필터 처리가 필요로 하는 연산 정밀도 중 가장 높은 연산 정밀도가 확보되도록, 상기 복수의 소규모인 필터 처리에 대하여 일괄하여 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter process is constituted by a plurality of smaller filter processes, and the filter process control means includes the plurality of filter processes so that the highest computational precision among the computational precision required by the plurality of small filter processes is ensured. A digital filter characterized by performing switching control of arithmetic precision collectively with respect to a small filter process. 제8항에 있어서,The method of claim 8, 상기 필터 처리는 그보다도 소규모인 복수의 필터 처리에 의해 구성되어 있고, 상기 필터 처리 제어 수단은, 상기 복수의 소규모인 필터 처리가 필요로 하는 연산 정밀도 중 가장 높은 연산 정밀도가 확보되도록, 상기 복수의 소규모인 필터 처리에 대하여 일괄하여 연산 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.The filter process is constituted by a plurality of smaller filter processes, and the filter process control means includes the plurality of filter processes so that the highest computational precision among the computational precision required by the plurality of small filter processes is ensured. A digital filter characterized by performing switching control of arithmetic precision collectively with respect to a small filter process. 제1항 내지 제16항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 16, 외부로부터의 조작에 의해 설정 가능한 메뉴얼 모드와 자동 모드를 갖고, 상기 메뉴얼 모드에서는, 외부로부터의 조작에 따라서 상기 연산 정밀도의 절환 제어를 행하고, 상기 자동 모드에서는, 상기 필터 처리의 실행 조건을 나타내는 파라미터에 기초하여 상기 연산 처리의 정밀도의 절환 제어를 행하는 것을 특징으로 하는 디지털 필터.It has a manual mode and an automatic mode which can be set by the operation from the outside, In the said manual mode, switching control of the said operation precision is performed according to the operation from the outside, In the said automatic mode, the parameter which shows the execution conditions of the said filter process And the switching control of the precision of the said arithmetic processing based on the control.
KR1020070096785A 2006-09-28 2007-09-21 Digital filter KR100907961B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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