MATLAB中fft


   一般的fft需要將點數補成2的整數次冪,MATLAB中有fft函數,輸入N點序列則輸出也是N點序列,其中N不一定為2的整數次冪。所以會疑惑MATLAB做的fft和N點序列對應的dft是否一樣。經過驗證,MATLAB中對N點序列做fft的結果與N點dft的結果是完全一樣的,沒有對N點序列進行補0后再做操作。

  下面是MATLAB代碼和結果。

n = 0: 49;
A = 444.128;
a = 50 * sqrt(2.0) * pi;
w0 = 50 * sqrt(2.0) * pi;
T = 0.001;
x = A * exp( -a * n *T) .* sin(w0 * n * T);
k = 0 : 49;
W = 2 * pi / 50;
X = x *(exp(-j * W)).^ (n' * k);
magX = abs(X);%X的幅度譜
close all;
subplot(311);stem(x);title('理想信號采樣1');set(gca,'box','off');%采樣完成
subplot(312);stem(magX);title('理想采樣信號的幅頻特性1(dft)');set(gca,'box','off');
subplot(313);stem(abs(fft(x)));title('理想采樣信號的幅頻特性1(fft)');set(gca,'box','off');

結果顯示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM