MIMO 模型
喷气式运输机的状态空间模型
此示例说明如何构建喷气式运输机的 MIMO 模型。由于喷气式飞机物理模型开发的内容繁多,此处只介绍其中的状态空间方程。有关飞机飞行的物理学原理的更完整讨论,请参阅标准的航空教科书。
巡航飞行时 MACH = 0.8 且 H = 40,000 英尺状态下喷气式飞机模型如下
A = [-0.0558 -0.9968 0.0802 0.0415
0.5980 -0.1150 -0.0318 0
-3.0500 0.3880 -0.4650 0
0 0.0805 1.0000 0];
B = [ 0.0073 0
-0.4750 0.0077
0.1530 0.1430
0 0];
C = [0 1 0 0
0 0 0 1];
D = [0 0
0 0];
使用以下命令将此状态空间模型指定为 LTI 对象,并将名称附加到状态、输入和输出。
states = {'beta' 'yaw' 'roll' 'phi'};
inputs = {'rudder' 'aileron'};
outputs = {'yaw rate' 'bank angle'};
sys_mimo = ss(A,B,C,D,'statename',states,...
'inputname',inputs,...
'outputname',outputs);
您可以通过键入 sys_mimo 来显示 LTI 模型。
sys_mimo
a =
beta yaw roll phi
beta -0.0558 -0.9968 0.0802 0.0415
yaw 0.598 -0.115 -0.0318 0
roll -3.05 0.388 -0.465 0
phi 0 0.0805 1 0
b =
rudder aileron
beta 0.0073 0
yaw -0.475 0.0077
roll 0.153 0.143
phi 0 0
c =
beta yaw roll phi
yaw rate 0 1 0 0
bank angle 0 0 0 1
d =
rudder aileron
yaw rate 0 0
bank angle 0 0
Continuous-time model.
该模型有两个输入和两个输出。beta(侧滑角)和 phi(倾斜角)的单位为弧度;yaw(偏航角速度)和 roll(滚转角速度)的单位为弧度/秒。方向舵和副翼偏转以度为单位。
与在 SISO 示例中一样,我们使用 tf 来推导传递函数表示。
tf(sys_mimo)
Transfer function from input "rudder" to output...
-0.475 s^3 - 0.2479 s^2 - 0.1187 s - 0.05633
yaw rate: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
0.1148 s^2 - 0.2004 s - 1.373
bank angle: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
Transfer function from input "aileron" to output...
0.0077 s^3 - 0.0005372 s^2 + 0.008688 s + 0.004523
yaw rate: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
0.1436 s^2 + 0.02737 s + 0.1104
bank angle: ---------------------------------------------------
s^4 + 0.6358 s^3 + 0.9389 s^2 + 0.5116 s + 0.003674
构造 MIMO 传递函数
MIMO 传递函数是由基本 SISO 传递函数组成的二维数组。可以通过以下两种方法来指定 MIMO 传递函数模型:
串联 SISO 传递函数模型
将
tf与元胞数组参量结合使用
串联 SISO 模型
以如下单输入、双输出传递函数为例。
您可以通过串联其 SISO 项来指定 H(s)。例如,
h11 = tf([1 -1],[1 1]); h21 = tf([1 2],[1 4 5]);
或者,也可以将其等效项
s = tf('s')
h11 = (s-1)/(s+1);
h21 = (s+2)/(s^2+4*s+5);
串联起来构成 H(s)。
H = [h11; h21]
此语法模拟标准矩阵串联,对于具有许多输入和/或输出的 MIMO 系统来说,更容易理解,可读性更好。
将 tf 函数与元胞数组结合使用
或者,要使用 tf 定义 MIMO 传递函数,您需要两个元胞数组(即 N 和 D)来分别表示分子和分母多项式集。有关元胞数组的更多详细信息,请参阅元胞数组。
例如,对于有理传递矩阵 H(s),两个元胞数组 N 和 D 应包含以下两个等式的多项式项的行向量表示:
您可以通过键入以下内容来指定此 MIMO 传递矩阵 H(s):
N = {[1 -1];[1 2]}; % Cell array for N(s)
D = {[1 1];[1 4 5]}; % Cell array for D(s)
H = tf(N,D)
这些命令返回以下结果:
Transfer function from input to output...
s - 1
#1: -----
s + 1
s + 2
#2: -------------
s^2 + 4 s + 5
请注意,N 和 D 与 H 具有相同的维度。对于一般的 MIMO 传递矩阵 H(s),元胞数组项 N{i,j} 和 D{i,j} 应为 Hij(s)(即传递矩阵 H(s) 的第 ij 项)的分子和分母的行向量表示。
在 MIMO 系统中访问 I/O 对组
定义 MIMO 系统后,您可以通过指定系统的输入和输出对组来访问和操作 I/O 对组。例如,如果 sys_mimo 是具有两个输入和三个输出的 MIMO 系统,
sys_mimo(3,1)
会提取子系统,将第一个输入映射到第三个输出。行索引选择输出,列索引选择输入。同样,
sys_mimo(3,1) = tf(1,[1 0])
将第一个输入和第三个输出之间的传递函数重新定义为积分器。