위와 같은 블럭선도가 있다고 합니다.
위의 블럭선도의 전달함수를 구하면 다음과 같습니다.
G(s)=RY=1+kHH
이 전달함수의 pole은 분모가 0이 되는 해 s입니다.
H=a(s)b(s)이라고 하면, 다음과 같이 정리할 수 있습니다.
RY=a(s)+kb(s)a(s)=1+ka(s)b(s)=1+kH
최종적으로 RY의 pole은 1+kH=0이 결정하게 됩니다.
∴ 우리는 k를 변화시킴으로써 다른 pole을 얻을 수 있습니다.
Root Locus method
k를 변화시키며 RY의 pole을 같은 복소평면에 그리고, 적절한 출력 반응이 예상되는 pole의 위치를 선정하는 방법의 하나입니다.
k가 pole을 변화시킬 수 있다는 사실을 알았으니 극단적인 두 가지 경우를 예상해봅니다.
- k=0→a(s)=0의 근(H(s)의pole)이 RY의 pole이 됩니다.
- k=∞→0+b(s)=0의 근(H(s)의zero가 RY의 pole이 됩니다.
Matlab example
아래 전달함수는 pole의 개수가 zero의 개수보다 적습니다.
이러한 경우에는 부족한 pole−zero의 개수만큼 복소평면상의 ∞ 위치의 zero로 발산하게 됩니다.
H(s)=U(s)Y(s)=s(s+5)(s+15)(s+20)s+7
num = [1, 7];
% 두 n차 방정식의 곱을 구할 수 있다.
den = conv(conv([1, 0], [1, 5]), conv([1, 15], [1, 20]));
% root locus를 그려준다.
rlocus(num, den)
axis([-22, 3, -15, 15])
2개의 오른쪽 pole이 위/아래로 발산하는 모습을 볼 수 있습니다.
zeta = 0.7;
Wn = 1.8;
% Wn이 같을 때의 궤적, zeta가 같을 때의 궤적을 그려준다.
sgrid(zeta, Wn)