Hauptinhalt

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 tf mit Zellenarray-Argumenten

Verkettung von SISO-Modellen

Betrachten Sie die folgende Transferfunktion mit einem Eingang und zwei Ausgängen.

H(s)=[s1s+1s+2s2+4s+5]

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:

N(s)=[s1s+2]D(s)=[s+1s2+4s+5]

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.