系统函数和状态方程的转换

简介: 系统函数和状态方程的转换

1.问题介绍


之前碰到这样一个问题:给定一个正弦信号以及系统传递函数,利用该系统传递函数进行卡尔曼滤波。


利用卡尔曼进行滤波首先要知道系统的状态方程,那么题目只给了系统传递函数,如何能够得到状态方程呢?


首先先看一下传递函数和状态方程。


传递函数:


1b740cb4a8f8c5bb79d2e18c1d58ad95_eq_H%28s%29%3D%5Cfrac%7BY%28s%29%7D%7BX%28s%29%7D.png


其中H(s)是系统函数,X(s)是系统输入函数,Y(s)是系统输出函数。


状态方程:


7a361580f6c833f3a95f6ac722a29a8a_eq_%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%20%5Cdot%7Bx%28t%29%7D%3DAx%28t%29+Bu%28t%29%5C%5C%20y%28t%29%3DCx%28t%29+Dv%28t%29%20%5Cend%7Bmatrix%7D%5Cright..png


其中A是状态转移矩阵、C的观测矩阵、B和D是噪声矩阵。


2.问题求解


例如已知系统传递函数为


116af240c31abc47163481878065fef4_eq_H%28s%29%3D%5Cfrac%7Bs%5E2+2s+1%7D%7Bs%5E3+2s%5E2+3s+1%7D.png


求对应状态方程的系数矩阵。


2.1 传递函数转状态方程


传递函数转状态方程的matlab的调用格式为:[A,B,C,D]=tf2ss(num,den)。


对应matlab代码如下:


clc,clear
num=[1,2,1];
den=[1,2,3,1];
sys=tf(num,den)
[A,B,C,D]=tf2ss(num,den)

结果如下:


4388847256057b67c031fae97669deb1_826d09a9179d444cbb3f5acf3df3bad2.png


此时的系统函数为:


2f30677c38dc8853b0000a944383a7fd_badf3ddaeb294042b7c1c3d9b3ae2dbd.png


2.2 状态方程转传递函数


状态方程转传递函数的matlab的调用格式为:[num,den]=ss2tf(A,B,C,D)。


对应matlab代码如下:


[b,a]=ss2tf(A,B,C,D)

结果如下:


35d6516d6a78663288deda3af2b6d5e9_3ec3e817baf2405e8934591cabfe14d9.png


此时的系统函数为:


e0d0109f058864e1ef7cf1f4d7f520e9_5449a1059c7a4d96a058106f567b23f1.png


可见转换回来的系统函数与原始的系统函数一样。


将系统函数转换为状态方程以后就可以进行卡尔曼滤波啦!


目录
相关文章
|
人工智能 算法 安全
AR眼镜在工业AI大模型识别的使用流程​
AR眼镜融合AI大模型,实现工业场景智能识别与预警,提升制造质量与安全。通过多模态模型适配、开源模型选型、端云协同部署及定向训练,打造高精度工业AI识别系统,助力制造业智能化升级。
|
6月前
|
人工智能 JSON Java
上下文协议(MCP)Java SDK 使用指南
到目前为止,我们已经具备了测试 MCP 交互和核心概念所需的全部组件。
749 0
|
传感器 机器学习/深度学习 算法
基于模型预测控制对PMSM进行FOC控制,模拟控制了PMSM的速度(Simulink仿真实现)
基于模型预测控制对PMSM进行FOC控制,模拟控制了PMSM的速度(Simulink仿真实现)
933 0
|
机器学习/深度学习 人工智能 运维
【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性分析(包含锁相环电流环)(Simulink仿真实现)
【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性分析(包含锁相环电流环)(Simulink仿真实现)
645 0
|
算法
三电平逆变器SVPWM控制(无解耦功能)与谐波分析
三电平逆变器的空间矢量脉宽调制(SVPWM)控制方法,重点分析在不使用解耦控制的情况下实现5%谐波含量的技术方案。我们将使用MATLAB/Simulink进行建模和仿真分析。
850 1
|
监控 Cloud Native 调度
《云原生架构从崩溃失控到稳定自愈的实践方案》
本文以某大型电商供应链系统“618”大促期间的“服务雪崩”故障为切入点,剖析了云原生架构在极端流量下的稳定性短板。故障根源在于库存调度服务接口设计缺陷导致数据库连接池耗尽,且服务间缺乏熔断隔离机制,引发全链路瘫痪。技术团队通过重构核心接口、引入“熔断-隔离-降级”防护体系、搭建三位一体监控闭环、设计全流程流量管控方案,并开展常态化故障注入演练,实现架构从“事后救火”到“事前防御”的转变。改造后系统故障恢复时间大幅缩短,核心业务零中断,同时沉淀出云原生架构抗风险建设的实战方法论。
441 5
|
运维 数据可视化 数据库
一小时搞定服务器软件部署:资深工程师实测方案
本文分享了一位运维工程师在短时间内将30个不同软件部署到新服务器上的实战经验。面对全新 Rocky Linux 系统,传统手工部署方式效率低下且容易出错。作者尝试多种自动化方案后,最终选择使用自动化部署工具,通过其内置的 Docker Compose 模板和可视化界面,实现快速、批量部署,大幅提升效率,30个应用仅用约1小时完成,显著节省时间和人力成本。
|
数据可视化 Java 开发工具
在分支回滚后,如何恢复被回滚的代码?
在分支回滚后,如何恢复被回滚的代码?
2289 8
|
存储 运维 监控
实战:使用Spring Boot Admin实现运维监控平台
我们知道,使用Actuator可以收集应用系统的健康状态、内存、线程、堆栈、配置等信息,比较全面地监控了Spring Boot应用的整个生命周期。但是还有一个问题:如何呈现这些采集到的应用监控数据、性能数据呢?在这样的背景下,就诞生了另一个开源软件Spring Boot Admin。下面就来介绍什么是Spring Boot Admin以及如何使用Spring Boot Admin搭建完整的运维监控平台。
132828 3
实战:使用Spring Boot Admin实现运维监控平台
|
SQL 运维 监控
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具