『音による故障予知の教科書たたき台:3.5 時間波形と周波数成分の関係』LLMと一緒に書いてみた—AIが導く研究メモ

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

3.5 時間波形と周波数成分の関係

音や振動の記録は、ふつうは時間に沿って上下に揺れる「時間波形」として表示するが、同じ信号を「どんな周波数が、どれくらい含まれているか」という見方に変えると、構造がはっきり見えることが多い。時間軸で見た一筆書きの曲線を、周波数ごとの強さの棒グラフ(スペクトル)に翻訳する操作がフーリエ変換であり、時間の信号を周波数領域へ、また逆に周波数から時間へ変換できる。この「二つの見方」は同じ現象を別の座標で表しているだけで、相互に行き来することができる。[1][2]

時間と周波数の対応を直感で押さえると理解が速い。1つのきれいな正弦波は、時間領域では滑らかな波だが、周波数領域では「その周波数の1本のピーク」として現れる。逆に、手を叩くような一瞬の鋭い音(インパルス)は、時間では針のように細いが、周波数では広い帯域にわたって成分が並ぶ(ほぼフラットに広がる)。つまり、時間軸で「ゆっくり・なめらか」な変化は周波数では低周波に集中し、「急激・鋭い」変化は高周波をたくさん含む、という対応がある。複数の音が重なった時間波形は、周波数領域ではそれぞれの周波数ピークが足し合わさって現れ、重ね合わせ(線形性)の関係がそのまま成り立つ。[2]

フーリエ変換は、時間信号に含まれる各周波数の「振幅」と「位相」を数で与える道具で、現実の計算では離散フーリエ変換(DFT)や、それを高速に計算するFFTが使われる。ただし、計算は有限時間だけ切り取ったデータで行うため、「切り取り端で波が途中で途切れる」ことによるスペクトルのにじみ(リーケージ)が起きる。この影響を減らす基本手段が窓関数で、データの端をなめらかにゼロへ近づける重みをかけることで、周辺への漏れを抑えられる一方、ピーク幅が広がるなどトレードオフがある。窓の選び方は、近接した周波数を分けたい(分解能)か、弱い成分を強い成分のにじみから守りたい(サイドローブ低減)かで変わる。[3][4]

時間と周波数には「観測の窓を長くすると周波数分解能が上がる」という基本法則がある。FFTで1回に使うサンプル数をBL、サンプリング周波数をfsとすると、表示できる最高周波数はfs/2(ナイキスト)、周波数の刻み幅はdf=fs/BLになる。つまり、細かい周波数差を見分けたいなら、より長い時間区間(大きいBL)を使う必要がある。なお、ゼロパディング(後ろにゼロを付け足す)は目盛りを細かく見せる効果はあるが、実際の分解能は「窓の長さ」で決まる点に注意が必要である。[4]

時間と周波数の「相互作用」をいくつか覚えておくと、現場での判断が速くなる。時間での加算は周波数でも加算(線形性)、時間での定数倍は周波数でも定数倍、時間での遅延は周波数での位相回転、時間での畳み込みは周波数での積、といった対応がある。このうち「畳み込み⇔積」は線形システム解析の基礎で、たとえばフィルタ処理は周波数で見ると「通す帯域は残り、切る帯域は弱まる」という単純な積に置き換わる。また、時間での急峻なエッジ(矩形波やパルス)は高調波を多数生むので、スペクトルには基本周波数に加えて高次の成分が並ぶ。[5][2][4]

現実の信号は「いつ、どの周波数が出ているか」が時間とともに変わる(非定常)ことが多い。1回のFFTは「切り出した期間の平均的な周波数成分」しか教えてくれないため、時間ごとの変化を見たいときは時間周波数解析(短時間フーリエ変換STFTやウェーブレット)を使う。STFTは窓を少しずつずらしながらFFTを繰り返し、時間×周波数の2次元マップ(スペクトログラム)を描くので、「この周波数がいつ現れていつ消えたか」が読める。ただし、時間と周波数の分解能にはトレードオフがあり、短い窓は時間変化に敏感だが周波数がぼやけ、長い窓は周波数がシャープだが時間の変化に鈍くなる。[6][7][8][9]

ここまでを、診断の目で整理する。時間波形は「一発の異常」「周期の乱れ」「過渡的な跳ね」を見つけやすい。一方、周波数スペクトルは「回転数由来の基本周波数と高調波」「アンバランスや軸受欠陥の側帯域」など、原因特有の指紋を分離して捉えやすい。手順としては、1) 必要帯域と欲しい分解能からfsと窓長を決める(df=fs/BLを意識)、2) 整数周期でない一般信号には窓関数をかけてリーケージを抑える、3) 周波数だけでなく時間変化も重要ならSTFTでスペクトログラムを確認する。実務では、時間波形・スペクトル・スペクトログラムの三つを行き来して同じ事象を多面的に確認するのが確実である。[8][6][2][3][4]

最後に、時間と周波数の関係の要点を箇条書きでまとめる。- 正弦波1本は周波数1本に対応、鋭いインパルスは広帯域にひろがる。- 急な立ち上がり・ぎざぎざは高周波を多く含み、なめらかさは低周波に現れる。- FFTは有限データを使うため端の不連続が漏れ(リーケージ)を生むが、窓関数で緩和できる。- 周波数分解能は観測時間で決まり、ゼロパディングは見た目の補間にすぎない。- 周波数成分の時間変化を見るならSTFT(スペクトログラム)を用いる。この基本を押さえると、時間波形と周波数成分の間を自在に往復し、異常の“いつ・どこ(周波数)・どれくらい”を過不足なく読み解ける。[6][2][3][4][8] [1] https://oshiete.goo.ne.jp/qa/615526.html

[2] https://pysdr.org/ja/content-ja/frequency_domain.html

[3] https://www.ni.com/ja/shop/data-acquisition/measurement-fundamentals/analog-fundamentals/understanding-ffts-and-windowing.html

[4] https://www.onosokki.co.jp/HP-WK/c_support/newreport/analyzer/FFT1/fft_1.htm

[5] https://www.mech.kumamoto-u.ac.jp/Info/lab/sensor/lect/Signal_Ch_3.pdf

[6] https://ja.wikipedia.org/wiki/%E6%99%82%E9%96%93%E5%91%A8%E6%B3%A2%E6%95%B0%E8%A7%A3%E6%9E%90

[7] https://www.ieice-hbkb.org/files/01/01gun_05hen_04m.pdf

[8] https://www.mathworks.com/help/signal/ug/practical-introduction-to-time-frequency-analysis_ja_JP.html

[9] https://www.jstage.jst.go.jp/article/jasj/72/12/72_764/_pdf

[10] https://note.com/tene_quince997/n/n292b73bacde6

[11] https://www.weblio.jp/content/%E6%99%82%E9%96%93%E5%91%A8%E6%B3%A2%E6%95%B0%E8%A7%A3%E6%9E%90

[12] https://zenn.dev/hsylife/articles/48938b81803ac4

[13] http://int-info.com/PyLearn/PyLearnSIG03.html

[14] https://ocw.nagoya-u.jp/files/47/lecnote02.pdf

[15] https://web.tohoku.ac.jp/sspp/tomita/doc/090410_fr2.pdf

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

[17] https://shop.cqpub.co.jp/hanbai/books/37/37601/37601_p105-106.pdf

[18] https://www.sit.ac.jp/user/cao/documents/CH2-2.pdf

[19] https://qiita.com/skillup_ai/items/369f68a7479a43202456[20] https://www.gavo.t.u-tokyo.ac.jp/~mine/japanese/acoustics/lecture-05.pdf

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

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

おすすめの記事