PDA

View Full Version : Tustin ... chi era costui? Help me, please!


xwang
01-11-2008, 20:05
Ciao a tutti,
dovrei implementare una funzione che, dati i coefficienti di una funzione di trasferimento continua fino al secondo ordine, la trasformi in discreto usando il metodo di Tustin. Il problema è che io sono di estrazione aeronautica e non saprei dove trovare come si fa.
Su un libro di dinamica del volo ho trovato che, dato il sistema in continuo:

dx/dt=Ac x + Bc u

y=C x + D u

la stessa può essere rappresentato in discreto con Tustin nel seguente modo:

x(k+1) = A x(k) + B1 u(k+1) +B0 u(k)

y(k)=C x(k) + D u(k)

essendo:

A=([I-Ac T/2]^-1) [I+Ac T/2]

B1=B0=([I-Ac T/2]^-1)(T/2)Bc

E' corretto?
Mi sembra strano che lo stato al prossimo step dipenda dall'ingresso al prossimo step (che è ignoto).
C'è qualche sito in rete che presenti i passaggi da fare per passare dal continuo al discreto con tale metodo?
Grazie,
Xwang

pietro84
01-11-2008, 20:21
Ciao a tutti,
dovrei implementare una funzione che, dati i coefficienti di una funzione di trasferimento continua fino al secondo ordine, la trasformi in discreto usando il metodo di Tustin. Il problema è che io sono di estrazione aeronautica e non saprei dove trovare come si fa.
Su un libro di dinamica del volo ho trovato che, dato il sistema in continuo:

dx/dt=Ac x + Bc u

y=C x + D u

la stessa può essere rappresentato in discreto con Tustin nel seguente modo:

x(k+1) = A x(k) + B1 u(k+1) +B0 u(k)

y(k)=C x(k) + D u(k)

essendo:

A=([I-Ac T/2]^-1) [I+Ac T/2]

B1=B0=([I-Ac T/2]^-1)(T/2)Bc

E' corretto?
Mi sembra strano che lo stato al prossimo step dipenda dall'ingresso al prossimo step (che è ignoto).
C'è qualche sito in rete che presenti i passaggi da fare per passare dal continuo al discreto con tale metodo?
Grazie,
Xwang

ciao
hai provato a trasformare secondo Laplace il tuo sistema?
se trasformi secondo Laplace puoi ottenere la trasformata zeta del sistema discretizzato con metodo Tustin ponendo s=(2/T)* (z-1)/(z+1)

GUSTAV]<
01-11-2008, 20:37
http://en.wikipedia.org/wiki/Bilinear_transform

:O

xwang
01-11-2008, 23:26
ciao
hai provato a trasformare secondo Laplace il tuo sistema?
se trasformi secondo Laplace puoi ottenere la trasformata zeta del sistema discretizzato con metodo Tustin ponendo s=(2/T)* (z-1)/(z+1)

Non ho avuto tempo di fare i passaggi (li farò lunedì a lavoro), ma sostituendo nella generica
y/u=(Kz2 s^2 + Kz1 s + Kz0)/(s^2 + Kp1 s + Kp0)
la
s=(2/T)* (z-1)/(z+1)
Non riesco a capire da dove verrebbe fuori quel termine u(k+1) presente nel libro che ho preso per riferimento.
Ma forse sono io che non so bene come si legano u(k), x(k) e y(k) con le z.
Xwang

pietro84
02-11-2008, 15:21
Non ho avuto tempo di fare i passaggi (li farò lunedì a lavoro), ma sostituendo nella generica
y/u=(Kz2 s^2 + Kz1 s + Kz0)/(s^2 + Kp1 s + Kp0)
la
s=(2/T)* (z-1)/(z+1)
Non riesco a capire da dove verrebbe fuori quel termine u(k+1) presente nel libro che ho preso per riferimento.
Ma forse sono io che non so bene come si legano u(k), x(k) e y(k) con le z.
Xwang

U(z) è la trasformata Z di u(k) .
Quindi, facendo la sostituzione che ti ho detto, basta calcolare l'antitrasformata Z.
Ricorda la proprietà di traslazione temporale della Z-trasformata:
z U(z) ----> u(k+1)