Signal Processing Toolbox | ![]() ![]() |
表示
[bz,az]=
impinvar(b,a,fs) [bz,az]=
impinvar(b,a) [bz,az]=
impinvar(b,a,fs,tol)
詳細
[bz,az]
は、そのインパルス応答が1/ =
impinvar(b,a,fs)
fs
でスケールされた係数b
およびa
をもつアナログフィルタのインパルス応答と等価になる分子係数bz
と分母係数az
をもつディジタルフィルタを作成します。引数fs
を設定しない [bz,az] = impinvar(b,a)
は、fs
にデフォルト値である1 Hzを使用します。
[bz,az]
は、極が重根であるかどうかを判定するためにトレランス =
impinvar(b,a,fs,tol)
tol
を設定します。トレランスを大きくすると、impinvar
は、近くの極を同じものと判断します。デフォルトは、0.001または極の大きさの0.1%です。極の値の精度は、roots
関数により得られる精度までしかもっていません。
例題
10 Hzのサンプリング周波数をもつimpinvar
を使って、アナログローパスフィルタをディジタルフィルタに変換します。
[b,a]=
butter(4,0.3,'s'); [bz,az]=
impinvar(b,a,10) bz = 1.0e-006 * -0.0000 0.1324 0.5192 0.1273 0 az = 1.0000 -3.9216 5.7679 -3.7709 0.9246
アルゴリズム
impinvar
は、つぎのように、参考文献[1]に記述されているアナログ/ディジタル伝達関数変換のインパルス不変応答法を実行します。
参考
|
双1次変換を使って変数のマッピング |
|
ローパスフィルタからバンドパスアナログフィルタへの変換 |
|
ローパスフィルタからバンドストップアナログフィルタへの変換 |
|
ローパスフィルタからハイパスアナログフィルタへの変換 |
|
ローパスプロトタイプのローパスアナログフィルタへの変換 |
参考文献
[1] Parks, T.W., and C.S. Burrus, Digital Filter Design, John Wiley & Sons, 1987, pp. 206-209.
![]() | ifft2 | impz | ![]() |