MIMO 상태공간 모델
MIMO 명시적 상태공간 모델
SISO 상태공간 모델을 만드는 방법과 동일한 방법으로 MIMO 상태공간 모델을 만들 수 있습니다. SISO 경우와 MIMO 경우의 유일한 차이점은 상태공간 행렬의 차원입니다. 다음 그림에 표시된 것처럼, B, C, D 행렬의 차원은 입력과 출력 개수에 따라 늘어납니다.

이 예제에서는 서로 간에 다음과 같은 연관성이 있는 관성 텐서 J, 감쇠력 F, 3개의 회전 축을 갖는 회전 몸체에 대한 상태공간 모델을 만듭니다.
시스템 입력 T는 구동 토크입니다. 출력 y는 회전 몸체의 각속도로 구성된 벡터입니다.
이 시스템을 상태공간 형식으로 표현하면 다음과 같습니다.
다음과 같이 다시 작성합니다.
그러면 상태공간 행렬은 다음과 같습니다.
이 모델을 만들려면 다음 명령을 입력합니다.
J = [8 -3 -3; -3 8 -3; -3 -3 8]; F = 0.2*eye(3); A = -J\F; B = inv(J); C = eye(3); D = 0; sys_mimo = ss(A,B,C,D);
이러한 명령에서는 J가 코너를 중심으로 회전하는 정육면체의 관성 텐서이고 감쇠력의 크기가 0.2라고 가정합니다.
sys_mimo는 ss 모델입니다.
MIMO 설명자 상태공간 모델
이 예제에서는 dss를 사용하여 연속시간 설명자(묵시적) 상태공간 모델을 만드는 방법을 보여줍니다.
이 예제에서는 MIMO 명시적 상태공간 모델에 나와 있는 것과 동일한 회전 몸체 시스템을 사용합니다. 여기서는 B 행렬의 값을 얻기 위해 관성 행렬 J의 역행렬을 구했습니다. J의 역행렬을 구하기에는 조건이 나쁜 경우, 설명자(묵시적) 상태공간 모델을 대신 사용할 수 있습니다. 설명자(묵시적) 상태공간 모델의 형식은 다음과 같습니다.
서로 간에 다음과 같은 연관성이 있는 관성 텐서 J, 감쇠력 F, 3개의 회전 축을 갖는 회전 몸체에 대한 상태공간 모델을 만듭니다.
시스템 입력 T는 구동 토크입니다. 출력 y는 회전 몸체의 각속도로 구성된 벡터입니다. 이 시스템을 다음 상태공간 행렬을 갖는 설명자 상태공간 모델로 작성할 수 있습니다.
이 시스템을 만들려면 다음을 입력합니다.
J = [8 -3 -3; -3 8 -3; -3 -3 8]; F = 0.2*eye(3); A = -F; B = eye(3); C = eye(3); D = 0; E = J; sys_mimo = dss(A,B,C,D,E)
이러한 명령에서는 J가 코너를 중심으로 회전하는 정육면체의 관성 텐서이고 감쇠력의 크기가 0.2라고 가정합니다.
sys는 비어 있지 않은 E 행렬을 가진 ss 모델입니다.
제트 수송기의 상태공간 모델
이 예제에서는 제트 수송기의 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(롤 각속도)의 단위는 radians/sec입니다. 방향키 및 도움날개 변위각의 단위는 도입니다.
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