MIMO-Modelle
Zustandsraummodell eines Transportflugzeugs mit Düsenantrieb
In diesem Beispiel wird gezeigt, wie ein MIMO-Modell eines Düsenflugzeugs erstellt wird. Da die Entwicklung eines physikalischen Modells für ein Düsenflugzeug recht langwierig ist, werden hier nur die Zustandsraumgleichungen dargestellt. Eine ausführlichere Darstellung der physikalischen Grundlagen des Fluges finden Sie in den Standardabhandlungen über die Luftfahrt.
Das Modell eines Düsenflugzeugs im Flug bei MACH = 0,8 und H = 40,000 Fuß hat die folgende Form:
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];
Verwenden Sie die folgenden Befehle, um dieses Zustandsraummodell als LTI-Objekt anzugeben und den Zuständen, Eingängen und Ausgängen Namen zuzuweisen.
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);
Das LTI-Modell können Sie anzeigen, indem Sie sys_mimo eingeben.
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.
Dieses Modell enthält zwei Eingänge und zwei Ausgänge. Als Einheiten werden das Bogenmaß in Radiant für beta (Schiebewinkel („Slip“)) und phi (Rollwinkel) und Radiant/s für yaw (Giergeschwindigkeit) und roll (Rollgeschwindigkeit) verwendet. Die Anstellwinkel von Steuerruder und die Querruder werden in Grad angegeben.
Verwenden Sie wie im SISO-Fall die Funktion tf, um die Darstellung als Transferfunktion abzuleiten.
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
Konstruieren von MIMO-Transferfunktionen
MIMO-Transferfunktionen sind zweidimensionale Arrays aus elementaren SISO-Transferfunktionen. Zum Angeben von MIMO-Transferfunktionsmodellen gibt es zwei Möglichkeiten:
Verkettung von SISO-Transferfunktionsmodellen
Verwendung von
tfmit Zellenarray-Argumenten
Verkettung von SISO-Modellen
Betrachten Sie die folgende Transferfunktion mit einem Eingang und zwei Ausgängen.
Sie können H(s) durch Verkettung der SISO-Einträge angeben. Beispiel:
h11 = tf([1 -1],[1 1]); h21 = tf([1 2],[1 4 5]);
oder das Äquivalent
s = tf('s')
h11 = (s-1)/(s+1);
h21 = (s+2)/(s^2+4*s+5);
können verkettet werden, um H(s) zu bilden.
H = [h11; h21]
Diese Syntax entspricht im Wesentlichen der Standardmatrixverkettung und bietet für MIMO-Systeme mit vielen Ein- und/oder Ausgängen wahrscheinlich ein höheres Maß an Einfachheit und Lesbarkeit.
Verwendung der tf-Funktion mit Zellenarrays
Sie können MIMO-Transferfunktionen aber auch mit tf definieren. Dazu benötigen Sie zwei Zellenarrays (hier N und D) zur Darstellung der Polynome im Zähler und im Nenner. Weitere Informationen zu Zellenarrays finden Sie unter Zellenarrays.
Zum Beispiel sollten für die rationale Transfermatrix H(s) die zwei Zellenarrays N und D die Zeilenvektor-Darstellungen der Polynom-Einträge in der folgenden Form enthalten:
Diese MIMO-Transfermatrix H(s) können Sie angeben, indem Sie Folgendes eingeben:
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)
Diese Befehle geben das folgende Ergebnis zurück:
Transfer function from input to output...
s - 1
#1: -----
s + 1
s + 2
#2: -------------
s^2 + 4 s + 5
Beachten Sie, dass die Dimensionen von N und D mit denen von H identisch sind. Bei einer allgemeinen MIMO-Transfermatrix H(s) sollten die Zellenarray-Einträge N{i,j} und D{i,j} die Zeilenvektor-Darstellungen des Zählers und Nenners von Hij(s), dem ij-ten Eintrag der Transfermatrix H(s), sein.
Zugreifen auf E/A-Paare in MIMO-Systemen
Nachdem Sie ein MIMO-System definiert haben, können Sie auf E/A-Paare zugreifen, indem Sie Paare aus Ein- und Ausgängen des Systems angeben. Zum Beispiel sei sys_mimo ein MIMO-System mit zwei Eingängen und drei Ausgängen:
sys_mimo(3,1)
extrahiert das Subsystem, indem der erste Eingang dem dritten Ausgang zugeordnet wird. Über Zeilenindizes werden die Ausgänge und über Spaltenindizes werden die Eingänge ausgewählt. Analog dazu wird mit
sys_mimo(3,1) = tf(1,[1 0])
die Transferfunktion zwischen dem ersten Eingang und dem dritten Ausgang als Integrator definiert.