제1부 시스템 모델링과 동특성
1.2 전달함수와 블록선도
제1부 시스템 모델링과 동특성 · 고전 제어의 언어. 1.1에서 세운 ODE를 라플라스로 옮긴 전달함수를 깊게 본다. 극·영점이 무엇을 정하는지, 여러 부품을 블록선도로 어떻게 조립·축약하는지 — 제2부 설계의 토대다.
이 장을 마치면 전달함수의 극·영점을 읽고, 직렬·병렬·피드백으로 얽힌 블록선도를 하나의 전달함수로 축약할 수 있어야 한다. 그리고 피드백의 핵심 공식 $T = G/(1+GH)$를 숙달한다.
1.2.1 전달함수 다시 보기 — 정의와 전제
전달함수(transfer function) $G(s)$는 (초기조건 0에서) 출력의 라플라스 변환을 입력의 라플라스 변환으로 나눈 것:
$$G(s) = \frac{Y(s)}{U(s)} \qquad\Leftrightarrow\qquad Y(s) = G(s)\cdot U(s)$$
0.2.4에서 봤듯 미분이 $s$로 바뀌므로, ODE가 $s$의 유리함수(다항식/다항식)가 된다. 두 전제를 기억하라:
- LTI 전제: 전달함수는 선형·시불변 시스템에만 정의된다. 비선형이면 먼저 선형화(1.1.9).
- 초기조건 0: 전달함수는 입력이 만드는 응답만 본다(초기조건이 만드는 응답은 따로). 설계에는 이것으로 충분하다.
- 물리적 의미: $G(s)$의 역라플라스 $g(t)$는 임펄스 응답이다. 임의 입력의 응답은 $g(t)$와의 합성곱이며, s영역에서는 그것이 단순한 곱 $G\cdot U$가 된다 — 이것이 전달함수를 쓰는 이유다.
1.2.2 극과 영점 — 전달함수의 DNA
전달함수를 인수분해하면 그 구조가 드러난다.
$$G(s) = \frac{N(s)}{D(s)} = K\cdot\frac{(s - z_1)(s - z_2)\cdots}{(s - p_1)(s - p_2)\cdots}$$
1.2.2.1 정의
- 극(pole) $p_i$ = 분모 $D(s)=0$의 근. = 특성방정식 근 = 시스템행렬 고유값(0.2.6). $G$가 발산하는 $s$.
- 영점(zero) $z_j$ = 분자 $N(s)=0$의 근. $G$가 0이 되는 $s$.
- 이득 $K$ = 인수분해 스케일 상수.
1.2.2.2 극이 하는 일 — 모드·안정성·속도
극은 시스템의 자연 모드다. 각 극 $p = \sigma+j\omega$가 응답에 $e^{pt} = e^{\sigma t}(\cos\omega t + j \sin\omega t)$ 항을 만든다(0.2.2.3).
- 안정성: 모든 극이 좌반평면($\sigma<0$)이면 안정, 하나라도 우반평면이면 불안정(2.1).
- 속도: 허수축에서 왼쪽으로 멀수록(σ가 더 음수) 그 모드가 빨리 잦아든다. 가장 오른쪽 극(지배극, dominant pole)이 응답 속도를 좌우한다.
- 진동: 허부 $\omega$가 크면 빨리 진동.
극은 "시스템이 어떻게 반응하는가"를 정한다. 그래서 제어 설계의 상당수는 극을 원하는 자리로 옮기는 일이다(근궤적 2.2, 극배치 4.3).
1.2.2.3 영점이 하는 일 — 응답 성형
영점은 극처럼 모드를 만들지는 않지만, 각 모드가 얼마나 섞이는지(가중치)를 바꿔 응답 모양을 변형한다.
- 극에 가까운 영점은 그 극의 영향을 상쇄하는 쪽으로 작용(거의 안 보이게).
- 우반평면 영점(nonminimum-phase): 처음에 반대 방향으로 갔다 오는 역응답(undershoot)을 만든다. 자전거 핸들을 왼쪽으로 꺾으면 잠깐 오른쪽으로 기우는 것과 같은 류 — 제어를 까다롭게 한다(대역폭 한계, 2.4).
- 주파수 영역에서는 영점이 특정 주파수를 차단(노치)한다.
1.2.2.4 극·영점 지도와 DC 이득
극(×)·영점(○)을 복소평면에 표시하면 시스템을 한눈에 본다.
DC 이득(정상상태 이득): 안정한 시스템에 일정 입력을 주고 충분히 기다렸을 때의 출력비는 $G(0)$이다. 최종값 정리로:
$$y(\infty) = \lim_{s\to 0} s\cdot Y(s) = \lim_{s\to 0} s\cdot G(s)\cdot(1/s) = G(0) \qquad (\text{계단입력})$$
⚠️ 최종값 정리 함정: 이 정리는 $sY(s)$의 극이 모두 좌반평면일 때만 유효하다(즉 안정할 때). 불안정·경계(적분기 등) 시스템에 확인 없이 쓰면 틀린 값이 나온다. "발산하는데 최종값이 있을 리 없다"를 기억하라.
1.2.3 차수·프로퍼성·상대차수
- 차수(order) = 분모 $D(s)$의 차수 = 극의 개수 = 상태변수 개수(4.1).
- 상대차수(relative degree) = (극 수) − (영점 수) =
deg D − deg N. - 프로퍼(proper): $\deg D \ge\deg N$. 순수 프로퍼(strictly proper):
deg D > deg N(상대차수 ≥1). 임프로퍼(improper):deg N > deg D.
물리적 실현: 실제 플랜트는 거의 항상 프로퍼다. 임프로퍼 전달함수는 미분기를 포함해($s$ 자체가 미분) 고주파 잡음을 무한 증폭한다 — 그대로는 실현 불가. 그래서 PID의 미분항도 순수 미분 대신 필터를 붙인다(2.5). 이것이 "왜 분자 차수를 분모보다 낮게 두나"의 답이다.
1.2.4 표준형 두 개 — 1차·2차
대부분의 설계 직관은 이 둘에서 나온다(응답 해석은 1.3).
- 1차계: $G(s) = K/(\tau s + 1)$. 극 하나 $s=-1/\tau$. $\tau$=시정수(작을수록 빠름), $K=G(0)$=DC 이득. (예: DC모터 속도, RC회로 — 1.1.)
- 2차계: $G(s) = K\cdot\omega_n^2 / (s^2 + 2\zeta\omega_n\cdot s + \omega_n^2)$. 극 $s = -\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2}$. $\omega_n$=고유진동수, $\zeta$=감쇠비. (예: 질량-스프링-댐퍼, RLC — 1.1.)
- $\zeta>1$ 과감쇠(실근 둘), $\zeta=1$ 임계감쇠, $0<\zeta<1$ 저감쇠(복소근, 진동), $\zeta=0$ 무감쇠(허수축 위, 지속 진동).
1.2.5 블록선도 — 시스템을 조립하는 그림
복잡한 시스템은 부품(전달함수)들의 연결이다. 블록선도는 그 연결을 그림으로, 블록선도 대수는 그것을 하나의 $G(s)$로 줄이는 규칙이다.
1.2.5.1 기본 요소
블록: 신호에 $G(s)$를 곱한다. 합산점(summing junction): 신호를 더/빼기(부호 표시). 분기점(pickoff): 같은 신호를 여러 갈래로 보낸다.
1.2.5.2 직렬·병렬
직렬(cascade) — 합성 $G_1\cdot G_2$:
병렬(parallel) — 합성 $G_1 + G_2$:
직렬은 곱, 병렬은 합. 단, 직렬에서 $G_1G_2$로 묶으려면 뒤 블록이 앞을 부하(loading)로 저하시키지 않아야 한다(이상적 버퍼 가정). 실제 회로를 이을 때 흔히 위배되는 전제다 — 검증 필요.
1.2.5.3 피드백 — 핵심 공식
폐루프의 핵심. 순방향 $G(s)$, 피드백 경로 $H(s)$, 음(−)피드백:
유도: $Y = G\cdot\operatorname{E}$, $\operatorname{E} = R - H\cdot Y$ → Y = G(R − HY) → $Y(1 + GH) = GR$. 따라서
$$T(s) = \frac{Y(s)}{R(s)} = \frac{G(s)}{1 + G(s)H(s)} \qquad\leftarrow \text{음피드백 폐루프 (외워 둘 것)}$$
- $L(s) = G(s)H(s)$ = 개루프 전달함수(루프를 끊어 본 것). 안정성·여유 해석의 핵심 대상(2.3·2.4).
- 단위 피드백($H=1$): $T = G/(1+G)$. 센서가 이상적일 때.
- 양(+)피드백이면 분모가
1 − GH. 부호 하나로 안정/불안정이 갈리니 합산점 부호를 늘 확인하라.
1.2.5.4 블록선도 축약 — 규칙과 예제
복잡한 그림은 다음을 반복해 하나로 줄인다.
- 직렬→곱, 병렬→합, 피드백 루프→$G/(1\pm GH)$.
- 합산점·분기점을 블록 앞뒤로 옮길 때는 옮기는 만큼 보정 블록($G$ 또는 $1/G$)을 삽입한다.
예: 안쪽 루프($G_2$, 피드백 $H_2$)가 바깥 루프($G_1$, 단위 피드백) 안에 든 2중 루프.
1) 안쪽 먼저: $G_2' = G_2/(1 + G_2H_2)$. 2) 이제 직렬 $G_1\cdot G_2'$에 단위 피드백: $T = G_1G_2' / (1 + G_1G_2')$. 3) 대입·정리:
$$T = \frac{G_1\cdot G_2}{1 + G_2H_2 + G_1G_2}$$
팁: 안쪽 루프부터 바깥으로 줄여 나가면 거의 항상 축약된다.
1.2.5.5 점 이동 예제 — 분기점에 보정 블록 삽입하기
1.2.5.4의 "옮기는 만큼 보정 블록을 삽입한다"를 작은 2블록 예로 연습하자. X → G → Y(즉 $Y=G\cdot X$)에서, 분기점이 $Y$ 지점에 있어 그 값을 다른 곳(예: 피드백 경로)으로 보낸다고 하자.
이 분기점을 $G$ 앞($X$ 지점)으로 옮기고 싶다 — 예를 들어 안쪽 신호 $X$가 다른 곳에서도 필요할 때다. 그런데 $X$ 지점의 값은 $Y$가 아니라 $X = Y/G$이므로, 옮긴 뒤에도 원래와 같은 값 $Y$를 그 가지로 보내려면 보정 블록 $G$를 삽입해야 한다.
읽는 법: 분기점을 블록을 거슬러(뒤→앞) 옮기면 그 값이 $1/G$배 줄어드니 $G$를 곱해 보정하고, 반대로 블록을 따라(앞→뒤) 옮기면 값이 $G$배 커지니 $1/G$를 곱해 보정한다. 합산점을 옮길 때도 같은 논리다 — 옮기는 방향이 신호가 "겪지 않게 된" 블록만큼, 반대쪽에 그 블록(또는 역수)을 삽입해 전체 입출력 관계를 그대로 유지한다.
1.2.6 여러 입력 — 기준입력과 외란 (중첩)
실제로는 기준입력 $R$ 말고 외란 $D$(0.1.4)도 들어온다. LTI라 중첩이 성립하니 각각 따로 구해 더한다. 제어기 $C$, 플랜트 $G$, 단위 피드백, 외란이 출력단에 더해지는 경우:
$$Y = \underbrace{\frac{G\cdot C}{1 + G\cdot C}}_{\text{추종 } T}\cdot R + \underbrace{\frac{1}{1 + G\cdot C}}_{\text{감도 } S}\cdot D$$
- $S = 1/(1+GC)$ = 감도함수. 외란이 출력에 미치는 비율. 루프이득 $GC$가 크면 $S$가 작아 외란이 억제된다 — 0.1.3에서 말한 "피드백이 외란을 억제한다"의 수식 버전.
- $T + S = 1$이라 둘을 동시에 0으로 못 만든다(트레이드오프) — 2.4에서 다시.
1.2.7 신호흐름선도와 메이슨 이득공식 (보충·심화)
루프가 많아 블록 축약이 번거로우면 신호흐름선도(SFG)와 메이슨 이득공식으로 한 번에 입출력 이득을 구한다.
$$\begin{aligned} T &= \frac{\sum P_k\cdot\Delta_k}{\Delta} \\ \Delta &= 1 - \sum(\text{루프이득}) + \sum(\text{서로 안 닿는 두 루프 곱}) - \cdots \\ P_k &= k\text{번째 순방향 경로 이득}, \quad \Delta_k = \text{그 경로에 안 닿는 부분의 } \Delta \end{aligned}$$
검산: 단일 루프(순방향 $G$, 루프이득 −GH)면 $\Delta= 1 - (-GH) = 1+GH$, $P_1=G$, $\Delta_1=1$ → $T = G/(1+GH)$. 1.2.5.3과 일치한다. (메이슨은 도구일 뿐 — 단순한 그림은 단순히 축약이 빠르다.)
1.2.8 도구로 — python-control로 조립
# blocks.py — 전달함수 조립과 극·영점
import control as ct
G = ct.tf([1], [1, 2, 4]) # 2차계 1/(s²+2s+4)
H = ct.tf([1], [1]) # 단위 피드백
T = ct.feedback(G, H) # 폐루프 G/(1+GH)
print("closed-loop T(s) =", T)
print("poles:", ct.poles(T), " zeros:", ct.zeros(T))
print("DC gain T(0):", ct.dcgain(T))
# 직렬·병렬
ct.series(G, H) # G*H
ct.parallel(G, H) # G+H
# ct.pzmap(T) # 극·영점 지도 그림
(출력·극 위치는 여러분 환경에서 재현해 확인 — ✅ control 0.10.2 검증됨; 재현 권장.) feedback·series·parallel이 블록 축약을 대신해 준다.
1.2.9 함정 — 극·영점 상쇄와 숨은 불안정
전달함수에서 같은 위치의 극·영점은 약분되어 사라진다. 수학적으로는 맞지만 현실에서는 위험할 수 있다.
- 불안정 극을 제어기 영점으로 상쇄? $G$에 우반평면 극 $s=+2$가 있을 때 제어기에 $s=+2$ 영점을 둬 약분하면, 전달함수 $Y/R$에서는 안 보인다. 하지만 그 불안정 모드는 내부에 살아남아 발산한다(가제어성·가관측성 상실, 4.2). 이를 내부 불안정(internal instability)이라 한다.
- 약분은 정확히 같은 위치에서만 성립하는데, 모델 오차·부품 편차로 실제로는 결코 정확히 안 맞는다 → 거의 상쇄된 모드가 미세하게 남아 사고로 이어진다.
원칙: 전달함수는 내부 상태를 드러내지 않는다(입출력만 본다). 불안정·경계 모드를 상쇄로 "제거하는" 설계는 피해야 한다. 안전하게 다루려면 상태공간(제4부)에서 가제어·가관측을 함께 봐야 한다. — 전달함수의 가장 중요한 한계다.
1.2.10 정리 — 그리고 다음 장
- 전달함수 $G(s)=Y/U$는 LTI·초기조건0에서 시스템을 유리함수로 적은 것. 극이 모드·안정성·속도를, 영점이 응답 성형을 정한다(1.2.2).
- 순수 프로퍼라야 물리적이며(1.2.3), 1차($\tau$)·2차($\omega_n,\zeta$) 표준형이 직관의 기본(1.2.4).
- 블록선도는 직렬(곱)·병렬(합)·피드백 $G/(1+GH)$로 축약한다(1.2.5). 외란은 중첩으로 더하며, 루프이득이 크면 감도 $S$가 작아 외란을 억제한다(1.2.6).
- 전달함수는 내부 상태를 드러내지 않으므로 불안정 극·영점 상쇄는 위험하다(1.2.9).
다음 1.3에서는 이 극·영점이 시간영역에서 실제로 어떤 곡선을 그리는지 — 1차·2차 응답, 상승·정착시간·오버슈트·정상상태 오차를 읽는다.
1.2.11 연습·생각해 볼 것
- 극·영점 읽기. $G(s) = 10(s+2) / [(s+1)(s+5)(s^2+2s+10)]$의 극·영점을 모두 구하고 복소평면에 표시하라. 안정한가? 지배극(응답을 좌우하는 가장 오른쪽 극)은 무엇인가? (1.2.2)
- DC 이득. 1번 $G$의 $G(0)$을 구하라. 단위 계단입력의 정상상태 출력은? 이 계산이 유효하려면 어떤 조건이 필요한가? (1.2.2.4 함정)
- 피드백 공식. 순방향 $G=5/(s+1)$, 피드백 $H=2$인 음피드백 폐루프 $T(s)$와 그 극을 구하라. 피드백을 걸기 전(개루프 극
−1)과 비교해 극이 어디로 옮겨갔나? (1.2.5.3 — 피드백이 극을 옮긴다, 근궤적 2.2 예고) - 블록 축약. 1.2.5.4의 2중 루프에서 $G_1=1/s, G_2=1/(s+1), H_2=2$일 때 $T(s)$를 구하라.
- 외란 억제. 1.2.6에서 루프이득 $GC$를 10배 키우면 외란→출력 감도 $S=1/(1+GC)$는 어떻게 변하나? 추종 $T$는? $T+S=1$의 의미를 한 줄로. (1.2.6)
- 상쇄 함정. 플랜트
G=1/(s−2)(불안정)에 제어기C=(s−2)/(s+3)를 직렬로 두면 $Y/R$에서 불안정 극이 사라진다. 왜 이것이 위험한가? 모델 오차로 $C$의 영점이s−2.01이라면 무슨 일이 생길지 설명하라. (1.2.9)
막히면 "극은 모드·안정성, 영점은 성형, 피드백은 $G/(1+GH)$" 세 문장으로 돌아가라.