1、1 DFT基础知识 11.1离散傅立叶变换(DFT)定义 11.2复共轭序列的DFT 11.3 DFT的共轭对称性 21.3.1有限长共轭对称序列和共轭反对称序列 21.3.2共轭对称性分析 32程序设计与分析 62.1 N点DFT对称性的验证 62.1.1程序流程图 62.1.2程序编写与结果分析 72.2用一次FFT实现两个序列的 DFT 132.2.1程序流程图 132.2.2 程序编写与结果分析 133课程设计心得体会 16参考文献 17摘要有限长序列在数字信号处理是很重要的一种序列,反映它的有限长特点的一种有用 工具是离散傅里叶变换(DFT)。离散傅里叶变换除了作为有限长序列的一种傅
2、里叶表示法 在理论上相当重要之外,而且由于存在着计算离散傅里叶变换的有效快速算法,因而离散 傅里叶变换在各种数字信号处理的算法中起着核心的作用。而离散傅立叶变换的对称性, 在求实序列的离散傅立叶变换中有重要作用。 可以实现一次DFT的计算得到两个序列DFT 的高效算法,而DFT可以通过一次快速FFT变换来实现。关键词:DFT共轭对称性 matlab1 DFT基础知识1.1离散傅立叶变换(DFT)定义有限长序列在数字信号处理是很重要的一种序列,当然可以用 Z变换和傅里叶变换来研究它,但是,可以导出反映它的特点的一种有用工具是离散傅里叶变换(DFT) 离散傅里叶变换除了作为有限长序列的一种傅里叶表
3、示法在理论上相当重要之外,而且由 于存在着计算离散傅里叶变换的有效快速算法,因而离散傅里叶变换在各种数字信号处理 的算法中起着核心的作用。设x(n)是一个长度为M的有限长序列,则定义x(n)的N点离散傅里叶变换为:正变换:N 1 jJk N 1 kx( n)e N x(nWkX(k) =DFTx(n) =no =no 0 k N 1反变换:1 N 1 j kn 1 N 1 “X(k)e N 丄 X(k)WNx( n)=|DFT X(k)= N k o =Nko 0 n N 1或N 1x( n)W0 X(k) = n 0 RN(k)= X(k)RN(k)1 N 1 nk-X(k)WN 、x( n
4、)=N k 0 Rn(n) =x(n)Rn(n)j-2N-式中Wn e N,n称为DFT变换区间长度,NAM。DFT隐含有周期性。1.2复共轭序列的DFT设x*(n)是x(n)的复共轭序列,长度为N,贝UX(k) = dFT x(n)(1)已知贝UDFT x (n)=X (N k) 0 k N 1X(N) X(0)(2)已知X(k) = DFTx( n)则DFTx (N n)= X (k) 0 k N 11.3 DFT的共轭对称性DFT有对称性,但由于DFT中讨论的序列x(n)及其离散傅立叶变换X(k)均为有限长 序列,且定义区间为0到N-1,所以这里的对称性是指关于 N/2点的对称性。下面讨
5、论DFT 的共轭对称性质。1.3.1有限长共轭对称序列和共轭反对称序列长度为N的有限长序列x(n),若满足x(n) x*(N n), 0 n N 1 (1.1)称序列x(n)为共轭对称序列,一般用xep(n)来表示。若满足x(n) x*(N n), 0 n N 1 (1.2)称序列x(n)为共轭反对称序列,一般用xop(n)来表示Xep(nS n), 0 n-N心(n)=_ x*p(N n) 0_N式(1.3)与式(1.4)说明共轭对称序列与其共轭序列以n 称序列与其共轭序列以nN /2成奇对称当N为奇数时,把n J2n代入式(1.1)与式(1.2),得* N 1xep (n) Xep ( n
6、),0n1(1.6)xp( n)p ( n ),0式(1.5)与式(1.6)说明共轭对称序列与其共轭序列以n (N1)/2成偶对称,共轭反对称序列与其共轭序列以n (N 1)/2成奇对称设一长度为N的有限长序列x(n),令Xep( n)1x( n)x (Nn)x(n)则有x(n)(1.7)这说明任一有限长序列,都表示成一个共轭对称序列与共轭反对称序列的和,在频域下同样有类似结论X(k) Xep(k)X(1.8)式中Xep(k) 1X(k) X(Nk)(1.9)Xop(k) -X(k) X(1.10)1.3.2共轭对称性:分析(1)当x(n)为长度N的复数序列时,有x(n) Xr(n) jXi(
7、n)0 n N 1DFTxr( n) DFTy(n) x*( n)=-X(k)X(N k)=Xep(k)(1.11)同理可得DFTjXi(n) - DFT x(n)*(n) Xop(k)(1.12)即X(k) Xep(k) Xop(k)式(1.11)和(1.12)说明复数序列实数部分的离散傅立叶变换是原来序列离散傅立叶 变换的共轭对称分量;复书序列虚数部分的离散傅立叶变换是原来序列离散傅里叶变换的 共轭反对称分量。另一方面,由式(1.7)知有限长序列可分解为共轭对称分量与共轭反对称分量,即x(n ) = Xep( n) + Xop (n)可得其离散傅立叶变换DFTXep( n) -DFTx(
8、n) x*(N(1.13)= ReX(k)1 *DFTxp( n) -DFTx( n) x= jlmX(k)(1.14)X(k) XR(k) jXk)上面两式说明复序列共轭对称分量序列的离散傅立叶变换是原来序列离散傅立叶变 换的实数部分;复序列共轭对称分量的离散傅立叶变换是原来序列离散傅立叶变换的虚数 部分。综上可得到有限长复序列的DFT的共轭对称性质如下1将有限长序列x(n)分成实部与虚部,即:x(n) Xr( n) jXi( n) 0 n N 1则:2将有限长序列x(n)分成共轭对称部分和共轭反对称部分,即x(n) = Xep(n)+ xop(n),。门 N 1X(k) XR(k) jXi
9、(k)(2)当x(n)为长度N的实数序列或纯虚数序列时,有当x(n)为实序列时,则又据Xep(k)的对称性:Xep(k) X;p(N k)N&(k)有X(k) X*(N k)NRN(k)当x(n)为纯虚序列时,则X(k) Xop(k)又据Xop(k)的对称性:Xop(k) xOp( k)NRN(k)X(k) X*( k)NRN(k)离散傅立叶变换的对称性,在求实序列的离散傅立叶变换中有重要作用。例如,有两个实数序列xi(n)和X2(n),为求其离散傅立叶变换,可以分别用 Xi(n)和x?(n)作为虚部和 实部构造一个复数序列x(n),求出x(n)的离散傅立叶变换X(k),然后根据式(1.9)和
10、(1.10) 得到X(k)的共轭对称分量Xep(k)和Xop(k),分别对应Xi(k)和X2(k),从而实现一次DFT 的计算可得到两个序列DFT的高效算法。而DFT可以通过一次快速FFT变换来实现。2程序设计与分析本次课设计分两个部分,一个是要验证 N点的DFT的对称性,另一个是要用一次快速 傅立叶变换FFT实现两个序列的DFT2.1 N点DFT对称性的验证2.1.1程序流程图由于函数ezplot只能画出既存在Symbolic Math Toolbox中又存在于总matlab工具箱中的 函数,而gedc (实信号分解为循环偶分量和循环奇分量)和 dft(计算离散付利叶变换)仅存在Symbol
11、ic Math Toolbox中,因此需要在自己的工作目录 work下创建。此后可以直接调用 这些函数。N点的DFT的对称性验证流程图如图2-1所示n=0:N-1输入x序列 * 求x序列的共轭对称与反对称分量画出共轭对称与反对称分量图形求出 X(K),Xep,Xop画出real(X(K) ),imag(X(K) ),Xep,Xop的图形图2-1验证对称性流程图2.1.2程序编写与结果分析首先在目录work下创建gedc的M文件,gedc的M文件是用来生成共轭对称分量与 共轭反对称分量的,程序如下:function xec,xoc=gedc(x);N=le ngth(x);(N-1);xec=0
12、.5*(x + x(mod(- n,N)+1);xoc=0.5*(x - x(mod(- n,N)+1);再是在目录work下创建dft的M文件,dft为离散傅立叶变换,程序如下:function Xk=dft(xn,N);n=0:1:N-1;k=0:WN=exp(-j*2*pi/N);nk=n *k;WNn k=WN.A nk;Xk=x n*WN nk;主程序:(1)N=12,序列为x=2.5 0 1.6 -3 -2 2 1.6 -3 -1 4 4.5 -2 的程序设计与结果分析程序:figure(1)11;x=input(请输入序列 x=);xep,xop=gedc(x);subplot(2,1,1);stem( n,xep);title(共轭对称分量)xlabel( nylabel(xepaxis(-0.5,12.5,-3,4);subplot(2,1,2);stem( n,xop);共轭反对称分量 xlabel(xopaxis(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1