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 view (last 30 days)
% 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;

Accepted Answer

John D'Errico
John D'Errico on 4 Mar 2016
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.

More Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!