Closed-loop Gain과 Sensitivity

제어공학1 · 9주차

이번 주 목표 · 증폭기의 Gain 변화가 최종 출력에 얼마나 전달되는지 비교합니다.

실행: MathWorks 로그인 후 내 작업 공간의 .mlx를 엽니다. 코드 안 클릭 → Live Editor → Run Section으로 한 Section씩 실행하세요. Run은 전체 실행입니다. 값 수정 후에는 관련 Section을 다시 실행해야 합니다. ⟦직접 입력⟧ 작성란은 설명을 직접 수정하며 실행하지 않습니다. Windows/Linux는 Ctrl+Enter, Mac은 ⌘+Enter를 사용할 수 있습니다.

1. Open-loop 증폭기의 Sensitivity

Open-loop 전체 Gain은 T=KaK_a입니다. KaK_a가 10% 증가하면 T도 10% 증가합니다. 상대 변화끼리의 비율이 1이라는 사실이 Sensitivity의 출발점입니다.

Open-loop 증폭기의 Sensitivity

예를 들어 Amplifier Gain이 1% 바뀔 때 전체 Gain도 약 1% 바뀌면 Sensitivity는 1입니다. 전체 Gain이 약 0.1%만 바뀌면 Sensitivity는 0.1입니다. 서로 크기가 다른 값의 변화 정도를 비교하려고, 변화량 자체 대신 각 값의 원래 크기에 대한 비율을 사용합니다.

KaK_a의 상대 변화는 ΔKa/Ka\Delta K_a/K_a, TT의 상대 변화는 ΔT/T\Delta T/T입니다. 아주 작은 변화에서 두 비율의 관계를 나타내는 Normalized Sensitivity는

SKaT=KaTdTdKaS_{K_a}^T=\frac{K_a}{T}\frac{dT}{dK_a}

입니다. 아래에서 구하는 미분은 전체 Gain이 Amplifier Gain의 작은 변화에 얼마나 반응하는지 나타냅니다.

2. Feedback의 효과를 식으로

이 예에서는 출력에서 βy\beta y만큼을 측정해 목표값과 비교하므로 y=Ka(r−βy)y=K_a(r-\beta y)입니다. yy 항을 모으면 (1+Kaβ)y=Kar(1+K_a\beta)y=K_a r이고, 전체 Gain은 다음과 같습니다.

T=yr=Ka1+Kaβ.T=\frac yr=\frac{K_a}{1+K_a\beta}.

KaK_a가 커지면 분자뿐 아니라 분모도 커집니다. 따라서 전체 Gain은 Amplifier Gain만큼 민감하게 변하지 않습니다. 그 정도를 앞의 Sensitivity 정의로 계산해 보겠습니다.

Feedback의 효과를 식으로

β\beta를 고정하고 방금 구한 TT를 미분하면, 분수의 미분법에 따라

dTdKa=(1+βKa)−βKa(1+βKa)2=1(1+βKa)2.\frac{dT}{dK_a}=\frac{(1+\beta K_a)-\beta K_a}{(1+\beta K_a)^2}=\frac1{(1+\beta K_a)^2}.

여기에 앞에서 구한 Ka/T=1+βKaK_a/T=1+\beta K_a를 곱하면

SKaT=KaTdTdKa=11+βKa.S_{K_a}^T=\frac{K_a}{T}\frac{dT}{dK_a}=\frac1{1+\beta K_a}.

전체 Gain을 구한 식이 Normalized Sensitivity 계산에 모두 사용됩니다. βKa\beta K_a가 커질수록 이 비율이 작아지므로 같은 Amplifier Gain 변화에 대해 전체 Gain은 덜 변합니다.

강의의 반전 증폭기는 T=−Ka/(1+βKa)T=-K_a/(1+\beta K_a)로 표시됩니다. 이 경우 TT와 미분값에 모두 음의 부호가 붙어 Normalized Sensitivity는 위와 같습니다.

이 예는 시간이 흐르는 동안의 변화와 잡음을 생략한 증폭기 모델입니다. 실제 제어기에서는 Gain을 키울 때 진동이나 측정 잡음의 영향도 함께 확인해야 합니다.

3. 실제 변화와 근사 비교

과제 조건은 KaK_a=5000, β=0.05입니다. Sensitivity×0.1로 예측한 변화와 KaK_a를 5500으로 바꿔 직접 계산한 변화율을 비교하세요.

실제 변화와 근사 비교

변경 전 값을 K0K_0, 그때의 전체 Gain을 T0=T(K0)T_0=T(K_0)라고 합시다. 3주차의 Linear Approximation처럼 기준점의 기울기로 변화량을 추정하면

ΔT≈T′(K0)ΔKa.\Delta T\approx T'(K_0)\Delta K_a.

양변을 T0T_0로 나누고 K0K_0를 곱했다가 나누면, 앞에서 구한 Sensitivity가 나타납니다.

ΔTT0≈[K0T0T′(K0)]ΔKaK0=S0ΔKaK0.\frac{\Delta T}{T_0}\approx\left[\frac{K_0}{T_0}T'(K_0)\right]\frac{\Delta K_a}{K_0}=S_0\frac{\Delta K_a}{K_0}.

따라서 +10% 변화에는 S0×0.1S_0\times0.1을 사용합니다. 이는 기준점의 기울기를 이용한 추정입니다. 정확한 값은 새 Gain을 원래 T(Ka)T(K_a) 식에 넣어 T1T_1을 구한 뒤 (T1−T0)/T0(T_1-T_0)/T_0로 계산합니다. 두 방법 모두 분모는 변경 전 T0T_0입니다. 백분율로 표시할 때만 마지막에 100을 곱합니다.

실습에서는 변화율 1%·10%·20%를 비교합니다. 변화가 클수록 기준점의 기울기만으로 추정한 결과가 실제 변화에서 얼마나 멀어지는지 확인하세요.

4. 결과를 문장으로 해석

KaK_a, Open-loop Gain, Closed-loop Gain을 표나 곡선으로 비교한 뒤 무엇이 덜 변했는지 설명하세요. Closed-loop Gain 자체가 작다는 말과 변화에 덜 민감하다는 말은 구분합니다.

결과를 문장으로 해석

β를 바꾸면 목표 Gain도 바뀝니다. 같은 목표를 유지하는 비교인지, Feedback 정도를 바꾸는 비교인지 실험 목적을 적으세요.

학습 내용 확인

  1. 코드에 넣을 값은 무엇이며, 결과 배열의 각 행·열은 무엇을 뜻하나요? 물리량을 계산한다면 단위도 확인했나요?
  2. 조건을 하나 바꿨을 때 다시 실행해야 하는 부분을 찾을 수 있나요?
  3. 실행 결과가 예상과 맞나요? 다르다면 출력값이나 그래프를 보고 이유를 설명할 수 있나요?

MATLAB 공식 문서 · Control System Toolbox

실습 자료