实验一:常用信号的时域分析与MATLAB实现实验内容:1、用MATLAB实现常用连续时间信号,如抽样信号、阶跃信号、冲激信号、正弦信号、单边指数信号、复指数信号。2、用MATLAB实现常用离散时间信号,如阶跃序列、单位序列、正弦序列、单边实指数序列、虚指数序列、复指数序列。3、用MATLAB编程实现连续信号变换。如:1、设信号,用MATLAB求f(t2),f(t2),f(t),f(2t),f(t),并绘出其时域波形。2、已知如图所示信号,信号求:(1)(2)(3)(4)tf1(t)044附:参考程序一、常用连续时间信号1、抽样信号t=-10:1:10;f=sin(t)./t;plot(t,f);title('f(t)=Sa(t)');xlabel('t');axis([-10,10,-0.4,1.1]);t=-10:0.02:10;f=sin(t)./t;plot(t,f);title('f(t)=Sa(t)');xlabel('t');axis([-10,10,-0.4,1.1]);2、阶跃信号functionjieyao(t1,t2,t0)t=t1:0.01:-t0;%t0时刻前时间样本向量tt=-t0:0.01:t2;%t0时刻后时间样本向量n=length(t);%t0前时间样本点向量长度nn=length(tt)%t0后样本点向量长度u=zeros(1,n);%t0前各样本点信号值赋值为零uu=ones(1,nn);%t0后各样本点信号值赋值为一plot(tt,uu)%绘出t0时刻后波形holdon%允许在同一坐标系中添加图形plot(t,u)%绘出t0时刻前波形plot([-t0,-t0],[0,1])%添加直线holdoff%关闭添加命令title('单位阶跃信号')%图形标题axis([t1,t2,-0.2,1.5])%限制坐标范围jieyue(-1,4,0)%实现画图f(t)=u(t+3)-2u(t)f=sym('heaviside(t+3)-2*heaviside(t)')ezplot(f,[-5,4]),holdon,plot([0,0],[-1,1]),axis([-5,4,-1.1,1.1]),holdoff3、冲激信号functionchongji(t1,t2,t0)dt=0.01;t=t1:dt:t2;n=length(t);%时间样本点的向量长度x=zeros(1,n);%各样本点信号值赋为零x(1,(-t0-t1)/dt+1)=1/dt;%在时间t=-t0处,给样本点赋值为1/dtstairs(t,x);axis([t1,t2,0,1.2/dt])title('单位冲激信号d(t)')chongji(-1,5,0)4、正弦信号f=sym('3*sin((w)*t)')f1=subs(f,'w','pi/2')ezplot(f1,[0,4*pi])f2=subs(f,'w','pi')ezplot(f2,[0,4*pi])f3=subs(f,'w','3*pi/2')ezplot(f3,[0,4*pi])5、单边指数信号t=0:0.05:3;f=exp(-1.5*t);plot(t,f)axis([0,3,0,1.2])title('单边指数信号')text(3.1,0.05,'t')f=sym('exp(a*t)')f1=subs(f,'a','-1')ezplot(f1,[-2,2])f2=subs(f,'a','1')ezplot(f2,[-2,2])f3=subs(f,'a','0')ezplot(f3,[-2,2])6、虚指数信号下面是用MATLAB绘制虚指数信号的实用子函数:functionxzsu(w,n1,n2,a)%n1:绘制波形的起始时间%n1:绘制波形的终止时间%w:虚指数信号角频率%a:虚指数信号的幅度t=n1:0.01:n2;X=a*exp(i*w*t);Xr=real(X);Xi=imag(X);Xa=abs(X);Xn=angle(X);subplot(2,2,1),plot(t,Xr),axis([n1,n2,-(max(Xa)+0.5),max(Xa)+0.5]),title('实部');subplot(2,2,3),plot(t,Xi),axis([n1,n2,-(max(Xa)+0.5),max(Xa)+0.5]),title('虚部');subplot(2,2,2),plot(t,Xa),axis([n1,n2,0,max(Xa)+1]),title('模');subplot(2,2,4),plot(t,Xn),axis([n1,n2,-(max(Xn)+1),max(Xn)+1]),title('相角');xzsu(pi/4,0,15,2)7、复指数信号t=0:0.01:3a=-1;b=10;z=exp((a+i*b)*t)subplot(2,2,1),plot(t,real(z)),title('实部')subplot(2,2,3),plot(t,imag(z)),title('虚部')subplot(2,2,2),plot(t,abs(z)),title('模')subplot(2,2,4),plot(t,angle(z)),title('相角')二、常用离散时间信号1、离散时间信号functiondwxulie(k1,k2,k0)k=k1:k2;n=length(k);f=zeros(1,n);f(1,-k0-k1+1)=1;%在k0时刻,信号赋值为一stem(k,f,'filled')axis([k1,k2,0,1.5])title('单位序列d(k)')dwxulie(-5,5,0)2、单位阶跃信号functionjyxulie(k1,k2,k0)k=k1:-k0-1;kk=-k0:k2;n=length(k);nn=length(kk)u=zeros(1,n);%k0前信号赋值为零uu=ones(1,nn);%k0后信号赋值为一stem(kk,uu,'filled')holdonstem(k,u,'filled')holdofftitle('单位阶跃序列')axis([k1k201.5])jyxulie(-3,8,0)3、正弦序列k=0:40;subplot(2,1,1)stem(k,cos(k*pi/8),'filled')title('cos(k*pi/8)')subplot(2,1,2)stem(k,cos(2*k),'filled')title('cos(2*k)')4、离散时间实指数序列functiondszsu(c,a,k1,k2)%c:指数序...