はじめに
機械系エンジニアとして、振動・強度評価を業務でやっています。
新人のころ、計測データにフィルターをかける場面になると先輩に聞いていました。
「フィルター、どうしますか?」
「4次バターワースで。200Hzカットで」
即答でした。迷いがありません。
理由を聞くと、「昔からそうしてるから」と。
そのままずっと使い続けていましたが、正直なところ
- なぜ4次なのか
- なぜバターワースなのか
- 他のフィルターと何が違うのか
わかっていませんでした。
この記事では、振動解析でよく使うフィルターの種類・次数・適用方法の違いを、
実際の波形とPSDで比較しながら整理します。
比較に使ったデータと条件
WaveAxisで生成したランダム波形を使います。
データ長:10秒
サンプリング周波数:1000Hz
目標RMS:1
フィルターはすべてローパスフィルター、カットオフ周波数は200Hzで比較します。
バターワース vs チェビシェフI型
振動解析でよく登場する2種類です。
バターワース
- 通過域が最大限フラット(リップルなし)
- 応答が素直で扱いやすい
- カットオフ付近の減衰はなだらか
チェビシェフI型
- カットオフ付近の減衰が急峻
- 通過域に若干のリップル(波打ち)が生じる
- 「カットオフ以降をしっかり落としたい」場面に向く
同じ4次・同じカットオフ周波数で比較すると、波形とPSDにこう出ます。
PSDで見ると、チェビシェフの通過域が波打っているのがわかります。
「通過域を素直に残したい」ならバターワース、「カットオフ付近を鋭く落としたい」ならチェビシェフ、という使い分けです。
バターワース 2次 vs 4次
次数を上げると減衰が急峻になります。その分、波形への影響も大きくなります。
「なんとなく4次」を使っていた自分が、2次と並べてみて初めてその違いを実感しました。
用途によっては2次で十分なケースも多く、次数が高ければ良いわけではありません。
filtfilt vs sosfilt
フィルターの「種類」とは別に、どう適用するかも結果に影響します。
filtfilt
- 前向き・後ろ向きの2回処理
- 位相遅れゼロ。波形の時間軸がずれない
- 振動解析で時刻情報を重視する場合はこちらが基本
sosfilt
- 1方向処理
- 位相遅れが生じる
- 数値的に安定しやすく、長いデータや高次フィルターに向く
位相遅れが問題になる解析ではfiltfilt一択ですが、高次フィルターで数値的に不安定になる場合はsosfiltを検討する価値があります。
結局「4次バターワース」は正しかったのか
こうして比較してみると、先輩の設定は割と理にかなっていました。
- 通過域が素直でリップルなし
- そこそこの減衰
- 位相遅れなし(filtfilt前提)
汎用的に使いやすいのが4次バターワースです。
ただ、「なぜそうなのか」を理解した上で使うのと、何も考えずに使うのとでは、
特殊なデータや異常値に当たったときの判断が変わってくると思っています。
比較に使ったWebアプリ
フィルターの種類・次数・カットオフ・適用方法をGUIで切り替えながら、
波形とPSDをリアルタイムで確認できます。
🔗 WaveAxis: https://waveaxis-pro.vercel.app
実装しているフィルター
- バターワース
- チェビシェフI/II
- 楕円
- ベッセル
- 移動平均
- FIR
まとめ
| 項目 | 特徴 | 向いている場面 |
|---|---|---|
| バターワース | 通過域フラット・応答が素直 | 汎用的に使いやすい |
| チェビシェフI型 | 減衰急峻・通過域にリップル | カットオフ付近をしっかり落としたい |
| 2次 | 減衰なだらか・波形への影響小 | 緩やかに落としたい |
| 4次 | 減衰急峻・波形への影響大 | しっかり落としたい |
| filtfilt | 位相遅れなし | 時刻情報を重視する振動解析 |
| sosfilt | 位相遅れあり・数値安定 | 長いデータ・高次フィルター |
「昔からそうしてるから」で使い続けるのも実務では十分ですが、
一度比較してみると設定に対する解像度が上がります。





