华工信号与系统实验五信工7班

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五 连续系统分析

一、实验目的

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

二、 实验原理

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

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

。 已知输入信号x (t )以及系统初始状态,就可以求出系统的

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

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

在MATLAB 中可使用向量和向量分别保存分母多项式和分子多项式的系数:

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

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

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

)()( )()(01)1(1)(t y a t y a t y a t y a n n n n ++++-- )()( )()(01)1(1)(t x b t x b t x b t x b m m m m ++++=-- )0(,),0('),0()

1(---

-

n y

y y 0

11

10

111)()()(a s a s a s a b s b s b s b s X s Y s H n n n n m m m m ++++++++==---- ],,,,[011a a a a a n n -=],,,,[011b b b b b m m -=

h=impulse(sys, t): 计算并画出系统在向量t 定义的区间上的冲激响应,向量h 保存对应区间的系统冲激响应的输出值。

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

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

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

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

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

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

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

设,且H (s )的极点pi 全部为单极点,则:

系统函数H (s )的极点pi 决定了冲激响应h (t )的基本形式,而零点和极点共同确定了冲激响应h (t )的幅值。

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

],,,,[011a a a a a n n -=],,,,[011b b b b b m m -=],,,,[011a a a a a n n -=],,,,[011b b b b b m m -=)

)...()(())...()(()()

()(2121n m p s p s p s z s z s z s k s D s N s H ------==

n m ≤∑=-=n

i i i p s k s H 1)()()(1

t u e k t h t

p n

i i i ∑==i k

3.连续系统的频率响应

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

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

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

三、实验内容

1. 已知描述连续系统的微分方程为

,输入,初始状态,计算该系统的响应,并与理论结果比较,列出系统响应分析的步骤。

①源代码 a=[1 10]; b=[2];

[A B C D]=tf2ss(b,a); sys=ss(A,B,C,D); t=0:0.001:5; xt=t>0; sta=[1];

y=lsim(sys,xt,t,sta); subplot(3,1,1); plot(t,y); xlabel('t');

title('系统完全响应y(t)'); subplot(3,1,2); plot(t,y,'-b');

)(j j e )j ()()j (ωϕωωωH s H H s ===)(2)(10d )

(d t x t y t

t y =+)()(t u t x =1)0(=-y

hold on

yt=4/5*exp(-10*t)+1/5;

plot(t,yt,':r');

legend('数值计算','理论计算'); hold off

xlabel('t');

subplot(3,1,3);

k=y'-yt;

plot(t,k);

k(1)

title('误差');

②运行结果

相关文档
最新文档