next up previous contents
Next: Integrazione numerica: metodo dei Up: Tecniche di discretizzazione approssimate Previous: Matched Z Transform

Esempio

Con riferimento alla funzione di trasferimento G(s) ed al suo controllore D(s) dell'esempio interattivo 1.4.1, in questo paragrafo mostreremo la differenza tra le due precedenti tecniche di discretizzazione: Eulero e Matched Z Trasform.

Al sistema in retroazione negativa tex2html_wrap_inline3590 , discretizzato del con i due suddetti metodi ad una frequenza di campionamento di 15Hz, sono associate le due risposte al gradino riportate in Fig. 1.5 e generate con il seguente codice matlab.

Matlab code - drag and drop:

% M-file: comparison.m
numG=1;
denG=[1 1 0];

Ko=70;
numD=Ko*[1 2];
denD=[1 10];

num=conv(numG,numD);
den=conv(denG,denD);

[numcl,dencl]=feedback(num,den,1,1);
tf=1;
t=0:.01:tf;
yc=step(numcl,dencl,t);
axis([0 1 0 1.6])
plot(t,yc,'-'),grid
hold on
%  digital 

Ws= 15;  % Hz
T=1/Ws;
[numGd,denGd]=c2dm(numG,denG,T,'zoh');
a=2;
b=10;

% Meetodo di Eulero

numDd=Ko*[1 -(1-a*T)]
denDd=[1 -(1-b*T)]
numd=conv(numGd,numDd);
dend=conv(denGd,denDd);
[numcld,dencld]=feedback(numd,dend,1,1);

N=tf*Ws+1;
yd=dstep(numcld,dencld,N);
td=0:T:(N-1)*T;
plot(td,yd,'*')
plot(td,yd,'-')
xlabel('tempo (sec)')
ylabel('risposta al gradino, casi continuo e discreto')

% Matched Z Trasform

[numDd,denDd]=c2dm(numD,denD,T,'matched')
numd=conv(numGd,numDd);
dend=conv(denGd,denDd);
[numcld,dencld]=feedback(numd,dend,1,1);
yd=dstep(numcld,dencld,N);
plot(td,yd,'o')
plot(td,yd,'-')
hold off

   figure2640
Figure 1.5: Risposta al gradino nel caso discreto (15Hz) con i metodi Matched Pole-Zero (o--- ) e di Eulero (*---) e per il caso tempo continuo (---).



Domenico Prattichizzo
Wed Jun 25 08:08:49 MET DST 1997