• ベストアンサー

scilabを使って時系列データをフーリエ変換するには?

scilabを使ったフーリエ変換についての質問です。 あるデータ(メトロノームに合わせた指タッピングの時間間隔データでっす)を、フーリエ変換しなければいけないのですが分かりません。゜゜(´□`。)°゜。 具体的には、その時系列データ(512個あってexcelに収まってマス、A列に時間(5432ミリ秒とか)、B列に強さ(200g重とか))を、scilabを用いてフーリエ級数変換・・・スペクトル密度のグラフをつくる、な感じなことをするらしいのですが、プログラムがぜんぜんうまく書けません(今月末までつくらないといけないのに・・・)゜(゜≧□≦゜)゜ 生データの自己相関関数をつくって、フーリエ級数変換、高速フーリエ変換、グラフをプロット、のような流れなのかなぁ?と思うのですが、合ってますかぁ? もしよかったらサンプルプログラムを書いてくださると助かります(*^o^*) 先週から私なりにチャレンジしているんですが、エラーばっかりなんですぅ(涙) どうか、よろしくお願いします☆

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

スペクトル密度を求めるには、 1.生データをFFTして2乗 ていうのと、 2.生データの自己相関関数を計算してそれをFFT ていう2通りの道筋があるわけですが、(ウィーナー=ヒンチン) ノイズを大量に含むデータで、ノイズをたくさん含む生データの場合は、2.の方がノイズの処理がしやすくていいでしょう。

asakoooooo
質問者

お礼

ありがとうございます! 2通りやり方があるのですね。 勉強してみます!

その他の回答 (1)

回答No.1

Excelからのデータの読み込みはうまくいっているのでしょうか。参考URLにその方法が書かれています。フーリェ級数変換は関係ないと思います。FFTを使えばよいと思いますが、FFTの使い方はコツが必要です。単にFFTしても512個のデータをフーリェ変換しますので、グラフに出力しても周波数との対応がとれません。そこらへんは自分で考えるかwebで検索してみて下さい。scilabではあまり情報がありませんので、matlab関連で検索するとよいかもしれません。

参考URL:
http://tokida.sakura.ne.jp/Hobbies/computer/Scilab.htm#SEC2
asakoooooo
質問者

お礼

いろいろやっているのですが、まだうまくいっていません。。。(涙) MATLABのファイルを参考にしてプログラムをつくっているのですが、scilabにはない関数があったりして、それを代替する関数がうまくかみ合っていないのかもしれないです。。。