tceic.com

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

Vol.25 No.2 Jun. 2012

(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

1 拉普拉斯变换

t > 0 时间段的函数值. 实际问题一般只需计算某一时刻以后的系统输出, 如果将该时刻定义为时间起点,

27

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

k ?1

2 连续时间系统的 s 域分析

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) .

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) = 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

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

B(s) X (s) ? X 0 (s) + Y0 (s) , A(s) 再对系统响应的象函数进行拉氏逆变换可得系统响应原函数 y ( t ) . Y (s) = 2.1 各种响应的 s 域求解分析

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

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

28

(5) 零输入响应 : 定义为没有外加激励信号 , 只由系统的起始状态所产生的响应 . 即 Y (s) 表达式中 X (s) 和 X 0 (s) 均为零时的拉氏逆变换. 这里解释一下 X 0 (s) 为什么也要为零. 假设激励信号的起始状态(激

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

2.2 各种响应的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 应用举例

x( t ) = ?e 2t u ( ? t ) + 2e?4t u ( t ) ,

2 ; 激励象函数的极点为?4. s+4 系统的起始状态为 y(0? ) = 1, y′(0? ) = 13, y′′(0? ) = ?61 ; Y0 (s) = s 2 + 19s + 28 .

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) 的极点都

4

29

%给出激励信号、微分方程和起始状态 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('系统响应'), %加标签

(下转第 41 页)

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)

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

[1] 周衍柏. 理论力学教程[M]. 北京: 高等教育出版社, 1999 [2] 周培源. 理论力学[M]. 北京: 人民教育出版社, 1953

0
(上接第 29 页)

4 结束语

[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