MATLAB 绘制 SISO 和 MIMO 线性系统的时间和频率响应图

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、时间响应
  • 二、频率响应
  • 三、极点/零点图和根节点
  • 四、响应特性
  • 五、分析 MIMO 系统
  • 六、系统比较
  • 七、修改时间轴或频率轴数值
  • `如果觉得内容不错,请点赞、收藏、关注`


前言

本例演示如何绘制 SISO 和 MIMO 线性系统的时间和频率响应图。


一、时间响应

创建线性系统。在本例中,创建一个三阶传递函数。

sys = tf([8 18 32],[1 6 14 24])
sys =8 s^2 + 18 s + 32-----------------------s^3 + 6 s^2 + 14 s + 24连续时间传递函数。
模型属性

您可以使用 step and impulse 命令绘制该系统的阶跃和脉冲响应。

subplot(2,1,1)
step(sys)
subplot(2,1,2)
impulse(sys)

在这里插入图片描述

您还可以使用 lsim 命令模拟对正弦波等任意信号的响应。输入信号显示为灰色,系统响应显示为蓝色。

clf
t = 0:0.01:4;
u = sin(10*t);
lsim(sys,u,t)   % u,t define the input signal

在这里插入图片描述

您可以在连续或离散的 tfsszpk 模型中使用绘图命令。对于状态空间模型,您还可以绘制从给定初始状态开始的非强迫响应。例如

A = [-0.8 3.6 -2.1;-3 -1.2 4.8;3 -4.3 -1.1];
B = [0; -1.1; -0.2];
C = [1.2 0 0.6];
D = -0.6;
G = ss(A,B,C,D);
x0 = [-1;0;2];  % initial state
initial(G,x0)
grid

在这里插入图片描述

二、频率响应

频域分析是了解控制系统稳定性和性能特性的关键。Bode 图、Nyquist 图和 Nichols 图是绘制和分析线性系统频率响应的三种标准方法。您可以使用 BodeNicholsNyquist 命令创建这些图。

创建线性系统。

sys = tf([8 18 32],[1 6 14 24])
sys =8 s^2 + 18 s + 32-----------------------s^3 + 6 s^2 + 14 s + 24连续时间传递函数。
模型属性

为该系统绘制 Bode 图。

bode(sys)
grid

在这里插入图片描述

为该系统绘制奈奎斯特图。

nyquist(sys)
grid

在这里插入图片描述

为该系统创建一个尼科尔斯图表。

nichols(sys)
grid

在这里插入图片描述

三、极点/零点图和根节点

系统的极点和零点包含有关其动态、稳定性和性能极限的宝贵信息。例如,考虑以下 SISO 控制回路中的反馈回路。

在这里插入图片描述
G = − ( 2 s + 1 ) s 2 + 3 s + 2 G=\frac{-(2s+1)}{s^{2}+3s+2} G=s2+3s+2(2s+1)

对于增益值 k = 0.7,可以使用 pzmap 绘制闭环极点和零点图。

s = tf('s');
G = -(2*s+1)/(s^2+3*s+2);
k = 0.7;
T = feedback(G*k,1);
pzmap(T)
grid, axis([-2 0 -1 1])

在这里插入图片描述

闭环极点(蓝色 x 标记)位于左半平面内,因此在选择增益 k 时,反馈回路是稳定的。这里的阻尼比约为 0.7,表明闭环响应阻尼良好,这一点可以通过以下数据得到证实:

clf
step(T)

在这里插入图片描述

为了进一步了解环路增益 k 对闭环稳定性的影响,可以绘制闭环极点位置与 k 的函数关系图。

rlocus(G)
grid

在这里插入图片描述

点击定位点与 y 轴相交的位置,可以发现当 k = 1.51 时,闭环极点变得不稳定。因此,为保证闭环稳定,环路增益应保持小于 1.5。

四、响应特性

右键单击响应图可以访问各种选项和注释。特别是,通过特性菜单可以显示标准指标,如阶跃响应的上升时间和稳定时间,或频率响应图的峰值增益和稳定裕度。

使用上一节的示例,绘制闭环阶跃响应图:

step(T)

在这里插入图片描述

现在,右键单击曲线图以显示峰值响应和稳定时间特性,并单击蓝点读取相应的过冲和稳定时间值:

在这里插入图片描述

五、分析 MIMO 系统

目前提到的所有命令都完全支持多输入多输出(MIMO)系统。在多输入多输出情况下,这些命令会生成数组图。例如,请看下面的两输入两输出系统。

sys = rss(3,2,2);
sys.A = [-0.5 -0.3 -0.2 ; 0 -1.3  -1.7; 0.4 1.7 -1.3];

阶跃响应是一个 2×2 的图阵列,每列显示一个特定输入通道的阶跃响应。

step(sys)

在这里插入图片描述

您可以右键单击曲线图并选择 I/O 分组 -> 全部子菜单,将所有四个响应组合到一个曲线图上。

在这里插入图片描述

以下附加图有助于分析多输入多输出系统:

  • 奇异值图 (sigma),显示频率响应的主要增益

  • 每个 I/O 对的极点/零点图(iopzplot)

例如,绘制 sys 的峰值增益与频率的函数关系图:

sigma(sys)
grid

在这里插入图片描述

六、系统比较

您可以使用任何响应绘图命令同时绘制多个系统。您可以为每个系统指定特定的颜色、标记或线条样式,以便于比较。以上述反馈为例,用三种不同颜色绘制环路增益 k 的三个值的闭环阶跃响应:

k1 = 0.4;
T1 = feedback(G*k1,1);
k2 = 1;
T2 = feedback(G*k2,1);
step(T,'b',T1,'r',T2,'g')
legend('k = 0.7','k = 0.4','k = 1')

在这里插入图片描述

七、修改时间轴或频率轴数值

您可以修改现有线性分析图的时间和频率向量。

对于阶跃图和脉冲图,可以通过右键单击绘图区域并选择指定时间来指定时间矢量。

在这里插入图片描述

在 "指定时间 "对话框中,您可以使用以下方法之一定义时间值和单位。

  • 自动生成 - 根据系统动态自动生成时间矢量。稀疏系统不支持此选项。

  • 定义停止时间 - 指定停止时间,创建从时间 0 开始的时间矢量。

  • 定义矢量 - 将时间指定为单调递增、间距均匀的时间值矢量。

对于波特图、奈奎斯特图、尼克尔斯图和西格玛图,可以通过右键单击绘图区域并选择指定频率来指定频率矢量。

在这里插入图片描述

在 "指定频率 "对话框中,您可以使用以下方法之一定义频率值和单位。

  • 自动生成 - 根据系统动态自动生成频率矢量。稀疏系统不支持此方法。

  • 定义范围 - 指定频率范围。稀疏系统不支持此方法。

  • 定义矢量 - 指定要绘制成矢量的频率。

如果您的系统是 frd 对象,则会在频率值之间插值绘制响应。

更改时间和频率单位将指定输入的单位,但不会更改绘图中的单位。


如果觉得内容不错,请点赞、收藏、关注

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

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

相关文章

设计模式04———桥接模式 c#

桥接模式:将一个事物从多个维度抽象出来,采用 分离 和 组合 的方式 替代 原本类的继承 桥接模式(Bridge Pattern)是一种软件设计模式,属于结构型模式,它用于将抽象部分与具体实现部分分离,以便它…

Java实现对Html文本的处理

1.引入jsoup <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.8.3</version> </dependency> 2. html示例 示例代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1…

【Linux】 man命令使用

介绍 man命令是Linux下最核心的命令之一。而man命令也并不是英文单词“man”的意思&#xff0c;它是单词manual的缩写&#xff0c;即使用手册的意思。 man命令会列出一份完整的说明。 其内容包括命令语法、各选项的意义及相关命令 。更为强大的是&#xff0c;不仅可以查看Lin…

Kali Linux:网络与安全专家的终极武器

文章目录 一、Kali Linux 简介二、Kali Linux 的优势三、使用 Kali Linux 进行安全任务推荐阅读 ——《Kali Linux高级渗透测试》适读人群内容简介作者简介目录 Kali Linux&#xff1a;网络与安全专家的终极武器 Kali Linux&#xff0c;对于许多网络和安全专业人士来说&#x…

InetAddress.getLocalHost() 执行非常慢

昨天同事反馈网关的请求非常慢&#xff0c;一个获取的token的接口响应都超过了30s&#xff0c;还好只是测试环境。 经过验证&#xff0c;几乎所有接口响应都很慢&#xff0c;很多都响应超时。 排查步骤&#xff1a; 0. 本地启动项目测试&#xff0c;没有这个问题。而且生产环…

Python基础之列表、元组和字典

一文拿捏Python基本数据类型“列表、数组和字典” 引言 Python中的 列表(英文叫list) 、 元组(英文叫tuple)和字典&#xff08;dictionary&#xff09; 也是 序列 特性的&#xff0c;它们也是非常常用的数据类型。 1、列表&#xff08;List&#xff09; 01、概述 列表&#…

【Ubuntu】虚拟机安装系统与初始化配置

一、安装ubuntu系统 1、首先在虚拟机上安装一个虚拟机系统。 简单操作忽略&#xff0c;只贴出与安装linux不同的地方。 内存&#xff0c;处理器&#xff0c;磁盘等什么自己看着需要自己增加们这边不做过多说明。一直下一步&#xff0c;然后就安装好了。2、选择镜像位置然后启…

华为RS设备状态及接口配置命令

1、查看硬件信息 ①查看序列号 查看整机序列号 display esn display sn ②、查看功率 电源功率 display power 查看光模块功率 display transceiver interface gigabitethernet 1/0/0 verbose ③、查看风扇 display fan ④、查看温度 display temperature all ⑤、查看硬…

【MySQL】索引(下)

文章目录 1. 普通索引2. 索引操作创建主键索引查询索引删除索引唯一索引的创建删除唯一键索引普通索引的创建全文索引 1. 普通索引 MySQL除了会默认建立主键索引&#xff0c;也可能会按照其他列信息建立的索引&#xff0c;一般这种索引称为 普通索引 对于 储存引擎 myisam&…

伊朗网络间谍组织针对中东金融和政府部门

导语 近日&#xff0c;以色列网络安全公司Check Point与Sygnia发现了一起针对中东金融、政府、军事和电信部门的网络间谍活动。这一活动由伊朗国家情报和安全部门&#xff08;MOIS&#xff09;支持的威胁行为者发起&#xff0c;被称为"Scarred Manticore"。该组织被认…

在Linux上通过NTLM认证连接到AD服务器(未完结)

这篇文章目前还没有实现具体的功能&#xff0c;只实现了明文登录&#xff0c;因为我缺少一些数据&#xff0c;比如通过密码生成hash&#xff0c;以及通过challenge生成response&#xff0c;我不知道怎么实现&#xff0c;因此这篇文章也是一个交流的文章&#xff0c;希望大佬看见…

【实战Flask API项目指南】之一 概述

实战Flask API项目指南之 概述 本系列文章将带你深入探索实战Flask API项目指南&#xff0c;通过跟随小菜的学习之旅&#xff0c;你将逐步掌握Flask在实际项目中的应用。让我们一起踏上这个精彩的学习之旅吧&#xff01; 前言 小菜是一个Python编程爱好者&#xff0c;他目前…

蓝桥杯 (C++ 求和 等差数列 顺子日期 灌溉)

目录 1、求和 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 2、等差数列 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 3、顺子日期 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 4、灌溉 题目&#xff1a; 代码&#xff1a; 1、求和…

KaiwuDB 内核解析 - SQL 查询的生命周期

一、概述 KaiwuDB 内核解析系列共分上下两部分&#xff0c;本文是该系列的第一部分&#xff0c;主要涵盖了网络协议到 SQL 执行器&#xff0c;解释 KaiwuDB 如何执行 SQL 查询&#xff0c;包括系统各个组件的执行路径&#xff08;网络协议、SQL 会话管理、解析器、执行计划及优…

【Spring MVC】Spring MVC框架的介绍及其使用方法

目录 一、MVC模式 1.1 MVC模式的发展 1.1.1 Model1 模型 1.1.2 Model2 模型 1.2 MVC模式简介 1.模型(Model) 2.视图(View) 3.控制器(Controller) 二、Spring MVC模型简介 三、Spring MVC 六大核心组件 3.1 六大组件简介 1.前端控制器 DispatcherServlet&#xff08…

Notepad++下载、使用

下载 https://notepad-plus-plus.org/downloads/ 安装 双击安装 选择安装路径 使用 在文件夹中搜索 文件类型可以根据需要设置 如 *.* 说明是所有文件类型&#xff1b; *.tar 说明是所有文件后缀是是tar的文件‘&#xff1b;

多个PDF发票合并实现一张A4纸打印2张电子/数电发票功能

python教程79--A4纸增值税电子发票合并打印_python 打印 发票设置_颐街的博客-CSDN博客文章浏览阅读7.9k次。接上篇https://blog.csdn.net/itmsn/article/details/121902974?spm1001.2014.3001.5501一张A4纸上下2张增值税电子发票实现办法。使用环境&#xff1a;python3.8、ma…

JAVA 实现PDF转图片(pdfbox版)

依赖&#xff1a; pdf存放路径 正文开始&#xff1a; pdf转换多张图片、长图 Test void pdf2Image() {String dstImgFolder "";String PdfFilePath "";String relativelyPathSystem.getProperty("user.dir");PdfFilePath relativelyPath &qu…

Ps:PSDT 模板文件

自 Photoshop CC 2015.5 版以后&#xff0c;Ps 中新增了一种文件格式&#xff1a;.PSDT。 说明&#xff1a; PSD、PDD、PSDT 都是 Ps 的专用文件格式&#xff0c;需要继续在 Ps 中进行编辑的文件可存为此类格式。 PSD Photoshop document Photoshop 默认文档格式&#xff0c;支…

选择适合你的办公桌:提高工作效率的关键

​在如今的数字时代&#xff0c;越来越多的人将办公桌移到家里或办公室。但是&#xff0c;如何选择适合你的办公桌可能是个挑战。不同的工作需要和工作空间大小会影响你的选择。下面是一些简单的建议&#xff0c;帮助你找到适合你的办公桌&#xff0c;提高工作效率。 首先&…