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..
Show older comments
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..
Accepted Answer
More Answers (2)
Walter Roberson
on 13 Jun 2013
0 votes
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 Comment
Hrushikesh
on 14 Jun 2013
Aalya
on 15 Jun 2013
0 votes
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
Categories
Find more on Fourier Analysis and Filtering in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!