当前位置: 首页 > news >正文

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

多变量系统知识回顾 - MIMO system

这一章对深入理解多变量系统以及鲁棒分析至关重要

首先,对于如下系统:

当G(s)为单输入,单输出系统时:

y(w)=G(jw)d(w)

如果:d(t)=d_0sin(wt+\alpha) \\ y(t)=y_0sin(wt+\beta)

则:

d(w)=d_0e^{j\alpha} \\ y(w)=y_0e^{j\beta}

所以

\left | G(jw) \right |=\frac{|y(w)|}{|d(w)|}=\frac{y_0}{d_0} \\ \angle G(jw)=\beta-\alpha

因此,对于SISO,系统的增益跟w有关系,\frac{|y(w)|}{|d(w)|}=\frac{|G(jw)d(w)))}{|d(w)|}=|G(jw)|

当G(s)为MIMO时,例如2X2时,

假设输入信号为:

 d(t)=\begin{bmatrix} d_1(t))\\ d_2(t) \end{bmatrix}=\begin{bmatrix} d_{10}sin(wt+\alpha_1)\\ d_{20}sin(wt+\alpha_2) \end{bmatrix}

输出信号为:

y(t)=\begin{bmatrix} y_1(t))\\ y_2(t) \end{bmatrix}=\begin{bmatrix} y_{10}sin(wt+\beta_1)\\ y_{20}sin(wt+\beta_2) \end{bmatrix}

则:

d(w)=\begin{bmatrix} d_{10}e^{j\alpha_1}\\ d_{20}e^{j\alpha_2}) \end{bmatrix} \\ y(w)=\begin{bmatrix} y_{10}e^{j\beta_1}\\ y_{20}e^{j\beta_2}) \end{bmatrix}

对于MIMO,系统的输入和输出均为矢量矩阵,所以系统的增益为:

\left | G(jw) \right |=\frac{|y(w)|}{|d(w)|}=\frac{\begin{Vmatrix} y(w) \end{Vmatrix}_2}{\begin{Vmatrix} d(w) \end{Vmatrix}_2}=\frac{\sqrt{(y^2_{10}+y^2_{20}})}{\sqrt{(d^2_{10}+d^2_{20}})}

因此对于MIMO,根据上式可知,系统的增益跟输入信号的方向有关系。

下面用具体的实例来进一步说明。

例如:

d_1=\begin{bmatrix} 1\\ 0 \end{bmatrix} , d_2=\begin{bmatrix} 0\\ 1 \end{bmatrix} , d_3=\begin{bmatrix} 0.707\\ 0.707 \end{bmatrix} , d_4=\begin{bmatrix} 0.707\\ -0.707 \end{bmatrix} , d_5=\begin{bmatrix} 0.6\\ -0.8 \end{bmatrix} \\ G_1=\begin{bmatrix} 5 & 4\\ 3 & 2 \end{bmatrix}

根据:

y=Gd

可知:

y_1=\begin{bmatrix} 5\\ 3 \end{bmatrix} , y_2=\begin{bmatrix} 4\\ 2 \end{bmatrix} , y_3=\begin{bmatrix} 6.36\\ 3.54 \end{bmatrix} , y_4=\begin{bmatrix} 0.707\\ 0.707 \end{bmatrix} , y_5=\begin{bmatrix} -0.2\\ 0.2 \end{bmatrix}

\begin{Vmatrix} y_1 \end{Vmatrix}_2=5.83, \begin{Vmatrix} y_2 \end{Vmatrix}_2=4.74, \begin{Vmatrix} y_3 \end{Vmatrix}_2=7.3, \begin{Vmatrix} y_4 \end{Vmatrix}_2=1, \begin{Vmatrix} y_5 \end{Vmatrix}_2=0.28,

其中,在系统的响应中 y_{max}=\bar{\sigma},y_{min}=\underset{\bar{}}{\sigma},

\bar{\sigma}为G的最大singular value,\underset{\bar{}}{\sigma}为G的最小singular value

\underset{\bar{}}{\sigma}\leq \left | G(jw) \right |=\frac{\begin{Vmatrix} y(w) \end{Vmatrix}_2}{\begin{Vmatrix} d(w) \end{Vmatrix}_2}\leq \bar{\sigma}

用MATLAB求取矩阵的singular value的代码如下:

clear all;clc;
G1=[5 4; 3 2];
[U S V]=svd(G1)

程序运行结果如下:

U =-0.8718   -0.4899-0.4899    0.8718S =7.3434         00    0.2724V =-0.7937    0.6083-0.6083   -0.7937

所以:

y_{max}=\bar{\sigma}=7.34 \\ y_{min}=\underset{\bar{}}{\sigma}=0.27

如果取横坐标为:d_{20}/d_{10},纵坐标为:\left | G(jw) \right |={\begin{Vmatrix} y(w) \end{Vmatrix}_2}/{\begin{Vmatrix} d(w) \end{Vmatrix}_2},我们可以得到如下图示结果:

如果G是一个传递函数呢?

例如:G(s)=\begin{bmatrix} 0 & \frac{3s}{s^2+s+10}\\ \frac{s+1}{s+5} & \frac{2}{s+6} \end{bmatrix},我们可以利用MATLAB得到在一定频率范围内,系统的最大相应。

MATLAB 代码如下:

clear all;clc;
s=tf('s');
G=[1/(s^2+2*s+100) 1/(s+50); 1/s+10 1/(s+300)];
sigma(G)
grid on

程序运行结果如下:

根据上述结果,我们可以知道在频率大于1rad/s时,系统的最大相应为20dB。

接下来我们将引入鲁棒分析的设计概念。

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

非常感谢小伙伴们的-点赞-收藏-加关注。

http://www.xdnf.cn/news/343.html

相关文章:

  • 机器学习 | 细说Deep Q-Network(DQN)
  • 学习笔记十六——Rust Monad从头学
  • 【音视频】FLV格式分析
  • 让SQL飞起来:搭建企业AI应用的SQL性能优化实战
  • 2025年4月16日华为留学生笔试第二题200分
  • VS2022+QT环境配置及基本操作
  • Prometheus thanos架构
  • 2025年4月16日华为留学生笔试第三题300分
  • 自求导实现线性回归与PyTorch张量详解
  • Unity3d 6(6000.*.*)版本国区下载安装参考
  • 机器学习简介
  • python20-while和for in的美
  • 2025能源网络安全大赛CTF --- Crypto wp
  • visual studio 2022更改项目名称,灾难性故障(异常来自HRESULT)
  • 【Rust基础】使用Rocket构建基于SSE的流式回复
  • 模型加载常见问题
  • C/C++指针
  • 四大wordpress模板站
  • 第十七届“华中杯”大学生数学建模挑战赛题目A题 晶硅片产销策略优化 完整成品 代码 模型 思路 分享