% Sintesi mediante il luogo delle radici
% rif: Esercizio 3.4, libro Lanari-0riolo

clear all,clg,echo on

% processo modificato con l'aggiunta del polo nell'origine per
% avere astatismo al disturbo

numPhat=[1 1];
denPhat=[1 -1 0 0 0];

% vediamo se basta un guadagno per stabilizzare

rlocus(numPhat,denPhat)
pause

rlocus(-numPhat,denPhat)
pause;

% niente da fare; pero' il sistema � a fase minima e dunque
% basta ridurre l'eccesso poli-zeri a 2 aggiungendo uno zero (ad es., in -1)
% e poi spostare il centro degli asintoti con una coppia polo-zero 
% appropriata (ad es., polo in -7 e zero in -2);
% infine, prenderemo un guadagno sufficientemente elevato (il controllore 
% sara' comunque realizzabile poiche' contiene due poli e due zeri)

numR=[1 3 2];
denR=[1 7];

numF=conv(numPhat,numR);
denF=conv(denPhat,denR);

% il nuovo luogo e'

rlocus(numF,denF)
pause;

% ora per determinare un valore adeguato del guadagno usiamo l'istruzione 
% rlocfind facendo click in un ramo del luogo contenuto nel semipiano sinistro

rlocfind(numF,denF)

% possiamo anche verificare l'analisi basata sul criterio di Routh
% con il valore limite del guadagno, due poli dovrebbero essere 
% sull'asse immaginario

pause
rlocus(numF,denF,42.3854)
