[(株)数理システム]

高速フーリエ変換(FFT)やスペクトル解析はどうやってやるのか。


fftやスペクトル解析はコマンド上での操作が必要になります。

fftは関数fftを使って行います。利用するデータはベクトルまたは配列です。配列の場合は、多次元離散フーリエ変換を行います。詳細は help(fft)もしくは「S言語2」の「fft」の項をご覧ください。

スペクトル解析は関数spectrumなどを利用して行います。デフォルトではペリオドグラムの描画を行います。詳しくは help(spectrum) またはGuide to statisticsの「Time Series Analysis」の項をご覧ください。

ペリオドグラムのスムージング方法

> fft(lynx) #lynx時系列データをfftにかける
> spectrum(lynx)
> fftdata <- scan("A:\\fft.dat") #テキストデータファイルfft.datから読みこむ
> fft(fftdata)
> spectrum(fftdata)

(図: spectrum(lynx)の結果表示、縦軸はdb)