[Controlli Automatici] Progetto in frequenza

fdif
Buonasera a tutti,
vorrei proporvi il seguente esercizio riguardante il margine di ampiezza di un sistema, ed un mio dubbio in merito.
Data la funzione di trasferimento

\( G(s) = k * \frac{s-10}{s(s+10)} \)

si scelga il guadagno di \( k \in \mathbb{R} \) tale che G(s) abbia un margine di ampiezza pari a 3dB.

Sul procedimento mi trovo con il testo: il margine di ampiezza è dato dal valore di \( \left | G(\jmath \omega ) \right | \) dove la \( \omega \) è la pulsazione in corrispondenza della quale \( \angle G(\jmath \omega ) = -180 ° \) .

La G(s) ha un polo a parte reale negativa ed uno zero a parte reale positiva, con guadagno pari a -k: pertanto , se k<0, il guadagno sarà positivo e la fase partirà dal valore di -90° per poi decrescere sempre fino alla fase -270°.
Quindi

\( \angle G(\jmath \omega ) = -90° - 2arctan(\frac{\omega }{10}) = -180° \Rightarrow \omega = 10 rad/s \)

In un appunto a fine esercizio, il testo conclude dicendo:
" Poiché \( \left | G(\jmath \omega ) \right | = \left | \frac{k}{\omega } \right | \) , per avere un margine di ampiezza pari a 3 dB occorre k= -7.08 ".


Mi sfugge la provenienza di tale identità, e anche come sia possibile tale valore di k, dal momento che sostituendolo non mi trovo con 3Db.. inoltre utilizzando MATLAB con tale valore di k, ed invocando il metodo margin(), non si ha comunque il suddetto margine di ampiezza. Qualcuno potrebbe spiegarmi?

Vi ringrazio per la pazienza, e chiedo scusa se sono stato impreciso nelle formule, ma sto ancora imparando ad usare laTex.

Risposte
blackhood888
Anche se la domanda risale al 2016.... ( magari può servire a qualcuno una risposta abbastanza semplice e immediata):

trovata quella che è la pulsazione ω=10rad/s come già descritto dal collega nella domanda , basterà tenere a mente della definizione di Margine di ampiezza: il margine di ampiezza risulta essere l'inverso del modulo della nostra G(s) quando la pulsazione è proprio pari alla ω=10rad/s .
Quindi:
$ Ma = 1/|G(10j)|$

Se il Margine di Ampiezza deve essere pari in DB a 3 , possiamo ricavare il valore di Ma non in DB risolvendo:
$ 20log(x) = 3 $

da cui si ottiene il valore di $ Ma = 1.413 $ .

Questo significa ( Ricordando sempre la definizione di Margine di Ampiezza sopra da me esposta) che:

$ 1/|G(10j)| = 1.413 $ da cui: $ |G(10j)| = 1/1.413 $ e che quindi: $ |G(10j)| = 0.707 $

Possiamo ora arrivare al valore di k in maniera semplice e immediata risolvendo proprio $ |G(10j)| = 0.707 $.

$ |G(10j)| = |k| sqrt(10^2 + 10^2)/(10*(sqrt(10^2+10^2))) = 0.707 $

Risolvendo e ricavando |k| ottengo $ |k| = 7.07 $

Ovviamente il valore di k da scegliere (come già esposto dal collega) sarà negativo! E quindi in conclusione basterà adottare:

$G(s)= -7.07 * (s-10)/(s*(s+10)) $

Aggiungo un'ulteriore semplice prova effettuata con MatLab.





SALUTI =D

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