Signal Processing Toolbox    

周波数応答

Signal Processing Toolboxでは、アナログフィルタとディジタルフィルタのいずれの周波数領域解析も行うことができます。

ディジタル領域

freqzは、FFTをベースとしたアルゴリズムを用いて、ディジタルフィルタのz変換周波数応答を計算します。具体的には、ステートメント

は、ディジタルフィルタのn点の複素周波数応答H(e)を出力します。

最も単純な型では、freqzはフィルタ係数ベクトルb、および、aと周波数応答を計算する点数を設定する整数nを必要とします。freqzは複素周波数応答をベクトルhに、また実際の周波数点をラジアン/秒単位でベクトルwに、それぞれ出力します。

freqzは、サンプリング周波数や任意の周波数点からなるベクトルなどのパラメータを入力として設定することもできます。つぎの例は、12次のChebyshev I型フィルタの256点の周波数応答を求めるものです。freqzは、サンプリング周波数fsを1000Hzとして設定します。

入力引数として、サンプリング周波数を含んでいるため、freqzは、0からfs/2の間が周波数応答計算に使われ、256個の周波数点からなるベクトルfを出力します。

出力引数を設定せずにfreqz を読み込む場合、周波数に対するゲインと位相の両方を自動的にプロットします。たとえば、2000Hzのサンプリング周波数で、400Hzのカットオフ周波数をもつ9次のButterworthローパスフィルタは、

となります。つぎに、このフィルタの256点の複素周波数応答を計算し、freqzを使って、ゲインと位相をプロットします。

freqzは、また、周波数応答の計算で用いる任意の周波数点のベクトルを使うこともできます。たとえば、

は、ベクトルb、および、ベクトルaで定義されるフィルタについて、wの周波数点における複素周波数応答を計算します。周波数点は、0から2までの範囲とすることが可能です。0から設定したサンプリング周波数までの範囲の周波数ベクトルを設定するには、周波数ベクトルとサンプリング周波数の値を共に入力引数として設定します。


 インパルス応答 アナログ領域