Você está na página 1de 111

CONTROL

POR
COMPUTADOR

Temario.

Ingeniera Informtica.

Realizado por:
Juan Manuel Bardallo Gonzlez
Miguel ngel de Vega Alcntara

Huelva. Curso 06/07.

INDICE
Tema 1. MODELIZACIN DE SISTEMAS DISCRETOS
1.1 Introduccin.
1.2 Sistema de control realimentado.
1.3 Transformada Z.
1.4 Transformada Z inversa.
1.5 Funcin de transferencia de un sistema discreto.
1.6 Ejemplos de diseo.
1.7 Anlisis por computador de sistemas discretos: Simulacin mediante MATLAB.
Tema 2. SISTEMAS MUESTREADOS
2.1 Introduccin.
2.2 Mantenedores y Muestreadores de seal.
2.3 Funcin de transferencia de un sistema discreto.
2.4 Funcin de transferencia en Z modificada.
2.5 Ejemplos de diseo.
Tema 3. ESTABILIDAD DE SISTEMAS DISCRETOS
3.1 Introduccin.
3.2 Criterio de Jury.
3.3 Estabilidad en sistemas muestreados.
3.4 Ejemplos de diseo.
Tema 4. ANLISIS DINMICO DE SISTEMAS
4.1 Introduccin.
4.2 Respuesta temporal de sistemas discretos.
4.3 Simplificacin por polo dominante en sistemas discretos.
4.4 Identificacin de sistemas mediante seales de prueba.
4.5 Ejemplos de diseo.

Tema 5. RESPUESTA TEMPORAL DE LOS SISTEMAS DE CONTROL


DISCRETOS
5.1 Introduccin.
5.2 Error de estado estacionario.
5.3 Error de estado estacionario con realimentacin no unitaria.
5.4 N de tipo y su influencia en los errores de estado estacionario.
5.5 Ejemplos de diseo.
Tema 6. LUGAR GEOMTRICOS DE LAS RACES
6.1 Introduccin.
6.2 Trazado del Lugar Geomtrico de las Races para sistemas discretos.
6.3 Efectos de la adicin de polos y ceros al sistema.
6.4 Ejemplos de diseo.
Tema 7. CRITERIO DE NYQUIST
7.1 Introduccin.
7.2 Criterio de estabilidad de Nyquist para sistemas discretos.
7.3 Ejemplos de diseo
Tema 8. DISCRETIZACIN DE REGULADORES CONTINUOS
8.1 Introduccin.
8.2 Discretizacin de reguladores continuos.
8.3 Efectos de la discretizacin sobre la estabilidad.
8.4 Regulador PID discretizado.
8.5 Ejemplos de diseo.
Tema 9. DISEO DE REGULADORES DISCRETOS
9.1 Introduccin.
9.2 Diseo de reguladores discretos mediante el Lugar Geomtrico de las Races.
9.3 Diseo por sntesis directa.
9.4 Diseo de reguladores en tiempo mnimo.
9.5 Ejemplos de diseo

Temario de Control por Computador

Control por Computador


Tema 1: Modelizacin de Sistemas Discretos
Introduccin
Representacin de seales en MatLab
>>typesOfSignals

Secuencias
De aqu en adelante escribiremos las secuencias como:
{Xk} = {0, 1 , -2, 3.5}
k=0
Nota: Trabajaremos en el rango positivo del tiempo, por tanto, todas las seales para
tiempos menores que 0 valdrn 0.
Delta de Kronecker. Es la equivalente a la delta de dirac en tiempo discreto
{k} = {1, 0, 0, 0, }

Si k < 0 la secuencia valdr 0

Seal Escaln
{uk} = {1, 1, 1, 1, } Si k > 0 siempre vale 1 en k < 0 siempre 0
Seal Rampa
{rk} = {1, 2, 3, }

Su pendiente siempre vale 1 independientemente de la escala de

tiempo que usemos; en k > 0

-1-

Bavegoal

Temario de Control por Computador

Sistemas Discretos
La entrada ser notada como u y la salida ser notada como y
Estticos: La salida en un instante de tiempo slo depende de la entrada en ese mismo
instante de tiempo.
yk = f(uk)
Dinmico: La salida en un instante de tiempo puede depender de cualquier entrada o
salida previa o futura
yk = f(yk-2, yk-1, yk+1, uk-2, uk-1,uk, uk+1)

Trabajaremos con sistemas Dinmicos Causales y LTI.

Sistemas Causales: Sistemas que no tienen variables futuras

Sistemas Dinmicos Causales: Sistemas que no dependen de entradas o


salidas futuras, slo de las salidas anteriores y/o de la entrada actual y/o
anteriores.

Sistemas LTI: Sistemas Lineales Invariantes en el Tiempo.

La expresin general de este tipo de sistemas es la siguiente:


yk = a1yk-1 + a2yk-2 + . + anyk-n + b0uk + b1uk-1 + b2uk-2 + .+ bmuk-m
Nota: a y b al ser invariante en el tiempo sern constantes.
Secuencia de Ponderacin: Respuesta del sistema cuando tenemos una entrada pulso.
{gk} Respuesta con entrada {k}
Si analizamos la respuesta ante el pulso, tendremos la respuesta frente a
cualquier entrada, ya que cualquier seal se puede discretizar en seales pulso de
distintas alturas.
Para cualquier seal, aplicando el teorema de superposicin, podemos calcular la
salida como la sumatoria de todos los pulsos discretos que forman la seal.
k

y k = ( g k i u i )
i =0

Salida = (seccin de ponderacin entrada)


-2-

Bavegoal

Temario de Control por Computador


Ejemplo. Clculo de la seccin de ponderacin y la salida de un sistema para
una entrada delta.
Ecuacin del sistema:
a)

y k = y k 1 0.5 y k 2 + u k 2

Secuencia de ponderacin (hasta k = 5)

k = 0;
y0 = y-1 0.5 y-2 + u-2 = 0
Nota: hemos dicho que todas las seales en instantes negativos valen 0 por tanto:

y-1 = y-2 = u-2 = y0 = 0


k=1
y1 = y0 0.5 y-1 + u-1 = 0
k=2
y2 = y1 -0.5 y0 + u0 = 1
Nota: u0 al valer la seal pulso 1, y2 = 1

k=3

y3 = y2 0.5 y1 + u1 y3 = 1

k=4
y4 = 1- 0.5 + 1 = 0.5
k=5
y5 = 0.5 -0,5 1 + 0 = 0
La secuencia de ponderacin sera entonces {gk} = {0, 0, 1, 1, 0.5, 0,}
b)

yk para una entrada escaln

La entrada de tipo escaln siempre vale 1 {uk} = {1, 1, 1.}


0

y0 =

g
i =0

y1 =

k 1

u i = g0 u0 = 0 1 = 0;

k 1

u i = g1 u0 + g0 u1 = 0 1 + 0 1 = 0

g
i =0

y2 = g2 u0 + g1 u1 + g0 u2 = 11 + 01 + 01 = 1
y3 = g3 u0 + g2 u1 + g1 u2 + g0 u3 = 11+11 = 2
y4 = g4 u0 + g3 u1 + g2 u2 + g1 u3 + g0 u4 = 0.51+11+11 = 2.5
y5 = = 2.5

-3-

Bavegoal

Temario de Control por Computador


c)

Representacin en MatLab

(cc_001.m)

En MatLab disponemos del comando filter, cuyos parmetros son B, A y u.


MatLab pone las y en un lado de la igualdad y las u al otro, por eso, para adaptar
nuestra frmula, despejaremos los trminos de y.
y k y k 1 + 0.5 y k 2 = +u k 2
A coeficientes que multiplican las y (Cambiamos el signo), el primer elemento es el
que multiplica a yk y por eso siempre suele ser 1
>>A = [1 -1 +0.5]

B coeficientes que multiplican las u


>>B = [0 0 1]

Creamos el vector equivalente a la seal pulso delta


>>delta = [1,zeros(1,5)]

Ejecutamos:
>>g = filter(B,A,delta)

>>g = 0

1.0000

1.0000

0.5000

Para representar la secuencia de ponderacin del sistema usamos el comando stem


>>stem(g,filled)

Creamos el vector equivalente a la seal escaln para el apartado b y repetimos los


mismos pasos, A y B ya estn calculados
>>u = ones(1,6)
>>y = filter(B,A,u)
>>stem(y, filled)

Probamos los mismos apartados para vectores delta y u de 30 y 31


componentes. Vemos que ambas entradas son muy parecidas aunque con valores
diferentes, ambas oscilan alrededor de un valor hasta que se estabilizan en ese valor.

-4-

Bavegoal

Temario de Control por Computador


Ejemplo. Simular la secuencia yk = -3yk-1 -2yk-2 + uk, hasta k = 10 (11 elementos
porque MatLab empieza en 1), para una entrada impulsiva delta y una seal escaln.

(cc_002.m)
En este caso:
>>A = [1,3,2]
>>B = [1,0,0]
>>delta = [1, zeros(1,10)]
>>u = ones(1,11)

Vemos que la suma es ms grande cuanto ms tiempo, esto indica que el sistema
es inestable, para que sea estable, debe tender a un valor 0, como en el caso anterior.

-5-

Bavegoal

Temario de Control por Computador

Sistema de Control Realimentado


Estabilidad de un sistema
Lo fundamental en un sistema es que sea estable.
Un sistema es estable, si para una secuencia de entrada acotada, la secuencia de
salida est tambin acotada.
Cumple la condicin de estabilidad si la suma de la secuencia de ponderacin es
una secuencia finita:

(g )<
i =0

Si conocemos la Planta de un sistema, podemos saber para que entrada la salida


es la deseada. El problema es que si hay un error, se va acumulando hasta poder hacer el
sistema inestable, este tipo de control se llama control en lazo abierto (nunca lo
haremos).

Lo que haremos ser comparar la salida del sistema, con la que nosotros
queremos r(t) (seal de referencia), si a sta seal le restamos la salida obtenemos el
error. Si hacemos que este error tienda a cero tendremos la salida deseada, para ello en
funcin del error iremos cambiando la planta para obtener, aproximadamente, la salida
deseada.
Al ser la salida una medida fsica, necesitamos un sensor que la transforme en
una magnitud elctrica para poder compararla.

-6-

Bavegoal

Temario de Control por Computador


Tanto la referencia, el error, como la salida, son magnitudes temporales.
Usaremos un computador para que partiendo del error calcule la entrada de la
planta para que la salida sea la que queremos, como el error es analgico, es necesario
un Sample and Hold y un CAD para la entrada del computador. Tendremos una entrada
y salida del computador binaria y usaremos un mantenedor y un CDA para que la
entrada a la Planta del sistema sea analgica. El mantenedor es necesario para que la
salida del CDA no sean puntos discretos, de manera que mantenga la seal a un valor
hasta que el computador cambie el valor.

Este sistema discreto, ya no sera de lazo abierto sino de Lazo cerrado, no sera
el nico esquema.
Otro posible esquema: Si el sensor posee salida digital

-7-

Bavegoal

Temario de Control por Computador

Definiciones
Nivel de Cuantificacin (Q): se define como el nivel que hay entre dos puntos
adyacentes de la curva de cuantificacin, y se define como el intervalo de escala
completa (FSR) partido por 2 elevado al nmero de bits (n).

Q=

FSR
2n

Dependiendo de cuanto tenemos que representar y de cuantos bits tengamos para


ello, el cambio de un valor a otro ser mayor o menor.
Error de cuantificacin: Error que cometemos al pasar de una seal de infinitos

valores a una seal que posee valores discretos finitos. Variar desde 0 hasta Q
Depender del valor que estemos cuantificando, por la escala x introducimos el valor
analgico y el factor de escala devuelve el valor digital, si estamos en un valor de Q
estamos devolviendo 0, por tanto el error ser Q

2Q
Q
1Q
2

2Q

El error lo trataremos como un ruido llamado ruido de cuantificacin, si el


nmero de bits es suficiente este ruido no ser significativo

-8-

Bavegoal

Temario de Control por Computador

Transformada Z (unilateral)
Esto quiere decir que nuestras seales tendrn valor desde cero en adelante,
hacia atrs valdrn 0. Por lo general sern continuas. Si por cualquier motivo, la seal
fuera discontinua, tendra que serlo en el 0, en este caso tomaremos el valor a la derecha
del 0. Delta no la consideraremos discontinua.

Definicin
La transformada Z de una seal xk siempre que xk = 0 para k < 0, es una serie de
potencias en zk con coeficientes xk y que se expresa con X(z).

X(z) = Z{x(k)} =

x(k )z

k =0

Nota: z pertenece a los nmeros complejos, z = a + bj.

Desarrollando la serie:
X(z) = x(0) + x(1)z-1 + x(2)z-2 + x(3) z-3 +
Ventajas de usar la transformada Z. Se usa una expresin sencilla, usaremos una
tabla de transformadas, lo que haremos ser convertir una ecuacin en diferencias en
una expresin algebraica que ser ms fcil de usar.

Propiedades de la transformada Z
-

Multiplicacin por una constante


Z{ax(k)} = ax(z)

Linealidad
Z{ax(k) + by(k)} = ax(z) + by(z)

Translacin en el tiempo
Z{x(t-nT)} = Z-nx(z);

Nota: T es el tiempo de muestreo translacin a la derecha, (7) y (9) de la tabla

de propiedades de la transformada.

Z{x(t + nT)} = Znx(z)

n i

x Z
i =0

n i

Nota: translacin a la izquierda, (6) y (8) de la tabla.

-9-

Bavegoal

Temario de Control por Computador

Teorema del valor inicial


Nos permite conocer el primer elemento de una secuencia sin conocer la
ecuacin diferencial. Generalmente lo sabremos y no ser necesario calcularlo.
x(0) = lim X ( z )
z

Teorema del valor final


Permite calcular el ltimo valor de una secuencia cuando k tiende a infinito.
x() = lim(1 z 1 ) X ( z ) = lim
z 1

z 1

z 1
X ( z)
z

Ejemplo. Calcular el valor final de la expresin: x( z ) =

1
1 e

aT

z 1

x()?

x() = (1 z-1) 1 / 1 e-atz-1 = 0 / 1 e-at = 0


Ejercicio. Calcular la transformada Z de la expresin:

y(k) 0.7y(k-1) + 0.1y(k-2) = 0.8u(k-2)


Z {y(k)} = Y(z)
Z{ 0.7y(k-1)} = -0.7Z-1Y(z)
Z{0.1y(k-2)} = 0.1Z-2Y(z)
Z{0.8u(k-2)} = 0.8Z-2U(z)
Transformada Z de la expresin:
Y(z) -0.7Z-1Y(z) + 0.1Z-2Y(z) = 0.8Z-2U(z)
Sacamos factor comn:
Y(z) (1 0.7z-1 + 0.1z-2) = 0.8Z-2U(z)
Y(z) = 0.8Z-2 / (1 0.7z-1 + 0.1z-2) U(z)
Podemos saber la salida del sistema a cualquier seal, por ejemplo para la delta de
kronecker:
u(k) = delta(k) U(z) = 1
Para una seal escaln:
u(k) = {1,1,1,1,1.} U(z) = 1 / 1 z-1 = z / (z -1)
Para obtener de nuevo y(k) sera necesario hacer la transformada inversa de la
expresin.

- 10 -

Bavegoal

Temario de Control por Computador

Funcin de Transferencia de un Sistema Discreto


Sera un modelo del sistema, para el ejemplo anterior:
Y(z) / U(z) = 0.8Z-2 / (1 0.7z-1 + 0.1z-2)
Esta ecuacin es lo que vamos a llamar funcin de transferencia: Transformada
Z de la salida, dividida por la Transformada Z de la entrada siempre que las condiciones
iniciales sean 0. Tambin se puede definir como la salida del sistema para una entrada
delta.
Z{secuencia de ponderacin f(k)}
Veremos a continuacin como sera para el caso general:
y(k) = a1yk-1 + a2yk-2 + . + anyk-n + b0uk + b1uk-1 + b2uk-2 + .+ bmuk-m
La expresin general de una funcin de transferencia ser entonces:
Y(z)(1 a1z-1 a2z-2 a3z-3 . - anz-n) = U(z) (b0 + b1z-1+ b2z-2+ b3z-3++ bmz-m)

G(z) =

Y(z) b0 + b1z - 1 + b2z - 2 + b3z - 3 + + bmz - m


=
U(z)
1 a1z - 1 a2z - 2 a3z - 3 . - anz - n

Si multiplicamos y dividimos por Zn nos quedaran las Z con exponentes


positivos

G(z) =

b0 zn + b1zn - 1 + b2zn - 2 + b3zn - 3 + + bmzn - m


1 zn a1zn - 1 a2zn - 2 a3zn - 3 . - an

Si calculamos los valores que hacen cero el denominador de la ecuacin


habremos calculado los Ceros, si calculamos los que hacen cero el denominador sern
los Polos, estos valores nos servirn para calcular la estabilidad del sistema. Si los polos
son mayores que uno, el sistema ser inestable.

- 11 -

Bavegoal

Temario de Control por Computador


Veremos como se define una funcin de transferencia en MatLab: (cc_003.m)
G = tf(num,den,T)
num: vector de coeficientes del numerador
den: vector de coeficientes del denominador
T: periodo de muestreo, si indicamos -1 quiere decir que no tenemos definido el

periodo de muestreo
G = zpk(ceros,polos,ganancia,T)
ceros: vector con los ceros de la funcin de transferencia
polos: vector con los polos
ganancia: es un valor que multiplica a la funcin de transferencia

Adems podemos pasar de una forma a otra:


G = zpk(tf())
G = tf(zpk())
Comandos para simular en forma de funcin de transferencia:
impulse simula el sistema para una entrada impulso
step simula para una entrada escaln.
lsim simula para una entrada genrica.
inicial simula para una condicin inicial distinta de cero y para ninguna

entrada.
Simularemos la secuencia calculada anteriormente para una entrada impulso y
una entrada step
Y(z) = 0.8z-2 / (1 0.7z-1 + 0.1z-2)
Primero es necesario pasar a exponentes positivos, multiplicando y dividiendo
por el mayor exponente:
G(z) = 0.8 / (z2 0.7z + 0.1)
>> G = tf(0.8,[1 -0.7 0.1],-1)

Si usamos zpk la funcin se muestra en forma de factores, para saber los ceros y
polos existen las funciones:
>>zero(G)
>>pole(G)

- 12 -

Bavegoal

Temario de Control por Computador

Transformada Z inversa
Veremos como pasar del dominio de Z al dominio del tiempo nuevamente.
Existen cuatro procedimientos:
-

Aplicando las tablas (Slo nos sirve para expresiones sencillas, si son complejas
las transformamos en sencillas)

Divisin larga: Una vez que tenemos los cocientes, realizamos la divisin de los
polinomios, es un proceso tedioso que puede dar lugar a expresiones extraas

Integral de Curvatura: Integral compleja, muy complicada de realizar

Fracciones Simples: Transformamos el cociente de polinomio en fracciones de


coeficientes ms pequeos a los que poder aplicar las transformaciones directas
de las tablas. Buscaremos hacer las fracciones simples de Y(z) / z , una vez
calculada pasamos la z multiplicando. Teniendo fracciones simples pueden
aparecer cuatro casos:
o Races reales distintas
o Races reales iguales: Tienen alguna multiplicidad
o Races complejas distintas
o Races complejas iguales: Son sistemas de orden 4, nosotros

trabajaremos con sistemas de orden 2


Usaremos el mtodo de los Residuos para resolverlas
En MatLab contamos con el comando residue

- 13 -

Bavegoal

Temario de Control por Computador


Veremos unos ejemplos de cada caso:
Ejemplo 1. En la siguiente ecuacin en diferencia calcular y(k)

y(kt) ay(k) = r(k-1)


y(0) = r(0) = 0
Los pasos a seguir son: Z{secuencia} despejamos Y(z) Z-1{Y(z)}
Y(z)z1 zy(0) aY(z) = R(z) z1 zr(0)
Como tenemos que y(0) y r(0) son cero, nos queda:
Y(z)z aY(z) = R(z) z

Y(z) =

z
R(z)
(z - a)

Suponemos que la entrada es una delta, tenemos: r(k) = delta(k) R(z) = 1


Y(z) = z / (z -a) y(k) = ak
Aplicamos las tablas para realizar la transformada inversa, en este caso en la fila (18)
Ejemplo 2. (Hecho anteriormente): y(k)?

G(z) = Y(z) / U(z) = 0.8z-2 / (1 0.7z-1 + 0.1z-2)


Veremos la salida cuando la entrada es una seal escaln U(z) = 1 / 1 z-1
Hallamos Y(z) = G(z) U(z) z-1{}y(k)

Y(z) =

0.8 z -2
1
0.8 z -2

=
(1 - 0.7 z -1 + 0.1 z -2 ) 1 - z -1 1 - 0.7 z -1 + 0.1 z -2 - z -1 + 0.7 z -2 - 0.1 z -3

Simplificando en el denominador:

Y(z) =

0.8 z -2
pasando a exponentes positivos,
1 - 1.7 z -1 + 0.8 z -2 - 0.1 z -3

multiplicando y dividiendo por z3 obtenemos:

Y(z) =

0.8 z
1 z - 1.7 z 2 + 0.8 z - 0.1
3

En MatLab podemos resolver las races de un polinomio mediante el comando roots


(cc_004.m)
>>roots([1, -1.7, 0.8, -0.1])

Obtenemos que son 1, 0.5 y 0.2

- 14 -

Bavegoal

Temario de Control por Computador

Clculo de los Residuos para Races Reales


En este apartado veremos la forma de calcular los residuos para polos reales simples
y mltiples.
-

Races Reales Simples (multiplicidad 1):

B3
B1
B2
Y ( z ) B( z )
=
=
+
+
+ ...
z
A( z ) z p1 z p 2 z p3
p1 p2 p3 Son las races del polinomio
A(z) = 0 p1, p2, sern los polos
Para calcular cada Bi haremos:

B( z )

( z pi )
Bi =
A( z )
z = pi

Races Reales Mltiples (multiplicidad > 1)

Cuando las races son reales (hay polos repetidos), la expresin a usar es la
siguiente:
B3
B1
B2
Y ( z ) B( z )
=
=
+
+ ... +
n
n 1
z
A( z ) ( z p1)
( z p1)
( z p1)1

Para calcular los Bi en este caso se procede de la siguiente forma:

d i 1
1
n B( z )

Bi = i1 (z p1)

A( z ) (i 1)!i
dz
z = p1

- 15 -

Bavegoal

Temario de Control por Computador


En MatLab tenemos un comando que nos calcula los Bi:
[R,P,k] = residue(B,A)
B y A son las funciones
R son los residuos
P son los polos
k: si B se puede dividir por A, MatLab lo calcula y lo devuelve en k

A continuacin haremos un ejemplo de cada tipo y lo comprobaremos en


MatLab, adems aprovecharemos el ejemplo del da anterior para calcular la
transformada Z inversa.
0.8 z 2
Ejemplo 1. Evaluar el sistema Y ( z ) =
U ( z ) para:
1 0.7 z 1 + 0.1 z 2
a)

Una entrada pulso u(k) = (k) U(z) = 1

A partir de Y(z) vamos a calcular la transformada inversa.


Primero pasaremos los exponentes a positivos:
Y ( z) =

0.8
z 0.7 z + 0.1
2

Para realizar la transformada inversa es necesario descomponer la expresin en


funciones simples. Para descomponer en races es necesario tener z en el
denominador; como no lo tenemos, dividimos por z en ambos trminos:
0.8
Y ( z)
= 2
z
z 0.7 z + 0.1 z

Para calcular las races del polinomio del denominador lo haremos mediante MatLab:
>>roots([1, -0.7,0.1])

Obtenemos p2 = 0.1 y p3 = 0.5,

p1 sera la raz de la z que multiplica el

denominador, es decir p1 = 0;

- 16 -

Bavegoal

Temario de Control por Computador

Tenemos entonces que el cociente del polinomio es:


B3
B
B2
0 .8
Y ( z)
= 2
= 1+
+
z ( z 0.2) ( z 0.5)
z
z 0 .7 z + 0 .1 z

B1 =

0.8
0.8
0.8
( z p1)
=
z/ =
=8
(
0
.
2
)
(
0
.
5
)
(
0
.
2
)
(
0
.
5
)
z ( z 0.2) ( z 0.5)
z
z
z

/
z = p1= 0

Como z en p1 es igual a 0, B1 nos queda 0.8 / (-0.2)(-0.5) = 8. El (z 0) que


multiplica el cociente se elimina con la z del denominador, por eso el denominador no
es 0
Realizamos los mismos pasos para calcular B2 y B3:

B2 =

B3 =

0.8
0.8
0.8
( z p 2)
=
( z / 0.2) =
= 13.3
(
0
.
2
)
(
0
.
5
)
(
0
.
2
)
(
0
.
2
0
.
5
)
z ( z 0.2) ( z 0.5)
z
z
z

/
z = p 2 = 0.2
0.8
0.8
0.8
( z p3)
=
( z / 0.5) =
= 53.3
z ( z 0.2) ( z 0.5)
z ( z 0.2) ( z / 0.5)
(0.5) (0.5 0.2)
z = p 3= 0.5

Ahora sustituyendo en la ecuacin:

13.3
5.33
Y ( z) 8
= +
+
z
z ( z 0.2) ( z 0.5)

Y ( z) = 8 +

13.3 z 5.33 z
+
( z 0.2) ( z 0.5)

Ahora, mediante la tabla (lneas 1 y 18) calculamos la transformada inversa de cada


una de las expresiones, quedando la expresin dependiendo slo y exclusivamente del
tiempo (k):
y(k) = 8(k) - 13.3 0.2k + 5.33 0.5k

- 17 -

Bavegoal

Temario de Control por Computador

Si usamos impulse para representar la funcin Y(z) y luego representamos esta funcin
dndole valores a k, debemos obtener la misma grfica (cc_005.m)

Siendo:
y1 Y ( z ) =

0.8
U ( z)
z 0.7 z + 0.1
2

y2 y(k) = 8(k) - 13.3 0.2k + 5.33 0.5k

Si hacemos este mismo ejercicio en MatLab obtendremos: (cc_005.m)


>> [R,P,K]

= residue(0.8,[1 -0.7 0.1 0])

R =
5.3333
-13.3333
8.0000
P =
0.5000
0.2000
0
K =

[]

- 18 -

Bavegoal

Temario de Control por Computador


Una entrada escaln u(k) = {1,1,1,1,1.} U ( z ) =

b)

z
z 1

Como ya se calcul el da anterior:


0.8 z -2
Y(z) =
1 - 1.7 z -1 + 0.8 z -2 - 0.1 z -3

Al igual que antes, pasamos todos los exponentes a positivos multiplicando y dividiendo
por el mayor exponente z3:
Y ( z) =

0.8 z
z 1.7 z 2 + 0.8 z 0.1
3

Dividimos en los dos trminos por z


Y ( z)
0.8
= 3
2
z
z 1.7 z + 0.8 z 0.1
Primero lo calcularemos en MatLab:
>>[R,P,K]

= residue(0.8,[1 -1.7 0.8 -0.1])

R =
2.0000
-5.3333
3.3333
P =
1.0000
0.5000
0.2000

Tenemos en este caso que el valor para el numerador de los distintos polos est en R,
ser 2 para el polo 1, -5.33 para el 0.5 y 3.333 para el 0.2.
Vemos que estamos en el caso de races reales y simples ya que son todas distintas, la
descomposicin del polinomio nos queda en este caso:
Y ( z)
0.8
2
5.33
3.33
= 3
=

+
2
z
z 1.7 z + 0.8 z 0.1 ( z 1) ( z 0.5) ( z 0.2)

- 19 -

Bavegoal

Temario de Control por Computador

Para hacerlo manualmente debemos calcular las races, si es de orden 3 podemos


calcular las races en MatLab o se nos darn, no ser necesario calcularlas en ningn
caso:
>>roots([1 -1.7 0.8 -0.1])

Como era de esperar obtenemos 1, 0.5 y 0.2.


Calculamos B1, B2 y B3 de la misma forma que antes:

B1 =

0.8
0.8
( z p1)
=
( z / 1) = 2
( z 1) ( z 0.5) ( z 0.2)
( z / 1) ( z 0.5) ( z 0.2)
z = p1=1

B2

z = p 2 = 0 .5

B3

z = p 3 = 0 .2

= 5.33

= 3.33

A continuacin calcularemos la transformada Z inversa.


Primero multiplicamos toda la expresin por la z que divide a Y(z):

Y ( z) =

2 z
5.33 z
3.33 z

+
( z 1) ( z 0.5) ( z 0.2)

La expresin es similar a la anterior, por tanto, usando la tabla obtenemos:


y(k) = 2 1k 5.33 0.5k + 3.33 0.2k
1k = 1
y(k) = 2 5.33 0.5k + 3.33 0.2k

- 20 -

Bavegoal

Temario de Control por Computador


A continuacin realizaremos un ejemplo con races reales mltiples

Y ( z ) B( z ) z 2 + 2 z + 3
Ejemplo 2. Evaluar el sistema
para:
=
=
z
A( z )
( z + 1) 3

Tenemos un nico polo en -1 tres veces (multiplicidad 3), en este caso el procedimiento
ser ligeramente distinto a los anteriores:
B3
B1
B2
Y ( z ) B( z ) z 2 + 2 z + 3
=
+
+
=
=
3
3
2
z
A( z )
( z + 1)
( z + 1)
( z + 1)
( z + 1)

En este caso para calcular cada Bi, atenderemos a la respectiva frmula:


d 0 B( z )
1
z2 + 2 z + 3
B1 = 0
( z p1) n
=
( z +/ 1) 3
3
( z +/ 1)
0! z = p1= 1
dz A( z )

= (1) 2 + 2 (1) + 3 = 2
z = p1= 1

En este caso la derivada 0 de B(z) / A(z) sera el propio cociente, esto quiere decir que
no hay que derivar. Por otro lado el factorial sera igual a 1
Para calcular B2 tenemos que calcular la derivada con respecto a z de lo que tenamos
antes, como (z+1)3 se elimin en el denominador y numerador, la derivada es del
polinomio z2 + 2z + 3, con lo que nos queda 2z + 2, quedando la expresin:

B2 = (2 z + 2)

1
= 2 (1) + 2 = 0
(2 1)! z = p1= 1

El factorial en este caso tambin vale 1


Para calcular B3 volvemos a calcular la derivada de lo que tenamos antes 2z +2 = 2
quedando

B3 = 2

1
1
= 2 =1
(3 1)! z = p1= 1
2

En este ltimo caso el factorial de 2 es 2


- 21 -

Bavegoal

Temario de Control por Computador

Por ltimo, al igual que antes, despejamos la expresin Y(z) y realizamos la


transformada inversa.

Y ( z) =

z
2 z
+
3
( z + 1)
( z + 1)

En la fila 27 de la tabla obtenemos la transformada del primer trmino, quedando


entonces como:
z
z 2
k (k 1) k 1
pasando z a positivo =
Fila 27: Z
a =
1 3
2!
( z a) 3
(1 a z )

En la fila 28 se muestra el caso general


Realizamos las transformadas inversas de los dos trminos de la ecuacin de Y(z)

2 z
z
k (k 1)
Z
=
2

Z
= 2
(1) k 1 = k (k 1) (1) k 1

1.3
3
2
( z + 1)
( z + 1)
z
k
2.- Z
= (1)
+
(
1
)
z

La expresin final que nos queda es la siguiente:


y (k ) = k (k 1) (1) k 1 1k
Se puede simplificar an ms teniendo en cuenta que:
(-1)k-1 = (-1)k (-1)-1 = (-1)(-1)k
Nota: (1) 1 =

1
= 1
11

Quedando entonces la expresin como:


y(k) = (-1)k + k(k-1)(-1) (-1)k = (-1)k (1 k (k 1))

- 22 -

Bavegoal

Temario de Control por Computador

Para probar esto en MatLab usaremos:

impulse

step

(cc_006.m)

Y ( z) z 2 + 2 z + 3
=
z
( z + 1) 3
para una entrada delta y una entrada escaln dndonos los mismos resultados:

Representamos la expresin y(k) y la Funcin de Transferencia

y(k) = (-1)k(1-k(k-1))

Funcin de Transferencia para una entrada impulso

Funcin de Transferencia para una entrada escaln

- 23 -

Bavegoal

Temario de Control por Computador

Clculo de los Residuos para Races Complejas Simples


Aqu calcularemos los residuos con polos complejos simples (los polos
complejos mltiples dada su dificultad no los estudiaremos), para luego poder calcular
la Transformada Z inversa.
Los mtodos a usar son:
1. Utilizar el mtodo de los residuos para polos reales (MatLab: residue). Se
obtienen residuos complejos (no aparecen en las tablas), una vez obtenidos
estos residuos ser necesario operar para quitar los nmeros complejos y poder
realizar la transformada inversa.
2. Buscar Fracciones Simples de la forma:

az +b
; donde los polos seran
z 2 +2

+ j . Tambin ser necesario realizar algunas operaciones. Luego


podremos resolverlas comparando con las expresiones de las tablas (dos ltimas
filas de la tabla no ogata, 16 y 17 de la tabla ogata)

z ( z c cos(b T ))
= c k cos(b k T )
2
z 2 c z cos(b T ) + c

1
(1) Z

z c sen(b T )
= c k sen(b k T )
2
z 2 c z cos(b T ) + c

1
(2) Z

- 24 -

Bavegoal

Temario de Control por Computador


A continuacin evaluaremos un sistema con este segundo mtodo para su mejor
comprensin:
Ejemplo 1. Calcular la transformada Z inversa de

2 z + 12
Y ( z ) B( z )
=
= 2
z
A( z ) z + 2 z + 5

Dada esta expresin vamos a ir calculando los pasos necesarios para


transformar esta expresin en fracciones complejas simples del tipo:

az +b
z 2 +2

Para ver si es viable realizarlo por el mtodo 1, obtenemos las races del denominador,
podramos hacerlo a mano, pero ejecutaremos mejor el comando en MatLab, para ver
si realizarlo:
>>roots([1 2 5])
ans =
-1.0000 + 2.0000i
-1.0000 - 2.0000i

Se obtiene un resultado complejo, para ello, obstamos mejor hacerlo por el segundo
mtodo. Por lo que comparamos la expresin del denominador de nuestra expresin
con el denominador de la primera de las expresiones a comparar:
z2 + 2 z + 5

z 2 2 c z cos(b t ) + c 2

Comparamos lo que multiplica a la z2 en ambos lados de la igualdad, lo mismo con la z


y con el trmino independiente:
2 = 2 cos(b t ) cos(bt ) =

1 1
=
c
5

5 = c2 c = 5

Despejando bT obtenemos:
1
b T = ar cos
= 2.0344rad
5
Nota: En MatLab el arcoseno se obtiene con el comando acos() acos(-1(sqrt(5)))

- 25 -

Bavegoal

Temario de Control por Computador

Por otro lado, tenemos la siguiente propiedad: sen 2 (bT ) + cos 2 (bT ) = 1 , de donde
podemos despejar sen(bT) para hallar su valor.
sen(bT ) = 1 cos 2 (bT ) = 1

1
2
=
5
5

Ya tenemos lo necesario para comparar la expresin del principio con las de las tablas
descritas anteriormente:
c= 5
bT = 2.0344rad
1
cos(bT ) =
5
2
sen(bT ) =
5
Como siempre, pasamos la z del denominador de Y al otro lado de la igualdad
2 z + 12
2 z 2 + 12 z
Y ( z)
= 2
Y ( z) = 2
z
z + 2 z +5
z + 2z + 5
Buscaremos una combinacin de las expresiones anteriores. Generalmente ser una
suma de ambas.

z ( z c cos(b T ))
Z 1 2
2
z 2 c z cos(b T ) + c

z c sen(b T )
Z 1 2
2
z 2 c z cos(b T ) + c

De las expresiones a comparar elegiremos, primero escogemos la de mayor orden, y en


una primera instancia el denominador:
1
z 2 z c cos(bT ) = z 2 z 5
= z 2 + z
5
Ahora operaremos en la expresin de Y(z) para que el numerador valga la expresin
obtenida:
Quitamos el 2 que multiplica a la z2 y dejamos un z sola, dejando z y por otro lado 5z

Y ( z) =

( z 2 + z + 5 z)
2 ( z 2 + 6 z)
=
2

z2 + 2 z + 5
z2 + 2 z + 5

- 26 -

Bavegoal

Temario de Control por Computador


Dividimos la expresin en dos sumandos, una comparable con la expresin (1) de la
tabla y la segunda expresin la transformaremos para que coincida con la expresin
(2) de la tabla
Separando la expresin en sumando obtenemos:
( z 2 + z)
5z
Y ( z) = 2 2
+ 2 2
z + 2z + 5
z + 2z + 5
Se ve claramente que el primer sumando coincide con la expresin (1) de la Z-1, por
tanto, podemos calcular su transformada inversa de manera directa:
k

( z 2 + z)
Z 2 2
= 2 5 cos(2.0344 k )
z + 2z + 5
1

Ahora calcularemos la transformada inversa del otro sumando de la ecuacin anterior:


5z

Z 1 2 2

z + 2z + 5
Para ello, al igual que antes, vemos cuanto tiene que valer cada trmino del numerador
de la expresin (2) para que la expresin sea la que buscamos:
c z sen(bT ) = 5 z

2
5

= 2 z

sustituyendo en la expresin anterior tenemos:


k
2z
10z

1
Z 1 2
= 5 Z 2
= 5 5 sen(2.0344 k )
z + 2z + 5
z + 2 z + 5

Juntando las transformadas inversas calculadas, obtenemos la solucin.


k

y (k ) = 2 5 cos(2.0344 k ) + 5

k
(1+ )
2

sen(2.0344 k )

Nota: 5 5 puede ponerse como 51+k/2

- 27 -

Bavegoal

Temario de Control por Computador


Para comprobar que es correcto podemos simularlo en MatLab: (cc_007.m)
Simularemos la Funcin de Transferencia y la Ecuacin en Diferencia resultante al
realizar la Transformada Inversa y la representacin de ambas debe ser idntica. Como
entrada u(k) usaremos la delta de kronecker.
Primer definimos la Funcin de Transferencia. Usamos tf indicando coeficientes del
numerador y denominador y un periodo de muestreo indefinido
Y = tf([2 12 0],[1 2 5],-1)

Le aplicamos a la Funcin de Transferencia una entrada impulso (delta de kronecker):


[y1,k] = impulse(Y);

Ahora definimos la Ecuacin en Diferencias resultante.


Calculamos bt:
bT = acos(-1 / sqrt(5));

Calculamos y(k) segn nuestra ecuacin,


y2 = 2 * 5.^(k / 2).* cos(bT * k) + 5.^(1 + k/2).* sin(bT * k);

y1 e y2 deberan ser iguales, para ello las representamos en la misma grfica con
distintos colores:
plot(k,y1,'bo',k,y2,'r+');
legend('y_1 (impulse)','y_2 (solucion)');

- 28 -

Bavegoal

Temario de Control por Computador


Ejercicio 1. Resolver la siguiente ecuacin en diferencias:

y (k ) = 0.5 y (k 1) 0.25 y (k 3) u (k ) 1.5 u (k + 1) + 2 u (k 2)


Siendo u(k) = (k) entrada pulso (delta de kronecker)
Para resolverla tenemos que obtener y

en funcin de k, es decir, que no

dependa ni de k+1, ni k+2 . Para ello, calcularemos la transformada Z de la


expresin, despejaremos Y(z) y luego haremos la transformada Z inversa de la
expresin usando alguno de los mtodos aprendidos.
Z {y (k )} = Y ( z ) = 0.5 z 1 Y ( z ) 0.25 z 3 Y ( z ) U ( z ) 1.5 z 1 U ( z ) + 2 z 2 U ( z )
Sacamos factor comn Y(z) y U(z) quedando entonces:
Y ( z ) (1 0.5 z 1 +0.25 z 3 ) = U ( z )(1 1.5 z 1 + 2 z 2 )

Despejando Y(z):
Y ( z) =

(1 1.5 z 1 + 2 z 2 )
U ( z)
(1 0.5 z 1 +0.25 z 3 )

Introducimos como entada (k) U(z) = 1 quedndonos:


Y ( z) =

(1 1.5 z 1 + 2 z 2 )
(1 0.5 z 1 +0.25 z 3 )

Ahora para calcular la Transformada Inversa, pasaremos los exponentes a positivos


multiplicando y dividiendo el trmino de la derecha por z3:
Y ( z) =

( z 3 1.5 z 2 + 2 z )
( z 3 0.5 z 2 +0.25)

Como no est en la tabla, lo pasamos a fracciones simples, para ello, primero pasamos
z dividiendo al lado izquierdo de la ecuacin:
Y ( z)
( z 2 1.5 z + 2)
= 3
z
( z 0.5 z 2 +0.25)

- 29 -

Bavegoal

Temario de Control por Computador


Lo primero ser calcular las races del denominador, para ello, ayudndonos de
MatLab:
>>roots([1 -0.5 0 0.25])
ans =

0.5000 + 0.5000i
0.5000 - 0.5000i
-0.5000

Observamos que se obtienen dos races complejas simples y una real simple. La
ecuacin nos queda de la siguiente forma:
Y ( z)
A
Bz +C
=
+
z
( z + 0.5) ( z )2 + 2
Nota: donde sigma es la parte real y omega es la parte imaginaria

La explicacin de la frmula compleja se obtiene de realizar la operacin de las races


reales con las races complejas:
A1
A2
+
( z 0.5 0.5 j ) ( z 0.5 + 0.5 j )

Si sumamos la expresin obtenemos:


A1 ( z 0.5 + 0.5 j ) + A2 ( z 0.5 0.5 j )
( z 0.5 0.5 j ) ( z 0.5 + 0.5 j )

Vemos que en el denominador nos queda una multiplicacin del tipo (a + b)(a -b)
donde a = z - 0.5 y b = 0.5j quedando entonces la suma de los operandos al cuadrado,
como sabemos, j2 = -1, quedando entonces en el denominador la expresin dicha
anteriormente (z ) + 2
2

Realizamos los clculos del primer denominador de la expresin principal:

(0.5) 2 1.5 (0.5) + 2


( z 2 1.5 z + 2)
B( z )

(
z
+
0
.
5
)
=
=2
( z pi )
=
Ai =
2
2
A( z )
(

0
.
5

0
.
5
)
+
0
.
25
(
)
(
z
+
0
.
5
)

0
.
5
+
0
.
25
z = pi
z = 0.5

Nota: (z+0.5) se eliminara con el del denominador

- 30 -

Bavegoal

Temario de Control por Computador


Ahora calcularemos B y C, para ello, primero calcularemos la suma que tenamos:

((

Y ( z ) A z 2 + 2 + (B z + C ) (z + 0.5)
=
2
z
( z + 0.5) ( z ) + 2

El numerador debe valer lo mismo que el numerador que tenamos al principio (-z2-1.5
z+2), para resolverlo, dejamos la expresin en forma de polinomio e igualamos los
coeficientes que nos queden (las z2 con las z2, las z con las z etc)

A ( z ) + 2 + (B z + C ) ( z + 0.5)
2

( z 2 1.5 z + 2)

Nota: (z -0.5)2 = z2 + 0.25 z

Realizando las operaciones obtenemos:


A z 2 + A 0.25 A z + 0.25 A + B z 2 + 0.5 B z + C z + 0.5 C = z 2 1.5 z + 2
Agrupando los coeficientes de cada zx tenemos:
z 2 ( A + B) + z ( A + 0.5 B + C ) + 0.5 ( A + C ) = z 2 1.5 z + 2

Igualando trmino a trmino:


A + B = -1
-A + 0.5B + C = -1.5
0.5(A + C) = 2
Como ya hemos calculado anteriormente A, nos facilita los clculos. Sino la
hubisemos calculado, tambin podramos calcularla ahora, ya que tenemos 3
ecuaciones con 3 incgnitas. Obtenemos:
A = 2, B = -3 y C = 2

La expresin de

Y ( z)
sustituyendo A, B y C nos queda:
z

3 z + 2
2
2 z
3 z2 + 2 z
Y ( z)
Y ( z) =
=
+
+
( z + 0.5) ( z 0.5) 2 + 0.25
( z + 0.5) ( z 0.5) 2 + 0.25
z

Expresada la Funcin de Transferencia en fracciones simples comparando con las


expresiones de las tablas podemos calcular la Transformada Inversa. Primeramente
comprobaremos los resultados obtenidos con MatLab.
- 31 -

Bavegoal

Temario de Control por Computador


Resolviendo esto en MatLab deberamos obtener los mismos resultados, vamos a
comprobarlo:
Calculamos los residuos mediante el comando residue, devuelve en r los residuos, en p
los polos y en k, si existen, los polinomios simples resultantes de dividir los dos
polinomios. La entrada de la funcin son los coeficientes del numerador y denominador
>>[r,p,k] = residue([-1 -1.5 2], [1 -0.5 0 0.25] )
r =
-1.5000 - 0.5000i
-1.5000 + 0.5000i
2.0000

p =
0.5000 + 0.5000i
0.5000 - 0.5000i
-0.5000

Como la mayora de las veces k no contiene ningn valor.


Hay que tener en cuenta, que a cada residuo, le corresponde el polo de su misma
posicin, de este modo tenemos, segn MatLab:
Y ( z)
2
(1.5 + 0.5 j )
(1.5 0.5 j )
=
+
+
z
z + 0.5 ( z 0.5 + 0.5 j ) ( z 0.5 0.5 j )
MatLab nos da las fracciones por separado, para poder usarlas sumamos las races
complejas:
(1.5 + 0.5 j )
(1.5 0.5 j )
(1.5 + 0.5 j ) ( z 0.5 0.5 j ) + (1.5 0.5 j ) ( z 0.5 + 0.5 j )
+
=
( z 0.5 + 0.5 j ) ( z 0.5 0.5 j )
( z 0.5) 2 +0.5 2
Esto tambin podemos realizarlo en MatLab, sino definimos ninguna variable con el
nombre de j, automticamente, MatLab entiende que se trata de un nmero complejo,
los polinomios se representan como vectores, entonces ejecutamos:
(1.5 + 0.5j) * [1 0.5 0.5j] + [1 0.5 + 0.5j] * (1.5 0.5j)
Obtenemos [-3 , 2] -3z + 2 por lo que efectivamente nos da el resultado esperado
3 z + 2
2
Y ( z)
=
+
( z + 0.5) ( z 0.5) 2 + 0.25
z
- 32 -

Bavegoal

Temario de Control por Computador


Expresada la funcin en fracciones simples procedemos a calcular la Funcin de
Transferencia Inversa. Pero primeramente despejamos Y(z) quedndonos:
Y ( z) =

2 z
(3 z + 2) z
+ 2
( z + 0.5) ( z z + 0.5)

2 z
1 ( 3 z + 2) z
Z 1 {Y ( z )} = y (k ) = Z 1

+ Z 2
( z + 0.5)
( z z + 0.5)

La primera de las transformadas es directa:


2 z
k
Z 1
= 2(-0.5)
(
z
0
.
5
)
+

La segunda de las transformadas tenemos que compararla con las frmulas 16 y 17 de


la tabla de transformadas. Primero compararemos los denominadores ya que ambas
frmulas a comparar (16,17) tienen el mismo denominador:
(z2 z + 0.5) = z2 - 2czcos(bT) + c2
1=1
-1 = 2ccos(bT)
0.5 = c2
Despejamos c:
c = 0.5
y teniendo c despejamos el coseno.
cos(bT ) =

1
2 0.5

Si multiplicamos y dividimos por

0.5 la expresin nos queda como

cos(bT ) = 0.5

Calculamos bT:

bT = ar cos 0.5 = 0.7854rad


Ahora calculamos el seno con la ayuda de la propiedad sen 2 (bT ) + cos 2 (bT ) = 1 por lo
que despejando el seno nos queda:

sen(bT ) = 1 0.5 = 0.5

- 33 -

Bavegoal

Temario de Control por Computador

Tras todos los clculos realizados, resumimos los siguientes valores:


c = 0.5
cos(bT ) = 0.5
sen(bT ) = 0.5
bT = 0.7854rad
Comparamos primero el numerador de la expresin de la Z-1 que tiene el coseno.
z 2 c z cos(bT ) = z 2 0.5 z 0.5 = z 2

1
z
2

Para poderlos comparar tenemos que conseguir que el numerador de nuestra expresin
1
tenga z 2 z
2
Necesitamos tener la z2 sola, por eso, dividimos el numerador entre 3 y sacamos el -3
fuera.

2 2

z z

3
3 Z 1 2

z z 0.5

Restamos a los 2/3 que multiplican a la z y nos quedan -1/6:


1
2 1
z z z

6
3 Z 1 2 2

z z 0.5

Dividiendo el numerador en sumandos:


1

2 1

z z
z

1
2
2
3 Z 1 2

+ Z 2
z z 0 .5
z z 0 .5

Nota: En el segundo trmino introducimos el -3 multiplicando, de ah el que nos

queda.
Ahora podemos ya calcular la Z-1 del coseno;
2 1

z z

2
3 Z 1 2
= 3 0.5 cos(0.7854 k )
z z 0 .5

- 34 -

Bavegoal

Temario de Control por Computador


Para realizar la segunda expresin resultante, como ya tenemos el denominador y
tenemos slo una z en el numerador, haremos las transformaciones necesarias para que
los numeradores sean iguales.
1

Z 1 2 2

z z 0 .5

c z sen(bT ) = 0.5 z 0.5 = 0.5 z =

1
z
2

Como vemos, lo que necesitamos, es exactamente lo que tenemos, por tanto podemos
aplicar la transformacin directamente.
1

Z 1 2 2
= 0.5 sen(0.7854 k )
z z 0 .5

Uniendo las tres expresiones obtenemos y(k):


k

y (k ) = 2 (0.5) k 3 0.5 cos(0.7854 k ) + 0.5 sen(0.7854 k )


Podramos sacar

0.5 como factor comn para dejar la expresin ms legible.

A continuacin vamos a comprobar que realmente la solucin es correcta.


1. Tenemos la ecuacin en diferencia del sistema
2. La funcin de transferencia
3. La ecuacin a lo largo del tiempo
En MatLab, para el primer caso usaremos filter, para la segunda, lo haremos con
impulse y para la tercera simplemente daremos valores a k y representaremos y(k) en

esos valores, todas deberan dar el mismo resultado. (cc_008.m)

- 35 -

Bavegoal

Temario de Control por Computador


Ejercicio 2. Resolver la siguiente Ecuacin en diferencias, siendo la entrada aplicada
una seal escaln de amplitud 1.
y (k ) = 0.5 y (k 1) 0.12 y (k 2) + 0.008 y (k 3) + u (k 2) + 2 u (k 3)

u(k) = {1,1,1,1,1,1,}
Los pasos a seguir son:
1. Aplicar la transformada Z a la secuencia
2. Despejar Y(z)
3. Aplicar la transformada Z-1 mediante los mtodos vistos anteriormente.
Realizamos la transformada Z
Z {y (k )} = 0.5 z 1 Y ( z ) 0.12 z 2 Y ( z ) + 0.008 z 3 Y ( z ) + z 2 U ( z ) + 2 z 3 U ( z )
Agrupamos las Y(z) por un lado y las U(z) por otro:
Y(z)(1 -0.5z-1 + 0.12 z-2 -0.008 z-3) = U(z) (z-2 + 2 z-3)
Dividimos Y(z) entre U(z) para obtener la funcin de transferencia y pasamos las z a
exponente positivo multiplicando y dividiendo entre el mayor exponente en positivo:

Y ( z)
z 2 + 2 z 3
( z + 2)
= G( z) =
= 3
1
2
3
2
U ( z)
1 0.5 z + 0.12 z 0.008 z
( z 0.5 z + 0.12 z 0.008)

Esta funcin de transferencia la podemos simular en MatLab mediante step, que simula
la entrada de una seal escaln. Otra opcin es usar impulse, para simular la entrada
de una delta, pero para ello, tendramos que multiplicar la expresin anterior por la
transformada de U(z) (seal escaln) que es

z
.
z 1

Multiplicamos la expresin anterior por la transformada de la seal escaln:


Y ( z) =

z
( z + 2)
( z + 2) z

= 3
2
( z 0.5 z + 0.12 z 0.008) z 1 ( z 0.5 z + 0.12 z 0.008) ( z 1)
3

- 36 -

Bavegoal

Temario de Control por Computador


Ahora sabemos que uno de los polos es 1, que hace cero a (z-1), el resto lo calculamos
mediante MatLab y obtenemos:
>>roots([1 -0.5 0.12 -0.008])

Obtenemos:
0.1
0.2 + 0.2j

Pasamos la z del numerador dividiendo a Y(z) para que nos quede una z en el
numerador y podamos comparar en las tablas.
Escribiendo la expresin descompuesta en factores obtenemos:
Y ( z)
( z + 2)
=
2
z
( z 0.1) ( z 1) ( z 0.2 ) + 0.2 2

Nota: El polo complejo sale de ( z ) + 2 con 0.2 + 0.2j


2

Descomponindolo en fracciones simples obtenemos:


Y ( z)
( z + 2)
A
B
Cz+D
=
=
+
+
2
2
z
( z 0.1) ( z 1) ( z 0.2 )2 + 0.2 2
( z 0.1) ( z 1) ( z 0.2 ) + 0.2

Sumando las fracciones y comparando el resultado con la expresin de la izquierda


podramos obtener A, B, C y D. Para hacerlo de forma ms rpida, calcularemos los
residuos, los polos y el trmino independiente con residue, de esta manera obtendremos
las incgnitas.
[R,P,K] = residue([1,2],conv([1 -05 0.12 0.008],[1 -1]))

La funcin conv, la usamos para multiplicar polinomios, esto lo usaremos porque en el


denominador de la expresin de la izquierda tenemos un factor de dos polinomios.
Si ejecutamos por separado conv, podemos comprobar que realmente da el resultado
de multiplicar ambos polinomios

- 37 -

Bavegoal

Temario de Control por Computador


Al ejecutar el comando obtenemos:
R =
4.9020

(B)

20.8824 +21.4706i
20.8824 -21.4706i
-46.6667

(A)

P =
1.0000
0.2000 + 0.2000i
0.2000 - 0.2000i
0.1000

K =
[]

Ahora asignamos a casa residuo de R el polo asignado en P, vemos que el primer


residuo se corresponde a B y el ltimo a A, los otros dos al ser complejos hay que
calcularlos igualando las expresiones.
Sustituyendo A y B por sus valores obtenemos:
( z + 2)

( z 0.1) ( z 1) ( z 0.2 ) + 0.2


2

Cz+D
4 .9
46.6667
+
+
( z 0.1) ( z 1) ( z 0.2 )2 + 0.2 2

Segn MatLab tenemos que el residuo 20.8824 + 21.4706i

va asociado al polo

0.2000 + 0.2000i y lo mismo con el otro, sustituyendo tendremos:


(20.8824 + 21.4706 j ) (20.8824 21.4706 j )
+
(0.2 + 0.2 j )
(0.2 0.2 j )

Realizamos la suma, para calcular los productos podemos usar MatLab:


(20.8824+21.4706i)*[1, -0.2+0.2j] + (20.8824-21.4706i)*[1, -0.2-0.2j]
ans =
41.7684 -16.9412

El primer resultado corresponde al primer producto y lo mismo ocurre con el segundo.

- 38 -

Bavegoal

Temario de Control por Computador


Sustituyendo en la ecuacin ya tenemos calculado todas las incgnitas y tenemos la
funcin descompuesta en fracciones simples:
Y ( z ) 46.6667
4.9
41.76 z 16.9412
=
+
+
z
( z 0.1) ( z 1)
(z 0.2)2 + 0.2 2

Nota: Hemos usado MatLab para acelerar los clculos, pero hay que saber calcularlos

a mano.
Aplicamos ahora la Z-1 uno a uno a todos los trminos, antes, pero antes despejamos
Y(z):
Y ( z) =

46.6667 z 4.9 z 41.76 z 2 16.9412 z


+
+
( z 0.1)
( z 1)
(z 0.2)2 + 0.2 2

Las transformadas inversas de las dos primeras fracciones son directas:


46.6667 z
k
Z 1
= 46.6667 (0.1)
( z 0.1)
4.9 z
k
Z 1
= 4.9 1 = 4.9 ; como k es siempre positivo, podemos asegurar que
( z 1)
1k siempre es 1
Para realizar la transformada inversa del trmino que falta, lo compararemos con las
respectivas frmulas para ir obteniendo lo que nos interese, primero prepararemos el
denominador comparndolo con la frmula del coseno o el seno ya que son iguales.
(z-0.2)2 + 0.22 = z2 + 0.22 -2z0.2 + 0.22 = z2 -0.4z + 0.08
Esta expresin tiene que ser igual a z2 + 2czcos(bT) + c2, comparado ambas
obtenemos
z2 -0.4z + 0.08 = z2 + 2czcos(bT) + c2
0.08 = c 2 c = 0.08
0.4 = 2 z cos(bT ) cos(bT ) =

0.4
= 0.7071
2c

bT = arcos(0.7071) = 45 = 0.7854 rad (MatLab lo devuelve en radianes)


sen(bT) = 0.7071; como el ngulo es 45, el seno es igual que el coseno;

- 39 -

Bavegoal

Temario de Control por Computador


Ahora pasamos a buscar los numeradores usando la misma tcnica. Antes sustituimos
en el numerador de la frmula del coseno, los valores calculados para saber con qu
expresin tenemos que comparar
z 2 zccos(bT)

z 2 - z0.2830.7071

z 2 - 0.2 z

(41.76 z 2 16.94 z )
2
Z
; como la z debe estar sola, sacamos el 41.76 nos
2
2
( z 0 .2 ) + 0 .2

queda entonces:
2 16.94
( z 41.76 z )
41.76 Z 1
2
2
( z 0.2) + 0.2

( z 2 0.4 z )
1
41
.
76
Z
=

2
2
( z 0.2) + 0.2

Como necesitamos que a la z la multiplique 0.2, dividimos 0.4z en 0.2z + 0.2z quedando
entonces:
( z 2 0 .2 z 0 .2 z )
41.76 Z 1

2
2
( z 0 .2 ) + 0 .2

Dividimos la expresin en dos sumandos sacando uno de los -0.2z del numerador:
( z 2 0 .2 z )

0 .2 z
+ 41.76 Z 1
41.76 Z 1
2
2
2
2
( z 0 .2 ) + 0 .2
( z 0 .2 ) + 0 .2

La transformada del primer sumando es directa


( z 2 0 .2 z )
41.76 Z
= 41.76 0.283 k cos(0.7854 k )
2
2
( z 0 .2 ) + 0 .2
1

Ahora pasamos a comparar el numerador del segundo sumando con el numerador de la


expresin del seno:
zc sen(bT) =

z0.2830.7071

0.2z

Como vemos, tenemos exactamente lo que necesitamos, tan solo sacamos el signo -
fuera de la expresin, una vez hecho tenemos la transformada directa:

0 .2 z
= 41.76 0.283 k sen(0.7854 k )
41.76 Z 1
2
2
(
)
z
0
.
2
0
.
2

- 40 -

Bavegoal

Temario de Control por Computador


Uniendo todas las transformadas obtenemos la expresin final. Al haber ido
aproximando a lo largo de los clculos, la grfica obtenida ser ligeramente distinta a
las obtenidas directamente mediante la funcin de transferencia.
y (k ) = 46.6667 (0.1) k + 4.9 + 41.76 0.283 k (cos(0.7854 k ) sen(0.7854 k ) )
A continuacin lo probaremos en MatLab siguiendo los pasos siguientes: (cc_009.m)
- Representacin de la Funcin de Transferencia
Podemos calcular

Y ( z)
y usamos step o despejamos Y(z) y usamos impulse
U ( z)

a. G = tf(,-1);
step()
b. Y = GU Si multiplicamos GU, la entrada sera un pulso, no un escaln.
No hay que olvidar que Y/U = G
impulse()
- Representacin de la Ecuacin en Diferencias mediante filter
filter()
u = ones(size(k))
- Representacin de la Ecuacin obtenida

- 41 -

Bavegoal

Temario de Control por Computador

Al observar las grficas vemos que el sistema es estable ya que tiende a valer 5,
aunque la salida es incorrecta ya que le estamos dando de referencia una seal escaln
de valor 1 y no 5. Este problema ocurre porque el sistema con el que estamos tratando
es en lazo abierto, ms adelante aprenderemos como realimentar al sistema para que
tienda al valor que queramos. Este error es conocido como Error de Estado
Estacionario.

Para calcular este error usaremos el teorema del valor final de la transformada Z
para no tener que calcular la frmula y(k), teniendo esta frmula podemos calcular el
valor cuando k tiende a infinito. Obtendramos:

lim y(k) = 4.9


k

El teorema del valor final lo tenemos al final de la tabla de transformadas, ah


vemos que nos dice que podemos calcular:

y() lim y (k ) = lim


k

z 1
Y ( z ) = lim (1 z 1 ) Y ( z )
z
z 1
z 1

Para demostrarlo lo calcularemos con el ejemplo anterior:


Y(z) = G(z) U(z)
Y(z) =

(z + 2)
z

(z3 - 0.5z2 + 0.12 z - 0.008) (z - 1)

y() = lim
z 1

z 1
1+ 2
z 1
z+2
Y ( z ) = lim
3
=
= 4.9020
2
z 1
z
z z 0.5 z + 0.12 z 0.008 1 0.5 + 0.12 0.008

- 42 -

Bavegoal

Temario de Control por Computador

Tema 2. Sistemas Muestreados


Introduccin

Cuando vimos el esquema de los sistemas de control, vimos que necesitbamos


conversores A/D y D/A, para poder tratar las seales analgicas en el PC debemos
digitalizarla, para ello, la muestrearemos, digitalizaremos y la introduciremos al PC.
Este control no puede ser instantneo, por ello, haremos una discretizacin.
Veremos el efecto que tiene el muestreo y la reconversin de la seal sobre el
sistema.
Usaremos los conceptos de:
-

Muestreo mediante Impulsos: Muestreo ideal

Reconstruccin mediante un mantenedor de orden 0

Reconstruccin mediante un mantenedor de orden 1 (no lo usaremos)

Transformada * (estrella)

A partir de estos conceptos veremos como aplicar la transformada Z

- 43 -

Bavegoal

Temario de Control por Computador

Muestreo Mediante Impulsos


Tenemos una seal que queremos muestrear tenemos que elegir un periodo de
muestreo (sncrono o asncrono) que nos dir cada cuanto vamos a medir la seal.

Para el anlisis usaremos el sncrono (constante), esto quiere decir que


muestrearemos la seal cada T segundos.
Suponemos que el muestreo es ideal, por eso lo llamamos mediante impulsos.
Tendremos un interruptor que recibe como entrada la seal a muestrear x(t), cerrar
cada T segundos y dar a su salida x*(t).

En realidad nunca podremos construir un sistema que de una salida exacta con una
seal impulsiva, sino que tendremos el valor de la seal durante un tiempo muy
pequeo, que ser el que tarde el interruptor en abrir y cerrar, este tiempo ser
infinitamente menor que la constante de tiempo del sistema, por ello supondremos que
es cero y por tanto la seal ser un impulso. Z<<<Zs Z = 0

- 44 -

Bavegoal

Temario de Control por Computador


En este caso x*(t) ser igual al tren de impulsos.

Por tanto ser igual a la suma de todos los impulsos; la amplitud de cada pulso ser
el valor de la seal en el instante muestreado por (t), con esto nos queda:
x*(t) = x(0) (t) + x(T) (t -T) + x(2T) (t 2T).
Resumiendo sera:

x (t ) = x(k T ) (t k T )

k =0

Si tenemos una secuencia de pulsos unitaria, seran una serie de impulsos unitarios y
al multiplicarlo por la seal obteniendo nos da:

(t ) = (t k T ) x * (t ) = x(t ) (t )
k =0

Esto se puede ver como una modulacin donde x*(t) es la seal muestreada, x(t) es
la Moduladora y (t) la portadora.

- 45 -

Bavegoal

Temario de Control por Computador


El muestreador solo tendr valores de la seal en los instantes de muestreo, el
problema sera que tuvisemos otra seal distinta pero con los mismos valores en los
instantes de muestreo. Esto implica que este sistema puede tener la misma salida para
distintas entradas, por tanto no puede tener funcin de transferencia, no es LTI,
tendremos que buscar un mtodo para poder aplicar la transformada. Para asegurarnos
de que la seal que est entrando es la deseada tendremos que aplicar el teorema del
muestreo para elegir el periodo de muestreo.

Comprobaremos esto mediante un ejercicio.


Ejercicio1. Representar en MatLab

seal:

la seal escaln, representar la siguiente

(1 + sen( t ))
y representar luego ambas con un periodo de muestreo de 1 s.
(t + 1) 2
1.5

1.4

1.3

1.2

y 1 (escalon)
y 2 (seno)

1.1

0.9

0.8

5
k

10

Se observa que en este caso las seales muestreadas son iguales, por eso el periodo de
muestreo no sera correcto.
- 46 -

Bavegoal

Temario de Control por Computador

Transformada de Laplace
Usaremos la transformada de Laplace
L{ (t )} = 1
L{x(t T )} = e Ts
Las propiedades de la transformada de Laplace sern las mismas que las de Z.
Aplicaremos la transformada de Laplace a la seal muestreada:
X * ( s ) = L{x * (t )} = L{x(0) (t )} + L{x(T ) (t T )} + L{x(2 T ) (t 2 T )} + ...

... + L{x(k T ) (t k T )}

Haremos la transformada de cada sumando.


X * ( s ) = x(0) 1 + x(T ) e Ts + x(2 T ) e 2 ks + ... + x(k T ) e kTs
Nota: L{ (t T )} = e Ts L{ (t )} = e Ts

Ponindolo en forma de sumatoria:

X * ( s ) = L{x * (t )} = x(k T ) e kTs


k =0

A esta expresin se le llama la Transformada Estrella de x(t)


Definicin de la Transformada Z

X ( z ) = x(k T ) z k
k =0

Si lo comparamos con la expresin de la Transformada Estrella vemos que son


idnticas, solo que en lugar de e tenemos z, si definimos
z = e kTs

Esto quiere decir que:

s=

Ln( z )
T

X ( z ) = X * ( s) s= ln( z )
T

Podemos calcular la transformada Z de una seal discreta en lugar de la


transformada de Laplace de una seal en tiempo continuo, ms difcil. De esta forma

- 47 -

Bavegoal

Temario de Control por Computador


cuando tengamos una seal en tiempo continuo, hallaremos la transformada X*(s) y
luego la pasaremos a transformada Z sustituyendo s por

Ln( z )
.
T

Tambin podramos resolver este problema mediante la integral de convolucin, y


aunque no la vamos a ver, s veremos algunas propiedades que nos pueden servir:

Nota: tengamos en cuenta que: s =

2
para las propiedades siguientes.
T

Propiedades de la Integral de Convolucin

x * (t ) = x(t ) (t k T )

X * (s) =

k =0

1
2 j

c + j

c j

X ( p)

1
1 e

T ( s p )

L{f(t)g(t)} = Integral de Convolucin


En la expresin de la integral, p es una expresin compleja, la resolucin se encuentra
en las pginas 84 a 87 del Ogata.

Algunas propiedades son:

Si integramos cogiendo un camino hacia la izquierda:


-

Si el denominador de la expresin X(s) es de mayor grado en s que el


numerador, podemos calcular la X*(s) de la siguiente forma:
X * (s) =

polos

X(s)z

residuo de z - e

Ts

en un polo de X(s)

Si el camino se integra por la derecha salen dos resultados:


-

Si el denominador de X(s) tiene 2 grados ms en s que el numerador:

1
X * (s) = X (s + j s k )
T k =
-

Si el denominador tiene un grado ms en s que el numerador:

1
1
X * ( s ) = X ( s + j s k ) + x (0 + )
2
T k =

- 48 -

Bavegoal

dp

Temario de Control por Computador

Propiedades de la Transformada Estrella:


1. X*(s) es peridica en s, con periodo js

X*(s) = X*(s+js)
Demostracin: Esto sale de la definicin de transformada estrella:

X * ( s ) = x(k T ) e kTs
k =0

Probaremos con s = s+js:

X * ( s + js ) = x(kT ) e
k =0

kT ( s + j s )

= x(kT ) e

kTs jkT s

k =0

k =0

= x(kT ) e kTs 1
k =0

Nota: e

jkT s

=e

jkT

2
T

= e jk 2 = (segn la formula de Euler ea+bj = cos(b) + j sen(a))

= cos(-2k) + j sen(0) = 1
Vemos que son iguales, por tanto la propiedad es cierta.
2. Si X(s) tiene un polo s1 en s X*(s) tiene polos en s1+ mjws para m =

0,1,2,3, es decir, tendr infinitos polos.

- 49 -

= x(kT ) e kTs e jkTs =

Bavegoal

Temario de Control por Computador

Teorema del Muestreo


Para que la seal original pueda ser reconstruida a partir de una seal muestreada, la
frecuencia de muestreo debe ser como mnimo el doble de la mayor de las frecuencias
de la seal original (de entrada).

s =

s 21

2
T

En la prctica esto no es suficiente, en la prctica se elige entre 10 y 20 veces


superior a la frecuencia ms alta de la seal de entrada. Esto se debe a que el proceso de
reconstruccin no es ideal debido a que los elementos empleados no son ideales.

201 s 101

Como saber la mxima frecuencia de la seal de entrada?

Si la entrada es conocida, sabremos esta frecuencia, en el caso de no controlar esta


entrada, en principio no tenemos por qu conocerla.

Lo que hacemos es suponer un periodo de muestreo y colocamos en la entrada de


nuestro sistema un filtro Paso Bajo a 1 aseguramos que a la entrada no habr ninguna
seal con una frecuencia mayor a esta.

Fijando 1 aseguraremos que la seal de entrada nunca tendr una frecuencia mayor
(procedentes de seales de ruidos), para poner este lmite se supone que el sistema es
conocido, de lo contrario nunca podramos saber que lmite de frecuencia poner.
- 50 -

Bavegoal

Temario de Control por Computador


Por qu el teorema del muestreo falla?

Supongamos una seal de entrada cualquiera con una frecuencia mxima limitada
1, tendr ganancia 0 en 1 tanto por la izquierda como por la derecha.

Si recordamos, la expresin de la transformada estrella:


X * (s) =

1
1
x(s + j s k) + x(0 + )
T k =
2

Si hacemos un estudio en frecuencia, sustituimos s por j quedando entonces:


X * (j ) =

1
T

x(j + j k)

k =

Al estar multiplicada por k indica que la seal es peridica con frecuencia ws, con
periodo

. Esto indica que si representamos el mdulo de la seal muestreada en

frecuencia, tendremos esta seal repetida cada periodo, con una ganancia

1
(ya que
T

multiplica a toda la seal).

Si 1 fuese exactamente s cada seal comenzara justo cuando terminara la


anterior, de esta manera, para frecuencias mayores no se solaparan, si la frecuencia
fuese menor, al solaparse, la ganancia no sera la de la seal de entrada.

- 51 -

Bavegoal

Temario de Control por Computador

El hecho de que la seal muestreada sea peridica presenta el inconveniente de


que si la seal de entrada contiene frecuencias altas, esta frecuencia se repetir tambin
en frecuencias bajas y esto afectar a la hora de reconstruir la seal. Este efecto se
conoce como Desdoblamiento o Aliasing.
La forma de reducir este efecto es, como se coment, colocar un filtro paso bajo
en la entrada. Nosotros no lo trataremos matemticamente, supondremos que este efecto
est controlado.

- 52 -

Bavegoal

Temario de Control por Computador

Mantenedores y Muestreadores de seal


Reconstruccin de la Seal Continua a partir de la Seal Muestreada
Queremos reconstruir la seal muestreada para volver a obtener la seal de
entrada.

Para ello, la primera de las condiciones ser cumplir el teorema del muestreo.
Luego, con un filtro de ganancia T y que quite la seal muestreada para frecuencias
mayores a

s
2

s
2

, tendramos la seal de entrada.

Este filtro se conoce como Mantenedor (Retenedor, Reconstructor) Ideal con


ganancia T.
A partir de las especificaciones en frecuencia, se podran obtener las
especificaciones en el tiempo realizando transformadas inversas de Fourier (no las
veremos).
La funcin Respuesta Impulsiva del Reconstructor Ideal se define como:

y(t) =

wst
)
2
wst
2

sen(

- 53 -

Bavegoal

Temario de Control por Computador


Si representamos esta salida en el dominio del tiempo veremos que el sistema
responde antes de que llegue la entrada. Esto es debido a que el reconstructor ideal es un
sistema NO CAUSAL, depende de las entradas futuras y esto no es fsicamente
realizable (no podemos adivinar el futuro).

Con este sistema el teorema del muestreo s nos servira, pero al ser no realizable
el teorema del muestreo no se cumple en la realidad y por esta razn nunca podremos
reconstruir una seal de entrada exactamente.

Mantenedores (Hold) Causales (Mantenedores de Orden N)


Necesitamos un sistema al que le llega una seal; mediante un muestreador
obtenemos la seal muestreada que entrar en un mantenedor que dar una salida h(t)
que debe ser lo ms parecida posible a la seal de entrada, este muestreador ser Ghn(s).

Nosotros veremos los de orden 0 y 1.


Si representamos la seal muestreada en el tiempo tendremos:

- 54 -

Bavegoal

Temario de Control por Computador


En funcin de cuantas seales anteriores tengamos ser el orden del mantenedor. En
el caso de tener uno de orden 0, lo nico que podemos hacer es trazar una lnea recta
hasta la siguiente muestra.

Si disponemos de la seal anterior (orden 1), trazaramos una lnea recta.

Aumentando el grado la salida se parecer ms a la entrada, el problema es que al


aumentar el orden se aumenta la complejidad, en la realidad se ve que de orden 0 a
orden 1 la mejora es poco significativa, por ello, en la gran mayora de casos se usa el
de orden 0 debido a su sencillez.
La ecuacin general de un mantenedor de orden n que ser la que cree los
trocitos de curva ser:
h(kT + ) = an n + an-1 n-1 + an-2 n-2 + a1 1 + a0
Vemos que entonces, las ecuaciones del mantenedor de orden 0 y 1 seran:
h(kT + ) = a0
h(kT + ) = a1 + a0
- 55 -

Bavegoal

Temario de Control por Computador


En los instantes exactos de muestreo, = 0, teniendo entonces que todos los
trminos de la ecuacin son 0 excepto el trmino independiente a0 que debera valer la
propia seal x(kT) quedando entonces la ecuacin: h(kT + ) = x(kT).
Para el caso de un mantenedor de orden 1: h(kT + ) = a1 + x(kT).

Circuito Muestreador + Mantenedor de orden 0 (Hold 0)

Sistemas Hbridos
El muestreador tiene una entrada en tiempo continuo y da como salida una seal
discreta y el retenedor es al revs, entrada discreta y salida continua

- 56 -

Bavegoal

Temario de Control por Computador

Retenedor de Orden 0 (Hold 0)


El sistema para una entrada muestreada devuelve una salida en tiempo continuo
manteniendo la seal de entrada constante hasta el siguiente instante de muestreo.
Veremos como hallar la funcin de transferencia del sistema. Para calcularla,
introducimos cualquier seal de entrada en el retenedor de Orden 0 y vemos la salida
producida, a ambas expresiones (entrada / salida) le calculamos su transferencia de
Laplace, por ltimo dividiremos la transformada de Laplace de la salida entre la
transformada de la entrada, dndonos como resultado la Funcin de Transferencia del
Retenedor de Orden 0.

G h0 (s) =

H(s)
X * (s)

En primer lugar aplicaremos una entrada al sistema, en nuestro caso, una seal impulso
porque es la ms simple.
La ecuacin del mantenedor de orden 0 era:
h(kT + ) = x(kT)

0T

cuando

Veremos como se comporta un mantenedor de orden 0 ante una seal de entrada


impulso en los instantes:
recordemos que era una entrada delta

k = 0:

h() = x(0) = 1;

k = 1:

h(T + ) = x(T) = 0;

k = 2:

h(2T + ) = x(2T) = 0;

Vemos que ya siempre nos quedara 0. Esto quiere decir que para la entrada impulso, la
salida del sistema sera 1 desde t = 0 hasta T y 0 el resto del tiempo.
Debemos representar h(t) como una sola ecuacin, mediante las ecuaciones anteriores la
tenemos definida a trozos. La ecuacin de h(t) sera:
h(t) = 1-1(t-T);

para

t0

- 57 -

Bavegoal

Temario de Control por Computador


Lo que tenemos es una seal que siempre vale 1 restada por una que vale 1 a partir
de t = T.

Ahora pasaremos a calcular la Transformada de Laplace de la seal de entrada y


salida. Para el caso de la seal de salida tenemos:
1 1
1 e -Ts
H(s) = L{h(t)} = L{1 - 1(t - T)} = e -Ts =
s s
s
Esta sera la funcin de salida del retenedor pero en el dominio de Laplace.
La transformada de la entrada sera:

L{x * (t)} = X * (s) = (x(kT)e -kTs ) = x(0)e 0 + x(T)e -Ts + = x(0) + 0 + 0 + = 1


k =0

Tenemos que la funcin de transferencia del sistema es:


H(s)
1 e -Ts
=
G h0 (s) =
X * (s)
s

Como vimos un muestreador no tiene funcin de transferencia ya que para distintas


entradas poda dar la misma salida, sin embargo, el sistema muestreador + retenedor
si posee funcin de transferencia, por ello, cada vez que tengamos un muestreador
tendremos que tener un retenedor para poder calcular la funcin de transferencia y
poder analizarlo.
Teniendo la funcin de transferencia del retenedor podemos aproximar la seal de
entrada x(t).
Veremos como se comporta en frecuencia el retenedor calculado anteriormente.
Para ello, sustituiremos s por j quedando entonces:

1 e -Tj
G h0 (j ) =
j

- 58 -

Bavegoal

Temario de Control por Computador


Si representamos esta funcin en frecuencia vemos que no se comporta como el
retenedor ideal.

La diferencia es que en frecuencia 0, s vale la seal pero en la frecuencia

s
2

vemos que no vale la ganancia que queramos tener T y para frecuencias mayores
tampoco vale lo que queremos 0, esto supondr que las distintas ganancias se irn
sumando y produciendo un error, por eso en la realidad se emplea una frecuencia entre
10 y 20 veces la s para alejar las ganancias lo ms posible de la seal original que
queremos obtener.
Si representamos el ngulo, vemos que el desfase va de -90 a -180 con respecto a la
seal original, cosa que no queramos.

Si tenemos un sistema que cambia lentamente, las seales de entrada tiene


frecuencias muy bajas, el filtro de orden 0 es muy parecido al ideal. En cambio para
seales de alta frecuencia debemos elegir un periodo de muestreo muy alto, para alejar
las ganancias que introducen ruido.

- 59 -

Bavegoal

Temario de Control por Computador

Retenedor de Orden 1 (Hold 1)


La intencin es calcular al igual que en el caso anterior la funcin de transferencia
de un retenedor de Orden 1.

La situacin es la misma que en el retenedor anterior, solo que en este caso la


ecuacin es la de una recta.
h(kT + ) = a1 + x( k ) =

x( k) x(( k 1) )
( k) + x( k)
T
0 <= < T

para

Nota: Para calcular a1 habra que coger 2 puntos y aplicar la ecuacin de la recta.

Con la ecuacin del mantenedor de orden 1:


h(kT + ) =

x( k) x(( k 1) )
( k) + x( k) veremos como se comporta ante
T

una seal de entrada escaln ( x(t) = 1 para t 0 ) en los instantes:


k = 0;

h( ) =

x(0) x()
1
+ x(0) = + 1
T
T

sabiendo que x(0) = 1 y x(-T) = 0


k = 1;

h(T + ) =

x(T ) x( 0 )
( T ) + x(T ) = 1 ;
T

en este caso da lo mismo que el anterior porque x(T) = 1 y x(0) = 1


k = 2,3,;

h(T + ) = 1

- 60 -

Bavegoal

Temario de Control por Computador


Representando la grfica vemos que para todos los periodos de muestreo la seal
vale 1, adems el retenedor ya no es un valor que se mantiene constante, es una recta
definida por dos puntos, el actual y el anterior de la muestra.

Observamos que en este caso, si hubisemos usado un hold 0 tendramos


exactamente la seal escaln, pero esto es solo un caso particular, en general, siempre
cuanto mayor orden tenga el retenedor, mas fiel ser la reproduccin de la seal de
entrada.
Ahora una vez definida la funcin a trozos, tenemos que representar la ecuacin en
el dominio del tiempo h(t):
h(t) =

1
t +1
T

Si solo ponemos esta ecuacin, la seal sera una rampa infinita en T, tenemos que
quitarle el pico, para ello, restamos la expresin 1(t-T) a la ecuacin anterior,
quedando:
h(t) =

1
t + 1 1 (t T)
T

- 61 -

Bavegoal

Temario de Control por Computador


Con esto quitaramos el pico, pero de T en adelante seguiramos teniendo una
rampa, para ello, le restamos exactamente la misma rampa pero de T en adelante,
restamos a la expresin anterior

1
(t - T) quedando entonces la expresin en el
T

dominio del tiempo:


h(t) =

1
1
t + 1 1 (t - T) ( t T)
T
T

Como tenemos h(t) vamos a calcular H(s):


1
1
H(s) = L{h(t)} = L{ t} + L{1} L{1 (t T)} L{ (t T)}
T
T

H(s) =

1
1 1
1
e -Ts
e -Ts
2
2
s s
Ts
Ts

Sumando todos los trminos tendremos:


(1 + T s T s e Ts e Ts ) 1 + T s e Ts (1 + Ts) (1 + T s)(1 e Ts )
H(s) =
=
=
T s2
T s2
T s2
Recordemos que G h1 (s) =

H(s)
, ya tenemos H(s) ahora calcularemos X*(s).
X * (s)

La seal de entrada es la seal escaln, teniendo en cuenta esto, la expresin nos queda:

X * (s) = x(kT) e -kTs = 1 + e -Ts + e -2Ts + e -3Ts


k =0

Vemos que en este caso la expresin obtenida no nos sirve, para pasarlo a una sola
expresin, podemos calcular el lim cuando tiende a infinito y ver en que converge, o a
travs de la tabla de transformadas aplicando el cambio s = Ln z / T, de donde se
obtiene que z = eTs
En la tabla vemos que:
x(t) = 1(t) x(z) =

1
1
X
*
(s)
=
X(z)
Ts =

z=e
1 e -Ts
1 z 1
- 62 -

Bavegoal

Temario de Control por Computador


Ahora que ya tenemos la transformada * de la entrada, podemos calcular la funcin de
transferencia del sistema.
G h1 (s) =

H(s)
(1 + T s)(1 e -Ts )
(1 + T s) (1 e -Ts ) 2 1 + T s (1 e -Ts ) 2
(1 e -Ts ) =
=

=
X * (s)
T s2
T
s
T s2

Con la funcin de transferencia, hacemos el cambio s = j y representamos la respuesta


del sistema en frecuencia para ver como se comportara respecto al mantenedor ideal.
G h1 (j ) =

1 + j T (1 e -jT ) 2

T
j

Vemos que es muy parecida al Hold 0, con la diferencia de los picos de resonancia
que posee cerca de la frecuencia 0. Esta es la razn por la que no se suele usar, es
demasiado complejo de construir para obtener una ganancia muy parecida al Hold 0.
Nota: En los ejercicios, la funcin de transferencia nos la dan.

- 63 -

Bavegoal

Temario de Control por Computador

Sistemas de Control

En los sistemas de control tenemos elementos que trabajan con seales continuas,
discretas y hbridos, por ello, para trabajar con este tipo de sistemas ser necesario
emplear una combinacin de todas las tcnicas vistas hasta el momento. Estas son:
-

Transformada de Laplace para tiempo continuo

Transformada Z para tiempo discreto.

Lo que haremos ser pasar todo a tiempo continuo o todo a

tiempo discreto

mediante la relacin vista anteriormente: s = Ln z / T z = eTs


Si la seal de entrada continua tiene un polo, la seal muestreada tendr infinitos
polos, por ello, si tratamos las cosas desde el punto de vista continuo, tendremos
muchos inconvenientes. Lo que haremos ser pasar todo a tiempo discreto para trabajar
slo con la transformada Z.
Si recordamos, la funcin de transferencia en Z, es la transformada Z de la salida
dividida por la transformada Z de la entrada, pero como vemos, la seal de salida es
continua y no podemos calcular la transformada. Lo que haremos es suponer que en la
salida tenemos un muestreador, ya que la salida slo nos interesa en los instantes de
muestreo, por tanto obtendremos la seal de salida muestreada con este muestreador
ficticio y luego haremos la transformada Z de la expresin. En el caso de la entrada,
poseemos la seal de error muestreada que depende de la entrada, por tanto es como si
estuviese muestreada y podemos calcular la transformada Z sin problemas.
A partir de aqu, veremos los distintos casos paso a paso para entenderlo todo mejor.

- 64 -

Bavegoal

Temario de Control por Computador

Funcin De Transferencia Pulso De Sistemas Muestreados


Funcin de transferencia Pulso: La relacin de la transformada Z de la salida en los
instantes de muestreo y la transformada Z de la entrada muestreada.

Sistemas en Lazo Abierto


(La salida no afecta a la entrada, no tiene realimentacin)
Sistemas Continuos
Ejemplo: Tenemos un muestreador y un sistema continuo. Para hallar la funcin de

transferencia pulso tenemos que hallar la transformada Z de la salida y de la entrada.


Las condiciones iniciales son 0. Como solo nos interesa la salida en los instantes de
muestreo, colocamos un muestreador ficticio para indicarlo.

Esto presenta el inconveniente de que no conoceremos la salida en los instantes de


muestreo. Podemos hacer esto porque el sistema no cambia.
Ahora si podemos calcular la transformada Z.
Calculamos las seales desde el punto de vista de Laplace:
x(t) = X(s),

x*(t) = X*(s),

y(t) = Y(s) ,

y*(t) = Y*(s).

Indicamos todas las relaciones entre las seales:


Y(s) = G(s)X*(s)
Y*(s) = [G(s)X*(s)]*
Nota: el * indica que la seal es muestreada, en este caso, la expresin entre corchetes.

Si tenemos un producto de una funcin de transferencia ordinaria por una funcin


estrella, todo ello muestreado es igual a la seal muestreada por la transformada estrella
de las ordinarias:
Ejemplo:

[G(s)X*(s)E*(s)H(s)]* = X*(s)E*(s)[G(s)H(s)]*

- 65 -

Bavegoal

Temario de Control por Computador


Esta propiedad se explica a continuacin, aunque no es necesario saber demostrarla:
Tenemos Y*(s) = [G(s)X*(s)]*
Y * (s) =

1
Y (s + j s k )
T k =

luego sustituyendo en la frmula


1
G (s + j s k ) X * (s + j s k ) ; una de las propiedades de la transformada *
T k =
era que era peridica en s+jsk con s =

2
T

Sustituyendo esto en la ecuacin tendremos:


Y * (s) =

1
G (s + j s k ) X * (s )
T k =

como X*(s) ya no depende de k, se puede sacar fuera como constante quedando:

1
Y * ( s ) = X * (s ) G (s + j s k )

T k =
comparando la expresin entre llaves con la propiedad expuesta anteriormente vemos
que es igual a G*(s) quedando entonces:
Y*(s) = X*(s)G*(s)

Entonces tendremos que:


Y*(s) = X*(s)[G(s)]* = X*(s)G*(s)
Pasamos de transformada * a transformada Z haciendo el cambio de variable:
Y(z) = X(z)G(z) obtenemos la funcin de transferencia como: G ( z ) =

- 66 -

Y ( z)
X ( z)

Bavegoal

Temario de Control por Computador


Una de las cosas que tenamos en el ejemplo anterior era que partamos de una funcin
de transferencia en s y obtenamos una en z, este cambio lo logramos a partir de la
transformada estrella y al hacer el cambio de variable s =

Ln z
, este cambio hay cuatro
T

formas de hacerlo:

1. Aplicar la definicin de transformada * y hacer el cambio de variable s =

Ln z
.
T

Habra que estudiar la convergencia del sumatorio y sacar una expresin en


forma de polinomio (muy difcil)

2. G * (s) =

residuo de

polos

G(s) z

en un polo de G(s) , esta forma apareca de la


Ts
z-e

convolucin. Esto requiere multiplicar G(s) por la expresin, sacar los residuos y
los polos (es mas factible que la anterior pero no aprovecha las tablas.
Tampoco vamos a usarlo. Un ejemplo se encuentra en Ogata pags 85 y 86)

3. Teniendo la funcin G(s) en el domino de Laplace, podemos pasarla al dominio


del tiempo g(t) mediante la transformada inversa, y luego mediante un muestreo
intermedio obtener la transformada Z. Hacer L-1{G(s)} y Z{g(t)} G(z). Es
demasiado complejo y adems no usa las tablas directamente, las usa en pasos
intermedios para calculas las transformadas, pero implica tener que calcular
residuos, polos
4. En las tablas tenemos la equivalencia entre Laplace y Z. Lo que haremos ser
dividir G(s) en fracciones simples y usando la equivalencia s z de las tablas
sacaremos G(z) directamente. Esta ser la tcnica que usaremos

- 67 -

Bavegoal

Temario de Control por Computador


Haremos el ejemplo de Ogata pero usando esta ltima tcnica para poder compararlas.
Ejemplo 1. G ( s ) =

1
G(z)?
( s ( s + 1))
2

Dividiremos G(s) en funciones parciales, a diferencia de la transformada Z, en la que


calculbamos las fracciones simples de

Y ( z)
, en s calculamos directamente los
z

residuos de G(s).
G ( s) =

A
B C
1
=
+ 2 +
s
( s ( s + 1)) ( s + 1) s
2

A=

1
1
( s + 1)
=
=1
s (s + 1)
(1) 2
s = 1

B=

1
1
s2
=1
(1 1)! s =0
s (s + 1)

C=

1
1

= 1 ( s + 1) 2 1 1 = 1
s =0
s (s + 1) (2 1)! s =0

Sustituyendo las letras por sus respectivos valores tendremos la divisin en fracciones
simples:
G ( s) =

1
1 1
+ 2
s
( s + 1) s

Ahora mirando en las tablas obtenemos las transformadas directamente:


1
1
1
G(s) = Z
+ Z 2 Z
s
s
s + 1
1
1
Z
fila 4
T
(1 e z 1 )
s + 1
T z 1
1
Z 2 fila 5
(1 z 1 ) 2
s
1
1
Z fila 3
(1 z 1 )
s
Ya tenemos la expresin de G(z):
G ( z )=

1
(1 e T z 1 )

T z 1
1

1 2
(1 z )
(1 z 1 )

- 68 -

Bavegoal

Temario de Control por Computador


No nos conviene tenerlo como suma de polinomios, por ello, realizamos la suma:
(1 - z -1 ) 2 + T z -1 (1 e T z -1 ) (1 e T z -1 ) (1 z -1 )
G(z)=
(1 - z -1 ) 2 (1 - e T z -1 )
G(z)=

(1 + z -2 2 z 1 ) + T z -1 T e -T z -2 1 + z -1 + e -T z -1 e -T z -2
1 + z -2 2 z -1 e -T z -1 e -T z -3 + 2 e -T z -2

Simplificamos el numerador y agrupamos los trminos por coeficiente de la z:


z -2 (1 T e T e T ) + z 1 (1 + T + e T )
G(z)= -T -3
e z + z -2 (1 + 2 e T ) z -1 (2 + e T ) + 1

Pasamos a exponente positivo:


G(z)=

z (1 T e T e T ) + z 2 (1 + T + e T )
e -T + z (1 + 2 e T ) z 2 (2 + e T ) + z 3

Para comprobar que esto es correcto, lo representaremos en MatLab. Para ello, le


aplicamos un impulso a G(s) y luego a G(z) y veremos que sale lo mismo, debemos
representarlo para un periodo de muestreo T = 1;

- 69 -

(cc_011.m)

Bavegoal

Temario de Control por Computador

Funcin de Transferencia pulso de sistemas con trminos:

e nTs

(n= 0, 1, 2, 3)

Recordemos que en las funciones de transferencia de los mantenedores de orden 0 y 1


tenemos este tipo de trminos.
Imaginemos un sistema de este estilo:
G(s) = H(s)F*(s)
F * ( s ) = f 0 + f 1 e Ts + f 2 e 2Ts ... ; con f1, f2 constantes.
G*(s) = [H(s)F*(s)]* = F*(s)H*(s) pasando a Z G(z) = F(z)H(z);
Como sabemos la forma que tienen la funcin F, podemos calcular F(z) como:

F ( z ) = F * ( s ) s = LnZ z =eTs = f 0 z 1 + f1 z 2 + f 2 z 3 ...


T

Si tenemos un trmino e nTs al hacer la conversin podemos sustituirlo por z-n.


En general descomponemos G(s) en dos partes, una la correspondiente a F*(s), en la que
aplicamos la transformacin descrita y la otra la correspondiente a H(s) que se resuelve
mediante los mtodos estudiados.

Si tenemos Gh0 ( s ) G ( s ) =
otro = (1 e Ts )

(1 e Ts )
G ( s ) = agrupando las e por un lado y el resto por
s

G(s)
; el primer trmino sera F*(s) y el otro H(s) luego:
s

G(s)
Z {Gh0 G ( s )} = (1 z 1 ) Z

s
en este caso en el primer trmino hemos aplicado la transformacin directa, el segundo
habra que calcularlo.

- 70 -

Bavegoal

Temario de Control por Computador


Comandos MatLab para trabajar con funciones discretas y continuas:
>>Gz = c2d(Gs,T,metodo)

pasa un sistema de tiempo continuo a tiempo discreto

>>Gs = d2c(Gz,metodo) realiza la operacin inversa a la anterior

Nota: mtodo es uno de los siguientes:

zoh(mantenedor de orden 0),


foh (mantenedor de orden 1)

>>Gz2 = d2d(Gz1, T)

muestrea un sistema discreto con otro tiempo de muestreo

distinto.

Definir funcin de transferencia en tiempo continuo es igual que en discreto pero sin
indicar el periodo de muestreo. Para introducir un retardo usamos los siguientes
parmetros en la funcin que genera la funcin de transferencia del sistema:
inputdelay,Tr
outputdelay,Tr
variable,z^-1 puede pasar las z de exponente positivo a negativo y viceversa
Donde Tr es el retardo;

>>Set(G)

una vez definida G, aparecen los valores que podemos cambiarle

- 71 -

Bavegoal

Temario de Control por Computador


El siguiente ejemplo lo haremos a mano y en MatLab.
Ejemplo 1. Obtener la Funcin de transferencia pulso del siguiente sistema y calcular

su salida para una entrada escaln:

Pasos a seguir:
1.- Colocamos el muestreador ficticio en la salida para poder calcular la funcin de

transferencia en los instantes de muestreo que son los que nos interesan.
2.- Ponemos las seales en el domino de Laplace para que nos sea ms fcil
3.- Llamaremos G1(s) al producto del Hold 0 y la planta:
4.- Calculamos la salida:

Solucin:

C(s) = E*(s)G1(s)
Lo que nos interesa es la salida muestreada, por tanto obtenemos:
C*(s) = [E*(s)G1(s)]*
que segn la propiedad vista
E*(s)[G1(s)]* = E*(s)G*(s)
quedando entonces la funcin de transferencia (salida partida por entrada) como:
G1 * ( s ) =

C * ( s)
E * ( s)

Ahora que ya tenemos todo como transformada *, podemos pasar a transformada Z:


G1( z ) =

C ( z)
E( z)

- 72 -

Bavegoal

Temario de Control por Computador


La transformada Z de G1(s) sera entonces:
(1 e Ts )
1
G1( z ) = Z {G1( s )} = Z

s
( s + 1)

esto no sera la transformada de cada factor, sino la transformada del producto, si


tuvisemos un muestreador entre las dos funciones, s sera la transformada de cada
factor.
(1 e Ts )
1
G1( z ) = Z

s
( s + 1)

segn la propiedad vista antes, si llamamos F*(s) = (1 e-Ts) y H ( s ) =

1
;
s ( s + 1)

realizando el cambio obtenemos:

1
G1( z ) = (1 z 1 ) Z

s ( s + 1)
Para resolver la transformada que nos queda, dividimos en fracciones simples:
1
A
B
= +
s ( s + 1) s ( s + 1)

A=

1
s
=1
s ( s + 1) s =0

B=

1
( s + 1)
= 1
s ( s + 1)
s = 1

Una vez resuelto esto, tenemos que:

1
1
1
Z
= Z
; sustituyendo en la ecuacin:
s ( s + 1)
s ( s + 1)

1
1
z
z
1
G1( z ) = (1 z 1 ) Z Z

= (1 z )
T
z 1 z e
( s + 1)
s

- 73 -

Bavegoal

Temario de Control por Computador


Pasamos todos los exponentes a positivos o a negativos, los pasaremos a positivo en
este caso:
G1( z ) =

z 1 z
z

z z 1 z e T

realizando el producto:
G1( z ) = 1

( z 1) z
( z 1)
= 1
T
(z e ) z
( z e T )

realizando la suma:
G1( z ) =

z e T ( z 1) (1 e T )
=
( z e T )
( z e T )

Con esto hemos obtenido la funcin de transferencia pulso del sistema


Ahora calcularemos la salida para una entrada escaln discreta:
G1( z ) =

C ( z)
E( z)

queremos calcular la salida


C(z) = G1(z)E(z)
si tenemos una entrada escaln, mirando las tablas, E ( z ) =

z
, realizando el
( z 1)

producto obtenemos la salida:


C ( z) =

z
1 e T

( z 1) z e T

nos piden la seal de salida en el dominio del tiempo, que se obtiene como la
transformada Z-1 de la salida en Z, es decir:
c(kT) = Z-1{C( z)}.

- 74 -

Bavegoal

Temario de Control por Computador


Para calcular la Z-1 dividimos por z y calculamos las fracciones simples:
C ( z)
(1 e T )
A
B
=
+
=
T
z
( z 1) ( z e ) ( z 1) ( z e T )

(1 e T )
A=
( z 1) = 1
( z 1) ( z e T )
z =1
(1 e T )
B=
( z e T )
= 1
T
( z 1) ( z e )
T
z =e
Ahora pasamos la z multiplicando y obtenemos:

C ( z) =

z
z

( z 1) ( z e T )

la primera expresin es la transformada z de la seal escaln y la segunda la


encontramos en las tablas;
Calculando la Z-1 de las expresiones anteriores obtenemos la salida continua;
c(kT ) = 1 e kT

Para calcularlo en MatLab podemos hacer 3 cosas:

(cc_012.m)

1.- Definimos el sistema en tiempo continuo G(s) c2d G1(z) step(G1)


2.- Definir directamente el sistema en tiempo discreto con la expresin calculada y

lo simulamos.
3.- Definir la salida calculada c = 1 e-kT stem(k*T,c), definiendo k previamente.

Lo haremos con tres periodos de muestreo distintos T = 1; T = 2; T = 0.06;


Nota: El periodo de muestreo tiene que ser entre 10 y 20 veces ms grande que la

constante de tiempo ms lenta del sistema.

- 75 -

Bavegoal

Temario de Control por Computador

T = 1 (Periodo de Muestreo justo)

T = 2 (Periodo de Muestreo malo)

T = 0.06 (Periodo de Muestreo bueno)

- 76 -

Bavegoal

Temario de Control por Computador

Constantes de tiempo de sistemas continuos

k0

; = cte de tiempo
< Ts <
( s + 1)
10
20

1er orden: G ( s )=

2 orden: G ( s ) =

amortiguada
Todo esto con =

k0 n
s + 2 n s + n
2

; n = frecuencia natural no

Ts
5 n
10 n

2
T

Demostraremos que la transformada Z de un producto no es lo mismo que el


producto de la transformada Z de los factores. Lo veremos con un ejemplo.
Ambos sistemas son iguales pero en el sistema primero tenemos un muestreador
entre el hold y la planta, mientras que el segundo no.
Calcularemos la funcin de transferencia pulso de ambos sistemas y las
compararemos. Una vez definida la
calcularemos dado: G (s ) =

expresin de la Funcin de Transferencia la

1
1
y H (s ) =
s+a
s+b

Sistema 1:

No ponemos el muestreador ficticio porque la salida ya est muestreada. Calcularemos


las ecuaciones:
1. U(s) = G(s)X*(s)
2. Y(s) = H(s)U*(s)

- 77 -

Bavegoal

Temario de Control por Computador


A partir de U obtenemos U*:
U*(s) = [G(s)X*(s)]* = G*(s)X*(s)
Sustituimos U*(s) en la ecuacin 2:
Y(s) = H(s) G*(s)X*(s)
Nos falta la salida muestreada para poder calcular salida partido por entrada:
Y*(s) = [H(s) G*(s)X*(s)]* = H*(s) G*(s)X*(s)
como ya tenemos todo en transformada estrella, podemos pasar al domino de Z
haciendo el cambio de variable:
Y(z) = H(z)G(z)X(z)
poniendo salida partido por entrada obtenemos la funcin de transferencia:
Y ( z)
= H ( z) G( z)
X ( z)
Calculamos el valor de la Funcin de Transferencia dado:
G ( s) =

1
(s + a)

H ( s) =

1
( s + b)

donde:
G(z) = Z{G(s)}
descomponemos en funciones simples y usamos las tablas, o usamos MatLab.
H(z) = Z{H(s)}
1 1
Y ( z)
= Z
Z
mirando en las tablas obtenemos
X ( z)
( s + a ) ( s + b)
1
z
1
Z
pasando a exponente positivo
=
a T
1
z )
( z e aT )
( s + a) (1 e
1
z
Z
=
bT
( s + b) ( z e )

Y (z )
z2
(
)
(
)
=G z H z =
X (z )
(z e aT ) (z e bT )

- 78 -

Bavegoal

Temario de Control por Computador


Sistema 2:

Calculamos las ecuaciones:


1. U(s) = G(s)X*(s)
2. Y(s) = H(s)U(s)
Sustituyendo 1 en 2
Y(s) = H(s)G(s)X*(s)
necesitamos la seal de salida en los instantes de muestreo, la calculamos:
Y*(s) = [H(s)G(s)X*(s)]* = [H(s)G(s)]*X*(s)
esta ecuacin no es igual que la anterior, ya que aqu tenemos la transformada estrella
de un producto, por lo que al pasarlo a transformada Z NO se divide en dos
transformadas sino que se hace la transformada del producto
Y(z) = X(z)Z{G(s)H(s)}
Nota: Z{G(s)H(s)} se suele notar como GH(z) para referirnos a la transformada Z

del producto de G por H.

Luego la Funcin de Transferencia ser:


Y ( z)
= GH ( z )
X ( z)

En este caso, para hallar GH(z) tenemos que realizar la multiplicacin, luego
descomponer el producto en fracciones simples y despus calcular la transformada del
producto.

- 79 -

Bavegoal

Temario de Control por Computador


Pasaremos ahora a calcular el valor de la Funcin de Transferencia dado:
G ( s) =

1
(s + a)

H ( s) =

1
( s + b)

En este caso, primero haremos el producto de G(s) y H(s):


G ( s) H ( s) =

1
( s + a ) ( s + b)

con lo que la transformada ser

1
Z

( s + a ) ( s + b)
como no aparece en las tablas lo descomponemos en fracciones simples:
1
A
B
=
+
( s + a ) ( s + b) ( s + a ) ( s + b)
Calculamos A y B:
A=

1
1
1
( s + a)
=
=
a +b a b
( s + a ) ( s + b)
s = a

B=

1
1
1
( s + b)
=
=
( s + a ) ( s + b)
b+ a a b
s =b

Nos queda entonces sustituyendo:

1
B
1
1
Z
+
+
= Z
= Z

( s + a ) ( s + b)
( s + a ) ( s + b)
(a b)( s + a) (a b)( s + b)
sacando factor comn
1
1
1
Z

( a b) ( s + b) ( s + a )
tenemos que la transformada Z de una suma SI es la transformada Z de los sumandos
1
1
1
Z
Z

+
( a b) ( s + b)
(
s
a
)

mirando en las tablas vemos que las transformadas son directas


1
z
z

bT
aT
( a b) z e
ze

- 80 -

Bavegoal

Temario de Control por Computador


realizamos la resta para dejarlo en forma de funcin de transferencia:
z 2 z e aT z 2 + z e bT
1

(a b) ( z e bT ) ( z e aT )

sacando factor comn obtenemos:


Y ( z)
1 z (e bT e aT )

X ( z ) a b ( z e bT ) ( z e aT )

Vemos que las funciones de transferencia son totalmente distintas, para


comprobarlo, ejecutaremos en MatLab (cc_013.m) ambos sistemas para una entrada
escaln o impulso con los siguientes parmetros:
T = 0.05

a =1

a=2

Como tenemos ambas funciones de transferencia en forma de productos usaremos zpk


en lugar de tf para crear las funciones de transferencia.
Representaremos ambas transformadas tanto para una entrada escaln como para una
entrada impulso.

- 81 -

Bavegoal

Temario de Control por Computador


Sistemas con un Controlador Digital

El controlador digital es el elemento que realiza el algoritmo de control, es un


dispositivo al que le entra una seal discreta y del que sale una seal tambin discreta.
En cada instante de muestreo recibir una entrada y calcular la salida para ese mismo
instante de muestreo. Su funcin de transferencia ser:

U * ( s)
= C * ( s)
E * ( s)

pasamos a Z

C ( z) =

U ( z)
E( z)

Lo que haremos ser disear esta funcin de transferencia una vez conocida la
dinmica del sistema. Veremos como influye este nuevo elemento en un sistema que
tenga todos los elementos estudiados hasta el momento. Calcularemos su funcin de
transferencia pulso.

La seal discreta m*(t) tenemos que pasarla a continua antes de introducirla en la


planta, ya que si introducimos una seal de muy alta frecuencia directamente en la
planta afectara a partes de la planta que no estn modeladas, adems no podramos
filtrar porque el ruido est en altas frecuencias. A parte de todo, nunca podramos tener
un muestreador sin un retenedor ya que por s solo no tiene funcin de transferencia.
La funcin de transferencia pulso del sistema sera:
1. M*(s) = C*(s)E*(s)
2. U(s) = Gh0(s)M*(s)
3. Y(s) = U(s)G(s)
Mediante las ecuaciones 1 y 2 obtenemos
U(s) = Gh0(s)C*(s)E*(s)

- 82 -

Bavegoal

Temario de Control por Computador


Con esta ecuacin y 3 obtenemos
Y(s) = G(s)Gh0(s)C*(s)E*(s)
Tenemos la salida en continua, colocamos el muestreador ficticio y obtenemos la salida
muestreada:
Y*(s) = [G(s)Gh0(s)C*(s)E*(s)]* = [G(s)Gh0(s)]*C*(s)E*(s)

pasando a transformada Z
Y(z) = C(z)E(z)GGh0(z)

Y ( z)
= C ( z ) GGh0 ( z )
E( z)

Nota: Notar que siempre tendremos la expresin del retenedor por la planta, ya que lo

necesitamos antes de sta. Como siempre tendremos un retenedor de orden 0 o de orden


1 tendremos:
(1 e T s )
Gh0 ( s ) =
s
al multiplicar por la planta tendremos

1 e T s
Z
G ( s)

usando la transformacin eTs = z obtenemos


G ( s)
G ( s)

1
Z (1 e T s )

= (1 z ) Z
s
s

de manera que solo tendramos que hacer la transformada Z de la planta partida por s

- 83 -

Bavegoal

Temario de Control por Computador

Sistemas en Lazo Cerrado

Aunque los sistemas vistos hasta ahora son en lazo abierto, en realidad nunca
tendremos un sistema de este tipo, sern de lazo cerrado. En este caso, la salida afectar
a la entrada del sistema, tendremos una seal de error que ser la diferencia entre la
seal de salida y la seal referencia que queremos.
La realimentacin es necesaria porque los sistemas no son perfectos, son
aproximaciones que contienen errores, y por tanto la planta tendr errores que si no
realimentamos podra acumularse hasta llegar a ser peligroso. Con la realimentacin
conseguimos que la salida sea exactamente la que queremos para una entrada o con un
error muy pequeo que conoceremos.
Lo ms importante que nos proporciona la realimentacin es la Estabilidad (siempre
hablamos de realimentacin negativa, el error va siendo cada vez menor.).
Tambin nos va a permitir reducir la sensibilidad. Si en uno de los componentes
tenemos un pequeo fallo cmo afectara al sistema?, si no tenemos realimentacin el
fallo se propaga por todo el sistema, con la realimentacin atenuamos este error, por
ejemplo si la planta fuese un motor, se ira desgastando y dando lugar a un pequeo
error.
Veremos la funcin de transferencia Pulso de algunos sistemas tpicos (Fotocopia).
En cada uno de ellos, obtendremos las ecuaciones e intentaremos obtener C*(s), una vez
obtenido lo pasamos a Z y dividimos salida / entrada (C(z) / R(z)) para obtener la
funcin de transferencia.
En los dos ltimos sistemas de la fotocopia tenemos una peculiaridad, esto sucede
porque no tenemos un muestreador en la entrada de G(s) y por tanto no nos queda R(z)
sola y por tanto no podemos poner salida / entrada, ya que nos queda G1R(z) y GR(z)
respectivamente. Por tanto no tendramos la funcin de transferencia pulso y no
podremos realizar los anlisis que se explicarn en prximos temas. Como los sistemas
los disearemos nosotros, nunca se dar esta situacin, casi siempre usaremos uno de
los dos primeros, principalmente el primero.

- 84 -

Bavegoal

Temario de Control por Computador


Evaluaremos tres sistemas en lazo cerrado:
Sistema 1:

G ( s ) = Gh0 ( s ) G1 ( s )
1.- E ( s ) = R( s ) B( s )
2.- C ( s ) = G ( s ) E * ( s )
3.- B ( s ) = C ( s ) H ( s )
De las ecuaciones 1 y 3 obtenemos:
E ( s) = R( s) C ( s) H ( s)
Como queremos obtener C*(s) muestreamos esta frmula:
E * ( s ) = [R ( s ) C ( s ) H ( s )]* = R * ( s ) [C ( s ) H ( s )]*

Al no poder obtener C*(s) ya que tenemos un producto muestreado, hay que seguir
operando, para ello, sustituiremos C(s) por su valor de la frmula 2:
E * ( s ) = R * ( s ) [G ( s ) E * ( s ) H ( s )]* = R * ( s ) E * ( s ) [G ( s ) H ( s )]*

Despejamos E*(s) y sustituimos en la frmula 2 muestreada para poder obtener C*(s):


E * (s) =

R * (s)
1 + [G ( s ) H ( s )]*

la frmula 2 muestreada sera igual a: C * ( s ) = G * ( s ) E * ( s ) sustituyendo la


expresin anterior en esta frmula obtenemos C*(s) y podremos sustituir directamente
por C(z):
C * ( s) =

G * ( s) R * ( s)
1 + [G ( s ) H ( s )]*

- 85 -

Bavegoal

Temario de Control por Computador


como todos los trminos estn en forma de transformada *, podemos realizar la
conversin directa a Z y dividiendo salida entre entrada obtener la Funcin de
transferencia Pulso del sistema:
C ( z) =

G ( z ) R( z )
1 + GH ( z )

G LC ( z ) =

C ( z)
G( z)
=
R( z ) 1 + GH ( z )

Recordar que GH(z) se refiere a la transformada Z del producto de la funcin G por la


funcin H. GLC se refiere a la funcin de transferencia en Lazo Cerrado del sistema.
Sistema 2:

1.- E ( s ) = R( s ) B( s )
2.- C ( s ) = E * ( s ) G ( s )
3.- B ( s ) = C * ( s ) H ( s )
De las ecuaciones 1 y 3 obtenemos:
E ( s) = R( s) C * ( s) H ( s)
Como queremos obtener C*(s) muestreamos esta frmula:
E * ( s ) = [R( s ) C * ( s ) H ( s )]* = R * ( s ) C * ( s ) H * ( s )

Como hemos conseguido obtener C*(s), sustituimos E*(s) en la formula 2:


C ( s ) = G ( s ) (R * ( s ) C * ( s ) H * ( s ) )

Realizamos el producto por G(s) y muestreamos la frmula ya que en el trmino de la


izquierda tenemos todava C(s):

C ( s) = G ( s) R * ( s) G ( s) C * ( s) H ( s)

C * ( s) = G * ( s) R * ( s) G * ( s) C * ( s) H * ( s)

- 86 -

Bavegoal

Temario de Control por Computador


Despejamos C*(s) y como tenemos todo en forma de transformada * pasamos a
transformada Z directamente para obtener la Funcin de Transferencia (F.T. de aqu en
adelante)
C * ( s) =

G * (s) R * (s)
G ( z ) R( z )
Z
C ( z) =

1 + G * ( s) H * ( s)
1 + G( z) H ( z)

G LC ( z ) =

C ( z)
G( z)
=
R( z ) 1 + G( z ) H ( z )

Sistema 3:

En este caso G2(s) podra ser la planta con su retenedor y G1(s) un controlador analgico
para que si falla el computador el sistema siga funcionando.
1.- E ( s ) = R( s ) B( s )
2.- B ( s ) = H ( s ) C ( s )
3.- U ( s ) = E * ( s ) G1 ( s )
4.- C ( s ) = U * ( s ) G2 ( s )
De las ecuaciones 1 y 2 obtenemos:

E ( s) = R( s ) H ( s) C ( s)
Muestreamos ahora las ecuaciones 3 y 4:
U * ( s ) = [E * ( s ) G1 ( s )]* = E * ( s ) G1 * ( s )
C * ( s ) = [U * ( s ) G2 ( s )]* = U * ( s ) G2 * ( s )

De estas dos ecuaciones, sustituyendo U*(s) por su valor obtenemos la siguiente


ecuacin:
5.- C * ( s ) = E * ( s ) G1 * ( s ) G2 * ( s )

- 87 -

Bavegoal

Temario de Control por Computador


Como queremos obtener C*(s) muestreamos tambin la frmula obtenida de 1 y 2
E * ( s ) = [R( s ) H ( s ) C ( s )]* = R * ( s ) [H ( s ) C ( s )]*

OJO!: Al tener un muestreo del producto de H(s)C(s) no podemos obtener C*(s) y

sustituir la frmula 4 muestreada, en su lugar, sustituiremos la frmula 4 pero sin


muestrear.
E * ( s ) = R * ( s ) [H ( s ) U * ( s ) G2 ( s )]* = R * ( s ) U * ( s ) [H ( s ) G2 ( s )]*

Sustituimos U*(s) y despejamos E*(s):


E * ( s ) = R * ( s ) E * ( s ) G1 * ( s ) [H ( s ) G2 ( s )]*

E * ( s) =

R * ( s)
1 + G1 * ( s ) [H ( s ) G2 ( s )]*

Ahora sustituimos E*(s) en la ecuacin de C*(s) (5) y pasamos a Z directamente para


calcular la F.T.:
C * ( s) =

R * ( s ) G1 * ( s ) G2 * ( s )
1 + G1 * ( s ) [H ( s ) G2 ( s )]*

C ( z) =

R( z ) G1 ( z ) G2 ( z )
1 + G1 ( z ) HG2 ( z )

La F.T. Pulso del sistema ser entonces:

G LC ( z ) =

G1 ( z ) G2 ( z )
C ( z)
=
R( z ) 1 + G1 ( z ) HG2 ( z )

- 88 -

Bavegoal

Temario de Control por Computador


Haremos una simulacin en MatLab (cc_014.m) con los dos primeros sistemas para
ver las ventajas de la realimentacin con los siguientes valores:
G1 ( s ) =

1
s ( s + 1)

G ( s ) = Gh0 ( s ) G1 ( s )

Trasformada de Laplace (Seal Continua)

- 89 -

Bavegoal

Temario de Control por Computador


Sistema en Lazo Abierto

H (s) = 1
o Sistema 1:

o Sistema 2:

- 90 -

Bavegoal

Temario de Control por Computador

Sistema en Lazo Cerrado

H (s) =

10 s + 1
s + 10

o Sistema 1:

o Sistema 2:

Vemos que al representar la seal sin realimentacin el sistema es inestable,


nunca converge ya que al no tener realimentacin el error se va acumulando
constantemente.

- 91 -

Bavegoal

Temario de Control por Computador

Transformada Z Modificada (o Retardada)


Si tenemos un sistema hbrido y queremos estudiarlo mediante la transformada Z, lo
primero que debemos hacer es obtener la salida muestreada, aunque sea un muestreador
ficticio.

Al ser el muestreador ficticio implica que no tenemos informacin sobre la salida real
que es continua, si queremos conocerla tenemos dos posibilidades:
1. Estudiar el sistema mediante Laplace, que presentaba el problema de la seal
muestreada que tena infinitos polos, sala una seal peridica
2. Usar la transformada Z Modificada: no es ms que aadir al sistema adems
de un muestreador ficticio, un retardo de tiempo ficticio antes del
muestreador. Si hacemos que el retardo vaya de 0 a T podemos conocer la
salida en todo este intervalo.
Nosotros trabajaremos con la segunda posibilidad construyendo un sistema igual a:

Obteniendo la siguiente respuesta:

Si vamos modificando el valor de retardo de 0 a T obtenemos la seal en todo su


dominio.

- 92 -

Bavegoal

Temario de Control por Computador


Con la transformada Z modificada se trabaja exactamente igual que con la
transformada Z solo que en este caso tendremos un retardo

e t 0 s ,

en las tablas

miraremos la columna que corresponde a E ( z , m) = Z mod {E ( s ), m} Z m {E ( s ), m}


Indicar que m es un parmetro que va a ir siempre de 0 a 1 0 m 1
El retardo de tiempo lo definiremos como

e (1 m )T ,

si en esta expresin,

movemos m de 0 a 1 tenemos que:

m = 0 e-T retardo igual al periodo de muestreo

m = 1 e0 = 1 ser la propia seal en el instante de muestreo (retardo


igual a 0).

Una de las utilidades de esta transformada es para la simulacin, lo probaremos con


un ejemplo, la otra de las utilidades ser a la hora de estudiar sistemas que tienen un
retardo no ficticio y que no podemos controlar, lo veremos ms adelante.

- 93 -

Bavegoal

Temario de Control por Computador


Ejemplo 1: Uso de la Transformada Z Modificada

Tenemos:

(cc_015.m)

1
(1 e T s )
G(s) =
; Gh0 ( s ) =
y una entrada escaln.
( s + 1)
s

Usando Zmod simularemos:


y(t)

con

m = 0:0.1:1

T = 0.01;

Tambin usaremos la parte continua de MatLab para comparar ambas salidas.


MatLab no tiene implementada la transformada Z modificada, pero esto no
supondr un problema ya que solo es aadir un retardo a la parte continua del sistema.
Lo que haremos ser aadir este retardo a la parte continua y luego calcularemos la
transformada Z del resultado.

- 94 -

Bavegoal

Temario de Control por Computador


En algunos sistemas reales, existe un retardo que hay que tener en cuenta, ejemplo,
electro vlvula que deja pasar agua, el caudal de agua no aumenta o disminuye
instantneamente, tiene un retardo de transporte que si no se controla har que el
sistema sea inestable.
En un sistema real, m no tiene por qu ir de 0 a 1, por eso tenemos que realizar
una determinada operacin para llevarlo a ese rango:
t 0 = n T + T ; con n = 0,1,2,3,

valdr 0 si el retardo es menor que el periodo de muestreo.


Si definimos m = 1 ya estara en el intervalo deseado, como consecuencia de esta
transformacin tenemos que:

e t 0 s = e nT s e T s
Tenemos por otro lado (visto anteriormente), que con trminos e nTs podemos hacer la
conversin ha z-n por lo que si analizamos el sistema tendremos que:

Y * ( s ) = E * ( s ) G (s ) e t 0 s = E * ( s ) G ( s ) e t 0 s
*

Y ( z ) = E ( z ) z n Z G ( s ) e T s = E ( z ) z n Z mod {G ( s ), m}

- 95 -

Bavegoal

Temario de Control por Computador


Lo veremos mejor con un ejemplo
Ejemplo 1: Calcular Y(z)

G ( s) =

1
s +1

Gh0 =

1 e T s
s

t 0 = 0.14s

T = 0.1s

Entrada Impulso
(E(s) = 1, E(z) = 1)

Lo primero que haremos ser descomponer el retardo como:


t 0 = n T + T = n 0.1 + T = 0.14
n = 1;
= 0.4
Para sacar n dividimos t0 entre T y nos quedamos con la parte entera, el resto ser .
Ahora podemos calcular m: m = 1 = 0.6 ;
De momento dejamos esto y pasamos a calcular Y(s):

Y ( s ) = E * ( s ) G ( s ) Gh0 ( s ) e t0 s
Como vamos a utilizar la Transformada Z colocamos el muestreador ficticio a la salida
y obtenemos:

Y * ( s ) = E * ( s ) G ( s) Gh0 ( s) e t0 s

= E * ( s) G ( s) Gh0 ( s ) e t0 s

(1 e T s ) t0 s
e
Y * ( s ) = E * ( s ) G ( s )
s

G ( s ) t0 s
Y ( z ) = E ( z ) (1 z 1 ) Z
e

} {

Nota: Z e t0 s = Z e nT s e T s

como tenemos un retardo puro podemos

descomponer la expresin como z n Z e T s ;

Sustituyendo en la expresin obtenemos:


G ( s ) T s
Y ( z ) = E ( z ) (1 z 1 ) z n Z
e

- 96 -

Bavegoal

Temario de Control por Computador


la expresin de Z no aparece en las tablas, pero s en las de la transformada
modificada, por tanto podemos sustituir la expresin anterior por
G ( s)
Y ( z ) = E ( z ) (1 z 1 ) z n Z mod
, m

s
En este caso lo que haremos sera descomponer G(s) en fracciones simples y mirando
en las tablas y sustituyendo m por su valor, tendramos la expresin buscada.
Recordemos que m = 0.6:

G(s)
Z mod
,0.6

s
sustituyendo G(s) por su valor

1
,0.6
Z mod
s ( s + 1)

Descomponiendo en fracciones simples:


1
A
B
= +
;
s ( s + 1) s ( s + 1)
calculndolo con MatLab obtenemos:
[R,P,K] = residue(1,[1,1,0]);
R = [-1 1]
P = [-1 0]

Sustituyendo A = 1 y B = -1, sustituyendo:


1

1 (1)

1
Z mod +
,0.6 = Z mod ,0.6 Z mod
,0.6

s
( s + 1)

s ( s + 1)

mirando las tablas obtenemos la expresin directa:


1
e 0.6T
,0.6 =
Z mod
T
( s + 1)
ze

1
Z mod ,0.6 =
( z 1)
s

Agrupando todos los trminos calculados obtenemos la expresin final de Y(z):


1
e 0.6T

Y ( z ) = E ( z ) (1 z ) z
T
z 1 z e
1

resolviendo nos queda:


E(z) = 1;
Y ( z) =

z 1 z 1 e 0.6T e T + e 0.6T

z
z 2 z 1 + e T + e T

- 97 -

Bavegoal

Temario de Control por Computador

TEMA 3. ESTABILIDAD EN SISTEMAS DISCRETOS


Introduccin
Un sistema de control siempre debe ser estable, sino, tendera a infinito y el sistema
no funcionara. Tendremos un sistema cualquiera en lazo cerrado del que podremos
obtener su F.T., tendr una entrada que ser la referencia y una salida.

Recordemos que un sistema es estable si para toda entrada acotada, la salida estaba
tambin acotada. La entrada podr ser cualquiera que tenga un lmite mximo y un
lmite mnimo, de cualquier forma la salida debe tenerlos igualmente. Si la salida oscila
entre dos valores, el sistema se llama crticamente estable, aunque, segn la definicin,
el sistema sera estable, pero a nosotros esto no nos vale (un control de temperatura que
oscilase entre -10 y 10 grados), por ello daremos otra definicin:
Diremos que un sistema es absolutamente estable y lo llamaremos estable si para
una entrada impulso, la secuencia de ponderacin se hace cero, esto significa que el
efecto de la entrada no permanece en el tiempo sino que se va amortiguando y al final el
sistema acaba estabilizndose.
De igual forma para una entrada escaln tender a estabilizarse pero hacia un valor
constante, dependiendo de la altura del escaln.
A continuacin veremos las posibles respuestas de sistemas estables para stas dos
entradas:

Entrada Impulso

- 98 -

Entrada Escaln

Bavegoal

Temario de Control por Computador


En conclusin:

Un sistema puede ser:


-

Inestable: dada una entrada, la salida tiende a infinito.

Estable: dada una entrada, la salida tiene a 0 o a un valor constante.

Crticamente Estable: dada una entrada, la salida oscila entre dos valores.

Cmo estudiar la estabilidad del sistema?

Una vez que tenemos la F.T. del sistema, lo tenemos definido como un bloque, con
una sola ecuacin, Cmo sabremos la respuesta a una entrada escaln por ejemplo?, lo
que haremos ser pasar del dominio de Z al dominio del tiempo mediante Z-1 de GLC,
una vez hecho esto, veremos si la expresin tiende a 0 (sistema estable) o a infinito
(sistema inestable).

- 99 -

Bavegoal

Temario de Control por Computador


Veremos los diferentes casos que se pueden dar y como saber a que tiende la
salida en cada uno de ellos:
1. Polos Reales y Simples:

Y ( z)
A
A z
=
; p un polo real, o lo que es lo mismo Y ( z ) =
z
z p
z p
Haciendo la transformada inversa de esta expresin, segn las tablas obtendremos por
cada polo simple que:
y(kT) = Apk; para k = 0,1,2,3, ,
Si tenemos varios polos tendremos la suma de todas sus expresiones Z-1
Vamos a comprobar a que tiende la expresin para una entrada impulso segn algunos
valores de p.

Si |p| < 1 Estable

Si |p| > 1 Inestable

Si p = -1 Crticamente estable Marginalmente estable

Si p = 1 Inestable, aunque con la entrada impulso la salida valdra siempre 1


y pueda parecer estable, si lo hacemos con una entrada escaln obtendramos
una rampa que tendera a infinito.

- 100 -

Bavegoal

Temario de Control por Computador


2. Polos Reales Mltiples:

Y ( z) =

A z
Bz
M z
+
+ ... +
2
z p ( z p)
( z p) n

En este caso en las tablas, el primer sumando es igual que la expresin de antes, para
Bz
k T p k , en general kTn.pk.
( z p) 2
Si estudiamos la estabilidad obtenemos al igual que antes:
-

Si |p| < 1 Estable

Si |p| >= 1 Inestable


3. Polos Complejos Simples:

Y ( z) =

c z sen(b T )
z ( z c cos(b T ) )
+ 2
2
z 2 c z cos(b T ) + c
z 2 c z cos(b T ) + c 2
2

De aqu obtenamos que:


y(kT) = cksen(bkT) + ckcos(bkT)
Tanto el seno como el coseno son ondas que oscilan, por eso para que esta expresin
tienda a 0, la condicin que debe cumplirse ser que |c| < 1.
Si recordamos, los polos complejos simples eran de la forma:
p1 = + j
p 2 = j
Lo que tendremos en el denominador ser (z-p1)(z-p2), si desarrollamos la expresin
obtenemos:
( z p1) ( z p 2) = ( z j ) ( z + j ) = ( z ) 2 ( j ) 2 =
= z 2 + 2 2 z + 2 = z 2 + z (2 ) + 2 + 2

Si vemos el denominador de las expresiones anteriores, veremos que el trmino


independiente sera c2, si lo comparamos con esta expresin veremos que:
c2 = 2 + 2

- 101 -

Bavegoal

Temario de Control por Computador


Esta ecuacin corresponde a una circunferencia de Radio c.

Un sistema ser estable siempre que los polos estn dentro de la circunferencia
unidad, siempre que estn fuera, el sistema ser inestable. En el caso de tener un par de
polos complejos justo encima del crculo unidad el sistema ser crticamente estable, si
tenemos ms de uno, el sistema puede ser inestable.
Conclusin:

A la hora de estudiar la estabilidad de un sistema LTI tendremos que:


Un sistema ser estable cuando:
-

Todos sus polos estn dentro del crculo unidad.

Un sistema ser inestable:


-

Si uno solo de los polos est fuera del crculo unidad.

Si tenemos un polo real mltiple sobre el crculo unidad (|p| = 1).

Si tenemos ms de un par de polos complejos sobre el crculo unidad.

Un sistema ser crticamente estable:


-

Si tenemos un polo real en -1.

Si tenemos un par de polos complejos sobre el crculo unidad.

A la hora de disear un controlador, siempre haremos que tenga los polos dentro del
crculo unidad para que el sistema sea estable.

- 102 -

Bavegoal

Temario de Control por Computador


Podemos estudiar la estabilidad del sistema siempre y cuando el sistema sea LTI (Lineal
Invariante en el Tiempo).
Esquema de Control

C(z) Esta parte del sistema la controlamos nosotros, podemos hacer el diseo para

que el sistema se comporte de manera estable, indiferente ya de cmo responda ante la


salida esperada.

Ecuacin Caracterstica
Cuando vayamos a estudiar la estabilidad de un sistema, tendremos que calcular sus
polos, para ello, calcularemos su funcin de Transferencia:
G LC ( z ) =

Y ( z ) Num( z )
=
R ( z ) Den( z )

Lo que haremos ser que el Den(z) = 0, a esto se le llama Ecuacin Caracterstica,


esto ser lo nico que nos importe a la hora de analizar o calcular la estabilidad del
sistema, el numerador (los ceros) no nos importan para estos clculos.
La ecuacin caracterstica ser un polinomio del tipo:
anzn + an-1zn-1 + an-2zn-2 + + a1z + a0 = 0
Que tambin puede escribirse como:
(z-p1)(z-p2)(z-pn) = 0
A continuacin veremos en MatLab (cc_016.m) todos los casos que hemos visto:
-

Polos Reales simple |p| < 1, |p| >1, p = 1, p = -1

Polos Reales Mltiples |p| >= 1, |p| < 1

Polos Complejos Simples y Mltiples p dentro de C1 (circunferencia unidad),


p fuera de C1 y p sobre C1.

- 103 -

Bavegoal

Temario de Control por Computador

Test de Estabilidad Jury


Para saber si un sistema es estable, podamos comprobar que los polos de la F.T. en
lazo cerrado estaban en la circunferencia unidad. Hoy da usamos MatLab, pero antes
estos clculos haba que hacerlos a mano, por ello, surgi el test de Jury, que adems de
indicarnos si el sistema es estable o no, nos indica tambin las condiciones que debe
tener un determinado parmetro para que el sistema sea estable. Este test se usa slo
para sistemas discretos, tambin existe el test de Routh para sistemas continuos, pero no
lo daremos, tan slo saber que habra que realizar la transformacin bilateral de la
siguiente forma:
Forma 1: z =

( w + 1)
( z + 1)
;w =
si z = 0 w = -1;
( w 1)
( z 1)

T
w
2 ( z 1)
2
2
Forma 2: z =
;w =
; si z = 0 w =
T
T ( z + 1)
T
1 w
2
1+

Esta transformacin se realiza para que la parte real de la funcin del sistema continuo
sea negativa.
El criterio de Jury lo usaremos con un sistema del que tengamos la FT en LC (lazo
cerrado), tendremos una divisin de polinomios; como vimos, la estabilidad slo
dependa de los polos, es decir, del polinomio del denominador (ecuacin
caracterstica), hasta aqu es igual que hemos visto, sin embargo no tendremos por qu
resolver la ecuacin para saber si los polos estn dentro del crculo unidad (complejidad
que aumentara a medida que el grado del polinomio aumentase). El test consiste en
realizar una tabla (fotocopia) y aplicar las operaciones que se indican en ella.
La nica condicin antes de aplicar el test es que an > 0, si sale negativa,
multiplicaramos toda la ecuacin por -1.
El nmero de filas que contendr la tabla es de 2n-3 donde n es el orden del sistema,
lgicamente no tendra sentido para n < 2.
Las columnas irn desde z0 hasta zn y las filas irn desde 1 hasta 2n-3. Las dos primeras
filas las tenemos como datos ya que la primera empezamos con a0 y terminamos con an
y la segunda es la primera escrita al revs.

- 104 -

Bavegoal

Temario de Control por Computador


Si nos fijamos, veremos que la fila 3 y 4 dependen de los mismos valores (llamados b
en el caso de la fotocopia), cada dos filas vamos teniendo un elemento menos, entre
otras cosas porque si lo calculamos dar 0.
En general para cada elemento de la tabla haremos el determinante de la matriz de la
siguiente forma:
- De las dos filas de arriba cogemos los dos primeros para la primera columna,
- Para la segunda columna cogeremos los dos equivalentes a la posicin del
elemento a calcular pero empezando por la derecha.
Una vez construida la tabla, deben darse las siguientes condiciones para cumplir el
criterio de estabilidad:
-

La ecuacin caracterstica debe ser mayor que 0; D(1) > 0

(-1)nD(-1) > 0; con n el orden del sistema (mximo exponente de z)

|a0| < an y para cada fila |b0| > |bn-1|

Si se da las 3 condiciones quiere decir que todos los polos del Sistema estn dentro del
crculo unidad y por tanto el sistema es estable, en caso de no se d una de las
condiciones, el sistema es inestable.
Para comprenderlo mejor, haremos unos ejercicios:
Ejercicio 1: Estudiar la estabilidad del sistema aplicando el Test de Jury cuya E.C. es la

siguiente:

D(z) = z2 + (0.368k-1.368)z + (0.368 + 0.264k) = 0

Nota: Si resolvisemos la ecuacin, tendramos una expresin dependiente de k y sera

difcil de decir si se encuentra en el crculo unidad.


Para aplicar el Test de Jury debemos calcular cuantas filas va a componer nuestra
tabla. Si tenemos que el orden de la E.C. es n = 2 el n de filas = 2n -3 = 22 -3 = 1
Vemos que la condicin suficiente para aplicar el Test de Jury se cumple (an = 1 > 0)
por lo que pasamos a evaluar las condiciones de estabilidad y a construir la tabla para
evaluar la tercera de las condiciones.
Si comparamos la expresin con la de la fotocopia:
a0 = (0.368k-1.368);
a1= (0.368 + 0.264k);
- 105 -

Bavegoal

Temario de Control por Computador


La primera nos dice que la ecuacin evaluada en 1 tiene que ser mayor que 0:
D(1) = 12 + (0.368k-1.368)1 + (0.368 + 0.264k) = 0.632k > 0 k > 0, es decir,
que si k fuese menor que 0, el sistema ser inestable.
La siguiente condicin nos dice que (-1)nD(-1) > 0

(-1)2D(-1) > 0:

D(-1) = (-1)2 + (0.368k-1.368)(-1) + (0.368 + 0.264k) = 2.736 0.1k > 0; por lo


que podemos decir que para que el sistema sea estable k < 27.36.
Con esto tendramos las dos condiciones que tiene que cumplir k para que el sistema
sea estable:
0 < k < 27.36
A continuacin para probar la tercera propiedad construimos la tabla, si recordamos,
slo tenemos una fila:
Fila 1

(0.368k-1.368)

(0.368 + 0.264k)

La ltima condicin nos dice que |a0| < a2:


|0.368 + 0.264k| < 1 como en las condiciones anteriores llegamos a la condicin de
que k > 0, la expresin a la izquierda de la inecuacin siempre ser positiva, por eso
podemos quitar el valor absoluto y resolver:
k<

(1 0.368)
k < 2.39; en este caso redondearamos a 2 para que se
0.264

cumpliese esta condicin.


Conclusin: El sistema sera estable si 0 < k < 2.39

Podemos probar esto poniendo como numerador una funcin cualquiera (z, por
ejemplo) y como denominador la E.C dada, luego le aplicamos una entrada escaln o
impulso para distintos valores de k y veremos como a partir de 2.39 el sistema se vuelve
inestable.

- 106 -

Bavegoal

Temario de Control por Computador


Ejercicio 2: Obtener los valores de k para que el sistema siguiente sea estable (el valor

de k puede ser un controlador, etc)

G ( z ) = Z {G ( s )} =

(0.3679 z + 0.264)
( z 0.3679) ( z 1)

Nota: Si no nos diesen G(z) tendramos que calcularla nosotros, como hemos hecho en

ejercicios anteriores.
Para estudiar la estabilidad del sistema completo (

Y ( z)
) dependiendo del parmetro k,
R( z )

lo podemos calcular estudiando los polos del sistemas o por el Test de Jury.
Lo haremos, como es lgico, por el Test de Jury, para ello en primera instancia
tenemos que calcular la F.T., pero como este sistema es uno de los habituales, ya vistos
en clase, aprovechamos y cogeremos su F.T.
Y ( z)
k G( z)
=
; siendo H(z) = 1
R( z ) (1 + k G ( z ) 1)

C ( z) =

Para estudiar la estabilidad tan solo nos interesa el denominador (la ecuacin
caracterstica) por tanto:
D( z ) = 0 1 + k G ( z ) = 1 + k

(0.3679 z + 0.264)
=0
( z 0.3679) ( z 1)

Si realizamos la suma obtenemos:


D( z ) =

( z 0.3679) ( z 1) k (0.3679 z + 0.264)


+
= 0
( z 0.3679) ( z 1)
( z 0.3679) ( z 1)

pasando

el

denominador comn al otro trmino, como ste es 0, nos queda:


D( z ) = z 2 + 0.3679 1.3679 z + 0.3679 k z + 0.264 k = 0
D( z ) = 1 z 2 + z (0.3679 k 1.3679) + (0.3679 + 0.264 k ) = 0
a2

a1

a0
- 107 -

Bavegoal

Temario de Control por Computador


Ahora aplicamos las condiciones del Test de Jury, en este caso, al ser el sistema de
orden 2, tendramos 1 fila en dicho test.
a2 = 1
a1 = (0.3679k 1.3679)
a0 = (0.3679 + 0.264k)
1 condicin: D(1) > 0
D(1) = 12 + 1(0.3679k 1.3679) + (0.3679 + 0.264k) k > 0
Si k es una ganancia que multiplica a la planta, siempre tiene que ser positiva ya que el
error no cambia de signo y entonces tendramos el error cada vez ms grande
2 condicin: (-1)nD(-1) > 0; en este caso n = 2:
D(-1) = 1 - 0.3679k + 1.3679 + 0.3679 + 0.264k = 2.7358 0.1037k > 0;

k < 26.382
3 condicin: |a0| < an; con n = 2 en este caso:
|0.3679 + 0.264k| < 1 al igual que antes, el valor absoluto lo podemos quitar por
ser siempre positivo, de no ser as, calcularamos los dos casos como independientes,
por un lado cuando es negativo y por otro cuando es positivo.
Si resolvemos nos queda:
k < 2.39
Conclusin: El sistema es estable si 0 < k < 2.39

- 108 -

Bavegoal

Você também pode gostar