FFT

  • FFTはFast Fourier Transform
    • 厳密にはDFTの一種
  • FFTでは、有限長のデータをループさせて無限長の仮想データを作り、それに対して変換を施す。ゆえに、データの両端で振幅が一致していないと仮想データが連続ではなくなってしまい、おかしな周波数成分が入ってしまう。
  • それを避けるために、FFTの前処理としてオーバーラップと窓関数を使う。
  • 全体のステップとしては、
    1. 時系列データを集める
    2. オーバーラップをかけて、時間窓の配列をつくる
    3. それぞれに窓関数を適用して、つりがね型の時間窓の配列をつくる
    4. それぞれにFFTを適用して、時間窓に対応する周波数成分の配列Yをつくる
    5. Yのすべての要素の平均をとって、もとの時系列データ全体を代表する周波数特性を得る
  • 平均を取るので、時系列データ中ではだいたい同じような特徴のデータが並んでいる前提
    • 外れ値は他の時間窓に押されて目立たなくなる
  • オーバーラップは情報をダブった形で取り出すので、戻すときにも配慮して戻す必要がある - overlap add - overlap save
  • 窓関数
    • ハミング窓、ハニング窓は別物
  • 図式化するとスペクトルを得る

## 参考

Backlinks