数字信号处理实验二.pdf
百度文库-好好学习,天天向上实实 验验 报报 告告课程名称数字信号院系信息工程学院班级学号实验成绩实验二:离散实验二:离散 LSILSI 系统的时域分析系统的时域分析一、实验内容一、实验内容1.1.知描述某离散知描述某离散 LSILSI 系统的差分方程为系统的差分方程为 2y(n)-3y(n-1)+y(n-2)=x(n-1)2y(n)-3y(n-1)+y(n-2)=x(n-1),分别用,分别用 impzimpz 和和dstepdstep 函数、函数、filticfiltic 和和 filterfilter 函数两种方法求解系统的单位序列响应和单位阶跃响应。函数两种方法求解系统的单位序列响应和单位阶跃响应。用用 impzimpz 和和 dstepdstep 函数求解系统的单位序列响应和单位阶跃响应如下函数求解系统的单位序列响应和单位阶跃响应如下a=1,-3/2,1/2;b=0,1/2,0;N=32;n=0:N-1;hn=impz(b,a,n);gn=dstep(b,a,n);subplot(1,2,1);stem(n,hn,k);title(系统的单位序列响应);ylabel(h(n);xlabel(n);axis(0,N,*min(hn),*max(hn);subplot(1,2,2);stem(n,gn,k);title(系统的单位阶跃响应);ylabel(g(n);xlabel(n);axis(0,N,*min(gn),*max(gn);-1百度文库-好好学习,天天向上系 统 的 单 位 序 列 响 应10.90.80.72530系 统 的 单 位 阶 跃 响 应20h(n)0.50.40.30.20.10010n2030g(n)0.6151050010n2030用函数用函数 filticfiltic 和和 filterfilter 求解离散系统的单位序列响应和单位阶跃求解离散系统的单位序列响应和单位阶跃解:x01=0;y01=0;a=1,-3/2,1/2;b=0,1/2,0;N=32;n=0:N-1;xi=filtic(b,a,0);x1=n=0;hn=filter(b,a,x1,xi);x2=n=0;gn=filter(b,a,x2,xi);subplot(1,2,1);stem(n,hn,k);title(系统的单位序列响应);ylabel(h(n);xlabel(n);axis(0,N,*min(hn),*max(hn);subplot(1,2,2);stem(n,gn,k);title(系统的单位阶跃响应);ylabel(g(n);xlabel(n);axis(0,N,*min(gn),*max(gn);-2百度文库-好好学习,天天向上系 统 的 单 位 序 列 响 应1.0510.950.9)0.85n(h0.80.750.70.650.60.550102030n2.2.写程序描绘下列序列的卷积波形:写程序描绘下列序列的卷积波形:(1 1)f f1 1(n)=u(n),f(n)=u(n),f2 2(n)=u(n-2),(n)=u(n-2),(0 0n10n10)n1=0:10;nt=length(n1);f1=ones(1,nt);n2=2:12;nt=length(n2);f2=ones(1,nt);y,ny=convu(f1,n1,f2,n2);subplot(2,2,1);stem(n1,f1);subplot(2,2,2);stem(n2,f2);subplot(2,1,2);stem(ny,y);-3系 统 的 单 位 阶 跃 响 应302520)n(g151050102030n百度文库-好好学习,天天向上10.80.60.40.20051010.80.60.40.20051015151050246810121416182022(2 2)x(n)=sin(n/2),h(n)=x(n)=sin(n/2),h(n)=n n(-(-3 3n n4 4)n1=-3:4*pi;f1=.n1;f2=sin(n2/2);y,ny=convu(f1,n1,f2,n2);subplot(2,2,1);stem(n1,f1);subplot(2,2,2);stem(n2,f2);subplot(2,1,2);stem(ny,y);定义函数文件调用部分:functiony,ny=convu(f1,n1,f2,n2)nys=n1(1)+n2(1);nyf=n1(end)+n2(end);y=conv(f1,f2);ny=nys:nyf;-4百度文库-好好学习,天天向上21.510.50-56420-2-4-10-50510.50-0.5-1-5051015051015101520253.知某离散 LSI 系统的单位序列响应为 h(n)=3(n-3)+(n-4)+(n-5)+(n-6)(n-7)求输入为 x(n)=(n)时的系统响应。N=16;n=0:N-1;x=exp*n);subplot(2,2,1);stem(n,x);a=1;b=0,0,0,3,;hn=impz(b,a,n);subplot(2,2,2);stem(n,hn)y=conv(x,hn);subplot(2,1,2);stem(y);-5百度文库-好好学习,天天向上10.80.60.40.2005101532100510153210051015202530354.描述某离散LSI系统的差分方程为y(n)=(n-1)+2x(n)-x(n-2),求输入为x(n)=u(n-3)时的系统响应。N=16;n1=3:N+2;f1=zeros(1,3),ones(1,(N-3);subplot(2,2,1);stem(n1,f1);a=1,0,0;b=2,0,-1,0;f2=impz(b,a,n1);subplot(2,2,2);stem(n1,f2);y,ny=convu(f1,n1,f2,n1);subplot(2,1,2);stem(ny,y);定义函数文件调用部分:functiony,ny=convu(f1,n1,f2,n2)nys=n1(1)+n2(1);nyf=n1(end)+n2(end);y=conv(f1,f2);ny=nys:nyf;-6百度文库-好好学习,天天向上10.80.60.40.30.20.40.20051015200.100510152010.80.60.40.20510152025303540二、思考题答案二、思考题答案思考本实验提出的有关 MATLAB函数在调用时应注意哪些问题。调用自定意函数时 按照以下代码在自定义函数的取值不是从0 开始时 就引用一下函数:functiony,ny=convu(h,nh,x,nx)nys=nh(1)+nx(1);nyf=nh(end)+nx(end);y=conv(h,x);ny=nys:nyf;里面的变量要一一对应代码写到 function 的文件里面调用时 convu 与文件命名一致!三、实验小结三、实验小结(1)遇到问题及解决方法注意函数的定义出现问题及时问老师(2)学到的新的函数及其用法由离散时间系统的时域分析方法可知,一个离散 LSI 系统的响应与激励可以用如下框图表示:-7百度文库-好好学习,天天向上xnynDiscrete-timesystme其输入2、用函数 impz 和 dstep 求解离散系统的单位脉冲响应和单位阶跃响应。、输出关系可用以下差分方程描述:ak 0Nkyn k bkxn mk 0M3、用函数 filtic 和 filter 求解离散系统的单位序列响应和单位阶跃响应。4、用 MATLAB 实现线性卷积1)用函数 conv 进行卷积运算:求解两个序列的卷积和,关键在于如何确定卷积结果的时宽区间。MATLAB 提供的求卷积函数 conv 默认两个序列的序号均从n=0 开始,卷积结果 y 对应的序列的序号也从 n=0开始。2)非零起始序列的卷积运算:当两个序列不是从 0 开始时,必须对 conv 函数稍加扩展。由卷积原理可知,若待卷积的两个序列序号分别为x(n);nx=nxs:nxf,h(n);nh=nhs:nhf,则卷积和 y(n)的序号起点和终点分别为:nys=nxs+nhs,nyf=nxf+nhf。据此可定义通用卷积函数 convu:functiony,ny=convu(h,nh,x,nx)nys=nh(1)+nx(1);nyf=nh(end)+nx(end);y=conv(h,x);ny=nys:nyf;3)卷积积分的动态过程5、离散 LSI 系统时域响应的求解:MATLAB提供了多种方法求解离散LSI 系统的响应:1)用 conv 函数进行卷积积分,求任意输入的系统零状态响应;2)用 dlsim 函数求任意输入的系统零状态响应;3)用 filtic 和 filter 函数求任意输入的系统完全响应。-8