matlab超前-滞后校正

news2024/11/23 21:18:28

1控制系统的校正

系统性能

稳定性、准确性、快速性

动态性能-超前校正

阶跃曲线、频域(bode图)、根轨迹(增加零点-根轨迹左移稳定性提高)、PID控制(PD)

静态性能-滞后校正

阶跃曲线、频域(bode图)、根轨迹(增加极点-根轨迹右移稳定性提高)、PID控制(PI)

2系统模型

超前校正未校正系统模型:

G(s)=\frac4{s(s+2)}

超前校正:增加一对零极点,使得零点更靠近坐标原点

G(s)=\frac{18.7(s+2.9)}{s(s+2)(s+5.4)}

G(s)=\frac{41.7(s+4.41)}{s(s+2)(s+18.4)}

滞后校正未校正系统模型:

G(s)=\frac1{s(0.5s+1)(s+1)}.

滞后校正:增加一对零极点,使得极点更靠近坐标原点

G(s)=\frac{5(10s+1)}{(s^2+s)(0.5s+1)(100s+1)}

3运行效果分析

3.1未校正

num=[4];
den=[conv([1 0],[1 2])];
G=tf(num,den)
G1=feedback(G,1)
figure(1)
step(G1)
figure(2)
bode(G)
grid on

阶跃响应

伯德图

3.2 使用第一个函数进行超前校正

num=[4];
den=[conv([1 0],[1 2])];
G=tf(num,den)
G1=feedback(G,1)
num1=[18.7 18.7*2.9];
den1=conv(conv([1 0],[1 2]),[1 5.4])
G2=tf(num1,den1)
G3=feedback(G2,1)

figure(1)
step(G1,'r--',G3,'k--')
legend('原系统阶跃曲线','超前校正后的曲线')
figure(2)
bode(G,'r--',G2,'k--')
legend('原系统阶跃曲线','超前校正后的bode曲线')
figure(3)
rlocus(G)
legend('原系统根轨迹')
figure(4)
rlocus(G2)
legend('校正后根轨迹')
set(findobj('Type','line'),'LineWidth',1.6)

阶跃响应:由图可知系统阶跃响应的稳定性、准确性和快速性都有了提升。

根轨迹:超前校正增加了零点,根轨迹左偏,稳定性增加

 

 Bode图:开环增益越高,稳态误差减小,系统性能越好,即相频特性中初始值抬高。Wc增大,y值增大,即在相频特性纵坐标为0时,幅频特性曲线越高,说明系统的性能越好。

 3.3 使用第二个函数进行超前校正

与第一个系统进行对比,系统是更稳定的。增加一对零极点,使零点更靠近坐标原点,零点和极点的值越大,系统性能越好

num=[4];
den=[conv([1 0],[1 2])];
G=tf(num,den)
G1=feedback(G,1)
num1=[41.7 41.7*4.41];
den1=conv(conv([1 0],[1 2]),[1 18.4])
G2=tf(num1,den1)
G3=feedback(G2,1)

figure(1)
step(G1,'r--',G3,'k--')
legend('原系统阶跃曲线','超前校正后的曲线')
figure(2)
bode(G,'r--',G2,'k--')
legend('原系统阶跃曲线','超前校正后的bode曲线')
figure(3)
rlocus(G)
legend('原系统根轨迹')
figure(4)
rlocus(G2)
legend('校正后根轨迹')
set(findobj('Type','line'),'LineWidth',1.6)
grid on
[a1,b1,c1,d1]=margin(G)
[a2,b2,c2,d2]=margin(G2)

3.4滞后校正

num=[1];
den=conv(conv([1 0],[0.5 1]),[1 1])
G=tf(num,den)
G1=feedback(G,1)
num1=[5*10 5*1];
den1=conv(conv([1 1 0],[0.5 1]),[100 1])
G2=tf(num1,den1)
G3=feedback(G2,1)

figure(1)
step(G1,'r--',G3,'k--')
legend('原系统阶跃曲线','超前校正后的曲线')
figure(2)
bode(G,'r--',G2,'k--')
legend('原系统阶跃曲线','超前校正后的bode曲线')
figure(3)
rlocus(G)
legend('原系统根轨迹')
figure(4)
rlocus(G2)
legend('校正后根轨迹')
set(findobj('Type','line'),'LineWidth',1.6)
grid on
[a1,b1,c1,d1]=margin(G)
[a2,b2,c2,d2]=margin(G2)

阶跃响应:没有太大区别

根轨迹:滞后校正增加极点,根轨迹右偏,稳定性增加

 

 频域响应Bode图:开环增益越高,稳态误差减小,系统性能越好,即相频特性中初始值抬高,Wc增大。y值增大,即在相频特性纵坐标为0时,幅频特性曲线越高,说明系统性能越好。

 

整理自:【自控】快速搞定超前-滞后校正的原理及Matlab仿真验证_哔哩哔哩_bilibili

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

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

相关文章

Flink CDC MongoDB 联合实时数仓的探索实践

摘要:本文整理自 XTransfer 技术专家, Flink CDC Maintainer 孙家宝,在 Flink Forward Asia 2022 数据集成专场的分享。本篇内容主要分为四个部分: MongoDB 在实时数仓的探索 MongoDB CDC Connector 的实现原理和使用实践 FLIP-262 MongoDB…

Spring MVC拦截器和跨域请求

一、拦截器简介 SpringMVC的拦截器(Interceptor)也是AOP思想的一种实现方式。它与Servlet的过滤器(Filter)功能类似,主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用…

多肽试剂1801415-23-5,Satoreotide,UNII-S58172SSTS,应用在多肽标记及修饰上

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ Satoreotide,UNII-S58172SSTS Product structure Product specifications 1.CAS No:1801415-23-5 2.Molecular formula:C58H72ClN15O14S2 3.Molecular weight:1302.9 4.Packa…

【C++详解】——C++11

目录 C简介 统一的列表初始化 {}的初始化 initializer_list容器 声明 auto decltype nullptr 范围for C简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了 C98称为C11之前的最新C标准名称。 不过由于C03(TC1)主…

STM32 串口 DMA 接收任意长度数据

DMA 局限性 DMA 传输完成会产生中断告知 CPU,这对于固定长度的数据是没什么问题的。但是对于不定长的数据就不行了,DMA 一定要接收到足够多(设定的长度)的数据时才产生完成中断,如果接收到的数据量小于设定的长度&…

Linux的基础配置

配置篇 前置步骤:先租一个服务器或装个Linux再或者虚拟机都可以 1.安装gcc,g,gdb 在Linux下我们能用什么工具来编译所编写好的代码呢,其实Linux下这样的工具有很多,但我们只介绍两款常用的工具,它们分别是gcc和g. gcc和g的主要…

解决端口占用

解决办法: 1、换一个其它未被占用的端口 2、端口被占用了,先看下是哪个程序再用,停掉就OK了 下面演示结束端口被占用的程序的过程: 1、查看被占用的端口的进程 netstat -aon|findstr 端口号2、根据PID找到占用此端口的进程 ta…

Redis单机伪集群配置与搭建

目录 1. 复制6个redis配置文件到当前目录下 2. 启动每个节点 3. 判断集群是否可用 4. 初始化集群 5. 查看集群信息 6. 获取与插槽对应的节点 (1)手动重定向 (2)自动重定向 7. 故障恢复 需求:配置一个三主三从的集…

为什么ConcurrentHashMap不允许插入null值而HashMap可以?

为什么ConcurrentHashMap不允许插入null值而HashMap可以? 文章目录 为什么ConcurrentHashMap不允许插入null值而HashMap可以?HashMap源码ConcurrentHashMap源码为什么ConcurrentHashMap需要加空值校验呢?二义性问题测试代码代码分析测试结果结…

纯css3实现水波纹从中心向四周扩散动画

纯css3实现水波纹从中心向四周扩散动画 效果可用于pc端或移动端,引导用户点击,间接带来一定的转化率 示例效果 示例代码 <template><div class"zanbtn-wrap"><div click"handleClick(https://pay.aikelaidev.cn/paypage/?merchant35bdYxSx7dCUr…

子网划分路由网卡

1."IPv4 CIDR" "IPv4 CIDR" 是与互联网协议地址&#xff08;IP address&#xff09;和网络的子网划分有关的概念。 - "IPv4" 代表 "Internet Protocol version 4"&#xff0c;也就是第四版互联网协议&#xff0c;这是互联网上最广泛使…

IPv4 与 IPv6:网络协议的差异和转换方法

在网络的世界里&#xff0c;IPv4 和 IPv6 这两个协议就像是两个不同的王国&#xff0c;各自拥有着独特的领土和规则。虽然它们都是为了互联网的发展而存在&#xff0c;但它们之间究竟有哪些差异&#xff0c;以及如何在这两个王国之间穿梭&#xff0c;仍然是很多网络小白们的困惑…

Spring使用注解存储Bean对象

文章目录 一. 配置扫描路径二. 使用注解储存Bean对象1. 使用五大类注解储存Bean2. 为什么要有五大类注解&#xff1f;3.4有关获取Bean参数的命名规则 三. 使用方法注解储存Bean对象1. 方法注解储存对象的用法2. Bean的重命名 在前一篇博客中&#xff08; Spring项目创建与Bean…

Excel中Vlookup

VLOOKUP($A:$A,Sheet3!$A:$D,COLUMN(Sheet3!B1),FALSE) ps: 1.按F4&#xff0c;锁定第一个和第二个参数 2.第二个参数&#xff0c;要选择全部范围(包括被查找列&#xff0c;以及查找内容) 2.第三个参数用column&#xff08;&#xff09;函数&#xff0c;第三列不要锁定 3.…

【Linux】自动化构建工具-make/Makefile详解

前言 大家好吖&#xff0c;欢迎来到 YY 滴 Linux系列 &#xff0c;热烈欢迎&#xff01;本章主要内容面向接触过Linux的老铁&#xff0c;主要内容含 欢迎订阅 YY 滴Linux专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 订阅专栏阅读&#xff1a;YY的《…

Alpha-GO打败⼈类的秘籍- 强化学习(Reinforcement Learning)

为了深⼊理解强化学习&#xff08;Reinforcement Learning&#xff0c;简称RL&#xff09;这⼀核⼼概念&#xff0c;我们从⼀个⽇常游戏的例⼦出发。在“贪吃蛇”这个经典游戏中&#xff0c;玩家需要掌控⼀条蛇&#xff0c;引导它吞吃屏幕上出现的各种果实。每次成功捕获果实&a…

CSS层叠

声明冲突 同一个样式&#xff0c;多次应用到同一个元素。 此时可以看到我们的a元素的样式和浏览器的默认样式发生了冲突 层叠 解决声明冲突的过程&#xff0c;浏览器会自动处理&#xff08;权重计算&#xff09;&#xff0c;权重大的获胜 1.比较重要性 重要性从高到低 1&…

Docker 教程

Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。 容器是完全使用沙箱机制&a…

省电液晶驱动IC,VK2C22G,COG片高抗干扰抗噪系列LCD段码驱动芯片,I2C通信接口

型号:VK2C22G DICE(邦定COB)/COG&#xff08;绑定玻璃用&#xff09; VK2C22G概述&#xff1a; VK2C22G是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大176点&#xff08;44SEGx4COM&#xff09;的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据&#…

C# 接口2.0 (028 课程)

参考视频教程&#xff1a;B站 刘铁猛 028 接口 依赖反转 单元测试 接口是一种供方和需求方都遵守的契约 — 即规则。 文章目录 原始代码利用用接口简化函数重载紧耦合程序实体松耦合代码实体设计一个紧耦合 -- 接口松耦合 -- 单元测试紧耦合程序实例松耦合程序实体 -- 引入接…