多语言展示
当前在线:1185今日阅读:75今日分享:44

MATLAB如何实现连续时间系统的时域分析?

MATLAB教学视频:MATLAB实现连续时间系统的时域分析,视频时长约70分钟,通过具体的系统分析案例,详细地讲解了连续系统的三种时域分析方法:系统微分方程求解法,基于传递函数的lsim求解方法,基于冲激响应的卷积积分求解法。视频的最后,还对各种方法进行了总结和展望。
工具/原料
1

MATLAB

2

信号处理工具箱

MATLAB教学视频:MATLAB实现连续时间系统的时域分析
1

教学内容1. 研究对象2. 连续时间系统的数学描述3. MATLAB实现连续时间系统的时域分析4. 典型的二阶连续时间系统5. LCR 电路的响应分析5.1 dsolve 解微分方程求系统的响应5.2 利用传递函数求解系统的零状态响应5.3 利用卷积积分求解系统的零状态响应6. 总结与展望

2

研究对象本课程研究在确定性输入信号(激励信号) 的作用下,连续时间线性时不变系统(Linear Time‐Invariant System, 缩写为LTI System)对输入信号的响应(系统的输出)。线性时不变系统具有以下的基本特性:1. 叠加性与均匀性2. 时不变特性3. 微分特性4. 因果性

3

连续时间系统的数学描述:微分方程1. 对于连续时间LTI 系统,激励信号 (excitation) e(t) 与系统响应 (response) r(t) 之间的关系,可用线性常系数常微分方程表示2. 零输入响应 (zero‐input response, zir)2.1 激励信号 e(t) = 0 (零输入激励)2.2 完全由起始状态r(k)(0) 所产生的响应3. 零状态响应 (zero‐state response, zsr)3.1 系统的起始状态为零:r (k)(0) = 03.2 只由激励信号e(t) 所产生的响应

4

连续时间系统的数学描述:拉氏变换1. 如前所述,连续时间 LTI 系统的微分方程为2. 根据拉氏变换的性质,当初始条件为零时,则有3. 在零初始条件下 (r (k)(0) = 0 ,r(t) 为系统的零状态响应),对系统的微分方程两边取拉氏变换,则有

5

连续时间系统的数学描述:传递函数和时域卷积1. 连续时间 LTI 系统的传递函数 H(s) 由系统微分方程的系数所确定2. 根据系统的时域分析,并借助卷积定理,系统的激励 e(t),零状态响应 r(t)和冲激响应 h(t),以及它们的拉氏变换 E(s) R(s) H(s) 满足以下关系3. 根据系统传递函数的定义,可知:冲激响应h(t) 与传递函数H(s) 构成一个拉氏变换对,即

6

MATLAB 实现连续时间系统的时域分析1. dsolve 函数求解系统的微分方程,得到系统的零输入/零状态/全响应2. 基于系统的传递函数 H(s),使用函数 lsim,得到系统的零状态响应3. 基于系统的冲激响应 h(t),借助卷积函数 conv,得到系统的零状态响应

7

典型的二阶连续时间系统:机械位移系统 & LCR 电路系统1. 根据牛顿第二定律F = ma,可得振动系统的位移微分方程2. 基于 KCL 和 KVL 原理,可得二阶电路系统的电容两端电压微分方程3. 机械位移系统与LCR 电路虽然是不同性质的系统,但是对比两者的系统微分方程,它们具有完全一致的数学描述。因此,以上两个系统的分析方法,完全一致。

8

LCR 电路的响应分析1. 已知LCR 电路的基本参数2. 初始条件3. 激励电压4. 求解电容两端电压4.1 零输入响应4.2 零状态响应4.3 全响应

9

LCR 电路的响应分析:dsolve 求解微分方程1. 求解系统的微分方程,即可求得电容两端电压2. 将电路的参数代入系统的微分方程3. 在 MATLAB 信号分析中,习惯上将输出响应用 y(t) 表示,激励用 u(t) 表示

10

dsolve 求解微分方程的局限性1. 零状态响应:令初始条件为 0,激励2. 返回的yzs_s 异常复杂,并且含有隐格式的积分项,无法使用时间t 对其赋值,求解宣告失败3. 针对dsolve 求解失败的系统微分方程3.1 求微分方程的数值解:ode45, ode23 等专用函数3.2 使用lsim 求解系统的响应

11

利用传递函数求解零状态响应1. 从系统微分方程到系统的传递函数2. MATLAB 生成系统的传递函数

12

利用传递函数求解 LCR 电路的零状态响应1. 根据系统的微分方程,使用 MATLAB 里的 tf 函数得到系统的传递函数2. 调用 MATLAB 里的 lsim 求解系统的零状态响应2.1 传递函数是基于系统的零状态响应推导而来,因此,基于传递函数求得的系统响应,为系统的零状态响应y = lsim(sys,u,t)sys: 系统的模型(传递函数)u: 激励信号u(t)t: 采样时间点

13

利用卷积积分求解零状态响应1. 系统的冲激响应 h(t) 与激励信号 e(t) 的卷积结果为系统的零状态响应2. MATLAB 求解步骤2.1 定义系统的传递函数:sys = tf(num, den)2.2 计算系统的冲激响应 h(t):h = impulse(sys,t)2.3 计算卷积积分

14

MATLAB 连续信号卷积积分的计算1. MATLAB 里的conv 函数是针对于离散序列的卷积和,求解连续信号的卷积积分,可以借助于conv 函数,但是需要做一些相应的变换。设连续函数f1(t) 和f2(t) 的采样时间间隔均为ΔT,则有2. 卷积结果f(t) 对应的采样时间向量f1(t) 的采样时间向量:t1f2(t) 的采样时间向量:t2f(t) 的采样时间向量:tt = t1(1) + t2(1) : ΔT : t1(end) + t2(end)卷积积分f 的采样值:f = conv(f1 , f2) x ΔT

15

总结与展望1. 基于 dsolve 求解系统微分方程1.1 直观,可以一次性求解出系统的全响应1.2 对于复杂的激励信号,无法求解,此时可采用数值方法求解(ode45, ode23)2. 基于传递函数 H(s) 的 lsim 求解2.1 求解简单,操作方便,但只能求解零状态响应2.2 lsim 本身功能非常强大,可以基于系统的状态空间模型(state‐space model),求解系统的在任意输入下的响应3. 基于卷积积分的求解3.1 求解简单,操作方便,物理意义明确,但只能求解零状态响应3.2 当系统传递函数未知时,只要知道系统的冲激响应h(t),即可求系统在激励信号下的零状态响应

注意事项
1

使用MATLAB做信号处理,学好信号与系统等专业课,是头等大事

2

需要理解不同的求解方法,背后所支撑的数学原理

3

一个问题,可能有多种方法求解,应该使用更开阔的视野看问题

推荐信息