[Controlli Automatici] passaggio dalla funz di tras alla forma canonica di controllo

ansawo
Salve,

stamani mi sono imbattuto in un esercizio in cui c'era la necessità, come da titolo, di trovare la forma canonica di controllo sapendo quale era la funzione di trasferimento.
se ci fossero stati i numeri non ci sarebbe stato nessun problema in quanto lasciavo questo bel compito a matlab, ma l'esercizio è letterale.

per fissare le idee

la funzione di trasferimento è la seguente

$G=(s+a)/((s+p)(s+q))$

il sistema in forma canonica di controllo corrispondente è, lo ho sbirciato dalle soluzioni,

$((\dot x_1),(\dot x_2))= ((0,1),(-pq,-(p+q))) ((x_1),(x_2)) +((0),(1))v$
$Y=((a),(1))^T((x_1),(x_2))$

dove v rappresenta l'ingresso e Y l'uscita.

(non mi riusciva scrivere ammodo il vettore riga (a 1) per cui l'ho scritto in colonna e ho messo che è trasposto)

mi chiedevo se c'era un modo di procedere, una formula, un qualcosa insomma che mi consentisse di trovare la forma canonica di controllo dalla funzione di trasferimento, che io non so proprio come muovermi. va bene anche qualcosa che preveda l'uso di mathematica o matlab.

vi ringrazio

Risposte
D4lF4zZI0
Guarda che su ogni libro di testo di automatica viene spiegata la forma canonica di controllo; per cui ti consiglio di andartela a studiare per bene.
PS: matlab usa il linguaggio letterale, ma ti consiglio di imparare a farle prima certe cose e poi magari farle fare a matlab ;)

ansawo
bastava solo dove guardare :) alla fine mi sono risposto da solo...

il fatto è che questa materia mi ben confonde le idee e quindi non so collegare bene varie cose

grazie della dritta

D4lF4zZI0
Di nulla, ma comunque posta il tuo procedimento che può essere di aiuto a qualcun altro ;)

ansawo
guarda ero tornato ora per farlo...più che un procedimento ho fatto un ragionamento

ho visto quale è l'aspetto diciamo della forma canonica di controllo, cioè nell'ultima riga della matrice A compaiono i coeff cambiati di segno delle varie derivare dell'uscita.

quando trasformi con laplace derivare vuol dire moltiplicare per s, quindi prendi i vari coefficienti delle potenze di s e li metti nella matrice in ordine

per quanto riguarda il numeratore, te vedi che l'uscita è moltiplicata per a e viene sommata la sua derivata. quindi nella matrice C, sapendo a cosa corrispondono le varie posizioni della riga, te la giostri. in questo caso essendo due le variabili di stato, una è l'uscita e l'altra è la sua derivata.

non so se è un po' contorto.

comunque con matlab ho provato a dichiarare prima con syms i simboli che avrei usato, poi ho dichiarato s come variabile con tf('s') e infine scritto la funzione di trasferimento. l'idea era quella di usare il comando ssdata. solo che la funzione di trasferimento in simboli non me la ha presa

D4lF4zZI0
Un pò contorto a dire il vero, applicando la teoria ( cosa molto utile ) si risolve il maniera molto semplice; infatti:
$ G=(s+a)/(s^2+(p+q)s+pq) $
Quindi la prima riga della matrice dinamica $A$ si costruisce in modo banale prendendo gli opposti dei coefficienti del polinomio caratteristico ( partendo dall'ordine $n-1$ ); mentre la seconda riga è $1 - 0$; quindi la matrice diventa:
$ A=( ( -(p+q) , -pq ),( 1 , 0 ) ) $
la matrice $B$ si costruisce banalmente nel seguente modo:
$ B=( ( 1 ),( 0 ) ) $
mentre per la matrice $C$ si usano i coefficienti del numeratore in ordine decrescente di potenza; quindi:
$ C=( ( 1 , a ) ) $
ottenendo il risultato del libro.

ansawo
domanda da 1 milione di dollari

ma quindi gli autovalori della matrice dinamica A sono sempre i poli della fdt?

D4lF4zZI0
Ovvio che si! ;)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.