1、数字信号处理实验2实验二 离散时间系统的时域分析实验室名称:计算机基础实验室(信息学院2202) 实验时间: 2015 年 9 月 24 日姓 名: 王凤琼 学号:20131060114 专业: 电子信息工程 指导教师:柏正尧成绩教师签名: 年 月 日一、实验目的1. 通过MATLAB仿真一些简单的离散时间系统,并研究它们的时域特性。2. 了解滑动平均系统的特性,仿真滑动平均系统,与理论课相结合,分析系统特性。 3. 运用MATLAB程序得出线性时不变离散时间系统的冲激响应。4. 熟悉相应的MATLAB命令,如filter,impz。 5. 实验与理论相结合,能达到对理论的更好理解。 二、实验
2、内容1.滑动平均系统的仿真;2.线性和非线性系统的仿真;3.线性时不变离散时间系统的仿真;Q2.1对 M=2,运行上述程序,生成输入 xn=s1n+s2n的输出信 号。输入 xn的哪个分量被该离散时间系统抑制?Q2.2若 线 性 时 不 变 系 统 由 yn=0.5(xn+xn-1) 变 成 yn=0.5(xn-xn-1),对输入 xn= s1n+s2n有什么影响?Q2.4修改程序P2.1,用一个长度为101,最低频率为0,最高频率为0.5的扫频正弦信号作为输入信号,计算其输出信号。Q2.7运行程序P2.3,对由加权输入得到的yn与在相同权系数下输出y1n和 y2n相加得到的ytn进行比较,这
3、两个序列是否相等?该系统是线性系统吗?Q2.12采用三个不同的延时变量D的值运行程序P2.4并比较输出序列yn和ydn-10。这两个序列之间有什么关系?该系统是时不变系统吗?Q2.19运行程序 P2.5,生成2.15所给离散时间系统的冲激响应。 yn-0.4yn-1+0.75yn-2=2.2403xn+2.4908xn-1+2.2403xn-2Q2.20修改程序 P2.5,产生如下因果线性时不变系统的冲激响应的前 45 个样本: yn+0.71yn-1-0.46yn-2-0.62yn-3=0.9xn-0.45xn-1+0.35xn2+0.002xn-3 Q2.23运行程序p2.6,计算输出序列
4、yn和y2n以及 差值信号dn,yn和y2n相等Q2.28运行程序p2.7,对序列hn和yn求卷积,生成yn,并用FIR滤波器hn对输入xn滤波,求得y1n。yn和y1n有差别吗?为什么要使用对xn补零后得到的x1n作为输入来产生y1n? 计算线性时不变离散时间系统的冲激响应,运用MATLAB命令y=impz(num,den,N),得出冲激响应的前N个样本。 三、实验器材及软件1. 微型计算机1台2. MATLAB 7.0软件四、实验原理1.若y1n和y2n分别是因果离散时间系统输入信号u1n和u2n的响应,则当 u1n=u2n nN时,有y1n=y2n nN2.对于离散时不变系统,若y1n是
5、x1n的响应,则输入xn=x1n=n0的输出响应为yn=y1n-n0。3.描述因果线性时不变离散时间系统,可用命令 filter进行仿真。 计算冲激响应可用函数impz表示计算冲击响应钱N个样本可用y=impz(num,den,N)来表示。五、实验步骤按照课本上的例题书写程序。六 实验记录(数据、图表、波形、程序等)Q2.1clf;n=0:100;s1=cos(2*pi*0.05*n);s2=cos(2*pi*0.47*n);x=s1+s2;M=input(滤波器所需的长度=);num=ones(1,M);y=filter(num,1,x)/M;subplot(2,2,1);plot(n,s1
6、);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(信号#1);subplot(2,2,2);plot(n,s2);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(信号#2);subplot(2,2,3);plot(n,x);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(输入信号);subplot(2,2,4);plot(n,y);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(输出信号);axis;Q
7、2.2clf;n=0:100;s1=cos(2*pi*0.05*n);s2=cos(2*pi*0.47*n);x=s1+s2;M=input(滤波器所需的长度=);num=1,-ones(1,M-1);y=filter(num,1,x)/M;subplot(2,2,1);plot(n,s1);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(信号#1);subplot(2,2,2);plot(n,s2);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(信号#2);subplot(2,2,3);plot
8、(n,x);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(输入信号);subplot(2,2,4);plot(n,y);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(输出信号);axis;Q2.4clf;n=0:100;a=pi/2/100;b=0;arg=a*n.*n+b*n;x=cos(arg);M=input(滤波器所需的长度=);num=ones(1,M);y=filter(num,1,x)/M;subplot(2,1,1);stem(n,x);axis(0,100,-2,2);xlab
9、el(时间序号n);ylabel(振幅);title(输入信号);subplot(2,1,2);plot(n,y);axis(0,100,-2,2);xlabel(时间序号n);ylabel(振幅);title(输出信号);axis; Q2.7clf;n=0:40;a=2;b=-3x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x=a*x1+b*x2;num=2.2403 2.4908 2.2403;den=1 -0.4 0.75;ic=0 0;y1=filter(num,den,x1,ic);y2=filter(num,den,x2,ic);y=filter(nu
10、m,den,x,ic);yt=a*y1+b*y2;d=y-yt;subplot(3,1,1)stem(n,y);ylabel(振幅);title(加权输入:a cdotx_1n+b cdotx_2n的输出);subplot(3,1,2)ylabel(振幅);title(加权输出:a cdotx_1n+b cdotx_2n);subplot(3,1,3)stem(n,d);xlabel(时间序号n);ylabel(振幅);title(差信号);Q2.12clf;n=0:40;D=10;a=3.0;b=-2;x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n);xd=zero
11、s(1,D),x;num=2.2403 2.4908 2.2403;den=1 -0.4 0.75;ic=0 0;%设置初始条件y=filter(num,den,x,ic);yd=filter(num,den,xd,ic);d=y-yd(1+D:41+D);%计算差值输出dnsubplot(3,1,1)stem(n,y);ylabel(振幅);title(输出yn);grid;subplot(3,1,2)stem(n,yd(1:41);ylabel(振幅);title(由于延时输入的输出);grid;subplot(3,1,3);stem(n,d);ylabel(振幅);xlabel(时间序号
12、n);title(差信号);grid;Q2.19 %p2.5%计算冲激响应clf;N=40;num=2.24032.49082.2403;den=1-0.40.75;y=impz(num,den,N);stem(y);ylabel(振幅);xlabel(时间序号n);title(冲激响应); Q2.20clf;N=40;num=0.9 -0.45 0.35 0.002;den=1 0.71 -0.46 -0.62;y=impz(num,den,N);stem(y);ylabel(振幅);xlabel(时间序号n);title(冲激响应);Q2.23%p2.6%级联实现clf;x=1 zeros
13、(1,40);n=0:40;den=1 1.6 2.28 1.325 0.68;num=0.06 -0.19 0.27 -0.26 0.12;y=filter(num,den,x);num1=0.3 -0.2 0.4;den1=1 0.9 0.8;num2=0.2 -0.5 0.3;den2=1 0.7 0.85;y1=filter(num1,den1,x);%级联第一级输出y2=filter(num2,den2,y1);d=y-y2;subplot(3,1,1)stem(n,y);ylabel(振幅);title(四阶实现的输出);grid;subplot(3,1,2)stem(n,y2);
14、ylabel(振幅);title(级联实现的输出);grid;subplot(3,1,3);stem(n,d);ylabel(振幅);xlabel(时间序号n);title(差信号);grid;Q2.28%p2.7clf;h=3 2 1 -2 1 0 -4 0 3;%冲激x=1 -2 3 -4 3 2 1;y=conv(h,x);n=0:14;subplot(2,1,1);stem(n,y);ylabel(振幅);xlabel(时间序号n);title(用卷积得到的输出);x1=x zeros(1,8);y1=filter(h,1,x1);subplot(2,1,2);stem(n,y);yl
15、abel(振幅);xlabel(时间序号n);title(由滤波生成的输出);七、实验思考题及解答Q2.1对M=2,运行上述程序,生成输入xn=s1n+s2n的输出信号。输入xn 的哪个分量被该离散时间系统抑制? 答:由图一可以看出,输出信号只保留了输入信号xn的s1n部分,即低频正弦部分,输入xn的s2n高频分量被抑制,可知该离散时间系统为低通滤波系统。 Q2.2若线性时不变系统由yn=0.5(xn+xn-1)变成yn=0.5(xn-xn-1), 对输入xn=s1n+s2n的影响是什么? 答:线性时不变系统由yn=0.5(xn+xn-1)变成yn=0.5(xn-xn-1) 可以修改程序中的n
16、um=ones(1,M)为num=1,-ones(1,M-1)。 看程序运行结果,可以看出输出信号保留了输入信号xn的高频部分,低频部分被抑制了。该系统将由低通滤波器变为高通滤波器。 它会让 s2 信号的高频成分通过, 而把 s1 信号 的低频成分滤除。Q2.7运行程序P2.3,对由加权输入得到的yn与在相同权系数下输出y1n和 y2n相加得到的ytn进行比较,这两个序列是否相等?该系统是线性系统吗? 答:根据线性系统的定义,若x1n y1n,x2n y2n,得出 a*x1n+b*x2n a*y1n+b*y2n,故该系统是线性系统。由图得到,两个序列是相等的,满足yn=ytn,所以该系统是线性
17、的。Q2.12 运行程序p2.4,并比较输出序列yn和ydn-10,这两个序列之间有什么关系?该系统是时不变系统吗? 答:ydn-10 是yn延时10个样本的序列,该系统是时不变系统。Q2.23 运行程序p2.6,计算输出序列yn和y2n以及差值信号dn,yn和y2n相等吗? 答:相等。Q2.28 运行程序p2.7,对序列hn、xn求卷积,生成yn,并用滤波器hn对输入xn滤波,求得y1n。yn和y1n有差别吗?为什么要使用xn补零后得到的x1n作为输入来产生y1n? 答:由图可以看出yn和y1n没有差别,序列hn、xn的卷积得到的yn的长度是hn和xn的长度之和减去1,为15,用滤波器hn对输入xn滤波得y1n长度与xn相同,所以要对xn补零后得到的x1n作为输入来产生y1n。八、实验结果分析与总结通过本次实验, 我知道了滑动平均滤波器的使用, 线性和非线性系统的判断, 以及线性时不变离散时间系统的冲激响应的计算。 了解了一些函数的使用,impz 和 filter。 通过实验,我发现一些理论课中比较难理解的部分得到很好的理解,例如滑 动平均滤波器,通过图像的显示,直观的看出是它如何进行滤波的。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1