实验5(答案) 下载本文

内容发布更新时间 : 2024/7/1 15:06:55星期一 下面是文章的全部内容请认真阅读。

实验五 连续系统分析

一、实验目的

1.深刻理解连续时间系统的系统函数在分析连续系统的时域特性、频域特性及稳定性中的重要作用及意义,掌握根据系统函数的零极点设计简单的滤波器的方法。

2.掌握利用MATLAB分析连续系统的时域响应、频响特性和零极点的基本方法。

二、实验原理及内容

MATLAB提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。 1. 连续系统的时域响应

连续时间LTI系统可用如下的线性常系数微分方程来描述:

any(n)(t)?an?1y(n?1)(t)???a1y (t)?a0y(t)?bmx(m)(t)?bm?1x(m?1)(t)???b1x (t)?b0x(t)

已知输入信号x(t)以及系统初始状态y(0?),y'(0?),?,y(n?1)(0?),就可以求出系统的响应。

MATLAB提供了微分方程的数值计算的函数,可以计算上述n阶微分方程描述的连续系统的响应,包括系统的单位冲激响应、单位阶跃响应、零输入响应、零状态响应和完全响应。

在调用MATLAB函数时,需要利用连续系统对应的系数函数。对微分方程进行Laplace变换即可得系统函数:

Y(s)bmsm?bm?1sm?1???b1s?b0 H(s)??X(s)ansn?an?1sn?1???a1s?a0在MATLAB中可使用向量和向量分别保存分母多项式和分子多项式的系数:

a?[an,an?1,?,a1,a0] b?[bm,bm?1,?,b1,b0]

这些系数均按s的降幂直至s0排列。

● 连续系统的单位冲激响应h(t)的计算

impulse(sys)计算并画出系统的冲激响应。 参数:sys可由函数tf(b,a)获得。其中:

a?[an,an?1,?,a1,a0] b?[bm,bm?1,?,b1,b0]

h=impulse(sys, t) 计算出系统在向量t定义的区间上的冲激响应, 向

量h保存对应区间的系统冲激响应的输出值。

● 连续系统的单位阶跃响应g(t)的计算

step(sys)计算并画出系统的阶跃响应。

1

参数:sys可由函数tf(b,a)获得。其中:

a?[an,an?1,?,a1,a0] b?[bm,bm?1,?,b1,b0]

g=step(sys, t) 计算出系统在向量t定义的区间上的阶跃响应,向量g保存对应区间的系统阶跃响应的输出值。

y\(t)?5y' (t)?6y(t)?2x' (t)?8x(t),计算该系统已知描述某连续系统的微分方程:

的单位冲激响应h(t)和阶跃响应g(t)。t=(0:0.1:10)

程序如下

subplot(2,1,1); t=0:0.1:10; a=[1,5,6]; b=[2,8]; sys=tf(b,a);

h=impulse(sys,t); plot(h);

subplot(2,1,2); sys=tf(b,a); g=step(sys,t); plot(g);

程序运行结果如图

● 连续系统的零状态响应y(t)的计算

lsim(sys, x, t) 计算并画出系统的零状态响应。 参数: sys可由函数tf(b,a)获得 x为输入信号

t为定义的时间向量。

已知描述某连续系统的微分方程:y\(t)?5y' (t)?6y(t)?2x' (t)?8x(t),计算在输入x(t)?e?tu(t)为时系统的零状态响应。t=(0:10/300:10)

2

程序如下

t=0:10/300:10; a=[1,5,6]; b=[2,8]; sys=tf(b,a); x=exp(-t)

y=lsim(sys,x,t); plot(t,y);

程序运行结果如图:

2.连续系统的系统函数零极点分析

连续LTI系统的系统函数H(s)可以表示为部分分式形式:

H(s)?(s?z1)(s?z2)...(s?zm)N(s) ?kD(s)(s?p1)(s?p2)...(s?pn)设m?n,且H(s)的极点pi全部为单极点,则:

nki h(t)??kiepitu(t) H(s)??i?1i?1s?pin系统函数H(s)的极点pi决定了冲激响应h(t)的基本形式,而零点和极点共同

确定了冲激响应h(t)的幅值ki。

MATLAB中提供了roots函数计算系统的零极点,提供了pzmap函数绘制连续系统的零极点分布图。

其中:a?[an,an?1,?,a1,a0] b?[bm,bm?1,?,b1,b0]

roots(b):求b的特征根;

roots(a):求a的特征根

pzmap(sys): sys可由函数tf(b,a)获得

2s2?3s?1已知某连续系统的系统函数为:H(s)?3 计算其零极点,画

s?2s2?2s?1出分布图。

3

程序如下

b=[2,3,1]; a=[1,2,2,1]; roots(b); roots(a); sys=tf(b,a); pzmap(sys);

程序运行结果如图:

3.连续系统的频率响应

若连续因果LTI连续系统的系统函数H(s)的极点全部位于S左半平面,则系统的频率响应可由H(s)求出,即

H(j?)?H(s)s?j??H(j?)ej?(?)

MATLAB中freqs函数可以分析连续系统的频响,格式如下:

H=freqs(b,a,w): 计算系统在指定频率点向量w上的频响H;w为频率点向量。 [H,w]=freqs(b,a) :自动选取200个频率点计算频率响应。

其中:a?[an,an?1,?,a1,a0] b?[bm,bm?1,?,b1,b0]

已知某连续系统的系统函数为:H(s)?1,分析系统的幅频特性。 2(s?1)(s?s?1)[H,w]=freqs(b,a); %自动选取若干个频率点计算频率响应 plot(w,abs(H)); %绘制频率响应图 xlabel('Frequency(rad/s)'); %x坐标的频率 ylabel('Amplitude'); %y坐标的振幅 title('Magnitude response'); %频率响应的标题 程序运行结果如图:

4

5