
4. データ前処理
4.1 ノイズ除去(フィルタ、平均減算)
計測した音や振動のデータには、知りたい信号に重なる形で「ノイズ(不要な揺らぎ)」が含まれることが多い。ノイズを適切に減らすと、変化の兆候が見えやすくなり、誤検知や見逃しが減る。ここでは、現場で扱いやすい二つの基本を中心に整理する。1つ目は「フィルタ」で周波数ごとに通す/抑えるを選り分ける方法、2つ目は「平均減算」でゆっくりした偏り(オフセットや一定パターン)を引き算で取り除く方法である。どちらも、きちんと設計すれば信号の形を保ったままノイズを下げられる。
まず、フィルタの考え方をわかりやすく押さえる。フィルタは「必要な帯域は通し、不要な帯域は弱める」道具で、低い周波数だけ通すローパス、高い周波数だけ通すハイパス、狙った帯域だけ通すバンドパス、特定帯域を落とすバンドストップ(ノッチ)が基本となる。たとえば測定に高周波のザラつきが多いならローパスで滑らかにし、ゆっくりしたゆがみ(直流オフセットやドリフト)が邪魔ならハイパスで取り去る、といった使い分けになる。移動平均フィルタ(一定数のサンプルの平均を順次とる)はもっとも簡単なローパスで、ランダムノイズを効果的に下げられ、実装も軽くて高速に動く実例が報告されている。平均長Nに対して、無相関ノイズの振幅は概ね1/√Nに小さくできる、という直感的な目安がある。ただし移動平均はエッジ(急な変化)も少し丸めるため、カットオフ周波数や窓幅は、見たい現象を損なわない範囲に調整するのが要点だ。[1][2]
もう一歩踏み込むと、デジタル・フィルタには過去の入力だけで出力を作るFIR型と、出力の過去値も使うIIR型がある。FIRは位相を素直に保ちやすく波形が崩れにくい長所があり、IIRは少ない係数で鋭い特性を実現しやすく軽い。現場では、繰り返しの妨害(例えば電源周波数)に細く狙いを定めるノッチ、広帯域のザラつきを抑えるローパス、基線ゆれを取るハイパスを使い分けるのが定番で、アナログ段ではツインTノッチのような古典回路で60Hzを落とす設計例も知られている。一方で「平均化でノイズは減ってもエッジがぼける」「強く削りすぎると信号の大事な細部も失う」というトレードオフは避けられない。画像処理の平滑化でも同じ現象が指摘され、中央値(メディアン)など目的に応じて最適な平滑法を選ぶ重要性が強調されているが、この考え方は時系列のノイズ低減にも通じる。[3][4][5]
次に、平均減算の考え方を整理する。平均減算は「データの平均(ゆっくりした偏り)を見積もって引き算する」ことで、直流オフセットや繰り返しの妨害パターンを取り除く方法である。最も単純には、時間窓の平均値を逐次引くと、基線がゼロ近くに整い、ハイパスに似た効果が得られる。繰り返し干渉(たとえば一定周期の電磁ノイズ)が重なるケースでは、干渉のタイミングに同期して多数回の平均波形(テンプレート)を作り、原信号からその平均波形を減算すると汚れが大幅に下がる。電気生理などの分野では、この「同期平均→減算」によりACラインや繰り返しアーティファクトを抑える方法が提案され、平均の作り方(単純平均、加重平均)や、DCオフセットの測定・減算の考え方が示されている。平均化の時間スケールは、取りたい最低周波数の10倍程度を目安に十分長くとると、真の低周波成分を削り過ぎずにオフセットだけを安定して評価できる、という設計指針も紹介されている。[6]
平均減算の利点は、周波数で切るのではなく「形の再現」を使って汚れを引くので、欲しい帯域を広く残しやすい点にある。その一方、状況が時間とともに変わると平均テンプレートが最新の汚れを表し切れず、残差が出る。音声の雑音抑圧の解説でも、統計的にノイズを推定して引く方法は「推定の遅れ」や「平均操作の遅延」による歪みや残留ノイズの増大に注意が必要で、遅延や更新の工夫で補うアプローチが議論されている。実務では、平均の更新を安定化する(過度に速く変えない)、しきい値で無音時のみ更新する、など運用ルールを添えると破綻しにくい。[7]
では、どのように両者を使い分けるか。目安を三つ挙げる。1) 広帯域のランダムノイズが主で、信号の特徴帯域がわかっているなら、ローパス/ハイパス/バンドパスなどのフィルタで帯域選択する方が堅実である(移動平均を含む)。移動平均は軽くて効果がわかりやすく、N点平均でノイズ振幅が約1/√Nへ低減するような典型的挙動が期待できる。2) 一定周期で繰り返す妨害(ラインノイズ、同期的アーティファクト)が支配的なら、同期平均テンプレートを作って減算する「平均減算」が効く。3) その両方が混在するなら、まず帯域で大づかみに整え(例:ローパスやノッチ)、残った周期的成分を平均減算で仕上げる、という二段構えが実践的だ。[2][1][6]
実装時の要点を具体化する。- 設計の出発点は、対象の最高・最低周波数の見積もりと、保持したい形の時間スケールである。これに合わせてフィルタのカットオフ(−3dB近傍)や平均窓の長さを選ぶ。- 移動平均を使う場合、イベントの立ち上がり(ステップ)を鈍らせ過ぎない窓長に抑える。- ダウンサンプリング前やA/D前段では、必ずローパス(アンチエイリアス)で新しいナイキスト未満に帯域を絞る(折り返し防止)。- 繰り返し干渉の平均減算は、トリガで正しく整列し、十分な回数を平均してテンプレートを安定させる。テンプレートは緩やかに更新(加重平均)すると環境変動に追随しやすい。- 結果の確認は時間波形だけでなくパワースペクトル密度(PSD)でも行う。帯域全体でノイズ床が下がり、欲しい周波数のピークが相対的に立っているかを見る。PSDは周波数分解能に依存しない1Hzあたり規格化で比較しやすい(窓の等価雑音帯域幅による補正を行うのが基本)という教科書的整理がある。[8][6]
さらに、処理をかけ過ぎないための「合図」を持っておくと良い。たとえば、移動平均を伸ばしていったときに、目的ピークの高さ(またはS/N)が頭打ちになり、波形の立ち上がりが崩れ始めたら、それ以上は副作用が勝つサインである。画像の平滑化でも「ノイズは減るがエッジがぼける」というバランス点があるのと同じで、適度な窓やカットオフにとどめるのが肝心だ。また、固定パラメータのフィルタだけで難しい場面では、観測データから最適に近い通し方を推定するウイナーフィルタのような方法も基礎理論として知られており(平均二乗誤差を最小化する意味での最適化)、音声・画像の雑音抑圧で活用されている。ただし、必要な事前情報(信号と雑音の統計)や実装の複雑さを考えると、現場の第一選択はやはり「帯域で整える」「平均で引く」という素朴で堅牢な組み合わせになる。[4][3][8]
最後に、現場フローのひな型をまとめる。1) 校正・取り付けを確認した上で、十分なサンプリングでデータ取得。2) 直流・ドリフトがあるときは、ハイパスまたは長窓平均減算で基線を整える。3) 広帯域ノイズが強いときは、移動平均やローパスで平滑化(窓長はイベントの時間幅より短く)。4) 特定の妨害周波数が明確なら、ノッチで狙い撃ち。5) 繰り返し干渉には同期平均テンプレートを作って減算。6) 仕上げにPSDでノイズ床低下と目的帯域のS/N改善を確認、時間波形で立ち上がりやパルス形の保全を確認。以上の手順は、移動平均のノイズ低減効果や同期平均減算の有効性、そして設計上の注意(遅延や更新の扱い)に関する公開解説・資料と整合している。[1][7][2] [1] https://liquidinstruments.com/ja/application-notes/custom-real-time-digital-filtering/
[2] http://jsrt-chushi.jp/main/wp-content/uploads/2014/04/%E3%83%8E%E3%82%A4%E3%82%BA%E5%8E%9F%E7%90%86%E3%83%BB%E4%BD%8E%E6%B8%9B%E3%83%BB%E5%88%A9%E7%94%A8_PDF.pdf [3] https://note.com/omakazu/n/n877890edb256 [4] https://www.mitani-visual.jp/mivlog/imageprocessing/filter-summary.php [5] https://edn.itmedia.co.jp/edn/articles/1405/26/news007.html [6] https://patents.google.com/patent/JP2004507293A/ja [7] https://www.ieice-hbkb.org/files/02/02gun_06hen_04.pdf [8] https://www.ieice-hbkb.org/files/01/01gun_05hen_05m.pdf [9] https://qiita.com/nakarinrin/items/6122c16244de0d9fa34e [10] https://www.kanedayyy.jp/asp/ASP/DSPseminar14.pdf[11] https://www.coronasha.co.jp/np/data/tachiyomi/978-4-339-01402-0.pdf※本ページは、AIの活用や研究に関連する原理・機器・デバイスについて学ぶために、個人的に整理・記述しているものです。内容には誤りや見落としが含まれている可能性もありますので、もしお気づきの点やご助言等ございましたら、ご連絡いただけますと幸いです。
※本ページの内容は、個人的な学習および情報整理を目的として提供しているものであり、その正確性、完全性、有用性等についていかなる保証も行いません。本ページの情報を利用したこと、または利用できなかったことによって発生した損害(直接的・間接的・特別・偶発的・結果的損害を含みますが、これらに限りません)について、当方は一切責任を負いません。ご利用は利用者ご自身の責任でお願いいたします。