实验三离散时间信号的频域分析实验室名称:信息学院2204实验时间:2015年10月15日姓名:蒋逸恒学号:20131120038专业:通信工程指导教师:陶大鹏成绩教师签名:年月日一、实验目的1、对前面试验中用到的信号和系统在频域中进行分析,进一步研究它们的性质。2、学习离散时间序列的离散时间傅立叶变换(DTFT)、离散傅立叶变换(DFT)和z变换。二、实验内容Q3.1在程序P3.1中,计算离散时间傅里叶变换的原始序列是什么?Matlab命令pause的作用是什么?Q3.2运行程序P3.1,求离散时间傅里叶变换得的实部、虚部以及幅度和香相位谱。离散时间傅里叶变换是w的周期函数吗?若是,周期是多少?描述这四个图形表示的对称性。Q3.2修改程序P3.1,在范围0≤w≤π内计算如下序列的离散时间傅里叶变换:wjwjjwwjwjjwjweeeeeeeU32327.05.03.013.05.07.0)(并重做习题P3.2,讨论你的结果。你能解释相位谱中的跳变吗?MATLAB命令unwarp可以移除变化。试求跳变被移除后的相位谱。Q3.6通过加入合适的注释语句和程序语句,修改程序P3.2,对程序生成的图形中的两个轴加标记。哪个参数控制时移量?Q3.10通过加入合适的注释语句和程序语句,修改程序P3.3,对程序生成的图形中的两个轴加标记。哪个参数控制频移量?Q3.14通过加入合适的注释语句和程序语句,修改程序P3.4,对程序生成的图形中的两个轴加标记。Q3.15运行修改后的程序并讨论你的结果。Q3.17通过加入合适的注释语句和程序语句,修改程序P3.5,对程序生成的图形中的两个轴加标记。Q3.20通过加入合适的注释语句和程序语句,修改程序P3.6,对程序生成的图形中的两个轴加标记。试解释程序怎样进行时间反转运算。Q3.23编写一个MATLAB程序,计算并画出长度为为N的L点离散傅里叶变换X[k]的值,其中L≥N,然后计算并画出L点离散傅里叶逆变换X[k]。对不同长度N和不同的离散傅里叶变换长度L,运行程序。讨论你的结果。Q3.26在函数circshift中,命令rem的作用是什么?Q3.27解释函数circshift怎样实现圆周移位运算。Q3.28在函数circconv中,运算符=的作用是什么?Q3.29解释函数circconv怎样实现圆周卷积运算。Q3.30通过加入合适的注释语句和程序语句,修改程序P3.7,对程序生成的图形中的两个轴加标记。哪个参数决定时移量?若时移量大于序列长度,将会发生什么?Q3.31运行修改后的程序并验证圆周时移运算。Q3.32通过加入合适的注释语句和程序语句,修改程序P3.8,对程序生成的图形中的两个轴加标记。时移量是多少?Q3.33运行修改后的程序并验证离散傅里叶变换的圆周时移性质。Q3.36运行程序P3.9并验证离散傅里叶变换的圆周卷积性质。Q3.38运行程序P3.10并验证线性卷积可通过圆周卷积得到。Q3.41序列x1[n]和x2[n]之间的关系是什么?Q3.42运行程序P3.11。由于周期序列的偶数部分的离散傅里叶变换是原序列的XEF的实数部分,XEF的虚部应该为零。你能验证它们吗?你怎样解释仿真结果?三、实验器材及软件1.微型计算机1台2.MATLAB7.0软件四、实验原理3.1;3.2;3.3;3.4离散时间傅立叶变换的结果是关于w的连续函数,对于系统函数的离散时间傅立叶变换的求法是ABFYH,其中,B是f序列傅立叶变换的系数,A是y序列傅立叶变换的系数。离散时间傅立叶变换的结果是w的周期函数,在(2k+1)π附近为高频,在2kπ附近为低频(k=0,+1,-1,+2,-2。。。。)3.6离散时间傅立叶变换的时移特性:)(][DTFT0jwjwneGenngo3.10离散时间傅立叶变换的频移特性:)(][)(DTFT00wwjnjweGnge3.14;3.15离散时间傅立叶变换的卷积性质:)()(][*][DTFTjwjweHeGnhng3.17离散时间傅立叶变换的调制特性:deHeGnhngwjj)()(21][][)(DTFT3.20离散时间傅立叶变换的反转特性:)(][DTFTjweGng3.23在matlab中,fft()函数可以快速的计算有限长序列的离散傅立叶变换,ifft()函数可以快速的计算离散傅立叶逆变换,对于计算中的不同序列长度N,若把时间当作1s,则N相当于采样率Fs,L是傅立叶变换后的序列的长度。此时,采样点的频率可表示为Fn=(n-1)*Fs/L,当N与L越接近,Fs/L越小,Fn的变化速度越慢,此时相位谱也就相应的变化减慢,因为相位是频率f的一次函数。3.26;3.27;3.28;3.29圆周移位函数和圆周卷积函数都是在“圆周”上循环的,该圆周的长度就是序列的长度。3.30;3.31;3.32;3.33圆周时移实际上是把一个序列的后面的点按顺序搬到前面来,这里与反转和线性时移有着完全的区别。圆周时移实际上的移动范围不会超过序列长度值。圆周时移性质:若)()(][nRnmxnyNN,则)()]([)(kXWnyDFTkYkmN,其中)]([)(nxDFTkX,10Nk。3.36;3.38由实验我们可以知道一个圆周卷积性质:线性卷积可通过圆周卷积得到。3.41;3.42由教材可知:)(][jwreDTFTevexnx,即序列的偶部分的傅立叶变换是序列的傅立叶变换的实部。五、实验步骤1、进行本实验,首先必须熟悉matlab的运用,所以第一步是学会使用matlab。2、学习相关基础知识,根据《数字信号处理》课程的学习理解实验内容和目的。3、在充分熟悉基础知识的情况下进行实验,利用matlab完成各种简单的波形产生和观察,理解各种波形产生的原理和方法。4、从产生的图形中学习新的知识,掌握实验的目的,充分学习数字信号处理的运用。5、最后需要思考各种波形的联系和建立完整的知识体系,如整理噪声和原波形之间的叠加关系等。六、实验记录(数据、图表、波形、程序等)3.2w=-4*pi:8*pi/511:4*pi;num=[21];den=[1-0.6];h=freqz(num,den,w);subplot(2,1,1);plot(w/pi,real(h));grid;title('H(e^{j\omega})的实部');xlabel('\omega/\pi');ylabel('振幅');subplot(2,1,2);plot(w/pi,imag(h));grid;title('H(e^{j\omega})的虚部');xlabel('\omega/\pi');ylabel('振幅');pause;subplot(2,1,1);plot(w/pi,abs(h));grid;title('|H(e^{j\omega}|幅度谱');xlabel('\omega/\pi');ylabel('振幅');subplot(2,1,2);plot(w/pi,angle(h));grid;title('相位谱arg[H(e^{j\omega})]');xlabel('\omega/\pi');-4-3-2-10123402468H(ej)的实部/振幅-4-3-2-101234-4-2024H(ej)的虚部/振幅-4-3-2-10123402468|H(ej|幅度谱/振幅-4-3-2-101234-2-1012相位谱arg[H(ej)]/以弧度为单位的相位ylabel('以弧度为单位的相位');3.3clf;w=0:8*pi/511:pi;num=[0.7-0.50.31];den=[10.3-0.50.7];h=freqz(num,den,w);subplot(2,1,1);plot(w/pi,real(h));grid;title('H(e^{j\omega})的实部');xlabel('\omega/\pi');ylabel('振幅');subplot(2,1,2);plot(w/pi,imag(h));grid;title('H(e^{j\omega})的虚部');xlabel('\omega/\pi');ylabel('振幅');pause;subplot(2,1,1);plot(w/pi,abs(h));grid;title('|H(e^{j\omega}|幅度谱');xlabel('\omega/\pi');ylabel('振幅');subplot(2,1,2);plot(w/pi,angle(h));grid;title('相位谱arg[H(e^{j\omega})]');xlabel('\omega/\pi');ylabel('以弧度为单位的相位');移出跳变后的代码:clf;w=0:8*pi/511:pi;num=[0.7-0.50.31];den=[10.3-0.50.7];h=freqz(num,den,w);plot(w/pi,unwrap(angle(h)));grid;title('相位谱arg[H(e^{j\omega})]');xlabel('\omega/\pi');ylabel('以弧度为单位的相位');00.10.20.30.40.50.60.70.80.91-1-0.500.51H(ej)的实部/振幅00.10.20.30.40.50.60.70.80.91-1-0.500.51H(ej)的虚部/振幅00.10.20.30.40.50.60.70.80.911111|H(ej|幅度谱/振幅00.10.20.30.40.50.60.70.80.91-4-2024相位谱arg[H(ej)]/以弧度为单位的相位00.10.20.30.40.50.60.70.80.91-6-5-4-3-2-10相位谱arg[H(ej)]/以弧度为单位的相位3.4clf;w=-4*pi:8*pi/511:4*pi;num1=[1357911131517];h=freqz(num,1,w);subplot(2,1,1);plot(w/pi,real(h));grid;title('H(e^{j\omega})的实部');xlabel('\omega/\pi');ylabel('振幅');subplot(2,1,2);plot(w/pi,imag(h));grid;title('H(e^{j\omega})的虚部');xlabel('\omega/\pi');ylabel('振幅');pause;subplot(2,1,1);plot(w/pi,abs(h));grid;title('|H(e^{j\omega}|幅度谱');xlabel('\omega/\pi');ylabel('振幅');subplot(2,1,2);plot(w/pi,angle(h));grid;title('相位谱arg[H(e^{j\omega})]');xlabel('\omega/\pi');ylabel('以弧度为单位的相位');3.6w=-pi:2*pi/255:pi;wo=0.4*pi;D=10;num=[123456789];h1=freqz(num,1,w);h2=freqz([zeros(1,D)num],1,w);%时移后的傅立叶变换得到的序列subplot(2,2,1);plot(w/pi,abs(h1));grid;xlabel('\omega/\pi');ylabel('振幅');title('原序列的幅度谱');subplot(2,2,2);plot(w/pi,abs(h2));xlabel('\omega/\pi');ylabel('振幅');title('时移后序列的幅度谱');subplot(2,2,3);plot(w/pi,angle(h1));grid;xlabel('\omega/\pi');ylabe