非エンジニア・Python初学者のために
~AI・機械学習が得意な非エンジニアが運営~
データサイエンス

FFT解析とは?【原理とグラフの見方を3ステップでわかりやすく解説】

本気で学ぶなら優秀なエンジニアから学びたい。

どんな人に読んで欲しい?周波数分析したい人

 

どーも!エンジニア + データサイエンティスト / 2 = kgrneerです(*’ω’*)

 

機械メーカのエンジニアとして計測データの分析を主な生業としてます。

 

 

 

私のキャリア、人となりが書いてありますので、こちらも併せて読んでみて下さい!!

➡【初投稿】エンジニア兼データサイエンティストがプログラミングで利益を挙げるまで

 

 

 

助手 ミルク
助手 ミルク
Python今回はスペクトル分析についてですね?この手法をマスターすると何に使えるんですか?

 

 

私は主に音や振動の分析につかっている。光の波長分析や電気工学の分野でも役に立つよ!
トレンドぱぱ
トレンドぱぱ

 

 

助手 ミルク
助手 ミルク
音や振動の分析?音や振動は”スペクトル”を持ってるってこと?

 

 

その通り。筋がいいね。君とは波長が合いそうだよ。
トレンドぱぱ
トレンドぱぱ

 

 

…分析ミスですね。
助手 ミルク
助手 ミルク

 

 

 

という訳でこの記事を読んで得する人はこんな人!!

 

 

 

  • 音や振動を分析する技術者、故障診断を目的に機械学習させたい人

     

  • 分光学、非接触測定機を扱うエンジニアの人

     

  • 電気工学分野で交流等の周波数を扱う人

     

  • スペクトル解析ってネットで調べたら難しい式が出てきて嫌になった人

 

 

FFT分析、解析は現在様々なツールで実施できます。プログラミングで実施する場合も、関数を使えば簡単にできてしまいます。

 

なので、難しい演算を全て理解する必要はないと思います。

 

ただし、解析ツールを使用する上で、最低限抑えておかなきゃいけないポイントはあります。

 

この記事では極力、式を使わずFFTについてわかりやく説明していきます。

 

 

FFT解析って何?3ステップで解説

ステップ1 FFT=高速フーリエ変換 

 

 

FFTは『Fast Fourier Transform』の略語です。日本語にすると『高速フーリエ変換』です。

 

そのままの意味で、フーリエ変換を早く行うための手法です。

 

助手 ミルク
助手 ミルク
なんでフーリエ変換を早くする必要があるんですか?

測定機や分析装置に実装する場合は…演算を軽くする必要がある。フーリエ変換を早く処理できるように工夫したものがFFTなんだ。肉食いたい。
トレンドぱぱ
トレンドぱぱ

なるほど。じゃあフーリエ変換が何か知る必要がありそうね!(肉はどうでもいいけど)
助手 ミルク
助手 ミルク

 

 

 

ステップ2 フーリエ変換は周波数分析の手法

 

フーリエ変換は周波数分析の手法の一つです。

 

 

周波数分析の概要について説明しますが、そもそも周波数って何?という人はこちらを先に読んでもらいたいです!!

周波数とは?わかりやすく解説 AIエンジニア・データサイエンティスト志望者必見




助手 ミルク
助手 ミルク
周波数分析!?周波数を分析するってどういうことですか??

 

 

時系列データを周波数領域で捉えてわかりやすく示す手法だよ。
トレンドぱぱ
トレンドぱぱ

 

 

助手 ミルク
助手 ミルク
…ちょっと何言ってるかわからないです。

 

 

…まずはデータを見てみましょうか。
トレンドぱぱ
トレンドぱぱ


 

 

 

下手に専門用語を並べて説明すると余計わからなくなると思いますので、データを使って説明します。

 

 

 

 

横軸が時間なので…1秒間に5回の山!!これは5Hzのsin波です。当ブログ上では何回も登場してます。

 

 

この波形をフーリエ変換するとこうなります。

 

 

 

 

 

横軸は周波数、縦軸は振幅です。縦軸は解析前と基本的に変わりません。(縦軸の値は様々な解析条件により異なるので注意。この場合はリニア)

 

 

 

 

さっきの横軸が時間のグラフで周波数がいくつ?というのを調べようとすると、1秒間あたりの波の数を数えるしかありませんでしたが、フーリエ変換を行うことで、データの周波数が一目瞭然になりました。




 

助手 ミルク
助手 ミルク
横軸時間のデータで数えるのはナンセンスだし、主観が入って正しいかわからないですよね!?

 

 

そう!!だから周波数分析があるんだよ!!しかも世に存在する物理現象のデータはただのsin波なんてことはないからね!!音や振動なんかの分析にはとても役立つんだよ。
トレンドぱぱ
トレンドぱぱ


 

 

 

ステップ3 周波数分析の活用『音』を例に説明

 

 




様々なジャンルの勉強に対して言えますが、何のために使うかを理解しないと、内容を理解し辛いですよね?



ここでは周波数分析≒フーリエ変換は世間でどのようなことに活用されているかを説明します。

 

 

 



IoTや故障診断全盛期の今、工学系のデータ分析で、音や振動の分析は外せないのではないでしょうか。



この世に音や振動ってたくさん存在しますよね?実は音と振動はほとんど同じです。伝達方法が違うだけです。




音が空気中を伝わるのに対し、振動は物体を通じて伝わる。そんなイメージです。

 

楽器の音も全て周波数をコントロールすることで成り立っています。周波数が低い=音が低いということです。

 

 

 

 

この動画をご覧いただくと、わかりやすいと思います。周波数によって音が変わります。(再生すると時は音量に注意してください!)

 

 

 


音は人の声や、車の走行音など、身近なところにあふれてますね。


こういう音は必ずいくつかの周波数が混ざり合ってできています。


助手 ミルク
助手 ミルク
周波数が混ざり合ってる??

 

トレンドぱぱ
トレンドぱぱ
そう。1つの周波数で形成される音は存在しません。わかりやすい例があったので、引用して説明します。


 

出展元:エー・アンド・ディー/FFTアナライザ入門

 

 

この図を例にとって説明します。

 

 

 

左のグラフはいくつかの周波数が混ざった音の波形だと思って下さい。中央の波はそれを分解したものです。

 

 

 

つまり左のグラフのような波形は、実は中央のグラフのように様々な周波数の波が混ざってできたものということです。

 

 

 

右のグラフをそれをフーリエ変換したものです。2・4・6Hzでピークが立っていて、この波形は3つの周波数から成り立っていることがわかります。

 

 

 

 

例えばギアから発生する音はギアのかみ合いの周波数を計算すれば、推測できます。6Hzがそれだとしましょう。(実際は歯数×回転数(rps)なので、もっと高いです…突っ込まないで笑)

 

 

 

ギアを回すモータの音も出るかもしれません。これを4Hzだとします。

 

 

 

2Hzは不明もしくはノイズだとします。

 

 

 

例えば、ギアが壊れて空回りしたらどうでしょう。

 

 

 

モータの音の周波数4Hzは消えません。でもギアのかみ合い周波数の6Hzはなくなりますよね?

 

 

 

逆に言うと、ギアのかみ合い周波数を把握して、周波数分析を行えば、ギアが壊れているかどうかがわかる。つまり診断ができるということになります。

 

 

 

助手 ミルク
助手 ミルク
すごーい。感動!!

 


トレンドぱぱ
トレンドぱぱ
実施はモータの回転数が変わったり、周囲の音がノイズになったり…色々な外乱を消す工夫も必要だよ。

 


助手 ミルク
助手 ミルク
ふ~ん。でもフーリエ変換でなんとかなるんじゃないんですか?

トレンドぱぱ
トレンドぱぱ
それだけでできるならデータサイエンティストはいらないの!!そこから先が大変なの!

 


機嫌が悪いわね…今夜は奮発してジャッカルのお肉ね…
助手 ミルク
助手 ミルク






 

データサイエンティストになるには?

 

 

私の場合、プログラミングなどはほぼ独学で学んでます。勉強法に興味のある方は読んで下さい!!➡Python学習の始め方【プログラミング初心者入門編①】




ですが…データサイエンスの分野は独学で学ぶのは少し難しいと思います。なぜなら、プログラミングと違い、答えがないものを追うことがほとんどだからです。そこでお勧めしたいのがこちらです。

 

 

 

 

そもそも少ないデータサイエンティスト専門の口座。その中でも社会人を対象にしている口座は少ないです。このデータミックスさんでは

 

 

1. データサイエンティストとしての経験豊富な講師が実務視点でレクチャー
2. 少人数制で受講生一人一人の強みや弱みを把握したうえでの指導
3. 多くのケーススタディなどを取り扱い実践的なスタイルで実務に活きる講義内容
4. 様々な業界・職種の受講生と授業だけでなく、勉強会やイベントで交流ができる
5. 卒業後も継続したフォローアップ体制。OG・OBネットワーク。
6. 転職希望者への転職支援。

 

という方針でカリキュラムを実施しており、実際のケーススタディを基に講義を行うため、答えがあることを学べるのが魅力です。また、アフターケアもしっかりされており、転職希望者にもお勧めできます。

 

言うことないわね。私も受けてみるわ!!
助手 ミルク
助手 ミルク


 

 

まとめ FFTを理解するポイント

 

  • FFTは『Fast Fourier Transform』の略語。日本語にすると『高速フーリエ変換』フーリエ変換を実装するために演算を軽くしている。



  • フーリエ変換を行うことで周波数領域でデータを分析できる。



  • 周波数領域で分析を行うことにより、音や振動の特徴が把握でき、診断や特徴把握に繋がる。

 

 

 

次回は実際に音のデータをフーリエ変換する場合にフォーカスした記事を書きます。その後は、フーリエ変換をPythonで実施する方法の記事も書きたいと思います!!全部読んだらフーリエ変換は完璧です!

 

 

 

 

座右の銘は『明日は明日の風が吹く』

 

kgrneerでした♪

スポンサーリンク






 



PVアクセスランキング にほんブログ村
Pythonランキング