JPH0691417B2 - Digital filter device - Google Patents

Digital filter device

Info

Publication number
JPH0691417B2
JPH0691417B2 JP1341503A JP34150389A JPH0691417B2 JP H0691417 B2 JPH0691417 B2 JP H0691417B2 JP 1341503 A JP1341503 A JP 1341503A JP 34150389 A JP34150389 A JP 34150389A JP H0691417 B2 JPH0691417 B2 JP H0691417B2
Authority
JP
Japan
Prior art keywords
filter coefficient
value
filter
coefficient
resonance index
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP1341503A
Other languages
Japanese (ja)
Other versions
JPH03204215A (en
Inventor
龍太郎 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP1341503A priority Critical patent/JPH0691417B2/en
Priority to US07/628,572 priority patent/US5157623A/en
Publication of JPH03204215A publication Critical patent/JPH03204215A/en
Publication of JPH0691417B2 publication Critical patent/JPH0691417B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] この発明はデジタル的にフィルタ処理を行うデジタルフ
ィルタ装置に関する。
Description: TECHNICAL FIELD OF THE INVENTION The present invention relates to a digital filter device for digitally filtering.

[従来技術とその問題点] 電子楽器等にデジタルフィルタを適用する場合には、フ
ィルタの特性を動的に変化できることが望まれる。カッ
トオフ周波数はフィルタの通過域としゃ断域との境界を
示すパラメータであり、カットオフ周波数を変えること
によって音質や音色を変更できる。カットオフ周波数か
ら、デジタルフィルタの伝達関数の各係数(フィルタ係
数)を直接的に計算することは可能であるが、この計算
には三角関数の計算等が望まれるため、計算に相当の時
間を要し、他の処理も行わなければならない制御装置
(CPU)にとって、負担が大きすぎる。そこで、カット
オフ周波数の各値に対するフィルタ係数を記憶するメモ
リ(フィルタ係数変換テーブル)を用意しておき、カッ
トオフ周波数の指示値でこの変換メモリをアクセスし
て、対応するフィルタ係数を得る方式が採用される。し
かし、すべてのカットオフ周波数の指示値に対するフィ
ルタ係数を記憶するためには、変換メモリの記憶容量が
著しく大きくなってしまうという問題がある。
[Prior Art and its Problems] When a digital filter is applied to an electronic musical instrument or the like, it is desired that the characteristics of the filter can be dynamically changed. The cutoff frequency is a parameter indicating the boundary between the pass band and the cutoff region of the filter, and the tone quality and timbre can be changed by changing the cutoff frequency. Although it is possible to directly calculate each coefficient (filter coefficient) of the transfer function of the digital filter from the cutoff frequency, it is desirable to calculate a trigonometric function, etc. It is too heavy for the control unit (CPU) that has to perform other processing. Therefore, there is a method of preparing a memory (filter coefficient conversion table) for storing the filter coefficient for each value of the cutoff frequency, and accessing this conversion memory with the cutoff frequency instruction value to obtain the corresponding filter coefficient. Adopted. However, there is a problem that the storage capacity of the conversion memory becomes significantly large in order to store the filter coefficients for all the cutoff frequency instruction values.

更に、デジタルフィルタを楽音処理に適用する場合に
は、フィルタ特性におけるカットオフ周波数だけでなく
レゾナンス指数も可変に制御できることが望ましい。し
かし、可変のカットオフ周波数指示値とレゾナンス指数
指示値とからフィルタ係数を得るのに変換メモリを使用
したとすると、その記憶容量は(取り得るカットオフ周
波数指示値の総数)×(取り得るレゾナンス指数の総
数)に比例する大きさとなってしまい、許容できない記
憶容量を有することになる。この問題を解決するため
に、予め必要なフィルタ係数を全て記憶するのではな
く、指示されたカットオフ周波数に対応して記憶された
フィルタ係数により補間演算して求める方式が提案され
ている。
Further, when the digital filter is applied to the tone processing, it is desirable that not only the cutoff frequency in the filter characteristic but also the resonance index can be variably controlled. However, if a conversion memory is used to obtain the filter coefficient from the variable cutoff frequency indication value and the resonance index indication value, its storage capacity is (total number of possible cutoff frequency indication values) x (possible resonance frequency). The size becomes proportional to the total number of exponents), and the storage capacity becomes unacceptable. In order to solve this problem, a method has been proposed in which not all required filter coefficients are stored in advance, but interpolation calculation is performed using the filter coefficients stored corresponding to the designated cutoff frequency.

しかしながら、こうした補間演算を行うことはその分だ
けフィルタリング処理の時間が長くなり、カットオフ周
波数を連続的に素速く可変してもフィルタ特性の変化に
追従しなくなる恐れがでてくる。
However, performing such an interpolation operation lengthens the filtering processing time accordingly, and there is a risk that the change in the filter characteristics will not be followed even if the cutoff frequency is continuously and quickly changed.

[発明の目的] したがって、この発明の目的は記憶容量を節約しつつ、
可変のカットオフ周波数の指示値と可変のレゾナンス指
数の指示値とから、対応するフィルタ係数を高速に算出
可能なデジタルフィルタ装置を提供することである。
OBJECT OF THE INVENTION Therefore, an object of the present invention is to save storage capacity while
It is an object of the present invention to provide a digital filter device capable of calculating a corresponding filter coefficient at high speed from an instruction value of a variable cutoff frequency and an instruction value of a variable resonance index.

[発明の目的、作用] 上記の目的を達成するために、 カットオフ周波数を可変に指示するカットオフ周波数指
示手段と、 レゾナンス指数を可変に指示するレゾナンス指数指示手
段と、 上記カットオフ周波数指示手段にて指示されたカットオ
フ周波数の値を対応した複数ビットのデジタルデータに
変換する変換手段と、 限られた数の離散的なカットオフ周波数の各々に対し
て、最大のレゾナンス指数を持つフィルタ特性を与える
フィルタ係数を記憶する第1フィルタ係数記憶手段と、 限られた数の離散的なカットオフ周波数の各々に対して
最小のレゾナンス指数をもつフィルタ特性を与えるフィ
ルタ係数を記憶する第2フィルタ係数記憶手段と、 上記変換手段から出力される複数ビットの上位側から所
定数のビットの値をアドレスデータとしてこの第1及び
第2フィルタ係数記憶手段から最大のレゾナンス指数を
もつフィルタ係数及び最小のレゾナンス指数をもつフィ
ルタ係数を夫々読み出す読み出し手段と、 上記変換手段より出力される複数ビットのデジタルデー
タの下位側の残りのビットの値がゼロか否か検出する検
出手段と、 この検出手段によりゼロが検出された場合は上記読み出
し手段により読み出された最大のレゾナンス指数をもつ
フィルタ係数を出力するとともに、ゼロが検出されない
場合は上記変換手段から出力される複数ビットの上位側
から所定数のビットの値に1加算した値をアドレスデー
タとして上記第1フィルタ係数記憶手段から読み出され
たフィルタ係数、上記読み出し手段にて読み出されたフ
ィルタ係数及び上記下位側の残りのビットの値に基づい
て補間して最大のレゾナンス指数をもつフィルタ係数を
作成する第1補間手段と、 この検出手段によりゼロが検出された場合は上記読み出
し手段により読み出された最小のレゾナンス指数をもつ
フィルタ係数を出力するとともに、ゼロが検出されない
場合は上記変換手段から出力される複数ビットの上位側
から所定数のビットの値に1加算した値をアドレスデー
タとして上記第2フィルタ係数記憶手段から読み出され
たフィルタ係数、上記読み出し手段にて読み出されたフ
ィルタ係数及び上記下位側の残りのビットの値に基づい
て補間して最小のレゾナンス指数をもつフィルタ係数を
作成する第2補間手段と、 上記第1補間手段からの最大のレゾナンス指数をもつフ
ィルタ係数に対応する出力と上記第2補間手段からの最
小のレゾナンス指数をもつフィルタ係数に対応する出力
とを参照して上記レゾナンス指数指示手段から指示され
たレゾナンス指数に対応するフィルタ係数を補間する第
3補間手段と、 上記第3補間手段からのフィルタ係数に従って入力信号
をフィルタリングするフィルタリング手段と、 を有することを特徴とする。
[Object and Action of the Invention] In order to achieve the above object, a cutoff frequency instructing means for variably instructing a cutoff frequency, a resonance index instructing means for variably instructing a resonance index, and the cutoff frequency instructing means. A conversion means for converting the value of the cut-off frequency specified in 1 to the corresponding multi-bit digital data, and a filter characteristic having the maximum resonance index for each of a limited number of discrete cut-off frequencies. And a second filter coefficient storing means for storing a filter coefficient giving a filter characteristic having a minimum resonance index for each of a limited number of discrete cutoff frequencies. The storage means and the value of a predetermined number of bits from the upper side of the plurality of bits output from the conversion means are used as address data Then, reading means for respectively reading the filter coefficient having the maximum resonance index and the filter coefficient having the minimum resonance index from the first and second filter coefficient storage means, and a plurality of bits of digital data output from the converting means are read. Detecting means for detecting whether or not the value of the remaining bits on the lower side is zero, and when zero is detected by this detecting means, the filter coefficient having the maximum resonance index read by the reading means is outputted. If zero is not detected, a value obtained by adding 1 to the value of a predetermined number of bits from the upper side of the plurality of bits output from the conversion means is used as address data, and the filter coefficient read from the first filter coefficient storage means, Based on the filter coefficient read by the reading means and the value of the remaining bits on the lower side First interpolating means for interpolating to create a filter coefficient having the maximum resonance index, and when zero is detected by this detecting means, the filter coefficient having the minimum resonance index read by the reading means is output. At the same time, if zero is not detected, the filter coefficient read from the second filter coefficient storage means as the address data is a value obtained by adding 1 to the value of a predetermined number of bits from the upper side of the plurality of bits output from the conversion means. Second interpolation means for interpolating on the basis of the filter coefficient read by the reading means and the value of the remaining bits on the lower side to create a filter coefficient having a minimum resonance index; and the first interpolation means. From the second interpolation means and the output corresponding to the filter coefficient having the maximum resonance index from A third interpolation means for interpolating a filter coefficient corresponding to the resonance index designated by the resonance index designating means with reference to the output corresponding to the filter coefficient, and an input signal according to the filter coefficient from the third interpolation means. And a filtering means for filtering.

[実施例] 以下、図面を参照して、この発明の実施例を説明する。Embodiments Embodiments of the present invention will be described below with reference to the drawings.

第1図は実施例の機能を示すブロック図である。第1図
における第1の係数発生回路1と第2の係数発生回路2
では、指示されたカットオフ周波数に対するフィルタ係
数を最小のレゾナンス指数と最大のレゾナンス指数に関
して発生する。両回路の構成は第2図に示すように同様
であるが参照する係数ROM24の内容が異なる。即ち、第
1の係数発生回路1が参照する係数ROMにはレゾナンス
ボリウム3から指定されるレゾナンス指数の最小値に対
するフィルタ係数が離散的なカットオフ周波数の各々に
ついて記憶されており、第2の係数発生回路1が参照す
る係数ROMにはレゾナンスボリウム3から指定されるレ
ゾナンス指数の最大値に対するフィルタ係数が離散的な
カットオフ周波数の各々について記憶される。各係数発
生回路1、2はボリウム18からA/D変換器19を介して与
えられるカットオフ周波数に対応するフィルタ係数を各
々の係数ROMを参照して補間する補間機能を有してい
る。このために、A/D変換器19の出力(カットオフ周波
数指示値)の上位ビット(アドレス整数部)が上位ビッ
ト抽出回路20で抽出され、下位ビット(アドレス小数
部)が下位ビット抽出回路21で抽出される。上位ビット
抽出回路20の出力はプラス1加算回路22でプラス1され
る。上位ビット抽出回路20の出力とプラス1加算回路22
の出力は切換回路23に入力される。切換回路23は両入力
をマルチプレクスして係数ROM24をアドレッシングし、
係数ROM24の出力を第1レジスタ25、第2レジスタ26に
格納する。詳細には切換回路23は上位ビット抽出回路20
の出力(カットオフ周波数目標値の整数部)で係数ROM2
4をアドレッシングしたときには、係数ROM24から出力さ
れるカットオフ周波数目標値整数部に対応するフィルタ
係数データを第1レジスタ25に取り込ませ、プラス1加
算回路22の出力で係数ROMをアドレッシングしたときに
は、係数ROM24から出力されるカットオフ周波数目標値
整数部プラス1に相当するカットオフ周波数を与えるフ
ィルタ係数データを第2レジスタ26に取り込ませる。こ
の第1レジスタ25の出力と第2レジスタ26の出力がカッ
トオフ補間回路27に入力される。更に、下位ビット抽出
回路21からのカットオフ周波数目標値の小数部データも
カットオフ補間回路27に入力され、ここで、これらの入
力を用いて、カットオフ周波数目標値に対するフィルタ
係数が直線補間される。カットオフ補間回路27の出力
は、0検知回路28によりカットオフ周波数目標値に小数
部が含まれることが検出された場合には、切換回路29に
選択されるが、小数部がゼロのときには第1レジスタ25
の出力が切換回路29に選択される。演算回路30により切
換回路29の出力(フィルタ係数b1、b2として示す)から
残りのフィルタ係数(Kで示してある)が算出される。
FIG. 1 is a block diagram showing the function of the embodiment. The first coefficient generating circuit 1 and the second coefficient generating circuit 2 in FIG.
In, a filter coefficient for the indicated cutoff frequency is generated for the minimum resonance index and the maximum resonance index. The configurations of both circuits are the same as shown in FIG. 2, but the contents of the coefficient ROM 24 to be referred to are different. That is, in the coefficient ROM referred to by the first coefficient generation circuit 1, the filter coefficient for the minimum value of the resonance index designated by the resonance volume 3 is stored for each discrete cutoff frequency, and the second coefficient is stored. The coefficient ROM referred to by the generation circuit 1 stores the filter coefficient for the maximum value of the resonance index designated by the resonance volume 3 for each discrete cutoff frequency. Each of the coefficient generating circuits 1 and 2 has an interpolation function of interpolating the filter coefficient corresponding to the cutoff frequency given from the volume 18 through the A / D converter 19 by referring to each coefficient ROM. Therefore, the upper bit (address integer part) of the output (cutoff frequency indicating value) of the A / D converter 19 is extracted by the upper bit extraction circuit 20, and the lower bit (address decimal part) is extracted by the lower bit extraction circuit 21. It is extracted with. The output of the high-order bit extraction circuit 20 is incremented by 1 by the plus 1 addition circuit 22. Output of high-order bit extraction circuit 20 and plus 1 addition circuit 22
Is output to the switching circuit 23. The switching circuit 23 multiplexes both inputs to address the coefficient ROM 24,
The output of the coefficient ROM 24 is stored in the first register 25 and the second register 26. In detail, the switching circuit 23 is the upper bit extracting circuit 20.
Output (the cut-off frequency target value integer part) coefficient ROM2
When 4 is addressed, the filter coefficient data corresponding to the cutoff frequency target value integer part output from the coefficient ROM 24 is loaded into the first register 25, and when the coefficient ROM is addressed by the output of the plus 1 adder circuit 22, The filter coefficient data that gives the cutoff frequency corresponding to the cutoff frequency target value integer part plus 1 output from the ROM 24 is loaded into the second register 26. The output of the first register 25 and the output of the second register 26 are input to the cutoff interpolation circuit 27. Further, the fractional part data of the cutoff frequency target value from the lower bit extraction circuit 21 is also input to the cutoff interpolation circuit 27, where the filter coefficient for the cutoff frequency target value is linearly interpolated using these inputs. It The output of the cutoff interpolation circuit 27 is selected by the switching circuit 29 when the zero detection circuit 28 detects that the cutoff frequency target value includes a fractional part. 1 register 25
Is selected by the switching circuit 29. The arithmetic circuit 30 calculates the remaining filter coefficients (indicated by K) from the outputs of the switching circuit 29 (indicated by the filter coefficients b1 and b2).

このようにして、第1の係数発生回路1からは、最小の
レゾナンス指数に関し、かつボリウム18の指定したカッ
トオフ周波数に係るフィルタ係数(第1図にFb1、Fb2、
FKで示す)が出力され、第2の係数発生回路2からは最
大のレゾナンス指数に関し、かつボリウム18の指定した
カットオフ周波数に係るフィルタ係数(第1図にQb1、Q
b2、QKで示す)が出力され、レゾナンス補正用の補間回
路5に入力される。更にレゾナンス指数を指示するレゾ
ナンスボリウム3からのレゾナンス指数指示信号もA/D
変換器4を通して補間回路5に入力される。補間回路5
では、これらの入力を用いて、レゾナンス用ボリウム3
の指示するレゾナンス指数を与えるフィルタ係数を直線
補間によって算出する。この補間回路5の出力と第1、
第2の係数発生回路1、2の出力は切換回路8に入力さ
れる。切換回路8は、デジタルフィルタ9に供給するフ
ィルタ係数b1、b2、Kを選択するためのものであり、A/
D変換器4の出力に結合する最大値検出回路6により、
レゾナンス指数の指示値が最大値であることが検出され
たときは、第2の係数発生回路2の出力Qb1、Qb2、QKを
デジタルフィルタ9に送るフィルタ係数b1、b2、Kとし
て選択し、A/D変換器4の出力に結合する最小値検出回
路7によりレゾナンス指数の指示値が最小値であること
が検出されたときには第1の係数発生回路2の出力Fb
1、Fb2、FKを選択し、それ以外の場合は補間回路5から
の補間出力5をデジタルフィルタ9に転送するフィルタ
係数b1、b2、Kとして選択する。デジタルフィルタ9で
は送られてきたフィルタ係数b1、b2、Kに基づいて処理
すべき信号をフィルタリングする。
In this way, the first coefficient generating circuit 1 outputs the filter coefficients (Fb1, Fb2, Fb1, Fb2,
FK) is output, and the filter coefficient (Qb1, Qb in FIG. 1) relating to the maximum resonance index and the cutoff frequency specified by the volume 18 is output from the second coefficient generating circuit 2.
b2, indicated by QK) is output and input to the interpolation circuit 5 for resonance correction. Furthermore, the resonance index indicating signal from the resonance volume 3 which indicates the resonance index is also A / D.
It is input to the interpolation circuit 5 through the converter 4. Interpolation circuit 5
Then, using these inputs, the volume 3 for resonance
The filter coefficient that gives the resonance index indicated by is calculated by linear interpolation. The output of the interpolation circuit 5 and the first,
The outputs of the second coefficient generation circuits 1 and 2 are input to the switching circuit 8. The switching circuit 8 is for selecting the filter coefficients b1, b2, K to be supplied to the digital filter 9, and
By the maximum value detection circuit 6 coupled to the output of the D converter 4,
When it is detected that the indicated value of the resonance index is the maximum value, the outputs Qb1, Qb2, QK of the second coefficient generation circuit 2 are selected as the filter coefficients b1, b2, K to be sent to the digital filter 9, and A When the minimum value detection circuit 7 coupled to the output of the / D converter 4 detects that the indicated value of the resonance index is the minimum value, the output Fb of the first coefficient generation circuit 2
1, Fb2, FK are selected, and in other cases, the interpolation output 5 from the interpolation circuit 5 is selected as the filter coefficients b1, b2, K to be transferred to the digital filter 9. The digital filter 9 filters the signal to be processed based on the sent filter coefficients b1, b2, K.

このように、本実施例では、カットオフ周波数に関する
補間とレゾナンス指数に関する補間と組み合わせること
により、係数ROMのデータを有効に活用し、その記憶容
量の大幅な削減を達成している。なお、第1図におい
て、要素6、7、8は必ずしも必要ではなく、補間回路
5において、レゾナンス指数が最大(まはは最小)のと
きに、第2の係数回路出力(または第1の係数回路出
力)が補間出力に占める割合を100%とする処理を行う
ことにより、補間出力によって常時、デジタルフィルタ
9に供給する係数b1、b2、Kを得ることができる。
As described above, in the present embodiment, the interpolation of the cutoff frequency and the interpolation of the resonance index are combined to effectively use the data of the coefficient ROM, and the storage capacity thereof is significantly reduced. Note that, in FIG. 1, the elements 6, 7, and 8 are not always necessary, and when the resonance index is maximum (or minimum) in the interpolation circuit 5, the second coefficient circuit output (or the first coefficient) is output. The coefficient b1, b2, K to be constantly supplied to the digital filter 9 can be obtained by the interpolation output by performing the processing in which the ratio of the circuit output) to the interpolation output is 100%.

以下、具体的な実施例を説明する。第3図は電子楽器に
適用した実施例の全体のハードウェアブロック図であ
る。装置全体の制御はCPU101によって行われる。プログ
ラムROM102にCPU101の実行するプログラムが記憶され
る。係数ROM103と104に異なるレゾナンス指数に関す
る。離散的な複数のカットオフ周波数に対するフィルタ
係数がそれぞれ記憶される。RAM105はCPU101のワークメ
モリとして使用される。キーボード106から楽器の演奏
入力が与えられる。ボリウム107はデジタルフィルタの
カットオフ周波数を可変に指示する入力を与え、ボリウ
ム108はデジタルフィルタのレゾナンス指数を可変に指
示する入力を与える。音源109において楽音信号が形成
される。形成された楽音信号はデジタルフィルタ(DF)
110でフィルタリングされ、オーディオ装置111、スピー
カ112を介して放音される。
Specific examples will be described below. FIG. 3 is an overall hardware block diagram of an embodiment applied to an electronic musical instrument. The CPU 101 controls the entire apparatus. The program executed by the CPU 101 is stored in the program ROM 102. Coefficients ROM 103 and 104 relate to different resonance indices. Filter coefficients for a plurality of discrete cutoff frequencies are stored respectively. The RAM 105 is used as a work memory for the CPU 101. The keyboard 106 is provided with musical instrument performance inputs. The volume 107 provides an input for variably indicating the cutoff frequency of the digital filter, and the volume 108 provides an input for variably indicating the resonance index of the digital filter. A tone signal is formed in the sound source 109. The formed musical tone signal is a digital filter (DF)
The sound is filtered by 110 and emitted through the audio device 111 and the speaker 112.

デジタルフィルタ110の一例として2次IIRフィルタを使
用する場合の論理情報を第4図に示す。図中、201〜205
は係数乗算器であり、206〜209は1サンプルの遅延素子
であり、210は加算器である。係数乗算器のうち、入力
信号inputを乗算する係数乗算器201の係数Kと1次のフ
ィードバック乗算器202の係数b1と2次のフィードバッ
ク乗算器203の係数b2はカットオフ周波数とレゾナンス
指数に依存する値をもつ。詳細には、第4図に示される
ように、係数b1、bd、Kは b1=2(A2−1)/(A2+2aA+1) b2=(A2−2aA+1)/(A2+2aA+1) K=(1+b1+b2)/4 で与えられ、 a=cosRs A=tan(fcπ/fs) fc=カットオフ周波数 fs=サンプリング周波数 Rs=レゾナンス指数 となる。
FIG. 4 shows logical information when a second-order IIR filter is used as an example of the digital filter 110. 201-205 in the figure
Is a coefficient multiplier, 206 to 209 are delay elements of 1 sample, and 210 is an adder. Among the coefficient multipliers, the coefficient K of the coefficient multiplier 201 that multiplies the input signal input, the coefficient b1 of the first-order feedback multiplier 202 and the coefficient b2 of the second-order feedback multiplier 203 depend on the cutoff frequency and the resonance index. Has a value that In particular, as shown in Figure 4, coefficients b1, bd, K is b1 = 2 (A 2 -1) / (A 2 + 2aA + 1) b2 = (A 2 -2aA + 1) / (A 2 + 2aA + 1) K = (1 + b1 + b2) / 4, and a = cosRs A = tan (fcπ / fs) fc = cutoff frequency fs = sampling frequency Rs = resonance index.

また、フィルタの入力信号inputと出力信号outputとの
関係を示す伝達関数H(z)は で与えられる。
Further, the transfer function H (z) showing the relationship between the input signal input and the output signal output of the filter is Given in.

参考までに、第5図に異なるいくつかのレゾナンス指数
Rsを有するデジタルフィルタの周波数特性を示す。この
Rs、Fs、fcから直接的に係数b1、b2、Kを計算するには
相当の時間を要し、電子楽器のように実時間処理が要求
される用途では実現が困難である。これを避けるには、
取り得るカットオフ周波数値とレゾナンス指数値の各々
についてフィルタ係数を記憶する係数メモリを使用すれ
ばよいが、そのためには莫大な記憶容量が必要となる。
そこで、本実施例では、ボリウム107、108の指示するカ
ットオフ周波数、レゾナンス指数の分解能の幅より間隔
をあけた離散的なレゾナンス指数、カットオフ周波数に
対するフィルタ係数についてのみ係数ROM103、104に記
憶させることとし、離散点(サンプル点)以外のフィル
タ係数については補間によって求めている。また、係数
Kについては上式に従って係数b1とb2から容易に計算で
きるので特に記憶データとしては用意していない。
For reference, some different resonance indices are shown in Fig. 5.
4 shows frequency characteristics of a digital filter having Rs. this
It takes a considerable amount of time to directly calculate the coefficients b1, b2, K from Rs, Fs, fc, which is difficult to realize in an application requiring real-time processing such as an electronic musical instrument. To avoid this,
A coefficient memory for storing the filter coefficient for each of the possible cutoff frequency value and resonance index value may be used, but this requires a huge storage capacity.
Therefore, in the present embodiment, only the cutoff frequencies designated by the volumes 107 and 108, the discrete resonance index spaced from the resolution width of the resonance index, and the filter coefficients for the cutoff frequencies are stored in the coefficient ROMs 103 and 104. However, filter coefficients other than discrete points (sample points) are obtained by interpolation. Further, the coefficient K is not prepared as stored data because it can be easily calculated from the coefficients b1 and b2 according to the above equation.

第6図は特定の1つのレゾナンス指数に関して、カット
オフ周波数別のフィルタ係数を記憶する場合のメモリマ
ップ例を示したものである。ここでは、カットオフ周波
数fcの記憶サンプル点を9ケ所とっている。(A−b1)
が係数b1メモリの先頭アドレス、(A−b2)が係数b2メ
モリの先頭アドレスを示している。ボリウム107の出力
をA/D変換するA/D変換器(第3図に示さず)のビット数
を8ビットとし、指示可能なカットオフ周波数の縦数を
128とし、各カットオフ周波数指示値を0〜127としたと
き、指示値の分解能の16倍の間隔で係数ROM103の隣り合
うアドレスにフィルタ係数が記憶される(9点サンプル
の場合)。第6図において、各係数に付く数字はカット
オフ周波数のサンプル位置を16進で示したものであり、
例えば、b10Hは、10Hのカットオフ周波数指示値に対す
る係数を表わしている。したがって、ボリウム107からA
/D変換器を通して与えられる8ビットのカットオフ周波
数指示値の上位4ビットがアドレス整数部として各係数
メモリの相対アドレスを示し、下位4ビットが、アドレ
ス小数部を示す。
FIG. 6 shows an example of a memory map in the case of storing the filter coefficient for each cutoff frequency with respect to one specific resonance index. Here, there are nine memory sampling points of the cutoff frequency fc. (A-b1)
Indicates the start address of the coefficient b1 memory, and (A-b2) indicates the start address of the coefficient b2 memory. The number of bits of the A / D converter (not shown in FIG. 3) for A / D converting the output of the volume 107 is set to 8 bits, and the vertical number of the cutoff frequency that can be indicated is set.
If the cutoff frequency instruction value is 128 and the cutoff frequency instruction value is 0 to 127, filter coefficients are stored in adjacent addresses of the coefficient ROM 103 at intervals of 16 times the resolution of the indicated value (in the case of 9-point sample). In Fig. 6, the number attached to each coefficient indicates the cutoff frequency sample position in hexadecimal,
For example, b10H represents a coefficient for the cutoff frequency instruction value of 10H. Therefore, volume 107 to A
The upper 4 bits of the 8-bit cutoff frequency instruction value given through the / D converter indicate the relative address of each coefficient memory as an address integer part, and the lower 4 bits indicate the address decimal part.

レゾナンス指数が1種類だけの係数ROMのみでは、可変
のレゾナンス指数に対するフィルタ係数を補間できな
い。このためには、最低2種類の異なるレゾナンス指数
に関する係数ROMが必要となる。このためのメモリマッ
プ例を第7図に示す。第7図において、Fb1は第1(最
小)のレゾナンス指数に対するフィルタ係数b1をカット
オフ周波数別に記憶するメモリ、Fb2は最小のレゾナン
ス指数に対するフィルタ係数b2をカットオフ周波数別に
記憶するメモリを表わし、同様にQb1、Qb2は第2(最
大)のレゾナンス指数に対するフィルタ係数b1、b2をそ
れぞれ記憶するメモリを表わしている。例えば、第1の
レゾナンス指数の値としてπ/4、第2のレゾナンス指数
の値として37π/90を使用できる。第1のレゾナンス指
数の値はレゾナンス用ボリウム108で指示可能なレゾナ
ンス最大値を表わし、第2のレゾナンス指数の値はレゾ
ナンス用ボリウム108で指示可能なレゾナンス最大値を
表わす。いま、レゾナンス指数用ボリウム108の出力
(デジタル後の出力)が有効5ビットとし、その値が0
〜16(10進)の範囲をとるとすると、後述するレゾナン
ス補間処理により、17段階の補間が可能となる。第8図
は、ボリウム108の5ビット出力が意味するレゾナンス
指数の値(ここではdBで表現している)を示した表であ
る。例えば、ボリウム108の出力00000(2進)は−3dB
のレゾナンス利得を表わし、ボリウム出力10000は+5.0
dBのレゾナンス利得を表わす。この場合、ボリウムのレ
ゾナンス指示の分解能は0.5dBとなる。第5図に示すよ
うに、Rs=π/4のとき、カットオフ周波数fcにおけるフ
ィルタ通過域に対する相対利得(レゾナンス利得)がほ
ぼ−3dBとなり、Rs=37π/90のときレゾナンス利得がほ
ぼ+5dBとなる。
The filter coefficient for a variable resonance index cannot be interpolated with only the coefficient ROM having only one kind of resonance index. For this purpose, at least two types of coefficient ROMs for different resonance indices are required. An example of a memory map for this purpose is shown in FIG. In FIG. 7, Fb1 represents a memory that stores the filter coefficient b1 for the first (minimum) resonance index for each cutoff frequency, and Fb2 represents a memory that stores the filter coefficient b2 for the minimum resonance index for each cutoff frequency. Further, Qb1 and Qb2 represent memories for respectively storing the filter coefficients b1 and b2 for the second (maximum) resonance index. For example, π / 4 can be used as the value of the first resonance index and 37π / 90 can be used as the value of the second resonance index. The value of the first resonance index represents the maximum value of resonance that can be indicated by the volume 108 for resonance, and the value of the second resonance index represents the maximum value of resonance that can be indicated by the volume 108 for resonance. Now, the output of the volume 108 for resonance index (output after digital) is set to 5 effective bits, and the value is 0.
Assuming that the range is -16 (decimal), 17 levels of interpolation can be performed by the resonance interpolation process described later. FIG. 8 is a table showing the values of the resonance index (expressed in dB here) which means the 5-bit output of the volume 108. For example, output 00000 (binary) of volume 108 is -3dB
Resonance gain of, volume output 10000 is +5.0
Resonance gain in dB. In this case, the resolution of the volume resonance instruction is 0.5 dB. As shown in Fig. 5, when Rs = π / 4, the relative gain (resonance gain) with respect to the filter pass band at the cutoff frequency fc is about -3 dB, and when Rs = 37π / 90, the resonance gain is about +5 dB. Become.

第9図〜第11図に異なるレゾナンス指数をもつフィルタ
の極のカットオフ周波数の変化に対する軌跡を示す。第
9図はレジスタRs=45度、第10図はレゾナンス指数Rs=
74度、第11図はレゾナンス指数Rs=1度に対する図であ
り、これらの図において、カーブA1、A2、A3が上述した
式によって係数b1、b2、Kを直接求めたときに得られる
理想的な極の軌跡である。一方、カーブB1、B2、B3は各
図の左に示す数値をカットオフ周波数比fc/fsのサンプ
ル点として、サンプル点間をカットオフ周波数について
補間したフィルタ係数によって得られる極の補間軌跡で
ある。また、第12図にも、レゾナンス指数Rs=45度、の
ときの理想的な極の軌跡Aとともに、a8〜i8のサンプル
点としたときの補間軌跡Bを示す。第13図は、この補間
軌跡Bに対応するフィルタ周波数特性を示す。
9 to 11 show loci with respect to changes in the cutoff frequency of the poles of the filters having different resonance indices. Fig. 9 shows register Rs = 45 degrees, Fig. 10 shows resonance index Rs =
74 degrees and FIG. 11 are figures for the resonance index Rs = 1 degree. In these figures, the curves A1, A2, A3 are ideal values obtained when the coefficients b1, b2, K are directly obtained by the above equations. It is the trajectory of the pole. On the other hand, the curves B1, B2, and B3 are the pole interpolation loci obtained by the filter coefficients obtained by interpolating the cutoff frequency between the sample points with the numerical values shown on the left of each figure as sample points of the cutoff frequency ratio fc / fs. . Further, also FIG. 12, resonance index Rs = 45 degrees, the ideal pole with the trajectory A of the time, showing the interpolation trajectory B when a sample point of a 8 through i 8. FIG. 13 shows a filter frequency characteristic corresponding to the interpolation locus B.

ボリウム107の指示するカットオフ周波数と、ボリウム1
08の指示するレゾナンス指数に対応するフィルタ係数を
得るために、CPU101によって実行される処理のフローを
第14図に示す。
Cutoff frequency indicated by volume 107 and volume 1
FIG. 14 shows a flow of processing executed by the CPU 101 to obtain the filter coefficient corresponding to the resonance index designated by 08.

まず14−1で、最小のレゾナンス指数に関するフィルタ
係数のなかでカットオフボリウム108の指示するカット
オフ周波数を与えるフィルタ係数を、第7図のメモリFb
1、Fb2を参照して、補間し、14−2で、最大のレゾナン
ス指数に関するフィルタ係数のなかでカットオフボリウ
ム108の指示するカットオフ周波数を与えるフィルタ係
数を第7図のメモリQb1、Qb2を参照して補間する。14−
1、14−2の処理の詳細を第15図に示す。ここでは、ボ
リウム107のカットオフ周波数指示値(レゾナンスRsg0
に格納されている)は8ビットで0〜127(10進)の値
をとることを想定し、また、係数ROMのカットオフ周波
数のサンプル点数が9個であり、サンプル点間のカット
オフ周波数の間隔が、カットオフ周波数指示値の分解能
の16倍であることを想定している。したがって、カット
オフ周波数指示値の上位4ビットにより、係数ROMに対
してアクセスすべきアドレスの相対値(整数部)が定ま
り、下位4ビットにより、カットオフ周波数指示値の小
数部が定まることになる。
First, in 14-1, the filter coefficient that gives the cutoff frequency designated by the cutoff volume 108 among the filter coefficients related to the minimum resonance index is stored in the memory Fb of FIG.
1 and Fb2 are interpolated, and at 14-2, the filter coefficient giving the cutoff frequency indicated by the cutoff volume 108 among the filter coefficients relating to the maximum resonance index is stored in the memories Qb1 and Qb2 of FIG. Refer to and interpolate. 14-
The details of the processes 1 and 14-2 are shown in FIG. Here, the cutoff frequency instruction value of the volume 107 (resonance Rsg0
(Stored in) is assumed to take a value of 0 to 127 (decimal) in 8 bits, and the number of sample points of the cutoff frequency of the coefficient ROM is 9, and the cutoff frequency between sample points is It is assumed that the interval is 16 times the resolution of the cutoff frequency indication value. Therefore, the upper 4 bits of the cutoff frequency instruction value determine the relative value (integer part) of the address to be accessed to the coefficient ROM, and the lower 4 bits determine the fractional part of the cutoff frequency instruction value. .

まず、10−1でレジスタReg0にあるカットオフ周波数指
示値(8ビット)をレジスタReg1にコピーする。次に10
−2で、レジスタReg1の内容を右に4ビットシフトす
る。これにより、例えば、カットオフ周波数指示値が48
Hのときは、04Hが得られる。このシフト結果の数値はカ
ットオフ周波数指示値の整数部を表わし、係数ROM103の
各係数メモリに対する相対アドレスを示す。そこで、b1
係数メモリの先頭アドレスA−b1(14−1のとき、A−
Fb1、14−2のとき、A−Qb1)+REG1で示されるアドレ
スにある係数b1(Reg1)と、b2係数メモリの先頭アドレ
スA−b2(14−1に対して、A−Fb2、14−2に対し
て、A−Qb2)+REG1で示されるアドレスにある係数b2
(Reg1)を読み出す(10−3)。ここに、係数b1(Reg
1)係数(REG1)はカットオフ周波数指示値の整数部が
示すカットオフ周波数を与える係数b1、b2の値を有す
る。次に、Reg0と0FHの論理積をとってカットオフ周波
数指示値の小数部の有無を調べる(10−4)。小数部が
ゼロのときは、カットオフ周波数指示値は整数値なの
で、10−3で読んだ係数値b1(Reg1)、b2(Reg2)をそ
れぞれb1、b2レジスタ(カットオフ周波数指示値に対す
る係数b1、b2を格納するレジスタ)に格納する。小数部
があるときは、カットオフ周波数指示値の整数部が示す
係数メモリアドレスの次アドレスにある各係数b1(Reg
+1)、b2(Reg+1)を読み出す(10−6)。そし
て、△b1=b1(Reg1+1)−b1(Reg1)、△2b=b2(Re
g1+1)−b2(Reg1)により、各係数メモリから参照し
た隣り合うフィルタ係数の差△b1、△b2を求め、この差
△b1、△b2とカットオフ周波数指示値の小数部(Reg0∧
0FH)を用いて、b1=b1(Reg1)+(△b1×(Reg0∧0F
H)/16)b2=b2(Reg1)+(△b2×(Reg0∧0FH)/16)
により、カットオフ周波数指示値Reg0が示すカットオフ
周波数を与える係数b1、b2を直線補間する。最後に、係
数b1、b2を用いて、K=(1+b1+b2)/4により残りの
係数Kを算出する(10−8)。なお、10−4のチェック
を行わずに、10−3から10−6→10−7→10−8のよう
に処理を行っても結果は同じになる。
First, in 10-1, the cutoff frequency instruction value (8 bits) in the register Reg0 is copied to the register Reg1. Then 10
At -2, the contents of register Reg1 are shifted to the right by 4 bits. As a result, for example, the cutoff frequency indication value is 48
When H, 04H is obtained. The numerical value of this shift result represents the integer part of the cutoff frequency instruction value, and indicates the relative address of the coefficient ROM 103 with respect to each coefficient memory. So b1
Start address of coefficient memory A-b1 (A14-A when A-1
In the case of Fb1 and 14-2, the coefficient b1 (Reg1) at the address indicated by A-Qb1) + REG1 and the start address A-b2 (14-1 of the b2 coefficient memory, A-Fb2, 14-2 , The coefficient b2 at the address indicated by A-Qb2) + REG1
Read (Reg1) (10-3). Where the coefficient b1 (Reg
1) The coefficient (REG1) has the values of coefficients b1 and b2 that give the cutoff frequency indicated by the integer part of the cutoff frequency instruction value. Next, the logical product of Reg0 and 0FH is calculated to check whether or not there is a fractional part of the cutoff frequency instruction value (10-4). When the fractional part is zero, the cutoff frequency instruction value is an integer value, so the coefficient values b1 (Reg1) and b2 (Reg2) read in 10-3 are set to the b1 and b2 registers (coefficient b1 for the cutoff frequency instruction value, respectively). , B2) to store). When there is a fractional part, each coefficient b1 (Reg is at the next address of the coefficient memory address indicated by the integer part of the cutoff frequency instruction value.
+1) and b2 (Reg + 1) are read (10-6). Then, Δb1 = b1 (Reg1 + 1) −b1 (Reg1), Δ2b = b2 (Re
g1 + 1) -b2 (Reg1) finds the differences Δb1 and Δb2 between adjacent filter coefficients referenced from each coefficient memory, and the differences Δb1 and Δb2 and the fractional part of the cutoff frequency instruction value (Reg0 ∧
0FH), b1 = b1 (Reg1) + (△ b1 × (Reg0 ∧ 0F
H) / 16) b2 = b2 (Reg1) + (△ b2 × (Reg0∧0FH) / 16)
Thus, the coefficients b1 and b2 that give the cutoff frequency indicated by the cutoff frequency instruction value Reg0 are linearly interpolated. Finally, using the coefficients b1 and b2, the remaining coefficient K is calculated by K = (1 + b1 + b2) / 4 (10-8). Even if the process is performed from 10-3 to 10-6 → 10-7 → 10-8 without checking 10-4, the result is the same.

処理14−1ではこのようにして得た係数b1、b2、Kを最
後の処理(図示せず)でFb1、Fb2、FKレジスタに格納
し、処理14−2ではその最後の処理で、係数b1、b2、K
をQb1、Qb2、QKレジスタに格納する。以上で、カットオ
フ周波数に関する補間処理が完了しており、Fb1、Fb2、
FKレジスタには、最小ののレゾナンス指数(−3dB)に
関するカットオフ周波数指示値対応のフィルタ係数が入
っており、Qb1、Qb2、QKレジスタには最大のレゾナンス
指数(+5dB)に関するカットオフ周波数指示値対応の
フィルタ係数が入っている。
In process 14-1, the coefficients b1, b2, K thus obtained are stored in the Fb1, Fb2, FK registers in the final process (not shown), and in process 14-2, the coefficient b1 is stored in the final process. , B2, K
Are stored in the Qb1, Qb2, and QK registers. With the above, interpolation processing regarding the cutoff frequency is completed, and Fb1, Fb2,
The FK register contains the filter coefficient corresponding to the cutoff frequency instruction value for the minimum resonance index (−3 dB), and the Qb1, Qb2, and QK registers contain the cutoff frequency instruction value for the maximum resonance index (+5 dB). Contains the corresponding filter coefficients.

そこで、以下の処理で、レゾナンス指数に関する補間処
理を行う。まず、Qレジスタに入っているボリウム108
からのレゾナンス指数指示値と10Hとの論理積をとるこ
とにより、指示値Qがレゾナンスの最大値+5dB(第8
図参照)を示しているかどうか調べる(14−3)。成立
する場合には、そのレゾナンス指数に対するフィルタ係
数がQb1、Qb2、QKの各レジスタに入っているので、その
内容の写しをb1、b2、Kレジスタにとる(14−4)。不
成立の場合は、14−5に進み、レゾナンス指数指示値Q
と0FHの論理積をとって指示値Qが最小のレゾナンス指
数(−3dB)を示しているかどうかを調べ、成立すれ
ば、必要なフィルタ係数はFb1、Fb2、FKの各レジスタに
入っているので、その内容の写しをb1、b2、Kレジスタ
にとる(14−6)。指示されるレゾナンス指数が最大で
も最小でもない場合は、14−7に進み、ここで、△b1=
Qb−1−Fb1、△b2=Qb2−Fb2、△K=QK−FKにより、
カットオフ周波数補間済の最大のレゾナンス指数に係る
フィルタ係数と最小のレゾナンス指数に係るフィルタ係
数との差△b1、△b2、△Kを算出する。そして、14−8
で、この差分△b1、△b2、△Kと指示されたレゾナンス
指数の値Qとフィルタ係数Fb1、Fb2、FKを用いて、b1=
Fb1+(△b1×Q/16)、b2=Fb2+(△b2×Q/16)、K=
FK+(△K×Q/16)に従って、指示されたレゾナンス指
数に関してフィルタ係数値を補間する。このようにして
得られたフィルタ係数b1、b2、Kは、ボリウム107の指
示するカットオフ周波数とボリウム108の指示するレゾ
ナンス指数を与えるフィルタ係数値をもつものである。
したがって、係数ROM102、103の記憶容量を節約しつ
つ、ボリウム107、108からの可変のカットオフ周波数指
示入力、レゾナンス指数指示入力に対して、実時間ベー
スで対応するフィルタ係数を生成できる。
Therefore, the interpolation processing regarding the resonance index is performed by the following processing. First, volume 108 in the Q register
By taking the logical product of the resonance index indicated value from and the 10H, the indicated value Q is the maximum value of resonance +5 dB (8th
(14-3). If so, the filter coefficients for the resonance index are stored in the Qb1, Qb2, and QK registers, and a copy of the contents is stored in the b1, b2, and K registers (14-4). If not established, proceed to 14-5 and set the resonance index instruction value Q.
And 0FH are ANDed to check whether the indicated value Q shows the minimum resonance index (−3 dB). If it is satisfied, the necessary filter coefficients are stored in the Fb1, Fb2, and FK registers. , Copy the contents to b1, b2, K registers (14-6). If the indicated resonance index is neither maximum nor minimum, proceed to 14-7, where Δb1 =
From Qb-1-Fb1, △ b2 = Qb2-Fb2, △ K = QK-FK,
Differences Δb1, Δb2, and ΔK between the filter coefficient related to the maximum resonance index and the filter coefficient related to the minimum resonance index after the cutoff frequency interpolation are calculated. And 14-8
Then, using the resonance index value Q and the filter coefficients Fb1, Fb2, and FK designated as the differences Δb1, Δb2, and ΔK, b1 =
Fb1 + (△ b1 × Q / 16), b2 = Fb2 + (△ b2 × Q / 16), K =
Interpolate the filter coefficient values according to the indicated resonance index according to FK + (ΔK × Q / 16). The filter coefficients b1, b2, K obtained in this way have filter coefficient values that give the cutoff frequency specified by the volume 107 and the resonance index specified by the volume 108.
Therefore, while saving the storage capacity of the coefficient ROMs 102 and 103, it is possible to generate filter coefficients corresponding to variable cutoff frequency instruction input and resonance index instruction input from the volumes 107 and 108 on a real-time basis.

以上で実施例の説明を終えるが、この発明の範囲内で種
々変形、変更が可能である。例えば、3種類以上の離散
的なレゾナンス指数に係るフィルタ係数を係数ROMに記
憶させるようにしてもよい。この場合、レゾナンス指数
指示値の上位ビットに従ってカットオフ周波数補間処理
14−1、14−2で参照するメモリを選択する(どのレゾ
ナンス指数に係るフィルタ係数を記憶するメモリを参照
するかをレゾナンス指数指示値の上位ビットで決める)
ようにすれば、より効率のよい処理が可能である。ま
た、フィルタ係数ROMに記憶するデータを係数値そのも
のではなく係数値の差分とすれば、より記憶容量を節約
できる。また、デジタルフィルタ110としては2次IIRフ
ィルタに限らず、任意の適当な次数、タイプのデジタル
フィルタが使用できる。また、ボリウム107、108のよう
な手動の操作子の代りに、時間によって値が変化する関
数と自動発生する関数(波形)発生器を使用できる。
Although the description of the embodiment has been completed, various modifications and changes can be made within the scope of the present invention. For example, three or more types of filter coefficients related to discrete resonance indices may be stored in the coefficient ROM. In this case, cutoff frequency interpolation processing is performed according to the upper bits of the resonance index instruction value.
Select the memory to be referred to by 14-1 and 14-2 (decide which memory to store the filter coefficient related to the resonance index is determined by the high-order bit of the resonance index instruction value)
By doing so, more efficient processing is possible. If the data stored in the filter coefficient ROM is not the coefficient value itself but the difference between the coefficient values, the storage capacity can be further saved. Further, the digital filter 110 is not limited to the second-order IIR filter, and any suitable order and type of digital filter can be used. Further, instead of manual operators such as the volumes 107 and 108, a function whose value changes with time and a function (waveform) generator which automatically generates can be used.

[発明の効果] 以上、詳細に説明したように、フィルタ係数記憶手段に
は離散的なカットオフ周波数、離散的なレゾナンス指数
の各々に対するフィルタ係数を記憶させてから、与えら
れたカットオフ周波数指示値とレゾナンス指数指示値に
対するフィルタ係数を得るために、カットオフ周波数指
示値について補間されたフィルタ係数を上記フィルタ係
数記憶手段を参照して最大及び最小のレゾナンス指数2
組についてフィルタ係数を夫々求め更に、この2組のフ
ィルタ係数を用いて、指示されたレゾナンス指数に対す
るフィルタ係数を補間しているので、装置の記憶容量を
大幅に削減できる。しかも本願発明は、指定されたカッ
トオフ周波数の値を複数ビットのデジタルデータに変換
し、このうち上位側の所定数のビットの値に基づいてフ
ィルタ係数を読み出すように、下位側の残りのビットの
値がゼロのときはこの読み出されたフィルタ係数をその
まま出力する。そして下位側ビットの値がゼロでないな
ら、この読み出されたフィルタ係数と、上位側所定数ビ
ットに1加算した値に基づいて読み出されたフィルタ係
数、さらには下位側の残りのビットの値に基づいてフィ
ルタ係数を補間して作成するようにしているので、用い
られるフィルタ係数がメモリに記憶されているときは補
間演算をする必要がなく、さらに補間演算が必要か否か
もカットオフ周波数に対応するデジタルデータの下位側
ビットの値を検出するだけでよいので、その分だけフィ
ルタリング処理の時間が短くなり、可変のカットオフ周
波数、レゾナンス指数の指示入力に追従する高速のフィ
ルタ制御が可能となる。
[Effects of the Invention] As described in detail above, the filter coefficient storage means stores the filter coefficients for each of the discrete cutoff frequency and the discrete resonance index, and then the cutoff frequency instruction given is given. In order to obtain a filter coefficient for the value and the resonance index instruction value, the filter coefficient interpolated for the cutoff frequency instruction value is referred to the above filter coefficient storage means, and the maximum and minimum resonance index 2 is obtained.
Since the filter coefficients are obtained for each set and the filter coefficients for the designated resonance index are interpolated using these two sets of filter coefficients, the storage capacity of the device can be significantly reduced. Moreover, the present invention converts the value of the specified cutoff frequency into a plurality of bits of digital data, and reads out the filter coefficient based on the value of a predetermined number of bits on the upper side, and the remaining bits on the lower side are read. When the value of is zero, the read filter coefficient is output as it is. If the value of the lower bit is not zero, the read filter coefficient, the filter coefficient read based on the value obtained by adding 1 to the upper predetermined bits, and the value of the remaining lower bit Since the filter coefficient is interpolated and created based on, it is not necessary to perform the interpolation calculation when the filter coefficient used is stored in the memory. Since it is only necessary to detect the value of the lower bit of the corresponding digital data, the filtering process time is shortened accordingly, and high-speed filter control that follows variable cutoff frequency and resonance index instruction input is possible. Become.

【図面の簡単な説明】[Brief description of drawings]

第1図はこの発明の実施例の機能を示すブロック図、 第2図は第1図の第1(第2)の係数発生回路の機能ブ
ロック図、 第3図は電子楽器に適用した実施例のハードウェアブロ
ック図、 第4図は第3図のデジタルフィルタとして使用可能な2
次IIRフィルタのブロック図、 第5図は異なるレゾナンス指数に対するフィルタの周波
数特性を示す図、 第6図は係数ROMのメモリマップ例を示す図、 第7図は2種類のレゾナンス指数を与える係数ROMのメ
モリマップ例を示す図、 第8図はレゾナンス指数入力データとレゾナンス指数の
対応を示す図、 第9図、第10図、第11図、第12図はフィルタの理想的な
極の軌跡をカットオフ周波数補間による極の軌跡を示す
図、 第13図は第12図の補間された極の軌跡に対応するフィル
タの周波数特性を示す図、 第14図と第15図は第1図のCPUにより実行されるフィル
タ係数補間処理のフローチャートである。 1……第1の係数発生回路、2……第2の係数発生回
路、3……レゾナンス用ボリウム、5……レゾナンス指
数補間回路、9……デジタルフィルタ、18……ボリウ
ム、24……係数ROM、27……カットオフ補間回路、101…
…CPU、102……プログラムROM、103、104……係数ROM、
107……カットオフ用ボリウム、108……レゾナンス用ボ
リウム。
FIG. 1 is a block diagram showing the function of an embodiment of the present invention, FIG. 2 is a functional block diagram of the first (second) coefficient generating circuit of FIG. 1, and FIG. 3 is an embodiment applied to an electronic musical instrument. Fig. 4 is a hardware block diagram of the
Next block diagram of IIR filter, FIG. 5 is a diagram showing frequency characteristics of the filter with respect to different resonance indices, FIG. 6 is a diagram showing an example of a memory map of a coefficient ROM, and FIG. 7 is a coefficient ROM giving two types of resonance indices. Fig. 8 shows an example of the memory map of Fig. 8, Fig. 8 shows the correspondence between resonance index input data and resonance index, and Fig. 9, Fig. 10, Fig. 11, Fig. 12 show the ideal pole loci of the filter. Fig. 13 shows the pole locus by cutoff frequency interpolation, Fig. 13 shows the frequency characteristics of the filter corresponding to the interpolated pole locus of Fig. 12, and Figs. 14 and 15 show the CPU of Fig. 1. 5 is a flowchart of a filter coefficient interpolation process executed by 1 ... First coefficient generating circuit, 2 ... Second coefficient generating circuit, 3 ... Resonance volume, 5 ... Resonance index interpolation circuit, 9 ... Digital filter, 18 ... Volume, 24 ... Coefficient ROM, 27 ... Cutoff interpolation circuit, 101 ...
… CPU, 102 …… Program ROM, 103, 104 …… Coefficient ROM,
107 …… Cutoff volume, 108 …… Resonance volume.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】カットオフ周波数を可変に指示するカット
オフ周波数指示手段と、 レゾナンス指数を可変に指示するレゾナンス指数指示手
段と、 上記カットオフ周波数指示手段にて指示されたカットオ
フ周波数の値を対応した複数ビットのデジタルデータに
変換する変換手段と、 限られた数の離散的なカットオフ周波数の各々に対し
て、最大のレゾナンス指数を持つフィルタ特性を与える
フィルタ係数を記憶する第1フィルタ係数記憶手段と、 限られた数の離散的なカットオフ周波数の各々に対して
最小のレゾナンス指数をもつフィルタ特性を与えるフィ
ルタ係数を記憶する第2フィルタ係数記憶手段と、 上記変換手段から出力される複数ビットの上位側から所
定数のビットの値をアドレスデータとしてこの第1及び
第2フィルタ係数記憶手段から最大のレゾナンス指数を
もつフィルタ係数及び最小のレゾナンス指数をもつフィ
ルタ係数を夫々読み出す読み出し手段と、 上記変換手段より出力される複数ビットのデジタルデー
タの下位側の残りのビットの値がゼロか否か検出する検
出手段と、 この検出手段によりゼロが検出された場合は上記読み出
し手段により読み出された最大のレゾナンス指数をもつ
フィルタ係数を出力するとともに、ゼロが検出されない
場合は上記変換手段から出力される複数ビットの上位側
から所定数のビットの値に1加算した値をアドレスデー
タとして上記第1フィルタ係数記憶手段から読み出され
たフィルタ係数、上記読み出し手段にて読み出されたフ
ィルタ係数及び上記下位側の残りのビットの値に基づい
て補間して最大のレゾナンス指数をもつフィルタ係数を
作成する第1補間手段と、 この検出手段によりゼロが検出された場合は上記読み出
し手段により読み出された最小のレゾナンス指数をもつ
フィルタ係数を出力するとともに、ゼロが検出されない
場合は上記変換手段から出力される複数ビットの上位側
から所定数のビットの値に1加算した値をアドレスデー
タとして上記第2フィルタ係数記憶手段から読み出され
たフィルタ係数、上記読み出し手段にて読み出されたフ
ィルタ係数及び上記下位側の残りのビットの値に基づい
て補間して最小のレゾナンス指数をもつフィルタ係数を
作成する第2補間手段と、 上記第1補間手段からの最大のレゾナンス指数をもつフ
ィルタ係数に対応する出力と上記第2補間手段からの最
小のレゾナンス指数をもつフィルタ係数に対応する出力
とを参照して上記レゾナンス指数指示手段から指示され
たレゾナンス指数に対応するフィルタ係数を補間する第
3補間手段と、 上記第3補間手段からのフィルタ係数に従って入力信号
をフィルタリングするフィルタリング手段と、 を有することを特徴とするデジタルフィルタ装置。
1. A cutoff frequency instructing means for variably instructing a cutoff frequency, a resonance index instructing means for variably instructing a resonance index, and a value of the cutoff frequency instructed by the cutoff frequency instructing means. Conversion means for converting to corresponding plural bits of digital data, and a first filter coefficient for storing a filter coefficient giving a filter characteristic having a maximum resonance index for each of a limited number of discrete cutoff frequencies. A storage means, a second filter coefficient storage means for storing a filter coefficient that gives a filter characteristic having a minimum resonance index for each of a limited number of discrete cutoff frequencies, and output from the conversion means. The first and second filter coefficient memory stores the value of a predetermined number of bits from the upper side of the plurality of bits as address data. Read means for reading out the filter coefficient having the maximum resonance index and the filter coefficient having the minimum resonance index from the stage, respectively, and the value of the remaining bits on the lower side of the digital data of a plurality of bits output from the conversion means is zero. Detecting means for detecting whether or not, when zero is detected by this detecting means, the filter coefficient having the maximum resonance index read by the reading means is outputted, and when zero is not detected, the converting means is outputted from the converting means. A filter coefficient read from the first filter coefficient storage means as a value obtained by adding 1 to the value of a predetermined number of bits from the upper side of the plurality of output bits, and a filter coefficient read by the read means. And the value having the maximum resonance index by interpolation based on the value of the remaining bits on the lower side. A first interpolating means for creating a filter coefficient, and a filter coefficient having the minimum resonance index read by the reading means when the zero is detected by the detecting means, and the zero when the zero is not detected. A filter coefficient read from the second filter coefficient storage means as a value obtained by adding 1 to the value of a predetermined number of bits from the upper side of the plurality of bits output from the conversion means, and read by the read means. Second interpolation means for creating a filter coefficient having a minimum resonance index by performing interpolation based on the filter coefficient and the value of the remaining bits on the lower side, and a filter having a maximum resonance index from the first interpolation means. See the output corresponding to the coefficient and the output corresponding to the filter coefficient having the minimum resonance index from the second interpolation means. And a third interpolation means for interpolating a filter coefficient corresponding to the resonance index designated by the resonance index designating means, and a filtering means for filtering the input signal in accordance with the filter coefficient from the third interpolation means. A digital filter device.
JP1341503A 1989-12-30 1989-12-30 Digital filter device Expired - Fee Related JPH0691417B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1341503A JPH0691417B2 (en) 1989-12-30 1989-12-30 Digital filter device
US07/628,572 US5157623A (en) 1989-12-30 1990-12-17 Digital filter with dynamically variable filter characteristics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1341503A JPH0691417B2 (en) 1989-12-30 1989-12-30 Digital filter device

Publications (2)

Publication Number Publication Date
JPH03204215A JPH03204215A (en) 1991-09-05
JPH0691417B2 true JPH0691417B2 (en) 1994-11-14

Family

ID=18346568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1341503A Expired - Fee Related JPH0691417B2 (en) 1989-12-30 1989-12-30 Digital filter device

Country Status (1)

Country Link
JP (1) JPH0691417B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114779721B (en) * 2022-06-20 2022-09-02 济南邦德激光股份有限公司 Method, apparatus, and storage medium for performing velocity filtering based on location points

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57142022A (en) * 1981-02-26 1982-09-02 Casio Comput Co Ltd Resonance characteristic controlling system in digital filter
JPS6323949A (en) * 1986-07-17 1988-02-01 Mitsubishi Rayon Co Ltd Resin composition

Also Published As

Publication number Publication date
JPH03204215A (en) 1991-09-05

Similar Documents

Publication Publication Date Title
US5157623A (en) Digital filter with dynamically variable filter characteristics
JP2623942B2 (en) Music signal generator
US5270954A (en) Filter device and electronic musical instrument using the filter device
KR100192198B1 (en) Method and apparatus for processing discontinuities in digital sound signals caused by pitch control
US8583717B2 (en) Signal processing circuit
US4700603A (en) Formant filter generator for an electronic musical instrument
US5243658A (en) Modulation effect adding apparatus
JP3041865B2 (en) Digital filter device
JPH0691417B2 (en) Digital filter device
JP4961946B2 (en) Filter device and electronic musical instrument
JPH0691418B2 (en) Digital filter device
KR0185682B1 (en) Method and apparatus for processing audio signal
US5745743A (en) Digital signal processor integrally incorporating a coefficient interpolator structured on a hardware basis
JP2608938B2 (en) Waveform interpolation device
JP5549691B2 (en) Filter device and electronic musical instrument
JP3223560B2 (en) Waveform data reading device
JP2769690B2 (en) Delay device
JP2897680B2 (en) Music signal generator
JPH06202752A (en) Interpolating device for exponential function data
JP2589199B2 (en) Nonlinear conversion method of digital data and signal processing device using the same
JPH05134674A (en) Waveform generating device
CN115865044A (en) Fixed-point IIR filter supporting floating-point coefficients and electronic device
JPH06186976A (en) Waveform data output device
JPH06236185A (en) Musical sound generating device
JP3078696B2 (en) Reciprocal arithmetic unit

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071114

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees