tceic.com
学霸学习网 这下你爽了
当前位置:首页 >> 数学 >>

连续时间系统的s域分析及MATLAB实现

第 25 卷 第 2 期 2012 年 6 月

湖南理工学院学报(自然科学版) Journal of Hunan Institute of Science and Technology (Natural Sciences)

Vol.25 No.2 Jun. 2012

连续时间系统的 s 域分析及 MATLAB 实现
张登奇1, 张 璇2
(1. 湖南理工学院 信息与通信工程学院, 湖南 岳阳 414006; 2. 湖南大学 信息科学与工程学院, 长沙 410082) 方 摘 要: 微分方程是描述连续时间系统的数学模型, 求解响应是系统分析的重要内容. 直接求解微分方程概念清楚、 法直观但计算量大, 利用拉普拉斯变换间接求解微分方程是求解响应的有效方法. 文章以拉普拉斯变换为基础, 介绍了 s 域 分析连续时间系统的原理和方法, 列举了 MATLAB 实现的程序. 关键词: 连续时间系统; 拉普拉斯变换; s域分析; MATLAB 中图分类号: TP271. 6; TP391. 75 文献标识码: A 文章编号: 1672-5298(2012)02-0026-04

Analysis of Continuous-time System in s-domain and Realization Based on MATLAB
ZHANG Deng-qi1, ZHANG Xuan2
(1. College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China; 2. College of Information Science & Engineering, Hunan University, Changsha 410082, China) Abstract: Differential equation is a mathematical model to describe the continuous-time systems, solving response is an important content for the system analysis. Direct method for solving differential equations has clear concept, intuitive method but large computation. Using the Laplace transform to solve the differential equation indirectly is an effective way for solving the response. According to the Laplace transform theory, this paper introduces the principles and the methods of analysis Continuous-time System in s-domain, also gives the programs based on MATLAB. Key words: continuous-time system; Laplace transform; s-domain analysis; MATLAB

引言

0

微分方程是描述线性时不变连续时间系统的数学模型 , 求解响应是分析连续时间系统的重要内容 . 直接求解微分方程的齐次解和特解是经典的求解方法, 求得的齐次解与自由响应对应, 特解与强迫响应 对应. 经典法求解微分方程概念清楚、方法直观、便于理解, 但初始条件的计算和求解高阶微分方程都非 常麻烦. 以拉氏变换为数学工具, 把系统输入的时域信号和描述系统的微分方程进行变换, 在 s 域求解系 统响应的象函数, 再将象函数逆变成响应原函数, 这种 s 域分析方法将时域微分方程简化成 s 域代数方程 求解, 且无需计算初始条件, 是分析连续时间系统的有效方法. 该方法也适于计算物理意义明显的零输入 响应和零状态响应, 或瞬态响应和稳态响应. 本文以拉氏变换为基础, 介绍连续时间系统的 s 域分析原理, 分析各种响应象函数的特点, 总结连续时间系统的 s 域分析方法, 用实例说明 s 域分析系统响应的步骤, 并列举出 MATLAB 实现的程序.

1 拉普拉斯变换
拉普拉斯变换是s域分析连续时间系统的数学工具. 如果响应只计算某时刻以后的系统输出, 则可令 该时刻为时间起点 , 将运算繁杂且收敛域必须时时考虑的双边拉氏变换简化成单边拉氏变换进行计算. 单边拉氏变换的积分时间起点是从零开始的 , 积分结果与 t < 0 时的函数值无关 , 逆变换当然只能给出

t > 0 时间段的函数值. 实际问题一般只需计算某一时刻以后的系统输出, 如果将该时刻定义为时间起点,
拉氏逆变换的这种时间局限性并未给其应用带来不便. 关于积分时间起点的选定问题, 一般把时间起点 记为 0 时刻, 其前瞬间记为 0?时刻, 其后瞬间记为 0+时刻, 考虑到积分下限取 0 时刻点时某些函数(如冲激
收稿日期: 2012-03-20 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

第2期

张登奇, 等: 连续时间系统的 s 域分析及 MATLAB 实现

27

函数)的积分值不能确定, 单边拉氏变换的积分下限应避开 0 时刻点. 选 0+时刻作积分下限是可行的[1], 积 分函数的 0+状态往往需重新计算. 若选 0?时刻作积分下限, 由于积分函数的 0?状态一般已知, 可省去 0+状 态计算, 所以单边拉氏变换的积分下限都选 0?时刻. 通常所说的拉氏变换都是指积分下限为 0?的单边拉 氏变换, MATLAB中的laplace积分函数也是如此. 拉氏变换的线性和时域微分定理是s域分析连续时间系 统常用的重要性质, 这里只列出 f (0? ) ≠ 0 时的时域微分定理公式

LT[ f (k ) (t)] = s k F (S ) ? ∑ s k ?1? r f (r ) (0? ) .
r =0

k ?1

2 连续时间系统的 s 域分析
连续时间系统的s域分析, 是以拉氏变换为数学工具, 先将时域微分方程变换成s域代数方程, 再在s 域求解响应的象函数, 最后将响应象函数逆变换成时域原函数, 是一种间接求解系统响应的分析方法[2, 3]. 设描述系统的微分方程一般式为
an y (n) (t) + an ?1 y (n ?1) (t) + " + a1 y′(t) + a0 y(t) = bm x(m) (t) + bm ?1x (m ?1) (t) + " + b1x′(t) + b0 x(t) .

对微分方程两边进行下限为 0? 的单边拉氏变换, 利用拉氏变换的线性和时域微分定理得
an[s nY (s) ? ∑ s n ?1? r y (r) (0? )] + an ?1[s n ?1Y (s) ? ∑ s n ? 2 ? r y (r) (0? )] + " + a1[sY (s) ? y(0? )] + a0Y (s) =
r =0 r =0 n ?1 n?2

bm[s m X (s) ? ∑ s m ?1? r x (r) (0? )] + bm ?1[s m ?1 X (s) ? ∑ s m ? 2? r x (r ) (0? )] + " + b1[sX (s) ? x(0? )] + b0 X (s) .
r =0 r =0

m ?1

m?2

整理成 A(s)Y (s) ? Y0 (s) = B(s) X (s) ? X 0 (s) 形式有
A(s) = an s n + an ?1s n ?1 + " + a1s + a0 , B(s) = bm s m + bm ?1s m ?1 + " + b1s + b0 ,
Y0 (s) = an ∑ s n ?1? r y (r) (0? ) + an ?1∑ s n ? 2 ? r y (r) (0? ) + " + a1 y(0? ) = ∑∑ ak s k ?1? r y (r ) (0? ) ,
r =0 r =0 k =1 r = 0 n ?1 n?2 n k ?1

0

X 0 (s) = bm ∑ s m ?1? r x (r) (0? ) + bm ?1 ∑ s m ? 2 ? r x (r) (0? ) + " + b1 x(0? ) = ∑∑ bk s k ?1? r x (r) (0? ) .
r =0 r =0 k =1 r = 0

m ?1

m?2

m k ?1

可以看出, 由系统的微分方程可直接写出 A(s) 和 B(s) , 系统函数 H (s) =

B(s) , 将系统函数进行拉氏 A(s)

逆变换可得系统的单位冲激响应. 由系统的起始状态可算出 Y0 (s) , 由系统的输入信号可算出 X 0 (s) , 将 系统激励进行拉氏变换可得激励的象函数 X (s) , 求解s域代数方程可得系统响应的象函数

B(s) X (s) ? X 0 (s) + Y0 (s) , A(s) 再对系统响应的象函数进行拉氏逆变换可得系统响应原函数 y ( t ) . Y (s) = 2.1 各种响应的 s 域求解分析
为了便于与经典法的计算结果进行对比分析, 假设系统函数 H (s) 的零极点与激励象函数 X (s) 的零极 点均不相同, 对比分析各种响应可得如下结论[4].

(1) 自由响应: 定义为微分方程的齐次解. 根据经典法可知它与系统函数的极点有关, 将 Y (s) 进行逆
变换时与系统函数的极点对应的那部分响应就是自由响应.

(2) 强迫响应: 定义为微分方程的特解. 根据经典法可知它与激励有关, 由 X (s) 的极点决定, 将 Y (s) 进行逆变换时与 X (s) 的极点对应的那部分响应就是强迫响应. (3) 瞬态响应: 定义为随时间增长而趋于零的响应. 即 Y (s) 的极点中分布在s平面左半部分的极点对 应的响应. (4) 稳态响应: 定义为随时间增长而不消失的响应. 即 Y (s) 的极点中分布在虚轴或s平面右半部分的

28

湖南理工学院学报(自然科学版)

第 25 卷

极点对应的响应.

(5) 零输入响应 : 定义为没有外加激励信号 , 只由系统的起始状态所产生的响应 . 即 Y (s) 表达式中 X (s) 和 X 0 (s) 均为零时的拉氏逆变换. 这里解释一下 X 0 (s) 为什么也要为零. 假设激励信号的起始状态(激
励信号及其各阶导数在 0?时刻的值)不都为零, 在 0 时刻跳变, 在 0 时刻以后都为零. 因激励信号或其各阶 导数在 0 时刻点有跳变, 跳变值有不同的定义[5], 跳变值本身就存在不确定性. 如果微分方程右边还存在 该跳变求导, 则在 0 时刻点方程右边出现冲激, 微分方程右边一定不为零. 零输入响应的定义要求微分方 程右边在 0 时刻点也要为零, 故在计算零输入响应时激励信号的起始状态应为零, 至少也要保证微分方程 右边不出现冲激.

(6) 零状态响应: 定义为系统的起始状态为零, 由外加激励所产生的响应. 即 Y (s) 表达式中 Y0 (s) 为零
时的拉氏逆变换.

2.2 各种响应的s域求解步骤
已知系统的微分方程和激励信号, 根据系统的起始状态, 利用拉氏变换在 s 域求解系统响应的步骤可 归纳如下:

(1) 根据微分方程直接写出 A(s) 、 B(s) 和 H (s) , H (s) 的逆变换即为单位冲激响应; (2) 根据激励信号算出 X (s) , 若激励的 0?状态不为零则还要算出其 0?状态; (3) 根据系统的起始状态和激励的 0?状态算出 Y0 (s) 和 X 0 (s) ; (4) 在s域求解代数方程 A(s)Y (s) ? Y0 (s) = B(s) X (s) ? X 0 (s) 得响应象函数 Y (s) , Y (s) 的逆变换即为系统
响应;

(5) 分析响应象函数的极点来源及在s平面中的位置, 确定自由响应和强迫响应, 或瞬态响应和稳态
响应;

(6) 根据零输入响应和零状态响应的定义, 在s域求解双零响应的象函数; (7) 对双零响应的象函数进行拉氏逆变换, 得系统的零输入响应和零状态响应.

0

3 应用举例
已知系统的微分方程为 y′′′( t ) + 6 y′′( t ) + 11y′( t ) + 6 y( t ) = x′′( t ) + 7 x′( t ) + 8x( t ) , 设激励信号为
x( t ) = ?e 2t u ( ? t ) + 2e?4t u ( t ) ,

起始状态为 y(0? ) = 1, y′(0? ) = 13, y′′(0? ) = ?61 , 试分析计算系统响应. 参考文[6]利用经典法求得系统的完全响应为 y (t ) = 9 2 e ?t + e?2t ? 11e ?3t + 4 e?4t , t > 0 . 3 3 下面介绍利用拉氏变换在 s 域分析系统响应的计算步骤. 根据微分方程直接写出 A(s) = s 3 + 6s 2 + 11s + 6 , B(s) = s 2 + 7s + 8 ; 系统函数的极点为?1, ?2, ?3.

2 ; 激励象函数的极点为?4. s+4 系统的起始状态为 y(0? ) = 1, y′(0? ) = 13, y′′(0? ) = ?61 ; Y0 (s) = s 2 + 19s + 28 .
对激励信号进行拉氏变换得 X (s) = 由 x ( t ) = ?e 2t u (?t) + 2e ?4t u (t ) 得 x′( t ) = ?2e 2t u ( ? t ) ? 8e?4t u ( t ) + 3δ ( t ) . 激励的 0?状态为 x (0? ) = ?1, x′(0? ) = ?2 ; X 0 (s) = ?s ? 9 .
s 3 + 26s 2 + 131s + 164 . s + 10s 3 + 35s 2 + 50s + 24 进行拉氏逆变换得系统响应为 y ( t ) = 9 2 e?t + e?2t ? 11e?3t + 4 e?4t , t > 0 . 3 3 其中与系统函数的极点对应的是自由响应. 与激励象函数的极点对应的是强迫响应. Y (s) 的极点都

对 s 域代数方程求解, 得系统响应的象函数 Y (s) =

4

在 s 平面的左半平面故都是瞬态响应. 零输入响应和零状态响应可按定义参照求解.

第2期

张登奇, 等: 连续时间系统的 s 域分析及 MATLAB 实现

29

上述分析求解过程可借助 MATLAB 的符号运算编程实现. 实现 s 域分析的 m 程序如下: clc;close all;clear;format compact; syms s t %定义符号对象

%给出激励信号、微分方程和起始状态 xt=2*exp(-4*t)*heaviside(t), a=[1, 6, 11, 6], b=[1, 7, 8], %激励信号, 冲激信号直接用 dirac(t) %微分方程系数向量 x0 比 b 少 1

y0=[1, 13, -61], x0=[-1, -2], %起始状态, y0 的数据个数比 a 少 1, As=poly2sym(a, 's'), Bs=poly2sym(b, 's'), %计算 As 和 Bs Hsp=roots(a);disp('系统极点: '), Hsp, %计算系统极点并显示 Xs=laplace(xt), %对激励信号进行拉氏变换 %求 Y0s, 注意系数标号与变量下标的关系 n=length(a)-1;Y0s=0; for k=1:n; for r=0:(k-1);Y0s = Y0s+a(n-k+1)*y0(r+1)*s^(k-1-r); end end Y0s, %显示 Y0s 符号多项式 %求 X0s, 注意系数标号与变量下标的关系 m=length(b)-1;X0s=0; for k=1:m; for r=0:(k-1);X0s = X0s+b(m-k+1)*x0(r+1)*s^(k-1-r); end end X0s, %显示 X0s 符号多项式 %输出计算结果

0

Hs=Bs/As;disp('H(s)='), pretty(Hs), %显示系统函数便读式 ht=ilaplace(Hs);disp('系统冲激响应: '), ht, %计算并显示冲激响应 Ys=(Bs*Xs-X0s+Y0s)/As;disp('Y(s)='), pretty(Ys), %显示响应象函数 yt=ilaplace(Ys);disp('系统全响应: '), yt, %计算并显示全响应 yzit0=ilaplace(Y0s/As);yzit=vpa(yzit0, 4);%求零输入响应 disp('零输入响应: '), yzit, %输出零输入响应 yzst0=ilaplace((Bs*Xs-X0s)/As);yzst=vpa(yzst0, 4);%求零状态响应 disp('零状态响应: '), yzst, %输出零状态响应 %输出结果图示程序 t1=linspace(eps, 5, 100);%在 0+到 5 秒取 100 个时点 ht1=subs(ht, t, t1);%利用置换函数求冲激响应各时点的数值解 subplot(2, 1, 1);plot(t1, ht1), %绘冲激响应 xlabel('时间(秒)'), ylabel('幅度'), grid, title('冲激响应'), %加标签 yt1=subs(yt, t, t1);subplot(2, 1, 2);plot(t1, yt1, 'r-'), %绘全响应 yzit1=subs(yzit, t, t1);hold on;plot(t1, yzit1, 'g:'), %同窗绘零输入响应 yzst1=subs(yzst, t, t1);hold on;plot(t1, yzst1, 'b-. '), %同窗绘零状态响应 legend('全响应', '零输入', '零状态', 0), %加响应图例, 位置自动最佳 xlabel('时间(秒)'), ylabel('幅度'), grid, title('系统响应'), %加标签
实例列出了求解系统响应的手算步骤和机算程序, 程序运行结果略. 值得一提的是利用 ilaplace 函数 算出的时域解析式可能还要进行手工整理.

(下转第 41 页)

第2期

刘喜斌: 关于拉格朗日方程应用中的问题讨论

41

?x = ? c ? ? yc = ?
2 . 故 c2 + y  c2 = 1 l 2θ 所以 vc2 = x 4

l cos θ , 2 l sin θ , 2

; c = ?l sin θ ? θ x 2 .  c = l cosθ ? θ y 2

 2 ? mg l sin θ . L = 1 ml 2θ 6 2

(13)

将(13)式代入拉氏方程, 可得

1 ml 2θ  + 1 mgl cos θ = 0 , 3 2  = ? 3 ? g cos θ , θ 2 l
= θ

(14) (15)

θ ?3g 3g sin θ = (sin θ 0 ? sin θ ) . 2l θ0 2 l

着地时, θ = 0 , 由(14)、(15)式便可得出所求的角速度和角加速度. 参考文献
[1] 周衍柏. 理论力学教程[M]. 北京: 高等教育出版社, 1999 [2] 周培源. 理论力学[M]. 北京: 人民教育出版社, 1953

0
(上接第 29 页)

4 结束语
通过拉氏变换间接求解系统响应的 s 域分析方法, 较直接求解微分方程的经典法而言, 其概念抽象但 运算简单. 本文通过对 s 域分析的原理介绍和应用举例, 介绍了系统响应象函数的极点与各类响应的对应 关系, 澄清了零输入响应和零状态响应的模糊认识, 列出的 s 域分析程序对教学科研也有一定的应用价 值. 参考文献
[1] 郑君里, 应启珩, 杨为理. 信号与系统[M]. 第 2 版. 北京: 高等教育出版社, 2000: 180 [2] 吴大正, 杨林耀, 张永瑞. 信号与线性系统分析[M]. 第 3 版. 北京: 高等教育出版社, 1998: 234 [3] 朱 煜, 赵乐军. 信号与系统分析[M]. 北京: 机械工业出版社, 2005: 192 [4] 岳振军, 贾永兴, 余远德, 等. 信号与系统[M]. 北京: 机械工业出版社, 2008: 164 [5] Charles L. Phillips, Johe M. Parr, Eve A. Riskin. 信号、系统和变换[M]. 第 4 版. 陈从颜, 等, 译. 北京: 机械工业出版社, 2009: 32 [6] 张登奇, 张 璇. 冲激函数匹配法在初始条件计算中的应用[J]. 湖南理工学院学报(自然科学版), 2011, 24(3): 31~34 [7] 吴湘淇. 信号、系统与信号处理(上)[M]. 北京: 电子工业出版社, 2000 [8] 张志勇. 精通 MATLAB6. 5[M]. 北京: 北京航空航天大学出版社, 2003


网站首页 | 网站地图 | 学霸百科
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com