一、DFT之前言部分 由於matlab已提供了內部函數來計算DFT、IDFT,我們只需要會調用fft、ifft函數就行; 二、函數說明: fft(x):計算N點的DFT。N是序列x的長度,即N=length(x); fft(x,L):計算L點的DFT。若LN,則將原序列x補0至L點,然後通過計算其L ...
一、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('幅度值');