errors appear when doing FFT on data imported from text file
2 ビュー (過去 30 日間)
古いコメントを表示
trying to determine the frequency estimate after doing FFT on data imported from a text file.
load spot_num.txt
ssn = spot_num(:,3);
ssn = ssn-mean(ssn);
x=ssn;
xdft = fft(x);
xdft = xdft(1:length(x)/2+1);
freq = 0:Fs/length(x):Fs/2;
[maxval,idx] = max(abs(xdft));
freq(idx)
it returns:
Error in ==> Untitled3 at 7
freq = 0:Fs/length(x):Fs/2;
so whats wrong with that?
0 件のコメント
採用された回答
Wayne King
2012 年 10 月 24 日
編集済み: Wayne King
2012 年 10 月 24 日
Your sampling interval is 1 month, so your DFT bins will be in cycles/month. So you can just set Fs = 1, but then keep in mind that the frequencies will be in cycles per month, so your highest frequency of 1/2 is 1 cycle/2 months.
Also, the code I had given you earlier was assuming you have an even number of samples. If your signal length is odd, you have to make a small adjustment.
Fs = 1;
xdft = fft(x);
xdft = xdft(1:length(x)/2+1);
freq = 0:Fs/length(x):Fs/2;
[maxval,idx] = max(abs(xdft));
freq(idx)
1 件のコメント
その他の回答 (1 件)
Wayne King
2012 年 10 月 24 日
What error message does it produce?
What is the value of Fs? Nothing in the code you've shown us gives us the value of Fs.
Fs should be the reciprocal of the time interval between each sample in spot_num
1 件のコメント
参考
カテゴリ
Help Center および File Exchange で Filter Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!