Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- 47 -
2.1 INTRODUCCIN.
Los sistemas de control en tiempo discreto pueden operar en parte en tiempo discreto, y en parte en tiempo continuo. De esta manera, en dichos sistemas de control, algunas seales aparecen como funciones en tiempo discreto (a menudo en la forma de una secuencia de nmeros o un cdigo numrico), y otras seales como funciones en tiempo continuo. Al analizar sistemas de control en tiempo discreto, la teora de la transformada z juega un papel importante. [REF. 1]. El objetivo de este captulo es presentar las formas de discretizacin ms usadas en teora de control: por invarianza al impulso y por invarianza al escaln.
- 48 -
Ahora sustituimos dicha funcin por una sucesin f ( n T ) en los instantes de muestreo n = 0, 1, 2, ..., 10 y la dibujamos, aprecindose que ambas funciones se asemejan: las flechas sealan el valor de la funcin en los instantes de muestreo, y si uniramos dichos valores, se obtendra la funcin original. La funcin de Maple 'with(plottools)' sirve para trabajar con una serie de utilidades, entre las que se encuentra la opcin 'arrow'. Le ponemos un punto y coma para que se aprecien dichas utilidades.
> with(plottools);
arc, arrow, circle, cone, cuboid, curve, cutin, cutout , cylinder, disk dodecahedron, ellipse, ellipticArc, hemisphere, hexahedron, homothety hyperbola, icosahedron, line, octahedron, pieslice, point , polygon project , rectangle, reflect , rotate, scale, semitorus, sphere, stellate tetrahedron, torus, transform , translate, vrml
> for j from 0 to 10 do l[j] := plots[display](arrow([j,0], [j,f(j)], .05, .3, .05, color=green)) od: > plots[display](seq(l[j],j=0..10),color=green);
- 49 -
L (F ( s) )t =k T = Z
-1
-1
(Fd (z ) )
F ( s) z z e sT
Fd (z ) = Z
(F ( s) )t =k T
residuo de
Nota del autor: En ocasiones se realiza un abuso de notacin, haciendo la siguiente simplificacin:
Z L
(F ( s) )t =k T
= Z
(F (s) )
La funcin de Maple 'with(inttrans)' sirve para trabajar con una serie de utilidades, entre las que se encuentra la transformada de Laplace, y la inversa de la transformada de Laplace. Le ponemos un punto y coma para que se aprecien dichas utilidades.
- 50 -
> F := 2*(s^2+16+2*s)/(s*(s^2+16));
F := 2 2 s + 16 + 2 s 2 s ( s + 16 )
Ahora calculamos F d ( z ) , la transformada z de f ( k T ) . La funcin se obtiene con la inversa de Laplace de F, y a continuacin sustituimos t = k T para obtener la transformada z de f ( k T ).
- 51 -
> Fd := factor(%);
Fd := 2 z ( 2 2 z + 4 z cos( 4 T ) z sin( 4 T ) + sin( 4 T ) ) 2 ( z 1 ) ( 1 z + 2 z cos( 4 T ) )
Esta ltima expresin F d ( z ) es la discretizacin de F ( s ) que se obtiene por invarianza al impulso. A continuacin se muestra la funcin f ( t ) original, y la funcin f d ( k T ) , para T =
- 52 -
Esta es la seal discretizada (fd1), que coincide con la continua f ( t ) en los instantes de muestreo
k 8
En las siguientes sentencias de Maple vamos a construir un procedimiento que resume los pasos anteriores. La entrada es una funcin racional F ( s ) y un periodo de muestreo T, y cuya salida es la discretizacin de F ( s ) por invarianza al impulso.
> Discret_imp := proc(F, T) local aux; aux := ztrans(subs(t=k*T, invlaplace(F, s, t)), k, z): factor(combine(aux, trig)); end:
Lo aplicamos a la funcin F anterior, para comprobar su correcto funcionamiento. Dejamos el periodo de muestreo T sin especificar.
Fd :=
- 53 -
F (s) Fd ( z ) z y la transformada z inversa de coinciden en los instantes de muestreo s z 1 t = k T , donde T es el perodo de muestreo. Eso quiere decir que la respuesta de la funcin continua a un escaln es igual a la respuesta de la funcin discreta a un escaln, en los instantes de muestreo k T . [REF. 1]. Resaltar que la discretizacin por invarianza al escaln es equivalente a discretizar con un muestreador y mantenedor de orden cero. Para calcular F d ( z ) hacemos lo siguiente:
Como
F( s ) s
t =k T
-1 Fd( z ) z
z1
entonces
Fd( z ) z z1
F( s ) s
t =k T
entonces
Fd(z)
z1 z
F( s ) s
t =k T
(ec.1)
Siendo L
-1
la transformada z inversa.
- 54 -
Ejemplo:
. Obtenemos F d ( z ) aplicando la s z Fd( z ) Frmula anterior (ec.1). Hallamos la transformada inversa de , la pintamos, y z1 comprobamos que equivale a la funcin f s ( t ) en los instantes de muestreo. En 1 concreto, lo hacemos para el periodo de muestreo T = . 4 OBSERVACIN: La funcin de transferencia F ( s) = 1 corresponde a un s +1
F( s )
>F
:= s -> 1/(s+1);
fs := invlaplace(convert(F(s)/s, parfrac, s), s, t); plot(fs, t=0..2*Pi); Fd := simplify(((z-1)/z)*ztrans(subs(t=k*T, fs), k, z)); Fd1 := subs(T=1/4, Fd): fd1 := invztrans(Fd1*z/(z-1), z, k): plot([seq([k/4, fd1], k=0..24)], style=point);
1 s+1
F := s
fs := 1 e
( t )
Fd :=
1 + e
T ze 1
- 55 -
Maple no sabe calcular las races del denominador de la funcin racional F d ( z ) de forma exacta, la funcin inversa que devuelve hay que aproximarla (con el comando
evalf ) para conocer sus valores y poder representarla grficamente, y esto puede dar
> with(inttrans):
> F := 2*(s^2+16+2*s)/(s*(s^2+16));
F := 2 2 s + 16 + 2 s 2 s ( s + 16 )
- 56 -
Seal continua.
Puede apreciarse que la salida no sigue a la entrada escaln, ya que el sistema no es estable. Lo mismo ocurre para la funcin discreta. Estabilidad.
Puede apreciarse que no se obtiene una expresin cerrada con la trasnformada z inversa. Para conseguirla, hay que usar evalf.
- 57 -
> Digits:=10:
> evalf(fd2);
.2500000000 + .5000000000 k .2500000000 e ( .8050000000 10 -16 k) cos( 1.000000000 k )
Seal discreta.
NOTA del autor: Cuidado con las aproximaciones numricas que hace Maple. En la
siguiente grfica vemos que al pedirle que dibuje ms puntos la seal discreta ya no se comporta igual que la seal continua, lo cual no es cierto y es slo debido a errores de aproximacin que comete MAPLE.
- 58 -
Vamos a comprobar que tomando un periodo de muestreo T para el cual el coseno que aparece en la funcin Fde(z), es decir c o s ( 4 T ) , es exacto, no hay problemas numricos aunque la precisin sea pequea:
> Digits := 10: Fd3 := subs(T=Pi/4, Fde): fd3 := invztrans(Fd3*(z/(z-1)), z, k): > plot([seq([k*Pi/4, fd3], k=0..148)], style=point);
- 59 -
A continuacin escribimos un procedimiento cuya entrada es una funcin racional F(s) y un periodo de muestreo T y cuya salida es la discretizacin de F(s) por 1 invarianza al escaln. Lo aplicamos al ejemplo F( s ) = , para comprobar su correcto 2 s funcionamiento.
Fd :=
2 1 T (1 + z) 2 (z 1) 2
- 60 -
2.5 EJERCICIOS.
> for j from 0 to 10 do l[j] := plots[display](arrow([j,0], [j,f(j)], .05, .3, .15, color=red)) od:
- 61 -
2 Obsrvese que al muestrear con esa frecuencia de muestreo s = = 2 , T no se cumple el teorema de muestreo, por lo que la funcin resultante no es la que se
Para que se aprecie mejor que estas funciones coinciden en los instantes de muestreo, las dibujamos juntas, y aumentando el nmero de puntos.
> f1 := plot(f(t), t=0..20, color=wheat): for j from 0 to 20 do l[j] := plots[display](arrow([j,0], [j,f(j)], .05, .3, .15, color=magenta)) od: f2 := plots[display](seq(l[j],j=0..20), color=magenta, style=line): se := seq([j, f(j)], j=0..20): f3 := plot([se], style=line, color=blue):
- 62 -
2.5.2.- Discretizar por invarianza al impulso F(s) = 1/s. Utilizar el procedimiento Discret_imp. Considerar el perodo de muestreo T = 1
> Discret_imp := proc(F, T) local aux; aux := ztrans(subs(t=k*T, invlaplace(F, s, t)), k, z): factor(combine(aux, trig)); end:
- 63 -
Seal muestreada. Obsrvese que el sistema es crticamente estable (tiene un polo en el crculo unitario z = 1, y la inversa se mantiene estable en el infinito, pero no tiende a cero). Estabilidad.
- 64 -
Fd :=
-5 -1 4 8 z e +e
3 -5 -1 8 4 z e z e
- 65 -
F( s ) =
3 ( s + 20 ) ( s + 11 ) ( s + 7 )
Fd :=
- 66 -
1 2 s 3
. Considerar T =
1 2
Fd :=
1 6 1 2 z e
3 z (e 3
( 3)
1) 3
1 2 1 z e
- 67 -
Puede verse que la inversa no tiende a cero, ya que el sistema es inestable. Estabilidad.
2.5.6.- Discretizar por invarianza al escaln F(s) = 1/s. Utilizar el procedimiento Discret_esc. Considerar T = 1 como perodo de muestreo.
- 68 -
Fd :=
1 z1
Seal discretizada. El sistema discreto tiene un polo en z = 1, por lo que es crticamente estable. Puede apreciarse que la salida no sigue a la entrada escaln. Estabilidad.
- 69 -
1 (s + 2) (s + 5)
. Utilizar el
1 (s + 2) (s + 5)
7 4 1 2 5 4
Fd :=
1 2ze 30
5ze
+3+3e
z5e
+2e
1 5 2 4 z e 1 1 z e
Comprobamos ahora el teorema del valor final para sistemas continuos [REF. 2]:
lim x( t ) = lim s X( s ) t s0
- 70 -
Como se trata de un sistema estable, el valor de la funcin de transferencia del sistema, tiende a cero en el infinito. Estabilidad.
Comprobamos ahora el teorema del valor final para sistemas discretos. Como se trata de un sistema estable, el valor de la funcin de transferencia del sistema, tiende a cero en el infinito.
- 71 -
F( s ) =
3 ( s + 20 ) ( s + 11 ) ( s + 7 ) 1 6
como perodo de
Fd :=
1 60060
- 72 -
1 s 3 2
. Utilizar Discret_esc.
Fd :=
1 ze 6
( 3)
2ze
+e
( 3)
+z2e 1 2
+1
1 2 2 z e
ze
( 3)
z+e
- 73 -
Se trata de un sistema inestable, por lo que la salida no sigue a la entrada en escaln. Estabilidad.
- 74 -
2.6 REFERENCIAS.
[REF. 1] K. Ogata, Sistemas de Control en Tiempo Discreto, Prentice-Hall, 2 edicin, 1996 [REF. 2] A.V.Openheim, A.S.Willsky, con la colaboracin de I.T. Young, Seales y sistemas, Prentice-Hall, 1994
- 75 -