『音による故障予知の教科書たたき台:3.9 フィルタ処理(ローパス・ハイパス等)』LLMと一緒に書いてみた—AIが導く研究メモ

3. 基本的な信号処理手法  

3.9 フィルタ処理(ローパス・ハイパス等)

フィルタとは、信号に含まれる周波数成分のうち「通したい帯域は通し、不要な帯域を弱める」ための処理である。[低い周波数を通すローパス][高い周波数を通すハイパス][ある帯域だけ通すバンドパス][特定帯域だけを弱めるバンドストップ]が基本の4種類で、用途に応じて使い分ける。 フィルタの効き方は、周波数ごとの入出力比(ゲイン)を描いた特性で表し、どの周波数でどれだけ通す/減らすかを設計する。[1]

まずローパスは「低域通過」で、高周波ノイズの除去や平滑化に使われる。 1次のアナログ・ローパスの代表は抵抗とコンデンサの回路(RCフィルタ)で、カットオフ周波数fcを境に、それより上の周波数が減衰していく。 この1次ローパスの伝達関数はG(s)=1/(1+Ts)などで書け、T(時定数)とfcはT=1/(2πfc)で関係づけられる。 デジタルで同等の特性を作るときは、双一次変換などでs領域の式をz領域へ写像し、差分方程式として実装する方法がよく用いられる。 実装後の更新式は、現在と一つ前の入力・出力だけで簡潔に表せるため、滑らかなローパス効果を軽い計算量で得られる。[2][3][1]

ハイパスは「高域通過」で、ゆっくり変化する成分(直流やドリフト)を抑え、急な変化や高周波の成分を残す。 こちらもRCの基本回路で構成でき、ローパスと同様にカットオフで分かれる性質を持つ。 現場では、センサーのオフセットや背景のゆっくりした傾きを除き、変化だけを取り出したいときに有効である。 バンドパスはハイパスとローパスを組み合わせて「ある帯域だけ」を通す構成で、監視したい特徴周波数周辺を強調するのに使う。 バンドストップは逆に、その帯域だけを弱めるもので、電源周波数など特定の妨害成分の除去(ノッチ)に向く。[1]

デジタル・フィルタの作り方は大きくFIRとIIRに分かれる。FIR(有限インパルス応答)は過去の入力だけを使う足し算で構成され、位相を直線的(時間遅れは一定)にできるため、波形の形を保ちたいときに有利であるが、鋭い特性にはタップ数が多く必要で計算量とメモリが増える。 IIR(無限インパルス応答)は過去の入力と過去の出力の両方を使う(フィードバックを含む)ので、少ない係数で鋭い周波数特性を作りやすく、軽量で効率が良い一方、位相が回り込みやすく直線位相にはならないのが一般的で、波形形状が崩れやすい場面がある。 音響の例でも、同じローパスでもIIRは波形の形が崩れやすく、FIRは形が保たれやすい実演が知られている。 一方でIIRはDSP上で非常に効率的に実装でき、現場のパラメトリックEQやクロスオーバーの多くはIIRの二次セクション(バイカッド)を積み上げて構成される。 FIRは位相を独立に設計でき、直線位相のイコライゼーションや音響補正などに強みがあるが、十分なタップ数と設計手順が必要になる。[4][5][6][7]

FIRを設計する初歩としては、理想的な周波数特性のフーリエ係数を有限長で打ち切り、窓関数を掛けてギブス現象を抑える「窓関数法」が定番である。 ハミング、ハン、ブラックマン、カイザーなど窓には多様な種類があり、主ローブの幅(分解能)とサイドローブ(漏れ)低減のトレードオフがあるため、目的に合わせて選ぶ。 設計後は、カットオフ付近のリップルや遷移帯域の広がりなどを確認して使う。 IIRはアナログの古典多項式(バターワース、チェビシェフなど)の特性を双一次変換で写像して得る設計が広く、次数を上げるほど遷移が鋭くできる反面、位相の回りは大きくなる。[3][8][9][10][1]

フィルタの「カットオフ周波数」は、しばしば振幅が−3dB(電力で半分)になる点で定義される。 この境目の決め方は設計や仕様で参照され、ボード線図(ゲイン線図)での読み取りの基準にもなる。 実務で大切なのは、サンプリング系でフィルタを使うときの帯域設計である。サンプリング周波数fsを使う離散系では、有効帯域はナイキスト周波数fs/2までであり、それを超える成分は折り返し(エイリアシング)を起こして別の低い周波数に見えてしまう。 したがって、デジタル化の前段や、ダウンサンプリング前には、その新しいナイキスト未満にカットオフを置いたローパスでしっかり高域を削る(アンチエイリアシング)が必須である。 たとえばダウンサンプリング時は、目標の新fs/2より小さいカットオフでローパスを事前適用し、折り返しを防ぐのが原則となる。[11][12][13][1]

使いどころの具体例を挙げる。センサー信号の高周波ノイズに悩む場合、ローパスで200Hz以上を抑えれば、50Hzの成分は保ちつつ1kHzのノイズを大きく低減できる。 振動や音の解析では、電源ハムや直流成分を取り除くために数Hz以上を通すハイパスを入れ、基線の揺れを除去してスペクトルや包絡の読みやすさを高めることがある。 特定の邪魔な帯域だけを狙い撃ちするならノッチ(帯域阻止)で当該周波数を深く落とす。 人の聴感や機器の位相整合が重要な音響補正では、直線位相のFIRを用いたクロスオーバーやEQで、振幅と位相の両面を整える設計が採られることもある。[3][4][1]

導入の手順は次の通り。1) 目的の帯域を決め、必要な通過域・阻止域・遷移域を数値で置く(通す周波数範囲、どれだけ弱めたいか)。2) 位相の重視度と計算資源から、FIR(位相重視・計算多)かIIR(軽量・位相は回る)かを選ぶ。3) FIRなら窓関数法などで係数を設計し、IIRなら望む古典特性を選んで双一次変換で離散化する。4) 実データでゲインと位相、ステップ応答、遅延の許容範囲を検証し、カットオフや次数、窓を微調整する。5) ダウンサンプリングや録音前段では、ナイキストに対する十分なマージンを取ってアンチエイリアシング・ローパスを必ず入れる。この流れを踏むと、目的に合った帯域だけを安定して扱える。[8][9][10][6][7][13][4][11][1][3]

注意点として、フィルタは遅延(群遅延)を伴う。FIRの直線位相は周波数に依らず一定の遅れだが、IIRは周波数で遅れが変わることが多い。 リアルタイム制御や同期が厳しい用途では、この遅延が支障にならないかを事前に確認する。また、過度に急峻な特性はリンギング(時間領域の振動)を招きやすいので、異常の立ち上がり検出など時間的忠実度が重要な場面では、緩やかな特性と適切な窓を選ぶ方が良いことがある。 さらに、フィルタ後の評価はパワースペクトル密度(PSD)など規格化した量で比較すると、解析条件が違っても公平に比較しやすい。[パワーやPSDの扱い方の一般論は他節参照][5][10][4][8]

最後に要点をまとめる。フィルタは周波数で「通す・抑える」を選り分ける道具で、ローパス・ハイパス・バンドパス・バンドストップが基本型である。 IIRは少ない計算で鋭い特性を作れるが位相が回りやすく、FIRは直線位相を実現しやすい代わりに係数数が多くなりやすい。 設計では、通過域・阻止域・遷移域、カットオフ(−3dB点)を明確にし、窓関数や古典特性の選択で狙いの性能に近づける。 サンプリング系ではナイキスト超の成分が折り返すため、アンチエイリアシングのローパスを徹底する。 これらの原則を守れば、故障予知の前処理として、不要な雑音を抑え、見たい兆候の帯域を際立たせる、信頼性の高いデータ整形が実現できる。[12][7][13][4][8][5][11][1] [1] https://blog.control-theory.com/entry/filter-design

[2] https://qiita.com/Gomachan_2021/items/99441f7cc86ed8ef4804

[3] https://www.smartenergy.co.jp/technical-blog/beginners-guide-digital-control-5/

[4] https://minidsp.jtesori.com/application/fir-vs-iir/

[5] https://edn.itmedia.co.jp/edn/articles/1404/03/news007.html

[6] https://www.optomet.com/jp/knowledge-technology/signal-processing/

[7] https://edn.itmedia.co.jp/edn/articles/1403/17/news023.html

[8] https://www.ieice-hbkb.org/files/01/01gun_09hen_02m.pdf

[9] http://www.ic.is.tohoku.ac.jp/~swk/lecture/yaruodsp/dfdesign.html

[10] https://edn.itmedia.co.jp/edn/articles/1407/28/news009.html

[11] https://svmeas.rion.co.jp/support/p38veq0000000cmg-att/FFT_07881.pdf

[12] https://www.denso-ten.com/jp/technicalreview/jp_pdf/13/13-8J.pdf

[13] https://qiita.com/Qooniee/items/7dde8602ca41a1fd5790

[14] https://www.cqpub.co.jp/hanbai/books/75/75061/75061.pdf

[15] https://www.aps-web.jp/academy/ec/539/

[16] https://www.jstage.jst.go.jp/article/jsmbe/57/2-3/57_75/_pdf/-char/ja

[17] https://vision.kuee.kyoto-u.ac.jp/lecture/dsp/pdf/2013/dsp2013_12.pdf

[18] https://www.kanedayyy.jp/asp/ASP/DSPseminar14.pdf

[19] https://qiita.com/fukuroder/items/e1cd551b7492020da992

[20] https://tech-blog.cerevo.com/archives/9745/

※本ページは、AIの活用や研究に関連する原理・機器・デバイスについて学ぶために、個人的に整理・記述しているものです。内容には誤りや見落としが含まれている可能性もありますので、もしお気づきの点やご助言等ございましたら、ご連絡いただけますと幸いです。

※本ページの内容は、個人的な学習および情報整理を目的として提供しているものであり、その正確性、完全性、有用性等についていかなる保証も行いません。本ページの情報を利用したこと、または利用できなかったことによって発生した損害(直接的・間接的・特別・偶発的・結果的損害を含みますが、これらに限りません)について、当方は一切責任を負いません。ご利用は利用者ご自身の責任でお願いいたします。

おすすめの記事