Problema della realizzazione

Transcript

Problema della realizzazione
Problema della realizzazione
January 12, 2011
Problema: data una funzione di variabile complessa K(s), essa può essere
una funzione di trasferimento per un qualche sistema lineare? In altre parole,
esistono 4 matrici A, B, C e D delle dimensioni adeguate per cui K(s) è la
rispettiva funzione di trasferimento?
Questo problema è detto problema della realizzazione: infatti data la rappresentazione differenziale (la rappresentazione classica con lo stato) è facile realizzare un simulatore in tempo reale del fenomeno che mostra le uscite corrispondenti ad ingressi successivi. Invece la funzione di trasferimento rappresenta un
modello parziale: ad ogni istante t la risposta forzata è data dall’integrale di
convoluzione fra la funzione di trasferimento e l’ingresso:
Z t
yf (t) =
W (τ − t)u(τ )dτ
0
È facile capire come calcolare l’uscita per diversi valori di t (supponiamo da
1 a 100) presenti enormi difficoltà, in quanto si deve ripetere molte volte un
integrale difficile. Per questo si dice che questo modello non è incrementale, in
quanto non gestisce bene gli incrementi successivi della variabile tempo.
Condizione necessaria e sufficiente per l’esistenza delle quattro matrici:
K(s) dev’essere razionale propria. In altre parole, ogni componente dev’essere
un rapporto di polinomi il cui grado del denominatore è maggiore o uguale di
quello del numeratore. Se D=0 abbiamo una funzione strettamente propria
(grado strettamente maggiore) e fra poco si capirà perché.
Esempi:
K(s) = log s non va bene.
1
K(s) = s+1
sì.
A volte la K(s) è chiamata anche nucleo del sistema, in quanto ha dimensione
qxp (con q = dimensione del vettore in uscita e p = dimensione del vettore in
ingresso per convenzione).
Come ultima nota, facciamo presente che le rappresentazioni associate ad
un nucleo non sono univoche.
I primi passi per la determinazione di una rappresentazione sono la trasformazione del nucleo in una forma consona.
1
1) Si estrae il termine costante (che esprime D, il legame diretto tra ingresso e
uscita) dividendo i due termini di grado maggiore a numeratore e denominatore.
In realtà ciò che avviene è:
s2 + 2s + 5
−→ 1
s2 + 1
2s2 + 2s + 5
−→ 2
s2 + 1
2s + 5
−→ 0
s2 + 1
Che spiega anche il legame tra D=0 e il fatto di avere una funzione razionale
strettamente propria.
Ovviamente l’estrazione della costante non è “indolore”, e bisogna trovare
nuovi coefficienti A, B, ecc... per i vari termini del polinomio. Vediamo come
fare con il primo esempio:
As + B
s2 + 1 + As + B
s2 + 2s + 5
=1+ 2
=
2
s +1
s +1
s2 + 1
A questo punto s2 = s2 ed equiparando i termini allo stesso grado si trovano
facilmente A=2 e B=4.
La generica forma della K(s) diventa quindi:
K(s) = D +
b0 + b1 s + . . . + bn−1 sn−1
a0 + a1 s + . . . + an−1 sn−1 + sn
Notare che il termine di grado maggiore deve avere come coefficiente 1. Se
così non fosse, basterà dividere sopra e sotto per il coefficiente stesso.
Un secondo esempio di trasformazione del nucleo, leggermente più complesso
del precedente:
2
s + 2s
0
2
1
!
+
s+
s2
s(s+2)
1
s
+
1
1
1
0
0
s+1
s(s+1)(s+2)
K(s) =
=
=
=
+
1
s+1
0
s(s + 1)(s + 2)
s(s + 1)(s + 2)
s(s+2)
s(s+1)(s+2)
Dove nel primo passaggio abbiamo estratto D applicando il metodo ad entrambi i polinomi e trasformandoli opportunatamente; nel secondo abbiamo
moltiplicato i vari fattori e portato fuori il denominatore comune; nel terzo abbiamo scomposto il vettore a numeratore in una somma di vettori di coefficienti
reali associati ai vari termini del polinomio.
Entriamo ora finalmente nel vivo descrivendo un primo tipo di rappresentazione, quella detta raggiungibile o controllabile. Definiamo la forma delle tre
matrici.
2



AR = 

0
0
..
.
0
0
..
.
I
0
..
.
0
I
..
.
−a0 I
···
···
−an−1 I





La forma compagna di A (così viene chiamata) è formata da blocchi di
dimensione pxp: in alto a sinistra abbiamo un blocco di zeri, in alto a destra dei
blocchi identità sulla diagonale, circondati da 0. Il resto della matrice è riempito
di zeri, tranne per l’ultima parte che ha dei blocchi della forma descritta. La
dimensione totale della matrice è (n*p)x(n*p) dove n è ovviamente il grado del
polinomio al denominatore di prima.


0
 .. 


BR =  . 
 0 
I
CR =
b0
...
bn−1
Con le opportune dimensioni: in particolare B ha dimensioni nxp mentre C
qxn.
Notiamo che le componenti della matrice C nell’ultimo esempio sarebbero
quei tre vettori 2x1.
Esempio:
1 −1
1 1
+
s
0 1
0 0
K(s) =
s2 + 3s + 1
Abbiamo p=q=2 (vedere la dimensione dei coefficienti), mentre n=2. La
funzione è strettamente propria quindi D=0. Non abbiamo bisogno di operare
ancora in quanto siamo già nella forma giusta. La matrice A è 4x4 con ogni
singolo blocco di dimensione 2x2.


0
0
1
0
 0
0
0
1 

AR = 
 −1 0 −3 0 
0 −1 0 −3
Si può notare il blocco di zeri, il blocco identità e i blocchi formati dai due
coefficienti del denominatore cambiati di segno. In totale saranno n² blocchi.


0 0
 0 0 

BR = 
 1 0 
0 1
3
CR =
−1
1
1
0
1 1
0 0
Altro esempio:
K(s) =
1
s+2
s+5
s(s+1)
=
0
s2 + s
1
1
+
s
+
s2
10
s2 + 7s + 10
7
1
0
=
+
0
s(s + 1)(s + 2)
s3 + 3s2 + 2s
p=1, q=2 e n=3 quindi avremo una forma compagna di dimensioni 3x3. I
blocchi sono ciascuno di dimensione 1 (come potete vedere nell’ultima riga, dove
appaiono i coefficienti una sola volta). Ricordate che i blocchi identità si trovano
solo sulla diagonale (in questo caso i blocchi sono formati da 1 singoli), mentre
il resto è riempito di zeri.


0 1
0
1 
AR =  0 0
0 −2 −3


0
BR =  0 
1
0
10
CR =
1 1
7 1
Passiamo ora alla forma canonica osservabile. La A è semplicemente la
trasposta della precedente, sfruttando il fatto che ha lo stesso determinante e
la stessa diagonale principale e quindi gli stessi autovalori. La B e la C hanno
forme scambiate rispetto a prima. I blocchi sono di dimensione qxq, A è di
dimensione (nq)x(nq).
A0 = AtR


b0
..
.

B0 = 


bn−1
C0 =
0
···
Esempio:
4
0
I
K(s) =
1
1
0
1
s+
−1
0
s2 + 3s + 1
0
0
Abbiamo p=q=n=2.

0
 0
A0 = 
 1
0


0
0 

0 
−1
1
 0
B0 = 
 1
1
C0 =
0
0

0
−1 

0 
−3
−1
0
−3
0
0
0
0
1
0
0
1
0
0
1
Un altro:
K(s) =
1
s+10
s+1
s2 +2s
=
s2 + 2s s2 + 11s + 10
s3 + 12s2 + 20s
+ 0
0
=
0
10
q=1, p=2. nq=3.

0
AO =  1
0

0
−20 
−12
0
0
1
Di nuovo ci sono blocchi identità di dimensione 1 sulla diagonale, e i coefficienti cambiati di segno nell’ultima colonna.


0 10
B0 =  2 11 
1 1
C0 =
0
0
1
Dopo tutti questi esempi, notiamo che usando rappresentazioni diverse ottengo matrici di dimensioni diverse. Per la facilità di conto conviene trovare
quella di dimensione minima. Qual’è tale dimensione minima?
- Se p=q=1, allora sarà nxn. Infatti i poli del polinomio a denominatore sono
un sottoinsieme degli autovalori di A: quindi A dovrà essere almeno grande nxn
per avere n autovalori.
5
+ 2 11 s +
s3 + 12s2 + 20s
1
1
- Se solo p=1 allora la rappresentazione raggiungibile è minima (pensateci!).
- Se solo q=1 allora l’osservabile è minima.
Scopriamo come trovare una rappresentazione minima se nessuno dei due è
uguale a 1, usando il metodo di Gilbert.
s(s + 2)
0
1
s(s + 1) (s + 2)2
0
s+1
K(s) =
=
1
s+2
s(s + 1)(s + 2)
s+2
s(s+1)
Richiediamo come condizione che il denominatore abbia solo poli di molteplicità algebrica pari ad 1, in modo da poter usare l’espansione in fratti semplici.
Ricordiamo che per calcolare i residui per ciascun fattore si moltiplica per esso
e si calcola la matrice per s uguale allo zero del fattore.
0 0
0 0
1 0
0 0
0 0
0 4
0 2
0 −1
1 0
2 0
R0
R1
R2
−1 0
K(s) =
+
+
=
−
=
+
+
+
0 1
s s+1 s+2
2
2
s
s+1
s+2
Ogni residuo è di dimensione qxp (come la matrice di trasferimento) ha
un rango ri . Data una matrice M (qxp) con rk(M ) = r ≤ min(p, q) si chiama
fattorizzazione minima il prodotto di due matrici P e Q con dimensione “interna”
pari al rango di M, ovvero P è qxr e Q è rxp. Questa fattorizzazione esiste
sempre. Scegliamo:
0
0 2 = c0 ∗ b0
R0 =
1
R1 =
R2 =
1
0
0
1
0
1
1
0
1
0
−1
0
= c1 ∗ b1
= c2 ∗ b2
La A è una matrice diagonale: sulla diagonale ci sono i poli ripetuti tante
volte quanto il rango dei residuo corrispondente:


0 0
0
0
 0 −1 0
0 

Am = 
 0 0 −1 0 
0 0
0 −2

Bm
0
 1
=
 0
1
6

2
0 

−1 
0
Cm =
0
1
1
0
0
1
0
1
Dove le matrici B e C contengono i vettori c e b in ordine.
Come vedete se usavamo una delle precedenti rappresentazioni avremmo
ottenuto A matrice 6x6, mentre in questo caso è una 4x4.
7