当前位置: 首页 > 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.mrgr.cn/news/98779.html

相关文章:

  • Java虚拟机(JVM)平台无关?相关?
  • 22、字节与字符的概念以及二者有什么区别?
  • 《Java 并发编程实践》阅读笔记(一):线程重要性
  • 【教学类-102-13】蝴蝶外轮廓03——Python三色图修图代码+制作230灰度的蝴蝶描线图(可以改变描边线条的灰色深浅度)
  • C++编译与链接:从源码到可执行文件的魔法之旅(Visual Studio实践)
  • android如何在生产环境中做到详实的日志收集而不影响性能?
  • 线性回归 (Linear Regression) 多项式回归 (Polynomial Regression)
  • Qt GUI 库总结
  • 批量上传OpenStack镜像
  • 鬼泣:远程攻击
  • MCP理解笔记及deepseek使用MCP案例介绍
  • 关于C语言的模拟物理模型
  • 12孔AG调陶笛音域全解析:从E4到C6的演奏艺术
  • 在高数据速度下确保信号完整性的 10 个关键策略
  • 林纳斯·托瓦兹:Linux系统之父 Git创始人
  • 面试情景题:企业内部系统如何做微前端拆分,如何通信?
  • java 多线程之Worker Thread模式(Thread Pool模式)
  • CS144 Lab0实战记录:搭建网络编程基础
  • 每日算法-链表(23.合并k个升序链表、25.k个一组翻转链表)
  • 【算法】快速排序、归并排序(非递归版)