Está en la página 1de 11

Representacion en variables de estado de un sistema en tiempo

discreto
Jimmy Tombe Andrade

Ejemplo .1 Dado el sistema mostrado en la figura 1, encuentre la representacion matricial en variables de estado.

Figura 1: Sistema discreto

La funcion de transferencia del sistema sera:


0,5
a1
a2
Y (z)
= 2
=
+
U (z)
z 0,5z
z
z 0,5

(1)

Resolviendo la expansion en fracciones parciales se obtiene a1 = 1 y a2 = 1. La funcion


de transferencia queda de la siguiente forma:
Y (z)
1
1
=
+
U (z)
z
z 0,5

(2)

Figura 2: Sistema discreto expansion en fracciones parciales.

De la figura 2 se obtienen las siguientes ecuaciones:

x1 (z)
1
=
u (z)
z
zx1 (z) = u (z)
x1 (k + 1) = u (k)

x2 (z)
1
=
u (z)
z 0,5
(z 0,5) x2 (z) = u (z)
x2 (k + 1) = 0,5x2 (k) + u (k)

La representacion matricial es:

x1 (k + 1)
x2 (k + 1)

0 0,5

y (k) =

1 1

x1 (k)
x2 (k)
x1 (k)
x2 (k)

1
1

u (k)

Utilizando otro metodo.

G (z) =

y (z)
0,5
= 2
u (z)
z 0,5z

x (z) =

z2

u (z)
0,5z

Entonces:

z 2 x (z) 0,5zx (z) = u (z)


Aplicando Z inversa:

x (k + 2) = u (k) + 0,5x (k + 1)
Haciendo:

x1 (k) = x (k)
x2 (k) = x (k + 1)
Se tiene:

x1 (k + 1) = x2 (k)
x2 (k + 1) = 0,5x2 (k) + u (k)

x1 (k + 1)
x2 (k + 1)

0 0,5

y (k) =

0,5 0

x1 (k)
x2 (k)
x1 (k)
x2 (k)

0
1

u (k)

Figura 3: Sistema discreto Forma canonica controlable.

Ejemplo .2 Dada la funcion de transferencia de la ecuacion 3, encuentre la representacion en variables de estado discreta.

F (s) =

1
1
= 2
(s + 2) (s + 5)
s + 7s + 10

(3)

Utilizando las instrucciones que se presentan a continuacion con Matlab, se obtiene la


representacion en variables de estado.
numcon=[1]
dencon=[1,7,10]
syscontf=tf(numcon,dencon)
tm=0.1
[numdis,dendis]=c2dm(numcon,dencon,tm,zoh)
sysdistf=tf(numdis,dendis,tm)
[acon,bcon,ccon,dcon]=tf2ss(numcon,dencon)
sysconve=ss(acon,bcon,ccon,dcon)
[adis,bdis,cdis,ddis]=c2dm(acon,bcon,ccon,dcon,tm,zoh)
sysdisve=ss(adis,bdis,cdis,ddis,tm)
step(syscontf)
hold on

step(sysdistf)
step(sysconve)
step(sysdisve)
adisn=[0,1;-0.4966,1.425];bdisn=[0.00398;.0088];cdisn=[1,0];ddisn=[0];
sysdisnve=ss(adisn,bdisn,cdisn,ddisn,tm)
step(sysdisnve)
Matlab entrega la siguiente funcion de transferencia discreta:

F (z) =

0,00398z + 0,003152
z 2 1,425z + 0,4966

La representacion en variables de estado continua (Forma canonica controlable) es:

x1 (t)

x1 (t)

10 7
x2 (t)

h
i x1 (t)

y (t) =
1 0
x2 (t)

x2 (t)

0
1

u (t)

Para pasar a discreto usando Matlab, tiempo de muestreo ts = 0,1:


Matlab entrega la siguiente representacion en variables de estado discreta:

x1 [k + 1]

0,9602

0,0707

0,7073 0,4651

h
i x1 [k]

y [k] =
1 0
x2 [k]

x2 [k + 1]

x1 [k]
x2 [k]

0,0040
0,0707

u [k]

Utilizando simulink puede comprobar la respuesta de las diferentes representaciones


frente a un escalon.

No olvidar que en la funcion de transferencia discreta y en la representacion en variables


de estado discreta se debe colocar el tiempo de muestreo.

Figura 4: Representacion usando simulink 1.

En la figura 5 se aprecia que el sistema es el mismo.


Pasar de funcion de transferencia continua a variables de estado:

F (s) =

1
Y (s) X (s)
= 2
U (s) X (s)
s + 7s + 10

Separando
X (s)
1
= 2
U (s)
s + 7s + 10
s2 X (s) + 7sX (s) + 10X (s) = U (s)
Aplicando Laplace

x (t) + 7x (t) + 10x (t) = u (t)


Haciendo

Figura 5: Grafico producido por simulink 2.

x1 = x
x2 = x

Derivando

x 1 = x2
x 2 = 10x1 7x2 + u

Del mismo modo

Y (s) = X (s)

y (t) = x (t)

y (t) = x1
Derivando

x 1 = x2
x 2 = 10x1 7x2 + u

La representacion matricial queda de la siguiente forma:

x1 (t)

x1 (t)

10 7
x2 (t)

h
i x1 (t)

y (t) =
1 0
x2 (t)

x2 (t)

0
1

u (t)

Ejemplo .3 Para la funcion de transferencia discreta encuentre la representacion matricial en variables de estados.

F (z) =

0,00398z + 0,003152
Y (z)
= 2
U (z)
z 1,425z + 0,4966

En el ejemplo .3 se tiene que la entrada al sistema discreto u (k) contiene se


nales desfasadas, tales como u (k + 1). (tal es el caso de tener ceros en la funcion de transferencia),
entonces:

a0 y (k + 2) + a1 y (k + 1) + a2 y (k) = b0 u (k + 2) + b1 u (k + 1) + b2 u (k)

Se hace necesario realizar la siguiente modificacion en la definicion de las variables de


estado:

x1 (k) = y (k) 0 u (k)


x2 (k) = x1 (k + 1) 1 u (k)
x3 (k) = x2 (k + 1) 2 u (k)
..
.
xn (k) = xn1 (k + 1) n1 u (k)
y los parametros i se calculan a partir de:

0 = b0
1 = b1 a1 0
2 = b2 a1 1 a2 0
3 = b3 a1 2 a2 1 a3 0
..
.
n = bn a1 n1 a2 n2 a3 0 an1 1 an 0
Finalmente, la representacion matricial queda de la siguiente forma:

x1 (k + 1)

x2 (k + 1)

x3 (k + 1)

..

xn (k + 1)

0
..
.

0
..
.

0
..
.

an an1 an2

x1 (k)

x (k)
h
i 2

y (k) =
1 0 0 0 x3 (k)

..

xn (k)

x1 (k)


0 x2 (k)


0 x3 (k) +


..


1
.


a1
xn (k)

1
2
3
..
.

u (k)

+ 0 u (k)

z 2 Y (z) 1,425zY (z) + 0,4966Y (z) = 0,00398zU (z) + 0,003152U (z)

y (k + 2) 1,425y (k + 1) + 0,4966y (k) = 0,00398u (k + 1) + 0,003152u (k)


Comparando con la forma de la ecuacion

a0 y (k + 2) + a1 y (k + 1) + a2 y (k) = b0 u (k + 2) + b1 u (k + 1) + b2 u (k)
Se obtiene:

a0 = 1
a1 = 1,425
a2 = 0,4966
b0 = 0
b1 = 0,00398
b2 = 0,003152

Se calculan los valores de la matriz b

0 = 0
1 = 0,00398
2 = 0,0088
La representacion matricial quedara de la siguiente forma:

x1 (k + 1)

0,4966 1,425

h
i x1 (k)

y (k) =
1 0
x2 (k)

x2 (k + 1)

x1 (k)
x2 (k)

0,00398
0,0088

u (k)

También podría gustarte