sampling rate and fft
65 ビュー (過去 30 日間)
古いコメントを表示
Do I need to specify the sampling rate when using FFT? I am wanting to look at frequency response of a signal, and am getting crazy frequency response, way above sampling rate. Sorry for a very basic question, trying to get up to speed.
0 件のコメント
採用された回答
Wayne King
2014 年 2 月 5 日
編集済み: Wayne King
2014 年 2 月 5 日
No, you don't need to specify the sampling rate, but if you wish to create a meaning frequency vector, then you need to know the sampling rate.
For example:
Fs = 1000; % sampling rate of 1000 Hz
t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*100*t)+randn(size(t));
xdft = fft(x);
xdft = xdft(1:length(x)/2+1);
DF = Fs/length(x); % frequency increment
freqvec = 0:DF:Fs/2;
plot(freqvec,abs(xdft))
so the output of fft() is agnostic about frequency, but if you want to interpret that output in physical frequencies, then you need to know the sampling rate.
3 件のコメント
Wayne King
2014 年 2 月 6 日
I am eliminating 1/2 of the fft() output since it is redundant for a real-valued signal if you are just interested in plotting the magnitude.
The syntax above works for an even length signal without warning is your x, your signal an odd number of samples in length?
If that is the case, do
xdft = xdft(1:floor(length(x)/2)+1);
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Spectral Measurements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!