MATLAB 控制系统设计与仿真 - 27

状态空间的标准型

传递函数和状态空间可以相互转换,接下来会举例如何有传递函数转成状态空间标准型。

对角标准型

当 G(s)=\frac{B(s)}{A(s)}=\frac{b_2s^2+b_1s+b_0}{s^3+a_2s^2+a_1s+a_0} 

G(s)可以写成:

G(S)=\frac{k_1}{s-p_1}+\frac{k_1}{s-p_2}+\frac{k_3}{s-p_3}, p_1\neq p_2\neq p_3

即:

根据上图可知:

A=\begin{bmatrix} p_1 & 0 & 0\\ 0& p_2 & 0\\ 0 & 0 & p_3 \end{bmatrix} , B=\begin{bmatrix} 1\\ 1\\ 1 \end{bmatrix} , C=\begin{bmatrix} k_1 &k_2 &k_3 \end{bmatrix} , D=0

约当标准型

当 G(s)=\frac{B(s)}{A(s)}=\frac{b_2s^2+b_1s+b_0}{s^3+a_2s^2+a_1s+a_0}

G(s)可以写成:

G(s)=\frac{k_1}{s-p_1}+\frac{k_2}{(s-p_m)^2}+\frac{k_3}{s-p_m}

即:

根据上图可知:

A=\begin{bmatrix} p_1 & 0 & 0\\ 0& p_m & 1\\ 0 & 0 & p_m \end{bmatrix} , B=\begin{bmatrix} 1\\ 0\\ 1 \end{bmatrix} , C=\begin{bmatrix} k_1 &k_2 &k_3 \end{bmatrix} , D=0

能控标准型

当传递函数:Y(s)=\frac{1}{s^3+a_2s^2+a_1s+a_0}U(s)时,

Y(s)(s^3+a_2s^2+a_1s+a_0)=U(s)

\dddot{y}+a_2\ddot{y}+a_1\dot{y}+y=u\\ y=-\dddot{y}-a_2\ddot{y}-a_1\dot{y}+u

如果:x_1=y,x_2=\dot{x_1}=\dot{y},x_3=\dot{x_2}=\ddot{y}

\begin{bmatrix} \dot{x_1}\\ \dot{x_2}\\ \dot{x_3}\end{bmatrix}=\begin{bmatrix} 0 & 1 & 0\\ 0& 0 & 1\\ -a_0& -a_1 & -a_2 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}+\begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix}u

y=\begin{bmatrix} 1 &0 & 0 \end{bmatrix}\begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}

如果传递函数是一般形式如下:

Y(s)=\frac{b_2s^2+b_1s+b_0}{s^3+a_2s^2+a_1s+a_0}U(s),我们可以分解如下:

第一部分我们可以得到

\widetilde{y}=x_1

所以第二部分为:

y=b_2 \ddot{x_1} +b_1 \dot{x_1}+b_0=\begin{bmatrix} b_0 &b_1 &b_2 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}

所以

\begin{bmatrix} \dot{x_1}\\ \dot{x_2}\\ \dot{x_3}\end{bmatrix}=\begin{bmatrix} 0 & 1 & 0\\ 0& 0 & 1\\ -a_0& -a_1 & -a_2 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}+\begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix}u

y=\begin{bmatrix} b_0 &b_1 &b_2 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}

其方框图可表示为:

能观标准型

如果Y(s)=\frac{b_2s^2+b_1s+b_0}{s^3+a_2s^2+a_1s+a_0}U(s),分子分母同时除以s^3可以得到

(1+a_2\frac{1}{s}+a_1\frac{1}{s^2}+a_0\frac{1}{s^3})Y(s)=(b_2\frac{1}{s}+b_1\frac{1}{s^2}+b_0\frac{1}{s^3})U(s)

因此:

Y(s)=-a_2\frac{1}{s}Y(s)-a_1\frac{1}{s^2}Y(s)-a_0\frac{1}{s^3}Y(s)+b_2\frac{1}{s}U(s)+b_1\frac{1}{s^2}U(s)+b_0\frac{1}{s^3}U(s)

其方框图可以表示如下:

其中:

Y(s)=X_1(s);\\ sX_1(s)=-a_2X_1(s)+X_2(s)+b_2U(s) \\ sX_2(s)=-a_1X_1(s)+X_3(s)+b_1U(s) \\ sX_3(s)=-a_0X_1(s)+b_0U(s)

对上式进行Laplace逆变换可得:

y(t)=x_1(t) \\ \dot{x_1}(t)=-a_2x_1(t)+x_2(t)+b_2u(t) \\ \dot{x_2}(t)=-a_1x_1(t)+x_3(t)+b_1u(t) \\ \dot{x_3}(t)=-a_0x_1(t)+b_0u(t) \\

因此:

\begin{bmatrix} \dot{x_1}\\ \dot{x_2}\\ \dot{x_3}\end{bmatrix}= \begin{bmatrix} -a_2 & 1 & 0\\ -a_1& 0 & 1\\ -a_0& 0 & 0 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}+\begin{bmatrix} b_2\\ b_1\\ b_0 \end{bmatrix}u

y=\begin{bmatrix} 1 &0 &0 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}

********************************************************************************************************

最后,欢迎大家有问题给我留言。

另外欢迎小伙伴们点赞转发加关注

谢大家!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/74032.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.FastAPI简介与安装

文章目录 为什么选择FastAPI?FastAPI支持的功能FastAPI的安装第一个FastAPI应用运行应用 为什么选择FastAPI? python web开发: Django: 适合大型复杂项目;Flask:适合灵活开发,搭建小型项目;FastAPI: 兼具开…

【MyDB】一个仿照MySQL的轮子项目系列文章汇总

迄今所有系列文章内容如下: 代码位于xianghua-2/MYDB: 一个仿MySQL的简易数据库 1 项目环境配置以及整体项目结构 【MyDB】1-MyDB环境配置及项目结构-CSDN博客 2 TransactionManager事务管理模块 【MyDB】2-TransactionManager 事务管理-CSDN博客 3 DataManage…

2025年汽车加气站操作工考试精选题库

汽车加气站操作工题库中题目及答案: 单项选择题 1、按压力容器的设计压力分为( )个压力等级。 A. 3 B. 4 C. 5 答案:B 2、缓冲罐的安装位置在天然气压缩机( )。 A. 前 B. 后 C. 中间 答案&#…

【Unity Bug 随记】使用Rider debug功能时Unity Reload Domain卡死问题

使用Rider debug功能时Unity Reload Domain卡死 检查是否使用unity version control版本控制系统(VCS),使用的话删除这个包,再尝试,如果能正常断点调试,说明确实是VCS的问题。 我和几个网友都是这个原因…

麒麟银河V10服务器RabbitMQ安装

安装步骤 rabbitMQ依赖于erlang的环境,所以需要先安装erlang,erlang跟rabbitMQ是有版本之间的关联关系的,根据对应的版本去安装下载,保证少出问题。 可以通过官网来查看RabbitMQ和erlang之间的版本对应关系 rabbitMQ和erlang之间…

springboot操作redis集群,注意事项

整合redis可查看博文 springboot 整合redis_springboot整合redis csdn-CSDN博客 集群中操作注意事项 1 多键操作失败: 当使用multiGet等需要同时访问多个键的方法时,如果没有使用Hash Tags,这些键可能会被分配到不同的槽中。如果这些槽位于…

优选算法训练篇07--力扣LCR179.查找总价格为目标值的两个商品

目录 1.题目链接:LCR179.查找总价格为目标值的两个商品 2.题目描述: 3.解法一(暴力解法,会超时): 4.解法二(双指针-对撞指针): 1.题目链接:LCR179.查找总价格为目标值的两个商品 2.题目描述: 购物车…

KMP-子串匹配算法-关键点理解

1.理解next[]数组的使用与来历 2.求解next[]数组 一、kmp算法的原理 首先观察暴力解法:假设主串为:abdxxabc,模式串为abxxabd。 暴力解法,就是对主串每个字符作为第一个字符,开始和模式串比较。 比如:从…

Flutter 学习之旅 之 flutter 使用 SQLite(sqflite) 实现简单的数据本地化 保存/获取/移除/判断是否存在 的简单封装

Flutter 学习之旅 之 flutter 使用 SQLite(sqflite) 实现简单的数据本地化 保存/获取/移除/判断是否存在 的简单封装 目录 Flutter 学习之旅 之 flutter 使用 SQLite(sqflite) 实现简单的数据本地化 保存/获取/移除/判断是否存在…

群体智能优化算法-粒子群优化算法(Particle Swarm Optimization, PSO,含Matlab源代码)

摘要(Abstract) 粒子群优化(PSO)是一种基于群体智能的优化算法,受鸟群觅食行为的启发。PSO 通过模拟粒子(个体)在搜索空间中的运动来寻找最优解。每个粒子根据自身的历史最优位置(p…

Redis 在windows下的下载安装与配置

参考链接:https://developer.aliyun.com/article/1395346 下载 Redis 访问 Redis 下载地址:https://github.com/tporadowski/redis/releases 下载 Redis 时,你可以选择 ZIP 包或 MSI 安装: ZIP包:需要手动解压、初始化、配置和…

UE5材质法线强度控制节点FlattenNormal

连法 FlattenNormal内部是这样的 FlattenNormal的作用是用来调整法线强度 连上FlattenNormal后 拉高数值

在 Elasticsearch 中探索基于 NVIDIA 的 GPU 加速向量搜索

作者:来自 Elastic Chris Hegarty 及 Hemant Malik 由 NVIDIA cuVS 提供支持,此次合作旨在为开发者在 Elasticsearch 中的向量搜索提供 GPU 加速。 在 Elastic Engineering 组织内,我们一直致力于优化向量数据库的性能。我们的使命是让 Lucen…

Android 13深度定制:SystemUI状态栏时间居中显示终极实战指南

一、架构设计与技术解析 1. SystemUI状态栏核心布局机制 层级结构 mermaid 复制 graph TDPhoneStatusBarView --> StatusBarContents[status_bar_contents]StatusBarContents --> LeftLayout[status_bar_left_side]StatusBarContents --> ClockLayout[Clock控件]Left…

ArcGIS10.X影像智能下载!迁移ArcGIS Pro批量智能高清影像下载工具至ArcGIS!

上周我们分享了 我写的一个ArcGIS Pro版批量下载高清影像(谷歌、天地图、ESRI等)工具给大家,Deepseek我!写一个ArcGIS Pro批量下载高清影像(谷歌、天地图、ESRI等)工具给大家-CSDN博客文章浏览阅读130次。深…

前端面经分享(25/03/19)

北京一家做协同办公软件出海的公司,技术一面,20k-40k,要求3-5年 详细聊了一下上家公司的项目上家公司的项目是不做了吗,离职原因是什么,你觉得公司的这个产品怎么样在做AI类的业务时,作为前端感觉跟常规业务…

7 款可视化爬虫工具全解析:案例示范与操作指南

目录 1. ParseHub 2.WebHarvy 3.DataMiner 4.Dexi.io 5.ContentGrabber 6.Portia 7.UiPath 文档聚焦 7 款热门可视化爬虫工具,突出简便的可视化操作,简单拖拽、设置,无需编程知识,人人皆可上手。 1. ParseHub ParseHub 是一…

使用 `pytest` 框架时,可以通过极限封装将 YAML 文件的读取、解析

在使用 pytest 框架时,可以通过极限封装将 YAML 文件的读取、解析和测试用例的通用逻辑封装成共享的方法或 fixture,从而减少重复代码。以下是详细的实现步骤和示例。 1. 封装 YAML 文件读取和解析 将 YAML 文件的读取和解析逻辑封装到一个工具函数中,供所有测试用例调用。…

HarmonyOS next性能优化:多维度策略与实战案例

HarmonyOS next性能优化:多维度策略与实战案例 在HarmonyOS next开发中,性能优化是提升用户体验、确保应用流畅运行的关键。本文将从多个角度探讨HarmonyOS next的性能优化策略,并通过示例代码展示优化前后的效果对比,帮助开发者…

springboot项目,mapper.xml里面,jdbcType报错 已解决

找了很多资料,最后发现原来是依赖版本不兼容的问题。改了版本号即可 报错原因: springboot版本为2.16.3 但是我导入的依赖版本是3.0.1,不兼容,报错 解决:修改版本号,2.3.1兼容springboot2.6.x。依赖下载完…