Simulink中构造时变传递函数的四种方法

1. 原****由
传递函数是针对线性时不变(linear time-invariant,lti)系统定义的,严格来说,时变传递函数的说法并不十分严谨。但 “时变”和“非线性”才是实际系统的本质特性,就拿最简单的rc电路来说,电阻会随温度变化,电容也会随使用时间发生变化,rc参数的变化就会造成传递函数的时变。对于已经建好的传递函数,需要分析参数时变的影响时,或者已经建好的某种控制算法,需要验证对于参数时变的适应能力时,应该如何处理呢?
这时,由线性时不变系统传递函数推广得到的时变传递函数是一个不错的选择。
2. 方法
2.1 方法一:通过微分方程实现时变传递函数
传递函数由微分方程通过拉普拉斯(laplace)变换得到,已知传递函数形式后,可以反推出微分方程,再在simulink中利用基本模块搭建模型。
如某时变二阶系统,其传递函数为:
其中,k(t),a(t),b(t)为时变参数。
传递函数反推出微分方程为:
上述微分方程在simulink中容易搭建:
更方便的是,matlab 2017b之后在控制系统工具箱(control system toolbox)中推出了时变传递函数模块(varying transfer function),可供用户直接选用。
simulink自带的这个时变传递函数模块(varying transfer function)就是使用的微分方程方法实现的。
2.2 方法二:通过状态空间实现时变传递函数
传递函数还可以转变为状态空间形式,如上述二阶系统可转变为可控标准型状态空间:
通过上述状态空间形式也可在simulink中方便的实现时变传递函数。同样,matlab 2017b之后在控制系统工具箱(control system toolbox)中推出了时变状态空间模块(varying state space),可供用户直接选用。
2.3 方法三:通过s函数实现时变传递函数
核心思路与方法二相同,即:传递函数转变为状态空间(可选可控标准型和可观标准型),通过传递函数系数重构状态空间矩阵,通过状态空间实现时变传递函数。
在matlab 2017b版本中推出线性时变系统表达方式之前,笔者早年使用level-2 s函数开发时变传递函数模块,可供matlab 2017b版本以前的用户使用 ,也可供需要学习level-2 s函数使用方法的用户参考。
2.4 方法四:通过dcp模块实现时变传递函数
simulink中的传递函数模块(transfer fcn)的分子系数(numerator coefficients)和分母系数(denominator coefficients)都支持在线调整,即在仿真过程中可通过set_param函数来在线调整传递函数的分子分母系数,由此实现时变传递函数。
笔者开发的dcp模块可实现各类模块在线更新参数的需求,通过dcp模块可方便的实现时变传递函数。
3. 演示
二阶时变传递函数:
参数时变规律为:
四种方法的simulink模型:
阶跃响应仿真结果:
正弦响应仿真结果:
分析仿真结果 :
其主要原因为四种建模方式不同,模型中的记忆环节(如积分环节、状态量)选取不同,记忆环节与输出之间的映射关系也不同,因此某些参数变化体现在记忆环节之前的输入参数中,有些参数变化体现在记忆环节之后的输出参数中,由此造成突变瞬间动态过程的响应差别,但进入稳态后的响应是相同的。应用中需要根据实际系统的特点灵活选择实现方式。

荣耀V9、荣耀9、华为P10和坚果pro四款高颜值机你入手了哪款?
华为WLAN: 不仅仅是接入
深入研究数据科学家使用的常见统计和分析技术
2017-2021年,全球电缆连接器市场年复合增率有望超过6%
对比,LCD和LED的背光原理有什么区别?
Simulink中构造时变传递函数的四种方法
快速接线模块有什么作用如何提高系统安全
保障隧道施工安全的智能化管理系统
在大多数公司中,多达20%的工作可能是基于AI的工作
墨菲定律和设计“非数据手册”的风险
承德科胜扒糕灌装机|香辣酱灌装机|河北灌装机
物联网智能硬件持续走热 阿里布局创业平台
嵌入式存储产品有什么特点
高通的野心不止手机!高通骁龙835除了PC竟然还有这些
耳机参数逐个数(选耳机必读)
罗德与施瓦茨布局完整的5G车联网测试方案
麒麟信安的一云多芯信创云桌面解决方案
Implandata推出用于青光眼远程护理的生物传感器Eyemate-SC获准上市
对于核酸系统架构的一些思考
24V转12V转换器电路图讲解