バックナンバーはこちら。
https://www.simulationroom999.com/blog/stock-predict-matlabpython-backnumber/
はじめに
前回までで、VTIやそれのチャート関連の話をやったところ。
今回から実際にFFT、IFFTを使ってみる。
とは思っているが、そもそもFFT、IFFTがどういった入出力をするのかを確認したい。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
FFT、IFFTを使えるか?
よし!
こんどこそVTIチャートをFFT、IFFTに掛けるぞ!
ちょい待ち!
(またか・・・。)
まだ何かあるの?
もうFFT、IFFTの性質とかVTIチャートも揃ってるから、何か残ってる印象は無いんだけど。
FFTとIFFTの実際の特性を事前に掴んでおいた方が良いかと思って。
FFTがどういう値を返してるかってわかってる?
うーんと周波数的な何か?
1[Hz]のsin波があるとして、FFTはどのような値を返す?
え?1[Hz]なんだから1[Hz]?
1[Hz]って値が返ってくるの?
いや、なんかパワースペクトル的な感じが返ってきてた気がするが、
具体的に何かってのはちょっと分からないな・・・。
それが分らないと分析にもならないんで、
まずはシンプルな波形でFFT、IFFTの特性を認識する方が先かなって思ったわけだ。
確かに言われてみると、まともに使いこなせる自信は全くなくなったな・・・。
シンプルな波形
で、フクさんの言うシンプルな波形って何を使うの?
さっきも言ったsin波や、
異なる周波数のsin波の合成波を使う予定。
こちらで意図的に作った波形なので、合成した周波数は自明な状態なので、いろいろ分かり易いとは思う。
なるほど。
確かに1[Hz]のsin波を入れる場合だったら、FFTは1[Hz]に相当する結果を返すはずだもんね。
あとはFFTが想定する1周期と三角関数の1周期は異なるんで、その点も要確認事項だな。
うーん、その話は以前から出てきてはいるけど、
イマイチ、ピンと来てないんだよなー。
なら、なおさら要確認してしっかり特性を認識すべきだね。
なるほど。
割と重要なイベントな気がしてきた。
確認環境
で、何で確認するの?
MATLAB?Python?
基本はMATLABかな?
同じことを確認できるPythonコードも起こすつもりだけど。
あ、ちゃんと両方やるのね。
タイトル詐欺にならないか心配になったんだよね。
(なんかぶっちゃけMATLABだけでも良いんじゃね?って思ってるけどね。中の人が)
(MATLABとPythonだと1オリジンか0オリジンかのせいで同じ目的のコードなのに微妙に調整が違ったりするから面倒そうとは思うけどね。中の人が)
まとめ
まとめだよ。
- FFT、IFFTの入出力って実は良く分かってない。
- よって、自明且つシンプルな波形を入れて評価して見た方が良い。
- 自明且つシンプルな波形はsin波とかそれらの合成波。
- よって、自明且つシンプルな波形を入れて評価して見た方が良い。
- 実験はMATLABで実施するが、Pythonコードを起こす予定。
- ぶっちゃけメンドクサイとは思ってるけど頑張ってやる。
バックナンバーはこちら。
コメント