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(롤 각속도)의 단위는 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
MIMO 전달 함수 생성하기
MIMO 전달 함수는 기본적인 SISO 전달 함수로 구성된 2차원 배열입니다. MIMO 전달 함수 모델을 지정하는 방법에는 두 가지가 있습니다.
SISO 전달 함수 모델의 결합
셀형 배열 인수와 함께
tf사용하기
SISO 모델의 결합
다음과 같이 1-입력 2-출력 전달 함수가 있다고 가정하겠습니다.
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 전달 함수를 정의하려면 각각 분자 다항식과 분모 다항식의 집합을 나타내는 2개의 셀형 배열(예: N과 D)이 필요합니다. 셀형 배열에 대한 자세한 내용은 셀형 배열 항목을 참조하십시오.
예를 들어 유리 전달 행렬 H(s)에 대해 2개의 셀형 배열 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}는 전달 행렬 H(s)의 ij번째 요소인 Hij(s)의 분자 및 분모의 행 벡터 표현이어야 합니다.
MIMO 시스템의 I/O 쌍에 액세스하기
MIMO 시스템을 정의한 후에는 시스템의 입력과 출력 쌍을 지정하여 I/O 쌍을 액세스하고 조작할 수 있습니다. 예를 들어, sys_mimo가 두 개의 입력과 세 개의 출력이 있는 MIMO 시스템인 경우 다음 명령은
sys_mimo(3,1)
첫 번째 입력을 세 번째 출력에 매핑하여 서브시스템을 추출합니다. 행 인덱스는 출력을 선택하고 열 인덱스는 입력을 선택합니다. 이와 유사하게 다음 명령은
sys_mimo(3,1) = tf(1,[1 0])
첫 번째 입력과 세 번째 출력 사이의 전달 함수를 적분기로 다시 정의합니다.