f(n?)?k?????f?1(k?)f2(n??k?)?
???f1(k?)f2[(n?k)?]k???所以,可以用离散卷积和CONV()求连续卷积,只需?足够小以及在卷积和的基础上乘以?。
3、 连续卷积坐标的确定:
设f1(t)非零值坐标范围:t1~t2,间隔P f2(t)非零值坐标范围:tt1~tt2,间隔P
s(t)?f1(t)*f2(t)非零值坐标:t1+tt1~t2+tt2+1
4、 系统的响应: 设微分方程:
?ayii?0N(i)(t)??bjf(j)(t)
j?0Ma?[aNb?[bMaN?1bM?1aN?2bM?2??a1b1a0]b0] 均为降幂顺序。
则:1)、冲激响应为:impulse(b,a) impulse(b,a,t) impulse(b,a,t1:p:t2) y=impulse( ) 2)、阶跃响应为:step( )
3)、零状态响应:lism(b,a,x,t) 三.实验内容
1、 完成f1(t)与f2(t)两函数的卷积运算 其中:f1(t)?e?2tu(t),f2(t)?u(t)?u(t?4)在一个图形窗口中,画出f1(t)、
f2(t)以及卷积结果。要求每个坐标系有标题、坐标轴名称。
2、 若系统模型为:
y(t)?4y(t)?4y(t)?f(t)?3f(t) 其中 f(t)?eu(t)
11
''''?t
求零状态响应,画出波形(函数本身画出一幅图,自己再画出一幅输入波形图)。
四、实验程序 p=0.01; k1=0:p:10; f1=exp(-2*k1); k2=0:p:4;
f2=ones(1,length(k2)); [f,k]=sconv(f1,f2,k1,k2,p); function [f,k]=sconv(f1,f2,k1,k2,p) f=conv(f1,f2); f=f*p;
k0=k1(1)+k2(1);
k3=length(f1)+length(f2)-2; k=k0:p:k3*p; subplot(2,2,1) plot(k1,f1); subplot(2,2,2) plot(k2,f2); subplot(2,2,3) plot(k,f);
12
实验四 连续系统的冲激响应
一.实验目的
1. 加深理解连续系统的冲激响应过程及原理。
2. 掌握用MATLAB对连续系统的冲激响应进行仿真,观测响应波形。 3. 学会用MATLAB求解连续系统冲激响应及阶跃响应。 4. 初步学会利用SIMULINK的仿真。
二.实验原理
0?冲激函数是一种特殊的函数, 它的值在t≠0处均为零, 且有 0_??(t)dt?1, 因此以冲
激函数作为输入, 可以看成电路在t=0_到0+的时间区间内受到了激励, 从而使储能元件得到能量. 在t=0+以后, δ(t)为零, 此时电路中得电压、电流相当于零输入响应。
一个LTI系统,当其初始状态为零时,输入为单位电位冲激函数δ(t)所引起的响应称为单位冲激响应,简称冲激响应,用h(t)表示。如图2-1所示:
13
δ(t) LTI系统 h(t)
2-1 冲激响应示意图
对LTI系统,设输入信号为f(t),冲激响应为h(t),零状态响应为y(t),则有:
y(t)=f(t)*h(t)
即h(t)属于连续系统的固有特性,与系统的输入无关。只要知道了系统的冲激响应,即可求得系统在不同输入时产生的输出。可见,求解系统的冲激响应对连续系统的分析具有非常重要的意义。
MATLAB中的impulse专门用于求连续系统的冲激响应。
三.实验内容
用以下两种方法来观测连续系统的冲激响应。
a. 用MATLAB编程来实现
1. 用向量对连续系统进行表示。设连续系统的微分方程为:
?ay(t)??biii?0j?0NMjfj(t)
则需用如下向量a和b来表示该系统进行MATLAB运算:
a?[aN,aN?1,...,a1,a0]b?[bM,bM?1,...,b1,b0]'''
例如:2y(t)?7y(t)?3y(t)?f(t)对应的a,b向量应为a=[2 7 3];b=[1];
而方程y''(t)?3y'(t)?2y(t)?f''(t)?f(t)的a,b向量应为a=[1 3 2];b=[1 0 1]; 2. 以impulse(b,a,t)形式调用MATLAB函数求解系统。通过不同的参数t绘制出不同
时间范围内的波形。 3. 观察分析响应波形。
4. 时间充裕可调用step(b,a,t)对阶跃响应进行仿真观测。 参考程序如下: %Function chongji() { a=[2 7 3]; b=[1]; t=10;
14
impulse(b,a,t) }
b. 用simulink来实现
1. 打开MATLAB应用程序,然后在命令窗口输入simulink,回车;
2. 打开FILE 菜单的NEW子菜单下的MODEL 如图并保存命名,在此记做exm 在simulink中commonly used blocks模块下查找 scope,拖入exm; 在simulink中source模块下查找 step,拖入exm;
在simulink中continuous模块下查找deravitive 和integrator(两个) 分别拖入exm 在simulink中math operator 模块下查找 add 和gain (两个) 分别拖入exm 然后用线条连接成下图的形式
15