stem function and fft

21 ビュー (過去 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

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDiscrete Fourier and Cosine Transforms についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by