Ing. Cristian Secchi Tel. 0522 522235 e-mail: [email protected] http://www.dismi.unimo.it/Members/csecchi
CONTROLLI DIGITALI
Laurea Magistrale in Ingegneria Meccatronica
SISTEMI A TEMPO DISCRETO
CD02 -- 2 Cristian Secchi
Richiami di Controlli Automatici
Il comportamento ingresso-uscita dei sistemi a tempo continuo può essere descritto da equazioni differenziali, che in generale hanno la forma:
Molti sistemi di interesse possono essere descritti da equazioni
differenziali lineari a parametri concentrati caratterizzate dalla seguente forma semplificata.
I sistemi descritti da queste equazioni sono detti sistemi
Lineari Tempo Invarianti (LTI).
Se il sistema che si sta modellando è caratterizzato da un solo ingresso e una sola uscita, si parlerà di sistemi single input single output (SISO).
CD02 -- 3 Cristian Secchi
Richiami di Controlli Automatici
Nel corso di Controlli Automatici sono stati trattati sistemi LTI SISO. E’ possibile passare da una rappresentazione nel dominio dei tempi a una nel dominio complesso e viceversa tramite le operazioni di
Trasformata e Antitrasformata di Laplace.
Il vantaggio principale nel passare al dominio complesso è che
un’equazione differenziale viene trasformata in un’equazione algebrica più semplice da gestire.
L
L
!1Richiami di Controlli Automatici
Un sistema LTI-SISO può essere descritto nel dominio complesso tramite una Funzione di Trasferimento.
La rappresentazione mediante funzione di trasferimento è molto “comoda” e ha consentito di sviluppare un’analisi approfondita del comportamento del sistema, un’analisi delle specifiche e svariate tecniche per il progetto di controllori.
CD02 -- 5 Cristian Secchi
Richiami di Controlli Automatici
Lo schema di controllo finale è:
Sia il plant che il controllore sono rappresentati da funzioni di trasferimento e, quindi, sono sistemi a tempo continuo. Ma l’azione di controllo deve essere implementata su un calcolatore che è un sistema a tempo discreto…
Occorre sviluppare un framework per la modellazione dei sistemi discreti in modo da poter costruire un’azione di controllo che sia implementabile su di un sistema a microprocessore.
- Gc(s) Gp(s)
r(t) e(t) u(t) y(t)
CD02 -- 6 Cristian Secchi
Descrizione di Sistemi a tempo discreto
Equazioni differenziali Trasformata di Laplace SISTEMI TEMPO-CONTINUI Equazioni alle differenze Trasformata
Z
SISTEMI TEMPO-DISCRETID
/
A
A
/
D
CD02 -- 7 Cristian Secchi
Equazioni alle differenze
Elaborazione
equazione lineare alle differenze di ordine n
Si supponga di voler elaborare una sequenza di dati discreti ek=e(kT), con k=0,1,2,…, per ottenere una sequenza uk=u(kT).
In generale:
Se la funzione f() è lineare e dipendente solo da un valore finito di valori passati di uk ed ek, l’elaborazione può essere rappresentata da:
Equazioni alle differenze
Come per le equazioni differenziali lineari, esiste un metodo per trovare la soluzione in forma chiusa di un’equazione alle differenze lineare. Tuttavia, nell’ambito dei controlli digitali, ci interesserà molto di più ottenere una
forma ricorsiva:
e
kµ
p
u
kuk-1 uk-2 uk-3 … uk-n ek-1 ek-2 ek-3 … uk-m
Memoria
Ad ogni istante k, dato un ingresso ek è possibile calcolare, usando i dati in memoria, l’uscita uk.
CD02 -- 9 Cristian Secchi
La trasformata Z
La trasformata Z è un metodo utilizzato per studiare i sistemi discreti. Essa rappresenta essenzialmente l'analogo della trasformata di Laplace per i sistemi continui.
DEFINIZIONE: Sia data una sequenza di valori xk ∈ R, definita per k = 0, 1, 2,… e nulla per k < 0. La Z-trasformata (unilatera) della sequenza xk è la funzione di variabile complessa z definita come:
La Z-trasformata è definita in una regione del piano complesso z
detta dominio di convergenza, cioè nell'insieme dei punti z per i quali la serie converge.
CD02 -- 10 Cristian Secchi
La trasformata Zeta
DIPENDE DAL PERIODO (T) DI CAMPIONAMENTO
Nel caso in cui la sequenza di valori xk sia ottenuta campionando
uniformemente con periodo T un segnale continuo descritto dalla funzione x(t), t ¸ 0, si avrà che xk = x(kT) (o più semplicemente xk = x(k), k = t/T
CD02 -- 11 Cristian Secchi
La Z-trasformata
p1, p2, …, pn sono i poli di X(z) mentre z1,z2,…,zm sono gli zeri di X(z)
Nell ambito dei controlli digitali, X(z) avrà spesso un espressione razionale fratta:
La Z-trasformata
Raccogliendo zn sia al numeratore che al denominatore si ottiene una
rappresentazione più utilizzata nelle applicazioni controllistiche in cui compaiono solo potenze di z-1:
CD02 -- 13 Cristian Secchi
La Z-trasformata – Funzioni elementari
•
Impulso discreto unitario.Sia data la funzione, detta anchefunzione delta di Kronecker δ0(t):
•
Gradino unitario. Sia data la funzione
Serie convergente per |z| > 1
CD02 -- 14 Cristian Secchi
La Z-trasformata – Funzioni elementari
•
Rampa unitaria. Si consideri la funzione rampa unitaria:Serie convergente per |z| > 1
CD02 -- 15 Cristian Secchi
La Z-trasformata – Funzioni elementari
•
Funzione potenza ak.Sia data la funzione:Serie convergente per |z| > a Dalla definizione si ha
a
costante reale o complessaLa Z-trasformata
Le trasformate delle funzioni di maggior interesse sono solitamente riportate in tabelle che vengono consultate per la determinazione di Z-trasformate di funzione generiche, in modo analogo a quanto avviene per le tabelle delle trasformate di Laplace.
Tramite le tabelle si possono determinare le Z-trasformate di funzioni di maggior complessità, scomponendo tali funzioni in somme di funzioni più semplici e ricomponendo successivamente le corrispondenti Z-trasformate.
CD02 -- 17 Cristian Secchi
Tabelle delle Z-Trasformate
CD02 -- 18 Cristian Secchi
CD02 -- 19 Cristian Secchi
La Z-trasformata
•
Dato un segnale x(t) e il periodo di campionamento T, si ottiene una unica X(z)•
A una X(z) possono corrispondere molte funzioni continue x(t)•
Questa ambiguità non sussiste se sono verificate le condizioni restrittive su T del teorema di ShannonTeoremi e proprietà principali
•
Linearità: La Z trasformata è un operatore lineareCD02 -- 21 Cristian Secchi Ingegneria e Tecnologie dei Sistemi di Controllo
Teoremi e proprietà principali
•
Teorema della traslazione nel tempo: Sia dato un segnale x(t), nullo per t<0, e sia X(z) = Z[x(t)]. Per n = 0, 1, 2, … si ha che:ritardo anticipo
In pratica spesso si scrive, con un certo abuso di notazione:
CD02 -- 22 Cristian Secchi Ingegneria e Tecnologie dei Sistemi di Controllo
Teoremi e proprietà principali
Teorema del valore iniziale: Se X(z) = Z[x(t)] ed esiste
allora il valore iniziale x(0) di x(t) è dato da:
CD02 -- 23 Cristian Secchi
Teoremi e proprietà principali
Teorema del valore finale: Sia X(z) = Z[x(t)] e siano tutti i poli di X(z)
entro al cerchio unitario, con al più un polo semplice in z =1. Allora il valore finale di x(k), cioè il valore di x(k) per k!1 è dato da:
Teoremi e proprietà principali
•
Esempio: Si consideri il segnale descritto daX(kT) = 0, 0.5000, 1.2500, 1.6250, 1.8125, 1.9063, 1.9531, 1.9766, 1.9883,
1.9941, 1.9971, 1.9985, 1.9993, 1.9996, 1.9998, 1.9999, 2.0000, 2.0000, …. (T = 1 sec)
CD02 -- 25 Cristian Secchi
Teoremi e proprietà principali
•
Differenziazione complessaDa cui si deduce che:
Questa relazione permette di calcolare Z-trasformate di funzioni a partire da Z-trasformate già note.
CD02 -- 26 Cristian Secchi
Teoremi e proprietà principali
Esempio: Gradino unitario. La Z-trasformata del gradino unitario è
Si può usare il teorema della differenziazione complessa per calcolare la Z-trasformata della rampa unitaria x(kT) = kT:
CD02 -- 27 Cristian Secchi
Teoremi e proprietà principali
Integrazione complessa: Si consideri la sequenza
dove x(k)/k è finito per k=0 e sia Z[x(k)]=X(z). La Z-trasformata di x (k)/k è data da:
Teoremi e proprietà principali
Teorema della convoluzione reale: Siano date due funzioni x1(t) e x2
(t), con x1(t) = x2(t) = 0 per t< 0, e siano X1(z) e X2(z) le
corrispondenti Z-trasformate. Allora:
CD02 -- 29 Cristian Secchi
La antitrasformata Z
X(z) x(k)
La relazione tra X(z) e x(k) è biunivoca: è possibile ottenere la sequenza di dati x(k) a partire dalla X(z) e viceversa.
L’antitrasformata Z permette di passare da una Z-trasformata X(z) alla corrispondente sequenza x(k).
Esistono diversi metodi per antitrasformare una funzione X(z) • Metodo della lunga divisione
• Metodo computazionale
• Metodo della scomposizione in fratti semplici
• Metodo dell integrale di inversione
CD02 -- 30 Cristian Secchi
La antitrasformata Z
x(k) x(t)
La corrispondenza tra la sequenza campionata xk e il segnale originale x(t) NON è biunivoca. Se è soddisfatto il Teorema di Shannon sul campionamento, la funzione continua x(t) può essere determinata univocamente a partire dalla sequenza xk.
CD02 -- 31 Cristian Secchi
La antitrasformata Z – Il metodo computazionale
Si consideri ad esempio la seguente Z trasformata:
Essa può essere riscritta come:
Dove U(z) è la Z-trasformata dell’impulso unitario discreto e vale 1
La antitrasformata Z – Il metodo computazionale
Considerando l’operatore z-1 come un ritardo unitario possiamo riscrivere
l’espressione precedente sotto forma di equazione alle differenze:
da cui
CD02 -- 33 Cristian Secchi
La antitrasformata Z – Il metodo computazionale
La soluzione dell’equazione alle differenze ci dà i termini della sequenza x (kT)
Il vantaggio di questo metodo è che l’equazione alle differenze da risolvere per trovare la sequenze può essere facilmente scritta in forma ricorsiva in qualsiasi linguaggio di programmazione.
CD02 -- 34 Cristian Secchi
La antitrasformata Z – fratti semplici
E’ l’analogo nel discreto della tecnica della scomposizione in fratti semplici utilizzate con le trasformate di Laplace. Infatti, poichè la Z-trasformata è un operatore lineare, è possibile scomporre l'espressione di una X(z) in termini elementari, dai quali si può ricavare l'antitrasformata tramite tabelle, e sommare i vari elementi così ottenuti.
In gerale, sia data una Z-trasformata:
Per prima cosa occorre calcolare i poli, le radici del polinomio A(z) e riscrivere X(z) come:
CD02 -- 35 Cristian Secchi
La antitrasformata Z – fratti semplici
CASO 1: Tutti i poli di X(z) sono sempliciIn questo caso si pone:
dove i coefficienti ci sono detti residui e sono dati da:
La antitrasformata Z – fratti semplici
•
Se in X(z) vi è almeno uno zero nell origine, si usa X(z)/z:•
Quando sono presenti poli complessi coniugati, i coefficienti ci sonoanch'essi complessi. In questo caso si ricorre alle formule di Eulero per ottenere funzioni trigonometriche a coefficienti reali.
CD02 -- 37 Cristian Secchi
La antitrasformata Z – fratti semplici
CASO 2 – Vi sono poli multipli in X(z) o in X(z)/zSiamo nella situazione in cui si ha:
Possiamo scrivere
Dove i residui si calcolano mediante la seguente formula:
CD02 -- 38 Cristian Secchi
La antitrasformata Z – fratti semplici
• Esempio: Calcolare l'antitrasformata della funzione
• I due poli risultano z1 = 1 e z2 = 0.6. Inoltre, la X(z) puo` essere scritta come
• Si utilizza quindi la X(z)/z da cui
CD02 -- 39 Cristian Secchi
La antitrasformata Z – fratti semplici
•
Esempio: Antitrasformare la funzione•
Si ha chee quindi
e
Funzioni di Trasferimento Discrete
Considereremo sistemi discreti lineari con un ingresso e un’uscita
uk y k m k n k k n k n k k
a
y
a
y
b
u
b
u
b
u
y
a
1+
2 −1+
+
−=
1+
2 −1+
+
−S
Elaborazione Discreta)
(
)
(
)
(
)
(
1 2 1 1 2 1a
z
a
z
Y
z
b
b
z
b
z
U
z
a
m n n n − − − −+
+
+
=
+
+
+
Applicando la Z trasformata ad entrambi i membri e sfruttando la linearità dell’operatore, si ottiene:
CD02 -- 41 Cristian Secchi
Funzioni di Trasferimento Discrete
)
(
)
(
)
(
)
(
)
(
1 2 1 1 2 1 n n m nz
a
z
a
a
z
b
z
b
b
z
U
z
Y
z
G
− − − −+
+
+
+
+
+
=
=
G(z) è la funzione di trasferimento del sistema a tempo discreto. Analogamente a quanto succede per i sistemi tempo continui:
• La sua espressione non dipende dall’ingresso, ma è data dalle proprietà del sistema • Lega la trasformata Z dell’uscita a quella dell’ingresso tramite Y(z)=G(z)U(z) • E’ uno strumento molto utile per l’analisi di un sistema discreto e per la sintesi di un controllore
• E’ razionale fratta e, quindi, molti degli strumenti introdotti per l’analisi dei sistemi tempo continui possono essere utilizzati, con opportune modifiche, per i sistemi discreti • Le radici del polinomio al denominatore sono dette poli mentre quelle del polinomio al numeratore sono dette zeri. L’equazione che si ottiene ponendo uguale a zero il polinomio al denominatore è detta equazione caratteristica.
CD02 -- 42
•
La funzione di trasferimento può essere interpretata come laZ-trasformata della risposta impulsiva
•
La risposta nel tempo discreto è data dalla sommatoria diconvoluzione tra l’ingresso e la risposta impulsiva del sistema, detta anche sequenza ponderatrice
•
Queste proprietà sono analoghe a quelle della funzione di trasferimento nel dominio di LaplaceCristian Secchi
Funzioni di Trasferimento Discrete
)
(
1
)
(
)]
(
[
)
(
)
(
)
(
)
(
z
G
z
U
z
G
z
Z
k
G
z
G
z
Y
=
=
δ
=
⋅
=
)]
(
)
(
[
)]
(
[
)
(
k
Z
1Y
z
Z
1G
z
U
z
y
− −=
=
Ricordando il teorema della convoluzione reale si ha che:
∑
= −=
k h h k hu
g
k
y
0)
(
CD02 -- 43 Cristian Secchi
Funzioni di Trasferimento Discrete
E’ possibile rappresentare un sistema a tempo discreto come un blocco con un ingresso e un’uscita.
G(z)
U(z) Y(z)
Un sistema discreto può essere rappresentato dall’interconnessione di più blocchi. Le regole di riduzione per gli schemi a blocchi di sistemi discreti sono le stesse che valgono per gli schemi a blocchi di sistemi continui
U(z) C(z) G1(z) G2(z) Y(z) U(z) H(z) C(z) ) ( ) ( ) (z G1 z G2 z H = G1(z) G2(z) + + U(z) Y(z) H(z) U(z) Y(z) ) ( ) ( ) (z G1 z G2 z H = + H(z) U(z) Y(z) ) ( ) ( 1 ) ( ) ( 2 1 1 z G z G z G z H + = G1(z) G2(z) + - U(z) Y(z)
Serie Parallelo Retroazione
•
Analogamente al caso tempo continuo, la stabilità di un sistema tempo discreto è legata alla risposta impulsiva del sistema. Un sistema discreto si dice:•
Stabile, se la risposta del sistema all’impulso discreto rimane limitata•
Asintoticamente stabile, se è stabile e la risposta del sistema converge asintoticamente a 0•
Instabile, se non è stabile•
Analogamente al caso tempo continuo, la stabilità asintotica e la stabilità ingresso-limitato uscita-limitata coincidono•
Nelle applicazioni pratiche si è tipicamente interessati alla asintotica stabilitàCD02 -- 45
•
Analogamente al caso tempo-continuo, il carattere di convergenza della risposta impulsiva dipende solamente dalla posizione dei poli della funzione di trasferimento che rappresenta il sistema tempo discreto. Se il sistema è descritto da una funzione di trasferimento del tipo:
con A(z) e B(z) primi tra loro
•
Il sistema è asintoticamente stabilese tutte le radici del polinomio A(z), cioè i poli del sistema, sono entro il cerchio unitario che ha centro nell’origine del piano z, ossia se |pi|<1 per ogni i
•
Il sistema è stabile se tutti i poli con modulo unitario (|pi|=1) sono semplici (ossia hanno molteplicità 1), mentre tutti i rimanenti poli sono entro il cerchio unitario
•
Il sistema è instabile se almeno un polo ha modulo strettamente maggiore di uno oppure se esiste un polo con modulo unitario e molteplicità maggiore di 1
•
La posizione degli zeri NON influisce sulla stabilità del sistema.
Stabilità nei sistemi discreti
Cristian Secchi
)
(
)
(
)
(
z
A
z
B
z
G
=
CD02 -- 46Stabilità nei sistemi discreti - Esempi
Cristian Secchi
5
.
0
1
)
(
+
=
z
z
G
5
.
0
1
)
(
−
=
z
z
G
CD02 -- 47
Stabilità nei sistemi discreti - Esempi
Cristian Secchi
1
1
)
(
−
=
z
z
G
1
1
)
(
−
=
z
z
G
Stabilità nei sistemi discreti - Esempi
2
1
)
(
−
=
z
z
G
2)
1
(
1
.
0
)
(
−
=
z
z
G
CD02 -- 49
•
L’ uscita del sistema poteva essere ottenuta direttamenteantitrasformando la G(z)
•
Il fatto che la regione di stabilità sia il cerchio unitario, dipende dal fatto che l’antritrasformata di G(z) è composta da termini in cui compaiono funzioni potenza anziché esponenziali come nel caso tempo continuo.Stabilità nei sistemi discreti
Cristian Secchi
CD02 -- 50
•
Per determinare la stabilità è sufficiente verificare la posizione delleradici dell’equazione caratteristica rispetto al cerchio unitario. Se l’equazione è data da:
è possibile
•
trovare le radici dell’equazione mediante un programma di analisi numerica (es. Matlab à roots([1 a1,…,an])•
usare criteri che consentono di determinare la stabilità del sistema senza dover risolvere l’equazione caratteristica•
Criterio di Routh e trasformazione bilineare•
Criterio di Jury (vedi Bonivento-Zanasi-Melchiorri Cap. 4)Determinazione della stabilità
Cristian Secchi
0
1 1+
+
=
+
− n na
z
a
z
n
CD02 -- 51
•
Data un’equazione polinomiale di grado n, il criterio di Routh consentedi determinare, senza dover risolvere l’equazione, se tutte le radici hanno parte reale negativa.
•
Nei sistemi continui, ciò è sufficiente per determinare se un sistema è asintoticamente stabile ma questo non è più vero per i sistemi discreti.•
L’idea è quella di trasformare, mediante una trasformazione bilineare, la funzione data G(z) in un’altra funzione G(w) di variabile complessa w tale da permettere l’applicazione a quest’ultima il criterio di Routh.Criterio di Routh
Cristian Secchi
•
Si utilizza la seguente trasformazione bilineare•
La prima equazione trasforma infatti il cerchio unitario in z nel semipiano sinistro del piano w (permettendo quindi l’applicazione del criterio di Routh), mentre la seconda equazione effettua latrasformazione inversa.
•
Verificare che il sistema G(w) abbia tutti i poli a parte reale negativa equivale a verificare che il sistema G(z) abbia tutti i poli all’interno del cerchio unitario e che, quindi, sia asintoticamente stabile.Criterio di Routh
w
w
z
−
+
=
1
1
1
1
+
−
=
z
z
w
CD02 -- 53
Criterio di Routh
Cristian Secchi
Ponendo w=σ+jω, si può facilmente vedere che il cerchio unitario viene mappato nel semipiano sinistro tramite la trasformazione bilineare
1
1
1
1
1
<
−
−
+
+
=
−
+
=
ω
σ
ω
σ
j
j
w
w
z
da cui(
)
(
1
)
1
1
2 2 2 2<
+
−
+
+
ω
σ
ω
σ
(
1
)
2 2(
1
)
2 2ω
σ
ω
σ
+
<
−
+
+
σ
<0In modo analogo, è possibile mostrare che i punti sul cerchio unitario vengono mappati sull’asse immaginario e che i punti esterni al cerchio unitario vengono mappati nel semipiano destro del piano di Gauss.
CD02 -- 54
Per testare la stabilità di una funzione di trasferimento G(z):
•
Si considera l’equazione caratteristica del sistema•
Si effettua la trasformazione bilineare per mappare il piano z nel piano wda cui si ottiene una nuova equazione polinomiale in w
Criterio di Routh
Cristian Secchi0
)
(
=
+
1 1+
+
+
1+
=
− − n n na
z
a
z
a
z
z
P
n
0
1
1
1
1
1
1
1 1 1=
+
⎟
⎠
⎞
⎜
⎝
⎛
−
+
+
+
+
⎟
⎠
⎞
⎜
⎝
⎛
−
+
+
⎟
⎠
⎞
⎜
⎝
⎛
−
+
− − n n na
w
w
a
w
w
a
w
w
n
0
)
(
=
0+
1 1+
+
+
1+
=
− − n n nq
w
q
w
q
w
q
w
Q
n
CD02 -- 55
•
in virtù delle proprietà della trasformazione bilineare, radici di Q(w) aparte reale positiva, nulla, negativa corrispondono rispettivamente a radici di P(z) a modulo maggiore, uguale, minore di 1. Applicando il criterio di Routh, si determina la posizione delle radici di Q(w) e, di conseguenza, la stabilità di G(z).
Criterio di Routh
Cristian SecchiEsempio
1 2 1 ) ( 3 2 + + + + = z z z z z GSia dato un sistema discreto rappresentato da:
Applicando la trasformazione bilineare all’equazione caratteristica, si ottiene
1 1 1 1 1 2 1 1 ) ( 2 3 + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ − + + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ − + + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ − + = w w w w w w w Q da cui
5
3
)
(
3 2+
+
+
−
=
w
w
w
w
Q
CD02 -- 57
Esempio
Cristian Secchi
Applicando il criterio di Routh, si ottiene:
3 -1 1
2 3 5
1 8/3
0 5
da cui si conclude che, essendo presente una sola variazione di segno in prima colonna, il sistema ha un polo instabile.
CD02 -- 58
•
Sono definiti in un insieme discreto dei tempi e possono essererappresentati da un’equazione alle differenze
•
La trasformata Z è l’analogo discreto della trasformata di Laplace e consente di definire il concetto di funzione di trasferimento per i sistemi discreti.•
Le regole di interconnessione per i sistemi discreti sono le stesse che valgono per i sistemi continui•
La stabilità di un sistema discreto è legata alla molteplicità e alla posizione dei poli della sua funzione di trasferimento rispetto al cerchio unitario.Sistemi a tempo discreti
Ing. Cristian Secchi Tel. 0522 522235 e-mail: [email protected] http://www.dismi.unimo.it/Members/csecchi
CONTROLLI DIGITALI
Laurea Magistrale in Ingegneria Meccatronica