sistemi a dati campionati e relative funzioni di trasferimentoย ยท campionamento ๐๐=1s(caso 1)...
TRANSCRIPT
1
Controllo digitale
Ing. Alessandro [email protected]
Sistemi a dati campionati e relative funzioni di trasferimento
2
Funzioni di trasferimento di sistemi a dati campionati
Analizziamo preliminarmente la situazione in cui un processo dinamico, descritto
dalla funzione di trasferimento G(s), รจ soggetto ad un segnale di ingresso ๐ฅโ ๐กottenuto campionando un segnale causale ๐ฅ ๐ก
Poichรจ
๐ฅโ ๐ก = ฯ๐=0โ ๐ฅ ๐๐๐ ๐ฟ ๐ก โ ๐๐๐ = ๐ฅ 0 ๐ฟ ๐ก + ๐ฅ ๐๐ ๐ฟ ๐ก โ ๐๐ +๐ฅ 2๐๐ ๐ฟ ๐ก โ 2๐๐ +โฏ
la risposta ๐ฆ ๐ก del sistema all'ingresso ๐ฅโ ๐ก puรฒ essere calcolata, applicando il
principio di sovrapposizione degli effetti, come sommatoria delle risposte relative ai
singoli impulsi ๐ฅ0โ ๐ก , ๐ฅ1
โ ๐ก , ๐ฅ2โ ๐ก che, sommati fra loro, formano il segnale
complessivo.
๐ฅ0โ ๐ก ๐ฅ1
โ ๐ก ๐ฅ2โ ๐ก
3
Ricordiamo come lโuscita y(t) di un sistema dinamico avente FdT G(s) e sollecitato dal segnalecausale di ingresso u(t) sia in generale espressa mediante la convoluzione fra il segnale diingresso e la risposta impulsiva g(t) del sistema (la riposta impulsiva g(t) risulta essere latrasformata inversa di Laplace della Funzione di trasferimento G(s))
๐ฆ ๐ก = เถฑ
0
๐ก
๐ข ๐ ๐ ๐ก โ ๐ ๐๐ g ๐ก = โโ1 ๐บ ๐
Calcoliamo quindi la convoluzione fra la riposta impulsiva ๐ ๐ก del sistema in esame e
le varie componenti ๐ฅ0โ ๐ก , ๐ฅ1
โ ๐ก , ๐ฅ2โ ๐ก , โฆ. in cui abbiamo decomposto il segnale
impulsivo che viene applicato in ingresso al sistema
๐ฆ0 ๐ก = 0๐ก๐ฅ0โ ๐ ๐ ๐ก โ ๐ ๐๐ = 0
๐ก๐ฅ 0 ๐ฟ ๐ ๐ ๐ก โ ๐ ๐๐ = ๐ฅ 0 ๐ ๐ก
Considerando la prima componente ๐ฅ0โ ๐ก si ottiene (applicando le proprietร
dellโimpulso di Dirac)
๐ฆ1 ๐ก = 0๐ก๐ฅ1โ ๐ ๐ ๐ก โ ๐ ๐๐ = 0
๐ก๐ฅ ๐๐ ๐ฟ ๐ โ ๐๐ ๐ ๐ก โ ๐ ๐๐ = ๐ฅ ๐๐ ๐ ๐ก โ ๐๐
Considerando la seconda componente ๐ฅ1โ ๐ก si ottiene
4
๐ฆ2 ๐ก = 0๐ก๐ฅ2โ ๐ ๐ ๐ก โ ๐ ๐๐ = 0
๐ก๐ฅ 2๐๐ ๐ฟ ๐ โ 2๐๐ ๐ ๐ก โ ๐ ๐๐ = ๐ฅ 2๐๐ ๐ ๐ก โ 2๐๐
Considerando la terza componente ๐ฅ2โ ๐ก si ottiene
Iterando il ragionamento possiamo desumere come la risposta ๐ฆโ ๐ก alla generica componente ๐ฅโ
โ ๐ก del termine di ingresso sia pari a
๐ฆโ ๐ก = ๐ฅ โ๐๐ ๐ ๐ก โ โ๐๐
ed applicando quindi il principio di sovrapposizione degli effetti si ottiene per lโuscita
complessiva y(t) la forma seguente
๐ฆ ๐ก = ฯโ=0โ ๐ฆโ ๐ก = ฯโ=0
โ ๐ฅ โ๐๐ ๐ ๐ก โ โ๐๐
Ora valutiamo tale espressione in corrispondenza degli istanti di campionamento
๐ก = ๐ก๐ = ๐๐๐
๐ฆ ๐ก๐ = ๐ฆ ๐๐๐ =
โ=0
โ
๐ฅ โ๐๐ ๐ ๐๐๐ โ โ๐๐ =
โ=0
โ
๐ฅ โ๐๐ ๐ (๐ โ โ)๐๐
5
Possiamo esprimere tale relazione in una forma piรน familiare se denotiamo
Riconosciamo in tale espressione lโoperatore di convoluzione discreta fra le sequenze
๐ฅ ๐ e ๐ ๐ (che fu introdotto nellโambito della trattazione sulla trasformata Z per
illustrarne una delle fondamentali proprietร )
๐ฅ โ๐๐ โ ๐ฅ โ ๐ (๐ โ โ)๐๐ โ ๐ ๐ โ โ
La relazione puรฒ essere riscritta nella forma seguente
๐ฆ ๐ก๐ = ๐ฆ ๐๐๐ =
โ=0
โ
๐ฅ โ ๐ ๐ โ โ
๐(๐ง) = ๐ ๐ง ๐บ(๐ง)
Abbiamo visto a suo tempo come la trasformata Z della convoluzione discreta fra
due sequenze (o, equivalentemente, fra due funzioni di variabile discreta) sia pari al
prodotto fra le trasformate Z delle singole sequenze:
๐ ๐
๐ฟ ๐= ๐ฎ(๐)
6
Lโultima relazione ci consente di definire la funzione di trasferimento F(z) associata
ad un sistema in cui un segnale campionato alimenta un processo a tempo continuo
avente FdT G(s), e lโuscita di questโultimo viene a sua volta campionata
๐ฆ ๐ก
๐ญ(๐) =๐ ๐
๐ฟ ๐
La funzione di trasferimento F(z) coincide con la trasformata Z della sequenza
numerica che si ottiene valutando la risposta allโimpulso g(t) del processo a tempo
continuo in corrispondenza degli istanti di campionamento
F ๐ =๐ ๐
๐ฟ ๐= ๐ ๐ ๐ ๐=๐๐ป๐ = ๐ โโ๐ ๐ฎ(๐)
๐=๐๐ป๐
7
D/A P(s) A/D
๐ข(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)e(๐)CONTROLLORE
DIGITALE
๐(๐)
+โ
Ritorniamo alla configurazione standard per un sistema di controllo digitale
Il risultato appena ricavato non ha particolare rilevanza ai fini pratici, trattandosi di
uno scenario non realistico, ma ci consente, come vedremo da qui a breve, di
ricavare facilmente la funzione di trasferimento a tempo discreto da associare ad un
sistema a tempo continuo sollecitato da un segnale generato da un blocco
ricostruttore ZOH e seguito da un campionatore.
8
Il risultato appena ricavato non ha particolare rilevanza ai fini pratici, trattandosi di
uno scenario non realistico, ma ci consente, come vedremo da qui a breve, di
ricavare facilmente la funzione di trasferimento a tempo discreto da associare ad un
sistema a tempo continuo sollecitato da un segnale generato da un blocco
ricostruttore ZOH e seguito da un campionatore.
D/A P(s) A/D
๐ข(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)e(๐)C(z)
๐(๐)
+โ
Ritorniamo alla configurazione standard per un sistema di controllo digitale
Abbiamo imparato a caratterizzare il controllore digitale per mezzo di una funzione
di trasferimento C(z) che contiene, a numeratore e denominatore, i coefficienti della
relazione ingresso-uscita (equazione alle differenze finite) associata al controllore.
Ora vediamo come caratterizzare attraverso una FdT digitale la cascata fra il
ricostruttore ZOH (il convertitore D/A), il processo P(s) a tempo continuo, ed il
campionatore (convertitore A/D).
9
ZOH P(s) A/D
๐ข(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)
In base a quanto visto finora, il blocco ZOH รจ equivalente ad un sistema dinamico
avente funzione di trasferimento ๐บ๐๐๐ป ๐ =1โ๐โ๐๐๐
๐ , quindi lo schema puo essere
rappresentato in forma piรน compatta come segue
P(s) 1โ๐โ๐๐๐
๐ A/D
y(๐ก) ๐ฆ(๐)๐ข(๐)
Isoliamo dal sistema di controllo complessivo la parte che ci interessa
Vogliamo determinare๐ฎ ๐ =
๐ ๐
๐ผ ๐
10
P(s) 1โ๐โ๐๐๐
๐ A/D
y(๐ก) ๐ฆ(๐)๐ข(๐)
Tale configurazione รจ analoga a quella studiata poco prima, e sappiamo quindi che
G ๐ =๐(๐)
๐ผ(๐)= ๐ โโ๐ P(s)
1โ๐โ๐๐๐
๐ ๐=๐๐ป๐
Possiamo elaborare tale relazione per giungere ad una forma che, da un punto di
vista operativo, risulti piรน semplice da trattare ai fini pratici.
G(s) = P(s)1 โ ๐โ๐๐๐
๐ = (1 โ ๐โ๐๐๐ )
๐(๐ )
๐
Riscriviamo in forma lievemente diversa la FdT G(s) = P(s)1โ๐โ๐๐๐
๐ , della quale
dobbiamo determinare la trasformata inversa di Laplace g(t), estrarre da tale segnale
una sequenza numerica costituita dai suoi campioni negli istanti di campionamento ๐ก =๐๐๐ , e successivamente Z-trasformare tale sequenza secondo la formula
soprariportata
11
Definendo
G(s) = 1 โ ๐โ๐๐๐ ๐(๐ )
Q(s) =๐(๐ )
๐
si ha
Dobbiamo determinare ๐ ๐ก = โโ๐ G(s)
Chiamando ๐ ๐ก = โโ๐ Q(s) (si noti che ๐ ๐ก risulta essere la risposta al gradino unitario del processo a tempo continuo P(s) da controllare) si avrร , applicando le proprietร della trasformata di Laplace
G s = 1 โ ๐โ๐๐๐ ๐ ๐ = ๐ ๐ โ ๐ ๐ ๐โ๐๐๐ g t = q t โ q(t โ ๐๐)
Il segnale g t รจ pertanto la differenza fra la risposta al gradino unitario del processo P(s) da controllare ed il medesimo segnale ritardato di un tempo pari a ๐๐
G(s) = P(s)1 โ ๐โ๐๐๐
๐ = (1 โ ๐โ๐๐๐ )
๐(๐ )
๐
12
Ora valutiamo questโultima espressione di g(t) negli istanti di campionamento
g k๐๐ = q ๐๐๐ โ q ๐๐๐ โ ๐๐ = q ๐๐๐ โ q (๐ โ 1)๐๐
Se definiamo
q โ๐๐ โ ๐ โg ๐๐๐ โ ๐ ๐
g(k) = q ๐ โ q ๐ โ 1
si ottiene
Applicando lโoperatore di Z trasformata e la sua proprietร dello scorrimento a destra:
G z = Q ๐ง โ ๐งโ1Q ๐ง = 1 โ ๐งโ1 ๐ ๐ง =๐ง โ 1
๐งQ(z)
In cui Q(z) รจ la Z-trasformata della sequenza ottenuta campionando con periodo ๐๐ la
risposta al gradino unitario del processo P(s)
13
G ๐ง =๐งโ1
๐งZ โโ1
P(s)๐ ๐ก=๐๐๐
Giungiamo quindi alla seguente espressione finale per la Funzione di trasferimento discreta cercata
Le due rappresentazioni seguenti sono completamente equivalenti ai fini del legame ingresso uscita
Si noti che tale rappresentazione descrive il comportamento del processo P(s) solo negliistanti di campionamento.
ZOH P(s) A/D
๐ข(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)
G(z)๐ฆ(๐)๐ข(๐)
14
D/A P(s) A/D
๐ข(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)e(๐)C(z)
๐(๐)
+โ
Il sistema di controllo
๐ข(๐) ๐ฆ(๐)e(๐)C(z)
๐(๐)
+โ
G(z)
G ๐ง =๐งโ1
๐งZ โโ1
P(s)๐ ๐ก=๐๐๐
risulta pertanto essere completamente equivalente al seguente
ove si ponga:
15
Esempio
ZOH1
๐ + 1A/D
๐ข(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)
Si determini la funzione di trasferimento discreta G(z)=Y(z)/U(z) del sistema
nellโipotesi in cui il ricostruttore ZOH ed il campionatore lavorino con un periodo di
campionamento ๐๐ = 1s (caso 1) oppure ๐๐ = 0.1s (caso 2).
Q s =๐(๐ )
๐ =
1
๐ (๐ + 1)=1
๐ โ
1
๐ + 1
La risposta al gradino unitario del processo P s =1
๐ +1ha trasformata di Laplace
Utilizzando le Tabelle delle trasformate di Laplace delle funzioni notevoli si ottiene
๐ ๐ก = โโ11
๐ โ โโ1
1
๐ +1= ๐ฟโ1 ๐ก โ ๐โ๐ก ๐ฟโ1 ๐ก
16
Caso 1
๐ ๐๐๐ = ๐ฟโ1 ๐ โ ๐โ๐๐๐ ๐ฟโ1 ๐ = ๐ฟโ1 ๐ โ ๐โ๐ ๐ฟโ1 ๐
๐๐ = 1s
Utilizzando le Tabelle delle Z-trasformate notevoli si ottiene (v. nota a pie di pagina)
๐ ๐ง =๐ง
๐ง โ 1โ
๐ง
๐ง โ ๐โ1
N.B. La trasformata Z della sequenza ๐โ๐ ๐ฟโ1 ๐ si determina come caso particolare
della sequenza esponenziale ๐๐ ๐ฟโ1 ๐ in corrispondenza del valore ๐ = ๐โ1
G ๐ง =๐งโ1
๐ง๐ ๐ง =
๐งโ1
๐ง
๐ง
๐งโ1โ
๐ง
๐งโ๐โ1= 1 โ
๐งโ1
๐งโ๐โ1=
1โ๐โ1
๐งโ๐โ1=
0.632
๐งโ0.367
La funzione di trasferimento cercata รจ pertanto
17
Caso 2
๐ ๐๐๐ = ๐ฟโ1 ๐ โ ๐โ๐๐๐ ๐ฟโ1 ๐ = ๐ฟโ1 ๐ โ ๐โ0.1๐ ๐ฟโ1 ๐
๐๐ = 0.1s
Utilizzando le Tabelle delle Z-trasformate notevoli si ottiene
๐ ๐ง =๐ง
๐ง โ 1โ
๐ง
๐ง โ ๐โ0.1
G ๐ง =๐งโ1
๐ง
๐ง
๐งโ1โ
๐ง
๐งโ๐โ0.1= 1 โ
๐งโ1
๐งโ๐โ0.1=
1โ๐โ0.1
๐งโ๐โ0.1
La funzione di trasferimento cercata รจ pertanto
Caso 3 ๐๐ qualunque
G ๐ง =๐งโ1
๐ง
๐ง
๐งโ1โ
๐ง
๐งโ๐โ๐๐= 1 โ
๐งโ1
๐งโ๐โ๐๐=
1โ๐โ๐๐
๐งโ๐โ๐๐
Attraverso passaggi analoghi, la funzione di trasferimento cercata รจ
18
Calcolo della G(z) mediante Matlab
ZOH ๐(๐ ) A/D
๐ข(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)
La funzione di trasferimento discreta G(z)=Y(z)/U(z) si calcola per mezzo della funzione c2d (continuous2discrete)
Vediamo come impiegarla per il calcolo della FdT di cui al caso 1 del precedente
esempio, in cui il processo รจ descritto dalla FdT P s =1
๐ +1
P=tf(1,[1 1]);
Tc=1;
Gz=c2d(P,Tc,'zoh')๐โ0.1 = 0.3679
1 โ ๐โ0.1 = 0.6321
19
La funzione di trasferimento discreta G(z) che caratterizza la cascata fra un
ricostruttore ZOH, un processo P(s) a tempo continuo, ed un campionatore รจ tale che
i suoi poli ๐๐๐ง (i poli di G(z)) sono legati ai poli ๐๐
๐ del processo originario P(s) dalla
relazione
Gli zeri di G(z), invece, non seguono questa corrispondenza e possono comparire
anche in numero superiore a quelli di P(s).
๐๐๐ง = ๐๐๐๐๐
๐ ๐ = 1,2, โฆ , ๐
Nellโesempio appena svolto, la P(s) aveva un unico polo ๐1๐ = โ1.
Si puo notare come le funzioni di trasferimento discrete G(z) calcolate nei tre casi
(๐๐ = 1๐ , ๐๐ = 0.1๐ , e ๐๐ arbitrario) soddisfino la relazione riportata sopra
Caso 1 ๐1๐ง = ๐โ๐๐ = ๐โ1๐๐ = 1๐
Caso 2 ๐1๐ง = ๐โ๐๐ = ๐โ0.1๐๐ = 0.1๐
Caso 3 ๐1๐ง = ๐โ๐๐๐๐ qualunque
20
Esempio
ZOH1
๐ (๐ + 0.5)A/D
๐ข(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)
Si determini la funzione di trasferimento discreta G(z)=Y(z)/U(z) del sistema
nellโipotesi in cui il ricostruttore ZOH ed il campionatore lavorino con un periodo di
campionamento ๐๐ = 1s
Q s =๐(๐ )
๐ =
1
๐ 2(๐ +0.5)= โ
4
๐ +
2
๐ 2+
4
๐ +0.5
La risposta al gradino unitario del processo P s =1
๐ (๐ +0.5)ha trasformata di Laplace
Utilizzando le Tabelle delle trasformate di Laplace delle funzioni notevoli si ottiene
๐ ๐ก = โ4โโ11
๐ + 2โโ1
1
๐ 2+ 4โโ1
1
๐ +0.5= โ4๐ฟโ1 ๐ก + 2๐ก๐ฟโ1 ๐ก + 4๐โ0.5๐ก ๐ฟโ1 ๐ก
21
๐ ๐๐๐ = ๐ ๐ = โ4๐ฟโ1 ๐ + 2๐๐ฟโ1 ๐ + 4๐โ0.5๐ ๐ฟโ1 ๐
๐๐ = 1s
Utilizzando le Tabelle delle Z-trasformate notevoli si ottiene
๐ ๐ง = โ4๐ง
๐ง โ 1+
2๐ง
๐ง โ 1 2+
4๐ง
๐ง โ ๐โ0.5
๐ ๐ง =๐ง 4๐โ0.5 โ 2 ๐ง + 4 โ 6๐โ0.5
๐ง โ 1 2(๐ง โ ๐โ0.5)=๐ง 0.4261๐ง + 0.3608
๐ง โ 1 2(๐ง โ 0.6065)
Sviluppando i conti:
G ๐ง =๐งโ1
๐ง๐ ๐ง =
๐งโ1
๐ง
๐ง 0.4261๐ง+0.3608
๐งโ1 2(๐งโ0.6065)=
0.4261๐ง+0.3608
๐งโ1 (๐งโ0.6065)
La funzione di trasferimento cercata รจ pertanto
22
La P(s) ha i due poli ๐1๐ = 0 ๐2
๐ = โ0.5
Si verifica come i poli della G(z) siano determinabili a partire dai poli del processo
P(s) attraverso la corrispondenza vista in precedenza
๐1๐ง = ๐๐1
๐ โ๐๐ = ๐0โ๐๐ = 1๐๐ = 1๐
๐2๐ง = ๐๐2
๐ โ๐๐ = ๐โ0.5โ๐๐ = ๐โ0.5 = 0.6065
P=tf(1,[1 0.5 0]);
Tc=1;
Gz=c2d(P,Tc,'zoh')
Determinazione della funzione di trasferimento mediante Matlab
23
Discretizzazione esatta di un processo a tempo continuo espresso in
variabili di stato
ZOHแถ๐ ๐ก = ๐จ๐ ๐ก + B๐ ๐ก๐ ๐ก = ๐ช๐ ๐ก + ๐ซ๐ ๐ก
A/D๐(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)
Ora vediamo come determinare un modello a tempo discreto per la configurazione
riportata in figura, in cui un sistema dinamico a tempo continuo, il cui modello
matematico รจ espresso in forma di variabili di stato, รจ soggetto ad un ingresso ๐ข(๐ก)generato da un ricostruttore ZOH
Il calcolo della funzione di trasferimento G ๐ง =๐(๐ง)
๐(๐ง)risulta essere banale. Eโ infatti
sufficiente calcolare la funzione di trasferimento G ๐ =๐(๐ )
๐(๐ )del sistema a tempo
continuo, che si determina mediante la formula
G ๐ =๐(๐ )
๐(๐ )= ๐ช ๐ ๐ฐ โ ๐จ โ1๐ฉ+ ๐ซ
24
e ricondurre lo schema a blocchi della figura precedente al seguente schema
equivalente
ZOH G ๐ A/D
๐(๐) ๐ข(๐ก) y(๐ก) ๐ฆ(๐)
che abbiamo trattato in precedenza e conduce a
Eโ perรฒ talvolta indispensabile ricavare un modello matematico a tempo discreto che
rappresenti anche i valori assunti dallo stato ๐ ๐ก negli istanti di campionamento, e
non solo quelli della variabile di uscita.
G ๐ง =๐งโ1
๐งZ โโ1
G(s)๐ ๐ก=๐๐๐
25
ZOH แถ๐ ๐ก = ๐จ๐ ๐ก + B๐ ๐ก A/D๐ข(๐ก)
Difatti, siste una metodologia di controllo denominata ยซin retroazione sullo statoยป (state-
feedback) che non si limita a trasdurre e retroazionare la variabile di uscita, come nei classici
sistemi di controllo in retroazione sullโuscita (output-feedback) ma che invece trasduce e
retroaziona tutto lo stato del sistema
๐ ๐ก๐(๐) ๐ ๐Controllore
State - feedback
๐ข(๐)
Due possibili architetture di controllo sono le seguenti. Per poterle analizzare e progettare si
deve determinare un modello a tempo discreto in variabili di stato per il legame fra u(k) ed x(k)
26
แถ๐ ๐ก = ๐จ๐ ๐ก + B๐ ๐ก
๐ ๐ก = ๐๐จ(๐กโ๐ก0)๐จ๐ ๐ก0 + เถฑ
๐๐
๐
๐๐จ(๐กโ๐)B๐ ๐ ๐๐
Ricaviamo il modello a tempo discreto che descrive negli istanti di campionamento
lโevoluzione delle variabili di stato del modello in VdS a tempo continuo
La traiettoria a tempo continuo dello stato ๐ ๐ก a partire da un generico istante iniziale
๐ก0 รจ la seguente
sotto lโipotesi che il segnale di ingresso ๐ ๐ก sia applicato per tramite di un
ricostruttore ZOH, e sia pertanto un segnale costante a tratti
๐ ๐ก = ๐(๐) ๐๐๐ โค ๐ก < (๐ + 1)๐๐
27
๐ ๐ก = ๐๐จ(๐โ๐๐)๐จ๐ ๐ก0 + เถฑ
๐๐
๐
๐๐จ(๐กโ๐)B๐ ๐ ๐๐
Traiettoria di stato a partire da un generico istante iniziale ๐ก0
Valutiamo lโespressione precedente allโinstante ๐ก = (๐ + 1)๐๐ inserendo come condizione iniziale ๐ก0 = ๐๐๐ (ovviamente ๐ก โ ๐ก0 = ๐๐)
๐ ๐ + 1 = ๐๐จ๐ป๐๐ ๐ + ๐๐๐(๐+1)๐๐ ๐๐จ((๐+1)๐๐โ๐)B๐ ๐ ๐๐
Nellโintervallo [๐๐๐ ,(๐ + 1)๐๐) il vettore di ingresso ๐ ๐ ha valore costante, pari ad ๐ ๐ , e puรฒ pertanto essere portato fuori dallโintegrale
๐ ๐ + 1 = ๐๐จ๐ป๐๐ ๐ + ๐๐๐(๐+1)๐๐ ๐๐จ((๐+1)๐๐โ๐)B๐๐ ๐ ๐
28
Il termine integrale che pre-moltiplica lโingresso:
เถฑ
๐๐๐
(๐+1)๐๐
๐๐จ((๐+1)๐๐โ๐)B๐๐
๐ ๐ + 1 = ๐๐จ๐ป๐ ๐ ๐ + ๐๐๐(๐+1)๐๐ ๐๐จ((๐+1)๐๐โ๐)B๐๐ ๐ ๐
La matrice caratteristica del modello assume pertanto la forma ๐๐จ๐ป๐
puรฒ essere espresso in una forma piรน compatta attraverso il cambio di variabile
เถฑ
๐๐๐
(๐+1)๐๐
๐๐จ((๐+1)๐๐โ๐)B๐๐ = เถฑ
0
๐๐
๐๐จ๐B๐๐
๐ = ((๐ + 1)๐๐ โ ๐
29
๐ ๐ + 1 = ๐จ๐ ๐ ๐ + ๐ฉ๐ ๐ข ๐
๐จ๐ = ๐๐จ๐ป๐
๐ฉ๐ = เถฑ
๐
๐ป๐
๐๐จ๐B ๐๐
Si ottiene pertanto la seguente espressione finale del modello cercato
๐ฉ๐ = ๐จ๐ โ ๐ฐ ๐จโ๐๐ฉ
Se la matrice A รจ invertibile (cioรจ se non ha autovalori nulli) la matrice di controllo ๐ฉ๐
puรฒ essere espressa in forma chiusa attraverso la risoluzione dellโintegrale,
originando la formula:
= เถฑ
๐
๐ป๐
๐๐จ๐ ๐๐ B
30
Lโespressione della uscita negli istanti di campionamento si ottiene banalmente
applicando la trasformazione in uscita
y ๐ก = ๐ช๐ ๐ก + D๐ ๐ก
e valutandola negli istanti di campionamento
y ๐ = ๐ช๐ ๐ + D๐ ๐
Le matrici C e D del modello a tempo discreto sono pertanto coincidenti con quelle
del modello a tempo continuo
31
32
Calcolo di ๐๐จ๐๐
La matrice ๐๐จ๐๐ si determina calcolando la matrice di transizione dello stato ๐๐จ๐ก
del modello in VdS a tempo continuo, e valutandola per ๐ก = ๐๐
๐๐จ๐ก = โโ๐ ๐๐ฐ โ ๐จ โ๐
La matrice di transizione dello stato ๐๐จ๐ก del modello in VdS a tempo continuo puรฒ
essere determinata attraverso uno sviluppo di Sylvester concettualmente simile a
quello che abbiamo visto a suo tempo per la determinazione della matrice di
transizione dello stato ๐จ๐ di un modello in VdS a tempo discreto, oppure ricorrendo
alla espressione equivalente
Nel corso di un esercizio che svilupperemo a breve, sarร presentato un esempio di
calcolo della matrice ๐๐จ๐ก
Lo studente puรฒ ragionare sulla origine di tale relazione equivalente (si ragioni sul
modo con cui sia stata ricavata, nellโambito del presente corso, la relazione ๐จ๐ =
๐โ๐ ๐ง ๐ง๐ฐ โ ๐จ โ๐ )
33
ZOH แถ๐ ๐ก = ๐จ๐ ๐ก + B๐ ๐ก A/D๐ข(๐ก) ๐ ๐ก๐(๐) ๐ ๐
ControlloreState - feedback
๐ข(๐)
๐ ๐ + 1 = ๐จ๐ ๐ ๐ + ๐ฉ๐ ๐ข ๐
๐(๐)Controllore
State - feedback
๐ข(๐) ๐ ๐
๐จ๐ = ๐๐จ๐ป๐ ๐ฉ๐ = เถฑ
๐
๐ป๐
๐๐จ๐ ๐๐B
Per quanto concerne i valori assunti dal vettore di stato ๐ ๐ก negli istanti di
campionamento, i seguenti schemi a blocchi sono completamente equivalenti
34
Esempio
แถ๐ ๐ก =0 1โ2 โ3
๐ ๐ก +01๐ข ๐ก ๐จ =
0 1โ2 โ3 ๐ฉ =
01
๐ ๐ + 1 = ๐จ๐ ๐ ๐ + ๐ฉ๐ ๐ข ๐
Ricavare un modello a tempo discreto per il sistema in variabili di stato
sotto lโipotesi che allโingresso del sistema sia inserito un ricostruttore ZOH
che operi con periodo ๐๐ = 0.1
๐จ๐ = ๐๐จ๐ป๐ ๐ฉ๐ = ๐๐จ๐ป๐ โ ๐ฐ ๐จโ๐๐ฉ
Determiniamo la matrice di transizione dello stato ๐๐จ๐ก
๐ ๐ผ โ ๐ด =๐ โ12 ๐ + 3 ๐ ๐ผ โ ๐ด โ1 =
1
๐ 2 + 3๐ + 2๐ + 3 1โ2 ๐
Inversa di una matrice 2x2
๐ =๐ ๐๐ ๐
๐โ1 =1
๐๐๐ก ๐๐๐๐ ๐๐ =
1
๐๐ โ ๐๐๐ โ๐โ๐ ๐
๐ ๐ผ โ ๐ด โ1 =
๐ + 3
๐ 2 + 3๐ + 2
1
๐ 2 + 3๐ + 2โ2
๐ 2 + 3๐ + 2
๐
๐ 2 + 3๐ + 2
35
ฮฆ11 ๐ =๐ +3
๐ 2+3๐ +2=
๐ +3
(๐ +1)(๐ +2)=
๐ด
(๐ +1)+
๐ต
(๐ +2)
ฮฆ ๐ = ๐ ๐ผ โ ๐ด โ1 =
๐ + 3
๐ 2 + 3๐ + 2
1
๐ 2 + 3๐ + 2โ2
๐ 2 + 3๐ + 2
๐
๐ 2 + 3๐ + 2
Dobbiamo antitrasformare gli elementi della ยซmatrice risolventeยป ๐ ๐ผ โ ๐ด โ1
Lavoriamo sul primo elemento della prima riga, ricavandone la decomposizione in
fratti semplici
๐ด = (๐ + 1)๐11 ๐ ๐ =โ1 =๐ + 3
(๐ + 2)๐ =โ1
= 2
๐ต = (๐ + 2)๐11 ๐ ๐ =โ2 =๐ + 3
(๐ + 1)๐ =โ1
= โ1
ฮฆ11 ๐ =2
(๐ + 1)โ
1
(๐ + 2) ๐11 ๐ก = 2๐โ๐ก โ ๐โ2๐ก Primo elemento di ๐๐จ๐ก
36
๐๐จ๐ก = 2๐โ๐ก โ ๐โ2๐ก ๐โ๐ก โ ๐โ2๐ก
2๐โ2๐ก โ 2๐โ๐ก 2๐โ2๐ก โ ๐โ๐ก
๐จ๐ = ๐๐จ๐ป๐ = 2๐โ๐๐ โ ๐โ2๐๐ ๐โ๐๐ โ ๐โ2๐๐
2๐โ2๐๐ โ 2๐โ๐๐ 2๐โ2๐๐ โ ๐โ๐๐=
0.9909 0.0861โ0.1722 0.7326
๐ฉ๐ = ๐๐จ๐ป๐ โ ๐ฐ ๐จโ๐๐ฉ =0.99 0.086
โ0.172 0.732โ
1 00 1
0 1โ2 โ3
โ๐ 01
=0.00450.0861
Procedendo analogamente per gli altri termini si ottiene matrice di transizione dello
stato ๐๐จ๐ก
Otteniamo la matrice caratteristica del modello a tempo discreto calcolando la
matrice ๐๐จ๐ก per ๐ก = ๐๐ = 0.1
Poichรจ la matrice A รจ non singolare, per il calcolo della matrice ๐ฉ๐ possiamo
impiegare la formula chiusa ๐ฉ๐ = ๐๐จ๐ป๐ โ ๐ฐ ๐จโ๐๐ฉ
37
Confrontiamo, per mezzo di Simulink, il comportamento del sistema a tempo
continuo e della sua versione a tempo discreto in risposta ad un ingresso del tipo
ConfrontoModelliVdS_TCTD.slx
38
ConfrontoModelliVdS_TCTD_dati.m
A=[0 1;-2 -3];
B=[0;1];
C=eye(2);
D=[0;0];
Tc=0.1;
Ad=expm(A*Tc) %calcolo di e^(A T_c)
Bd=(Ad-eye(2))*inv(A)*B
%istruzioni alternative per il calcolo del modello a tempo discreto
% Ad2 e Bd2 coincidono con le espressioni calcolate sopra per Ad e Bd
P=ss(A,B,C,D);
Pd=c2d(P,Tc,'zoh');
[Ad2,Bd2,Cd2,Dd2]=ssdata(Pd)
Scritp da eseguire prima di avviare il modello Simulink della slide precedente
39
Ingresso applicato
40
๐ฅ1 ๐ก / ๐ฅ1 ๐ ๐ฅ2 ๐ก / ๐ฅ2 ๐
Si noti come gli stati ๐ฅ1 ๐ e ๐ฅ๐ ๐ prodotti dal modello a tempo discreto coincidano
con i valori assunti dagli stati ๐ฅ1 ๐ก e ๐ฅ๐ ๐ก del modello a tempo continuo negli
istanti di campionamento