Plot fft result on linear period scale?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I need to plot the results of an fft on a linear period scale. The output is on a linear frequency scale. Is there an easy way to do this or will I have to interpolate?
0 Commenti
Risposte (1)
Wayne King
il 10 Dic 2013
If you really want to see the periods, then no you just have to plot by period.
Fs = 1000;
t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*100*t)+randn(size(t));
xdft = fft(x);
xdft = xdft(1:length(xdft)/2+1);
df = Fs/length(x);
freqvec = 0:df:Fs/2;
Periods = 1./freqvec;
plot(Periods(2:end),abs(xdft(2:end)))
set(gca,'xlim',[1/500 1/50]);
xlabel('Seconds');
2 Commenti
Vedere anche
Categorie
Scopri di più su Fourier Analysis and Filtering in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!