0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

冬至子 来源:Matlab Fans 作者:Matlab Fans 2023-07-20 18:21 次阅读

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模型:

图片

阶跃响应仿真结果:

图片

正弦响应仿真结果:

图片

分析仿真结果

其主要原因为四种建模方式不同,模型中的记忆环节(如积分环节、状态量)选取不同,记忆环节与输出之间的映射关系也不同,因此某些参数变化体现在记忆环节之前的输入参数中,有些参数变化体现在记忆环节之后的输出参数中,由此造成突变瞬间动态过程的响应差别,但进入稳态后的响应是相同的。应用中需要根据实际系统的特点灵活选择实现方式。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    6526

    浏览量

    110416
  • 仿真器
    +关注

    关注

    14

    文章

    1016

    浏览量

    83615
  • 状态机
    +关注

    关注

    2

    文章

    492

    浏览量

    27466
  • DCP
    DCP
    +关注

    关注

    0

    文章

    30

    浏览量

    17207
  • simulink仿真
    +关注

    关注

    0

    文章

    75

    浏览量

    8554
收藏 人收藏

    评论

    相关推荐

    开环传递函数是怎样影响系统的?

    我们可以看到在负反馈系统,“扰动-输出”闭环传递函数和“给定-输出”闭环传递函数中都包含开环传递函数T(s)这一因子,因而我们可以通过分析开环传递
    的头像 发表于 07-11 14:41 3626次阅读
    开环<b class='flag-5'>传递函数</b>是怎样影响系统的?

    传递函数和控制Block(上)

    传递函数是经典控制理论中最常用和最重要的数学模型,用传递函数方块将控制系统全部变量联系起来,描述各环节之间的信号传递关系的图形,我们称为系统传递函数方块图。
    的头像 发表于 11-17 15:59 1110次阅读
    <b class='flag-5'>传递函数</b>和控制Block(上)

    传递函数前言

    共通的平台下把不同的特性函数化。在这里,记住以下两点推进话题。1. 传递函数的导出过程是以数学方法为基本传递函数导出过程,使用状态平均法、
    发表于 11-28 14:38

    模拟电路传递函数的快速列写方法

    学习模拟电路,最初学习的是线性时不变电路,在电路分析和模拟电路,经常要列写出给定电路的传递函数,而传统两最基本的方法--节点法与网孔法,虽然万能但并不实用,电路稍微复杂一点就要进行
    发表于 04-20 19:35

    基于Butterworth标准传递函数设计

    本文首先给出了Butterworth 标准传递函数,然后提出了一设计状态反馈系统的方法,该方法包括:利用线性变换将能控系统化为能控标准形,使能控标准形系统的闭环
    发表于 06-11 09:45 18次下载

    传递函数零点的解决方案

    传递函数有开环传递函数和闭环传递函数,同样,零点有开环零点和闭环零点。 他们有什么不同,又各自起到什
    发表于 12-24 12:05 4387次阅读
    <b class='flag-5'>传递函数</b><b class='flag-5'>中</b>零点的解决方案

    传递函数的时域辨识

    传递函数的时域辨识
    发表于 10-26 09:30 0次下载

    传递函数的频域辨识

    传递函数的频域辨识
    发表于 10-26 09:23 0次下载

    四种方法实现LED点亮

    四种方法实现LED点亮程序分享
    发表于 12-28 10:03 3次下载

    传递函数的频率特性

    传递函数的频率特性:这里通过“传递函数的频率特性”来考虑传递函数。和前项的“基尔霍夫定律和阻抗”的解说有密切的关系所以希望合在一起阅读。首先,请看图6。电阻和电容器组成简单的闭合电路
    的头像 发表于 02-24 09:51 2613次阅读
    <b class='flag-5'>传递函数</b>的频率特性

    各转换器的传递函数-开关的导通电阻对传递函数的影响

    上一篇和上上篇介绍了“升降压转换器的传递函数导出示例”的其1和其2。本文将探讨“开关的导通电阻对传递函数的影响”。
    的头像 发表于 02-24 09:51 928次阅读
    各转换器的<b class='flag-5'>传递函数</b>-开关的导通电阻对<b class='flag-5'>传递函数</b>的影响

    如何用两不同的方法列写双容水槽传递函数

    如何用两不同的方法列写双容水槽传递函数
    的头像 发表于 03-10 16:20 3659次阅读
    如何用两<b class='flag-5'>种</b>不同的<b class='flag-5'>方法</b>列写双容水槽<b class='flag-5'>传递函数</b>

    传递函数的极点和零点有何影响?

    之前提出了两标准方法来为一阶RC低通滤波器制定s域传递函数。简要回顾一些基本概念:传递函数在数学上表示滤波器的频域输入到输出行为;
    的头像 发表于 09-19 15:30 1871次阅读
    <b class='flag-5'>传递函数</b><b class='flag-5'>中</b>的极点和零点有何影响?

    如何建立传递函数

    传递函数是一描述系统动态行为的数学模型,用于分析和设计复杂系统的行为。在实际应用,建立传递函数对于控制工程、机械工程、电子工程等领域都具有重要的意义。
    的头像 发表于 09-28 16:29 1638次阅读
    如何建立<b class='flag-5'>传递函数</b>?

    传递函数的定义是什么 传递函数的拉氏反变换是什么响应

    传递函数的定义: 传递函数是一数学工具,用于描述线性时不变系统(LTI系统)的输入与输出之间的关系,通常用H(s)表示。传递函数是Laplace变换的
    的头像 发表于 02-01 10:53 3710次阅读