s-z変換というテクニックを利用することで、
所定の性能を持つアナログフィルタをディジタルフィルタに変換することが出来ます。
今、チェビシェフ型のアナログフィルタが下記のような設計仕様を持っているとします。
δp:通過域偏差
δs:遮断域偏差
fp:通過域のエッジ周波数(hz)
fs:阻止域のエッジ周波数(hz)
このアナログフィルタを下式のs-z変換を利用して、ディジタルフィルタ化する。
ここで、Gは、アナログフィルタの伝達関数、Hはディジタルフィルタの伝達関数
scilabコマンド
-->T=0.01;sfrq=1/T;
-->u=2/T*(1-p)/(1+p);
-->fp=20;dp=0.3;ds=0.2;
-->gs=ssch1(fp,dp,fs,ds,'hz')
gs =
486275.68
-------------------------------------
2 3
486275.68 + 14557.54s + 73.675161s + s
-->aspec(gs,0:50,'hz',0);
-->hz=horner(gs,u)
hz =
2 3
486275.68 + 1458827z + 1458827z + 486275.68z
--------------------------------------------
2 3
- 7478225.9 + 19600313z - 22576671z + 14344790z
-->hp=zrep(hz)
hp =
2 3
0.0338991 + 0.1016973p + 0.1016973p + 0.0338991p
------------------------------------------------
2 3
1 - 1.5738586p + 1.3663715p - 0.5213200p
-->zspec(hp,1)
アナログフィルタ
s-z変換をして得られたディジタルフィルタ
通過域偏差、遮断域偏差は設計を満たすが、遮断周波数にずれがある。
このずれの調整方法(ブリワーフィング)についてはおって記述する。