Acceleration vs Time; Magnitude vs Frequency

5 visualizaciones (últimos 30 días)
Farrukh Karimov
Farrukh Karimov el 13 de Jul. de 2017
Comentada: Star Strider el 13 de Jul. de 2017
Hello, I need to plot two graphs (Acceleration vs Time and Magnitude vs Frequency) and present both of it. Here is the code that I have done (a-acceleration (Length of signal N=2048), vt=time vector (1.2048s), Fs=32768Hz)
signal = a; time=vt;
% Plot Original signal in Time Domain
plot(vt,a);
title('Original signal in Time Domain');
xlabel('Time [s]');
ylabel('Acceleration [m/s^2]');
% Plot FFT signal
N = pow2(nextpow2(length(signal)));
y = fft(signal,N);
plot(1:N,abs(y));
title('FFT');
xlabel('Frequency [Hertz]');
ylabel('Magnitude');
Could you help me with that? Thank you in advance!

Respuesta aceptada

Star Strider
Star Strider el 13 de Jul. de 2017
Editada: Star Strider el 13 de Jul. de 2017
Try this:
% Plot FFT signal
N = pow2(nextpow2(length(signal)));
y = fft(signal,N)/length(signal);
Fn = Fs/2;
Fv = linspace(0, 1, fix(length(y)/2)+1)*Fn;
Iv = 1:length(Fv);
plot(Fv,abs(y(Iv))*2);
title('FFT');
xlabel('Frequency [Hertz]');
ylabel('Magnitude');
NOTE I have not tested this. It should work.
  3 comentarios
Farrukh Karimov
Farrukh Karimov el 13 de Jul. de 2017
As I understood, should it be like this (without "-2") ?:
Iv = 1:length(Fv);
plot(Fv,abs(y(Iv)))
Star Strider
Star Strider el 13 de Jul. de 2017
Typographical error I didn’t catch.
Should be:
plot(Fv,abs(y(Iv))*2);
I also corrected it in my original Answer.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by