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 Center および File ExchangeFourier Analysis and Filtering についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by