FEEDBACK을 사용하여 피드백 루프 닫기
이 예제에서는 항상 FEEDBACK을 사용하여 피드백 루프를 닫아야 하는 이유를 보여줍니다.
피드백 루프를 닫는 두 가지 방법
다음과 같은 피드백 루프가 있다고 가정하겠습니다.
여기서 각각은 다음과 같습니다.
K = 2; G = tf([1 2],[1 .5 3])
G = s + 2 --------------- s^2 + 0.5 s + 3 Continuous-time transfer function.
최소 두 가지 방법으로 r에서 y로의 폐루프 전달 함수 H
를 계산할 수 있습니다.
feedback
명령 사용다음 식 사용
feedback
을 사용하여 H
를 계산하려면 다음과 같이 입력합니다.
H = feedback(G,K)
H = s + 2 --------------- s^2 + 2.5 s + 7 Continuous-time transfer function.
식에서 H
를 계산하려면 다음과 같이 입력합니다.
H2 = G/(1+G*K)
H2 = s^3 + 2.5 s^2 + 4 s + 6 ----------------------------------- s^4 + 3 s^3 + 11.25 s^2 + 11 s + 21 Continuous-time transfer function.
FEEDBACK을 사용하는 것이 효과적인 이유
식에서 H
를 계산할 때 발생하는 주요 문제점은 폐루프 전달 함수의 차수가 높아진다는 것입니다. 위의 예제에서 H2
는 차수가 H
의 두 배입니다. 이것은 표현식 G/(1+G*K)
가 두 전달 함수 G
와 1+G*K
의 비율로 계산되기 때문입니다. 아래와 같은 경우
G/(1+G*K)
는 다음과 같이 계산됩니다.
그 결과 G
의 극점이 H
의 분자와 분모에 모두 추가됩니다. ZPK 표현을 살펴보면 이를 확인할 수 있습니다.
zpk(H2)
ans = (s+2) (s^2 + 0.5s + 3) --------------------------------- (s^2 + 0.5s + 3) (s^2 + 2.5s + 7) Continuous-time zero/pole/gain model.
극점과 영점이 이렇게 과할 경우 다음 예제에 나온 것처럼 고차 전달 함수를 처리할 때 결과의 정확도에 부정적인 영향을 줄 수 있습니다. 이 예제에서는 17차 전달 함수 G
가 사용됩니다. 앞에서와 마찬가지로 두 가지 방법을 사용하여 K=1
에 대한 폐루프 전달 함수를 계산합니다.
load numdemo G H1 = feedback(G,1); % good H2 = G/(1+G); % bad
기준점을 갖기 위해 G의 주파수 응답이 포함된 FRD 모델도 계산하고 feedback
을 주파수 응답 데이터에 직접 적용합니다.
w = logspace(2,5.1,100); H0 = feedback(frd(G,w),1);
그런 다음, 폐루프 응답의 크기를 비교합니다.
h = sigmaplot(H0,'b',H1,'g--',H2,'r'); legend('Reference H0','H1=feedback(G,1)','H2=G/(1+G)','location','southwest') setoptions(h,'YlimMode','manual','Ylim',{[-60 0]})
H2
의 주파수 응답은 2e4 rad/s 미만의 주파수인 경우 부정확합니다. 이러한 부정확성의 원인은 z=1 부근에 도입된 추가적인 (상쇄) 동특성에서 찾을 수 있습니다. 구체적으로, H2
는 z=1 부근에서 H1
보다 약 두 배 많은 극점과 영점을 갖습니다. 그 결과 H2(z)
는 z=1 부근에서 정확도가 크게 떨어져, 저주파에서 응답이 왜곡됩니다. 자세한 내용은 Using the Right Model Representation 예제를 참조하십시오.