FFT plot accuracy & Scaling

6 views (last 30 days)
Bledar Ferati
Bledar Ferati on 8 Dec 2020
Edited: VBBV on 9 Dec 2020
Currently struggling on knowing whether my fft plot is entirely accurate. Trying to also achieve the correct scaling as well. I have looked at a lot of posts regarding this but still not achieving the same sort of scale. I am trying to achieve this:
But I am getting this:
Fs = 5000/157
data = x
L = length(data)
Y = fft(data)/L
f = Fs/2*linspace(0,1,L/2+1);
plot(f,2*abs(Y(1:L/2+1)))
xlim([0.08 0.78])
set(gca, 'YScale', 'log')
title('Duffing')
xlabel('f (Hz)')
ylabel('Amplitude')
Any help would be much appreciated
  9 Comments
Bledar Ferati
Bledar Ferati on 8 Dec 2020
Yeah thats what I was thinking as well, in terms of accuracy its pretty much there anyways. Thank you all for the help!
VBBV
VBBV on 9 Dec 2020
Edited: VBBV on 9 Dec 2020
%true
L = max(data)
f = (Fs/2)*linspace(0,1,L)
plot(f(1:L:end), 2*abs(Y(1:L:end)))
Use max value of data instead of length

Sign in to comment.

Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!