[go: up one dir, main page]

JP3041865B2 - デジタルフィルタ装置 - Google Patents

デジタルフィルタ装置

Info

Publication number
JP3041865B2
JP3041865B2 JP1341504A JP34150489A JP3041865B2 JP 3041865 B2 JP3041865 B2 JP 3041865B2 JP 1341504 A JP1341504 A JP 1341504A JP 34150489 A JP34150489 A JP 34150489A JP 3041865 B2 JP3041865 B2 JP 3041865B2
Authority
JP
Japan
Prior art keywords
cutoff frequency
filter
value
target value
coefficient
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 - Lifetime
Application number
JP1341504A
Other languages
English (en)
Other versions
JPH03204216A (ja
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 JP1341504A priority Critical patent/JP3041865B2/ja
Priority to US07/608,572 priority patent/US5140541A/en
Publication of JPH03204216A publication Critical patent/JPH03204216A/ja
Priority to US07/872,922 priority patent/US5255215A/en
Application granted granted Critical
Publication of JP3041865B2 publication Critical patent/JP3041865B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0294Variable filters; Programmable filters

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Networks Using Active Elements (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] この発明はデジタル的にフィルタ処理を行うデジタル
フィルタ装置に関する。
[従来技術とその問題点] 電子楽器等にデジタルフィルタを適用する場合には、
フィルタの特性を動的に変化できることが望まれる。カ
ットオフ周波数はフィルタの通過域としゃ断域との境界
を示すパラメータであり、カットオフ周波数を変えるこ
とによって音質や音色を変更できる。カットオフ周波数
から、デジタルフィルタの伝達関数の各係数(フィルタ
係数)を直接的に計算することは可能であるが、この計
算には三角関数の計算等が望まれるため、計算に相当の
時間を要し、他の処理も行わなければならない制御装置
(CPU)にとって、負担が大きすぎる。そこで、カット
オフ周波数の各値に対するフィルタ係数を記憶するメモ
リ(フィルタ係数変換テーブル)を用意しておき、カッ
トオフ周波数の指示値でこの変換メモリをアクセスし
て、対応するフィルタ係数を得る方式が採用される。し
かし、すべてのカットオフ周波数の指示値に対するフィ
ルタ係数を記憶するためには、変換メモリの記憶容量が
著しく大きくなってしまうという問題がある。
一方、カットオフ周波数の指示値が切り換えられた場
合に、デジタルフィルタ回路で入力信号のフィルタ処理
に使用するフィルタ係数を、切換前のカットオフ周波数
の指示値に対するフィルタ係数の値から、切換後のカッ
トオフ周波数の指示値に対するフィルタ係数の値に瞬時
に切り換えを行うと、ノイズ等が発生するおそれがあ
り、楽音の応用では重大な支障をきたす。これを防止す
るには、カットオフ周波数の切換(変更)に際し、フィ
ルタ回路で使用するフィルタ係数を、切換前のフィルタ
係数の値から、切換後のカットオフ周波数指示値に対す
るフィルタ係数の値に向けて、変更(直線補間)する手
段を設ければよい(特公昭63−36577号参照)。残念な
がら、このような補間処理を行うと、切換前から切換後
の値にフィルタ係数が順次、変化する過程において得ら
れる補間フィルタ係数値が、本来の値からずれてしま
う。特に、この誤差は、変更前のカットオフ周波数の値
と変更後のカットオフ周波数の値との差が大きいほど著
しくなり、過度的にレゾナンスがかかった楽音が発生
し、聴覚上、違和感を与えてしまう。
[発明の目的] したがって、この発明の目的はカットオフ周波数の指
示値が大幅に変化するような場合にも、カットオフ周波
数近くのフィルタ特性を維持しながらカットオフ周波数
を動かすことができるデジタルフィルタ装置を提供する
ことである。
[発明の構成、作用] 上記の目的を達成するため、この発明によれば離散的
な複数のカットオフ周波数の各々に対応するフィルタ係
数を記憶するフィルタ係数記憶手段と、カットオフ周波
数の指示値を可変に発生するカットオフ周波数発生手段
と、上記カットオフ周波数発生手段から与えられた新た
な指示値と前回のカットオフ周波数目標値との差に従
い、この差が所定値より大きい場合に、この差より小さ
な差を前回のカットオフ周波数目標値に対してもつカッ
トオフ周波数値を新たなカットオフ周波数目標値として
算出するカットオフ周波数目標値算出手段と、上記新た
なカットオフ周波数目標値に対応するフィルタ係数を上
記フィルタ係数記憶手段に記憶されていてカットオフ周
波数目標値に近いカットオフ周波数に対応するフィルタ
係数に基づいて補間するフィルタ係数補間手段と、上記
フィルタ係数補間手段で補間されたフィルタ係数に従っ
て入力信号をフィルタリングするフィルタ回路手段とを
有することを特徴とするデジタルフィルタ装置が提供さ
れる。
この構成によれば、カットオフ周波数発生手段から逐
次与えられるカットオフ周波数の指示値の系列に対し、
カットオフ周波数目標値算出手段がカットオフ周波数の
目標値の系列を発生する。カットオフ周波数目標値算出
手段の発生するカットオフ周波数目標値の系列の差分は
カットオフ周波数の指示値が大きく変化した場合にも、
小さく維持される。カットオフ周波数目標値算出手段か
ら逐次、算出されるカットオフ周波数目標値に対応する
フィルタ係数がフィルタ係数補間手段により、フィルタ
係数記憶手段に記憶される離散的なカットオフ周波数対
応のフィルタ係数データを参照して補間演算され、この
補間結果に従ってフィルタ回路手段で入手信号がフィル
タリングされる。カットオフ周波数の指示値が大幅に変
化した際に、フィルタ係数補間手段が生成するフィルタ
係数の系列はフィルタ係数記憶手段に記憶される正確な
フィルタ係数列を結ぶ線上の点系列として表わされ、正
しい値からの誤差は小さく抑えられる。結果として、カ
ットオフ周波数の指示値の大幅な変化に対しても、カッ
トオフ周波数近くのフィルタ特性を維持しつつ、カット
オフ周波数を移動させることができる。
好ましくは、上記フィルタ係数補間手段がカットオフ
周波数目標値対応のフィルタ係数を生成する場合、その
フィルタ係数(新しいフィルタ係数目標値)と前回のカ
ットオフ周波数目標値対応のフィルタ係数(前回のフィ
ルタ係数目標値)との差に比例する補間レートを算出す
る補間レート算出手段と、算出した補間レートを新しい
フィルタ係数目標値とともにフィルタ回路手段に転送す
る手段を設けるとよい。これにより、よりなめらかに変
化するフィルタ制御が可能になる。
カットオフ周波数の指示値を可変に発生するカットオ
フ周波数発生手段としては操作子(例えばポリウム)を
用いてもよいし、あるいは、補間依存関数を自動的に発
生する手段(例えばエンベロープ発生回路)を用いても
よい。
更に、フィルタ記憶手段に記憶するフィルタ係数の系
列をセントに比例する形式の離散的なカットオフ周波数
の系列に対するフィルタ係数の系列として表現し、ま
た、カットオフ周波数発生手段から指示されるカットオ
フ周波数値もセントに比例する値として与えられるよう
にするとよい。これにより、フィルタ係数発生手段の出
力で直接的にフィルタ係数記憶手段をアドレッシング可
能になるとともに、楽音のフィルタ応用において、聴覚
上リニアに変化するカットオフ周波数を与えることが可
能になる。
[実施例] 以下、図面を参照してこの発明の実施例を説明する。
第1図は実施例の機能ブロック図である。カットオフ
周波数発生手段としてのボリウム1からデジタルフィル
タ14のカットオフ周波数を指示するアナログ電圧信号が
発生する。ボリウム1からのカットオフ指示信号はA/D
変換器2を介して対応するデジタル信号に変換され、ボ
リウムレジスタ3に一次記憶される。ボリウムレジスタ
3に記憶されたカットオフ周波数指示値は減算器5に入
力され、ここでアドレスレジスタ9からの前回カットオ
フ周波数目標値との差が算出される。この差の絶対値が
比較器6において、所定の小さな差を示す基準値と比較
される。更に減算器5からの差の符号A/Sは加減算器8
の加算、減算動作を制御し、加減算器8はこの差の符号
に従って、前回のカットオフ周波数目標値に基準値7を
加減算する。ボリウムレジスタ3からのカットオフ周波
数指示値と加減算器8からの(前回のカットオフ周波数
目標値±基準値)はセレクタ4に入力される。セレクタ
4は初期時にはボリウムレジスタ3にある最初のカット
オフ周波数指示値を選択し、その値は比較器6からの上
記差と基準値7との大小関係を示す比較結果信号に従っ
て選択を行う。即ち、セレクタ4は、ボリウムレジスタ
3からのカットオフ周波数指示値とアドレスレジスタ9
からのカットオフ周波数目標値との差が基準値7より大
きな場合には、加減算器8の出力を選択し、小さい場合
にのみ、ボリウムレジスタ3からのカットオフ周波数指
示値を選択する。セレクタ4の選択したカットオフ周波
数データは新たなカットオフ周波数目標値としてアドレ
スレジスタ9に入力される。
アドレスレジスタ9の出力は第2図に詳細を示す係数
補間回路10に入力され、ここで、アドレスレジスタ9の
出力であるカットオフ周波数目標値をカットオフ周波数
として与えるフィルタ係数が、離散的な複数のカットオ
フ周波数の各々に対応するフィルタ係数を記憶する係数
ROMを参照して補間演算される。
第2図の係数補間回路10において、アドレスレジスタ
9の出力の上位ビット(アドレス整数部)が上位ビット
抽出回路20で抽出され、下位ビット(アドレス小数部)
が下位ビット抽出回路21で抽出される。上位ビット抽出
回路20の出力はプラス1加算回路22でプラス1される。
上位ビット抽出回路20の出力とプラス1加算回路22の出
力は切換回路23に入力される。切換回路23は両入力をマ
ルチプレクスして係数ROM24をアドレッシングし、係数R
OM24の出力を第1レジスタ25、第2レジスタ26に格納す
る。詳細には切換回路23は上位ビット抽出回路20の出力
(カットオフ周波数目標値の整数部)で係数ROM24をア
ドレッシングしたときには、係数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で示してあ
る)が算出される。
切換回路29の出力と演算回路30の出力が、係数補間回
路10の出力として新係数レジスタ11に入力される。新係
数レジスタ11に記憶される情報は、新たなカットオフ周
波数目標値を与えるフィルタ係数であり、したがって、
フィルタ係数の新目標値と呼ぶことにする。一方、旧係
数レジスタ12には前回のカットオフ周波数目標値を定め
るフィルタ係数が記憶される。新係数レジスタ11からの
フィルタ係数の新目標値と旧係数レジスタ12からのフィ
ルタ係数の旧目標値(デジタルフィルタ14で使用してい
る現在のフィルタ係数に相当する)との差に比例する補
間レートがレート演算回路13(好ましくはフィルタ係数
の目標値が生成される周期と等しい周期、例えば5msご
とに動作する)で計算される。このレート演算回路13の
出力する補間レートと新係数レジスタ11にあるフィルタ
係数の新目標値がデジタルフィルタ14に転送される。レ
ート演算回路13の演算終了信号ENDにより、新係数レジ
スタ11の内容が旧フィルタ係数12に移される。
デジタルフィルタは、転送された補間レートとフィル
タ係数の新目標値とを用いて、所定の補間周期(例えば
32μs)でフィルタ係数の現在目標値を新目標値に向け
て補間レート分ずつ更新し、フィルタ係数の現在値を用
いて入力信号をフィルタリングする。レート演算回路13
において、フィルタ係数の新旧の目標値の差に乗数を乗
じて補間レートを生成する場合において、デジタルフィ
ルタ14におけるフィルタ係数の更新周期とデジタルフィ
ルタ14への目標値の転送周期とを考慮して、上記乗数を
適当に選択することにより、デジタルフィルタにおける
フィルタ係数の現在値が目標値に到達した時点からほと
んど遅れなしに次の目標値をデジタルフィルタ14に与え
ることができる。
以下、具体的な実施例を説明する。第3図は電子楽器
に適用した実施例の全体のハードウェアブロック図であ
る。装置全体の制御はCPU101によって行われる。プログ
ラムROM102にCPU101の実行するプログラムが記憶され
る。係数ROM103には離散的な複数のカットオフ周波数に
対するフィルタ係数が記憶される。RAM104はCPU101のワ
ークメモリとして使用される。キーボード105から楽器
の演奏入力が与えられる。ボリウム106はデジタルフィ
ルタのカットオフ周波数を可変に指示する入力を与え
る。音源107において楽音信号が形成される。形成され
た楽音信号はデジタルフィルタ(DF)108でフィルタリ
ングされ、オーディオ装置109、スピーカ110を介して放
音される。
デジタルフィルタ108の一例として2次IIRフィルタを
使用する場合の論理情報を第4図に示す。図中、201〜2
05は係数乗算器であり、206〜209は1サンプルの遅延素
子であり、210は加算器である。係数乗算器のうち、入
力信号inputの乗算する係数乗算器201の係数Kと1次の
フイードバック乗算器202の係数b1と2次のフィードバ
ック乗算器203の係数b2はカットオフ周波数に依存する
値をもつ。詳細には、第4図に示されるように、係数b
1、b2、Kは b1=2(A2−1)/(A2+2aA+1) b2=(A2−2aA+1)/(A2+2aA+1) K=(1+b1+b2)/4 で与えられ、a、A、fc、fsはバタワースローパスフィ
ルタに対し、 a=cos45゜ A=tan(fcπ/fs) fc=カットオフ周波数 fs=サンプリング周波数 となる。
また、フィルタの入力信号inputと出力信号outputと
の関係を示す伝達関数H(z)は で与えられる。
第5図に、上記フィルタ係数とカットオフ周波数との
関係をfc/fsが0〜0.5の範囲で示している。これらの係
数b1、b2、Kをボリウム106から指示されるすべてのカ
ットオフ周波数指示値に対して用意しておくと係数ROM1
03の容量が著しく増大してしまう。そこで、本実施例で
は、係数ROM103に離散的なカットオフ周波数に対するフ
ィルタ係数のみを記憶させ、離散的なカットオフ周波数
の中間のカットオフ周波数に対するフィルタ係数は補間
によって求めている。また、係数Kについては上式に従
って係数b1とb2から容易に計算できるので、係数ROM106
には係数b1とb2のみを記載させている。
第6図は、カットオフ周波数fcのサンプル点の9ケ所
とった場合の係数ROM103のメモリマップを示す。(A−
b1)が係数b1メモリの先頭アドレス、(A−b2)が係数
b2メモリの先頭アドレスを示している。ボリウム106の
出力をA/D変換するA/D変換器(第3図に示さず)のビッ
ト数を8ビットとし、指示可能なカットオフ周波数の縦
数を128とし、各カットオフ周波数指示値を0〜127とし
たとき、指示値の分解能の16倍の間隔で係数ROM103の隣
り合うアドレスにフィルタ係数が記憶される(9点サン
プルの場合)。第6図において、各係数に付く数字はカ
ットオフ周波数のサンプル位置を16進で示したもので
り、例えば、b10Hは、10Hのカットオフ周波数指示値に
対する係数を表わしている。したがって、ボリウム106
からA/D変換器を通して与えられる8ビットのカットオ
フ周波数指示値の上位4ビットがアドレス整数部として
各係数メモリの相対アドレスを示し、下位4ビットが、
アドレス小数部を示す。
CPU101のメインフローを第7図に示す。パワーオン
後、システムの初期化7−1とフィルタ108の初期化7
−2を行う。初期化後は、メインループ(7−3〜7−
5)を繰り返し実行し、その一環としてフィルタ制御7
−4を行う。
第8図に示すようにフィルタ108の初期化ルーチン7
−2では、その時点におけるボリウム106からのカット
オフ周波数指示値V01(0〜127の範囲内の値をとる)を
読み、この値でカットオフ周波数目標値レジスタとして
機能するCレジスタを初期化し(8−1)、この指示値
の指すカットオフ周波数fc(V01)を与えるフィルタ係
数を後述する第10図のフローに従って補間演算し、結果
をフィルタ係数現在値としてフィルタ108に転送する
(8−2)。
フィルタ制御ルーチン7−4の詳細を第9図に示す。
このルーチンの目的は、ボリウム106から新しいカット
オフ周波数指示値に対して、新しいカットオフ周波数目
標値を算出し、算出したカットオフ周波数目標値を示す
カットオフ周波数を与えるフィルタ係数を得ることであ
る。まず、9−1でボリウム106の値(カットオフ周波
数指示値Vol)を読む。次に、9−2でその値がCレジ
スタの内容であるカットオフ周波数目標値と等しいかど
うかを調べる。等しければ、カットオフ周波数目標値を
更新する必要がないのでそのままフィルタ制御ルーチン
を終了する。異なる場合には、9−3でカットオフ周波
数指示値Volからカットオフ目標値Cを差し引いて両者
の差△Volを得る。次に9−4で差の絶対値|△Vol|と
基準値20Hとの大小を比較する(9−4)。ここに基準
値20Hは第6図の係数ROM103において、アドレス間の距
離2に相当する小さなカットオフ周波数の差を示す値で
ある。今回、読んだボリウム106のカットオフ周波数指
示値Vo1が前回のカットオフ周波数目標値Cに十分近い
ときには(20H≧|△Vol|)、新たなカットオフ周波数
目標値Cを今回、読んだボリウム106の指示値Volに更新
する(9−5)。しかし、前回のカットオフ周波数目標
値Cから20H以上異なるカットオフ周波数指示値Volが与
えられたときには新たなカットオフ周波数目標値Cを前
回と大幅に異なるボリウムの指示値には変更せず、代り
に、前回の目標値Cに近い値を新たな目標値Cとして計
算する。即ち、上記差△Volの正負をチェックしてボリ
ウムの指示値Volと前回の目標値Cとの大小関係を調べ
(9−7)、指示値Volに近づく方向に、カットオフ周
波数目標値Cを20Hだけ変更する(9−8、9−9)。
そして、9−5、9−8、または9−9で更新したカッ
トオフ周波数目標値C(レジスタReg0に記憶される)が
示すカットオフ周波数FC(c)を与えるフィルタ係数を
補間によって求める(9−6)。この補間処理の詳細を
第10図に示す。
まず、10−1でレジスタReg0にあるカットオフ周波数
目標値(8ビット)をレジスタReg1にコピーする。次に
10−2で、レジスタReg1の内容を右に4ビットシフトす
る。これにより、例えば、カットオフ周波数目標値が48
Hのときは、04Hが得られる。このシフト結果の数値はカ
ットオフ周波数目標値の整数部を表わし、係数ROM103の
各係数メモリに対する相対アドレスを示す。そこで、b1
係数メモリの先頭アドレスA−b1+REG1で示されるアド
レスにある係数b1(Reg1)と、b2係数メモリの先頭アド
レスA−b2+REG1で示されるアドレスにある係数b2(Re
g1)を読み出す(10−3)。ここに、係数b1(Reg1)係
数(REG1)はカットオフ周波数目標値の整数部が示すカ
ットオフ周波数を与える係数b1、b2の値を有する。次
に、Reg0と0FH論理積をとってカットオフ周波数目標値
の小数部の有無を調べる(10−4)。小数部がゼロのと
きは、カットオフ周波数目標値は整数値なので、10−3
で読んだ係数値b1(Reg1)、b2(Reg2)をそれぞれb1、
b2レジスタ(カットオフ周波数目標値に対する係数b1、
b2を格納するレジスタ)に格納する。小数部があるとき
は、カットオフ周波数目標値の整数部が示す係数メモリ
アドレスの次アドレスにある各係数b1(Reg+1)、b2
(Reg1+1)を読み出す(10−6)。そして、△b1=b1
(Reg1+1)−b1(Reg1)、△b2=b2(Reg1+1)−b2
(Reg1)により、各係数メモリから参照した隣り合うフ
ィルタ係数の差△b1、△b2を求め、この差△b1、△b2と
カットオフ周波数目標値の小数部 を用いて、 により、カットオフ周波数目標値Reg0が示すカットオフ
周波数を与える係数b1、b2を直線補間する。最後に、係
数b1、b2を用いて、K=(1+b1+b2)/4により残りの
係数Kを算出する(10−8)。なお、10−4のチェック
を行わずに、10−3から10−6→10−7→10−8のよう
に処理を行っても結果は同じになる。
このように、フィルタ制御処理ではボリウム106から
のカットオフ周波数指示値が大幅に変化したときにも、
カットオフ周波数目標値を少しずつ指示値に向けて動か
し、それぞれの目標値の示すカットオフ周波数を与える
フィルタ係数を係数ROM103を参照して順次、補間生成す
るので、フィルタ特性を損わない制御が可能になる。
第10図の補間処理を評価する図を第11図から第14図に
示す。第11図はz平面上でのフィルタの極の軌跡を示し
たもので、カーブBは第4図に示す式に従って、フィル
タ係数b1、b2、Kを直接に計算したときに得られる理想
的なバタワースローパスフィルタの極の軌跡をサンプリ
ング周波数fsに対するカットオフ周波数fcの比が0.01〜
0.49の範囲で示したものである。a8〜i8がカットオフ周
波数fcのサンプル点(係数ROM103にそのフィルタ係数の
値が記憶される)を示し、各サンプル点のfc/fsの値は
第11図の左に示される通りである。例えば、サンプル極
a8に対するfc/fsの値は0.01、極b8に対するfc/fs=0.07
であり、以下、同様にして極i8に対するfc/fs=0.43で
ある。各サンプル点の極の間を第10図の補間処理に従っ
て直線補間したときに得られる極の軌跡をカーブAに示
す。直線補間のために、補間による極の軌跡Aは理想的
な極な軌跡Bより外側に張り出す。この9サンプルの補
間極軌跡Aに対応するフィルタ周波数特性を第12図に示
す。第12図において、カットオフ周波数比fc/fsが第11
図の点a8と点b8の中間に相当する0.01〜0.07の中間領域
と、第11図の点h8と点i8の中間に相当する0.43〜0.49の
中間領域においてレゾナンスが発生していることが読み
取れる。第11図に示すようにこの部分で、補間される極
は理想の極から最も遠くなっている。即ち、直線補間に
より、極軌跡が理想の極軌跡より外に出っ張り、これ
が、レゾナンスとして周波数特性に現われることにな
る。しかしながら、この誤差はサンプル点の数を適当な
大きさに増やすことにより、実用上問題のない大きさに
制限できる。9サンプルを例にとったのは、図示の都合
上である。例えば、隣り合うサンプル点のカットオフ周
波数の差を100セント程度にすれば、聴覚上、全く問題
のない補間が可能となる。他の例としては、効率化した
9サンプルの係数補間による極の軌跡と11サンプルの係
数補間による極の軌跡をそれぞれ第13図と第14図に示
す。第13図は、フィルタの極が単位内に近いほど、補間
誤差によるフィルタ特性への影響が大きくなるごとに鑑
み、単位内に近いところでサンプル点を密にとり、単位
内から遠ざかるにつれサンプル点を粗にとっとものであ
る。
さて、メインルーチンのフィルタ制御7−4(第9
図)で得られたカットオフ周波数目標値を定めるフィル
タ係数b1、b2、Kは5msec毎に起動されるタイマインタ
ラプト処理で参照され、ここで、補間レートが計算さ
れ、フィルタ係数とともにデジタルフィルタ108に転送
される。このタイマインタラプト処理のフローを第15図
に示す。まず、15−1に示すように、メインループで得
た目標値としての係数b1、b2、K(ここではTb1、Tb2、
TKで示してある)を参照し、これらの係数目標値Tb1、T
b2、TKからそれぞれ、現在のフィルタ係数値Cb1、Cb2、
CKを差し引いて差分△b1、△b2、△Kを得る(15−
2)。次に、15−3で、これらの差分からデジタルフィ
ルタ108におけるフィルタ係数の差分値である補間レー
トhrb1、hrb2、hrKを算出する。ここで、デジタルフィ
ルタ108の補間周期(補間レートの値を加減算して楽音
入力信号をフィルタリングするのに使用するフィルタ係
数値を更新する周期)を32μsecだとすると、CPU101か
らの係数転送周期5msecの間に、デジタルフィルタ108は
約156回のフィルタ係数更新が可能である。マージンを
見込んで、乗数1/128を選べば、CPU101が次の係数目標
値を転送する前に、デジタルフィルタ108が使用するフ
ィルタ係数値はCPU101が前回転送した係数目標値に到達
する。そこで、15−3では各差分△b1、△b2、△Kを右
に7ビットシフトすることで、各差分に乗数1/128を乗
じ、結果を補間レートhrb1、hrb2、、hrKとしている。
更に、15−4で、係数目標値Tb1、Tb2、TKと補間レート
hr1、hrb2、hrKをデジタルフィルタ108に転送してい
る。最後に15−5でTb1、Tb2、TKを係数b1、b2、b3の各
現在値レジスタCb1、Cb2、CKに写している。
第16図と第17図はデジタルフィルタ108において実現
されるカットオフ周波数の時間変化をグラフで示したも
のである。第16図に示すように補間レートが一定の場合
には、カットオフ周波数が段階状に時間変化し、聴覚
上、なめらかでない楽音特性の変化を生じさせる。第17
図は第15図で述べたように、補間レートを新しいフィル
タ係数目標値とフィルタ係数現在値(旧フィルタ係数目
標値)との差に比例する可変値としたときのデジタルフ
ィルタ108のカットオフ周波数の時間変化を示したもの
であり、図示のように、なめらかにカットオフ周波数が
変化する。
さて、ボリウム106からのカットオフ周波数の指示デ
ータはセントに比例するカットオフ周波数値を表現する
のが好ましく、また、ボリウム106からのカットオフ周
波数指示データから容易に係数ROM103をアドレッシング
できるように、係数ROM103にもセントに比例するカット
オフ周波数を与えるフィルタ係数を連続する記憶場所に
記憶するのが好ましい。第18図は、9サンプルを例にと
って、係数ROM103のアドレスに割り当てる好ましいカッ
トオフ周波数のサンプル位置とともに、補間後の極の軌
跡を示したものである。この場合、アドレスの示すカッ
トオフ周波数はセントに比例している。第19図におい
て、係数ROM103のアドレスとアドレスに割り当てたカッ
トオフ周波数との関係を示すグラフであり、カーブMと
Nが、アドレスに割り当てるカットオフ周波数をセント
に比例させた例である。カーブLは補間誤差が最小にな
るようにアドレスにカットオフ周波数を割り当てたとき
の関係を例示している。カーブM、Nに示すように、係
数ROM103のアドレスがセント比例するカットオフ周波数
に対応するように、各アドレスにセント比例するカット
オフ周波数のフィルタ係数を記憶させるとともに、ボリ
ウム106のようなカットオフ周波数発生手段の指示する
カットオフ周波数をセントに比例する値で表現すること
により、係数ROM3に対するアドレス計算が容易となる。
更に、ボリウム等の操作量と達成されるカットオフ周波
数との関係が聴覚的、リニアな関係となり、意図するカ
ットオフ周波数を容易に指示可能となる。
以上で実施例の説明を終えるが、この発明の範囲内で
種々の変形、変更が可能である。例えば、ボリウムのよ
うな操作子の代りに、カットオフ周波数エンベロープを
自動的に発生する手段が使用できる。また、任意の適当
な次数、タイプのデジタルフィルタにもこの発明を適用
できる。
[発明の効果] 最後に、特許請求の範囲に記載の発明の効果、利点に
ついて述べる。
請求項1によれば、カットオフ周波数発生手段からの
カットオフ周波数指示値が大幅に変化したときにも、少
しずつカットオフ周波数目標値が変更され、カットオフ
周波数目標値を示すカットオフ周波数を示すフィルタ係
数がフィルタ係数記憶手段に記憶されているカットオフ
周波数目標値に近いカットオフ周波数に対応する高精度
のフィルタ係数値を参照して補間されるので、フィルタ
の特性形状を維持しながらカットオフ周波数を動かすこ
とが可能となる。
請求項2によれば新たに生成されたカットオフ周波数
の目標値を定めるフィルタ係数と前回のカットオフ周波
数の目標値との差に比例する値を補間レートとして算出
してフィルタ回路手段に転送するので、フィルタ回路手
段でフィルタリングに使用するフィルタ係数をなめらか
に変化させることが可能になる。
請求項3と4はカットオフ周波数発生手段の構成例を
示したものである。
請求項5によれば、フィルタ係数記憶手段に記憶する
フィルタ係数が定めるカットオフ周波数のサンプル点と
カットオフ周波数発生手段の発生するカットオフ周波数
の指示値がともにセントに比例する形式で与えられるの
でフィルタ係数記憶手段に対するアドレッシングが容易
となるとともに、楽音信号処理への応用において、カッ
トオフ周波数の指示を聴覚と合致するようにして行うこ
とが可能になる。
【図面の簡単な説明】
第1図はこの発明の実施例の機能を示すブロック図、 第2図は第1図の係数補間回路の機能ブロック図、 第3図は電子楽器に適用した実施例のハードウェアブロ
ック図、 第4図は第3図のデジタルフィルタとして使用可能な2
次IIRフィルタのブロック図、 第5図は第4図のフィルタの係数のカットオフ周波数依
存特性を示す図、 第6図は第1図の係数ROMのメモリマップ例を示す図、 第7図は第1図のCPUのメインのフローチャート、 第8図は第7図のフィルタ部イニシャライズのフローチ
ャート、 第9図は第7図のフィルタ制御のフローチャート、 第10図は補間処理のフローチャート、 第11図はz平面上における理想的なフィルタの極の軌跡
とともに補間処理で得られるフィルタの極の軌跡を9サ
ンプル係数の場合について示す図、 第12図は第11図の補間に係るフィルタ極軌跡に対応する
フィルタ周波数特性を示す図、 第13図と第14図は更に別の極軌跡を示す図、 第15図はタイマーインタラプト処理のフローチャート、 第16図は係数補間レートが一定の場合にデジタルフィル
タで実現されるカットオフ周波数の時間変化を示す図、 第17図は係数補間レートが可変の場合にデジタルフィル
タで実現されるカットオフ周波数の時間変化を示す図、 第18図は更に別の極軌跡を示す図、 第19図は係数ROMのアドレスとカットオフ周波数との対
応関係の例を示す図である。 1……ボリウム、5……減算器、6……比較器、7……
基準値、8……加減算器、9……アドレスレジスタ、10
……係数補間回路、11……新係数レジスタ、12……旧係
数レジスタ、13……レート演算回路、14……デジタルフ
ィルタ、24……係数ROM、101……CPU、102……プログラ
ムROM、103……係数ROM、106……ボリウム、108……デ
ジタルフィルタ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−24709(JP,A) 特開 昭63−126310(JP,A) 特開 昭57−41023(JP,A) 特開 昭54−8436(JP,A) 特公 昭63−36573(JP,B2) 特公 昭63−21363(JP,B2) (58)調査した分野(Int.Cl.7,DB名) H03H 17/00 - 17/08

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】離散的な複数のカットオフ周波数の各々に
    対応するフィルタ係数を記憶するフィルタ係数記憶手段
    と、 カットオフ周波数の指示値を可変に発生するカットオフ
    周波数発生手段と、 上記カットオフ周波数発生手段から与えられた新たな指
    示値と前回のカットオフ周波数目標値との差に従い、こ
    の差が所定値より大きい場合に、この差より小さな差を
    前回のカットオフ周波数目標値に対してもつカットオフ
    周波数値を新たなカットオフ周波数目標値として算出す
    るカットオフ周波数目標値算出手段と、 上記新たなカットオフ周波数目標値に対応するフィルタ
    係数を上記フィルタ係数記憶手段に記憶されていて上記
    カットオフ周波数目標値に近いカットオフ周波数に対応
    するフィルタ係数に基づいて補間するフィルタ係数補間
    手段と、 上記フィルタ係数補間手段で補間されたフィルタ係数に
    従って入力信号をフィルタリングするフィルタ回路手段
    と、 を有することを特徴とするデジタルフィルタ装置。
  2. 【請求項2】請求項1記載のデジタルフィルタ装置にお
    いて、 上記フィルタ係数補間手段により生成された上記新たな
    カットオフ周波数目標値に対するフィルタ係数と、上記
    フィルタ係数補間手段により生成された上記前回のカッ
    トオフ周波数目標値に対するフィルタ係数との間の差に
    比例する補間レートを算出する補間レート算出手段と、 上記補間レートを上記新たなカットオフ周波数目標値に
    対するフィルタ係数とともに上記フィルタ回路手段に転
    送する手段と を更に有することを特徴とするデジタルフィルタ装置。
  3. 【請求項3】請求項1記載のデジタルフィルタ装置にお
    いて、 上記カットオフ周波数発生手段は上記カットオフ周波数
    の指示値を可変に入力するための操作子を有する ことを特徴とするデジタルフィルタ装置。
  4. 【請求項4】請求項1記載のデジタルフィルタ装置にお
    いて、 上記カットオフ周波数発生手段は時間によって変化する
    関数を上記カットオフ周波数の指示値として自動的に発
    生する関数発生手段を有する ことを特徴とするデジタルフィルタ装置。
  5. 【請求項5】請求項1記載のデジタルフィルタ装置にお
    いて、 上記フィルタ係数記憶手段はセントに比例する形式の離
    散的な複数のカットオフ周波数の各々に対応するフィル
    タ係数を記憶し、 上記カットオフ周波数発生手段はセントに比例する形式
    でカットオフ周波数の指示値を可変に発生する ことを特徴とするデジタルフィルタ装置。
JP1341504A 1989-11-07 1989-12-30 デジタルフィルタ装置 Expired - Lifetime JP3041865B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP1341504A JP3041865B2 (ja) 1989-12-30 1989-12-30 デジタルフィルタ装置
US07/608,572 US5140541A (en) 1989-11-07 1990-11-02 Digital filter system with changeable cutoff frequency
US07/872,922 US5255215A (en) 1989-11-07 1992-04-23 Digital filter system with changeable cutoff frequency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1341504A JP3041865B2 (ja) 1989-12-30 1989-12-30 デジタルフィルタ装置

Publications (2)

Publication Number Publication Date
JPH03204216A JPH03204216A (ja) 1991-09-05
JP3041865B2 true JP3041865B2 (ja) 2000-05-15

Family

ID=18346575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1341504A Expired - Lifetime JP3041865B2 (ja) 1989-11-07 1989-12-30 デジタルフィルタ装置

Country Status (1)

Country Link
JP (1) JP3041865B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2727802B2 (ja) * 1991-07-04 1998-03-18 ヤマハ株式会社 デジタル信号処理プロセッサ
JPH07122973A (ja) * 1993-10-20 1995-05-12 Yamaha Corp デジタル信号処理回路
JP2002221975A (ja) * 2001-01-26 2002-08-09 New Japan Radio Co Ltd ディジタル信号処理装置
CN102124650B (zh) 2008-10-06 2014-03-19 三菱电机株式会社 信号处理电路
JP5787608B2 (ja) * 2011-05-10 2015-09-30 三菱電機株式会社 信号生成装置および信号生成方法
JP2014204213A (ja) * 2013-04-03 2014-10-27 パイオニア株式会社 デジタルフィルタ及びフィルタ特性変更方法
JP2024026948A (ja) * 2022-08-16 2024-02-29 サンケン電気株式会社 スイッチング制御回路、半導体装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6321363B2 (ja) 2013-12-06 2018-05-09 シャープ株式会社 空気調和機
JP6336573B2 (ja) 2013-04-17 2018-06-06 クアルコム,インコーポレイテッド シグナリングおよび電力消費オーバーヘッドを低減するためのモバイル端末における強化された再構成手順

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6336573B2 (ja) 2013-04-17 2018-06-06 クアルコム,インコーポレイテッド シグナリングおよび電力消費オーバーヘッドを低減するためのモバイル端末における強化された再構成手順
JP6321363B2 (ja) 2013-12-06 2018-05-09 シャープ株式会社 空気調和機

Also Published As

Publication number Publication date
JPH03204216A (ja) 1991-09-05

Similar Documents

Publication Publication Date Title
JP2002374150A (ja) デジタルフィルタ及びデジタル信号のフィルタリング方法
JP3177978B2 (ja) デジタルフィルタの係数設定方法
JP3041865B2 (ja) デジタルフィルタ装置
EP0090464B1 (en) Digital tone control arrangement
EP1645027B1 (en) Method and apparatus for generation of arbitrary mono-cycle waveforms
CA1277919C (en) Sampled data tone control system
JPH03204215A (ja) デジタルフィルタ装置
JPH03204217A (ja) デジタルフィルタ装置
JPS6336577B2 (ja)
JPH0127463B2 (ja)
JPH08172343A (ja) Iir型ディジタルフィルタの構成方法
KR0185682B1 (ko) 방향성을 강조한 오디오 신호 처리 장치
JP3223280B2 (ja) 波形データ補間装置
JPH03124110A (ja) ディジタルコントロールドフィルタ
US5745743A (en) Digital signal processor integrally incorporating a coefficient interpolator structured on a hardware basis
JPS62123820A (ja) デジタル・グラフイツク・イコライザ
JP2630778B2 (ja) 低周波帯域デジタルフィルタの構成方法
JP3078696B2 (ja) 逆数演算装置
JP2943112B2 (ja) デジタル信号処理装置
JP3034385B2 (ja) 楽音制御情報漸次変更回路
JP2001111385A (ja) 平均値フィルタ
JPS6337971B2 (ja)
JPH0695627B2 (ja) 低周波帯域デジタルフィルタ
JPH07104670B2 (ja) 電子楽器
JPH0770958B2 (ja) ディジタルフィルタ

Legal Events

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

Free format text: PAYMENT UNTIL: 20090310

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090310

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 10

EXPY Cancellation because of completion of term