Hello all, I have a signal defined by the below. I want to take the Matlab FFT of this signal but I got a plot that does is not the Fourier Transform. Can someone direct me on how to be able to compute the FFT of my signal? Thanks Mates!
5 ビュー (過去 30 日間)
古いコメントを表示
Signal defined by:
%%Time specifications:
Fs = 8000; % samples per second
dt = 1/Fs; % seconds per sample
StopTime = 0.25; % seconds
t = (0:dt:StopTime-dt)'; % seconds
%%Sine wave:
Fc = 60; % hertz
x = 3*sin(x) + sin(.5*x+40) + 2*sin(3*x-60);
% Plot the signal versus time:
figure;
plot(t,x);
xlabel('time (in seconds)');
title('Signal versus Time');
zoom xon;
The signal image is attached.
I did this for the FFT of the signal:
Y = fft(x);% Plot single-sided amplitude spectrum.
plot(Y)
title('Fast Fourier Transform of X graph)')
xlabel('Frequency (Hz)')
ylabel('Time (seconds)')
I figured since it was a simple function, I did not need elaborate coding but then I got the "FFT" attached.
Can someone tell me how to get the correct FFT please! Thanks.
採用された回答
Image Analyst
2015 年 7 月 5 日
Your stop time is so short that your signal is essentially a constant over that period. So the FFT is a just big DC spike as expected, which corresponds to a big "rect" function rather than the sum of 3 sine waves of different periods.
Set a stop time around 12*pi so you can get more of a varying waveform in there, especially more complete cycles instead of just a microscopic sample out of the waveform. That small sample is essentially a constant.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/177610/image.jpeg)
その他の回答 (0 件)
参考
カテゴリ
Help Center および 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!