I tried using 'FFT' function in MATLAB to transform the given function from time to frequency domain...it gave me the graph but on the x axis the time domain(values) remained the same and did not change into frequency domain as the graph revealed..
Mostrar comentarios más antiguos
I tried using 'FFT' function in MATLAB to transform the given function from time to frequency domain...it gave me the graph but on the x axis the time domain(values) remained the same and did not change into frequency domain as the graph revealed..
Respuesta aceptada
Más respuestas (2)
Walter Roberson
el 13 de Jun. de 2013
0 votos
How did you do the plotting? The fft() call does not do any plotting of its own, and if you call plot() then you need to pass in the correct x values for what the data represents.
1 comentario
Hrushikesh
el 14 de Jun. de 2013
Aalya
el 15 de Jun. de 2013
0 votos
I am facing somehow a similar problem. However in my case, instead of having peak amplitude at the natural frequency, I am having it elsewhere. What could be wrong? I have obtained the time domain values from tout and simout parameters of simulink. My codes are below:
T=tout(2,1)-tout(1,1); %sample time
Fs=1/T; %sampling frequency
L=size(simout,1); %length of signal
t = (0:L-1)*T; % Time vector
y=simout(:,1);
figure(1)
plot(t,y)
title('time domain resonse of first mode')
xlabel('time (milliseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2);
% Plot single-sided amplitude spectrum.
figure(2)
plot(f,2*abs(Y(1:NFFT/2)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
Thanks
Categorías
Más información sobre Transforms en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!