임펄스벡터

**임펄스벡터**(impulse vector, 일명 **강벡터** Kang vector)는 잔류진동(residual vibration)을 제거하는 입력성형기(input shaper)를 도해적으로 설계하거나 해석할 때 사용할 수 있는 수학적 도구이다. 임펄스벡터는 비감쇠시스템(undamped system)과 부족감쇠시스템(underdamped system) 모두에 대해 사용할 수 있을 뿐 아니라, 양의 임펄스(positive impulse)와 음의 임펄스(negative impulse)에 대해 동일한 방법으로 적용할 수 있다. 임펄스벡터를 사용하면 입력성형기의 임펄스시간(impulse time)과 임펄스크기(impulse magnitude)를 도해적으로 쉽게 구할 수 있다.

입력성형에 대한 벡터 개념은 양의 임펄스를 가진 비감쇠시스템에 대해 W. Singhose가 처음 제안하였다. 강철구(C.-G. Kang)는 이 Singhose의 벡터 개념을 일반화하여, 비감쇠시스템과 부족감쇠시스템, 그리고 양의 임펄스와 음의 임펄스에 적용할 수 있는 임펄스벡터를 제안하였다.

## 임펄스벡터의 정의
섬네일|444x444px|임펄스함수와 이에 상응하는 임펄스벡터 (혹은 강벡터). (a) 양의 임펄스(<math>A_i > 0</math>)에 대한 임펄스벡터는 시점을 원점에 두고, (b) 음의 임펄스(<math>A_i < 0</math>)에 대한 임펄스벡터는 종점을 원점에 둠.
비감쇠 고유진동수(undamped natural frequency)가 \omega_n, 감쇠비(damping ratio)가 \zeta인 이차시스템에 대해, 임펄스함수 A_i \delta (t-t_i), i=1,2,\cdots,n에 해당하는 **임펄스벡터** (혹은 **강벡터**) {\bold I}_i의 크기 I_i와 각도 \theta_i는 2차원 극좌표계에서 다음과 같이 정의된다.

\qquad I_i=A_i e^{\zeta \omega_n t_i}

\qquad  \theta_i = \omega_d t_i

여기서 A_i는 임펄스함수의 크기를, t_i는 임펄스함수의 시간위치를 나타내고, \omega_d는 감쇠고유진동수(damped natural frequency) \omega_n \sqrt {1-\zeta^2}을 의미한다. A_i > 0인 양의 임펄스에 대한 임펄스벡터는 시점이 극좌표계의 원점에 위치하고, 반면에 A_i 인 음의 임펄스에 대한 임펄스벡터는 종점이 극좌표계의 원점에 위치한다. □

 \qquad 

이 정의에서 임펄스벡터의 크기 I_i는 A_i에 시간 t_i동안 감쇠영향을 곱한 것으로서, 감쇠되기 전 A_i의 크기를 나타낸다. 각도 \theta_i는 임펄스시간 t_i에 감쇠고유진동수 \omega_d를 곱한 값이다. \delta (t-t_i)는 시간 t_i에 작용하는 디락델타함수(Dirac delta function)를 나타낸다. 참고로, 임펄스함수는 순수한 수학적 양인데 비해, 임펄스벡터는 수학적 임펄스함수에 추가적으로 물리량인 \omega_n과 \zeta를 내포하고 있다. 두개 이상의 임펄스벡터를 하나의 극좌표계에 표시한 것을 **임펄스벡터선도**(impulse vector diagram)라고 한다. 임펄스벡터선도는 임펄스열(impulse sequence)을 도해적으로 나타낸 것이라고 볼 수 있다.
섬네일|444x444px|<math>\omega_n = 2\pi</math>이고 <math>\zeta=0.2</math>인 이차시스템에 대해 <math>A_1 = 1</math>, <math>t_1 = 0.2</math>s 일 때 두 임펄스벡터와 상응하는 두 임펄스응답. (a) 크기가 같고 각도가 <math>\pi</math>만큼 차이나는 두 임펄스벡터 <math>{\bold I}_1</math>과 <math>{\bold I}_2</math>. 원점으로부터 바깥을 향하는 <math>{\bold I}_1</math>과 원점을 향하는 <math>{\bold I}_2</math>는 덧셈과 뺄셈에서 같은 벡터로 간주됨. (b) <math>{\bold I}_1</math>과  <math>{\bold I}_2</math>에 상응하는 두 임펄스응답 <math>y_1</math>과 <math>y_2</math>는 마지막 임펄스시간 <math>t_2</math>이후에 정확히 일치함.

오른쪽 그림과 같은 두 임펄스벡터 {\bold I}_1과 {\bold I}_2를 고려해보자. 임펄스벡터 {\bold I}_1은 양의 임펄스 A_1 > 0에 해당하는 크기 I_1 (>0)과 각도 \theta_1을 가지고 있고, 임펄스벡터 {\bold I}_2는 음의 임펄스 A_2 에 해당하는 크기 I_2 = -I_1과 각도 \theta_2 = \theta_1 + \pi를 가지고 있을 때, {\bold I}_1과 {\bold I}_2에 상응하는 두 시간응답은 마지막 임펄스시간 t_2이후에 정확히 일치하므로, 벡터 더하기나 빼기에서 두 임펄스벡터 {\bold I}_1과 {\bold I}_2는 동일한 벡터로 간주된다. 임펄스벡터는 교환법칙, 결합법칙, 스칼라곱에 대한 분배법칙을 만족한다.

임펄스벡터의 크기는 임펄스크기를 결정하고, 임펄스벡터의 각도는 임펄스시간을 결정한다. 임펄스벡터선도에서 1회전에 해당하는 각도 2\pi는 상응하는 임펄스응답의 1주기(감쇠주기)에 해당한다.

비감쇠시스템(\zeta=0)이면 임펄스벡터의 크기와 각도는 I_i = A_i와 \theta_i = \omega_n t_i로 표현된다.

## 임펄스벡터의 성질
섬네일|469x469px|(a) 두 임펄스벡터의 합벡터에 대한 두가지 표현 <math>{\bold I}_{R1}</math>과 <math>{\bold I}_{R2}</math>, (b) 각각에 상응하는 임펄스응답 <math>y_{R1}</math>과 <math>y_{R2}</math>.

### 성질 1. 두 임펄스벡터의 합벡터
두 임펄스벡터의 합벡터에 상응하는 이차시스템의 임펄스응답(impulse response)은 비감쇠시스템이든 부족감쇠시스템이든 관계없이, 두 임펄스벡터에 상응하는 두 임펄스입력을 가진 이차시스템의 응답과 최종 임펄스시간 이후에 동일하다. □

### 성질 2. 임펄스벡터의 합이 0인 경우
임펄스벡터들의 합벡터가 0이면, 상응하는 임펄스열을 입력으로 가진 이차시스템의 시간응답은, 비감쇠시스템이든 부족감쇠시스템이든 관계없이, 마지막 임펄스시간 이후에 0이다. □

 \qquad 

섬네일|468x468px|(a) 임펄스벡터 <math>{\bold I}_3</math>을 추가하여 합벡터를 0으로 만듬. (b) 이에 상응하는 임펄스열 <math>A_1 \delta (t) + A_2 \delta (t-t_2) +A_3 \delta (t-t_3)</math>에 대한 이차시스템(<math>\omega_n = 2 \pi , \zeta = 0.1</math>)의 시간응답은 마지막 임펄스시간 <math>t_3</math> 이후에 잔류진동을 제거함.

전달함수(transfer function)가 4 \pi^2 / (s^2 + 0.4s + 4 \pi^2)인 부족감쇠 이차시스템을 생각해보자. 이 시스템의 고유진동수는 \omega_n = 2\pi rad/s이고 감쇠비는 \zeta = 0.1이다. 그림과 같은 두 임펄스벡터 {\bold I}_1과 {\bold I}_2에 대해 합벡터는 {\bold I}_{R1}과 {\bold I}_{R2}의 두가지로 표현될 수 있다. 합벡터 {\bold I}_{R1}은 크기가 A_{R1}=I_{R1}/e^{\zeta \omega_n t_{R1}}이고 시간이 t_{R1}=\theta_{R1}/\omega_d인 음의 임펄스에 해당하는 임펄스벡터이고, {\bold I}_{R2}는 크기가 A_{R2}=I_{R2}/e^{\zeta \omega_n t_{R2}}이고 시간이 t_{R2}=\theta_{R2}/\omega_d인 양의 임펄스에 해당하는 임펄스벡터이다.

합벡터 {\bold I}_{R1}과 {\bold I}_{R2}는 다음과 구해질 수 있다.

\qquad R_x = I_1 + I_2 cos \theta_2 , \qquad R_y = I_2 sin \theta_2 

\qquad I_{R1} = - \sqrt{R_x^2 + R_y^2}, \qquad  \theta_{R1} = \pi + \tan^{-1} (R_y / R_x) 

\qquad I_{R2} =  \sqrt{R_x^2 + R_y^2},\qquad \ \ \theta_{R2} =  \tan^{-1} (R_y / R_x) 

참고로 - \pi /2 이다. {\bold I}_{R1}과 {\bold I}_{R2}에 상응하는 임펄스응답  y_{R1}과 y_{R2}는, 오른쪽 그림 (b)의 녹색선에서 보듯이, 각각의 임펄스시간 이후에 y_1 + y_2와 정확히 일치한다.

이제 합벡터를 0으로 만들기 위해 \mathbf{I}_1 + \mathbf{I}_2에 세번째 임펄스벡터 {\bold I}_3을 그림과 같이 추가해보자. 임펄스벡터 {\bold I}_3은 다음과 같이 구해질 수 있다.

\qquad I_3 = \sqrt{R_x^2 + R_y^2},\qquad  \theta_3 = \pi + \tan^{-1}(R_y /R_x )

임펄스벡터 {\bold I}_1, {\bold I}_2, {\bold I}_3에 상응하는 임펄스열을 이차시스템에 입력으로 가하면, 오른쪽 시간응답 (b)의 빨간선에서 보듯이, 마지막 임펄스시간 t_3 이후에 잔류진동이 사라진다. 물론 합벡터를 0으로 만드는 임펄스벡터  \mathbf{I}^'_3도 존재할 수 있다.  \mathbf{I}^'_3은 {\bold I}_3과 크기는 같으나 각도가 \pi 만큼 더 커서, 상응하는 시간응답은 반주기 더 지나서 잔류진동을 제거한다.

## 적용: 임펄스벡터를 이용한 입력성형기 설계

### ZVD<sup>''n''</sup> 성형기
임펄스벡터를 사용하면, 잘 알려진 기존의 ZV 성형기(zero vibration shaper), ZVD 성형기(zero vibration and derivative shaper), ZVD*<sup>n</sup>* 성형기 등을 쉽게 재설계할 수 있다.
섬네일|408x408px|임펄스벡터선도. (a) ZV 성형기, (b) ZVD 성형기, (c) ZVD<sup>2</sup> 성형기, (d) ZVD<sup>3</sup> 성형기.
ZV 성형기는 두개의 임펄스벡터로 구성된다. 임펄스벡터선도에서 첫번째 임펄스벡터는 0°에, 두번째 임펄스벡터는, 합벡터 {\bold I}_1 + {\bold I}_2 = \bold 0이 되도록, 180°에 위치시킨다. 그러면 다음 식이 성립한다.

\qquad \theta_1 = 0, \ \ \theta_2 = \pi \qquad \therefore t_1 = 0, \ \ t_2 = \pi/\omega_d 

\qquad I_1 = I_2 = I 

그리고  정규화조건 A_1 + A_2 = 1 이 만족되어야 하므로 다음과 같이 쓸 수 있다.

\qquad I_1 + I_2/e^{\zeta \omega_n t_2} = I+I/K=1 \qquad \therefore I=\frac{K}{K+1}, \ \ K=e^{\zeta \pi/\sqrt {1-\zeta^2}} 

따라서 ZV 성형기 A_1 \delta (t) + A_2 \delta (t-t_2) 는 다음과 같이 주어진다.

\qquad \begin{bmatrix} t_i \\ A_i \end{bmatrix}= \begin{bmatrix} 0 & \pi/\omega_d \\ K/(K+1) & 1/(K+1) \end{bmatrix}
  

ZVD 성형기는 세개의 임펄스벡터로 구성된다. 임펄스벡터선도에서 벡터합이 {\bold I}_1 + {\bold I}_2 + {\bold I}_3= \bold 0이 되도록 첫번째 임펄스벡터는 0 rad에, 두번째 임펄스벡터는 \pi rad에, 세번째 임펄스벡터는 2\pi rad에 두되, 크기비를 I_1 : I_2 :I_3 = 1:2:1로 둔다. 그러면 다음과 같이 쓸 수 있다.

\qquad \theta_1 = 0, \ \ \theta_2 = \pi, \ \ \theta_3 = 2\pi \qquad \therefore t_1 = 0, \ \ t_2 = \pi/\omega_d, \ \ t_3 = 2\pi/\omega_d 

\qquad I_1 = I_3 = I, \ \ I_2 = 2I 

그리고 A_1 + A_2 + A_3= 1 이어야 하므로, 다음과 같이 쓸 수 있다.

\qquad I_1 + \frac{I_2}{e^{\zeta \omega_n t_2}} + \frac{I_3}{e^{\zeta \omega_n t_3}} = I+\frac{2I}{K}+\frac{I}{K^2}=1 \qquad \therefore I=\frac{K^2}{(K+1)^2}, \ \ K=e^{\zeta \pi/\sqrt {1-\zeta^2}} 

따라서 ZVD 성형기 A_1 \delta (t) + A_2 \delta (t-t_2)+ A_3 \delta (t-t_3) 는 다음과 같이 주어진다.

\qquad \begin{bmatrix} t_i \\ A_i \end{bmatrix}= \begin{bmatrix} 0, & \pi/\omega_d, & 2\pi/\omega_d \\ K^2/(K+1)^2, & 2K/(K+1)^2, & 1/(K+1)^2 \end{bmatrix}
  

ZVD2 성형기는 4개의 임펄스벡터로 구성된다. 벡터합이 {\bold I}_1 + {\bold I}_2 + {\bold I}_3 + {\bold I}_4 = \bold 0이 되도록, {\bold I}_1 은 0 rad에, {\bold I}_2 는 \pi  rad에, {\bold I}_3 은 2\pi rad에, {\bold I}_4 는 3\pi rad에 두되, 크기비를 I_1 : I_2 :I_3 : I_4 = 1:3:3:1로 둔다. 그러면 다음과 같이 쓸 수 있다.

\qquad \theta_1 = 0, \ \ \theta_2 = \pi, \ \ \theta_3 = 2\pi , \ \ \theta_4 = 3\pi \qquad \therefore t_1 = 0, \ \ t_2 = \pi/\omega_d, \ \ t_3 = 2\pi/\omega_d, \ \ t_4 = 3\pi/\omega_d 

\qquad I_1 = I_4 = I, \ \ I_2 = I_3 = 3I 

그리고 A_1 + A_2 + A_3+ A_4= 1 이어야 하므로, 다음과 같이 쓸 수 있다.

\qquad I_1 + \frac{I_2}{e^{\zeta \omega_n t_2}} + \frac{I_3}{e^{\zeta \omega_n t_3}} + \frac{I_4}{e^{\zeta \omega_n t_4}} = I+\frac{3I}{K}+\frac{3I}{K^2} +\frac{I}{K^3} =1 \qquad \therefore I=\frac{K^3}{(K+1)^3}, \ \ K=e^{\zeta \pi/\sqrt {1-\zeta^2}} 

따라서 ZVD2 성형기 A_1 \delta (t) + A_2 \delta (t-t_2)+ A_3 \delta (t-t_3)+ A_4 \delta (t-t_4) 는 다음과 같이 주어진다.

\qquad \begin{bmatrix} t_i \\ A_i \end{bmatrix}= \begin{bmatrix} 0, & \pi/\omega_d, & 2\pi/\omega_d, & 3\pi/\omega_d \\ K^3/(K+1)^3, & 3K^2/(K+1)^3, & 3K/(K+1)^3, & 1/(K+1)^3 \end{bmatrix}
  

같은 방법으로, ZVD3 성형기는 5개의 임펄스벡터로 구성되는데, 이 임펄스벡터를 0, \pi
  , 2\pi
  , 3\pi, 4\pi rad에 배치하고, 크기비를 I_1 : I_2 :I_3 : I_4 : I_5 = 1:4:6:4:1로 둠으로써 구할 수 있다.

일반적으로, ZVD*<sup>n</sup>* 성형기는 (n+2)개의 임펄스벡터로 구성되는데,  i번째 임펄스벡터를 (i-1)\pi rad에 배치하고, 크기비를 I_1 : I_2 : I_3 : \cdots : I_{n+2} = {}_{n+1} \!C_0 : {}_{n+1} \!C_1 : {}_{n+1} \!C_2 : \cdots : {}_{n+1} \!C_{n+1}로 둠으로써 구할 수 있다. 여기서 *<math> {}_m \!C_k </math>*는 수학의 조합을 의미한다.

### ETM 성형기
이제 임펄스벡터의 크기는 같고 임펄스벡터의 각도는 2\pi rad을 등간격으로 나눈 **ETM 성형기**(Equal shaping-Time and Magnitudes shaper)를 생각해보자. ETM*n* 성형기는 다음 조건을 만족한다.
섬네일|458x458px|임펄스벡터선도. (a) ETM4 성형기, (b) ETM5 성형기, (c) ETM6 성형기.\qquad \theta_1 = 0, \ \ \theta_2 = \frac{2\pi}{n-1}, \ \ \cdots , \ \ \theta_{n-1} = \frac{(n-2)2\pi}{n-1}, \ \ \theta_n = 2\pi 

\qquad I_2 = I_3 = \cdots = I_{n-1} = I_1 + I_n , \ \ I_n = mI_1 \ \ (m>0) 

 \qquad  \sum_{i=1}^{n} A_i = 1

그러면 n \geq 2에 대해 ETM*n* 성형기의 임펄스벡터합은 항상 0이다. ETM*n* 성형기의 한 장점은, ZVD*<sup>n</sup>* 성형기나 EI 성형기(extra insensitive shaper)와 달리,  n이 아무리 늘어나더라도 성형시간(shaping time)은 항상 한 주기(감쇠주기)라는 것이다.

4개의 임펄스벡터로 구성된 ETM4 성형기는 위 조건과 임펄스벡터의 정의로부터 다음과 같이 구해진다.

\qquad \begin{bmatrix} t_i \\ A_i \end{bmatrix}= \begin{bmatrix} 0, & (2\pi /3)/\omega_d, & (4\pi /3)/\omega_d, & 2\pi/\omega_d \\ I/(1+m), & I/K^{2/3}, & I/K^{4/3}, & mI/{\{(1+m)K^2 \}} \end{bmatrix}
  

\qquad \qquad  I= \frac{(1+m)K^2}{K^2 + (1+m)(K^{4/3} + K^{2/3}) +m}, \ \ K=e^{\zeta \pi / \sqrt{1-\zeta^2}}
  

5개의 임펄스벡터로 구성된 ETM5 성형기는 위 조건과 임펄스벡터의 정의로부터 다음과 같이 얻어진다.

\qquad \begin{bmatrix} t_i \\ A_i \end{bmatrix}= \begin{bmatrix} 0, & 0.5\pi/\omega_d, & \pi/\omega_d, & 1.5\pi /\omega_d, & 2\pi /\omega_d \\ I/(1+m), & I/K^{1/2}, & I/K, & I/K^{3/2} , & mI/{\{(1+m)K^2 \}} \end{bmatrix}
  

\qquad \qquad  I= \frac{(1+m)K^2}{K^2 + (1+m)(K^{3/2} + K+ K^{1/2}) +m}, \ \ K=e^{\zeta \pi / \sqrt{1-\zeta^2}}
  

같은 방법으로, n\geq 6
  에 대한 ETM*n* 성형기를 쉽게 구할 수 있다. 일반적으로 ETM 성형기는 양의 큰 모델링오차에 대해 ZVD*<sup>n</sup>* 성형기보다 더 큰 견실성(robustness)을 갖는 이점이 있다.

참고로, ZVD 성형기는 m=1
  인 ETM3 성형기이다.

### NMe 성형기
섬네일|163x163픽셀|음의 임펄스를 가진 NMe 성형기의 임펄스벡터선도.
임펄스벡터는 음의 임펄스를 가진 입력성형기를 설계할 때도 사용될 수 있다. 세 임펄스벡터의 크기가 I_1 = I \ (>0), \ I_2 = -I,\  I_3 = I이고 각도가 \theta_1 = 0, \  \theta_2 = \pi /3,\  \theta_3 = 2 \pi /3인 NMe 성형기(Negative equal-Magnitude shaper)를 생각해보자. 이 세 임펄스벡터의 합은 0이므로 잔류진동은 제거된다. NMe 성형기의 임펄스시간은 t_2 = (\pi /3)/ \omega_d, \  t_3 = (2 \pi /3)/ \omega_d로 주어지고, 임펄스크기 A_i는 다음 연립방정식으로부터 얻어진다.

 \qquad A_1 = I, A_2 = -I/e^{\zeta \omega_n t_2}, \ \  A_3 = I/e^{\zeta \omega_n t_3}

\qquad A_1 + A_2 + A_3 = 1

얻어진 NMe 성형기 A_1 \delta (t) + A_2 \delta (t-t_2) + A_3 \delta (t-t_3)은 다음과 같다.


\qquad \begin{bmatrix}
t_i \\
A_i
\end{bmatrix}
= \begin{bmatrix}
0, & ( \pi /3) / \omega_d, & (2 \pi /3)/ \omega_d \\
I, & -I/K^{1/3}, & I/K^{2/3}
\end{bmatrix}


\qquad \qquad I = K/(K-K^{2/3} + K^{1/3}), \ \ \ K=e^{\zeta \pi / \sqrt{1- \zeta^2}}

NMe 성형기는 ZVD 성형기보다 더 짧은 성형시간을 갖는 장점이 있지만, 모델링오차에 대해 더 나쁜 견실성을 갖는 단점이 있다. 참고로, 비감쇠시스템(\zeta = 0)이면 NMe 성형기는 기존에 알려진 UM성형기(unity-magnitude shaper)가 된다.

아래 그림 (a)는 전형적인 입력성형 제어시스템의 블록선도를 보여주고 있고, 그림 (b)는 여러 가지 입력성형기의 잔류진동 제거성능을 나타내는 계단응답을 보여주고 있다.
섬네일|509x509px|(a) 전형적인 입력성형 제어시스템의 블록선도, (b) 모델링오차가 없을 때, 입력성형기를 가진 이차시스템 <math>4 \pi^2 / (s^2 + 0.4\pi s+ 4 \pi^2 )</math>의 계단응답.

입력성형기에서 \omega_n과 \zeta의 모델링오차에 대한 견실성은 민감도곡선(sensitivity curve)으로 표현된다. 위 여러 가지 입력성형기에 대한 민감도곡선은 참고 문헌을 참고하기 바란다.

## 참고 문헌

분류:동역학
분류:제어이론
분류:역학적 진동