% Funzioni di trasferimento per il progetto dei regolatori di corrente di un motore asincrono in orientamento di campo
Rs=1.95;  % Resistenza di statore [Ohm]
Ls=0.243; % Induttanza di statore [H]
Lm=0.233; % Induttanza di magetizzazione [H]
Lr=0.244; % Induttanza di rotore [H]
Rr=1.68;  % Resistenza di rotore [Ohm]
Ws=314;   % Pulsazione di sincronismo [rad/s]
Tr=Lr/Rr; % Costante di tempo di rotore
Ts=Ls/Rs; % Costante di tempo di statore
t_camp=50e-6; % Periodo di campionamento
Tc=1.5*t_camp; % Costante di tempo che tiene conto della dinamica del convertitore e della discretizzazione
Ginv=tf(1, [Tc 1]); % Funzione di trasferimento dell'invertitore (non inclusiva del suo guadagno)
sigma=1-Lm^2/(Ls*Lr); % Coefficiente di dispersione
Kpd=66;          % Guadagno del PI per l'anello di controllo di asse d
Tid=sigma*Ts/10;    % Costante di tempo del PI per l'anello di controllo di asse d
Kpq=66;          % Guadagno del PI per l'anello di controllo di asse q (in realtà è il guadagno del PI moltiplicato per Vdc/2, perchè nella funzione di trasferimento del convertitore non si è inclcuso in suo guadagno) 
Tiq=sigma*Ts/10;    % Costante di tempo del PI per l'anello di controllo di asse q
Gd=1/Rs*tf([Tr 1], [sigma*Ts*Tr Ts+Tr 1]); % funzione di trasferimento Id/Vd del motore
Gdinv=1/Rs*tf([Tr 1], [sigma*Ts*Tr*Tc Tc*Ts+Tc*Tr+sigma*Ts*Tr Ts+Tr+Tc 1]); % Id/Vd* (è inclusa la dinamica del convertitore)
Gdcc=Ws*sigma*Ls; % Gd*Gdcc è la funzione di trasferimento Id/Iq del motore
Cd=Kpd*tf([Tid 1], [Tid 0]); % regolatore PI per l'anello di controllo di asse d
W_distd=Gdcc*Gd/(1+Gd*Cd); % funzione di trasferimento a catena chiusa del disturbo per l'asse d
Gq=1/Rs*tf(1, [(sigma*Ts) 1]); % funzione di trasferimento Iq/Vq del motore
Gqinv=1/Rs*tf(1, [(sigma*Ts*Tc) (sigma*Ts+Tc) 1]); % Iq/Vq* (è inclusa la dinamica del convertitore)
Gqcc=Ws*Ls*tf([sigma*Tr 1], [Tr 1]); % Gq*Gqcc è la funzione di trasferimento Iq/Id del motore
Cq=Kpq*tf([Tiq 1], [Tiq 0]); % regolatore PI per l'anello % Gd*Gdcc è la funzione di trasferimento Id/Iq controllo di asse q
W_distq=-Gqcc*Gq/(1+Gq*Cq); % funzione di trasferimento a catena chiusa del disturbo per l'asse q