• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:デジタルフィルタの数式について)

デジタルフィルタ数式:ローパスフィルタの設計方法とは?

このQ&Aのポイント
  • デジタルフィルタを使用してパソコンに収録したデータ配列にローパスフィルタを適用したい場合、どのような数式を使用すればよいのでしょうか?
  • 例えば、1秒間に2000点のサンプリングレートで収録された時間データをバタワース2次相当のローパスフィルタ(カットオフ周波数16Hz)で処理するには、どのような手順を実行すれば良いのでしょうか?
  • デジタルフィルタの数式を用いて、パソコンに収録したデータ配列にローパスフィルタを適用する方法について詳しく教えてください。

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

  • ベストアンサー
noname#230359
noname#230359
回答No.3

こんばんわ。 IIRフィルタの場合、以下のようになります。 2次のローパスフィルタの伝達関数を H(S) = ω0^2 / (s^2 + (ω0/Q)S + ω0^2) とすると、双線形変換を行うため S = 2/T ×(1 - Z^-1) / (1 + Z^-1) を右辺に代入し、これをH(Z)とします。これを変形し、 H(Z) = (b0 + b1×Z^-1 + b2×Z^-2) / (1 - a1×Z^-1 - a2×Z^-2) の直接形にして、a1,a2,b0,b1,b2 を計算します。 例として T = 0.0005 (サンプリング周期) ω0 = 2π×16 Q = 1/√2 のとき a1 = 1.92895720726208 a2 = -0.931395617195829 b0 = 0.000609602483436062 b1 = 0.00121920496687212 ( = b0×2 ) b2 = 0.000609602483436062 ( = b0 ) になります。 実際の計算は、Z0,Z1,Z2を変数として Z0 = InData(i) + a1×Z1 + a2×Z2; OutData(i) = b0×Z0 + b1×Z1 + b2×Z2; Z2 = Z1; Z1 = Z0; の繰り返しです。

noname#230358
質問者

お礼

ありがとうございます。 具体例を教えていただくと理解しやすいです。 助かりました。

その他の回答 (2)

noname#230359
noname#230359
回答No.2

最近似た処理をしました. 直接解や解説は専門家にお願いするとして私が参考にした書籍を紹介します.FFTの経験があれば短時間で実現可能と思います. (1)中村尚吾,ビギナーズデジタルフィルタ,東京電機大学出版局,2002年,ISBN4-501-31350-1 (2)三上直樹,インターフェース増刊 TECHI Vol.2「ディジタル信号処理とDSP」,1999年 特に(2)付属のフィルタ係数計算ソフトは便利このうえありません.作者に大変感謝してます.

noname#230358
質問者

お礼

ありがとうございます。 早速図書館で調べたいと思います。

noname#230359
noname#230359
回答No.1

こんばんは 質問の意図がよく判りませんが データロガーで記録したデータに対してLPFを掛けたいのでしょうか? LPFを解説したサイト http://masamune.miyakyo-u.ac.jp/4MUE/4students/ExpII_LPFHPF.pdf http://www.miyazaki-gijutsu.jp/series2/noise021.html http://www.digitalfilter.com/jpfiralz1.html デジタルフィルタソフト http://www.vector.co.jp/soft/win95/art/se160553.html http://www.vector.co.jp/soft/win95/art/se259149.html http://www.vector.co.jp/soft/win95/business/se283011.html 一般的にはフィルターを通したデータを記録するのですが... http://www.pluto.dti.ne.jp/~ohisa/index.html http://digital.ni.com/worldwide/japan.nsf/main?readform

noname#230358
質問者

お礼

ありがとうございます。 質問としては、パソコンにA/D変換ボードで取り込んだデータに、ハイパスフィルタをかける、というものです。 HP訪問して勉強します。