강의자료 · 제어공학2
실습 언어

Frequency-Domain Stability

Time Response를 모두 돌리기 전에, Frequency Response와 열린 고리의 Pole로 안정성을 판단해 봅니다.

Python 경로는 python-control을 사용합니다. 모듈이 없으면 Colab·Jupyter의 코드 셀에서 %pip install control==0.10.2를 실행하세요.

MATLAB · Control System Toolbox

실습 전에

01 Nyquist plot만 볼 때 놓치기 쉬운 정보는 무엇일까요?

설명

열린 고리의 우반평면 Pole 수와 둘러쌈의 방향·부호 규약입니다.

02 Gain Margin과 Phase Margin은 같은 단위일까요?

설명

Gain Margin은 비 또는 dB, Phase Margin은 각도입니다. 표에 단위를 분리합니다.

실습

실습용 노트북 미리보기실습용 노트북 다운로드실습용 mlx 스크립트 미리보기실습용 mlx 스크립트 다운로드

1. Open-loop와 Closed-loop의 불안정 Pole

시작 조건

G(s)=s2+10s+24s2−8s+15G(s)=\frac{s^2+10s+24}{s^2-8s+15}, K=.5K=.5,1. 음의 단위 Feedback입니다.

진행 방법

  1. Open-loop의 우반평면 Pole 수 P를 세세요.
  2. 각 K의 Nyquist plot을 그리고 Closed-loop Pole의 우반평면 개수 Z를 직접 계산하세요.
  3. -1점의 감김 방향에 대한 본인의 부호 규약을 적고 P·감김 수·Z의 관계를 확인하세요.

남길 결과

기록 항목과 확인할 점
K
P
감김 수와 방향
Z
Closed-loop 안정 여부

확인할 점

  • Open-loop Pole이 있다는 사실만으로 Closed-loop도 불안정하다고 결론내리지 않았는가?
  • Nyquist 판별과 Closed-loop Pole 계산이 일치하는가?

2. 안정 여유와 Gain 변화

시작 조건

G(s)=50s3+9s2+30s+40G(s)=\frac{50}{s^3+9s^2+30s+40}, K∈{1,3,5}K\in\{1,3,5\}를 비교합니다.

진행 방법

  1. margin(K*G)의 Gain Margin·Phase Margin·각 교차 주파수를 구하세요.
  2. Gain Margin은 선형 비와 20log10 변환한 dB 값을 나누어 표기하세요.
  3. 각 Closed-loop Pole과 Time Response를 확인해 여유와 안정성의 관계를 설명하세요.

남길 결과

기록 항목과 확인할 점
K
GM [ratio]
GM [dB]
PM [deg]
교차 ω [rad/s]
안정 여부

확인할 점

  • GM의 선형비와 dB 값을 구분했는가?
  • 정의되지 않거나 무한인 여유는 그 상태로 표시했는가?

3. 주파수 범위를 바꾸었을 때

시작 조건

같은 G에서 ω=[.1,1,10]만 본 경우와 logspace(-2,3,1000)을 본 경우를 비교합니다.

진행 방법

  1. 두 격자의 이득·위상을 비교하세요.
  2. 성긴 세 점만 보고 교차점과 안정 여유를 판단할 때 놓치는 정보를 적으세요.
  3. 판별 결과와 그래프 해상도를 혼동하지 않도록 계산 값과 시각적 근거를 함께 기록하세요.

남길 결과

기록 항목과 확인할 점
주파수 격자
관측한 교차점
계산 GM·PM
판단의 한계

확인할 점

  • 관측 주파수 범위와 표본 수를 명시했는가?
  • 계산된 여유와 눈으로 추정한 여유를 구분했는가?