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

作者:彼岸花开 | 创建时间: 2023-05-16
MATLAB教学视频:MATLAB实现连续时间系统的时域分析,视频时长约70分钟,通过具体的系统分析案例,详细地讲解了连续系统的三种时域分析方法:系统微分方程求解法,基于传递函数的lsim求解方法,基于冲激响应的卷积积分求解法。视频的最后,...
MATLAB如何实现连续时间系统的时域分析?

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

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

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

连续时间系统的数学描述:微分方程 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) = 0 3.2 只由激励信号e(t) 所产生的响应

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

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

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

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

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

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

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

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

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

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

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

总结与展望 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),即可求系统在激励信号下的零状态响应

温馨提示

使用MATLAB做信号处理,学好信号与系统等专业课,是头等大事
需要理解不同的求解方法,背后所支撑的数学原理
一个问题,可能有多种方法求解,应该使用更开阔的视野看问题
点击展开全文

更多推荐