(0???2?)上對X(ej?)均勻采樣得到
?X(k)?X(ej?)
??2?k/N??n???x(n)e?j2?kn/N 0?k?N?1
可以看到X(k)也是頻域上的有限長序列,長度為N。序列X(k)稱為序列x(n)的N點DFT。N稱為DFT變換區間長度。 通常表示
WN?e?j2?/N
可將定義式表示為
?X(k)?
?x(n)Wn???kn 0?k?N?1
X(k)的離散傅里葉逆變換(IDFT)為
x(n)?1N?
1.圓周移位
?X(k)Wn????kn 0?n?N?1
(二)、DFT的性質
定義序列x(n)的m單位的圓周移位y(n)為:
y(n)?~x(n?m)RN(n)?x((n?m))NRN(n)18
實驗五 離散傅立葉變換DFT
(x((n?m))N即對x(n)以N為周期進行周期延拓的序列~RN(n)表x(n)的m點移位,示對此延拓移位后再取主值序列)
2. 圓周卷積
??X1(k) 0?k?N?1 設 x1(n)??NDFT??X2(k) 0?k?N?1 x2(n)??NDFT??X1(k)X2(k) 0?k?N?1 則 x1(n) x2(n)??NDFT這里 x1(n) x2(n) 表示x1(n)與 x2(n)的N點循環卷積。
N?1x1(n) x2(n)??xm?02(m)[x1((n?m))NRN(n)],n?0,1,?,N?1
3. 共軛對稱性
x(n)?xep(n)?xop(n),0?n?N?1
19
實驗五 離散傅立葉變換DFT
1?*x(n)?[x(n)?x(N?n)]?ep2??,0?n?N?1 1*?xop(n)?[x(n)?x(N?n)]2?DFT??X(k) x(n)??Nxep(n)????NDFT12[X(k)?X(k)]?Re[X(k)]?Xr(k)
*實際應用中,利用上述對稱性質可以減少DFT的運算量,提高運算效率。
三、實驗內容與步驟
1. 構造離散傅立葉正、反變換函數的MATLAB程序,其中dft(xn,N)為離散傅立葉正變換,idft(xn,N)為離散傅立葉反變換。 function[Xk]=dft(xn,N) n=[0:1:N-1]; k=n;
WN=exp(-j*2*pi/N); nk=n’*k;
WNnk=WN.^nk; Xk=xn*WNnk;
function[xn]=idft(xn,N) n=[0:1:N-1]; k=n;
WN=exp(-j*2*pi/N); nk=n’*k;
WNnk=WN.^(-nk); xn =(Xk*WNnk)/N;
如果x(n)?sin(n?/8)?sin(n?/4)是一個N=16的有限長序列,利用離散傅立葉變換函數求其16點DFT,并顯示其DFT結果。
2. 利用MATLAB程序求有限長序列x(n)=8(0.4)n, 0≤n<20的圓周移位
xm(n)?x[(n?10)]20R20(n),并顯示其圖形。
程序:
20