離散時間傅立葉變換(DFT)有兩個重要特性:週期性和對稱性。如
n=0:10; x=(0.9*exp(j*pi/3)).^n;
k=-200:200; w=(pi/100)*k;
X=x*(exp(-j*pi/100)).^(n"*k);
magx=abs(X); angx=angle(X);
subplot(2,1,1); plot(w/pi,magx); grid;
title("幅度部分")
subplot(2,1,2); plot(w/pi,angx/pi); grid;
title("相角部分")
DFT它適用於有限長時間序列,當序列長度很大時,計算量很大,其效率極低。因此提出大幅度減少DFT中的計算量的方法。所有這些有效演算法統稱為快速傅立葉變換fft。
MATLAB提供fft函式來計算向量x的DFT。
y = fft(x) DFT的長度即為x的長度
y = fft(x,N) 求N點的DFT,N一般是2的冪
例:對一給定的連續訊號2SIN(4πT)+5COS(8πT)畫出其對應的頻譜圖形 (N=64)
N=64;
n=0:N-1;
t=0.01*n;
q=n*2*pi/N;
x=2*sin(4*pi*t)+5*cos(8*pi*t);
y=fft(x,N);
plot(q,abs(y))
title("FFT N=64")
離散時間傅立葉變換(DFT)有兩個重要特性:週期性和對稱性。如
n=0:10; x=(0.9*exp(j*pi/3)).^n;
k=-200:200; w=(pi/100)*k;
X=x*(exp(-j*pi/100)).^(n"*k);
magx=abs(X); angx=angle(X);
subplot(2,1,1); plot(w/pi,magx); grid;
title("幅度部分")
subplot(2,1,2); plot(w/pi,angx/pi); grid;
title("相角部分")
DFT它適用於有限長時間序列,當序列長度很大時,計算量很大,其效率極低。因此提出大幅度減少DFT中的計算量的方法。所有這些有效演算法統稱為快速傅立葉變換fft。
MATLAB提供fft函式來計算向量x的DFT。
y = fft(x) DFT的長度即為x的長度
y = fft(x,N) 求N點的DFT,N一般是2的冪
例:對一給定的連續訊號2SIN(4πT)+5COS(8πT)畫出其對應的頻譜圖形 (N=64)
N=64;
n=0:N-1;
t=0.01*n;
q=n*2*pi/N;
x=2*sin(4*pi*t)+5*cos(8*pi*t);
y=fft(x,N);
plot(q,abs(y))
title("FFT N=64")