時系列プロットのフーリエ変換について

添付の地表温度データを以下のプログラムで時系列プロットし、それをフーリエ変換しプロットしたいため、fft関数を使おうと考えたのですがうまくいきません。例題ページを見たところ、データを振幅と位相に変換するか、sin波とcos波に分けてからプロットしなくては行けないのかなと考えたのですが、その方法もわからず、もしご存知の方いらしましたら教えて頂きたいです。 以下時系列プロットのプログラムです
filename =('1.txt');
x = load(filename);
x = timeseries(x);
x.Name = 'Daily Count';
x.TimeInfo.Units = 'days';
x.TimeInfo.StartDate = '04-06-01 00:00'; % Set start date.
%x.TimeInfo.End = '04-08-31 21:00';
x.TimeInfo.Units = 'hours';
x.TimeInfo.Increment = 3;
x.TimeInfo.Format = 'yy-mm-dd HH:MM'; % Set format for display on x-axis.
x.Time = x.Time - x.Time(1); % Express time relative to the start date.
plot(x)
以下フーリエ変換です
filename =('1.txt');
x = load(filename);
y = fft(x);
plot(y)
宜しくお願い致します。

 채택된 답변

Takuji Fukumoto
Takuji Fukumoto 2016년 11월 9일
편집: Takuji Fukumoto 2016년 11월 9일

5 개 추천

>フーリエ変換してプロットしたい
こちらはパワースペクトル密度のプロットでよろしいでしょうか。
もしそうで、Signal Processing Toolboxもっていらっしゃれば、 fft()をperiodogram()に置き換えれば良いかと思います。
fft()の関数から計算を行う場合には下記のページが参考になるかと思います。

댓글 수: 3

Naoki Ishibashi
Naoki Ishibashi 2016년 11월 9일
ありがとうございます。うまくできました
Naoki Ishibashi
Naoki Ishibashi 2016년 11월 15일
自分の理解が足りていなく申し訳ないのですが、periodogram()でプッロトされたものもまたsin成分とcos成分が重なった値であると思います。 そのためもしご存知でしたら、fft()で出力された値をsinとcos成分に分解しプロットする手法を教えて頂けると幸いです。
Takuji Fukumoto
Takuji Fukumoto 2016년 11월 18일
新しく質問を立てていらっしゃったようなので、そちらにコメントさせていただきました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

2016년 11월 7일

댓글:

2016년 11월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by