Simulazione Filtro PI discreto con Simulink

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59
0
voti

[1] Simulazione Filtro PI discreto con Simulink

Messaggioda Foto Utentesimo85 » 30 apr 2017, 19:00

O_/

Per un esercizio il cui scopo è la simulazione di un PLL digitale, si sichiede di simulare il seguente filtro PI (Proportional-Integral) in Simulink:

H(z) = \alpha + \frac{\beta}{1 - z^{-1}}

di cui rappresento lo schema a blocchi:



di cui l'entrata è un gradino unitario, mentre questo è il risultato/grafico che dovrei ottenere dalla simulazione:

outPI.png


I dati sono:

\begin{aligned}
& \alpha = 0.03 \\
& \beta = 0.002
\end{aligned}

Premetto che ho cominciato ad usare Simulink ieri, senza tutorial né esempi previ :roll: , e per risolvere, ho cercato di arrangiarmi provando vari metodi.

NOTA: in tutti gli schemi a blocchi riportati, INPUT è un gradino unitario, Step dalla libreria dei componenti.

Metodo 1:

i(n) = u(n) \overset{\mathcal{Z}}{\longrightarrow} I(z) = \frac{1}{1 - z^{-1}}

da cui ne deduco:

O(z) = I(z)H(z) = \left ( \frac{1}{1 - z^{-1}} \right) \left (\alpha + \frac{\beta}{1 - z^{-1}} \right)

Simulando questo sistema con Simulink, ho impostato questo diagramma di blocchi:

pi_metodo_1.png


mentre la rispettiva uscita che ottengo è questa:

pi_metodo_1_out.PNG


ma non è uguale all'uscita proposta dal professore, anche se ci assomiglia..

Metodo 2:

Giusto per osservare cosa capita se passo al dominio continuo, ricordando le tabelle delle trasformate, abbiamo che:

\begin{aligned}
& u(t)  \overset{\mathcal{L}}{\longrightarrow} \frac{1}{s} \\
& u(n)  \overset{\mathcal{Z}}{\longrightarrow} \frac{1}{1 - z^{-1}}
\end{aligned}

Quindi ho provato il seguente schema:

pi_metodo_2.PNG


con il seguente output:

pi_metodo_2_out.PNG


Metodo 3:

Noto che in Simulink ci sono i blocchi di ritardo unitario 1/z. Provo allora a risolvere la trasformata:

\begin{aligned}
I(z) \left ( \frac{1}{1 - z^{-1}} \right) & = O(z)\\
I(z) &= O(z)({1 - z^{-1}})\\
i(n) + o(n - 1) & = o(n)
\end{aligned}

disegno questo schema:

pi_metodo_3.PNG


la cui uscita che ottengo è questa:

pi_metodo_3_out.PNG


Conclusione

Come si può notare, ho le idee molto confuse riguardo a come usare bene simulink per questa simulazione, infatti non mi sento sicuro di quello che sto simulando. La mia impressione è che sto usando un simulatore senza saperlo usare, perché ho appunto cominciato ieri. Non so nemmeno se sia corretto l'approccio che ho usato, per esempio dare in pasto il gradino unitario al blocco della trasformata Z.

Qualcuno è cosi gentile da potermi aiutare a capire dove sbaglio ?
Sempre se c'è la voglia ed il tempo, ovviamente.

Ringrazio in anticipo.

O_/

Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59
0
voti

[2] Re: Simulazione Filtro PI discreto con Simulink

Messaggioda Foto Utentesimo85 » 30 apr 2017, 20:16

Credo di aver risolto.

Lo Step era mal configurato.. Il gradino iniziava a t = 1 invece che t = 0.
Considero corretto questo schema blocchi:

pi_metodo_4.PNG


la cui uscita ottenuta è questa:

pi_metodo_4_out.PNG


I valori di uscita, però, non corrispondono con l'uscita suggerita dal professore, ma non mi tornano nemmeno con carta e penna.

Anche se non è specificato, mi viene da pensare che abbia usato dei valori diversi per ottenere la grafica del messaggio 1, e poi abbia scritto l'enunciato..
Altrimenti non vedo come ottenere la stessa grafica di uscita se non usando degli amplificatori sulle costanti \alpha e \beta.

:-k


Torna a “Programmi applicativi: simulatori, CAD ed altro”