본문 바로가기
유도항법제어/비행제어

진동 모드 해석

by 세인트 워터멜론 2021. 1. 26.

복소수는 실수부와 허수부를 갖는 수체계다.

 

 

실수부를 \(x\)축에, 허수부를 \(y\)축에 표시하면 복소수를 복소 평면상에 표시할 수 있다. 복소수는 보통 실수부와 허수부로 표현하지만 다음과 같이 크기와 위상각으로도 표현할 수 있다.

 

\[ \begin{align} z &=x+jy \\ \\ &= r \cos \theta +j r \sin \theta \end{align} \]

 

 

 

여기서 \(r\)은 복소수의 크기, \(\theta\)는 위상각이며 각각 다음과 같이 계산할 수 있다.

 

\[ r= \sqrt{x^2+y^2 }, \ \ \ \theta =\tan^{-1} \left( \frac{y}{x} \right) \]

 

오일러 공식(Euler formula)에 의하면 다음 식이 성립하므로,

 

\[ e^{j \theta} = \cos \theta + j \sin \theta \]

 

복소수는 다음과 같이 쓸 수 있다.

 

\[ z=r e^{j \theta} \]

 

두 개의 복소수 \(z_1\)과 \(z_2\)의 곱셈을 구할 때는 다음과 같이 복소수를 크기와 위상각으로 표현하여 계산하는 것이 편리하다.

 

\[ \begin{align} z_1 z_2 &= r_1 e^{j \theta_1 } \ r_2 e^{j \theta_2 } \\ \\ &= r_1 r_2 \ e^{j( \theta_1+\theta_2) } \end{align} \]

 

곱셈의 결과 복소수의 크기는 두 복소수의 크기를 곱한 것과 같고 위상각은 더한 것과 같다.

일반적인 정방 행렬에서 고유값(eigenvalue)과 고유벡터(eigenvector)는 복소수 값을 가질 수 있다. 만약 실수 행렬이라면 고유값과 고유벡터가 복소수일때, 그 켤레 복소수(complex conjugate)도 고유값과 고유벡터가 된다. 증명은 다음과 같다.

먼저 정방 행렬 \(A\)의 고유값과 고유벡터는 다음과 같이 정의된다.

 

\[ A \mathbf{v} = \lambda \mathbf{v} \tag{1} \]

 

여기서 \(\lambda\)는 고유값, \(\mathbf{v}\)는 그에 대응하는 고유벡터다. 켤레 복소수를 사용하면 위 식은 다음과 같이 쓸 수 있다.

 

\[ \bar{A} \bar{\mathbf{v}} = \bar{\lambda} \bar{\mathbf{v}} \tag{2} \]

 

여기서 바(bar)는 켤레 복소수를 나타내는 기호이다. \(A\)는 실수 행렬이므로 위 식은 다음과 같이 된다.

 

\[ A \bar{\mathbf{v}} = \bar{\lambda} \bar{\mathbf{v}} \tag{3} \]

 

식 (3)에 의하면 \(A\)가 실수 행렬인 경우, \(\lambda\)와 \(\mathbf{v}\)가 고유값과 고유벡터이면 그 켤레 복소수와 켤레 복소 벡터인 \(\bar{\lambda}\)와 \(\bar{\mathbf{v}}\)도 고유값과 고유벡터가 되는 것을 알 수 있다.

상태변수의 미분 방정식으로 표현되는 어떤 시스템의 운동 방정식,

 

\[ \dot{\mathbf{x}} = A \mathbf{x} \tag{4} \]

 

의 해는 다음과 같이 주어진다.

 

\[ \mathbf{x}(t)= c_1 \mathbf{v}_1 e^{\lambda_1 t}+ c_2 \mathbf{v}_2 e^{\lambda_2 t} \tag{5} \]

 

여기서 \(A\)는 \(2 \times 2\) 실수 행렬이며 \(c_1, c_2\)는 미지의 상수이고, \(\lambda_1, \lambda_2\)와 \(\mathbf{v}_1, \mathbf{v}_2\)는 각각 행렬 \(A\)의 고유값과 고유벡터다. 행렬 \(A\)의 고유값과 고유벡터로 구성된 \(\mathbf{v}_i e^{\lambda_i t} \)를 \(i\) 번째 운동 모드라고 한다.

그런데 여기서 고유값이 복소수로 나오면 어떻게 될까.

 

 

식 (5)에서 고유값 \(\lambda_1, \lambda_2\)가 다음과 같이 켤레 복소수이라고 가정해 보자.

 

\[ \lambda_1=\sigma + j \omega, \ \ \ \lambda_2 = \bar{\lambda}_1 = \sigma-j \omega \tag{6} \]

 

그러면 고유값에 대응하는 고유벡터도 서로 켤레 복소수인 벡터가 된다. 곱셈에서는 복소수를 크기와 위상각 형태로 쓰는 것이 유리하므로 고유벡터는 다음과 같이 표현한다.

 

\[ \mathbf{v}_1= \begin{bmatrix} M_1 e^{j \theta_1 } \\ M_2 e^{j \theta_2 } \end{bmatrix}, \ \ \ \mathbf{v}_2=\bar{\mathbf{v}}_1=\begin{bmatrix} M_1 e^{-j \theta_1 } \\ M_2 e^{-j \theta_2 } \end{bmatrix} \tag{7} \]

 

상태변수 벡터 \(\mathbf{x}(t)\)는 실수값을 가져야 하므로 식 (5)의 미지 상수 \(c_1, c_2\)도 켤레 복소수이어야 한다. 따라서 미지 상수도 각각 크기와 위상각 형태로 표현한다.

 

\[ c_1=M_c e^{j \theta_c}, \ \ \ c_2=M_c e^{-j \theta_c} \tag{8} \]

 

이제 식 (6), (7), (8)을 식 (5) 대입하면 다음과 같이 된다.

 

\[ \begin{align} \mathbf{x}(t) &= c_1 \mathbf{v}_1 e^{(\sigma +j \omega)t }+ \bar{c}_1 \bar{\mathbf{v}}_1 e^{(\sigma-j \omega)t} \tag{9} \\ \\ &= e^{\sigma t} \{ M_c e^{j \theta_c} \begin{bmatrix} M_1 e^{j \theta_1} \\ M_2 e^{j \theta_2 } \end{bmatrix} e^{j \omega t }+ M_c e^{-j \theta_c} \begin{bmatrix} M_1 e^{-j \theta_1} \\ M_2 e^{-j \theta_2 } \end{bmatrix} e^{-j \omega t } \} \\ \\ &=e^{\sigma t} M_c \begin{bmatrix} M_1 ( e^{j(\omega t + \theta_1+ \theta_c )} + e^{-j(\omega t+\theta_1+\theta_c ) } ) \\ M_2 ( e^{j(\omega t + \theta_2+ \theta_c )} + e^{-j(\omega t+\theta_2+\theta_c ) } ) \end{bmatrix} \\ \\ &= 2 e^{\sigma t} M_c \begin{bmatrix} M_1 \cos (\omega t +\theta_1 + \theta_c ) \\ M_2 \cos (\omega t +\theta_1 + \theta_c ) \end{bmatrix} \end{align} \]

 

식 (9)에 의하면 고유값이 복소수일 때 시스템은 진동하며 진동 주파수 \(\omega\)는 고유값의 허수부값이고 진동의 크기는 실수부 값의 지수함수 \(e^{\sigma t}\)에 비례한다. 따라서 시스템이 안정하려면 고유값의 실수부가 음수이어야 한다. 시스템의 진동 반응은 두 개의 켤레 고유값과 고유벡터가 결합하여 나온 것이므로, 이 경우는 한 개의 운동 모드로 본다.

\(e^{\sigma t}\)와 \(M_c\)는 모든 상태변수에서 동일하므로 진동 모드에서 상태변수 간의 상대적인 크기는 고유벡터가 결정한다. 고유벡터 \(\mathbf{v}_1\)의 각 성분의 크기와 위상각이 다음과 같을 때

 

\[ \mathbf{v}_1 = \begin{bmatrix} v_{11} \\ v_{12} \end{bmatrix} = \begin{bmatrix} M_1 e^{j \theta_1} \\ M_2 e^{j \theta_2} \end{bmatrix} \]

 

상태변수의 상대적인 진동 크기는 다음 그림으로 표현할 수 있다.

 

 

시뮬레이션 예를 들어보자. 시스템의 운동 방정식과 초기값이 다음과 같을 때,

 

\[ \begin{bmatrix} \dot{x}_1 \\ \dot{x}_2 \end{bmatrix} = \begin{bmatrix} -1 & 2 \\ -2 & -1 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}, \ \ \ \begin{bmatrix} x_1(0) \\ x_2(0) \end{bmatrix} = \begin{bmatrix} 1 \\ 0 \end{bmatrix} \]

 

고유값과 고유벡터는 각각 다음과 같다.

 

\[ \lambda_{1,2}=-1 \pm 2, \ \ \ v_{1,2} = \begin{bmatrix} \mp j \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} \end{bmatrix} \]

 

시스템의 반응은 다음 그림과 같이 감쇠있는 진동 운동을 한다.

 

 

운동 방정식 (4)에서 \(A\)가 일반적인 \( n \times n\) 실수 행렬인 경우에는 여러가지 조합의 운동 모드가 나올 수 있다.

예를 들어 \(A\)가 \(4 \times 4\) 실수 행렬인 경우에는 고유값이 \(2\)쌍의 켤레 복소수로 나올 수도 있다. 이 경우의 운동 모드는 \(2\)개로 모두 진동 모드이다.

만약 고유값이 켤레 복소수 \(1\)쌍과 두 개의 실수로 나온다면 \(3\)개의 운동 모드가 나오며 그 중 \(1\)개는 진동 모드다.

고유값이 모두 실수값으로 나온다면 진동 없는 \(4\)개의 운동 모드가 있는 것이다.

 

 

 

'유도항법제어 > 비행제어' 카테고리의 다른 글

주파수 응답  (0) 2021.02.05
정정상태 응답과 과도 응답  (0) 2021.02.05
운동 모드 해석  (0) 2021.01.26
[Continuous-Time] 선형 시스템  (0) 2021.01.10
시스템의 수학적 표현 방법  (0) 2021.01.09

댓글