连续时间信号和系统时域分析及MATLAB实现 下载本文

Matlab应用实践课程设计

实现程序如下: p=0.1; k1=0:p:2; f1=0.5*k1; k2=k1; f2=f1;

[f,k]=sconv(f1,f2,k1,k2,p) 例二:

图6.2 例二

实现程序如下: p=0.1; k1=0:p:2;

f1=rectpuls(k1-1,length(k1)); k2=k1; f2=f1;

[f,k]=sconv(f1,f2,k1,k2,p)

16

Matlab应用实践课程设计

7连续时间系统的冲激响应、阶跃响应的仿真波形

对于连续时间系统,求解系统的冲激响应h(t)和阶跃响应g(t)对我们进行连续系统的分析具有非常重要的意义。MATLAB为用户提供了专门用于求连续系统冲激响应和阶跃响应并绘制其时域波形的函数impulse()和step()。

在调用impulse()和step()函数时,我们需要用向量来对连续时间系统进行分析。 设描述连续系统的微分方程为:

(i)

iy(t)=

jx(j)

(t)

则我们可用向量A和B来表示该系统,即:

A=[AN,AN-1,……A1,A0] B=[BN,BN-1,……B1,B0]

注意,向量A和B的元素一定要以微分方程中时间求导的降幂次序来排列,且缺项要用0来补齐。例如,对微分方程对应向量应为A=[1 3 2],B=[1 0 1]。

,则表示该系统的

7.1 impulse()函数

函数impulse()将绘出由向量 a 和 b 表示的连续系统在指定时间范围内的冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。

impulse()函数有如下四种调用格式:

(1)impulse(b,a):该调用格式以默认方式绘出向量 A和B定义的连续系统的冲激响应的时域波形 。例如描述连续系统的微分方程为

运行如下 MATLAB 命令: a=[1 5 6]; b=[3 2]; impulse(b,a);

则绘出系统的冲激响应波形,如图7.1.1所示。

17

Matlab应用实践课程设计

图7.1.1连续系统的冲激响应1

(2)impulse(b,a,t):绘出系统在 0~t 时间范围内冲激响应的时域波形。对上例,若运行命令 impulse(b,a,10),则绘出系统在 0~10秒范围内冲激响应的时域波形,如图7.1.2所示.

图7.1.2 连续系统的冲激响应2

(3)impulse(b,a,t1:p:t2):绘出在 t1~t2 时间范围内,且以时间间隔 p均匀取样的冲激响应波形。对上例,若运行命令 impulse(b,a,1:0.1:2),则绘出 1~2秒内,每隔0.1秒取样的冲激响应的时域波形,如图 7.1.3所示。

(4)y=impulse(b,a,t1:p:t2):不绘出波形,而是求出系统冲激响应的数值解。对上例,若运行命令 y=impulse(b,a,0:0.2:2),则运行结果为:

y =3.0000 1.1604 0.3110 -0.0477 -0.1726 -0.1928 -0.1716 -0.1383 -0.1054 -0.0777 -0.0559

18

Matlab应用实践课程设计

图7.1.3 连续系统的冲激响应3

7.2 step()函数

step()函数可绘出连续系统的阶跃响应 g(t)在指定时间范围的时域波形并能求出其数值解,和impulse()函数一样也有四种调用格式。

(1)step(b,a):该调用格式以默认方式绘出向量 A和B定义的连续系统的阶跃响应的时域波形 。例如描述连续系统的微分方程为

运行如下 MATLAB 命令: a=[1 5 6]; b=[3 2]; step(b,a);

则绘出系统的阶跃响应波形,如图7.2.1所示。

图7.2.1 连续系统的阶跃响应1

19