Sistemi Digitali di Controllo A.A. 9- p. /33 SISEMI DIGIALI DI CONROLLO Prof. Alessandro De Luca DIS, Università di Roma La Sapienza deluca@dis.uniroma.it Lucidi tratti dal libro C. Bonivento, C. Melchiorri, R. Zanasi: Sistemi di Controllo Digitale Capitolo 7: Progetto per discretizzazione Si ringraziano gli autori
Sistemi Digitali di Controllo A.A. 9- p. /33 Metodologie di progetto del controllore. metodo indiretto o per discretizzazione di un progetto analogico. metodi diretti nel dominio discreto - progetto nel piano w (Bode) - progetto con il luogo delle radici - progetto con metodi analitici 3. regolatori digitali a struttura fissa (tipo PID) metodo indiretto ( il più piccolo possibile!?) x(t) e(t) u a (t) D(s) y a G(s) (t) u b (t) x(t) e(t) y b (t) D(z) H(s) G(s)
Sistemi Digitali di Controllo A.A. 9- p. 3/33 Progetto per discretizzazione re passi concettuali. definizione di e verifica della stabilità del sistema continuo dopo l aggiunta del ricostruttore (e del fattore / introdotto dal campionatore) H (s) = e s s s + (usa l approssimazione di Padè P [,] di e s ) H (s) e s/ (approssimazione con ritardo di / passo) x(t) e(t) D(s) u s + a G(s). discretizzazione della D(s) ha grande influenza sul risultato mantenendo una o più caratteristiche del continuo: # poli e zeri, guadagno, risposta impulsiva, risposta al gradino, margini di stabilità, banda passante difficile preservare l intero comportamento frequenziale (anche per la distorsione da aliasing, ma non solo... ) 3. verifica a posteriori (simulazioni e/o esperimenti) del comportamento dinamico
Sistemi Digitali di Controllo A.A. 9- p. 4/33 Intermezzo Approssimazioni di Padè Data una funzione F(s) la sua approssimazione di Padè P [p,q] di ordine [p, q] è la funzione razionale P [p,q] (s) = h(s) k(s) = polinomio di grado p polinomio di grado q tale che lo sviluppo in serie di aylor di F(s) in s = coincide con quello di h(s)/k(s) fino all ordine p + q (si può assumere unitario il coefficiente costante nel polinomio k(s)) Ad esempio, per F(s) = e s si ha P [,] = P [,] = + s P [,] = s P [,] = + s s La definizione va rilassata per garantire sempre l esistenza dell approssimante di Padè. L approssimazione ridotta di Padè P [p,q] è quella che approssima al meglio lo sviluppo di aylor di F(s) in s = (non esistono altri polinomi u(s) (di grado p) e v(s) (di grado q) tali che lo sviluppo in serie di aylor di u(s)/v(s) in s = coincide con quello di F(s) fino ad un ordine di quello fino al quale vi coincide lo sviluppo di P [p,q] (s))
Sistemi Digitali di Controllo A.A. 9- p. 5/33 ecniche di discretizzazione. differenze all indietro (backward differences). differenze in avanti (forward differences, non usata nella pratica dei controlli) 3. trasformazione bilineare o di ustin 4. trasformazione bilineare con precompensazione 5. metodo della Z-trasformata 6. metodo della Z-trasformata con ricostruttore ZOH 7. corrispondenza poli/zeri.-3. sono equivalenti discreti dell operazione di integrazione/derivazione analogica 4. variante di 3. per aggiustare il comportamento frequenziale a una data pulsazione 5. [6.] mira a preservare nel discreto i campioni della risposta impulsiva [della risposta indiciale (= al gradino)] del caso continuo 7. mira a bilanciare l effetto degli zeri introdotti dal campionamento
Sistemi Digitali di Controllo A.A. 9- p. 6/33 Differenze all indietro D(z) = D(s) z s = Operazione di derivazione o di integrazione (reciproche) di un segnale y(t) = d x(t) d t Y (s) = sx(s) y(t) = t x(t)dt Y (s) = s X(s) Loro discretizzazione (approssimata) con differenze all indietro o integrazione di Eulero a sinistra negli istanti campionati t = k y(k) = x(k) x((k )) Y (z) = z X(z) y(k) = y((k )) + x(k) ( z )Y (z) = X(z) Paragonando nei domini trasformati, si ottiene in entrambi i casi s = z z = z z = s (approssimazione di Padè P [,] di z = e s )
Sistemi Digitali di Controllo A.A. 9- p. 7/33 Differenze all indietro nell operazione discreta di integrazione, il campione corrente in ingresso x(k) viene preso come valore costante assunto da x(t) per t ((k ), k] (ossia, a sinistra)
Sistemi Digitali di Controllo A.A. 9- p. 8/33 Differenze all indietro 3 Legame fra piano s e piano z implicato dall approssimazione z = jω Im Piano s Piano z σ Re s s = z z Si può mostrare facilmente che Re(s) < z <. Inoltre, posto z = σ +jω (e > ) ( ) ( ) σ + jω (σ + jω )(σ jω) Re (s) = Re = Re = σ σ + ω < σ + jω σ + ω σ + ω (σ ( ) ) + ω < z sono interni alla circonferenza in figura Regolatori stabili D(s) a tempo continuo sono trasformati in regolatori stabili D(z) a tempo discreto (ma anche alcuni regolatori instabili in s diventano stabili in z, e ci sono notevoli distorsioni in frequenza)
Sistemi Digitali di Controllo A.A. 9- p. 9/33 Differenze in avanti D(z) = D(s) z s = Discretizzazione (approssimata) dell operazione di derivazione o di integrazione con differenze in avanti o integrazione di Eulero a destra negli istanti campionati t = k y(k) = x((k + )) x(k) Y (z) = z X(z) y(k) = y((k )) + x((k )) ( z )Y (z) = z X(z) Paragonando nei domini trasformati (con s o con /s nei due casi), si ottiene comunque s = z = z z z = + s (approssimazione di Padè P [,] di z = e s ) Nota: il campione x((k + )) non è ancora noto al tempo t = k
Sistemi Digitali di Controllo A.A. 9- p. /33 Differenze in avanti Legame fra piano s e piano z implicato dall approssimazione z = + s s = z jω Piano s σ Im Piano z Re ( ) z Re(s) = Re < Re(z) < Regolatori stabili D(s) possono trasformarsi in regolatori instabili D(z)
Sistemi Digitali di Controllo A.A. 9- p. /33 rasformazione bilineare (o di ustin) D(z) = D(s) s = z + z Discretizzazione (approssimata) dell operazione di derivazione o di integrazione con differenze mediate (backward k e forward k ) o integrazione trapezoidale in istanti t = k y(k) + y((k )) = x(k) x((k )) + z Y (z) = z X(z) y(k) = y((k )) + x(k) + x((k )) ( z )Y (z) = ( + z )X(z) Paragonando nei domini trasformati (con s o con /s nei due casi), si ottiene comunque s = z z + = z + z z = + s s (approssimazione di Padè P [,] di z = e s ) Per = è la trasformazione bilineare utilizzata nel criterio di Routh-Hurwitz
Sistemi Digitali di Controllo A.A. 9- p. /33 rasformazione bilineare (o di ustin) nell operazione discreta di integrazione, si assume che la x(t) vari in modo lineare tra i campioni x((k )) e x(k) per t ((k ), k] (qui il risultato è mostrato con un passo di ritardo per maggiore chiarezza)
Sistemi Digitali di Controllo A.A. 9- p. 3/33 rasformazione bilineare (o di ustin) 3 Legame fra piano s e piano z con l approssimazione z = + s s s = z z + jω Piano s σ Im Piano z Re Posto z = σ + jω (e con > ) ( ) ( z Re (s) = Re = Re z + ) σ + jω σ + jω + = Re ( σ + ω + jω (σ + ) + ω ) < σ + ω < z sono interni al cerchio unitario Regolatori stabili D(s) a tempo continuo sono trasformati in regolatori stabili D(z) a tempo discreto (e viceversa)
Confronto tra trasformazioni Z-trasformata, ustin, Backward differences mappa per s [ jπ/, +jπ/ ]... per s [ j, +j ] Confronto Z ( ), ustin ( ), Backward (.) =. Confronto Z ( ), ustin ( ), Backward (.) =..5.5.5.5.5.5.5.5.5.5.5 mappa del contorno della striscia principale in s Confronto Z ( ), ustin ( ), Backward (.) =..5.5.5.5.5... includendo Forward differences Confronto Z ( ), ustin ( ), Backward (.), Forward ( ) =..5 3.5.5.5.5 3.5.5.5 3 3 Sistemi Digitali di Controllo A.A. 9- p. 4/33
Sistemi Digitali di Controllo A.A. 9- p. 5/33 Aspetti frequenziali della trasformazione di ustin Relazioni tra il piano w, il piano z e il piano s Piano w jω z = + w/ w/ Σ w = z z + Piano z Im s = lnz Re z = e s Piano s jω ω s ω s σ. la corrispondenza di w è simile a quella della Z-trasformata, ma la circonferenza unitaria z = viene percorsa una sola volta quando w = jω per Ω (, + ). non si ha quindi un effetto di sovrapposizione frequenziale (aliasing) 3. la trasformazione di ustin introduce distorsioni (fenomeno di compressione in alta frequenza): invece di aversi jω = jω, si ha jω = e jω + e jω = e jω/ e jω/ e jω/ + e jω/ = j sinω/ cosω/ = j tan ω
Sistemi Digitali di Controllo A.A. 9- p. 6/33 Aspetti frequenziali della trasformazione di ustin legame tra le pulsazioni Ω del filtro analogico di partenza D c (s) e le pulsazioni ω del filtro digitale D d (z) ottenuto con ustin W Ω = tan ω D c (jω) = D d (e jω ) G(jW) per ω π/ Ω ω G(e^(jw)) ws/ w (nel grafico: Ω W, ω w) w
Sistemi Digitali di Controllo A.A. 9- p. 7/33 rasformazione bilineare con precompensazione Scegliendo s = ω tan ω z + z = ω tan ω z z + prewarping (compensazione delle distorsioni) alla pulsazione Ω = ω ω = ω D c (jω ) = D d (e jω ) Se si vuole precompensare alla frequenza di taglio ω = a la versione digitale di un filtro passa basso G(s) = a a z s = s + a + z tan a si ottiene G d (z) = tan a ( + z ) (tan a )z + (tan a + )
Sistemi Digitali di Controllo A.A. 9- p. 8/33 rasformazione bilineare con precompensazione Allo stesso risultato si arriva modificando il punto di rottura del filtro analogico secondo la a tan ω G(s) = a s + a G(s) = e poi applicando la trasformazione di ustin s = tan ω s + tan ω z + z Paragonando i moduli alla pulsazione di taglio si ha infatti G(ja) = j + = = 3 db G d (e jω ) = tan a +e jω e jω + tan a = tan a j tan ω + tan a G d (e ja ) = tan a tan a = 3 db Occorre più in generale aggiustare anche il guadagno statico (per z = ) della G d (z) ottenuta per avere lo stesso valore della G(s) di partenza La procedura si può ripetere in modo analogo per un filtro passa alto G(s) = s s + a (con eventuale aggiustamento del guadagno alle alte frequenze, per z = )
Sistemi Digitali di Controllo A.A. 9- p. 9/33 Esempio di trasformazione con precompensazione Progettare un filtro passa basso discreto che approssimi nella banda [, ] rad/s il comportamento del filtro analogico G(s) = s + con =. s Utilizzando la regola di ustin si ottiene G d,ustin (z) = e la relativa funzione di risposta armonica discreta G d,ustin (e jω ) = z +z + = + z j tan ω + = j tan. ω + Utilizzando la precompensazione alla frequenza ω = rad/s, si ottiene G d,prewarp (z) = tan z +z + =.69 ( + z ) +.8z
Sistemi Digitali di Controllo A.A. 9- p. /33 Esempio di trasformazione con precompensazione (cont) Ampiezza dei filtri analogico e digitali - - G (db) -3-4 -5 (b) -6 (a) -7 (c) -8 W (cont.) e W (anal.) coincidenza alla pulsazione ω = rad/s (a) = G(jω) (asintotica/effettiva) (b) = G d,ustin (e jω ) (c) = G d,prewarp (e jω )
Sistemi Digitali di Controllo A.A. 9- p. /33 Metodo della Z-trasformata D(z) = Z [ L [D(s)] ] Esempio D(s) = a s + a D(z) = a e a z in generale, richiede lo sviluppo della D(s) in frazioni parziali (poli e residui) per definizione, si ha invarianza dei campioni della risposta impulsiva - in uscita al controllore digitale o analogico, quando in ingresso c è un impulso possibilità di aliasing - lo spettro di D(z) (a meno del fattore / ) è quello della D(s) multiplato infinite volte, centrate rispetto alle pulsazioni k(π/), k =...,,,,,... - due vie per evitare l aliasing: filtro passa basso prima del campionamento o aumento della frequenza di campionamento regolatori stabili D(s) a tempo continuo sono trasformati in regolatori stabili D(z) a tempo discreto (e viceversa)
Sistemi Digitali di Controllo A.A. 9- p. /33 Metodo della Z-trasformata con ricostruttore ZOH Analogo al caso precedente, ma introducendo un organo di tenuta (fittizio) di ordine nella trasformazione [ ] D(s) D(z) = ( z )Z s [ e s = Z s ] D(s) si ha quindi invarianza dei campioni della risposta al gradino, in quanto Z [D(z) ] [ z = L D(s) s] t=k possibilità di aliasing - ma fenomeno più attenuato per l effetto di filtraggio dello ZOH regolatori stabili D(s) trasformati in regolatori stabili D(z) Esempio D(s) = a s + a D(z) = ( e a )z e a z
Sistemi Digitali di Controllo A.A. 9- p. 3/33 Corrispondenza poli/zeri. si fattorizza numeratore e denominatore di D(s) (rispettivamente, zeri e poli). si trasformano poli e zeri (reali o complessi coniugati) secondo la mappa z = e s, usando le relazioni (s + a) ( e a z ) (s + a ± jb) ( e a cos bz + e a z ) 3. si introducono tanti zeri in z = quanto è il grado relativo di D(s) - gli n m poli in eccesso possono vedersi come zeri all infinito in s - si vuole che D d (e jω ) per ω π/ sia simile a D c (jω) per Ω 4. si aggiusta il guadagno alle basse frequenze (z = ) per una D(s) passa-basso o alle alte frequenze (z = ) per una D(s) passa-alto Esempio: passa basso a guadagno unitario D(s) = a s + a D(z) = a e a z ma lim s D(s) = mentre lim z D(z) D(z) = k a( + z ) e a z k = e a z a Nota: lim ω π/ e jω = + j = z
Sistemi Digitali di Controllo A.A. 9- p. 4/33 Esempi della tecnica di corrispondenza poli/zeri filtro passa alto D(s) = s z D(z) = k s + a z e a + e a D(z = ) = k = = lim D(s) k = e a s rete attenuatrice/anticipatrice D(s) = s + b s + a D(z) = k z e b z e a D(z = ) = k e b e a = b a = D(s = ) k = b a e a e b eccesso poli-zeri = D(s) = (s + a) + b = (s + a + jb)(s + a jb) D(z) = k (z + ) z ze a cosb + e a D(z = ) = D(s = ) k = e a cos b + e a 4(a + b )
Sistemi Digitali di Controllo A.A. 9- p. 5/33 Esempio di progetto per discretizzazione Processo G(s) = s(s + ) Specifiche ad anello chiuso (in retroazione unitaria) sulla risposta indiciale δπ sovraelongazione S 6.5 % S = e δ δ.5 tempo di assestamento (al %) a s a = 4 δω n ω n = 4 rad/s dove si è assunto come processo controllato target un modello con due poli dominanti Nota: si segue qui una sintesi a tempo continuo nel dominio di Laplace piuttosto che nel dominio della frequenza, che richiederebbe la conversione delle specifiche sulla risposta al gradino in (M r, B 3 ) (risposta armonica ad anello chiuso) (m f, ω t ) (ad anello aperto) e una sintesi per tentativi Il primo passo è la scelta del periodo di campionamento - in relazione alle costanti di tempo desiderate ad anello chiuso - oscillazioni smorzate con periodo π/(ω n δ ) =.84 s - circa 8- campioni per oscillazione =. s
Sistemi Digitali di Controllo A.A. 9- p. 6/33 Esempio di progetto per discretizzazione (cont) Si considera poi l effetto di ritardo che verrà introdotto dal ricostruttore (ZOH) H (s) = e s s G h (s) = s/ + = s + dove si è usata l approssimazione di Padè per H (s) - - Pade gradi -3-4 -5 H -6-7 -8-9 - rad/s
Sistemi Digitali di Controllo A.A. 9- p. 7/33 Esempio di progetto per discretizzazione (cont) Il sistema così modificato è G m (s) = G h (s)g(s) = s(s + )(s + ) Poiché occorre aumentare la pulsazione naturale ad anello chiuso (mantenendo smorzamento elevato), si procede per cancellazione del polo lento (s + ) e sua sostituzione con uno più veloce (di fatto, rete anticipatrice + aumento del guadagno) D(s) =.5 s + s + 6.667 Infatti, posto G a (s) = D(s)G h (s)g(s), la funzione di trasferimento ad anello chiuso G (s) = G a(s) + G a (s) =.5 s 3 + 6.667s + 66.67s +.5 ha i tre poli in s =.665 e in s = ± j3.46, per cui la coppia di poli dominante ha δ =.5 ω n = 4 a = 4 δω n = s
Sistemi Digitali di Controllo A.A. 9- p. 8/33 Esempio di progetto per discretizzazione (cont) Ad anello chiuso, la risposta del sistema a tempo continuo e la posizione dei poli è. Sistema con controllore analogico Im.8 y(t).6 x.4 x Re. x.5.5.5 3 3.5 4 t
Sistemi Digitali di Controllo A.A. 9- p. 9/33 Esempio di progetto per discretizzazione (cont) Volendo mantenere la cancellazione polo-zero, si passa al dominio discreto con la tecnica della corrispondenza di poli e zeri z = e 6.667 =.644 (polo) D(s) =.5 s + s + 6.667 z = e =.673 (zero) D(z) = k z.673 z.644 con k scelto confrontando i guadagni statici D(z = ) = D(s = ) k = 3.57 In conclusione, le prestazioni del controllore discreto ottenuto D(z) = 3.57 z.673 z.644 vanno validate con una simulazione del sistema complessivo Questa può farsi interamente a tempo discreto, convertendo il processo (con l organo di tenuta ZOH) nel discreto e con il controllore discreto, oppure in modalità ibrida, con il processo originale continuo e il controllore discreto (e organo di tenuta ZOH)
Sistemi Digitali di Controllo A.A. 9- p. 3/33 Esempio di progetto per discretizzazione (cont) Nel primo caso, essendo =. s, si ha [ e s H G(z) = Z s = z z Z ] s(s + ) [.5 s.5 s = z z ] = +.5 s + [ Z s (s + ) ].758(z +.876) (z )(z.673) e si conferma che lo zero del regolatore D(z) cancellerà effettivamente il polo stabile del processo in z =.673 La funzione di trasferimento discreta di anello è D(z)H G(z) =.385 mentre ad anello chiuso si ha z +.876 (z )(z.644) =.385 ( +.876z )z ( z )(.644z ) G (z) =.385z +.89z.59z +.4733z
Sistemi Digitali di Controllo A.A. 9- p. 3/33 Esempio di progetto per discretizzazione (cont) Risposta ad anello chiuso del sistema discreto equivalente e corrispondente uscita discreta del regolatore.4 (a) uscita del sistema equivalente discreto 4 (b) valori discreti della variabile di controllo. 8 y(k).8.6.4. u(k) 6 4.5.5.5 3 3.5 4 k 4.5.5.5 3 3.5 4 k La sovraelongazione è leggermente superiore alla specifica (S = % vs. 6.5%) mentre il tempo di assestamento è soddisfacente
Sistemi Digitali di Controllo A.A. 9- p. 3/33 Esempio di progetto per discretizzazione (cont) Nel secondo caso, si ha uno schema a blocchi Simulink del tipo con segnali campionati, tenuti, confrontati con passo =. s
Sistemi Digitali di Controllo A.A. 9- p. 33/33 Esempio di progetto per discretizzazione (fine) campioni in uscita al controllore D(z) e dopo l organo di tenuta ZOH 4 4 u digital samples 8 6 4 u samples with ZOH 8 6 4 4.5.5.5 3 3.5 4 sampled time t 4.5.5.5 3 3.5 4 continuous time t uscita continua del processo e uscita con i suoi campioni sovrapposti.4.4.. y continuous.8.6.4 y samples over y continuous.8.6.4...5.5.5 3 3.5 4 continuous time t.5.5.5 3 3.5 4 continuous time t