stem function and fft

4 ビュー (過去 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 ExchangeFourier Analysis and Filtering についてさらに検索

タグ


Translated by