LoginSignup
4
3

More than 1 year has passed since last update.

IIRフィルタ、双2次フィルタどれが良いの?調査して、比較してみた

Posted at

概要

モータ実機を使ってフィードバック制御をしようとしたときにで電流や速度をマイコンに取り込む上でフィルタを使用する必要性がでてきた。そこでデジタルフィルタについて調査してみると以下のフィルタと遭遇した。
FIRフィルタ、IIRフィルタ、双2次フィルタ、
制御工学の中で使用されるのは急峻なフィルタ特性からIIRと双2次フィルタの模様。
今回はIIRフィルタと双2フィルタについての調査結果をまとめた。
また、Matlab上でシミュレーションしそれぞれを比較した。
結論
・デジタルフィルタの設計方法は離散系のフィルタの伝達関数からフィルタ係数を計算。フィルタ係数はカットオフ周波数から決まる
・双2次<IIR1次<IIR2次の順で急峻である

詳細

IIRフィルタの一般式を示す。もはやこれに関しては一般式としてはこういうもので何を変えたらどうなるのかをわかっていればある程度良いのかなと思う。式としては過去の入力xに係数aをかけたのと、過去の出力yに係数bをかけた総和をフィルタ出力としている。これをz変換して伝達関数の形Y(z)/X(x)として書くと一つのシステムとして見れる。aとbでカットオフ周波数が決まり、M,Nでフィルタ次数が決まる。フィルタ次数は大きいほど、フィルタ特性が急峻になる。例えばLPFであれば減衰率が増える。

image.png

フィルタ次数1,2の時の伝達関数は以下となる
image.png

具体的にIIR1次を作ってみる。
設計方法としては、色々あるみたいだがここでは以下の手順で作る
1:連続系の1時遅れシステムを考える。
2:カットオフ周波数を決める。
3:双一次変換でZ変換する
※Z変換する際に双一次か交代差分かで式が変わる

以下例ではカットオフ周波数wc = 1rad/sでIIR1次の設計例である。
※αはcotanjent (wc*サンプリング周期/2)で求めている
image.png

基本的にはIIRでも双二次でもZ変換されたフィルタの伝達関数があるし、分母分子の係数の計算方法もカットオフ周波数から一意に決まるのでそれに乗っとればフィルタ作成はできる。
ちなみに双二次はこれ

image.png

シミュレーション

設計方法はわかった。次にシミュレーションして比較してみる
とある信号の生データと生データに対してIIR1次、IIR2次、双二次フィルタをかけた波形を示す。

image.png
次にボード線図で比較してみた、ちなみにカットオフ周波数は100Hzで設計
IIR2次がこの中では最も特性が良い。
※双二次に急峻性を調整するパラメータQ値があるが、IIR2次よりも急峻になることはなかった
image.png

補足

参考にしたサイトはこちら

結論

・IIRの1次とRCフィルタはアナログかデジタルかの違い。
・デジタルフィルタの設計方法は離散系のフィルタの伝達関数からフィルタ係数を計算。フィルタ係数はカットオフ周波数から決まる
・双2次<IIR1次<IIR2次の順で急峻である

使用ソフト

Matlab

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3