stem function and fft

19 次查看(过去 30 天)
Eman Ahmed Elsayed
Eman Ahmed Elsayed 2011-12-16
i used stem function to convert a continuous signal to discrete signal.
and then i want the discrete function to get the fast Fourier transform of it.
stem return a vertical lines only so what should i do with this vertical lines???
I hope that my question was clear.
Thanks,

回答(1 个)

Wayne King
Wayne King 2011-12-16
Hi Eman, stem() is not converting the continuous signal to discrete time. stem() just plots. If you have the sequence (vector) in MATLAB, then it is already a discrete-time sequence.
You want to operate on the vector with the function fft()
% an example
x = cos(pi/4*(0:95));
stem(x);
% now obtain the discrete Fourier transform
xdft = fft(x);
stem(abs(xdft));
  2 个评论
Eman Ahmed Elsayed
Eman Ahmed Elsayed 2011-12-16
Ok. but what's the difference between stem(x) and stem (abs(x))
Wayne King
Wayne King 2011-12-16
The discrete Fourier transform of a vector is (in general) complex-valued, so you want to plot either the magnitudes (abs()), or the phases (angle() )
In the simple example I gave you, the imaginary parts are all zero, but that is not going to be the case with any real-world signal

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by