实验八--离散LTI系统.doc_第1页
实验八--离散LTI系统.doc_第2页
实验八--离散LTI系统.doc_第3页
实验八--离散LTI系统.doc_第4页
实验八--离散LTI系统.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信号与系统实验报告实验八 离散LTI系统8.1 MATLAB函数conv1已知如下有限长序列 用解析法计算。答:通过将序列x表示成1 1 1 1 1 1,利用对位相乘求和,求出卷积结果为1 2 3 4 5 6 5 4 3 2 1其中6为y(0)对应的元素。2利用conv计算的非零样本值,并将这些样本存入向量y中。第一步应定义包含在区间内的样本的向量x,同时应构造向量ny,ny(i)包含存在向量y中的的n个元素样本的序号,也即。例如ny(1)应包含。利用stem(ny,y) 画出所得结果。clc;x=1 1 1 1 1 1;N=length(x);ny=0:10;y=conv(x,x);stem(ny,y); 3已知如下有限长序列 先用解析法计算。然后用conv计算y,用stem画出这一结果。如果将看作一个LTI系统的单位冲激响应,是该系统的输入,是该系统的输出。clc;for i=0:5 x(i+1)=1;h(i+1)=i;endn=length(x);ny=0:10;y=conv(x,h);stem(ny,y);4将与在3中导出的信号比较,结果怎样?答:因为h不同,经过了时移且序列长度增加了,因此卷积后的结果也不一样,由于卷积后序列长度等于被卷积的两序列长度之和减去1,比在3中导出的信号要长,且每个元素值不一样。5利用conv计算,利用stem画出。clc;h=0 0 0 0 0 1 2 3 4 5;x=1 1 1 1 1 1;y=conv(x,h)len=length(y);ny=0:10; stem(ny,y);grid on;8.2 MATLAB函数filter基本题1求解由差分方程表征的系统,当输入信号时,在区间内的响应。clc;x=1 2 3 4;a=2; b=1 -0.8;y=filter(a,b,x)2已知和,利用filter求。并与conv计算结果相比较。clc;x=1 1 1 1 1 1;h=0 1 2 3 4 5;b=1;y=filter(h,b,x)filter求出的卷积是conv函数截短的结果,截短的长度根据输入长度和冲激相应的长度而定,由filter求出的卷积序列长度跟输入序列长度相等。3考虑冲激响应,利用filter计算,并用stem画出所得结果。clc;a=1;h=0 0 0 0 0 1 2 3 4 5;x=1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0;y=filter(h,a,x);len=length(y);for i=1:len ny(i)=i-6;endstem(ny,y);8.3 离散时间LTI系统的性质基本题1已知信号 定义代表区间内的的MATLAB向量x1,以及代表在区间内的和的MATLAB向量h1和h2。同时,定义nx1和nx2为这些信号合适的标号向量。利用stem画出这些信号并作适当标注。clc;x1=1 1 1 1 1 0 0 0 0 0;h1=1 -1 3 1 0;h2=2 5 4 -1 0;for i=1:length(x1) nx1(i)=i-1;endfor i=1:length(h1) nx2(i)=i-1;endsubplot(311)stem(nx1,x1);title(x1)subplot(312)stem(nx2,h1);title(h1)subplot(313)stem(nx2,h2);title(h2)2交换律意味着具有单位冲激响应的LTI系统,在输入为时所得到输出与单位冲激响应为,在输入为时所得的输出是一样的,利用conv以及x1和h1验证这一性质。conv的输出是与卷积次序无关吗?clc;x1=1 1 1 1 1 0 0 0 0 0;h1=1 -1 3 1 0;y1=conv(x1,h1)y2=conv(h1,x1) 通过以上结果可知,conv的输出是与卷积次序无关的,验证了卷积的交换律这一性质3卷积具有分配律性质,这意味着,两个并联系统的输出与单位冲激响应是该并联系统单位冲激响应之和的系统的输出是相同的。利用x1,h1和h2验证分配率性质。当输入为时,用单位冲激响应为和计算LTI系统的输出的和。将结果与输入为,单位冲激响应为的LTI系统的输出进行比较。clc;x1=1 1 1 1 1 0 0 0 0 0;h1=1 -1 3 1 0;h2=2 5 4 -1 0;y1=conv(x1,h1);y2=conv(x1,h2);y=y1+y2 yy=conv(x1,h1+h2)由上面数据可知,先分别求卷积,然后求和得出的结果,跟先求冲激响应求和在卷积得出的结果一模一样,因此验证了分配律。4卷积具有结合律性质,这意味着用LTI系统的级联处理一个信号所得的结果等效于一个系统来处理,该系统的单位冲激响应应是全部级联系统中单个冲激响应的卷积。用x1,h1和h2验证结合律性质。clc;x1=1 1 1 1 1 0 0 0 0 0;h1=1 -1 3 1 0;h2=2 5 4 -1 0;y1=conv(x1,h1);y2=conv(h1,h2);y=conv(y1,h2) yy=conv(x1,y2)从上面的运行结果可知,先x1与h1卷积,所得中间结果再与h2卷积的最终结果,与先h1与h2卷积,再x1与所得中间结果卷积得到的最终结果一模一样,验证了卷积的交换律这一性质。中等题5假定系统有单位冲激响应为和,这里是一个整数,令和是这两个系统当输入为时的输出。利用交换律性质证明:如果每个系统的输入与单位冲激响应互换的话,输出是相同的。并基于时不变性质证明。利用MATLAB确认当,输入为。证明:卷积的交换律为x1(n)*x2(n)=x2(n)*x1(n)。设系统的单位冲激相应为h(n),输入为x(n),输出y1(n)= x(n)*h(n);如果每个系统的输入与单位冲激响应互换,即:系统的单位冲激相应变为x(n),输入变为h(n),则输出变为y2(n)=h(n)*x(n)。由于x(n)*h(n)= h(n)*x(n),故y1(n)= y2(n),输出是相同的。由于,卷积后相当于一种加权求和,不会改变其时移特性,ye2(n)= x(n)*he2(n)= y1(n)= x(n)*he1(n-n0)=ye1(n-n0)。clc;x1=1 1 1 1 1 0 0 0 0 0;h1=1 -1 3 1 0;h2=0 0 1 -1 3 1 0;y1=conv(x1,h1)y2=conv(x1,h2)从上面运行结果可知,y2是y1右移连个单位左补0得到。6考虑以级联联接的两个系统,分别称系统1和系统2。假设系统1是无记忆的,且其输入/输出关系为;系统2是LTI系统,其单位冲激响应为,当输入为时研究这两个系统的级联是否满足结合律性质。若先经过系统1在经过系统2,则最终输出为(n+1)x1(n)*h1(n);若先经过系统2在经过系统1,则最终输出为(n+1)x1(n)*h1(n)。运用MATLAB程序验证如下。clc;x1=1 1 1 1 1 0 0 0 0 0;h1=1 -1 3 1 0;for n=0:9 y1(n+1)=(n+1)*x1(n+1);end y=conv(y1,h1);y2=conv(x1,h1);for n=0:length(y2)-1 yy(n+1)=(n+1)*y2(n+1);end因为交换系统级联次序后,系统输出不相同,因此这两个系统的级联不满足结合律性质7考虑系统1和系统2的并联性质。系统1是一个无记忆系统,其输入/输出关系为表征;系统2是LTI系统,其单位冲激响应为,当输入为时研究这两个系统的并联是否满足分配律性质。clear;clc;x=2 0 0;h1=1 -1 3 1 0;h= 1 0 0 0 0 ; for n=0:length(x)-1 y1(n+1)=x(n+1)2;end y2=conv(x,h1);for n=length(x)-1:length(y2) y1(n+1)=0;end for n=0:length(y2)-1 y(n+1)=y1(n+1)+y2(n+1);endfor n=0:length(h)-1 h2(n+1)=h(n+1)+h1(n+1);end yy=conv(x,h2) 由上面结果可知,两次输出结果不同,因此这两系统的并联不满足分配律。8.4线性和时不变性基本题考虑如下3个系统: 系统1: 系统2: 系统3: 其中是每个系统的输入,和是相应的输出。function y=w(x)len=length(x);for i=1:len if i=1,y(i)=x(i); else if i=2,y(i)=x(i)+x(i-1); else y(i)=x(i)+x(i-1)+x(i-2); end endendfunction y1=y(x)len=length(x);for i=1:len y1(i)=cos(x(i);endfunction y1=z(x)len=length(x);for i=1:len y1(i)=i*x(i);end1.考虑3个输入,和。对系统1,将对这3个输入的响应存入w1,w2和w3中,向量w1,w2和w3仅需包含在区间内的值。利用subplot和stem在一张图上画出w1,w2,w3和w12w2代表的4种函数的图。对系统2和3也作出类似的图。各功能函数:clc;x1=1 0 0 0 0 0;x2=0 1 0 0 0 0;x3=1 2 0 0 0 0;w1=w(x1) %调用函数w求值w2=w(x2)w3=w(x3)for n=1:length(x1),ny(n)=n-1;endsubplot(221);stem(ny,w1);grid on;legend(w1);subplot(222);stem(ny,w2);grid on;legend(w2);subplot(223);stem(ny,w3);grid on;legend(w3);subplot(224);stem(ny,w1+2*w2);grid on;legend(w1+2*w2);若要得到系统2和3的图形,只需要将调用的函数分别改为y和z即可2陈述一下是否每个系统都是线性的。若是线性的,说明理由;若不是,利用1中画出的各信号给出一个反例。系统1和系统3时线性的,因为这两个系统的输入曾大a倍式,ww(n)=a*x(n)- a*x(n-1)- a*x(n-2)=a*( x(n)-x(n-1)-x(n-2) )=a*w(n),因此1线性;zz(n)=n*(a*x(n)=a*(n*x(n) )=a*z(n),因此系统3线性。而对于系统2,比较y3与y1+2*y2图形,二者图形并不相同,因此非线性。3概述一下是否每个系统都是时不变的。若是,说明理由;若不是,利用1中画出的各信号给出一个反例。系统1是是不变的,系统2、3是时变的。对于系统1,输入延迟一个单位,由于变换中不含n的显示函数且不含尺度变换,因此输出也相应延迟一个单位。对系统2和系统3,比较y1、y2和z1、y2可得y2、z2不是y1、z1相应延迟一个单位,因此这两个系统是时变的。中等题 在这个练习中,要求用单位冲激响应计算一个LTI系统的阶跃响应。有下列先行差分方程定义的两个因果系统: 系统1: 系统2: 这里每个系统都满足初始松弛条件。定义和是系统1和系统2的单位冲激响应。功能函数定义:function y=h1(x)len=length(x);for i=1:len if i=1,y(i)=x(i); else y(i)=x(i)-3*y(i-1)/5; endendfunction y=h2(x)len=length(x);for i=1:len if i=1,y(i)=x(i); else y(i)=x(i)-(3/5)i)*y(i-1); endend4在区间内计算和,并将它们存入h1和h2中,利用stem画出每个响应。clc;x=1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;h1=h1(x)h2=h2(x)ny=ny(20);%构造向量ny的函数subplot(211),stem(ny,h1);grid on;legend(h1);subplot(212),stem(ny,h2);grid on;legend(h2);5对每个系统,计算在区间内的单位阶跃响应,并将它们存入s1和s2中,利用stem画出每个响应。clc;x=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;s1=h1(x)s2=h2(x)ny=ny(20);%构造向量ny的函数subplot(211),stem(ny,s1);grid on;legend(s1);subplot(212),stem(ny,s2);grid on;legend(s2);6从实际的角度看,和在都为零。因此h1和h2包含了每个系统单位冲激响应的全部信息。定义和,其中是单位阶跃函数。利用conv计算在区间内的和,并将结果存入z1和z2中。首先须定义一个含有适当区间上的的向量,然后选取由conv(h1,u)和conv(h2,u)产生的一段代表在区间上的样本。因为 已经将两个无限长序列截断了,所以只有conv输出的一部分含有真是的序列值。clc;x=1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;u=1 1 1 1 1 ;h1=h1(x);h2=h2(x);z11=conv(h1,u);z22=conv(h2,u);z1=z11(1:20)z2=z22(1:20)7在同一坐标内画出s1和z1。如果这两个NQU信号完全一样,说明为什么本来就能估计到这一相似性。否则说明两者差异之所在。在不同的坐标轴内画出s2和z2,再次解释为何本就可以预期到两个信号之间任何差异或相似性。clc;x=1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;u=1 1 1 1 1 ;h=h1(x);z11=conv(h,u);z1=z11(1:20)x1=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;s1=h1(x1);ny=ny(20);subplot(211);stem(ny,z1);grid on;title(z1);subplot(212);stem(ny,s1);grid on;title(s1);两个序列变化趋势相同,并且序列前面几个元素相同。因为求卷积时,被卷积的序列是截断的,因此后面求出的值是不同了,但是变化趋势却没有改变。8.5非因果有限冲激响应滤波器 在本练习中将学习如何实现单位冲激响应具有有限个非零样本的一类因果LTI系统。这些LTI系统的输入和输出是由下列差分方程所关联: (8.3)基本题1求输入输出满足(8.3)式的LTI系统的单位冲激响应。如果系统不是因果的,对N1的值应该怎样?答:满足(8.3)式的LTI系统的单位冲激响应为bn,若系统非因果,则N1必须小于0.2假设一LTI系统其单位冲激响应仅在内为非零,将它与一个仅在内为非零的信号卷积,该系统的输出也一定是有限长的,设其非零区间为。求用N1到N4来表示N5和N6。答:利用卷积后序列长度等于两被卷积的序列长度之和减去1,可得:N6=N2+N4, N5=N1+N3。3令为如下有限长信号 为一非因果系统的单位冲激响应 定义MATLAB向量x和h代表这些信号,用stem画出这些信号。clc;x=1 5 2 4 -2 2;for i=-3:3h(i+4)=1-abs(i)/3end;nx=0:5;nh=-3:3;subplot(211);stem(nx,x);grid on;legend(x);subplot(212);stem(nh,h);grid on;legend(h);4利用conv和在上面定义的向量计算LTI系统的输出。定义向量y代表这个输出。利用stem画出这个输出。clc;x=1 5 2 4 -2 2;for i=-3:3,h(i+4)=1-abs(i)/3,end;y=conv(x,h)ny=-3:length(y)-4;stem(ny,y);grid on;title(输出y);8.6离散时间卷积目的 学习求解离散卷积和。相关知识 离散卷积的表达式可以形象化地看作是:将序列地时间轴反转并将它移位个样本,然后将移位后地乘以并在轴上将所得到的乘积序列相加。信号可以看成是由延时和加权脉冲的线性叠加所构成,因为一个LTI系统能用它对单个脉冲的响应来表示,那么一个LTI系统的输出就应该相应于系统对构成的每一个延时和加权脉冲的响应的叠加。在数学上,这个结果就是卷积和。基本题1因为MATLAB函数conv没有保持卷积序列的时间序号之间的关系,所以还不得不要做额外的事以确定conv结果的正确序号。对序列和,构成向量h和x,定义并计算y=conv(h,x),对y确定合适的时间序号,并将这组时间序号存入向量ny中,利用stem(ny,y)画出。clc;h=2 0 -2;nh=-1 0 1;x=1 0 1;nx=0 1 2;y=conv(x,h);ny= nh(1)+nx(1): nh(1)+nx(1)+length(y)-1;stem(ny,y);grid on;title(x与h的卷积);axis(-2 4 -2.5 2.5)2考虑两个有限长序列和用MATLAB向量h和x表示,其相应的时间序号由nh=a:b和nx=c:d给出。调用y=conv(h,x)将会在向量y中得到的正确序列值,但是必须要确定对应的一组时间标号向量ny。为了帮助构造向量ny,现考虑序列和,用解析法求卷积。根据所得结果,确定利用a,b,c和d表示的ny应该是什么。为了验证结果,证实当时,的长度是M+N-1。答:由解析法及卷积的定义可知,ny=a+c:b+d。当时,ny=0:M+N-2,因此的长度是M+N-1。3考虑由下式给出的输入和单位冲激响应 如果想用conv计算,就必须处理和的无限长问题。将的的值存入向量x,将的的值存入向量h中,再将调用函数conv(h,x)的结果存入向量y中。因为已经将和截断了,要论证conv的输出只有一部分是真实的。试标明在输出中哪些值是真实的,哪些值不是真实的。求参数的值,以使得nx=a:b和nh=c:d,并由2的答案构成y的正确时间序号。利用stem画出并指出中哪些值是真实的,哪些值不真实。clc;for i=0:24, if i2,x(i+1)=0; else x(i+1)=(1/2)i; endendnx=0:24;for i=0:14,h(i+1)=1;endnh=0:14;y=conv(h,x)ny=nx(1)+nh(1):nx(1)+nh(1)+length(y)-1;stem(ny,y);grid on;title(y);ny的值在0到14范围内,卷积的结果是正确的,其它的值都不是真实的。参数的值a=0,b=24,c=0,d=14;ny=0:38。中等题 对于这些练习将研究一种称之为块卷积的方法,这一方法经常用于音乐或语音处理系统的数字滤波器的事实实现中,因为这是希望有较短的处理延时。这一方法特别在用一个相对较短的滤波器处理一个很长的输入序列时最为有用。将输入序列分成一些很短的段,其中每一段都能用相当少的延时单独进行处理。卷积的线性特性能保证所有各段的输出叠加就等于整个序列与滤波器单位冲激响应的卷积。 例如:假设有限长单位冲激响应的滤波器仅在内为非零,输入序列的长度比P大很多。现将分成长度为L的一些段,式中,且 4对于和,直接利用conv计算内的,并用stem画出。clc;for i=0:99 x(i+1)=cos(i2)*sin(2*pi*i/5); if i10,h(i+1)=0.9i; else h(i+1)=0; endendy=conv(h,x);ny=0:99;stem(ny,y(1:100);grid on;title(y);5设,现将分成两个序列。计算和,这里和分别是的前50个和后50个样本。输出的形式给出。求出合适的值并注意和都是长度为。当和相加在一起时,一般一定有一个两者都不为零的区域。正是这个原因,这种块卷积的方法称为重叠相加法。用这种方法计算,并画出内的,所得结果与4求得的一样吗?clc;for i=0:99 x(i+1)=cos(i2)*sin(2*pi*i/5); if i10,h(i+1)=0.9i; else h(i+1)=0; endendx0=x(1:50);x1=x(51:100);y0=conv(h,x0)y1=conv(h,x1)k=99;for i=1:50y(i)=y0(i);end for i=51:149y(i)=y0(i)+y1(i+49-k);end for i=150:199y(i)=y1(i+49-145);endny=0:99;stem(ny,y(1:100);grid on;title(块卷积);答:卷积的相关性质可知,若用块卷积y0与y1的长度为149,而直接卷积序列长度为199,由于(149+149)-199=99,可得重叠部分长度为99,即k=99。y0与y1没有重叠的部分为(199-99)/2=50,即y0序列前50个元素与y1序列后50个元素没有重叠。在写代码过程中注意MATLAB中数组下标从1开始。通过比较直接卷积与块卷积图形,可看出两个图形一模一样,即两种方法求出结果相同。深入题6写出一个MATLAB函数来完成重叠相加的快卷积。这个函数应当以单位冲激响应h,数据向量x和分段长度作为输入,而且该函数应容许数据向量x是任意长,分段长度L是比滤波器长度大的任意整数。函数的第一行应读出function y=oafilt(h,x,L)利用这个函数做5,并用这个结果与利用conv直接卷积所得结果进行比较,从而证实这个函数运行无误。function y=oafilt(h,x,L);N=length(x);Nh=length(h);yu=mod(N,L);bu=L-yu;P=(N+bu)/L;for i=1:if i load lineup.mat将数据装进MATLAB中去。一旦数据装入MATLAB,语音波形就存入变量y中。因为这段语音是用采样率8192Hz录制的,所以键入 sound(y,8192)就能听到语音,应该听到词组“line up”并有回声。由向量y表示的具有形式为 (2.4)其中是未被污染的语音信号,它被延时N个样本且在幅度上减小倍后又反过来加到上去。这对于像从一面墙那样的吸收反射回来的信号所形成的回声来说,是一个合理的模型。 本练习都用回声的眼是指N=1000,回声衰减。基本题1本练习用线性滤波消除回声。因为回声可用(2.4)式的线性系统表示,试求并画出(2.4)式回声系统的单位冲激响应,并将它在内的值存入向量he中。clc;load lineup.matsound(y,8192)impz(y);grid on;title(单位冲激响应);he=y(1:1001) 听到比较浑浊的声音,回音很重并且比较长。2考虑由下面差分方程描述的回声消除系统 (2.5)式中是输入,式回声消除的输出。根据导出关联和的总差分方程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论