实信号与系统实验报告

  • 格式:doc
  • 大小:150.50 KB
  • 文档页数:14
step(b,a)
y=lsim(sys,f,t);
plot(t,y);
xlabel('Time(sec)')
ylabel('y(t)')
图如下:
(2)用lsim求出该系统的零状态响应的数值解。利用(1)求得的结果,比较不同的抽样间隔对数值解精度的影响。
结果如下:
y =
0
0.0000
0.0002
0.0004
0.0007
k1=floor((t1-t0)/dt);
x2=[zeros(1,k1),ones(1,kt-k1)];
subplot(2,2,3),stairs(t,x2),grid on
axis([-1,10,0,1.1])
2.复指数信号
clear;
t0=0;tf=6;dt=0.05;
t=பைடு நூலகம்t0:dt:tf];
sys=tf([1],[1 5 6]);
t=ts:dt:te;
kt=length(t);k1=floor((t1-ts)/dt);k2=floor((t2-ts)/dt);
x1=[zeros(1,k1),ones(1,kt-k1)];x2=[zeros(1,k2),ones(1,kt-k2)];
f=x1-x2;
3.复指数序列
clear,k0=0;kf=20;ks=3;
k3=k0:kf;x3=exp((-0.2+0.5j)*k3);
subplot(1,2,1),stem(k3,real(x3),'.');line([0,10],[0,0])
xlabel('实部')
subplot(1,2,2),stem(k3,imag(x3),'.');line([0,10],[0,0])
function yt=f2_tri(t)
yt=tripuls(t,4,0.5);
%program微分
h=0.001;t=-3:h:3;
y1=diff(f2_tri(t))*1/h;
plot(t(1:length(t)-1,y1)
title('df(t)/dt')
%program积分
t=-3:0.1:3;
xlabel('虚部')
10.2.3信号基本运算的MATLAB实现
1.信号的尺度变换、翻转、平移(时移)
例10.2-1三角波f(t)如图10.2-9(a)所示,试利用MATLAB画出f(2t)和f(2-2t)的波形。
t=-3:0.001:3;
ft1=tripuls(2*t,4,0.5);
subplot(2,1,1)
clear;t0=-1;tf=10;dt=0.1;t1=input('t1=');
t=[t0:dt:tf];
kt=length(t);
k1=floor((t1-t0)/dt);
x2=[zeros(1,k1),ones(1,kt-k1)];
subplot(2,2,3),stairs(t,x2),grid on
结果如下图
例10.3-2求n阶LTI系统的冲激响应。
a=input('多项式分母系数向量a= ');
b=input('多项式分子系数向量b= ');
[r,p]=residue(b,a),
disp('解析式h(t)=Σr(i)*exp(p(i)*t)')
disp('给出时间数组t=[0:dt:tf]')
axis([-1,10,0,1.1])
(2)f(t)=10e-t-5e-2t,取t=0~8
clear;
t0=0;tf=8;dt=0.05;
t=[t0:dt:tf];
alpha1=-1;alpha2=-2;
x3=10*exp(alpha1*t)-5*exp(alpha2*t);
subplot(2,1,1),plot(t,real(x3)),gridon
程序如下:
t1=-4:0.001:4;
ft1=tripuls(t1-2.5,1,-1);
ft2=tripuls(t1,2,0);
ft3=ft1+ft2;
plot(t1,ft3)
10.3利用MATLAB实现下列离散时间信号:
(1)f[k]=2δ[k-1];
程序如下:
clear,k0=0;kf=10;ks=1;
sys=tf([1],[1 2 77]);
t=ts:dt:te;
f=10*sin(2*pi*t);
y=lsim(sys,f,t);
plot(t,y);
xlabel('Time(sec)')
ylabel('y(t)')
第二部分:习题
10.1利用MATLAB实现下列连续时间信号:
(1)f(t)=ε(t),取t=0~10
多项式分子系数向量b= [8,3,1];
r =
0.3720 + 0.4960i
-0.9000 + 0.2400i
1.5600 - 0.5200i
0.5400 - 0.7200i
-0.0120 - 0.0160i
p =
-5.0000 - 0.0000i
-1.0000 - 2.0000i
-1.0000 - 2.0000i
subplot(1,2,1),stem(k3,x3,'.');line([0,10],[0,0])
xlabel('f[k]')
10.4某系统满足的微分方程为
y’’(t)+5y’(t)+6y(t)=ε(t)-ε(t-1)
(1)求出该系统的零状态响应yf(t).
程序如下:
ts=0;te=5;dt=0.01;t1=0;t2=1;
plot(t,ft1)
title('f(2t)')
ft2=tripuls((2-2*t),4,0.5);
subplot(2,1,2)
plot(t,ft2)
title('f(2-2t)')
例10.2-2三角波f(t)如图10.2-10(a)所示,试利用MATLAB画出df(t)/dt和f(t)对t的积分的波形。
k1=k0:kf;x1=[zeros(1,ks-k0),2,zeros(1,kf-ks)];
subplot(2,2,1),stem(k1,x1,'.');title('单位脉冲序列')
(2)f[k]=ε[k+2]-ε[k-5];
程序如下:
clear,k0=-5;kf=10;ks=-2;ks1=5;
k2=k0:kf;x1=[zeros(1,ks-k0),ones(1,kf-ks+1)];
W=sum(abs(fk).^2)
运行结果为
W =
1.9838e+004
10.3用MATLAB实现系统的时域分析
例10.3-1求以下系统的冲激响应和阶跃响应:
程序如下:
a=[7 4 6];
b=[1 1];
subplot(2,1,1)
impulse(b,a)
subplot(2,1,2)
step(b,a)
for x=1:length(t)
y2(x)=quad('f2_tri',-3,t(x));
end
plot(t,y2) (a)
title('integral of f(t)')
例10.2-3用MATLAB计算指数信号(-1.6)^k*u(k)的能量。
k=0:10;A=1;a=-1.6;
fk=A*a.^k;
信号与系统实验报告
(MATLAB的应用)
班级:10级通信工程一班姓名:李少文学号:1012050102
第一部分:例题
10.2.1连续信号的MATLAB
1.单位阶跃信号
clear;t0=-1;tf=10;dt=0.1;t1=input('t1=');
t=[t0:dt:tf];
kt=length(t);
(1)建立描述该系统的微分方程。
y’’(t)+1.5y’(t)+0.5y(t)=f’(t)
(2)用impulse函数求系统的单位冲激响应。
(3)用step函数求系统的单位阶跃响应。
(2)和(3)结果如下
a=[1 1.5 0.5];
b=[1 0];
subplot(2,1,1)
impulse(b,a)
subplot(2,1,2)
0.0012
0.0016
0.0022
0.0028
0.0035
0.0042
0.0050
0.0059
0.0068
0.0078
0.0088
0.0099
0.0109
0.0121
0.0132
0.0144.....................
10.5在电路中,L=1H,C=1F,R1=1Ω,R2=Ω,f(t)是输入信号,y(t)是输出响应。
(3) f(t)=4e-0.5tcos(πt ),取t=0~10
clear;
t0=0;tf=10;dt=0.05;
t=[t0:dt:tf];
x3=4*exp(-0.5*t).*cos(pi*t);
subplot(2,3,2),plot(t,real(x3)),grid on
10.2用tripuls函数画出题图所示的信号波形.
subplot(2,2,1),stem(k1,x1,'.');title('单位脉冲序列')