• ベストアンサー

ディジタルフィルタについて

ディジタルフィルタについて質問させていただきます。 私が勉強して得た知識として、FIRフィルタとIIRフィルタというものが代表的なものとしてあるのはわかったのですが、実用的な観点でいまいち双方のメリット・デメリットが見えてきません。 一応、FIRは位相ひずみがなく、IIRは次数を小さく出来るということはわかるのですが、実際使うとなったときに、どのような基準でFIRかIIRかということを選択するのでしょうか? どなたか、実用的にディジタルフィルタを用いている方がいらっしゃいましたら、実際の経験にもとづいて(例えば、こういう事例であれば、こちらのフィルタの特性の方が用いやすい、などなど・・・)教えていただければありがたく思います。 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

次数が少なくてすむと言う事は使うメモリが少なくてすみます。 また、次数が少なくてすむため、応答速度が速いです。 これは実際に回路を設計する時に結構効いてきます。 デジタルフィルタを設計する時にある程度の速度のDSPを使ってフィルタを設計しなければ駄目です。 メモリと言うのはアクセスするだけでもタイムロスですので、次数が少ない=アクセス回数が少ないわけです。 また、使うメモリが少ないと言う事はコストダウンにつながります。 そして、FIRは、例えば100個のデータが必要なフィルタの場合、少なくとも100サンプル遅れた出力が出ます。 それに対してIIRは同じ規模のフィルタが3~4個のデータでフィルタを設計できるため、FIRとは比較にならないだけ早く出力できます。 つまり、DSPにも優しく、遅延の少ないフィルタがIIRフィルタです。 FIRフィルタはチラッと見ただけでやらなかったのであまり分かりませんが、位相ひずみがあると嫌な回路の場合に使うのではないでしょうか?

phil_niekro
質問者

お礼

非常にわかりやすい回答ありがとうございます。

その他の回答 (1)

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.2

>FIRは位相ひずみがなく、IIRは次数を小さく出来る これがそのまま答えでしょう。 位相ひずみが問題になるならIIRは使えない。問題でないならIIRが使える。 次数が小さければいろんな意味でコストを抑える事が出来ます。回路規模が小さいのでローコスト、消費電力が小さい、応答が速い。 IIRフィルタはうまく設計しないと不安定(入力が無くても出力が発生する)になります。FIRではそのような事はありません。 オーディオの処理では位相が問題になる事はあまり無いのでIIRが使えます。 ビデオの処理では位相が問題になる事が多いのでFIRを使う事が多くなります。

phil_niekro
質問者

お礼

非常にわかりやすい回答ありがとうございます。

関連するQ&A

  • デジタルフィルタ

    FIRフィルタでは直線位相特性は実現が可能に対して、IIRフィルタは位相特性が実現困難なのは何でですか?フィードバックするからですか?

  • FIRフィルタ

    なぜデジタルフィルタのFIRフィルタは直線位相特性を持っているのでしょうか?

  • 位相ずれのないフィルター

    現在デジタルフィルタに関して勉強中の者です。 当初周波数特性しか意識せずFIRやIIR等を使用していたのですが、後に位相特性がある事に気づきました。お恥ずかしい話です。 狙った周波数成分を除去し、且つ位相ずれがないフィルタをご存知の方がいらっしゃったら教えて頂けますでしょうか。 自分でできる限り調べMATLABのfiltfilt関数が一番近いのかなと思っています。 どうぞよろしくお願いします。

  • FIRフィルタを用いたディジタルイコライザについて

    FIRフィルタを用いたディジタルイコライザの利点は何ですか? 少し調べたら、ほかのフィルタと比べて音質が良いとあったんですが、IIRフィルタでは音質がわるくなるんですか? よろしくお願いします。

  • デジタルフィルタの設計

    はじめてデジタルフィルタの設計をすることになりました。 決まっている事項は以下のようになります。 ・25msごと(40Hz)にA/D変換されたデータが出力されます。 ・出力データを使って波形を描きます。 ・描く波形はおよそ周波数は0~10Hzのものです。 ・係数を算出して、C言語のプログラムに組み込みます。 今のところ決まっているのはこのくらいです。 自分でも勉強していますが、 FIRは計算が比較的簡単で、安定しているが、次数が多くなる。 IIRは複雑で、不安定になることもあるが、次数が少なくてよい。 FIRでは、窓関数やREMEZ法などリプルを小さくする方法がある。 IIRでは、バタワース、チェビシェフ、ベッセルなどの方法がある。 程度のことしかわかっていません。 どのように設計していけばいいかわかりません。 経験のある方、良いアドバイスをお願いします。 また何かフリーツールで設計できるものがあれば教えてください。

  • DSPのIIRフィルタについて

    お世話になります。 DSPでIIRフィルタの勉強をしてますが、1つわからないことがあります。 FIRフィルタに比較して小規模な回路で実現できる点は良いのですが、 直線位相性がないということです。 直線位相性がないということは、波形がひずむということですが、 このことを考えるとどういう場合に使えて、どういう場合に使っては いけないのかが、わかりません。 以上、宜しくお願い致します。

  • FIRフィルタの遅延量補正とIIRフィルタの安定性について教えて頂きた

    FIRフィルタの遅延量補正とIIRフィルタの安定性について教えて頂きたいのですが。  双一次z変換を用いていくつかのIIRフィルタを作る事が出来ました。Scilbが持つIIR関数と比較して同じ結果になっています。IIRフィルタがフィルタ係数によっては不安定=発信したりする、というのはScilab等の結果と同じになる→フィルタ係数も同じ→不安定にならない。と思ってよいのでしょうか?。例えばですが、あるサンプリング周波数の波形データをフィルタする為に、同じサンプリング周波数で作ったImplus波形をIIRフィルタに放り込んで周波数応答を確認したら、実際にフィルタする波形データの最初から最後までその周波数応答でフィルタされると私は理解しているのですが。  私のフィルタを使う用途の場合は、フィルタの計算速度は特に制限は無く、速いに越した事はありませんが得られた結果が正確な事が大切なので、安定性や係数誤差の事を考えるとIIRフィルタではなくFIRフィルタでも構わないのですが、FIRフィルタの場合だとタップ数が多くなるので波形の遅延量が無視出来ません。フィルタを通した波形は次定数fastのレベル波形にして100Hz位で出すとは言え、IIRよりは数秒かコンマ数秒遅延した結果になると思います。そのような場合、遅延量を補正するとしたらどうしたら良いのでしょうか?。個人的にはタップ数が(IIRの場合は次数が)遅延量と思っているのですが。  宜しくお願い致します。

  • IIRフィルタとFIRフィルタ

    無限インパルス応答(IIR)フィルタと有限インパルス応答(FIR)フィルタとはアナログでいう、バンドパスフィルタやローパスフィルタ、ハイパスフィルタのデジタル版みたいなものであることは分かるのですが、 無限、有限というのは何を表しているのでしょうか? Wikipediaなどに解説はしてあるのですが、どうしても理解することが出来ません。 どなたか易しく説明して頂けないでしょうか?

  • フィルタ

    アナログやデジタルにあるフィルタの特徴、利点は何ですか?位相特性や振幅特性についてお願いします。

  • FIRフィルタの製作

    FIRフィルタの製作で困っていることがあります。 FIRフィルタをローパスとかバンドパス的な遮断の点からではなく 位相をずらす観点から、製作したいと思いつつも なかなか調べても遮断周波数を決めてタップ係数を求める手法 しか見つかりません。 初めてのフィルタ製作もあって、できるだけツールからではなく 手計算で求めたいです。 ご存知の方がいらっしゃったら、ご教授ください。