资源描述:
《信号系统分析的matlab实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五讲信号系统分析的MATLAB实现基于MATLAB的离散时间系统分析基于MATLAB的连续时间系统分析一、离散时间信号的表示表示离散序列并将其可视化时:用向量表示,无法用符号运算表示无法表示无限序列绘制图形时,用stem指令X(n)={1,2,-1,3,2,4,-1}>>k=-3:3;f=[1,2,-1,3,2,4,-1];>>stem(k,f),axis([-4,4,-1.5,4.5])单位脉冲序列=1n+n0=0=0其它functiondwxulie(k1,k2,k0)k=k1:k2;n=length(k);f=zeros(1,n);f(1,-k
2、0-k1+1)=1;stem(k,f)axis([k1,k2,0,1.5])title(‘单位序列’)>>dwxulie(-5,5,0)单位阶跃序列functionjyxulie(k1,k2,k0)k=k1:-k0-1kk=-k0:k2;n=length(k);nn=length(kk)u=zeros(1,n);uu=ones(1,nn)stem(kk,uu)holdonstem(k,u)holdofftitle(‘单位阶跃序列’)axis([k1,k2,0,1.5])jyxulie(-3,8,0)二、序列的运算1、信号加数学描述:MATLAB描述:x
3、=x1+x2注意:x1和x2应该具有相同的长度,位置对应,才能相加,否则,需要先通过函数补零后再相加function[f,k]=lsxj(f1,f2,k1,k2)k=min(min(k1),min(k2)):max(max(k1),max(k2));s1=zeros(1,length(k));s2=s1;s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;f=s1+s2;stem(k,f,’filled’)axis([(min(min(k
4、1),min(k2))-1),(max(max(k1),max(k2))+1),(min(f)-0.5),(max(f)+0.5)])例:有两离散序列,用MATLAB绘出它们的波形及f1(k)+f2(k).解:>>f1=-2:2;>>k1=-2:2;f2=[1,1,1];k2=-1:1;stem(k1,f1),axis([-3,3,-2.5,2.5])f1(k)={-2,-1,0,1,2}f2(k)={1,1,1}stem(k2,f2),axis([-3,3,-2.5,2.5])[f,k]=lsxj(f1,f2,k1,k2)f=-20122k=-2-1
5、0122、离散序列的卷积MATLAB实现0<=k<=2其它k=1其它f1=ones(1,3);f2=0:3;f=conv(f1,f2)运行结果:f=013653function[f,k]=deconv(f1,f2,k1,k2)f=conv(f1,f2)k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2;k=k0:k0+k3subplot(2,2,1)stem(k1,f1)title('f1(k)')subplot(2,2,2)stem(k2,f2)title('f2(k)')suplot(2,2,3)stem(k,f)>
6、>f1=[1,1,1];k1=0:2;>>f2=[1,2,3];k2=1:3;>>[f,k]=deconv(f1,f2,k1,k2)f=13653k=12345三、差分方程filtery=filter(b,a,x)a(1)*y(n)=b(1)*x(n)+b(2)*x(n-1)+...+b(nb+1)*x(n-nb)-a(2)*y(n-1)-...-a(na+1)*y(n-na)例:y(n)-y(n-1)+0.9y(n-2)=x(n)a.计算并画出n=-20,……,100的脉冲响应b.计算并画出n=-20…,100的单位阶跃响应c.这个系统是稳定的吗?>
7、>b=[1];a=[1,-1,0.9];>>s=dwxulie(-20,120,0);n=[-20:120];>>s=dwxulie(-20,120,0);n=[-20:120];>>h=filter(b,a,s);>>subplot(2,1,1);stem(n,h);>>title('impulseresponse');xlabel('n');ylabel('h(n)')单位阶跃响应>>x=jyxulie(-20,120,0);>>s=filter(b,a,x);>>subplot(2,1,2);stem(n,s)>>title('steprespo
8、nse');xlabel('n');ylabel('s(n)')四、Z变换Z反变换residu