信號處理之DFT、IDFT


一、DFT之前言部分

由於matlab已提供了內部函數來計算DFT、IDFT,我們只需要會調用fft、ifft函數就行;

二、函數說明:

fft(x):計算N點的DFT。N是序列x的長度,即N=length(x);

fft(x,L):計算L點的DFT。若L<N,則將原序列x截短為L點序列,再計算其L點的DFT;若L>N,則將原序列x補0至L點,然后通過計算其L點DFT。

ifft(X):計算N點的IDFT。N是序列x的長度,即N=length(X)。

ifft(X,L):計算L點的IDFT。若L<N,則將原序列x截短為L點序列,再計算其L點的IDFT;若L>N,則將原序列x補0至L點,然后通過計算其L點IDFT。

N=30;
L=512;
f1=100;
f2=120;
fsam=600;
T=1/fsam;
wsam=2*pi*fsam;
t=(0:N-1)*T;

x=cos(2*pi*f1*t)+cos(2*pi*f2*t);
X=fft(x,L);
X1=fftshift(X);
w=(-wsam/2+(0:L-1)*wsam/L)/(2*pi);
plot(w,abs(X1));
ylabel('幅度值');


免責聲明!

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



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