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..

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..

 채택된 답변

The fft function has one output argument, it's the discrete fourier transform of your function. you have to provide the frequency vector to plot your output.

댓글 수: 3

can we use the FFT block in matlab simulink browser directly to calculate fourier transform....rather than programming in matlab and providing corresponding frequency values... if yes ...please tell me how?

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

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

i used the scope at the output of the fft block, which gave the plot of displacement vs time instead of disp. vs frequency...am i doin the right thing...?

댓글을 달려면 로그인하십시오.

Aalya
Aalya 2013년 6월 15일
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

카테고리

도움말 센터File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by