1、1.1 市场与市场营销市场与市场营销1.2 我国汽车市场的发展与现状我国汽车市场的发展与现状复习思考题复习思考题实验13 离散傅里叶变换的性质一、实验目的一、实验目的(1)加深对离散傅里叶变换(DFT)基本性质的理解。(2)了解有限长序列傅里叶变换(DFT)性质的研究方法。(3)掌握用MATLAB语言进行离散傅里叶变换性质分析时程序编写的方法。二、实验原理二、实验原理1.线性性质线性性质如果两个有限长序列分别为x1(n)和x2(n),长度分别为N1和N2,且y(n)ax1(n)bx2(n)(a、b均为常数)则该y(n)的N点DFT为Y(k)DFTy(n)aX1(k)bX2(k)0kN1其中:N
2、maxN1,N2,X1(k)和X2(k)分别为x1(n)和x2(n)的N点DFT。例例13-1 已知x1(n)0,1,2,4,x2(n)1,0,1,0,1,求:(1)y(n)2x1(n)3x2(n),再由y(n)的N点DFT获得Y(k);(2)由x1(n)、x2(n)求X1(k)、X2(k),再求Y(k)2X1(k)3X2(k)。用图形分别表示以上结果,将两种方法求得的Y(k)进行比较,由此验证有限长序列傅里叶变换(DFT)的线性性质。解解 MATLAB程序如下:xn10,1,2,4;%建立xn1序列xn21,0,1,0,1;%建立xn2序列N1length(xn1);N2length(xn2
3、);Nmax(N1,N2);%确定NifN1N2xn2xn2,zeros(1,N1N2);%对长度短的序列补0elseifN2N1xn1xn1,zeros(1,N2N1);endyn2*xn13*xn2;%计算ynn0:N1;k0:N1;Yk1yn*(exp(j*2*pi/N).(n*k);%求yn的N点DFTXk1xn1*(exp(j*2*pi/N).(n*k);%求xn1的N点DFTXk2xn2*(exp(j*2*pi/N).(n*k);%求xn2的N点DFTYk22*Xk13*Xk2;%由Xk1、Xk2求Yk以上程序作图部分省略。用两种方法求得的Y(k)结果一致,如下所示:Yk 23.0
4、000 7.59021.5388i 3.59020.3633i 3.59020.3633i 7.59021.5388i运行结果如图13-1所示。图13-1 例13-1有限长序列的傅里叶变换的线性性质2.循环移位性质循环移位性质如果有限长序列为x(n),长度为N,将x(n)左移m位,则y(n)x(nm)N)RN(n)x(n)左移m位的过程可由以下步骤获得:(1)将x(n)以N为周期进行周期延拓,得到x(n)N);(2)将左移m位,得到;(3)取的主值序列,得到x(n)循环移位序列y(n)。(n)x(n)xm)(nxm)(nx有限长序列的移位也称为循环移位,原因是将x(n)左移m位时,移出的m位又
5、依次从右端进入主值区。下面举例说明。例例13-2 已知有限长序列x(n)1,2,3,4,5,6,求x(n)左移2位成为新的向量y(n),并画出循环移位的中间过程。解解 MATLAB程序如下:xn1,2,3,4,5,6;%建立xn序列Nxlength(xn);nx0:Nx1;nx1Nx:2*Nx1;%设立周期延拓的范围x1xn(mod(nx1,Nx)1);%建立周期延拓序列ny1nx12;y1x1;%将x1左移2位,得到y1RN(nx10)&(nx10)&(ny1Nx);%在y1的位置向量ny1上设置主值窗subplot(4,1,1),stem(nx1,RN.*x1);%画出x1的主值部分sub
6、plot(4,1,2),stem(nx1,x1);%画出x1subplot(4,1,3),stem(ny1,y1);%画出y1subplot(4,1,4),stem(ny1,RN1.*y1);%画出y1的主值部分运行结果如图13-2所示。图13-2 例13-2有限长序列的循环移位3.循环折叠性质循环折叠性质如果要把有限长N点序列x(n)直接进行折叠,则x的下标(n)将不在0nN1区域内。但根据有限长序列傅里叶变换隐含的周期性,可以对变量(n)进行N求余运算。即在MATLAB中,序列x(n)的折叠可以由yx(mod(nx,N)1)得到。有限长N点序列x(n)的循环折叠序列y(n)定义为1Nn1)
7、nNx(0nx(0)n)x(y(n)N可以想像成,序列x(n)以反时针方向等间隔放置在一个圆周上,则x(n)是将x(n)沿着圆周顺时针方向等间隔放置。循环折叠性质同样适用于频域。经循环折叠后,序列的DFT由下式给出:就是说,在时域循环折叠后的函数,其对应的DFT在频域也作循环折叠,并取X(k)的共轭。1Nk1k)X(N0kX(0)k)(X)n)DFTx(Y(k)NN例例13-3 求x(n)1,2,3,4,5,6,7,循环长度分别取N7,N10。(1)画出x(n)的图形;(2)画出x(n)的图形。解解 MATLAB程序如下:x11,2,3,4,5,6,7;%建立x(n),N7序列N1length
8、(x1);n10:N11;y1x1(mod(n1,N1)1);%建立x(n),N7序列N210;x2x1,zeros(1,N2N1);%建立x(n),N10序列n20:N21;y2x2(mod(n2,N2)1);%建立x(n),N10序列subplot(2,2,1),stem(n1,x1,k);%画x(n),N7title(x(n),N7);subplot(2,2,3),stem(n1,y1,k);%画x(n),N7title(x(n),N7);subplot(2,2,2),stem(n2,x2,k);%画x(n),N10title(x(n),N10);subplot(2,2,4),stem(
9、n2,y2,k);%画x(n),N10title(x(n),N10);运行结果如图13-3所示。图13-3 例13-3离散序列的循环折叠例例13-4 如例13-3求x(n)1,2,3,4,5,6,7,循环长度取N7。求证:在时域循环折叠后的函数x(n),其对应的DFT在频域也作循环折叠,并取X(k)的共轭。解解 MATLAB程序如下:x11,2,3,4,5,6,7;%建立x(n),N7序列Nlength(x1);n0:N1;k0:N1;y1x1(mod(n,N)1);%建立x(n),N7序列Xkx1*exp(j*2*pi/N).(n*k)%求x(n)的DFTYky1*exp(j*2*pi/N)
10、.(n*k)%求x(n)的DFT运行结果:Xk28.0000 3.50007.2678i 3.50002.7912i 3.50000.7989i3.50000.7989i3.50002.7912i 3.5000 7.2678iYk28.0000 3.50007.2678i 3.50002.7912i 3.50000.7989i3.50000.7989i3.50002.7912i 3.50007.2678i4.时域和频域循环卷积特性时域和频域循环卷积特性离散傅里叶变换的循环卷积特性也称为圆周卷积,分为时域卷积和频域卷积两类。1)时域循环卷积假定x(n)、h(n)都是N点序列,则时域循环卷积的结果
11、y(n)也是N点序列:若x(n)、h(n)和y(n)的DFT分别为X(k)、H(k)和Y(k),则Y(k)X(k)H(k)2)频域循环卷积利用时域和频域的对称性,可以得到频域卷积特性。若y(n)x(n)h(n)则下面重点讨论时域循环卷积。时域循环卷积的方法有多种:方法方法1:直接使用时域循环卷积。由于有限长序列可以看成是周期序列的主值,因此,时域圆周卷积的结果可以由对应的周期序列卷积和取主值部分获得,请参考例11-4。方法方法2:用频域DFT相乘再求逆变换。即先分别求x1(n)、x2(n)的DFTX1(k)、X2(k),再求Y(k)的IDFT获得y(n)。基本思路如图13-4所示。图13-4
12、用DFT实现循环卷积的框图方法方法3:用FFT和IFFT进行循环卷积。基本思路同方法2,但直接使用了MATLAB提供的fft和ifft子函数来实现。见后面的快速傅里叶变换实验。例例13-5 将例11-4已知的两个时域周期序列分别取主值,得到x11,1,1,0,0,0,x20,1,2,3,0,0,求时域循环卷积y(n)并用图形表示。解解 本例采用方法2。程序如下(作图程序部分省略):xn10,1,2,3,0,0;%建立x1(n)序列xn21,1,1,0,0,0;%建立x2(n)序列Nlength(xn1);n0:N1;k0:N1;Xk1xn1*(exp(j*2*pi/N).(n*k);%由x1(
13、n)的DFT求X1(k)Xk2xn2*(exp(j*2*pi/N).(n*k);%由x2(n)的DFT求X2(k)YkXk1.*Xk2;%Y(k)X1(k)X2(k)ynYk*(exp(j*2*pi/N).(n*k)/N;%由Y(k)的IDFT求y(n)ynabs(yn)%取模值,消除DFT带来的微小复数影响得到:yn 0.0000 1.0000 3.0000 6.0000 5.0000 3.0000运行结果如图13-5所示。由y(n)图形可见,与例11-4主值区域的卷积结果相同。图13-5 例13-5离散序列时域循环卷积的结果5.循环对称性循环对称性由于序列x(n)及其离散傅里叶变换X(k)
14、的定义在主值为0N1的区间,因此DFT的循环对称性对时间序列是指关于n0和nN/2的对称性,对频谱序列是关于数字频率为0和p的对称性。本实验重点分析实序列的循环对称性。实序列x(n)可以分解为循环偶序列xe(n)和循环奇序列xo(n):x(n)xe(n)xo(n)0nN1其中:设DFTx(n)X(k)ReX(k)j*ImX(k),则有n)x(x(n)21(n)xen)x(x(n)21(n)xoX(k)Ij(n)DFTxX(k)R(n)DFTxmoee即实序列中的偶序列xe(n)对应于x(n)的离散傅里叶变换X(k)的实部,而实序列中的奇序列xo(n)对应于x(n)的离散傅里叶变换X(k)的虚部
15、。例例13-6 已知一个定义在主值区间的实序列xones(1,4),zeros(1,4),试将其分解成为偶对称序列和奇对称序列,并求它们的DFT,验证离散傅里叶变换的循环对称性。解解 程序如下(作图程序省略):xones(1,5),zeros(1,5)%建立x(n)序列Nlength(x);n0:N1;k0:N1;xrx(mod(n,N)1);%求x(n)xe0.5*(xxr)%求x(n)的偶序列xo0.5*(xxr)%求x(n)的奇序列Xx*(exp(j*2*pi/N).(n*k);%由x(n)的DFT求X(k)Xexe*(exp(j*2*pi/N).(n*k);%由xe(n)的DFT求Xe
16、(k)Xoxo*(exp(j*2*pi/N).(n*k);%由xo(n)的DFT求Xo(k)error1(max(abs(real(X)Xe)%计算X(k)的实部与Xe(k)的差值error2(max(abs(j*imag(X)Xo)%计算X(k)的虚部与Xo(k)的差值运行结果显示:x1 1 1 1 0 0 0 0 xe 1.0000 0.5000 0.5000 0.5000 0 0.5000 0.5000 0.5000 xo 0 0.5000 0.5000 0.5000 00.5000 0.5000 0.5000 error17.2173e015 error27.4517e015程序执行结
17、果如图13-6所示。图13-6 例13-6验证离散实序列的循环对称性由以上输出数据和图形可知:(1)xe(n)具有循环对称性。对称中心在n0和n5处。(2)xo(n)具有循环反对称性。对称中心亦在n0和n5处。(3)从图上看,Xe(k)与X(k)的实部相等,Xo(k)与X(k)的虚部相等;从输出数据也可见,error1和error2的差约为0。即可证明,时域的偶、奇分量的确对应于频域的离散傅里叶变换的实部和虚部。三、实验任务三、实验任务(1)阅读并输入实验原理中介绍的例题程序,观察输出的数据和图形,结合基本原理理解每一条语句的含义。(2)已知有限长序列x(n)4,0,3,0,2,0,1,求x(
18、n)右移2位成为新的向量y(n),并画出循环移位的中间过程。(3)已知一个有限长信号序列x(n)8,7,6,5,4,3,循环长度取N10。求证:在时域循环折叠后的函数x(n),其对应的DFT在频域也作循环折叠。(4)已知两个有限长序列x15,4,3,2,x21,2,3,0,用DFT求时域循环卷积y(n)并用图形表示。*(5)试设计一个验证DFT复数序列的循环对称性的程序。四、实验预习四、实验预习(1)认真阅读实验原理,明确本次实验任务,读懂例题程序,了解实验方法。(2)根据实验任务预先编写实验程序。(3)预习思考题:离散傅里叶变换(DFT)有哪些常用的基本性质?五、实验报告五、实验报告(1)列写调试通过的实验程序,打印或描绘实验程序产生的图形和数据。(2)思考题:回答实验预习思考题。简述离散傅里叶变换(DFT)时域循环卷积的基本方法,其与DTFT、DFS时域卷积有何联系与区别?