明 細 書 デジタルフィルタの設計方法おょぴ装置, デジタルフィル夕設計用プロダラ ム、 デジタルフィル夕 技術分野
本発明はデジタルフィルタの設計方法および装置、 デジタルフィルタ設 計用プログラム、 デジタルフィルタに関し、 特に、 複数の遅延器から成る 夕ップ付き遅延線を備え、 各タップの出力信号をそれぞれ数倍した後、 それらの乗算結果を加算して出力するタイプの F I Rフィルタおよびそ の設.計法に関するものである。 背景技術
デジタルフィルタの 1つの形態として、 F I R (Finite Impulse Resp onse: 有限長イ ンパルス応答) フィルタが存在する。 この F I Rフィル タは、 複数の遅延器から成るタップ付き遅延線を備え、 各タップの出力 信号をそれぞれフィルタ係数により数倍した後、 それらの乗算結果を加 算して出力するタイプのフィルタであり、 次のような利点を持つ。 第 1 に、 F I Rフィルタの伝達関数の極は z平面の原点のみにあるため、 回 路は常に安定である。 第 2 に、 フィルタ係数が対称型であれば、 完全に 正確な直線位相特性を実現することができる。
この F I Rフィルタは、 有限時間長で表されるインパルス応答がその ままフィルタ係数となっている。 したがって、 F I Rフィルタを設計す るという ことは、 希望の周波数特性が得られるようにフィルタ係数を決 定するという ことである。 従来、 F I Rフィルタを設計する際には、 目 標とする周波数特性に基づきフィルタ係数を算出し、 これに窓掛けを行
つて有限個の係数群を得る。 そして、 得られた係数群を F F T (高速フ —リエ変換) することによって周波数特性に変換し、 これが目標の特性 を満足しているか否かを確認する方法で設計していた。
目標とする周波数特性からフィル夕係数を算出する際には、 例えば、 サンプリ ング周波数とカツ トオフ周波数との比率をもとに、 チェピシェ フ近似法を用いた畳み込み演算等を行っていた。 これにより求められる 係数の数は膨大となり、 その係数を全て使用すると、 フィルタ回路のタ ップ数や乗算器は非常に多くなつてしまい、 現実的でない。 そのため、 窓掛けによってフィルタ係数の数を実用上耐えうる程度に減らす必要が あった。
しかしながら、 従来の設計法で得られる F I Rフィル夕の周波数特性 は、 窓関数や近似式に依存するので、 これらをうまく設定しないと、 目 標とする良好な周波数特性を得ることができない。 ところが、 窓関数や 近似式を適当に設定することは、 一般に困難である。 また、 フィル夕係数 の数を減らすために窓掛けをすると、 周波数特性に打ち切り誤差が発生して しまう。 そのため、 従来のフィルタ設計法で所望の周波数特性を実現するの は非常に困難という問題があった。
また、 従来のフィルタ設計法で所望の周波数特性を得るためには、 求め たフィルタ係数を F F Tしてその周波数特性を確認しながらの試行錯誤 が必要であった。 したがって、 従来は熟練した技術者が時間と手間をか けて設計する必要があり、 所望特性の F I Rフィルタを容易には設計で きないという問題があった。
また、 所望の周波数特性をできるだけ精密に実現する F I Rフィル夕を 設計するためには、 窓掛けによって減らせるフィルタ係数の数に限界が ある。 そのため、 設計された F I Rフィルタのタップ数は非常に多くな り、 しかもそのフィルタ係数値は非常に複雑でランダムな値となる。 そ
のため、 そのタップ数およびフィルタ係数値を実現するためには大規模 な回路構成 (加算器、 乗算器) が必要になるという問題もあった。
なお、 タップ付き遅延線の各タップ間 (各フィルタ係数間) に 1以上 のゼロ値を揷入することによってフィルタバンク帯域を調整する方法が 知られている (例えば、 特表平 6 — 5 0 3 4 5 0号公報参照 ) 。 また、 複数の F I Rフィルタを縦続接続することによって急峻な周波数特性を 実現する方法も知られている (例えば、 特開平 5 — 2 4 3 9 0 8号公報 参照) 。 しかしながら、 これら何れの方法を用いても、 ただ単にフィル 夕の通過帯域を狭くすることができるのみで、 任意形状の周波数特性を 少ないタップ数で精密に実現することはできなかった。 発明の開示
本発明は、 このような問題を解決するために成されたものであり、 所 望の周波数特性を有する F I Rデジタルフィルタを簡易的に設計できる ようにすることを目的とする。
また、 本発明は、 所望の周波数特性を有する F I Rデジタルフィルタ を小さな回路規模で高精度に実現することができるようにすることをも 目的としている。
上記課題を解決するために、 本発明においては、 "一 1 , m , — 1 " ま たは " 1 , m, 1 " の比率から成る数値列に対して所定の移動平均演算を n 回繰り返し行う ことによって求められる数値列を基本フィルタのフィルタ係 数とし、 1以上の基本フィルタを任意に組み合わせて縦続接続することによ つて、 求めるデジタルフィルタのフィル夕係数を算出するようにした。
このように構成した本発明によれば、 従来の F I Rフィル夕に比べて 夕ップ数および乗算器の使用数を大幅に削減することができ、 デジタル フィルタの構成を極めて簡単にすることができる。 また、 フィルタ係数
の数を減らすために窓掛けを行う必要がなく、 フィルタのインパルス応 答も有限台の関数となるので、 打ち切り誤差がなく、 かつ、 大きな帯域 外減衰量を有する良好な周波数特性を得ることができる。 したがって、 所望の周波数特性を有する F I Rデジタルフィルタを小さな回路規模で 高精度に実現することができる。 また、 本発明によれば、 基本フィルタ の組み合わせだけで所望のデジタルフィルタを構成することができるの で、 熟練した技術者でなくても、 所望の周波数特性を有する F I Rデジ タルフィルタを極めて簡単に設計することができる。 図面の簡単な説明
図 1 は、 基本口一パスフィルタ L 4 a nのフィルタ係数を示す図であ る。
図 2は、 基本ローパスフィルタ L 4 a 4の周波数特性を示す図である 図 3は、 基本口一パスフィルタ L 4 a nの周波数一ゲイン特性を示す 図である。
図 4は、 基本ローパスフィルタ L a nのフィルタ係数を示す図である 図 5は、 基本ローパスフィルタ L a 4の周波数特性を示す図である。 図 6は、 基本口一パスフィルタ L a nの周波数一ゲイ ン特性を示す図 である。
図 7は、 基本ハイパスフィルタ H 4 s nのフィルタ係数を示す図であ る。
図 8は、 基本ハイパスフィルタ H 4 s 4の周波数特性を示す図である 図 9は、 基本ハイパスフィルタ H 4 s nの周波数一ゲイン特性を示す
図である。
図 1 0は、 基本八ィパスフィルタ H s nのフィルタ係数を示す図であ る。
図 1 1 は、 基本ハイパスフィルタ H s 4 の周波数特性を示す図である 図 1 2は、 基本ハイパスフィルタ H s nの周波数一ゲイ ン特性を示す 図である。
図 1 3 は、 基本バン ドパスフィルタ B 4 s nのフィルタ係数を示す図 である。
図 1 4は、 基本バンドパスフィルタ B 4 s 4の周波数特性を示す図で ある。
図 1 5は、 基本バンドパスフィルタ B 4 s nの周波数—ゲイ ン特性を 示す図である。
図 1 6 は、 基本バンドパスフィルタ B s nのフィルタ係数を示す図で ある。
図 1 7は、 基本バンドパスフィルタ B s 4の周波数特性を示す図であ る。
図 1 8は、 基本バンドパスフィルタ B s nの周波数—ゲイン特性を示 す図である。
図 1 9 は、 基本ハイパスフィルタ H m s nにおいて mをパラメータと した周波数—ゲイン特性を示す図である。
図 2 0は、 パラメータ mに対するパラメ一夕 nの最適値を示す図であ る。
図 2 1 は、 ノ \°ラメ一夕 mとそれに対するパラメータ nの最適値との関 係およびパラメ一夕 mとそれに対するパラメ一夕 Xとの関係を示す図で ある。
図 2 2 は、 基本ハイパスフィルタ H m s n のイ ンパルス応答を示す図 である。
図 2 3 は、 基本ローパスフィル夕 L 4 a 4 , L 4 a 4 ( 1 ) の周波数ーゲ イ ン特性を示す図である。
図 2 4は、 基本フィ ル夕を縦続接続した場合のフィルタ係数の演算内容を 説明するための図である。
図 2 5 は、 基本口一パスフィル夕 ( L 4 a 4 ) Mの周波数—ゲイ ン特性を 示す図である。
図 2 6 は、 基本ハイパスフィルタ ( H 4 s 4 ) Mの周波数—ゲイ ン特性を 示す図である。
図 2 7 は、 1 6 ビッ トの演算精度で実際に算出したフィルタ.係数値 (丸め 処理前のもの) をグラフ化した図である。
図 2 8 は、 フィルタ係数を丸め処理する前におけるデジタルフィル夕の周 波数特性を示す図である。
図 2 9 は、 図 2 7 のフィルタ係数に対して 1 0 ピッ トの丸め処理を行った 結果として残った 4 1 タップ (ゼロ値を含めた段数は 4 6段) 分のフィ ルタ 係数値とそれを整数化した係数値とを示す図である。
図 3 0 は、 1 6 ビッ トの演算精度でフィ ルタ係数を算出した後、 それを 1 0 ビッ 卜に丸めて更に整数化した場合の周波数一ゲイ ン特性を示す図である 図 3 1 は、 基本ローパスフィルタ L 4 a 4 のハー ドウェア構成例を示 す図である。
図 3 2 は、 基本口一パスフィルタ L a 4 の八一 ドウエア構成例を示す 図である。
図 3 3 は、 基本ハイパスフィルタ H 4 s 4 のハー ドウェア構成例を示 す図である。
図 3 4は、 基本ハイパスフィルタ H s 4のハードウェア構成例を示す 図である。
図 3 5は、 基本バンドパスフィルタ B 4 s 4のハー ドウエア構成例を 示す図である。
図 3 6は、 基本バンドパスフイリレタ B s 4のハー ドウェア構成例を示 す図である。
図 3 7は、 バン ドパスフィルタの構成例を示す図である。
図 3 8は、 図 3 7 に示すバン ドバスフィルタの周波数特性を示す図で ある。 ,
図 3 9は、 バンドパスフィルタの他の構成例を示す図である。
図 4 0は、 図 3 9 に示すバンドパスフィルタの周波数一ゲイ ン特性を 示す図である。 発明を実施するための最良の形態
以下、 本発明の一実施形態を図面に基づいて説明する。 本実施形態で は、 相互に対応する時間軸上のイ ンパルス応答と周波数軸上の周波数特 性とにおいて、 インパルス応答の畳み込みが周波数応答の積算となる点 に着目し、 フィルタ係数の算出を出発点とする従来の設計法とは根本的 に異なる全く新しいフィルタ設計法およびその生成物であるデジタルフ ィルタを提供する。
すなわち、 本実施形態では、 特定のインパルス応答を有する数種類の 基本フィルタを定義し、 それらを任意に縦続接続する形で所望の周波数 特性を有する F I Rフィルタを実現する。 基本フィルタは、 基本ローバ スフィルタ、 基本ハイパスフィル夕、 基本バン ドパスフィルタ (櫛型フ ィルタを含む) の 3種類に大きく分類される。 以下、 これらの基本フィ ルタについて説明する。
<基本ローパスフィルタ L m a n (m, nは変数で、 nは自然数) > 基本ローパスフィルタ Lm a nのフィルタ係数は、 "_ 1, m, 一 1 " の数値列を出発点として、 演算前の元データとそれより所定遅延量だけ 前の前デ一夕とを順次加算していく移動平均演算によって求める。
図 1 は、 基本口一パスフィル夕 L 4 a n ( m = 4 とした場合) のフィ ルタ係数を示す図である。 図 1 において、 移動平均演算によって n列目 の上から j 番目のフィル夕係数を求める際に、 元データとは、 ( n— 1 ) 列目の上から j 番目のデータを指す。 また、 前データとは、 ( n— 1 ) 列目の上から ( j 一 1 ) 番目のデータを指す。
例えば、 基本口一パスフィルタ L 4 a 1 の上から 1番目の数値 "一 1 " は元データ "— 1 " と前データ " 0 " とを加算することによって得ら れ、 2番目の数値 " 3 " は元データ " 4 " と前データ " _ 1 " とを加算 することによって得られる。 また、 3番目の数値 " 3 " は元データ "一 1 " と前データ " 4 " とを加算することによって得られ、 4番目の数値 "一 1 " は元データ " 0 " と前データ "一 1 " とを加算することによつ て得られる。
図 1 に示す基本ローパスフィルタ L 4 a nの何れのフィルタ係数も、 その数値列は対称型であり、 数値列の 1つ飛びの合計値が同符号で互い に等しくなるという性質を持っている (例えば基本ローパスフィルタ L 4 a 4の場合、 — 1 + 9 + 9 + (— 1 ) = 1 6 , 0 + 1 6 + 0 = 1 6 ) 上記 "一 1, m, - 1 " の数値列は、 大元の数値列 "一 1, N " を基 本として生成する。 この数値列 "一 1 , N" をフィルタ係数とする基本 単位フィルタは、 1〜 2個 ( N = 0の場合は 1個、 それ以外の場合は 2 個) のタップを有する。 なお、 Nの値は必ずしも整数である必要はない
この数値列 "一 1, N" をフィルタ係数として持つ基本単位フィルタ は非対称型なので、 対称型とするために、 これを偶数段縦続接続して使 用する必要がある。 例えば 2段縦続接続した場合、 数値列 "一 1 , N" の畳み込みにより、 フィル夕係数は "一 N , N 2 + 1 , — N " となる。 こ こで、 (N2+ 1 ) ZN = mとすると、 mを整数としたとき、 N = (m + (m2— 4 ) ,/2) / 2 となる。
図 1 の例のように m = 4 とした場合、 N = 2 + 3である。 すなわち 、 基本単位フィル夕の係数は "一 1 , 3 . 7 3 2 " となる (ここでは、 小数点以下を 3桁まで表示している) 。 また、 この基本単位フィルタを 2段縦続接続した場合のフィルタ係数は、 " - 3 . 7 3 2 , 1 4. 9 2 8 , — 3 . 7 3 2 " となる。 この数値列は、 — 1 : 4 : — 1 の関係にな つている。
この数値列を実際にフィルタ係数として使用する場合は、 数値列の各 値を 2 N (= 2 * ( 2 + 3 ) = 7 . 4 6 4 ) で割ることにより、 フィ ル夕係数の数値列を F F T変換した場合の振幅が " 1 " となるようにし て、 ゲインを " 1 " に基準化 (正規化) する。 すなわち、 実際に使用す るフィルタ係数の数値列は、 "— 1 / 2 , 2, - 1 / 2 " となる。 この 実際に使用する数値列 "— 1ノ 2, 2 , - 1 / 2 " は、 元の数値列 "一 1 , 4 , 一 1 " を z倍 ( z = l / (m— 2 ) ) したものに相当する。 このように基準化した数値列をフィルタ係数として使用した場合、 基 本ローパスフィルタ L m a nのフィルタ係数は、 何れもその数値列の総 和が " 1 " で、 数値列の 1つ飛びの合計値が同符号で互いに等しくなる という性質を持つ。
図 2 は、 基本口一パスフィルタ L 4 a 4 (m = 4 , n = 4 とした場合) のフィルタ係数の数値列を F F T変換して得られる周波数特性 (周波数 —ゲイ ン特性および周波数一位相特性) を示す図である。 ここではゲイ
ンを直線目盛りで表し、 基準化されたゲインを 3 2倍して示している。 一方、 周波数は " 1 " で基準化している。
この図 2から分かるように 周波数—ゲイン特性は通過域がほぼ平坦 で、 遮断域の傾斜がなだらかな特性が得られている。 また、 周波数一位 相特性ではほぼ直線的な特性も得られている。 このように、 基本口一パ スフィルタ L 4 a 4では、 ォ一パーシュートやリ ンギングも存在しない良 好なローパスフィルタの周波数特性を得ることができる。
図 3は.. 基本ローパスフィルタ L 4 a nの nをパラメ一夕とした周波 数一ゲイン特性を示す図であり、 ( a ) はゲインを直線目盛りで表し、
( b ) はゲインを対数目盛りで表している。 この図 3より、 nの値が大 きくなるほど遮断域の傾斜が急峻になることが分かる。 この基本口一パ スフィルタ L 4 a nは、 n≥ 5 のときは比較的急峻な周波数特性の用途 に適し、 n < 5のときは比較的緩やかな周波数特性の用途に適すると言 える P
図 4は、 基本単位フィルタの数値列 " _ 1, N " で N = 0 とした場合 の基本ローパスフィルタ L a nのフィルタ係数を示す図である。 N = 0 の場合、 基本単位フィルタを 2段縦続接続したときのフィルタ係数は " 0, 1 , 0 " となる。 したがって、 基本口一パスフィルタ L a nのフィ ル夕係数は、 " 1 " を出発点として、 元データと前データとを順次加算 していく移動平均演算によって求められる。
図 4に示す基本口一パスフィルタ L a nの何れのフィルタ係数も、 そ の数値列は対称型であり、 数値列の 1つ飛びの合計値が同符号で互いに 等しくなるという性質を持っている (例えば基本ローパスフィルタ L a 4の場合、 1 + 6 + 1 = 8 , 4 + 4 = 8 ) 。
図 5 は、 基本口一パスフィル夕 L a 4のフィルタ係数の数値列を F F T変換して得られる周波数特性を示す図である。 ここではゲイ ンを直線
目盛りで表し、 基準化されたゲインを 1 6倍して示している。 一方、 周 波数は " 1 " で基準化している。
この図 5から分かるように、 周波数一ゲイ ン特性でほぼ平坦な通過城 は図 2 に比べて狭くなるが、 遮断域の傾斜はなだらかな特性が得られて いる。 また、 周波数一位相特性ではほぼ直線的な特性も得られている。 このように、 基本口一パスフィルタ L a 4においても、 オーバ一シユー ト やリ ンギングも存在しない良好な口一パスフィ ル夕の周波数特性を得るこ とができる。
図 6 は、 基本口一パスフィルタ L a nの nをパラメータとした周波数 —ゲイン特性を示す図であり、 ( a ) はゲインを直線目盛りで表し、 ( b ) はゲイ ンを対数目盛りで表している。 この図 6 より、 nの値が大き くなるほど遮断域の傾斜が急峻になることが分かる。 この基本ローパス フィルタ L a nは、 n≥ 5のときは比較的急峻な周波数特性の用途に適 し、 n < 5 のときは比較的緩やかな周波数特性の用途に適すると言える
<基本ハイパスフィルタ H m s n ( m , nは変数で、 nは自然数) > 基本ハイパスフィルタ H m s nのフィルタ係数は、 " 1 , m, 1 " の数 値列を出発点として、 演算前の元データからそれより所定遅延量だけ前 の前データを順次減算していく移動平均演算によって求める。
図 7 は、 基本ハイパスフィルタ H 4 s n ( m = 4とした場合) のフィ ルタ係数を示す図である。 図 7 において、 移動平均演算によって n列目 の上から j 番目のフィルタ係数を求める際に、 元データとは、 ( n - 1 ) 列目の上から j 番目のデータを指す。 また、 前データとは、 ( n _ 1 ) 列目の上から ( j 一 1 ) 番目のデータを指す。
例えば、 基本ハイパスフィル夕 H 4 s 1 の上から 1番目の数値 " 1 " は元データ " 1 " から前データ " 0 " を減算することによって得られ、
2番目の数値 " 3 " は元データ " 4 " から前データ " 1 " を減算するこ とによって得られる。 また、 3番目の数値 "— 3 " は元データ " 1 " 力、 ら前データ " 4 " を減算することによって得られ、 4番目の数値 "一 1 " は元データ " 0 " から前データ " 1 " を減算することによって得られ る。
図 7 に示す基本ハイパスフィルタ H 4 s nにおいて、 nが偶数のとき は何れのフィル夕係数も、 その数値列は対称型であり、 数値列の 1 つ飛 びの合計値が逆符号で互いに等しくなるという性質を持っている (例え ば基本ハイパスフィルタ H 4 s 4の場合、 1 十 (一 9 ) + (一 9 ) + 1 = - 1 6 , 0 + 1 6 + 0 = 1 6 ) 。 nが奇数のときは、 その数値列は絶 対値が対称型となっており、 前半の数値列と後半の数値列とは逆符号に なる。 また、 数値列の 1つ飛びの合計値が逆符号で互いに等しくなると いう性質を持っている。
上記 " 1 , m , 1 " の数値列は、 大元の数値列 " 1 , N " を基本とし て生成する。 この数値列 " 1 , N" をフィルタ係数とする基本単位フィ ル夕は、 1〜 2個 (N = 0の場合は 1個、 それ以外の場合は 2個) の夕 ップを有する。 なお、 Nの値は必ずしも整数である必要はない。
この数値列 " 1, N " をフィルタ係数として持つ基本単位フィルタは 非対称型なので、 対称型とするために、 これを偶数段縦続接続して使用 する必要がある。 例えば 2段縦続接続した場合、 数値列 " 1 , N" の畳 み込みにより、 フィルタ係数は " N , N 2 + 1 , N " となる。 ここで、 ( N2+ 1 ) ZN -mとすると、 mを整数としたとき、 N = (m + (m2— 4 ) 1/2) / 2 となる。
図 7 の例のように m = 4とした場合、 N = 2 + 3である。 すなわち 、 基本単位フィルタの係数は " 1 , 3. 7 3 2 " となる (ここでは、 小 数点以下を 3桁まで表示している) 。 また、 この基本単位フィルタを 2
段縦続接続した場合のフィルタ係数は、 " 3 . 7 3 2 , 1 4. 9 2 8 , 3 . 7 3 2 " となる。 この数値列は、 1 : 4 : 1 の関係になっている。 この数値列を実際にフィル夕係数として使用する場合は、 数値列の各 値を 2 N (= 2 * ( 2 + 3 ) = 7 . 4 6 4 ) で割ることにより、 フィ ル夕係数の数値列を F F T変換した場合の振幅が " 1 " となるようにし て、 ゲインを " 1 " に基準化する。 すなわち、 実際に使用するフィルタ 係数の数値列は、 " 1 / 2 , 2 , 1 / 2 " となる。 この実際に使用する 数値列 " 1 / 2, 2, 1 / 2 " も、 元の数値列 " 1 , 4, 1 " を z倍 ( z = 1 / (m— 2 ) ) したものに相当する。
このように基準化した数値列をフィルタ係数として使用した場合、 基 本ハイパスフィルタ H m s nのフィルタ係数は、 何れもその数値列の総 和が " 0 " で、 数値列の 1つ飛びの合計値が逆符号で互いに等しくなる という性質を持つ。
図 8は、 基本ハイパスフィルタ H 4 s 4 (m= 4 , n = 4とした場合) のフィル夕係数の数値列を F F T変換して得られる周波数特性を示す図 である。 ここではゲインを直線目盛りで表し、 基準化されたゲインを 3 2倍して示している。 一方、 周波数は " 1 " で基準化している。
この図 8から分かるように、 周波数一ゲイ ン特性は通過域がほぼ平坦 で、 遮断域の傾斜がなだらかな特性が得られている。 また、 周波数—位 相特性ではほぼ直線的な特性も得られている。 このように、 基本ハイパ スフィル夕 H 4 s 4では、 オーバーシュートやリ ンギングも存在しない良 好なハイパスフィルタの周波数特性を得ることができる。
図 9は、 基本ハイパスフィルタ H 4 s nの nをパラメ一夕とした周波 数—ゲイン特性を示す図であり、 ( a ) はゲインを直線目盛りで表し、
( b ) はゲイ ンを対数目盛りで表している。 この図 9より、 nの値が大 きくなるほど遮断域の傾斜が急峻になることが分かる。 この基本ハイパ
スフィルタ H 4 s nは、 n≥ 5のときは比較的急峻な周波数特性の用途 に適し、 n < 5のときは比較的緩やかな周波数特性の用途に適すると言 える。
図 1 0は、 基本単位フィル夕の数値列 " 1 , N " で N = 0 とした場合 の基本ハイパスフィ ルタ H s nのフィルタ係数を示す図である。 N = 0 の場合、 基本単位フィルタを 2段縦続接続したときのフィルタ係数は " 0 , 1 , 0 " となる。 したがって、 基本ハイバスフィルタ H s nのフィ ル夕係数は、 " 1 " を出発点として、 元データから前データを順次減算 していく移動平均演算によって求められる。
図 1 0に示す基本ハイパスフィルタ H s nにおいて、 nが偶数のとき は何れのフィルタ係数も、 その数値列は対称型であり、 数値列の 1つ飛 びの合計値が逆符号で互いに等しくなるという性質を持っている (例え ば基本ハイパスフィルタ H s 4の場合、 1 + 6 + 1 = 8 , — 4 + ( - 4 ) = _ 8 ) 。 nが奇数のときは、 その数値列は絶対値が対称型となって おり、 前半の数値列と後半の数値列とは逆符号になる。 また、 数値列の 1つ飛びの合計値が逆符号で互いに等しくなるという性質を持っている 図 1 1 は、 基本ハイパスフィルタ H s 4のフィルタ係数の数値列を F F T変換して得られる周波数特性を示す図である。 ここではゲインを直 線目盛りで表し、 基準化されたゲインを 1 6倍して示している。 一方、 周波数は " 1 " で基準化している。
この図 1 1から分かるように、 周波数一ゲイン特性でほぼ平坦な通過 域は図 8に比べて狭くなるが、 遮断域の傾斜はなだらかな特性が得られ ている。 また、 周波数一位相特性ではほぽ直線的な特性も得られている 。 このよう に、 基本ハイパスフィルタ H s 4 においても、 オーバ一シユー トゃリ ンギングも存在しない良好なハイパスフィル夕の周波数特性を得る
ことができる。
図 1 2は、 基本ハイパスフィルタ H s nの nをパラメータとした周波 数一ゲイン特性を示す図であり、 ( a ) はゲインを直線目盛りで表し、
( b ) はゲインを対数目盛りで表している。 この図 1 2 より、 nの値が 大きくなるほど遮断域の傾斜が急峻になることが分かる。 この基本ハイ パスフィルタ H s nは、 n≥ 5 のときは比較的急峻な周波数特性の用途 に適し、 n < 5のときは比較的緩やかな周波数特性の用途に適すると言 える。
<基本バン ドパスフィルタ B m s n ( m, nは変数で、 nは自然数) > 基本バンドパスフィルタ B m s nのフィルタ係数は、 " 1 , 0 , m , 0 , 1 " の数値列を出発点として、 元データから 2つ前の前データを順次 減算していく移動平均演算によって求める。
図 1 3は、 基本バンドパスフィルタ B 4 s n ( m = 4 とした場合) の フィルタ係数を示す図である。 図 1 3 において、 移動平均演算によって n列目の上から j 番目のフィルタ係数を求める際に、 元データとは、 ( n - 1 ) 列目の上から j 番目のデータを指す。 また、 前データとは、 ( n - 1 ) 列目の上から ( j 一 2 ) 番目のデータを指す。
例えば、 基本バン ドパスフィルタ B 4 s 1 の上から 1番目の数値 " 1 " は元データ " 1 " から前データ " 0 " を減算することによって得られ 、 3番目の数値 " 3 " は元データ " 4 " から前データ " 1 " を減算する ことによって得られる。 また、 5番目の数値 "一 3 " は元データ " 1 " から前データ " 4 " を減算することによって得られ、 7番目の数値 "一 1 " は元データ " 0 " から前データ " 1 " を減算することによって得ら れる。
図 1 3 に示す基本バン ドパスフィルタ B 4 s nにおいて、 nが偶数と のきは何れのフィル夕係数も、 その数値列は対称型であり、 数値列の 3
つ飛びの合計値が逆符号で互いに等しくなるという性質を持っている ( 例えば基本バンドパスフィルタ B 4 s 4の場合、 1 + ( - 9 ) + ( - 9 ) + 1 =— 1 6, 0 + 1 6 + 0 = 1 6 ) 。 nが奇数のときは、 その数値 列は絶対値が対称型となっており、 前半の数値列と後半の数値列とは逆 符号になる。 また、 数値列の 3つ飛びの合計値が逆符号で互いに等しく なるという性質を持っている。
上記 " 1 , 0 , m , 0 , 1 " の数値列は、 大元の数値列 " 1 , 0 , N " を基本として生成する。 この数値列 " 1 , 0 , N " をフィルタ係数と する基本単位フィルタは、 1〜 2個 (N= 0の場合は 1個、 それ以外の 場合は 2個) のタップを有する。 なお、 Nの値は必ずしも整数である必 要はない。
この数値列 " 1 , 0, N" をフィルタ係数として持つ基本単位フィル 夕は非対称型なので、 対称型とするために、 これを偶数段縦続接続して 使用する必要がある。 例えば 2段縦続接続した場合、 数値列 " 1 , 0 , N" の畳み込みにより、 フィルタ係数は "N, 0 , N2+ 1 , 0 , N" と なる。 ここで、 (N2+ l ) ZN = mとすると、 mを整数としたとき、 N = (m + ( m 2 - 4 ) 1/2) ノ 2 となる。
図 1 3 の例のように m= 4とした場合、 Ν= 2 + Γ 3である。 すなわ ち、 基本単位フィルタの係数は " 1, 0, 3. 7 3 2 " となる (ここで は、 小数点以下を 3桁まで表示している) 。 また、 この基本単位フィル 夕を 2段縦続接続した場合のフィルタ係数は、 " 3. 7 3 2 , 0, 1 4 • 9 2 8 , 0 , 3. 7 3 2 " となる。 この数値列は、 1 : 0 : 4 : 0 : 1 の関係になっている。
この数値列を実際にフィルタ係数として使用する場合は、 数値列の各 値を 2 Ν ( = 2 * ( 2 + 3 ) = 7. 4 6 4 ) で割ることにより、 フィ ルタ係数の数値列を F F Τ変換した場合の振幅が " 1 " となるようにし
て、 ゲインを " 1 " に基準化する。 すなわち、 実際に使用するフィルタ 係数の数値列は、 " 1 Z 2 , 0 , 2 , 0, 1 / 2 " となる。 この実際に 使用する数値列 " 1ノ 2, 0 , 2, 0 , 1 Z 2 " も 元の数値列 " 1 , 0 , 4, 0, 1 " を z倍 ( z = 1 / ( m - 2 ) ) したものに相当する。 このように基準化した数値列をフィルタ係数として使用した場合、 基 本バンドパスフィルタ B m s nのフィルタ係数は、 何れもその数値列の 総和が " 0 " で、 数値列の 3つ飛びの合計値が逆符号で互いに等しくな るという性質を持つ。
図 1 4は、 基本バンドパスフィルタ B 4 s 4 ( m = 4, n = 4とした場 合) のフィルタ係数の数値列を F F T変換して得られる周波数特性を示 す図である。 ここではゲインを直線目盛りで表し、 基準化されたゲイン を 3 2倍して示している。 一方、 周波数は " 1 " で基準化している。 この図 1 4から分かるように、 周波数一ゲイン特性は通過域がほぼ平 坦で、 遮断域の傾斜がなだらかな特性が得られている。 また、 周波数一 位相特性ではほぼ直線的な特性も得られている。 このように、 基本バン ドパスフィルタ B 4 s 4では、 オーバ一シュートやリ ンギングも存在しな い良好なバン ドパスフィルタの周波数特性を得ることができる。
図 1 5は、 基本バン ドパスフィル夕 B 4 s nの nをパラメ一夕とした 周波数一ゲイン特性を示す図であり、 ( a ) はゲインを直線目盛りで表 し、 ( b ) はゲイ ンを対数目盛りで表している。 この図 1 5より、 nの 値が大きくなるほど遮断域の傾斜が急峻になることが分かる。 この基本 バン ドパスフィルタ B 4 s nは、 n ≥ 5のときは比較的急峻な周波数特 性の用途に適し、 n < 5 のときは比較的緩やかな周波数特性の用途に適 すると言える。
図 1 6 は、 基本単位フィル夕の数値列 '' 1 , 0 , N " で N = 0 とした 場合の基本バン ドパスフィルタ B s nのフィル夕係数を示す図である。
N = 0の場合、 基本単位フィルタを 2段縦続接続したときのフィルタ係 数は " 0 , 0 , 1 , 0 , 0 " となる。 したがって、 基本バン ドパスフィ ル夕 B s nのフィルタ係数は、 " 1 " を出発点として、 元データから 2 つ前の前データを順次減算していく移動平均演算によって求められる。 図 1 6 に示す基本バン ドパスフィル夕 B s nにおいて、 nが偶数のと きは何れのフィルタ係数も、 その数値列は対称型であり、 数値列の 3つ 飛びの合計値が逆符号で互いに等しくなるという性質を持っている (例 えば基本バンドパスフィルタ B s 4の場合、 1 + 6 + 1 = 8 , - 4 + ( — 4 ) = - 8 ) 。 nが奇数のときは、 その数値列は絶対値が対称型とな つており、 前半の数値列と後半の数値列とは逆符号になる。 また、 数値 列の 3つ飛びの合計値が逆符号で互いに等しくなるという性質を持って いる。 ·
図 1 7は、 基本バン ドパスフィルタ B s 4のフィルタ係数の数値列を F F T変換して得られる周波数特性を示す図である。 こ こではゲインを 直線目盛りで表し、 基準化されたゲインを 1 6倍して示している。 一方 、 周波数は " 1 " で基準化している。
この図 1 7から分かるように、 周波数一ゲイン特性でほぼ平坦な通過 域は図 1 4に比べて狭くなるが、 遮断域の傾斜はなだらかな特性が得ら れている。 また、 周波数一位相特性ではほぼ直線的な特性も得られてい る。 このように、 基本バンドパスフィルタ B s 4においても、 オーバ一シ ユートゃリ ンギングも存在しない良好なバン ドパスフィル夕の周波数特 性を得ることができる。
図 1 8は、 基本バン ドパスフィルタ B s nの nをパラメータとした周 波数一ゲイン特性を示す図であり、 ( a ) はゲインを直線目盛りで表し 、 ( b ) はゲインを対数目盛りで表している。 この図 1 8より、 nの値 が大きくなるほど遮断域の傾斜が急峻になることが分かる。 この基本バ
ン ドパスフィルタ B s nは、 n≥ 5のときは比較的急峻な周波数特性の 用途に適し、 n < 5のときは比較的緩やかな周波数特性の用途に適する と言える。
<パラメ一夕値 m , nの特性に与える影響〉
まず、 移動平均演算の段数 nを変えた場合の影響について説明する。 例えば図 3に示したように、 基本口一パスフィルタ L m a nにおいて、 nの値を大きくすると遮断域の傾斜が急峻になり、 通過域のバンド幅は 狭くなる。 また、 nの値が小さいときは、 周波数特性の頂部は両端が盛 り上がる。 nの値が大きくなるに従って頂部は徐々に平坦に近づき、 n = 4で完全に平坦になる。 nの値がそれより大きくなると、 今度は頂部 の両端が中央値より低くなつていく。 このような傾向は、 基本ハイパス フィルタ H m s n、 基本バンドパスフィルタ B m s nについても同様に 言える (図 9、 図 1 5参照) 。
一方、 基本単位フィルタの係数値を N = 0 として構成した.基本口一パ スフィルタ L a n、 基本ハイパスフィルタ H s nおよび基本バン ドパス フィル夕 B s nに関しては、 図 6、 図 1 2、 図 1 8 に示したように、 n の値が何れの場合も頂部の両端は中央値より低くなる。 nの値を大きく すると遮断域の傾斜が急峻になり、 通過域のバン ド幅が狭くなることは 、 N≠ 0である基本ローパスフィルタ L m a n、 基本ハイパスフィルタ H m s nおよび基本バン ドパスフィルタ B m s nの場合と同様である。 次に、 mの値を変えた場合の影響について説明する。 図 1 9は、 基本 ハイパスフィルタ H m s nにおいて mをパラメータとした周波数一ゲイ ン特性を示す図である。 この図 1 9より、 mの値を小さくすると遮断域 の傾斜が急峻になり、 通過域のバン ド幅が狭くなることが分かる。 ここ では図示を省略するが、 基本ローパスフィルタ L m a nおよび基本バン ドパスフィルタ B m s nについても同様のことが言える。
この図 1 9は、 パラメ一夕 mに対するパラメータ nの最適値 (周波数 特性の頂部が平坦になる nの値) も同時に示している。 すなわち、 m = 4のときの最適値は n = 4、 m = 3 . 5のときの最適値は n = 6、 m = 3のときの最適値は n = 8、 m = 2 . 5のときの最適値は n = 1 6であ る。 図 2 0は、 これを分かりやすく グラフ化したものである。 この図 2 0から分かるように、 パラメ一夕 mに対するパラメータ nの最適値は、 mの値が小さくなるにつれて大きくなる。
このことを、 図 2 1 を用いて更に詳細に説明する。 図 2 1 は、 パラメ —夕 mとそれに対するパラメ一夕 nの最適値との関係を表形式によって 示す図である。 なお、 この図 2 1では、 パラメータ mに対するパラメ一 タ Xの関係も併せて示している。
上述のように、 パラメータ mに対するパラメータ nの最適値は、 mの 値が小さくなるにつれて大きくなる。 ここで、 m = 2になるとフィルタ 特性が大きく変わってしまい、 良好な周波数特性が得られなくなる。 逆 に言う と、 m > 2の条件であれば、 タップ間に挿入する遅延量を増やさ なくても、 通過域におけるバンド幅の狭い良好なフィルタ特性を得るこ とができる。 一方、 パラメータ mの値が大きくなるにつれてパラメ一夕 nの最適値は小さくなり、 m = 1 0のときに n = l となる。 つまり、 m = 1 0のときは、 移動平均演算の段数は 1段で良い。 このことから、 パ ラメ一夕 mは、 2 < m≤ l 0の条件で使用するのが好ましい。
また、 パラメ一夕 nの値は、 図 2 1 に示す最適値を中心として前後の 或る範囲で選択した任意の値を用いることにより、 図 3、 図 9、 図 1 5 のように周波数特性の調整をすることができる。
図 2 2 は、 図 1 9 に示した 4種類の基本ハイパスフィル夕 H m s nの ィ ンパルス応答を示す図である。 この図 2 2 に示すような波形を有する インパルス応答は、 横軸に沿つた標本位置が一定の間にあるときにのみ
" 0 " 以外の有限な値を有し、 それ以外の領域では値が全て " 0 " とな る関数、 つまり所定の標本位置において値が " 0 " に収束する関数であ る。
このように、 関数の値が局所的な領域で " 0 " 以外の有限の値を有し 、 それ以外の領域で " 0 " となる場合を 「有限台」 と称する。 ここでは 図示を省略するが、 基本ハイパスフィルタ H s n、 基本口一パスフィル 夕 Lm a n , L a nおよび基本バン ドパスフィルタ Bm s n , B s nに ついても同様に、 ィ ンパルス応答は有限台となる。
このような有限台のインパルス応答では、 " 0 " 以外の有限の値を有 する局所的な領域内のデ一夕だけが意味を持つ。 この領域外のデータに ついては、 本来これを考慮すべきであるのに無視している訳ではなく、 理論的に考慮する必要がないため、 打ち切り誤差は発生しない。 したが つて、 図 1 、 図 4、 図 7、 図 1 0、 図 1 3、 図 1 6 に示した数値列をフ ィルタ係数として用いれば、 窓掛けによって係数の打ち切りを行う必要 もなく、 良好なフィルタ特性を得ることができる。
<フィルタ係数間のゼロ値の調整 >
基本フィルタのフィル夕係数を構成する数値列の各数値間のゼロ値 (各 タップ間の遅延量に相当) を変えることによって、 基本フィル夕の通過域 のバンド幅を調整することが可能である。 すなわち、 上述の基本口一パ スフィルタ Lm a n , L a n、 基本ハイパスフィル夕 Hm s n , H s n、 基本バンドパスフィルタ B m s n , B s nでは、 各タップ間の遅延量は 1 クロック分であつたが、 これを ( k + 1 ) クロック分とすると (各フィル 夕係数の間に " 0 " を k個ずっ揷入すると) 、 その周波数一ゲイ ン特性の 周波数軸 (周波数方向に対する周期) は 1 / ( k + 1 ) となり、 通過域 のバン ド幅は狭くなる。 以下、 例えば基本ローパスフィル夕 L m a nに おいて各フィルタ係数の間に " 0 " を k個ずっ揷入する場合を L m a n (
k ) と表記することにする。 ただし、 k = 0の場合は ( 0 ) を省略して表 記する。 ' 図 2 3は、 基本口一パスフィルタ L 4 a 4および、 その各フィル夕係数の 間に " 0 " を 1つずっ揷入することによって生成した基本ローバスフィル夕 L 4 a 4 ( 1 ) の周波数一ゲイン特性を示す図であり、 ( a ) はゲイ ンを直 線目盛りで表し、 ( b ) はゲインを対数目盛りで表している。 この図 2 3か ら分かるように、 フィル夕係数の間に挿入する " 0 " の数を k個とすると、 その周波数一ゲイン特性の周波数軸 (周波数方向に対する周期) は 1 / ( k + 1 ) となり、 通過域のバンド幅を狭くすることが可能である。
<同種の基本フィルタの縦続接続 >
同種の基本フィルタを縦続接続することにより、 各基本フィル夕の係数ど うしが乗算 · 加算されて新しいフィルタ係数が作り出される。 以下では、 例 えば基本口一パスフィルタ L m a nの縦続接続数を Mとするとき、 これを ( Lm a n) Mと記述することにする。
ここで、 基本フィルタを縦続接続した場合におけるフィルタ係数の演 算内容について説明する。 図 2 4は、 縦続接続によるフィルタ係数の演 算内容を説明するための図である。. この図 2 4に示すように、 2つの基 本フィルタを縦続接続した場合には、 一方のフィルタ係数を構成する ( 2 i + 1 ) 個 ( 2 i + 1 は、 一方のフィルタ係数を構成する全数値列の 個数を表す) の数値列 { HI—い HI— ι— η, HI— (卜 2), · · · , HI—い Hl0 , HI,, · · · , H li_2, H li.,, H 1J と、 他方のフィルタ係数を構成す る ( 2 i + 1 ) 個の数値列 { 1-12.,, H 2.α-1), Η2— (卜 2), · · · , Η 2— ,, Η 2,,, Ι-Ι2,, · · · , Η 2ト 2, Η2トい Η 2 , } との畳み込み演算を行う こと によって、 新たなフィルタ係数の数値列を求める。
この畳み込み演算では、 他方のフィル夕係数については、 {Η2 , H 2一(卜,), H2—(ト 2), · · · , H 2_,, H 20, H 2,, · · · , H 2;_2, H2トぃ
H 2 の全ての数値列を常に固定的に乗加算の対象とする。 一方、 一方 のフィルタ係数については、 { H I い H I (ト n, H I—(ト 2), · · · , H 1_, , H l。, H Iい · · ' , H 1ト 2, H 1,_,, H I,} の数値列の前後に 0列があ るものと仮定し、 この 0値も含めて ( 2 1 + 1 ) 個の数値列を畳み込み 演算の対象とする。 このとき、 新たなフィルタ係数の p番目の数値を求 める際には、 一方のフィルタ係数の P番目の数値を含めてそれより前に ある ( 2 1 + 1 ) 個の数値列を乗加算の対象とする。
例えば、 新たなフィルタ係数の 1番目の数値を求める際には、 他方の フィルタ係数の全ての数値列 { H 2—い H 2— (ト0, H 2_ (ト 2), · · · , H _, , H 20, H 2,, · · · , H 2i_2, H 2i_,, H 2, } (符号 3 1で示す点線で囲 つた配列) と、 一方のフィルタ係数の 1番目の数値を含めてそれより前 にある ( 2 i + 1 ) 個の数値列 { 0 , 0, · · ·, 0 , H } (符号 3 2で 示す点線で囲った配列) とを対象として、 配列の対応する要素の積を合 計する演算を行う。 すなわち、 この場合の演算結果は、 (Η 1 Χ Η 2_ となる。
また、 新たなフィルタ係数の 2番目の数値を求める際には、 他方のフ ィルタ係数の全ての数値列 { H 2— i, H 2_(i_n, H 2_ (卜 2), · · · , H 2一い H 2。, H 2,, · · · , H 2i-2, H 2i—い H 2 (符号 3 1で示す点線で囲つ た配列) と、 一方のフィルタ係数の 2番目の数値を含めてそれより前に ある ( 2 i + 1 ) 個の数値列 { 0 , 0 , · · ·, 0, H 1-ぃ H l_(i_n} (符 号 3 3で示す点線で囲った配列) とを対象として、 配列の対応する要素 の積を合計する演算を行う。 すなわち、 この場合の演算結果は、 (H l_i X H 2_i+ H l_(i-n X H 2.(i_n) となる。 以下同様にして、 新たなフィルタ 係数を構成する ( 2 X ( 2 i + 1 ) 一 1 ) 個の数値列を求める。
図 2 5は、 基本ローパスフィルタ L 4 a 4 , ( L 4 a 4 ) ( L 4 a 4 ) 4, ( L 4 a 4 ) 8の周波数 ゲイン特性を示す図であり、 ( a ) はゲイン
を直線目盛りで表し、 ( b ) はゲイ ンを対数目盛りで表している。 基本ロー パスフィルタ L 4 a 4が 1 個のみの場合、 振幅が 0 . 5 となる位置のク ロッ クは 0 . 2 5である。 これに対して縦続接続数 Mが多く なる と、 フィ ル夕の 通過帯域幅が狭く なる。 例えば M = 8 の場合、 振幅が 0 . 5 となる位置のク ロックは 0 . 1 2 5 となる。
上記図 2 5から分かるよう に、 基本口一パスフィ ル夕 L 4 a 4 は、 周波数 特性のカツ トオフ周波数部分の傾斜が急峻であるという特徴を持つ。 また、 基本口一パスフィ ルタフィ ルタ ( L 4 a 4 ) Mの周波数一ゲイ ン特性は、 縦 続接続数 Mが多く なるほど通過帯域幅が狭くなり、 低周波域においても極め て深く ス ト レー トに落ち込む特性が得られる。
図 2 6 は、 基本ハイパスフィルタ H 4 s 4, ( H 4 s 4 ) 2 , ( H 4 s 4 ) 4, ( H 4 s 4 ) 8の周波数一ゲイ ン特性を示す図であ り、 ( a ) はゲイ ン を直線目盛りで表し、 ( b ) はゲイ ンを対数目盛りで表している。 る。 基本 ハイパスフィルタ H 4 s 4が 1個のみの場合、 振幅が 0 . 5 となる位置のク ロックは 0 . 2 5である。 これに対して縦続接続数 Mが多く なると、 フィル 夕の通過帯域幅が狭く なる。 例えば M = 8 の場合、 振幅が 0 . 5 となる位置 のクロ ックは 0 . 3 7 5 となる。
上記図 2 6から分かるよう に、 基本ハイパスフィルタ H 4 s 4 は、 周波数 特性のカツ トオフ周波数部分の傾斜が急峻であるという特徴を持つ。 また、 基本ハイパスフィ ルタフィ ルタ ( H 4 s 4 ) Mの周波数一ゲイ ン特性は、 縦 続接続数 Mが多く なるほど通過帯域幅が狭く なり、 高周波域においても極め て深くス ト レ一 トに落ち込む特性が得られる。
<異種の基本フィ ルタの縦続接続 >
異種の基本フィル夕を縦続接続した場合も、 各基本フィ ル夕の係数どう し が畳み込み演算によ り乗算 · 加算されて新しいフィル夕係数が作り 出される 。 この場合は、 異種の基本フィ ルタを任意に組み合わせる ことによって、 各
基本フィル夕の特性どう しが相殺し合い、 所望の周波数帯域を抜き取る こ と ができる。 これによ り、 所望特性の口一パスフィ ルタやハイパスフィ ルタ、 パン ドパスフィル夕、 バン ドエリ ミネ一シヨ ンフィ ルタ、 コムフィ ルタなど を簡単に設計することができる。
<フィ ル夕係数の丸め処理 >
以上のような基本フィル夕の縦続接続、 バン ド幅の調整等'によって求めら れた数値列が、 所望の周波数特性を実現するためのフィル夕係数となる。 図 2 7 は、 1 6 ピッ 卜の演算精度で実際に算出したフィルタ係数値 (丸め処理 前のもの) をグラフ化した図である。 また、 図 2 8 は、 フィルタ係数を丸め 処理する前におけるデジタルフィルタの周波数一ゲイ ン特性おょぴ周波数一 位相特性を示す図であ り、 ( a ) はゲイ ンを直線目盛りで示し、 ( b ) はゲ ィ ンを対数目盛りで示している。
図 2 7 に示すよう に、 本実施形態の設計法によって得られるフィ ル夕係数 の値は、 中央 (係数 H D) で最大となる。 また、 各フィルタ係数の値の差は 、 従来のフィルタ設計法で得られるフィルタ係数のそれに比べて極めて大き く なる。 そのため、 所定の閾値よ り小さい値のフィ ルタ係数を丸め処理によ つて破棄しても、 周波数特性を決定付ける主要なフィル夕係数は殆ど残り 、 周波数特性に悪影響を与えるこ とは殆どない。 また、 周波数特性の帯域外減 衰量はフィルタ係数のピッ ト数によって制約を受けるが、 図 2 8 に示すよう に、 本実施形態のフィ ル夕設計法によって得られる周波数特性は非常に深い 減衰を持っているので、 ビッ ト数を多少減ら しても、 所望の減衰量は確保で さる。
したがって、 丸め処理によって不要なフィ ル夕係数を大幅に削減する こ とができる。 例えば、 フィ ルタ係数の下位数ピッ トを切り捨てる こ と でピッ ト数を減らすことによ り 、 その下位数ビッ トだけで表される最大 値よ り も小さい値のフィルタ係数を全て " 0 " に丸めて破棄する ことが
できる。 よって、 フィルタ係数の数を減らすために従来のような窓掛け は必要ない。 なお、 上述したよう に、 縦続接続されている基本フィ ルタ のィ ンパルス応答は有限台の関数となる。 そのため -. この基本フ ィ ルタ をもとに設計されるフィル夕係数の数は、 従来に比べてそもそも少なく 、 丸め処理をする こ となく そのまま使用する こ とも可能である。 しかし 、 よ り タ ップ数を少なく するために、 ビッ ト数を減らす丸め処理を行う のが好ましい。
この点は、 従来のフィル夕設計法と大きく異なる本実施形態の特徴点であ る。 すなわち、 従来のフィルタ設計法では、 求め られる各フィルタ係数の値 の差がそれほど大きくならないため、 フィ ルタ係数の値で丸め処理をすると 、 周波数特性を決定付ける主要なフィルタ係数も破棄されてしまう ことが多 い。 また、 非常に深い帯域外減衰量を持った周波数特性を得るこ とも困難な ため、 フィ ルタ係数のビッ ト数を減らすと必要な帯域外減衰量を確保できな く なつてしまう。 よって、 従来はビッ ト数を減らす丸め処理を行う こ とがで きず、 窓掛けによってフィルタ係数の数を減らさざるを得なかった。 そのた め、 周波数特性に打ち切り誤差が発生し、 所望の周波数特性を得る こ とが極 めて困難であった。
これに対して、 本実施形態では窓掛けを行う こ となく フィルタの設計がで きるので、 周波数特性に打ち切り誤差が生じるこ とはない。 したがって、 遮 断特性の極めて大きな改善が可能となり、 位相特性も直線で優れたフィ ルタ 特性を得る ことができる。
図 2 9 は、 1 6 ビッ トの演算精度で算出した図 2 7 のようなフィ ルタ係数 に対して 1 0 ビッ トの丸め処理を行った結果として残った 4 1 タップ (ゼロ 値を含めた段数は 4 6段) 分のフィ ルタ係数値とそれを整数化した係数値と を示す図である。 上述のような基本フィル夕の縦続接続によって求まるフィ ル夕係数の値は小数であ り、 1 0 ビッ 卜の丸め処理によってその桁数を減ら
すことができるが、 ランダムな値の集合である。 この数値列をそのままフィ ル夕係数として用いても良いが、 デジタルフィルタを実装する際に使用する 乗算器の数をよ り少なくするために、 フィ ル夕係数の数値を更に丸めて単純 化するよう にしても良い。 そのために本実施形態では、 1 0 ビッ トで丸めた フィ ルタ係数の数値列を 2 '»倍して小数点以下を丸め、 係数値を整数化する このような整数化の丸め演算を行う と、 デジタルフィ ル夕の各タップから の出力信号に対して整数のフィル夕係数を個別に乗算し、 それぞれの乗算出 力を全て加算した後にまとめて 1ノ 21ϋ倍するよう にデジタルフィ ルタを構 成する こ とが可能となる。 しかも、 整数のフィルタ係数は、 2 i+ 2 i+ ' · • ( i , j は任意の整数) のよう に 2進数の足し算で表現できる。 これによ り、 乗算器の代わ り にビッ トシフ ト回路で係数器を構成し、 実装するデジ夕 ルフィル夕の構成を簡素化する ことができる。
図 3 0は、 1 6 ビッ トの演算精度でフィルタ係数を算出した後、 それを 1 0 ビッ トに丸めて ( 1 0 ビッ ト以下の桁数を切り捨てて) 更に整数化した場 合の周波数一ゲイ ン特性を示す図であ り、 ( a ) はゲイ ンを直線目盛りで示 し、 ( b ) はゲイ ンを対数目盛りで示している。
図 3 0からよ く分かるよう に、 本実施形態ではフィルタ設計の際に窓掛け を行っていないので、 周波数一ゲイ ン特性における平坦部のリ ップルが極め て小さ く 、 ± 0. 3 d Bの範囲内に充分収まっている。 また、 丸め処理後の 帯域外減衰量は約 4 4 d Bとなっているが、 この帯域外減衰量は実装しょう とするハー ドウェアで対応可能なピッ ト数によって制約される。 したがって 、 ハー ドウェア規模の制約がなければ 丸め処理後のピッ ト数を大きく して よ り減衰の深い帯域外減衰特性を得る こ とができる。
なお、 こ こでは丸め処理の例と して、 フィル夕係数のデータに対して下位 数ビッ トを切り捨てる ことによって y ビッ トのデ一夕を X ビッ トに丸める処
理について説明したが、 この例に限定されない。 例えば、 各フィル夕係数の 値を所定の閾値と比較し、 閾値より小さいフィル夕係数を破棄するようにし ても良い。 この場合、 残されるフィルタ係数は元の yピッ トのままであるか ら、 これを整数化する際には 2 y倍する。
<フィルタ設計装置の実装例 >
以上に説明した本実施形態によるデジタルフィ ルタの設計方法を実現する ための装置は、 ハードウェア構成、 D S P、 ソフ トウェアの何れによっても 実現することが可能である。 例えばソフ トウエアによって実現する場合、 本 実施形態のフィル夕設計装置は、 実際にはコンピュータの C P Uあるいは M P U、 RAM, R OMなどで構成され、 RAMや R OMあるいはハードディ スク等に記憶されたプログラムが動作することによって実現できる。
例えば、 各種の基本フィルタ Lm a n, L a n , Hm s n , H s n, Bm s n , B s nに関するフィルタ係数をデータとして R AMや R OM 、 ハードディスク等の記憶装置に記憶しておく。 そして、 ユーザが基本 フイリレ夕 Lm a n , L a n , Hm s n , H s n , Bm s n, B s nに関 する任意の組み合わせと接続順、 各フィルタ係数間に揷入するゼロ値の 数 k、 基本フィルタの同種縦続接続数 Mなどを指示すると、 C P Uが、 上記記憶装置に記憶されているフィルタ係数のデータを用いて、 指示さ れた内容に対応するフィルタ係数を上述した演算により求めるようにす ることが可能である。 この場合、 記憶装置が本発明の基本フィルタ係数 記憶手段に相当し、 C P Uが本発明の演算手段に相当する。
ユーザが各基本フィル夕 L m a n, L a n , Hm s n , H s n , B m s n , B s nに関する組み合わせと接続順 ゼロ値の揷入数 k、 縦続接続数 Mな どを指示する際のユーザインタフェースは、 任意に構成することが可能であ る。 例えば、 基本フィル夕のタイプ ( L m a n , L a n , Hm s n , H s n , B m s n , B s nの何れか) を画面表示された一覧表からキ一ポードゃマ
ウスの操作によって選択できるよう にするとともに、 パラメ一夕 m, n, k , Μの値をキ一ボー ドやマウスの操作によって入力できるよう にする。 そし て、 タイプの選択とパラメ一夕の入力とを 1 つずつ順に行っていったときの 入力順を基本フィ ルタの接続順として入力する。 C P Uは、 このよう にして 入力された情報を取得し、 その入力情報によ り指示された内容に対応するフ ィ ル夕係数を上述した演算によ り求める。
また, 各種の基本フィル夕 L m a n , L a n , H m s n , H s n , B m s n, B s n をアイ コ ン化してディスプレイ画面上に表示するよう にし (各ァ イコ ンに対応してフィルタ係数をデ一夕として記憶装置に記憶している) 、 ユーザがこれらのアイ コンをキ一ポ一 ドやマウスの操作によ りディ スプレイ 画面上で任意に組み合わせて配置する。 また、 その他の必要なパラメ一夕は キ一ポ一 ドやマウスの操作によって入力する。 そして、 C P Uがアイ コ ンの 配列や入力パラメ一夕に対応するフィ ルタ係数を自動的に演算して求めるよ う にしても良い。
また、 パーソナルコンピュータ等にイ ンス トールされている表計算ソフ ト の関数機能などを利用して、 基本フィルタを求める際の移動平均演算、 基本 フィルタを縦続接続するときの畳み込み演算などを行う よう にする ことも可 能である。 この場合の演算は、 実際には、 表計算ソフ トがイ ンス トールされ ているパーソナルコンピュータ等の C P U、 R〇 M、 R A Mなどによって行 われる。
また、 求めたフィルタ係数を自動的に F F T変換し、 その結果を周波数一 ゲイ ン特性図としてディ スプレイ画面に表示するよう にしても良い。 このよ う にすれば、 設計したフィ ル夕の周波数特性を視覚的に確認することができ 、 フィ ルタ設計をよ り容易に行う ことができる。
<デジタルフィル夕の実装例 >
実際にデジタルフィ ル夕を電子機器内や半導体 I Cに実装する場合には、
以上のようなフィルタ設計装置によって最終的に求められた数値列をフィ ル 夕係数として持つ F I Rフィルタを構成すればよい。 すなわち、 単に複数の D型フ リ ップフ口 ップと複数の係数器と複数の加算器とによ り 1 つのデジ夕 ルフィ ル夕を構成し、 以上のような手順で求めた最終的なフィ ル夕係数を、 当該デジタルフィル夕内の複数の係数器に設定する形で構成する。
その場合、 求められたフィ ルタ係数の数は 1 0 ビッ トの丸め処理によって 大幅に削減されており、 かつ、 2 1(1倍による丸め処理によって単純な整数に 変換されている。 したがって、 タップ数は非常に少なく 、 しかも基本的に乗 算器は不要でビッ トシフ ト回路にて対応可能であ り、 所望の周波数特性を小 さな回路規模で髙精度に実現する ことができる。
また、 各基本フィ ルタ L m a n ( k ) L a n ( k ) H m s n ( k ) , H s n ( k ) , B m s n ( k ) B s n ( k ) のうち、 フィ ルタ設計の際に 用いたものをそれぞれハー ドウェアとして構成し、 それらをハー ドウェアと して接続する ことによってデジタルフィルタを実装するよう にしても良い。 以下に、 各基本フィルタ L m a n , L a n , H m s n , H s n B m s n , B s nのハ一 ドウエア構成例を示す。
図 3 1 は、 基本口一パスフィ ル夕 L 4 a 4 (m = 4 , n = 4 とした場合) のハー ドウェア構成を示す図である。 図 3 1 に示すよう に、 基本口一パスフ ィ ル夕 L 4 a 4は、 出発点となる数値列 "一 1 / 2 2 , - 1 / 2 " をフィ ルタ係数として持つ F I R演算部 1 0 1 と、 当該数値列を移動平均演算する 移動平均演算部 2 0 1 とを備えて構成される。 このうち F I R演算部 1 0 1 は、 縦続接続された 2個の D型フ リ ップフロップ 1 1—2 と、 3個の係数 器 2 2—3 と、 2個の減算器 3 _, 3 -2とによ り構成される。
2個の D型フリ ップフロ ップ 1 — , 1 — 2は、 入力デ一夕を 1 ク ロ ック C K ずつ順次遅延させる。 3個の係数器 2 _, 2 _3は、 各 D型フ リ ツプフロ ッ プ 1 1—2の入出力タ ップから取り 出した信号に対し、 1 / 2 , 2 , 1 / 2
のフィ ルタ係数をそれぞれ乗算する。 第 1 の減算器 3 _,は、 第 2 の係数器 2„2の乗算結果から第 1 の係数器 2 の乗算結果を減算する。 また、 第 2 の 減算器 3 _2は、 第 1 の減算器 3— ,の減算結果から第 3 の係数器 2 _3の乗算結 果を減算する。
また、 移動平均演算部 2 0 1 は、 何れも同様に構成された 4個の積分器 4 4 4を縦続接続する ことによって構成される。 例えば 1 段目の積分器 4 は、 入力データを 1 クロック分遅延させる D型フ リ ップフロ ップ 5 _, と 、 当該 D型フリ ップフロップ 5 を通らない元データと D型フ リ ップフロッ プ 5 を通って遅延を受けた前データとを加算する加算器 6 と、 加算結果 の振幅を元に戻すための調整器 7 とによ り構成される。
この図 3 1 に示す基本口一パスフィ ルタ L 4 a 4の構成では、 フィルタ係 数の乗算が行われる係数器 2 -! 2 -3およびその係数器 2 2 -3へのデ一 夕の取出口である出力タップが必要なのは、 初段の F I R演算部 1 0 1 だけ である。 しかも、 その数はわずか 3個である。
さ らに、 フィルタ係数の値は 1 / 2 , 2 , 1 / 2であるので、 係数器 2 2 _3はビッ トシフ ト回路で構成することが可能である。 また、 4個の積分 器 4—,〜 が備える調整器 7— , 7— 4もビッ トシフ ト回路で構成する こ と が可能である。 nの値を 4以外として調整器の数が変わっても、 その調整器 は全てビッ トシフ ト回路で構成できる。 よって、 基本口一パスフィ ルタ L 4 a nのハ一 ドウエア構成において、 乗算器は全く不要である。
なお、 こ こでは m = 4の場合について説明したが、 m = 2 1 ( i は整数) であれば、 全ての係数器と調整器とをビッ トシフ ト回路で構成する こ とが可 能であ り、 乗算器は必要でない。
図 3 2 は、 基本ローパスフィ ルタ L a 4 ( n = 4 とした場合) のハー ドウ エア構成を示す図である。 こ こでは、 出発点となる数値列は単一の " 1 " で あるので、 図 3 1 に示した 2個の D型フ リ ップフロップ 1 1—2 3個の
係数器 2 〜 2— 3および 2個の減算器 3 -,〜 3— 2は不要である。 すなわち、 図 3 1 に示した後半の 4つの積分器 4 -,〜 4—4を縦続接続するだけで基本口 一パスフィ ルタ L a 4 を構成することができる。 よって、 タ ップ数は 0 で 乗算器も全く不要である。
図 3 3 は、 基本ハイパスフィ ルタ H 4 s 4 ( m = 4 , n = 4 とした場合) のハー ドウェア構成を示す図である。 図 3 3 に示すよう に、 基本ハイパスフ ィ ルタ H 4 s 4 は . 出発点となる数値列 " 1 Z 2 , 2 , 1 / 2 " をフィ ル夕 係数として持つ F I R演算部 1 0 2 と、 当該数値列を移動平均演算する移動 平均演算部 2 0 2 とを備えて構成される。 このうち F I R演算部 1 0 2 は、 縦続接続された 2個の D型フ リ ップフロ ップ 1 1 〜 1 1 -2と、 3個の係数 器 1 2— ,〜 1 2 _3と、 2個の加算器 1 3 〜 1 3 -2とによ り構成される。
2個の D型フ リ ップフロップ 1 1— ,〜 1 1— 2は、 入力データを 1 ク ロック C Κずつ順次遅延させる。 3個の係数器 1 2 ~ 1 2„3は、 各 D型フ リ ップ フロップ 1 1 〜 1 1 _2の入出力タップから取り 出した信号に対し、 1 ノ 2 , 2 , 1 / 2 のフィ ルタ係数をそれぞれ乗算する。 2個の加算器 1 3 _ι ~ 1 3— 2は、 各係数器 1 2 ~ 1 2 _3の乗算結果を全て加算して出力する。
また、 移動平均演算部 2 0 2 は、 何れも同様に構成された 4個の微分器 1
4 〜 1 4 _4を縦続接続することによって構成される。 例えば 1 段目の微分 器 1 4 は、 入力データを 1 クロック分遅延させる D型フ リ ップフロ ップ 1
5 と、 当該 D型フ リ ップフロップ 1 5 を通らない元データから D型フ リ ップフロ ップ 1 5—, を通って遅延を受けた前データを減算する減算器 1 6 と、 減算結果の振幅を元に戻すための調整器 1 7 とによ り構成される。 この図 3 3 に示す基本ハイバスフィ ルタ Η 4 s 4の構成では、 フィ ルタ係 数の乗算が行われる係数器 1 2 〜 1 2 -3およびその係数器 1 2 , ~ 1 2 _3 へのデータの取出口である出力タップが必要なのは、 初段の F I R演算部 1 0 2だけである。 しかも、 その数はわずか 3個である。
さ らに、 フィ ルタ係数の値は 1ノ 2 2 , 1 / 2であるので、 係数器 1 2 ~ 1 2 -3はビッ トシフ ト回路で構成することが可能である。 また、 4個 の微分器 1 4 1 4 ^が備える調整器 1 7 1 7— 4もビッ トシフ ト回路 で構成する ことが可能である。 nの値を 4以外と して調整器の数が変わって も、 その調整器は全てビッ トシフ ト回路で構成できる。 よって、 基本ハイパ スフィル夕 H 4 s nのハー ドウェア構成においても、 乗算器は全く不要であ る。
なお、 ここでは m = 4の場合について説明したが、 m = 2 !であれば ( i は整数) 、 全ての係数器と調整器とをビッ トシフ ト回路で構成する ことが可 能であ り、 乗算器は必要でない。
図 3 4は、 基本ハイパスフィ ル夕 H s 4 (n = 4 とした場合) のハ一 ドウ エア構成を示す図である。 こ こでは、 出発点となる数値列は単一の " 1 " で あるので、 図 3 3に示した 2個の D型フリ ップフロップ 1 1 ~ 1 1—い 3 個の係数器 1 2 -,~ 1 2 _3および 2個の加算器 1 3— , 1 3— 2は不要である 。 すなわち、 図 3 3に示した後半の 4つの微分器 1 4 1 4 _4を縦続接続 するだけで基本ハイパスフィルタ H s 4を構成する ことができる。 よって、 タップ数は 0で、 乗算器も全く不要である。
図 3 5は、 基本バン ドパスフィルタ B 4 s 4 (m= 4 n = 4 とした場合 ) のハー ドウェア構成を示す図である。 図 3 5 に示すよう に、 基本バン ドパ スフィルタ B 4 s 4は、 出発点となる数値列 " 1ノ 2 , 0 2 , 0 1 / 2 " をフィルタ係数として持つ F I R演算部 1 0 3 と、 当該数値列を移動平均 演算する移動平均演算部 2 0 3 とを備えて構成される。 このうち F I R演算 部 1 0 3は、 縦続接続された 2個の D型フ リ ップフロップ 2 1 _,~ 2 1— 2 と
3個の係数器 2 2— , 2 2 _3 と、 2個の加算器 2 3— , 2 3 2とによ り構 成される。
2個の D型フリ ップフロップ 2 1 2 1—2は、 入力データを 2 ク ロ ック
C Kずつ順次遅延させる。 3個の係数器 2 2 2 2 -3は、 各 D型フ リ ップ フロップ 2 1 2 1 - 2の入出力タップから取り 出した信号に対し、 1 / 2 2 1 / 2 のフィル夕係数をそれぞれ乗算する。 2個の加算器 2 3 2 3 は 各係数器 2 2 _, 2 2 の乗算結果を全て加算して出力する。
また、 移動平均演算部 2 0 3 は、 何れも同様に構成された 4個の微分器 2 4 2 4 _4を縦続接続する こ とによって構成される。 例えば 1 段目の微分 器 2 4—〗は、 入力データを 2 ク ロック分遅延させる D型フ リ ップフロップ 2 5 と、 当該 D型フ リ ップフロ ップ 2 5 を通らない元データから D型フ リ ップフロップ 2 5 を通って遅延を受けた前デ一夕を減算する減算器 2 6 と、 減算結果の振幅を元に戻すための調整器 2 7 とによ り構成される。 この図 3 5 に示す基本バン ドパスフィル夕 Β 4 s 4の構成では、 フィルタ 係数の乗算が行われる係数器 2 2 2 2— 3およびその係数器 2 2— ! 2 2 .3 へのデータの取出口である出力タップが必要なのは、 初段の F I R演算部 1 0 2 だけである。 しかも、 その数はわずか 3個である。
さ らに、 フィ ルタ係数の値は 1 Z 2 , 2 1 / 2 であるので、 係数器 2 2 ~ 2 2 - 3はビッ トシフ ト回路で構成するこ とが可能である。 また、 4個 の微分器 2 4 2 4— 4が備える調整器 2 7 _, 2 7— 4もビッ トシフ ト回路 で構成する ことが可能である。 ηの値を 4以外として調整器の数が変わって も、 その調整器は全てビッ トシフ ト回路で構成できる。 よって、 基本バン ド パスフィルタ Β 4 s ηのハー ドウェア構成においても、 乗算器は全く不要で ¾る。
なお、 こ こでは m = 4の場合について説明したが、 m = 2 1 ( i は整数) であれば、 全ての係数器と調整器とをビッ トシフ ト回路で構成する ことが可 能であ り、 乗算器は必要でない。
図 3 6 は、 基本バン ドパスフィ ルタ B s 4 ( n = 4 とした場合) のハー ド ウェア構成を示す図である。 こ こでは、 出発点となる数値列は単一の " 1 "
であるので、 図 3 5に示した 2個の D型フリ ップフロップ 2 1 〜 2 1 _2、 3個の係数器 2 2―、〜 2 2 _3および 2個の加算器 2 3 〜 2 3— 2は不要であ る。 すなわち 図 3 5に示した後半の 4つの微分器 2 4 - ,〜 2 4—4を縦続接 続するだけで基本バン ドパスフィル夕 B s 4を構成することができる。 よつ て、 タップ数は 0で、 乗算器も全く不要である。
くデジタルフィルタの設計例 >
次に、 以上に説明した基本フィルタを用いたデジタルフィル夕の設計 例について説明する。 ここでは、 以下の目標規格を満足するバン ドパス フィルタを設計する場合を例にとって説明する。
中心周波数 : 4 5 0 Κ Η ζ
サンプリ ング周波数 : 1 . 8 M H z
帯域外減衰量 : ー 8 0 d B
_ 3 d Bのバンド幅 : 1 0 K H z
図 3 7は、 上記目標規格を実現するバンドパスフィル夕の回路構成を 示す図である。 このバン ドバスフィルタは、 基本ハイパスフィルタ H 2 . 4 s 2 4 ( 2 ) と基本ハイパスフィルタ H 2 . 4 s 1 6 ( 6 ) とを縦 続接続することによって構成している。 複数の基本フィルタを適宜組み 合わせて縦続接続すると、 各特性値どう しが相殺し合って周波数帯域の 抜き取りが行われ、 所望の周波数特性を実現することが可能となる。
図 3 8は、 図 3 7のように構成したバンドパスフィルタの周波数特性 を示す図であり、 ( a ) はゲインを対数目盛りで表した全体特性、 ( b ) はゲインを対数目盛りで表した一部拡大特性、 ( c ) はゲイ ンを直線 目盛りで表した一部拡大特性を示している。 この図 3 8から分かるよう に、 図 3 7 のバン ドパスフイリレ夕は目標規格を満足している。
図 3 8 に示すバン ドパスフィルタでは、 タ ップ数はわずか 6個で済む 。 また、 各タップ出力にある係数器はピッ トシフ ト回路で構成できるの
で ( 2. 5 = 2 + 1 / 2 , 6 = 4 + 2 ) 、 乗算器は不要である。 しかも 、 殆ど同様の回路の繰り返しから成る極めて単純な構成で所望特性のバ ン ドパスフィルタを得ることができる。
図 3 9 は、 以下の目標規格を満足する他のバン ドパスフィル夕の構成 例を示す図である。
中心周波数 : 4 5 0 K H z
サンプリ ング周波数 : 1 . 8 MH z
帯域外減衰量 : ー 8 0 d B
_ 3 d Bのバンド幅 : 4 0 K H z
図 3 9 に示すバンドバスフィルタは、 基本バンドパスフィルタ B 2. 9 s 1 6 ( 2 ) と基本バンドパスフィルタ B 2. 9 s 1 6 ( 6 ) と基本 パンドパスフィルタ B 2. 9 s 1 6 ( 1 0 ) とを縦続接続することによ つて構成している。 なお、 m== 2. 9 は、 基本単位フィルタの係数 " 1 , 0, N " で見ると N= 2. 5 に相当する。 そこで、 ビッ トシフ トで実 現可能な係数値を有する基本単位フィルタを 2段縦続接続する形で基本 バン ドパスフィルタ B 2. 9 s 1 6 を構成している。
図 4 0は、 図 3 9のように構成したバン ドパスフィルタの周波数—ゲ イン特性を示す図であり、 ( a ) はゲイ ンを対数目盛りで表した全体特 性、 ( b ) はゲインを対数目盛りで表した一部拡大特性、 ( c ) はゲイ ンを直線目盛りで表した一部拡大特性を示している。 この図 4 0から分 かるように、 図 3 9のバン ドパスフィルタは目標規格を満足している。 なお、 図 3 9の例では 1倍の係数器も図示しているが、 実質的にこれ は不要である。 したがって、 図 3 9 に示すバン ドパスフィルタで必要な タップ数は、 わずか 6個である。 また、 各タップ出力にある係数器はピ ッ トシフ ト回路で構成できるので、 乗算器は不要である。 しかも、 殆ど 同様の回路の繰り返しから成る極めて単純な構成で所望特性のバンドパ
スフィルタを得ることができる。
なお、 ここではバンドパスフィル夕の設計例についてのみ示したが、 基本フィルタの組み合わせ方を変えることにより、 所望特性のローパス フイリレ夕ゃハイパスフイ レ夕、 バン ドエリ ミネーシヨ ンフィルタ、 コム フィルタなども、 同一の手法で簡単に設計することができる。
以上詳しく説明したように、 本実施形態では、 " 1 , N " または " - 1, N " の数値列をフィル夕係数とする基本単位フィルタを偶数個縦続 接続して得られる数値列を出発点として、 n回の移動平均演算を行う こ とによって基本フィルタを生成し、 1以上の基本フィルタを任意に組み 合わせることによって所望の周波数特性を有するデジタルフィル夕を設 計するようにしたので、 以下のようなメ リ ッ トを有する。
( 1 ) 従来の F I Rフィルタに比べてタップ数を大幅に削減することが できる。 また、 乗算器も不要である。 構成の殆どは D型フリ ップフロッ プおよび加減算器となる。 したがって、 回路素子数を大幅に削減して回 路規模を小さくすることができるとともに、 消費電力の低減、 演算負荷 の軽減等を図ることができる。
( 2 ) 個々の基本フィルタを縦続接続するハ一ドウエアの形でデジタルフ ィルタを実装するようにした場合、 個々の基本フィルタに必要なタップ数 はわずか 1〜 3個であり、 各タップ出力に対して必要なフィルタ係数は 何れも単純な数値で、 種類も多くない。 しかも、 同一パターンの繰り返 しから成る極めて単純な構成であるので、 集積化に際して工数を短縮す ることができ、 I C化を容易にすることができる。
( 3 ) 個々の基本フィル夕は基本的に乗算器が不要であり、 デジタルフ ィルタを作るに当たって D S Pは必要でない。
( 4 ) 基本フィルタの組み合わせだけでデジタルフィルタを構成するこ とが可能であり、 設計は実際の周波数軸での周波数特性を合成する作業
となる。 したがって、 フィルタ設計が単純で考えやすく、 熟練した技術 者でなくても、 フィルタ設計を極めて簡単に感覚的に行う ことができる
( 5 ) 基本フィルタのインパルス応答は有限台の関数となるので、 従来 のような窓掛けは必要ない。 窓掛けを行う ことなく フィルタを設計する ことができるので、 周波数特性に打ち切り誤差が生じることはない。 し たがって、 遮断特性の極めて大きな改善が可能となり .. 位相特性も直線 で優れたフィルタ特性を得ることができる。
( 6 ) 帯域外減衰量はほぼハードウェアのビッ ト数で制約される。 した がって、 減衰の深いほぼ一様な帯域外減衰特性を得ることができる。
( 7 ) 1以上の基本フィルタを任意に組み合わせて縦続接続する形で算出 した数値列をフィルタ係数としてデジタルフィルタに実装する場合も、 丸め 処理によって不要なフィルタ係数を大幅に削除することにより、 従来の F I Rフィルタに比べてタップ数を大幅に削減することができる。 また、 フィル 夕係数を整数化することにより、 各タップ出力にある係数器はビッ トシフ ト 回路で構成できるので、 乗算器が不要となり、 回路素子数を大幅に削減して 回路規模を小さくすることができる。
なお、 上記実施形態では、 図 4、 図 1 0および図 1 6 において、 " 1 " を出発点として移動平均演算を行う例について説明したが、 "一 1 " を出発点としても良い。 "一 1 " を出発点とした場合は、 位相特性が π だけシフ トするだけで、 周波数特性は同一で変化はない。
また、 上記実施形態では、 基本単位フィルタを 2段縦続接続すること によって F I R演算部を構成する例について説明したが、 4段、 6段、 8段、 · · ·のように 2段以外の偶数段接続によって F I R演算部を構成す るようにしても良い。
その他、 上記実施形態は、 何れも本発明を実施するにあたっての具体
化の一例を示したものに過ぎず、 これによつて本発明の技術的範囲が限 定的に解釈されてはならないものである。 すなわち、 本発明はその精神 、 またはその主要な特徴から逸脱することなく、 様々な形で実施するこ とができる。 産業上の利用可能性
本発明は、 複数の遅延器から成るタップ付き遅延線を備え、 各タップの出 力信号をそれぞれフィルタ係数により数倍した後、 それらの乗算結果を加算 して出力するタイプの F I Rデジタルフィルタに有用である。