【状态估计】用于描述符 LTI 和 LPV 系统的分析、状态估计和故障检测的算法(Matlab代码实现)

news2024/10/5 21:22:13
💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥


🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


座右铭:行百里者,半于九十。

📋 📋 📋 本文目录如下: 🎁 🎁 🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码、数据、文章讲解

💥1 概述

文献来源:

摘要:本文讨论了在LTI或LPV描述子框架中建模的系统的MATLAB/SCILAB工具箱的开发。给出了正则性、可解性、可控性和可观测性。包括全阶观测器和降阶观测器,比例观测器和比例积分观测器。其中一些观察人士考虑了未知的输入。可以作为基于状态估计和故障检测的观测器的辅助工具。这些观察者已经从最近发表的几篇论文中得到了考虑。通过建立观测库来实现故障的检测和隔离。这些观察者库可以通过选择输入/输出矩阵来建立,也可以使用所提出的算法自动建立。

许多系统都可以用非线性微分方程来建模,但是监控系统的设计是一项困难的任务。因此,对非线性系统进行线性化以获得线性时不变(LTI)系统是非常常见的,但这种表示在一个平衡点或工作点附近是有效的。

改进模型表示的一种方法是包含一些限制。如果限制是模型的一部分,那么系统就变成了描述符- lti (DLTI)表示。DLTI系统的主要优点是集成了静态关系(例如物理约束)和动态关系。这些考虑允许对广泛的过程进行建模,例如,在Dai, 1989;段,2010)。

Luenberger观测者存在的充分条件在(Hou and Muller, 1999;Darouach和Boutayeb, 1995)。(Darouach等人,1996)的作者提出了一种降阶未知输入观测,类似于(Chen和Patton, 1999)中研究的LTI系统的观测器。

详细文章讲解及数学模型见第4部分。

📚2 运行结果

部分代码:

xe=[ 1 5 3 0]'% intial stimated states

ye(:,1)=C*xe % compute the initial output

t(1)=0;% initial time

u(1)=0;

% observer gains

% % if the system is observable then compute the restricted system equivalence systems by QR descomposition

disp('Simulation')

for k=1:50/Te

% Time counter

t(k+1)=t(k)+Te;

% input

if t(k)<7

u(k+1)=1;

else

u(k+1)=5;

end

% % the differentials equations can be solved by runge-kuta of four order

x1=x1+Te*(x3);

x2=x2+Te*(x1);

x4=x1;

x3=-x2-x4+u(k);

xx(:,k+1)=[x1 x2 x3 x4]';

y(:,k+1)=C*xx(:,k+1); % system output

% Observer

yi=[-Be1*u(k);y(:,k)]; % auxiliar for compute the observer

% Reduced order observer

% $z=Piz+Lyi+H*u $

% $\hat{x}=Mz+Fyi$

z(k+1)=z(k)+Te*(Pi*z(k)+L*yi+H*u(k)); %

xe(:,k+1)=M*z(k)+F*yi;

ye(:,k+1)=C*xe(:,k+1); % stimated output

% Generation of residuos

end

disp('PLOTS')

pause

figure(2);

cla();

plot(t,y',t,ye')

legend('output', 'stimated')

n=size(A,1);

m=size(B1,2);

p=size(C,1);

if flag==1

P=sdpvar(n,n);

Y=sdpvar(m,n,'full');

Q=sdpvar(1,n,'full');

sdpvar g

% g=0.1

alpha=0;

Con=[P>=0,g>=0];

LMI=blkvar();

LMI(1,1)= (P*E'+S*Q)'*A'+Y'*B1'+A*(P*E'+S*Q)+B1*Y+B*B'+2*alpha*P;

LMI(1,2)=E*P'*C'+Q'*S'*C'+Y'*B2';

% (P*E'+S*Q)'*C'+Y'*B2';

LMI(2,2)=-g*eye(p);

LMI=sdpvar(LMI);

Con=[Con, LMI<=0]

op=sdpsettings('verbose',0,'solver','sedumi','sedumi.eps',1e-5);

solvesdp(Con,[],op)

P=double(P);

Y=double(Y);

Q=double(Q);

g=double(g);

% K=Y/((P*E'+S*Q))

K=Y/((P*E'+S*Q))

lamda=deig(A+B1*K,E)

% [Ccon, Rcon, Icon]=dcontr (E,A+B*K,B)

elseif flag==2

% g=0.01100

cvx_begin sdp

cvx_precision default

cvx_solver sedumi

variable g

variable P(n,n) symmetric

variable Y(m,n)

variable Q(1,n)

minimize g

P >= 0

[ (P*E'+S*Q)'*A'+Y'*B1'+A*(P*E'+S*Q)+B1*Y+B*B' E*P'*C'+Q'*S'*C'+Y'*B2' ; ...

(E*P'*C'+Q'*S'*C'+Y'*B2')' -g*eye(p)] <= 0

cvx_end

gamma = sqrt(g)

K=Y/((P*E'+S*Q));

lamda=deig(A+B1*K,E)

else

setlmis([]);

% create a blank LTI framework

P=lmivar(1,[n 1]); % declare X as a 3 脳 3 symmetrical matrix

Y=lmivar(2,[m n]); % declare Y as a n x n

Q=lmivar(2,[1 n]); % declare

lmiterm([1 1 1 P],A,E','s') % A*P*E' + *

lmiterm([1 1 1 Q],A*S,1,'s') % A*S*Q+*

lmiterm([1 1 1 Y],B1,1,'s') % B*Y+*

lmiterm([1 1 1 0],B*B') % B*B'+*

lmiterm([1 1 2 P'],E,C') % E*P'*C'

lmiterm([1 1 2 Q'],1,S'*C') % Q'*S'*C'

lmiterm([1 1 2 Y'],1,B2') % E*P'*C'

% lmiterm([1 1 1 P],2*5,1,'s') % B*Y+*

lmiterm([-2 1 1 P],1,1,'s') % P>0

% lmiterm([-3 1 1 Q],1,1) % P>0

Con=getlmis;

% c = mat2dec(Con,eye(3),eye(3),eye(1,n));

% options = [1e5,0,0,0,0];

% [copt,b] = mincx(Con,c,options);

[tmin b]=feasp(Con);

% [tmin b]=mincx(Con,-trac);

P=dec2mat(Con,b,P);

Y=dec2mat(Con,b,Y);

Q=dec2mat(Con,b,Q);

K=Y/((P*E'+S*Q));

lamda=deig(A+B*K,E);

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码、数据、文章讲解

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

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

相关文章

免费文案生成器-免费文案改写神器

推荐一款高效免费自动写作软件&#xff0c;让你的写作效率飞升&#xff01; 写作&#xff0c;对于众多的从业者或学生来说都是必不可少的工作内容。然而&#xff0c;许多人在写作时遇到了各种各样的困难&#xff0c;例如缺乏灵感、引用不足、缺乏逻辑性等等。为了解决这些问题…

Linux DHCP服务

DHCP 作用 DHCP动态主机配置协议作为服务端负责集中给客户端分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址) 传输协议端口 服务端 UDP 67端口 客户端 UDP 68端口 工作原理 1) 客户端广播发送DISCOVER报文寻找服务端 2) 服务端广播发…

Unity - 带耗时 begin ... end 的耗时统计的Log - TSLog

CSharp Code // jave.lin 2023/04/21 带 timespan 的日志 &#xff08;不帶 log hierarchy 结构要求&#xff0c;即&#xff1a; 不带 stack 要求&#xff09;using System; using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEngine;public…

Qt 学生信息数据库管理

1 添加样式表 我们采用了样式表 通过添加Qt resources文件 添加前缀 添加文件&#xff0c;将我们的图标进行添加 2 拖动部件 用到的部件 Label 标签Pushbutton 按钮table view 视图LineEdit 输入框 3 程序编写 1 配置sql环境 在 pro文件中 添加 连接数据库跟访问数据…

Qt模型视图结构

一.模型视图介绍 1.Model/View(模型/视图结构) 视图(View)是显示和编辑数据的界面组件&#xff0c; 模型(Model)是视图和原始数据之间的接口 2.视图组件有:QListView QTreeView QTableView&#xff0c;QColumnView&#xff0c;QHeaderView 模型组件有:QStringListM…

MyBatis详解(2)

8、自定义映射resultMap 8.1、resultMap处理字段和属性的映射关系 若字段名和实体类中的属性名不一致&#xff0c;则可以通过resultMap设置自定义映射 <!--resultMap&#xff1a;设置自定义映射属性&#xff1a;id&#xff1a;表示自定义映射的唯一标识type&#xff1a;查询…

PCIE_DMA实例二:xapp1052的EDK仿真

目录 一&#xff1a;前言 二&#xff1a;前期准备 三&#xff1a;操作步骤 四&#xff1a;仿真结果 五&#xff1a;总结 一&#xff1a;前言 对于有的同学&#xff0c;想要学习基于FPGA的PCIe DMA控制器设计&#xff0c;但是手上没有合适的Xilinx开发板&#xff0c;而且xap…

ETCD(五)写请求执行过程

写请求过程 客户端执行写请求指令 etcdctl put hello world —endpoints 192.168.1.1:12379执行流程&#xff1a; 首先客户端通过负载均衡选择一个etcd节点发起gRPC put方法调用&#xff1b;服务器收到请求后经过gRPC拦截器、Quota模块校验&#xff0c;进入KV Server模块&am…

「物联网时代的新选择」漫途科技推出装配式物联网服务,轻松实现项目落地

随着物联网技术的不断发展&#xff0c;越来越多的企业开始重视物联网系统的应用。然而&#xff0c;在物联网时代&#xff0c;鱼龙混杂&#xff0c;小品牌厂商层出不穷&#xff0c;质量参差不齐&#xff0c;这为系统集成商寻找靠谱的供应商伙伴带来了极大的挑战。 一、如何找靠谱…

Nacos配置中心的配置是怎么加载到spring容器的?

首先看到 org.springframework.boot.SpringApplication#applyInitializers 这个方法。 protected void applyInitializers(ConfigurableApplicationContext context) {for (ApplicationContextInitializer initializer : getInitializers()) {Class<?> requiredType G…

单链表C语言实现

链表就是许多节点在逻辑上串起来的数据存储方式 是通过结构体中的指针将后续的节点串联起来 typedef int SLTDataType;//数据类型 typedef struct SListNode//节点 {SLTDataType data;//存储的数据struct SListNode* next;//指向下一个节点地址的指针 }SLTNode;//结构体类型的…

设计模式(GOF)之我见(0)——UML

这里直接梳理画类图时的几个类关系。 类图的语法和功能 关系说明举例依赖&#xff08;Dependency) 偶然的&#xff0c;陌生的。 对类B进行修改会影响到A。 例如&#xff1a;问路时&#xff0c;路人甲给路人乙带路&#xff0c;路人甲的指引必然会影响到路人乙&#xff0c;但是…

在ROS2中使用奥比中光(ORBBEC)的AstraPro深度相机

0.效果演示 1.下载SDK 到官网下载OpenNI2_SDK 记得是下载这个OpenNI2_SDK,而不是下载那个Orbbec_SDK. 2.拷贝至自定义目录 拷贝到你的ubuntu的一个文件夹中&#xff0c;并解压得到 ros2_astra_camera 文件夹 然后新建一个ros2_ws文件夹&#xff0c;再在ros2_ws文件夹中新建…

矩阵链相乘的乘法次数(动态规划)

Description 设 A1, A2, …, An 为矩阵序列&#xff0c;Ai 是阶为 Pi − 1 * Pi 的矩阵 i  1, 2, …, n.试确定矩阵的乘法顺序&#xff0c;使得计算 A1A2…An 过程中元素相乘的总次数最少.Input 多组数据第一行一个整数 n(1≤n≤300) &#xff0c;表示一共有 n 个矩…

真题详解(计算机知识)-软件设计(五十四)

真题详解&#xff08;归并&#xff09;-软件设计&#xff08;五十三)https://blog.csdn.net/ke1ying/article/details/130254861 若无条件转移汇编指令采用直接寻址&#xff0c;则该指令功能是将指令中的地址码送入_____? PC&#xff08;程序计数器&#xff09; 程序计数器&…

10种黑客类型,你知道几种?

黑客一般有 10 种类型 1、白帽黑客 白帽黑客是指通过实施渗透测试&#xff0c;识别网络安全漏洞&#xff0c;为政府及组织工作并获得授权或认证的黑客。他们也确保保护免受恶意网络犯罪。他们在政府提供的规章制度下工作&#xff0c;这就是为什么他们被称为道德黑客或网络安全…

Kyligence Zen 产品体验 --- 初识庐山真面目

简介 Kyligence Zen 是一款数据分析工具&#xff0c;其市场定位是一站式云端指标平台。它基于 Kyligence 核心 OLAP&#xff08;On-Line Analytical Processing&#xff09; 能力打造&#xff0c;提供集业务模型、指标管理、指标加工、数据服务于一体的一站式服务。 其基本的…

Linux: SPI 驱动

文章目录 1. 前言2. SPI 总线驱动2.1 SPI 总线拓扑2.2 SPI 总线工作模式2.3 SPI 总线驱动编写 3. SPI 从设驱动4. SPI 用户空间接口4.1 创建 SPI 总线用户空间字符设备节点4.2 操作 SPI 总线用户字符设备节点 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0…

百趣代谢组学分享,三阴性乳腺癌铁死亡异质性的揭示

百趣代谢组学分享文章标题&#xff1a;Ferroptosis heterogeneity in triple-negative breast cancer reveals an innovative immunotherapy combination strategy 发表期刊&#xff1a;Cell Metabolism 影响因子&#xff1a;31.373 作者单位&#xff1a;复旦大学附属肿瘤医…

DFS与BFS|树与图的遍历:拓扑排序

深度优先搜索DFS DFS每次往最深处搜&#xff0c;搜到叶子节点就返回&#xff0c;然后继续搜&#xff0c;特点&#xff1a;走到头才返回&#xff0c;返回并不是返回最开始&#xff0c;而是每次返回上一层之后&#xff0c;再看这一层能不能往下搜 DFS有回溯和剪枝。返回上一层的过…