At frequency f >10^6, the program is very slow to calculate the FFT. Please let me know if there is a faster method. Thank you. Regards HDaniel

1 次查看(过去 30 天)
% fft_sinewave_1.m
Fs=1*10^7;
t = 0:1/Fs:1;
v = 1;
f = 10^6;
y = v*sin(2*pi*f*t);
nfft=1024;
Y = fft(y,nfft);
Y=Y(1:nfft/2);
mx=abs(Y);
f=(0:nfft/2-1)*Fs/nfft;
plot(f,mx);
grid on;

采纳的回答

John D'Errico
John D'Errico 2016-3-4
There is no magic to be had. You can alway make any problem sufficiently large that is starts to take appreciable time to run. Had you a bigger, faster computer, you would have asked the same question, just with a bigger problem.
So, get a cup of coffee and relax. Read a book while it does its work. Or try to solve smaller problems. Or find a bigger, faster computer.

更多回答(0 个)

类别

Help CenterFile 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