7.3.1连续时间系统的时域响应
在Matlab中,提供了用来计算并绘制连续时间LTI系统的单位冲激响应、零输入响应、单位阶跃响应和任意信号作用于系统的零状态响应的函数。
1. 单位冲激响应
求连续LTI系统的单位冲激响应函数impulse的常用格式如下:
impulse(sys);
impulse(sys,t);
impulse(sys,t1:p:t2);
y=impulse(sys,t);
说明:求由系统模型sys表示的LTI系统的冲激响应,参数t表示求0~t时间范围内的冲激响应;参数t1:p:t2表示求t1~t2时间范围内,以时间间隔p均匀取样的冲激响应;函数没有输出变量时,输出响应的时域波形图,有输出参数y表示不输出波形,将求出系统冲激响应的数值解保存在y中。
2. 零输入响应
求连续LTI系统的零输入响应函数initial的常用格式如下:
initial (sys,x0);
initial(sys,x0,t);
initial (sys,x0,t1:p:t2);
y=initial (sys,x0,t);
说明:求由系统的状态空间模型sys表示的LTI系统的零输入响应。参数类似impulse函数。
x0是初始状态。
3. 单位阶跃响应
求连续LTI系统的单位阶跃响应函数step的常用格式如下:
step (sys);
step (sys,t);
step (sys,t1:p:t2);
y=step (sys,t);
说明:计算由系统模型sys表示的LTI系统的单位阶跃响应。
4. 任意输入响应
求连续LTI系统的任意输入响应函数lsim的常用格式如下:
lsim(sys)
lsim(sys,u,t)
lsim(sys,u,t,x0)
y=lsim(sys)
说明:计算由系统模型sys表示的LTI系统的任意输入响应,u为输入。

>> num=[1];
>> den=[1 5 6];
>> impulse(num,den)
程序求得冲激响应如图7-5所示。

图7-5单位冲激响应
7.3.2离散时间系统的时域响应
离散时间系统

1. 单位脉冲响应
求离散时间LTI系统单位脉冲响应函数dimpulse的常用格式如下:
dimpulse(a,b,c,d,iu)
dimpulse(num,den)
dimpulse(a,b,c,d ,iu,n)
dimpulse(num,den,n)
[y,x] = dimpulse(a,b,c,d..)
[y,x] = dimpulse(num,den..)
说明:求由系统的状态空间模型或传递函数模型表示的LTI离散时间系统的单位脉冲响应。输出y是单位冲激响应,x为时间状态历史记录。
2.零输入响应
求离散时间LTI系统零输入响应函数dinitial的常用格式如下:
dinitial (a,b,c,d,x0)
dinitial(a,b,c,d ,x0,n)
[y,x,n] = dinitial (a,b,c,d,x0..)
说明:求由系统的状态空间模型表示的LTI离散时间系统由初始状态x0所引起的输出y和状态响应x。
3. 单位阶跃响应
求离散时间LTI系统单位阶跃响应函数dstep的常用格式如下:
dstep(a,b,c,d,iu)
dstep(num,den)
dstep(a,b,c,d ,iu,n)
dstep(num,den,n)
[y,x] = dstep (a,b,c,d..)
[y,x] = dstep (num,den..)
说明:求由系统的状态空间模型或传递函数模型表示的LTI离散时间系统的单位阶跃响应。
x是时间状态历史记录向量。
4. 任意输入响应
求离散时间LTI系统任意输入响应函数dlsim的常用格式如下:
dlsim(a,b,c,d,u)
dlsim(num,den,u)
dlsim(a,b,c,d ,x0)
[Y,X] = dlsim(a,b,c,d,u)
[Y,X] = dlsim(num,den,u)
说明:求由系统的状态空间模型或传递函数模型表示的LTI离散时间系统的任意输入响应。

a=[-0.55 -0.78;0.78 0];
b=[1;0];
c=[1.96 6.45];
d=[0];
x0=[1;0];
dinitial(a,b,c,d,x0);
程序求得零输入响应如图7-6所示。

图7-6二阶系统零输入响应
5. filter函数
Matlab信号处理工具箱提供的filter函数实现线性常系数差分方程的递推求解。其格式为:
y =filter(b,a,x)
y =filter(b,a,x,zi)
说明:b,a是差分方程的系数向量,x是输入信号向量,zi是等效初始条件的输入序列。
单位脉冲响应
是当输入单位脉冲信号
时系统的输出响应。在数字信号处理中,如果一个离散时间系统是用作对输入信号做滤波处理,离散时间系统又可称为数字滤波器。利用filter函数和单位脉冲信号来获得离散时间的单位脉冲响应。

delta=[1 zeros(1,31)];
b=[1 0.5];
a=[1 -0.5];
h=filter(b,a,delta);
stem(h);

图7-7应用filter求单位脉冲响应