Está en la página 1de 99

Introducción

a la Teoría de
Sistemas

Grupo de Inteligencia
Artificial y Sistemas
Departamento de Informática y Sistemas

Universidad de Las Palmas de Gran Canaria


Herramientas de Análisis y
Simulación

Septiembre, 1.999
Reservados todos los derechos. Ni la totalidad ni parte de este
documento puede reproducirse por ningún procedimiento electrónico o
mecánico, incluyendo fotocopia, grabación magnética o cualquier
almacenamiento de información y sistema de recuperación sin permiso escrito
del Grupo de Inteligencia Artificial y Sistemas de la Universidad de Las Palmas
de Gran Canaria.

Edición de los documentos realizada en el Edificio Departamental de


Informática y Matemáticas de la Universidad de Las Palmas de Gran Canaria el
30 de Septiembre de 1.999.

Dirección. Campus Universitario de Tafira. Edificio Departamental de


Informática y Matemáticas, 35017 Las Palmas.
Contenido
Herramientas de Análisis y Simulación

1. Introducción_______________________________________________3

2. El Lugar de las Raíces ________________________________________4

2.1. Concepto y Aplicaciones Básicas.____________________________5


2.2. Construcción del Lugar de las Raíces _________________________7
2.2.1. Reglas de Construcción __________________________________________7
2.3. Lugar de las Raíces Generalizado ___________________________19
2.4. Aplicaciones del Lugar de las Raíces_________________________21
2.4.1. Formas Típicas del Lugar de las Raíces._____________________21
2.4.2. Estabilidad y Lugar de Las Raíces _________________________22
2.4.3. Diseño de Parámetros. __________________________________________24

3. Análisis del Régimen Permanente ______________________________ 35

3.1. Conceptos.____________________________________________35
3.2. Coeficientes Estáticos de Error ____________________________36
3.3. Coeficientes Dinámicos de Error ___________________________40

4. Introducción a la Simulación__________________________________ 42

4.2. Lenguajes de Simulación. _________________________________44


4.2.1. Estudio de Casos. ______________________________________________46

Referencias_________________________________________________ 94

Ejercicios Propuestos _________________________________________ 95

Tema : Herramientas de Análisis y Simulación 2


1. Introducción
La conducta dinámica de un sistema, (su estabilidad relativa, respuesta transitoria,
etc.) esta íntimamente ligada a la distribución de las raíces de la ecuación característica en el
plano s. Con frecuencia se plantea el problema de modificar uno o varios parámetros del
sistema y efectuar el estudio del efecto que, sobre el comportamiento de éste, tal
modificación comporta. Esta modificación del comportamiento puede deducirse de la
evolución de las raíces de la ecuación característica en el plano complejo. En este tema se
presenta como herramienta de análisis de los sistemas descritos por su función de
transferencia, el Lugar de las Raíces, que proporciona de forma gráfica y analítica
información acerca del comportamiento dinámico del sistema.

Las características del régimen transitorio estudiadas en el tema anterior son útiles en
el estudio de sistemas y específicamente para el diseño de sistemas de control. En este tipo
de sistemas es de gran importancia el análisis del comportamiento en régimen permanente.
En estos casos es necesario tener presente que el objetivo es controlar una o varias
variables, la respuesta del sistema y adicionalmente que la diferencia entre el valor real y el
deseado sea la menor posible. En esta línea, en el tema también vamos a esbozar como
efectuar el análisis en régimen permanente y el estudio de la precisión.

En el mismo contexto de proporcionar unas herramientas útiles de análisis y estudio


del comportamiento de sistemas, se trata al final del tema una introducción a la simulación.
Sólo nos ocuparemos aquí de algunos rudimentos para la utilización de lenguajes de
simulación que nos pueden permitir completar o corroborar un análisis teórico. La riqueza
de contenido de esta última parte del tema irá viendo su aplicación en sucesivos capítulos
por lo que la presentación en el ámbito de este tema es sólo introductoria.

Tema : Herramientas de Análisis y Simulación 3


2. El Lugar de las Raíces
Se denomina Lugar de las Raíces al lugar geométrico de la distribución de los polos de
la ecuación característica cuando uno o varios parámetros de la misma varían de -∝ a +∝.
El método del lugar de las raíces fue desarrollado originalmente por Evans en el año 1.948,
y es un método gráfico que permite observar el efecto de la variación de las raíces con
ciertos parámetros y posibilita una medida cualitativa del la sensibilidad de las raíces ante
los mismos. La técnica del lugar de las raíces puede utilizarse con gran ventaja en
conjunción con el criterio de Routh Hurwitz estudiado en el tema anterior y el método de
Newton-Raphson. Para presentar de forma intuitiva el alcance de estos planteamientos
estudiemos el siguiente ejemplo.

Ejemplo .1
Supongamos que queramos analizar el efecto del parámetro K en el sistema de realimentación
negativa y unitaria de la figura .1.

U(s) + Y(s)
K
- s (s+a)

Figura .1
Lo procedente sería evaluar la función de transferencia H(s) como:

K
H ( s) = 2
s + as + K
y posteriormente estudiar las variaciones de K sobre la ecuación característica:

D( s) = s 2 + as + K = 0

cuyas soluciones son:

a 1 2
s1,2 = − ± a − 4K
2 2
Raíces que serán reales para K < a2/4 e imaginarias de parte real (-a/2) para valores superiores a
a2/4. Esta situación nos la define el lugar geométrico en el plano s de la figura .2., donde puede observarse
que para K=0 las raíces de la ecuación característica se encuentran en:

s1 = 0 ; s2 = − a

y conforme K se va incrementando hasta K=a2/4 son reales para hacerse imaginarias en valores más
elevados. Es decir el sistema pasa de ser sobreamortiguado para convertirse en subamortiguado de
sobreoscilación creciente con K.

Tema : Herramientas de Análisis y Simulación 4


Img(s)

K=0 K=0

-a -a/2 0 Re(s)

Figura .2.
En este ejemplo el análisis ha resultado relativamente sencillo pues la ecuación característica era
de segundo orden. Sin embargo para sistemas de orden más elevado y con varios posibles parámetros, el
estudio necesita de una técnica más sistemática que permita plantear de forma simple el análisis cualitativo
del comportamiento del sistema.

2.1. Concepto y Aplicaciones Básicas.


Consideremos un sistema cuya función de transferencia venga en la forma:

N ( s)
H ( s) =
D ( s)

Donde N(s) y D(s) son polinomios de s. Asumamos que la ecuación característica,


que puede provenir de la aplicación de la regla de Mason por ejemplo, pueda ponerse
como:

D ( s) = 1 + F ( s) = 0 ; F ( s) = − 1

Esta ecuación especifica dos condiciones que se deben verificar para la existencia en
el plano s de un polo de H(s).

a) El ángulo de fase de F(s) debe ser un múltiplo impar de π,esto es:

arg( F ( s)) = π ± 2nπ ; n = 0, ± 1, ± 2, ± 3,K

b) La magnitud de F(s) debe ser la unidad

F ( s) = 1

Para realizar el estudio del lugar de las raíces, asumiremos que F(s) puede ponerse en
la forma:

Tema : Herramientas de Análisis y Simulación 5


m
K ∏ s+ zj
j =1
( )
F ( s) = n

∏( s + p ) i
i =1

Siendo K es el parámetro cuya influencia se quiere estudiar. Esta expresión


constituye una forma clásica que se presenta en los sistemas realimentados donde el
parámetro a estudiar es la ganancia en bucle abierto y la expresión para F(s) es en la forma:

F ( s) = K G ( s ) H R ( s )

En este caso G(s) es la función de transferencia en cadena abierta y HR(s) la


correspondiente a la realimentación. Este tipo de sistemas son utilizados con relativa
frecuencia en sistemas de control. Para el caso general, las ecuaciones básicas que deben
verificarse se transforman en:
m

∏ s+ z j
j =1
F ( s) = K n =1
∏ s+ p i
i =1

m n
arg[ F ( s)] = ∑ arg[ s + z ] − ∑ arg[ s + p ] = (2 q + 1)π
j i K>0
j =1 i =1

m n
arg[ F ( s)] = ∑ arg[ s + z ] − ∑ arg[ s + p ] = 2 q π
j i K<0
j =1 i =1

Asociadas a la equivalencia del módulo y la parte argumental de la expresión


compleja de F(s) utilizada. Así por ejemplo, si F(s) es de la forma:

K (s i + z1 ) ( si + z 2 )
F ( si ) = ; K>0
si (s i + p1 ) ( si + p2 )

Para que un punto si pertenezca al lugar es necesario que verifique las condiciones
anteriores y por tanto:

K (s i + z1 ) ( si + z 2 )
F ( si ) = = −1 = 1 π = −1; K > 0
si (s
i + p1 ) ( si + p2 )

Si consideramos los vectores que se muestran en la figura .3. siguientes

a = si + z1 ; b = si + z 2 ; c = si ; d = si + p1 ; e = si + p2 ;

Resultan las ecuaciones:

Tema : Herramientas de Análisis y Simulación 6


F ( si ) = θ1 + θ2 − [θ3 + θ4 + θ5 ] = ( 2 q + 1) π

a b
F ( si ) = K =1
c d e

a
c
e b
d θ3
θ2 θ5 θ4 θ1

-z2 -p -z1
-p 1
2

Figura .3.

2.2. Construcción del Lugar de las Raíces


Para localizar las raíces de la ecuación característica estableceremos un
procedimiento ordenado y sistemático y plantearemos un conjunto de reglas basadas en la
relación de polos y ceros de la función de transferencia F(s) y las raíces de la ecuación
característica. El primer paso a realizar es dejar la ecuación característica en la forma:

D ( s) = 1 + K F ( s)

Donde K es el parámetro objeto de estudio. Posteriormente factorizaremos, si es


necesario F(s), hasta dejar la ecuación característica en la forma:
m

∏ (s + z ) i
i =1
1+ K n =0
∏ (s + p ) i
j =1

Para obtener las normas de trazado sistemático en principio supondremos que el


parámetro varía en el intervalo 0 < K < ∞.

2.2.1. Reglas de Construcción

Tema : Herramientas de Análisis y Simulación 7


Sin perjuicio de que al final de este tema estudiemos una serie de utilidades para el
trazado del lugar de las raíces y la recuperación de la información numérica de éste,
estudiamos a continuación una serie de reglas de trazado que nos permitirán conocer sus
ventajas y corroborar nuestros análisis desde las utilidades citadas.

Regla 1. NÚMERO DE RAMAS

El grado de la ecuación característica viene determinado por el número de polos (n)


de F(s). Por tanto existen n raíces que son funciones continuas del parámetro K. Al variar
K de 0 a ∞, cada raíz origina una curva continua, como existen n raíces se tendrá el
mismo número de curvas o ramas en el lugar de las raíces. Podemos enunciar esta regla
número 1 como sigue:

El número de ramas del lugar de las raíces es igual al número de polos de la función F(s)

Regla 2. LUGAR SOBRE EL EJE REAL

Sea x cualquier punto en el eje real y sean Pd y Zd los números de polos y ceros
situados a la derecha de x. Sean Pi y Zi los números de polos y ceros a la izquierda de x. El
ángulo o fase de cualquier polo o cero complejo se cancela con el de su conjugado. Los
Pi y Zi a la izquierda contribuyen con ángulos de cero grados a la fase de F(s) cuando s=x.
Sólo queda entonces por considerar el efecto de los Pd y Zd. En este caso como la
contribución a la regla (supuesto K positivo)
m n
arg( F ( s)) = ∑ arg( s + zi ) − ∑ arg( s + pi )
i =1 i =1

Será de π, es necesario, si se desea verificar la anterior condición que el conjunto


Zd+Pd sea impar, para que así resulte una suma que sea número impar (2q+1) de π. Así
pues:

Un punto sobre el eje real K>O (K<O) pertenece al lugar de las raíces si y sólo si el
número total de polos y ceros situados de F(s) situados a su derecha es impar (par).

Regla 3. PUNTOS DE ARRANQUE Y PUNTOS DE LLEGADA

De la ecuación:
m

∏ (s + p ) i
K=− i =1
n

∏ (s + z )
j =1
i

Se deduce que conforme K tiende a cero se requiere que s se aproxime a alguno de


los polos de F(s), osea que s tienda a pi. De forma análoga en la citada ecuación, para que
K tienda a ∞ ser necesario que s se acerque a alguno de los ceros de F(s), es decir que s
tienda a zj. Entonces podemos concluir:

Tema : Herramientas de Análisis y Simulación 8


Los puntos de arranque del lugar de las raíces (K=O), son los polos de F(s). Los puntos
de llegada del lugar de las raíces (K = ∞) son los ceros de F(s). La diferencia entre el número de
polos y el de ceros lo constituirán las ramas asintóticas (ceros en el infinito)

Regla 4. SIMETRÍA DEL LUGAR DE LAS RAÍCES

Las raíces complejas de las funciones racionales deben aparecer en forma de pares
de raíces complejas conjugadas, por tanto:

El lugar de las raíces y el lugar inverso (K<O), son simétricos respecto al eje real del plano
s.

Regla 5. ASÍNTOTAS DEL LUGAR DE LAS RAÍCES

Si el punto de prueba se localiza muy lejos del origen, el ángulo correspondiente a


cada factor se puede considerar el mismo. Entonces cada cero cancela el efecto de un polo
y los lugares de las raíces para puntos muy alejados, cuando hay polos o ceros en el
infinito, deben ser asintóticos a líneas rectas. El criterio angular para este caso es:
m n
arg( K ) + ∑ arg( sr + zi ) − ∑ arg( sr + pi ) = (2q + 1)π
i =1 i =1

y si θ es la fase de todos los factores para el punto remoto sr, como existen m ceros y n
polos obtenemos:

arg( K ) + θ(n − m) = (2q + 1)π

De donde se deducen las siguientes expresiones para el ángulo de estas (n-m)


asíntotas

K>0
(2q + 1)π
θa = ; q = 0,1,2,K (n − m + 1)
n−m
K<0
2 qπ
θa = ; q = 0,1,2,K (n − m + 1)
n−m

Regla 6. INTERSECCIÓN DE LAS ASÍNTOTAS

Consideremos el conjunto KF(s), que podemos escribir en forma desarrollada


como:

 m m

K s m − ( ∑ zi ) s m−1 +K+∏ zi 
 i =1 i =1 
KF ( s) = n n
s − (∑ p j ) s
n n −1
+K+∏ p j
j =1 j =1

Dividiendo numerador y denominador por el numerador se obtiene:

Tema : Herramientas de Análisis y Simulación 9


K
KF ( s ) =
 n m 
s n −m − ( ∑ p j )− ( ∑ zi )s n − m −1 + K
 j =1 i =1 

Para grandes valores de s el denominador de esta última ecuación se puede


aproximar por sus dos primeros términos y la ecuación característica se reduce a:

 n m 
s n − m − ( ∑ p j )− ( ∑ zi ) s n − m −1 + K = − K
 j =1 i =1 

Expresión equivalente a:
1
  n m   n− m
  − ( ∑ p j ) + ( ∑ zi )  
 j =1 
− K = s 1 +
i =1

 s 
 
 

Desarrollando el binomio en serie y despreciando en el desarrollo los términos de


orden superior a 2 se tiene:

 n m 
 ∑ j
− ( p ) + ( ∑ zi ) 
1
 j =1 i =1 
(− K ) n−m = s+
n−m

Si se sustituye σ+jω, y se identifican partes real e imaginaria de la ecuación


resultante se deduce:

 n m 
 − (
 j =1
∑ p j ) + ( ∑ zi ) 

1
 (2q + 1)π  i =1
(K) n− m
cos  = σ+
 n−m  n−m

1
 (2q + 1)π 
ω = ( K) n−m
sen 
 n−m 

Resolviendo para ω:

  n m 
  − ( ∑ p j ) + ( ∑ zi )  
 (2q + 1)π    j =1 i =1 
ω = tg  σ+
 n−m   n−m 
 
 

que representa una recta en el plano s de la forma:

Tema : Herramientas de Análisis y Simulación 10


ω = m (σ − σ1 )

donde m es la pendiente y σ1 representa la intersección con el eje real. Así pues las
asíntotas cortan al eje real en:
n m
− ( ∑ p j ) + ( ∑ zi )
j =1 i =1
σ=
n−m

Valor de σ que es siempre un número real, ya que todos los polos y ceros complejos
aparecen como pares conjugados. En ciertas ocasiones nos referiremos a este punto de
intersección como centroide. Así pues la regla 6 se expresa como:

La intersección de las n-m asíntotas tiene lugar sobre el eje real a una distancia σ definida
por:
m n

∑ z −∑ p i j
i =1 j =1
σ=
n−m
Donde los valores de los polos y ceros se entenderán en valor absoluto.

Regla 7. ÁNGULO DE SALIDA DE LOS POLOS Y LLEGADA DE LOS


CEROS

El ángulo de salida de los polos o llegada a los ceros puede ser determinado desde el
criterio del argumento. El ángulo de salida de un polo es la diferencia entre el ángulo neto
debido a otros polos y ceros y el ángulo criterio de ±(2q+1)π, cuestión que forma análoga
para la llegada a un cero. El ángulo de partida (o de llegada) reviste particular interés en el
caso de polos (o ceros ) complejos porque su información resulta útil para completar el
lugar. Como es lógico si los polos (o ceros) están sobre el eje real el ángulo de salida ser 0
o π. La regla a aplicar es en este caso:

Sumando algebraicamente los ángulos que con la dirección positiva del eje forman los
vectores que unen todos los restantes polos y ceros con el polo o cero en cuestión y restando a esta
suma (2q+1)π.

Esta regla resulta evidente si se aplica la condición angular de existencia de un punto


muy próximo al polo (o cero) considerado.

Ejemplo .2.
Consideremos la ecuación característica siguiente:

K
1+ 2 =0
s( s + 4)( s + 8s + 32)

El resultado de aplicar las reglas puede verse en la figura .2. siguiente:

Tema : Herramientas de Análisis y Simulación 11


Regla número 1: número de ramas n = 4.

Regla número 2: Sobre el eje real existe lugar para -4<s<0.

Regla número 3: Los cuatro polos de F(s) son puntos de arranque, al no existir ceros mas que en el
infinito estas ramas serán asintóticas.

Regla número 4: El lugar de las raíces es simétrico respecto al eje real del plano s.

Regla número 5: Existen cuatro asíntotas de ángulos respectivos:

π 3π 5π 7π
θ a1 = ; θa 2 = ; θa 3 = ; θa 4 = ;
4 4 4 4
Regla número 6: El centroide o punto de intersección de las asíntotas sobre el eje real es:

m n

∑ zi − ∑ p j 0− 4− 4− 4 j − 4+ 4 j
i =1 j =1
σ= = = −3
n−m 4
Regla número 7: El ángulo de salida θ1 del polo complejo p1 se estima desde el criterio del
argumento como sigue:

π π 3π
θ1 + + + = (2q + 1)π ; θ1 = −135°= 225°
2 2 4

Tema : Herramientas de Análisis y Simulación 12


centroide

Figura .2.

Regla 8. INTERSECCIÓN DEL LUGAR CON EL EJE IMAGINARIO

Los puntos de corte con el eje imaginario, si éstos se producen se pueden


determinar utilizando el criterio de Routh que nos dar el valor del parámetro K para el cual
se produce la intersección además de el lugar (valor de las raíces) en el que se produce.

Ejemplo .3.
En el caso del ejemplo anterior, la ecuación característica se puede volver a escribir de la forma:

s 4 + 12 s 3 + 64 s 2 + 128s + K = 0
La tabla de Routh es en este caso:

s4 1 64 K

Tema : Herramientas de Análisis y Simulación 13


s3 12 128

s2 53.33 K

s1 A

s0 K

donde:

53.33(128) − 12 K
A=
53.33
El valor crítico de K se determina igualando el primer elemento de la fila s1 de la tabla de Routh a
cero, resultando en este caso K=570, y las raíces de la ecuación auxiliar nos dan:

53.33s 2 + 570 = 0 ; s1,2 = ±3.25 j

puntos en los que el lugar corta al eje imaginario.

Tema : Herramientas de Análisis y Simulación 14


Regla número 9. PUNTOS DE RUPTURA

El lugar de las raíces comienza en los polos (K=0) y finaliza en los ceros (o en s=∞).
Vamos a considerar el caso en que el lugar tiene ramas sobre el eje real entre dos polos. En
este caso deber existir un punto de ruptura para que las dos ramas entren en la zona
compleja en orden a ir a algún cero al infinito. El razonamiento se invierte en el caso de
los ceros. Se observa que la existencia de puntos de dispersión se correlaciona con la
presencia de un valor del parámetro K que es máximo sobre el eje real, de forma inversa,
acontece en el caso de existir puntos de confluencia, donde la correlación se produce con
los mínimos de la función K(σ) sobre el eje real.

Para averiguar dónde se producen estos puntos de ruptura, comenzaremos por


expresar la ecuación característica en la forma K=f(s).

Teorema .1
Los puntos de ruptura del lugar de las raíces son las raíces de la ecuación obtenida igualando a cero
la primera derivada con respecto a s.

Es decir, la condición dK/ds=0. Ésta es necesaria pero no suficiente para los


puntos de bifurcación. Todos los puntos de ruptura satisfacen esta relación, pero no todas
las soluciones son puntos de ruptura. Serán puntos de ruptura si además de ser solución de
dK/ds=0, satisfacen la ecuación característica del sistema.

Como la ecuación característica es un polinomio de coeficientes constantes,


podemos escribir:

P ( s) + K Q ( s ) = 0

donde K es el parámetro objeto de estudio y P(s),Q(s) no son funciones de K. Si se


considera que K varía un ∆K, se tiene:

P ( s) + ( K + ∆ K ) Q ( s ) = 0

Dividiendo por P(s) +KQ(s)

∆K Q( s)
1+ =0
P( s) + KQ( s)

Que puede escribirse como:

1 + ∆K M ( s) = 0

donde:

Q( s )
M ( s) =
P( s) + KQ( s)

Tema : Herramientas de Análisis y Simulación 15


Se observa que el denominador de M(s) es el polinomio original. En los puntos muy
próximos a una raíz si de la ecuación característica de orden de multiplicidad n (punto de
ruptura de n ramas del lugar de las raíces), M(s) se puede aproximar por:

Ai Ai
M ( s) ≈ n =
( s − si ) ( ∆ s) n

Sustituyendo en la ecuación anterior se tiene:

Ai
1 + ∆K =0
( ∆ s) n

De donde se deduce:

∆K ( ∆ s) n
=−
∆s Ai

Pasando al límite ambos miembros de esta ecuación cuando ∆K tiende a cero nos
resulta:

∆K dK
lim∆K → 0 = =0
∆s ds

Por consiguiente, en los puntos de ruptura del lugar, dK/ds es nula. Esta condición
de ruptura puede replantearse de otra forma, para ello consideremos que en s=σd existe un
punto de dispersión o confluencia. Para este punto:

P ( s)
K=−
Q( s )

Para encontrar el valor de σd que hace máximo o mínimo a K derivamos la


expresión anterior con respecto a σd, entendida como real, pues se trata de un punto de
parte imaginaria nula,

 n 
 ∏ (σ + pi ) 
dK d i =1
− =  = 0
ds dσ  m 
 ∏
(σ + z j )
j =1


Por diferenciación sucesiva y factorización se puede escribir:

dK n
1 P(σ) m 1 P(σ)
− =∑ −∑ =0
ds i =1 (σ + pi ) Q(σ) j =1 (σ + z j ) Q(σ)

De donde se deduce una condición que debe cumplir el punto de dispersión y que
es:

Tema : Herramientas de Análisis y Simulación 16


n
1 m
1
∑ (σ + p ) = ∑ (σ + z )
i =1 i j =1 j

Donde pi y zj son los polos y ceros respectivamente de F(s).

Ejemplo .4.
En el ejemplo .2., la expresión de K es:

K = − s 4 − 12 s 3 − 36s 2 − 128s − 128 = 0


dK
= −4 s 3 − 36s 2 − 72 s − 128 = 0
ds
Donde resulta como única solución que pertenece al lugar si=-1.5.

Regla número 10. EVALUACIÓN DEL PARÁMETRO

Una vez construido el lugar, la determinación del valor del parámetro K para todo
punto s que verifica la condición angular, se deduce aplicando la relación
m

∏ s+ z j
j =1
F ( s) = K n =1
∏ s+ p i
i =1

de donde:
n

∏ s+ p j
j =1
K = m

∏ s+ z i
i =1

Ejemplo .5.
Si nos interesara para el sistema anterior conocer el valor de K que proporciona un coeficiente de
amortiguamiento ξ=0.707, podemos tener en cuenta que los vectores correspondientes a las raíces
respectivas de la ecuación característica formarán un ángulo de 45º con el eje real. De la ecuación anterior,
teniendo en cuenta las distancias del punto citado a los polos se deduce:

K = s1 s1 + 4 s1 + 4 + 4 j s1 + 4 − 4 j = 19 . 6.0 = 130
. 3.0 38

El otro par de raíces s2 y s2* tienen un efecto pequeño en el comportamiento del sistema, pues el
valor de la parte real de s1, σ1, es una cinco veces más pequeño que el de la correspondiente a s2.

Ejemplo .6.
Vamos a trazar el lugar de las raíces de la ecuación característica:

Tema : Herramientas de Análisis y Simulación 17


64 K
1+ =0
s( s + 4)( s + 16)

Vemos que no existen ceros y hay tres polos, situados respectivamente en s=0, s=-4, s=-16. Por
tanto existirán tres ramas las cuales serán asintóticas. Además, en el eje real los tramos comprendidos
entre [-4,0] y [-∞,-16] pertenecerán al lugar de las raíces.

Los ángulos de las ramas asintóticas serán respectivamente:

π 3π 5π
θa 1 = ; θa 2 = = π ; θa 3 =
3 3 3
El punto de intersección de las asíntotas con el eje real (centroide) ser :

n m

∑ p −∑ z i j
−16 − 4 − 0
i =1 j =1
σ= = = −6.66
n−m 3
Para averiguar el posible punto de dispersión o confluencia en el tramo [-4,0] resolvemos en K la
ecuación característica:

− s 3 − 20s 2 − 64 s
K=
64
Efectuando dK/ds=0 se obtiene:

3s 2 + 40s + 64 = 0 ; s1 = −1189
. s2 = −11747
.

La primera raíz es la única que tiene sentido pues se encuentra en la zona del eje real donde existe
lugar. Para averiguar si es punto de dispersión o confluencia evaluamos la derivada segunda, que resulta:

d2K
64 2 = −3s 2 − 40s − 64
ds
y para s1=-1.859 resulta ser negativa, por tanto un máximo de K, es decir, un punto de dispersión.

Los puntos de intersección con el eje imaginario los calculamos desde la aplicación del criterio de
Routh a la ecuación característica:

s 3 + 20s 2 + 64 s + 64 K = 0
La tabla de Routh es en este caso:

s3 1 64

s2 20 64K

s1 A

s0 64K

donde: A = (1280-64K)/20; que se anula para K=20, en estas condiciones el polinomio auxiliar es:

Tema : Herramientas de Análisis y Simulación 18


P( s) = 20s 2 + 1280 = 0 ; s3,4 = ±8 j

Desde donde resultan los puntos de intersección con el eje imaginario. Con estas condiciones,
se obtiene el lugar de las raíces de la figura .5. El valor de K para el punto de dispersión en s1=-1.859 es:

∏ s+ p j
j =1
K1 = m = 64 K = (16 − 1859
. )(4 − 1859
. )(1859
. − 0) = 56.282
∏ s+ z i
i =1

K = 0.979
Es decir que para K comprendido entre [0,0.979] el sistema es sobreamortiguado, entre [0.979, 20]
el sistema es subamortiguado de amplitudes de oscilación cada vez más crecientes, de manera que para
K>20 el sistema es ya inestable.

Ejemplo .6.
Para ilustrar la evolución del lugar en el caso de sistemas condicionalmente estables, esto es
sistemas que poseen un margen de estabilidad condicional consideremos el caso de la ecuación
característica:

K [( s + 15
. ) + 1]
2

1+ =0
s 2 ( s + 0.5)( s + 8)( s + 9)

Vemos que existen 3 ramas asintóticas, y que el intervalo de existencia sobre el eje real queda
definido entre [-∞,-9], y [-8,-0.5]. Los ángulos de las asíntotas serán respectivamente:

π 3π 5π
θa 1 = ; θa 2 = = π ; θa 3 =
3 3 3
Es decir el eje real será asíntota. El centroide viene definido por:

n m

∑ p −∑ z i j
−9 − 8 − 0.5 − 0 − 0 + 15
. − j + 15
. +j
i =1 j =1
σ= = = −4.83
n−m 5− 2
K presenta su máximo valor sobre el eje real en s1=-2.4, que será punto de dispersión por la
presencia cercana de dos ceros complejos, y por representar un máximo. La aplicación del criterio de
Routh y el posterior análisis de estabilidad, nos conducen a:

a) Sistema estable entre 142 < K < 433.

b) Sistema inestable para 0 < K < 142 y K > 433.

Los puntos de intersección con el eje imaginario son respectivamente:

s3,4 = ±2.4 j ; s5,6 = ±4.8 j

2.3. Lugar de las Raíces Generalizado

Tema : Herramientas de Análisis y Simulación 19


El desarrollo original del método del lugar de las raíces, estaba interesado con la
determinación del lugar de las raíces de la ecuación característica cuando el parámetro
variable era K en F(s) en la forma:

1 + F ( s) = 0

y
m
K ∏ s+ zj
j =1
( )
F ( s) = n

∏( s + p ) i
i =1

Sin embargo el método del lugar de las raíces puede extenderse, de manera muy
simple, para considerar los efectos que sobre la localización de los polos ejerce la variación
de otros parámetros distintos de la ganancia K. A este nuevo lugar se le denomina Lugar
de las Raíces Generalizado o Contorno de las Raíces.

En este caso, F(s) dependerá de otros parámetros α1,α2,...,αp de manera que


manteniendo K y el resto de los αj (j≠i) constantes es posible trazar el lugar de las raíces
para αi, disponiendo desde la ecuación característica:

P ( s, α 1 , K , α p )
1+ K = 0 ; Q( s) + KP( s) = 0
Q ( s, α 1 , K , α p )

Hasta dejarla en la forma:

Qi ( s) + α i Pi ( s) = 0

De manera que el contorno de las raíces podrá trazarse tomando αj como parámetro
a partir de la configuración de polos y ceros de Pi(s)/Qi(s) a la que se aplican las reglas
convencionales del lugar de las raíces ya deducidas.

Una técnica interesante para la obtención de la nueva disposición de la ecuación


característica es dividir ambos miembros de la ecuación por los términos que no contienen
el parámetro variable, cuestión esta que no siempre será posible y dependerá de la
linealidad de las expresiones [DORF-86]. Como aplicación elemental de lo descrito vamos
desarrollar el siguiente ejemplo.

Ejemplo .7.
Consideremos el caso de un cierto sistema cuya ecuación característica es de tercer orden y posee
dos parámetros α y β en la forma:

s 3 + s 2 + βs + α = 0
En este caso particular, los parámetros aparecen en los coeficientes de la ecuación característica. El
efecto de variar β desde cero a infinito se estudia desde la disposición de la ecuación característica en la
forma:

Tema : Herramientas de Análisis y Simulación 20


βs
1+ =0
s + s2 + α
3

Se observa que el denominador de la ecuación anterior es la ecuación característica con β=0. Por
tanto, en primer lugar se calcula el efecto de variar α desde cero a infinito utilizando la ecuación:

s3 + s2 + α = 0
Escrita en la forma:

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

En este punto seguimos un procedimiento que podemos estructurar en dos pasos:

a) Se obtiene el lugar de las raíces cuando α varia y se selecciona un valor adecuado de α,


α1.

b) Teniendo en cuenta que este valor de α1 y sus raíces asociadas en el sistema están
evaluadas para β=0, comenzamos el trazado del lugar para β variando entre 0 e infinito en la
ecuación:

βs
1+ =0
s + s 2 + α1
3

2.4. Aplicaciones del Lugar de las Raíces


El lugar de las raíces representa una herramienta más de análisis, sobre todo
cualitativa, aunque aporta una serie de informaciones numéricas útiles. En este apartado
veremos algunos ejemplos que ponen de manifiesto tales ventajas.

2.4.1. Formas Típicas del Lugar de las


Raíces.
Consideraremos el estudio del efecto que produce la adición de polos y ceros sobre
el lugar de las raíces. Para estructurar dicho estudio comenzaremos por un sistema de
segundo orden subamortiguado de ecuación característica:

K
1+ 2 =0
s + as + b

cuyo lugar de las raíces, ya estudiado, es el representado en la figura .9.a. (para a=b=2).
Como se observa, el sistema es estable para todo valor de K, pues no existe ningún polo
de D(s) situado en la parte derecha del plano complejo. Si introdujéramos un polo
adicional en el origen (s=0), la nueva ecuación característica sería:

K
1+ 2 =0
s ( s + as + b)

Tema : Herramientas de Análisis y Simulación 21


El lugar de las raíces se inclina hacia la derecha y el sistema se vuelve inestable para
valores de K superiores a un cierto K1 (K1=4 en la citada figura). La tendencia a la
inestabilidad es grande debido a que s=0 es un polo dominante del sistema. Si se introduce
un polo alejado del origen s=-d (d=2 en la figura .10.), la nueva ecuación característica
será :

K
1+ =0
( s + d ) ( s 2 + as + b)

El lugar de las raíces del sistema primitivo se inclina hacia la derecha, pero menos
que en el caso del polo en el origen. El sistema se vuelve inestable para valores de K > K1
(K>20 en el ejemplo de la figura). A medida que el polo adicional se va desplazando hacia
la izquierda sobre el eje real su influencia sobre el lugar de las raíces va disminuyendo,
hasta desaparecer para s=-∞. A análogas conclusiones se llega si el sistema es
sobreamortiguado

Si al sistema de segundo orden original le añadimos un cero en el origen, la nueva


ecuación característica será:

Ks
1+ 2 =0
s + as + b

y el lugar de las raíces se inclina hacia la izquierda como puede verse en la figura, lo que
contribuye a aumentar la estabilidad del sistema. Si este cero se introduce a la izquierda de
los polos complejos, en z=-d (d=2 en la figura), el lugar de las raíces se inclina también
hacia la izquierda, pero más que en el caso del cero en el origen, aumentando la estabilidad
en mayor cantidad cuanto más alejado esté del origen de coordenadas.

Idénticamente como ocurre con los sistemas de orden dos, la presencia de polos
adicionales en los sistemas de orden superior reducen la estabilidad del mismo, reducción
esta que es tanto mayor cuanto más cerca se encuentra del origen este nuevo polo. De
forma análoga la introducción de ceros en sistemas de orden superior contribuyen al
aumento de la estabilidad.

2.4.2. Estabilidad y Lugar de Las Raíces


Hemos estudiado que un sistema lineal es estable siempre que la totalidad de los
polos de la función de transferencia tengan su parte real negativa y al ser el lugar de las
raíces el lugar geométrico de dichos polos, se comprende que, por simple inspección se
pueda saber si un sistema es estable o no. Pero además el lugar de las raíces permite
determinar lo que se conoce por márgenes de ganancia y de fase así como la estabilidad
absoluta y relativa.

Establecer un margen de estabilidad absoluta equivale a cerciorarse de que la


respuesta transitoria está suficientemente amortiguada. Para ello, se impone que los polos
del sistema en bucle cerrado estén situados a la izquierda de un cierto punto de abscisa a=-
d. El valor límite del parámetro K, fijado un margen de estabilidad absoluta, a=-d, se
determina por intersección del lugar de las raíces con la ecuación de la recta a=-d.

Tema : Herramientas de Análisis y Simulación 22


Ejemplo .8.
Si consideramos el sistema de ecuación característica:

K
1+ =0
s( s + 2)( s + 4)

Las características de su lugar para K variable son:

a) Tiene 3 ramas y es simétrico respecto al eje real.

b) Tiene 3 asíntotas de ángulos respectivos:

π 3π 5π
θa 1 = ; θa 2 = = π ; θa 3 =
3 3 3
c) Los tramos de existencia sobre el eje real son: [-∞,4] y [-2,0].

d) Haciendo dK/ds =0 se obtiene la soluciones: σ1=-5/6 y σ2=-19/6, de la cual sólo tiene sentido
la primera.

e) La intersección con el eje imaginario viene dada por: K=48, y ocurre para s1,2= ± j(8)1/2. En la
siguiente figura se representa el lugar de las raíces, donde se observa que el lugar se hace inestable para
valores de K>48. Si se desea que los polos de la función de transferencia del sistema estén situados a la
izquierda del punto de abcisa a=-0.5, resolvemos la ecuación:

(a + jω)(a + jω + 2)(a + jω + 2) + K = 0

con a=-0.5, de donde K=31.4 y ω =± 1.65. Por consiguiente el parámetro K no debe ser superior a 31.4
para mantener el margen de estabilidad absoluta.

Cuando se procede al diseño de sistemas, una especificación muy empleada es la que


se refiere al margen de estabilidad relativa. Por margen de estabilidad relativa se entiende
que, todos los polos de la función de transferencia deben caer fuera de del espacio del
campo complejo limitado por el eje imaginario y las rectas que, pasando por el origen,
formen con dicho eje un cierto ángulo ϕ especificado. El ángulo ϕ es el margen de
estabilidad relativa. El valor crítico del parámetro K, para que se cumpla la especificación
de margen de estabilidad relativa, se determina por intersección del lugar de las raíces y de
las rectas que, pasando por el origen forman un ángulo ϕ con el eje imaginario.

Ejemplo .9.
Para el sistema anterior vamos a fijar un margen de estabilidad relativa ϕ=30º, en este caso el valor
máximo del parámetro K viene dado por la resolución de las ecuaciones:

(a + jω)(a + jω + 2)(a + jω + 2) + K = 0

ω= − 3 a

Igualando a cero las partes real e imaginaria, se obtiene: K=10.5, a=-2/3 , ω = ±(12)1/2/3. La
figura .13. representa gráficamente la forma de determinar el valor máximo del parámetro K para que el
sistema sea estable y cumpla la especificación de margen de estabilidad relativa.

Tema : Herramientas de Análisis y Simulación 23


2.4.3. Diseño de Parámetros.
Una de las principales aplicaciones de la técnica del lugar de las raíces es su
utilización en diseño. En general en estos casos lo que se persigue es fijar el valor de una
serie de parámetros en una estructura determinada desde un conjunto de especificaciones.
Este tipo de tareas es muy usual en las acciones de diseño en sistemas de control de los
que el lector interesado puede encontrar una amplia descripción en los textos, referidos en
la bibliografía del final del tema. En muchas de estas aplicaciones el planteamiento base se
establece desde una cierta función de transferencia:

G R ( s) = FR ( K , α1 ,K , α p , s)

Donde se desea evaluar los distintos parámetros que se encuentran en la misma


para cumplir una serie de especificaciones. Normalmente la estructura del sistema viene
fijada y la ubicación del elemento GR(s), denominado controlador en Regulación
Automática, se toma según las especificaciones, usualmente en serie con el sistema, desde
una serie de controladores estándar tipos PI, PID, PD etc., o en las cadenas de
realimentación. Por no ser objeto de esta asignatura no entraremos en mucho detalle en
este apartado y remitimos al lector a la bibliografía reseñada. Pero para no dejarle con un
mal sabor de boca veremos a continuación un ejemplo extraído de [BELL-84].

Ejemplo .10.
Consideremos la siguiente representación esquemática de un sistema de control realimentado que
representa parte del controlador de disco HP-9795, diseñado para localizar los datos almacenados en el
mínimo tiempo de acceso. Le impondremos las siguientes condiciones:

a) Error en régimen permanente ante una rampa inferior en magnitud al 15%.

b) Coeficiente de amortiguamiento en las raíces dominantes inferior a 0.707.

c) Tiempo de estabilización inferior a 3 segundos.

G(s)
R(s) + E(s) K1 C(s)
- + s (s+2)
-

K2 s

H 1 (s)

Figura .14.

En este caso existe un control serie tipo proporcional, definido por GR1(s) = K1 y otro en el bucle
de realimentación, también llamado tacométrico, definido por GR2(s) = K2 s. La especificación de error
en régimen permanente ante rampa, se puede escribir como:

Tema : Herramientas de Análisis y Simulación 24


R s
ess = limt→∞ e(t ) = lims→0 sE ( s ) = lims→0 2
s 1 + G2 ( s )

donde G2(s) es:

G ( s)
G 2 ( s) =
1 + G ( s) H 1 ( s )

Y las exigencias de error se reflejan en la desigualdad:

ess 2 + K1 K 2
=
R K1
Es decir deberemos seleccionar un valor pequeño de K2 para alcanzar un bajo error. La
especificación relativa al coeficiente de amortiguamiento requiere que las raíces de la ecuación
característica del sistema controlado tenga sus raíces entre el eje real y las rectas de ángulo ϕ=45º que
pasan por el origen en el semiplano complejo negativo. El tiempo de establecimiento puede ponerse en
términos de la parte real de las raíces dominantes como:

4
ts = ≤ 3 seg
σ
Es decir será necesario adicionalmente que σ ≥ 4/3 cuestión esta que se refleja en la figura .15.a.
Es decir las raíces coincidentes con puntos del área sombreada verificarán las especificaciones del sistema.
Los parámetros a seleccionar serán α =K1 y β=K1 K2. La ecuación característica en este caso es:

1 + F ( s) = s 2 + 2 s + βs + α = 0

El lugar de las raíces para α =K1 variando entre 0 e infinito se determina desde la ecuación:

α
1+ =0
s( s + 2 )

Para una ganancia de K1=α=20 el efecto de variar β=20 K2 se determina desde el lugar de la
ecuación:

βs
1+ 2 =0
s + 2s + α
Las raíces correspondientes a un coeficiente ξ=0.707 se obtienen cuando b=4.3=20 K2, es decir
para K2=0.205, la parte real de estas raíces es σ =3.15, que provoca en el sistema un tiempo de
establecimiento de 1.27 segundos que es considerablemente inferior al de las especificaciones.

Tema : Herramientas de Análisis y Simulación 25


Ejemplo .11.
Considérese el circuito de la figura que sintetiza un filtro mediante dos amplificadores
operacionales y cuatro redes pasivas de admitancias Yi(s).

Y4(s)
R

Vi(t) Y3(s)
R
Y1(s) - Vo(t)
-
+
+

Y2(s)

Figura .16.
Se trata de ilustrar las técnicas de diseño paramétrico utilizando los conceptos del lugar de las
raíces. Para ello nos plantearemos las siguientes cuestiones

a) Demostrar que la F. de T. entre entrada y salida es:

Vo( s) -Y1 ( s) - Y2 ( s)
=
Vi ( s) Y3 ( s) + Y4 ( s)

b) Si los elementos pasivos son: 1) y 2)

R1 R2

3)

R31 R32 C32

C31

Tema : Herramientas de Análisis y Simulación 26


4)

R4

Se pide evaluar la respuesta ante escalón de 2 Uds.

c) Analizar el efecto de C32 en el comportamiento del sistema.

d) ¿Es posible sintetizar un sistema críticamente amortiguado?

e) ¿Bajo qué condiciones el sistema se comportaría como uno de primer orden?

a) Si la ganancia de los Amplificadores Operacionales es infinita así como su resistencia de entrada,


el diagrama del circuito con la representación de las intensidades que corresponden a cada malla es el
siguiente:

I3
Y4(s)
I4 R I5
I1
Vi(t) Y3(s)
R
Y1(s) - Vo(t)
-
+
+
I4

Y2(s)
I2

Figura .17.
En primer lugar se plantearán las ecuaciones correspondientes a las intensidades en los nodos del
circuito:

I 1 = I 3 + I 4 ⇒ I 4 = I 1 - I 3 (1)

I 5 = I 2 + I 4 ⇒ I 4 = I 5 - I 2 (2)

Las ecuaciones correspondientes a los valores de cada una de las intensidades son los siguientes:

I 1 = Vi ( s) • Y1( s)

I 2 = Vi ( s) • Y 2( s)

Tema : Herramientas de Análisis y Simulación 27


I 3 = -Vo( s) • Y 4( s)

I 5 = -Vo( s) • Y 3( s)

Igualando las ecuaciones (1) y (2) se obtiene:

I 1 - I 3 = I 5 - I 2 ⇒ Vi ( s) • Y1( s) + Vo( s) • Y 4( s) = - Vo( s) • Y 3( s) - Vi ( s) • Y 2( s) ⇒


⇒ Vi ( s) • Y1( s) + Vo( s) • Y 4( s) + Vo( s) • Y 3( s) + Vi ( s) • Y 2( s) = 0 ⇒

⇒ Vi ( s)[Y1( s) + Y 2( s)] = -Vo( s)[Y 3( s) + Y 4( s)] ⇒

De donde resulta:

Vo( s) -Y1( s) - Y 2( s)
=
Vi ( s) Y 3( s) + Y 4( s)

b) Para responder a esta cuestión, primero se calcularán las expresiones de las admitancias de
cada elemento pasivo:

R1 R2 R4

1 1 1
Y1 ( s) = Y2 ( s) = Y4 ( s) =
R1 R2 R4

+ -
R31 v R32 C32

I C31 I'
I''
I
Admitancia: , Vi → 0
V
Para las intensidades y tensiones de la figura se cumplen:

1  1 
V = IR31 + I ′R32 + I ′ = IR31 + I ′  R31 + ⇒
sC32  sC32 

sC32 R32 + 1
V = IR31 + I ′ (3)
sC32

Se sabe que:

Vi - R31 I
I ′ = I - I ′′ ; I ′′ = = - R31 IC31 s
1
sC31

Luego:

I ′ = I + R31 IC31 s = I (1 + sC31 R31 ) (4)

Tema : Herramientas de Análisis y Simulación 28


Sustituyendo la ecuación (4) en (3) se obtiene:

(1 + sC32 R32 )
V = IR31 + I (1 + sC31 R31 )
sC32

(1 + sC32 R32 )
V = I [ R31 + (1 + sC31 R31 ) ] ⇒
sC32

I sC32
= ⇒
V R31C32 s + (1 + sC31 R31 ) (1 + sC32 R32 )

I sC32
= 2
V s C31C32 R31 R32 + s ( R31 C32 + R32 C32 + R31 C31 ) + 1

Agrupando términos de la siguiente forma:

T1 T2 = C31C32 R31 R32


T1 + T2 = R31C31 + R32 C32 + R31C32

Se obtiene la expresión de la admitancia de la red pasiva:

sC32
Y3 ( s) =
(1 + sT1 ) (1 + sT2 )

Una vez calculadas las admitancias correspondientes a cada uno de los elementos pasivos que
componen el circuito, es posible calcular la expresión definitiva de la función de transferencia del sistema,
lo cual se realiza a continuación:

1 1
-
-
-Y1 ( s) - Y2 ( s) R1 R2
H ( s) = = ⇒
Y3 ( s) + Y4 ( s) sC32 1
+
(1 + sT1 ) (1 + sT2 ) R4

 R + R2 
- 1  R4 (1 + sT1 ) (1 + sT2 )
 R1 R2 
H ( s) = ⇒
sC32 R4 + (1 + sT1 ) (1 + sT2 )

Si hacemos:

 R + R2 
K = - 1  R4
 R1 R2 

Nos resulta la siguiente función de transferencia:

K (1 + sT1 ) (1 + sT2 )  AB = T1T 2


H ( s) = ⇒ 
s 2 T1T2 + s (T1 + T2 + C32 R4 ) + 1  A + B = T1 + T2 + C32 R4

Tema : Herramientas de Análisis y Simulación 29


K (1 + sT1 ) (1 + sT2 )
H ( s) =
(1 + sA) (1 + sB)

Para una señal de entrada en forma de escalón de 2 unidades.

2 K (1 + sT1 ) (1 + sT2 )
Y ( s) =
s (1 + sA)(1 + sB)

Descomponiendo el cociente en suma de fracciones simples tenemos:

α β γ
Y ( s) = + +
s 1 + sA 1 + sB

2 K (1 + sT1 )(1 + sT2 )


α = = 2K
(1 + sA) (1 + sB)
s=0

2 K (1 + sT1 ) (1 + sT2 ) 2 K ( B - T1 ) ( B - T2 )
γ = =
s ( s + sA) A- B
s = -1 / B

2 K (1 + sT1 ) (1 + sT2 ) 2 K ( A - T1 ) ( A - T2 )
β = =
s ( s + sB) B- A
s = -1 / A

Calculando la Transformada inversa de Laplace para obtener la respuesta del sistema en el dominio
del tiempo se obtiene lo siguiente:

 ( A - T1 ) ( A - T2 ) - 1 t ( B - T1 ) ( B - T2 ) - 1 t 
y (t ) = 2 K 1 + eA + eB 
 A( B - A) B( A - B) 

c) En primer lugar vamos a trazar el lugar de las raíces del sistema utilizando como parámetro de
estudio a C32. Para ello, primero se dispone la ecuación característica del sistema en la forma analizada
anteriormente.

K (1 + sT1 ) (1 + sT2 )
H ( s) = 2
s T1T2 + s (T1 + T2 + C32 R4 ) + 1

D( s) = s 2 T1T2 + s (T1 + T2 + C32 R4 ) + 1 = 0 ⇒

En este caso la ecuación característica se deberá disponer como:

D( s ; C32 ) = 1 + C32 F ( s) = 0

Si el lector ha llegado a este punto, operemos un poco:

Tema : Herramientas de Análisis y Simulación 30


D( s; C32 ) = s 2 R31 R32 C31C32 + s ( R31C31 + R32 C32 + R31C32 + R4 C32 ) + 1 = 0 ⇒
D( s; C32 ) = 1 + sR31C31 + sC32 ( sR31 R32 C31 + R31 + R32 + R4 ) = 0

Dividiendo por (1+sR31C31):

s( sR31 R32 C31 + R31 + R32 + R4 )


D( s; C32 ) = 1 + C32 =0
(1 + sR31C31 )

En este caso, el lugar de las raíces tiene las siguientes características:

nº ramas = nº de polos = 1

polo = -1/R31C31

cero = 0

cero = -(R31+R32+R4)/(R31R32C31)

K=0

0
R32+ R 31+ R 4
1

R31R 32C 31 R 31C 31

Figura .18.
Del análisis del lugar de las raíces se pueden apreciar varias características del sistema. En primer
lugar, puede observarse que el sistema siempre va a ser sobreamortiguado ya que todas las raíces de su
ecuación característica son reales. Además, se puede observar que el sistema siempre va a ser estable ya
que todas las raíces de su ecuación característica se encuentran situadas en el semieje negativo del eje real.

No obstante, si se quisiera estudiar la estabilidad del sistema de una forma analítica, habría que
aplicar el criterio de Routh-Hurwitz de la siguiente forma:

R31R32C31C32 1
2

R31C31+R32C32+R31C32+R4C32
1

Tema : Herramientas de Análisis y Simulación 31


1
0

En donde se pude comprobar que los valores correspondientes a la primera columna son siempre
positivos (siempre que consideremos las resistencias y capacitancias como positivas) por lo que puede
deducirse que el sistema siempre es estable para cualquier valor de C32.

Otras características de interés que pueden ser deducidas a partir del lugar de las raíces del sistema
son el comportamiento de éste cuando el parámetro K (en este caso C32) tiende a cero o a infinito. Un
estudio detallado de estos casos puede encontrarse en el apartado correspondiente al estudio de las
condiciones que hacen posible que el sistema se comporte como uno de primer orden.

d) Si el sistema es críticamente amortiguado tendría que cumplirse que existiera una raíz doble en
la ecuación característica de la función de transferencia del sistema. En el diagrama correspondiente al
lugar de las raíces mostrado en el apartado anterior puede observarse que no es posible que exista una raíz
doble para ningún valor de C32. Para demostrar esto analíticamente, hay que suponer que el polo, para un
determinado valor de C32, está situado sobre el cero. En ese caso, tendría que cumplirse lo siguiente:

-1 - R32 + R31 + R4 R32 + R31 + R4


= ⇒ = ⇒
R31 C31 R31 R32 C31 R32

R32 = R32 + R31 + R4

Lo cual nunca se cumple para valores de R31 y R4 distintos de cero. Del resultado anterior
podemos deducir varias conclusiones. En primer lugar, resulta evidente que el polo siempre va a
encontrarse situado entre los dos ceros por lo que la representación del lugar de las raíces obtenida en el
apartado anterior es correcta, no existiendo la posibilidad de que el polo se sitúe nunca a la derecha o
izquierda de los dos ceros. Esto trae como consecuencia el hecho de que no sea posible sintetizar un
sistema críticamente amortiguado por lo que el sistema se comportará siempre como sobreamortiguado
para cualquier valor de C32.

e) Podemos por último estudiar bajo que condiciones el sistema se comportaría como uno de
primer orden. Para ello, analicemos que ocurre cuando C32 tiende a cero y a infinito.

K ( s 2 T1T2 + s (T1 + T2 ) + 1)
H ( s) =
s 2 T1T2 + s (T1 + T2 + C32 R4 ) + 1

Para el caso de C32 → ∞.

s( R31 R32 C31 ) + ( R32 + R31 )


limC32 →∞ H ( s) = K
s( R31 R32 C31 ) + ( R32 + R31 + R4 )

Vemos como el sistema se comporta como un sistema de primer orden con cero adicional. Para el
caso de C32 → 0.

limC32 →0 H ( s) = K

El sistema se comporta como un sistema de primer orden. Para estudiar algunos casos intermedios
consideremos los siguientes valores de resistencias y capacidades:

R1 = 100 Ω.

Tema : Herramientas de Análisis y Simulación 32


R2 = 100 Ω.

R4 = 1000 Ω.

R31 = 100 Ω.

R32 = 100 Ω.

-3
C31 = 10 F.

C32 → Variable.

La respuesta ante una entrada en forma de escalón de 2 voltios puede observarse en las figuras
.19.a-c.

Figura .19.a. Respuesta ante escalón con C32 = 10-9 F.

Figura .19.b Respuesta ante escalón con C32 = 10-4 F.

Figura .19.c. Respuesta ante escalón con C32 = 0,1 F.


Podemos estudiar también el sistema en el dominio frecuencial, cuestión esta que incluimos como
complemento.

Tema : Herramientas de Análisis y Simulación 33


La respuesta del sistema ante una señal sinusoidal puede ser estudiada mejor en el dominio de la
frecuencia. Para el caso de un valor muy pequeño de C32, el sistema, al igual que ocurría con la entrada en
escalón, se comporta como un filtro que deja pasar todas las frecuencias. Para los otros casos las
respectivas respuestas en frecuencia de l filtro resultante se resumen en la figura .20.

Figura .20. Respuestas en frecuencia para C32 = 10-4 F. y C32 =0.1 F.

Tema : Herramientas de Análisis y Simulación 34


3. Análisis del Régimen Permanente
Es claro que durante el periodo transitorio, es decir, en el periodo que sigue
inmediatamente a la aplicación de la excitación, por muy bien diseñado que esté el sistema
para el gobierno de la señal correspondiente, ha de existir un error más o menos
importante, ya todos los sistemas existentes en la naturaleza poseen en mayor o
menor grado inercia, sea ésta mecánica o eléctrica o de cualquier otro tipo, que
impiden una corrección inmediata. Por ello se liga la precisión de un sistema a la
capacidad de mantener el error entre valores suficientemente pequeños una vez
alcanzado el régimen estacionario. En el caso específico de los sistemas e control,
clásicamente se estudia este error estacionario al ser excitado el sistema bajo análisis por
determinadas señales de prueba.

3.1. Conceptos.
Haremos énfasis en este apartado en los sistemas de control realimentados.
Consideremos el sistema de la figura .21., como sabemos el error del sistema es la
diferencia entre la señal de respuesta ideal yide(t) y la respuesta real y(t). Si el sistema fuera
ideal, el error sería nulo, lo que implicaría que la señal de salida sería igual a la propia
excitación, es decir la respuesta alcanzaría el valor deseado. Debido a esto último, se
denomina, aunque impropiamente, error del sistema a la diferencia entre la señal de
excitación y la señal transmitida por el lazo excitador. Ello no es cierto mas que cuando el
lazo de realimentación es unitario. Debe considerarse, sin embargo, que la señal
automática de mando que genera el sistema para actuar en el sentido de corregir el error
real del mismo, coincide con lo que hemos denominado error, y siempre está relacionada
con el mismo, de modo que se anulen y varíen monótonamente en coincidencia. Así pues,
la comentada definición no implica ninguna dificultad teórica, entrañando en cambio
ventajas prácticas de manipulación matemática. Por último, aunque nos refiramos en
ocasiones a los sistemas de control, las conclusiones que se obtengan tienen validez
general para cualquier tipo de sistemas, siendo irrelevante su naturaleza física, ecológica,
económica, etc.

U(s) E(s) Y(s


+
G(s)
-

H(s)
B(s)
Figura .21.

Así, para el sistema de la figura:

e(t ) = u( t ) − b( t )

Tema : Herramientas de Análisis y Simulación 35


De donde se obtiene sin dificultad la expresión transformada de la señal de error:

U ( s)
E ( s) =
1 + G ( s) H ( s )

El error estacionario será, como sabemos:

sU ( s)
ess = limt →∞ e(t ) = lims → 0
1 + G ( s) H ( s )

Se observa que el error estacionario depende tanto de la naturaleza del sistema


como de la señal excitadora.

3.2. Coeficientes Estáticos de Error


a) Coeficiente de Posición Kp.

Si excitamos al sistema con una señal escalón de amplitud A el error el


sistema es:

s ( As) A
ess = limt →∞ e(t ) = lims → 0 =
1 + G ( s) H ( s) 1 + lims → 0 G ( s) H ( s)

Se define el coeficiente estático Kp como:

K p = lims →0 G ( s) H ( s)

De donde se deduce que:

A
ess =
1+ Kp

Ejemplo .12.
Para los sistemas definidos por las funciones de transferencia en cadena abierta:

10 2
G1 ( s) = ; G 2 ( s) =
( s + 1)( s + 3) s( s + 1)

Los cuales se han considerado de realimentación unitaria y negativa. Sus respectivos errores
estacionarios ante entrada escalón unitario serán:

10
a )K p = lims→0G ( s ) H ( s ) = ; b)K p = lims→0 G ( s ) H ( s ) = ∞
3

A 3 A
a )ess = = ; b) ess = =0
1 + K p 13 1+ Kp

Tema : Herramientas de Análisis y Simulación 36


En la figura .22. se muestra este error de posición para los dos sistemas ante escalón unitario de
entrada.

1.4

1.2
b)
e
ss = 0
1
3
e
ss =
0.8 11

0.6 a)

0.4

0.2

0
0 2 4 6 8 10 12 14 16 18 20

Figura .22

b) Coeficiente de Velocidad Kv

Si excitamos al sistema con una señal tipo rampa de pendiente A, resulta:

s (A ) A
s2
ess = limt →∞ e(t ) = lims → 0 =
1 + G ( s) H ( s) lims → 0 sG ( s) H ( s)

Se define el coeficiente estático Kv como:

K v = lims →0 sG ( s) H ( s)

De donde el error en régimen permanente es:

A
ess =
Kv

A veces se le denomina a este error estacionario impropiamente error de


velocidad, denominación errónea pues es un error de desplazamiento o posición,
como puede verse en la figura .22.

Tema : Herramientas de Análisis y Simulación 37


10

8 entrada r(t)
e ss
b)
7

6
e ss

a)
5

0
0 1 2 3 4 5 6 7 8 9 10

Figura .22.

c) Coeficiente de aceleración Ka

Si excitamos al sistema con una señal parabólica el error el sistema es:

s (A 3) A
s
ess = limt →∞ e(t ) = lims → 0 = 2
1 + G ( s) H ( s) lims → 0 s G ( s) H ( s)

Se define el coeficiente estático Ka como:

K a = lims →0 s 2 G ( s) H ( s)

De donde se deduce que:

A
ess =
Ka

Lo indicado en el apartado anterior acerca de la denominación es también


aplicable al apelativo de error de aceleración que se suele aplicar al error de régimen
permanente cuando la excitación es una señal parabólica.

Ejemplo .13.
Consideremos el sistema realimentado definido por las funciones de transferencia en cadena
abierta y realimentación:

3( s + 2) 20
G ( s) = ; H ( s) =
s( s + 5)( s + 1)( s + 6) ( s + 4)

En este caso los coeficientes estáticos de error son:

Tema : Herramientas de Análisis y Simulación 38


K p = lims →0 G ( s) H ( s) = ∞

3
K v = lims →0 s G ( s) H ( s) =
2

K a = lims →0 s 2 G ( s) H ( s) = 0

Así, si el sistema es excitado por la señal:

u ( t ) = 3 + 2 t + 2t 2

El error estacionario será:

3 2 2
ess = + +
1+ ∞ 3 0
2
Este ejemplo nos ilustra que en función del conjunto G(s)H(s) se reflejan en el
sistema la capacidad de autoeliminación de errores, pues las constantes de error se definen
desde el citado conjunto. Estas ideas han llevado a establecer una clasificación de los
sistemas según su capacidad de autoeliminar el error estacionario relativo a las citadas
señales, ya que las entradas efectivas van a ser combinación, en un número alto de casos,
de aquéllas.

La forma general de G(s)H(s) es:


m
K ∏ (1 + s z )
i =1 i
G ( s) H ( s ) = n
sk ∏ (1 + s
pj )
j =1

Donde k representa el número de polos en el origen, esto es, el número de


integraciones que realiza el sistema. Pues bien, con independencia de los valores que
adopten los polos, ceros y de su número, ganancia, se dice que el tipo del sistema coincide
con el número de polos que tenga en el origen la función de transferencia en bucle abierto.
Debe quedar claro la diferencia entre tipo y orden de un sistema, pues el orden representa
el del denominador de la función de transferencia en bucle cerrado, mientras el tipo sólo
es el número de polos en el origen de la función de transferencia en bucle abierto. Puede
demostrarse que para un sistema cualquiera existe un coeficiente estático de error finito, y
los coeficientes de error de orden superior son todos nulos y los de orden inferior valen
infinito. Por ello un sistema de tipo i presenta un error estacionario de respuesta finito
cuando es excitado por una función polinómica de grado i, ello quiere decir que para cada
valor de tiempo superado el transitorio, las señales de excitación y respuesta varían
paralelamente, manteniendo una diferencia constante e igual al error estacionario. El error
es infinito cuando el grado de la excitación es superior al de tipo del sistema. Como es
lógico, estas conclusiones serán ciertas para cualquier polinomio de coeficientes reales.

Es obvio que los valores de los coeficientes estáticos de error anteriormente


definidos son números de mérito, siendo el sistema tanto más preciso cuanto mayores
sean, ya que menores serán los errores estáticos originados. Hemos de señalar aquí que
existe un cierto conflicto entre la precisión y la estabilidad del sistema, pues como se

Tema : Herramientas de Análisis y Simulación 39


analizó al estudiar el efecto de adición de polos al lugar de las raíces, la presencia de polos
en s=0 contribuyen a desestabilizar el mismo.

3.3. Coeficientes Dinámicos de Error


Los coeficientes estáticos nos permiten un conocimiento del comportamiento del
sistema en régimen permanente y para señales polinómicas o de evolución asimilable. Sin
embargo, cuando es necesaria una mayor información, es decir, cuando se necesita
conocer la evolución del error del sistema en función del tiempo, en un periodo de tiempo
no tan amplio para suponer que se ha alcanzado totalmente el régimen estacionario,
evidentemente no son útiles los errores estáticos. De forma análoga estos coeficientes
estáticos no son útiles cuando la señal excitadora es aperiódica.

Consideremos la expresión del error siguiente

U ( s)
E ( s) =
1 + G ( s) H ( s )

y hacemos:

1
W ( s) =
1 + G ( s) H ( s )

Función de transferencia del sistema ficticio asociado al real. La función ponderatriz


es como sabemos w(t), con lo cual si aplicamos el teorema de la convolución al sistema
ficticio que nos sirve de auxiliar, y en el cual la excitación es la del sistema real u(t) y la
respuesta el error del sistema real, podemos escribir:

e(t ) = ∫0 w( t − τ ) u(τ ) dτ = ∫ u( t − τ ) w ( τ ) d τ
t t

donde ç es, como sabemos, la edad variable del sistema. Supongamos ahora que la señal
u(t) es analítica, para t ≥ 0. En virtud de esta hipótesis se puede escribir el siguiente
desarrollo de Taylor para la señal excitadora:


( ) 
e(t ) = ∫0 w(τ )  u(t ) − τu′(t ) + τ 2 u′′(t )−L dτ
t 2

e(t ) = u(t ) ∫0
t t t
( )
w(τ ) dτ − u′(t ) ∫0τ w(τ ) dτ + u′′(t ) ∫0 τ 2! w(τ ) dτ +L
2

Si deseamos evaluar el error estacionario tomamos límites en la expresión anterior


para t tendiendo a infinito con lo que queda:

e(t ) = u s ( t ) ∫

0

( )
w(τ ) dτ − u s′ (t ) ∫0τ w(τ ) dτ + u s′′(t ) ∫0 τ 2 ! w(τ ) dτ +L
∞ 2

Donde us(t), us'(t), us''(t), ... representan los valores estacionarios de la excitación y
sus sucesivas derivadas. Si ahora definimos los coeficientes dinámicos de error mediante
las expresiones:

Tema : Herramientas de Análisis y Simulación 40


Co = ∫0 w(τ ) dτ

C1 = − ∫0 τ w(τ ) dτ

C2 = ∫0 τ 2 w(τ ) dτ

.....



Cn = (−1) n 0
τ n w(τ ) dτ

y si sustituimos en la expresión del error estacionario, tenemos:

C  C 
ess (t ) = Co us (t ) + C1 us′ (t ) +  2 2! us′′(t ) +L+  n n ! u s ( n (t )

Esta última expresión del error permite, por una parte obtener el valor del mismo
cuando la señal excitadora es analítica, es decir, derivable infinitamente, y por otra la
posibilidad de conocer un valor suficientemente aproximado del error una vez
transcurrido el transitorio, y por tanto, de alguna forma, conocer su evolución a lo largo
del tiempo. La obtención de estos coeficientes dinámicos también llamados en la literatura
coeficientes generalizados de error pueden realizarse desde las siguientes expresiones cuyas
demostraciones se las dejamos al lector como ejercicio:

Co = ∫0 w(τ ) dτ = lims → 0 W ( s)

dW ( s)
C1 = − ∫0 τ w(τ ) dτ = lims → 0

ds

d 2W ( s)
C2 = ∫0 τ 2 w(τ ) dτ = lims → 0

ds 2

.....

d n W ( s)


Cn = (−1) n τ n w(τ ) dτ = lims → 0
0 ds n

Tema : Herramientas de Análisis y Simulación 41


4. Introducción a la Simulación
Simular, según el diccionario de la Academia es "representar una cosa, fingiendo o
imitando lo que no es". De acuerdo con esta definición, todo modelo es una forma de
simulación. Pero lo fundamental en simulación es la observación de la actividad del modelo
o el estudio de su comportamiento. Por esta razón el interés de la simulación se centra en
modelos dinámicos. Así según Gordon [FERN-80],

Simulación de un sistema es la técnica de resolución de problemas siguiendo en el tiempo los


cambios de un modelo dinámico de un sistema.

Para Shannon [SHAN-75], la simulación incluye tanto el modelado como el uso del
modelo para estudiar el original:

Simulación es el proceso de diseñar un modelo de un sistema real y realizar experimentos con


este modelo con el propósito de comprender el funcionamiento del sistema o de evaluar diferentes
estrategias (dentro de los límites impuestos por un criterio o conjunto de criterios) para la operación
del sistema.

Se considerara el uso de la simulación cuando se den una o más de las siguientes


condiciones:

• No existe una formulación matemática del problema.

• Existe un modelo matemático, pero no métodos analíticos de resolución del


mismo.

• Existen el modelo y los métodos pero los procedimientos son tan arduos y
laboriosos que resulta más sencilla y menos costosa la simulación.

• Se desea observar en el tiempo una historia simulada del sistema.

• Se desea experimentar el modelo antes de construir el sistema.

• Es imposible experimentar sobre el sistema.

• Puede experimentarse sobre el sistema pero lo impiden motivos éticos.

• Se requiere observar un sistema de evolución muy lenta, reduciendo la escala del


tiempo.

El uso de la simulación presenta algunos inconvenientes que es necesario tener en


cuenta para evitar el riesgo de conclusiones equivocadas [FERN-80]:

1) Es frecuente que ciertos elementos o relaciones del sistema aparentemente


sin importancia se desprecien a la hora de elaborar el modelo y a causa de ellos los
resultados de la simulación sean falsos.

2) Es difícil si no imposible conocer el grado de imprecisión de los resultados


de la simulación.

Tema : Herramientas de Análisis y Simulación 42


3) Existe el peligro de la "deificación de los números". En efecto, en la
simulación de sistemas muy complejos es preciso cuantificar todos los factores a
tener en cuenta.

La técnica más antigua para la simulación consiste en utilizar un modelo icónico y en


este principio se basa la simulación analógica, que consiste en la utilización de un modelo
analógico, es decir un sistema cuyo comportamiento guarda suficientes relaciones de
homomorfismo con el del sistema original como para presumir la actividad del primero
(modelo) permita deducir la del segundo. Esta metodología de simulación conduce a la
utilización de los computadores analógicos que representa un conjunto de módulos que
pueden interconectarse muy rápidamente para constituir diferentes sistemas. En este punto
del curso sólo se trataran las técnicas de simulación digital y particularmente se hará una
introducción al uso de los lenguajes de simulación.

Para la simulación en ordenador es necesario representar el sistema continuo por un


modelo discreto que pueda traducirse en un programa. Distinguiremos tres métodos, dos de
los cuales iremos viendo a lo largo del curso con más detalle.

1. Métodos basados en la aplicación del análisis numérico para resolución de


ecuaciones diferenciales. Este tema será abordado en la asignatura
"Análisis Numérico Aplicado" que el lector encontrará como optativa
dentro del currículum de la ingeniería en informática.

2. Métodos basados en la aplicación del cálculo operacional, que permiten


aproximar el sistema por una función (o matriz) de transferencia en z a
partir de la cual se obtienen ecuaciones recurrentes. Este método será
tratado con exaustividad en el módulo tercero de este curso, pero que
incluimos en esta relación para proporcionar una perspectiva general. En
principio estos métodos presentan una limitación importante frente a los
numéricos. En efecto, los métodos numéricos se aplican del mismo modo
a los sistemas lineales invariantes que a los no lineales y/o no invariantes,
puesto que todos ellos se pueden formular en el espacio de estados. Sin
embargo, una función (matriz) de transferencia sólo se puede definir si el
sistema es lineal e invariante. Frente a esta limitación (grave limitación,
sobre todo si se pretende diseñar programas de simulación muy generales),
los métodos operacionales ofrecen una gran ventaja, requieren muchos
menos cálculos que los numéricos y, por tanto, la simulación es mucho
mas rápida. Esta ventaja puede ser decisiva si la simulación debe hacerse
en tiempo real.

3. Métodos basados en la utilización de un lenguaje especialmente pensado


para la simulación. Éstos , en realidad, no son métodos esencialmente
diferentes de los anteriores, puesto que el procesador del lenguaje tendrá
que incorporar algún método numérico u operacional, pero en el nivel
actual del curso son de gran utilidad como aspecto complementario del
análisis.

Tema : Herramientas de Análisis y Simulación 43


4.2. Lenguajes de Simulación.
Los lenguajes orientados a simulación tienen como objetivo común el minimizar el
tiempo y el esfuerzo del paso del diagrama de bloques al programa de ordenador. En
general el aprendizaje de este tipo de lenguajes requiere sólo unas pocas horas y la puesta a
punto de un programa puede hacerse de diez a cincuenta veces mas rápido si se hubiera de
desarrollar la misma aplicación en FORTRAN o C.

En general, y siguiendo la metodología que se deriva de la definición de Korn y Wait


[KORN-78], simulación es la experimentación con modelos, cada programa de simulación
poseerá dos partes básicas,

a) Un código de descripción del modelo, que llamaremos representación del


modelo dentro del programa de simulación.

b) Un código de descripción del experimento a ser realizado con el modelo,


que denominaremos representación del experimento dentro del programa de
simulación.

Así pues, en esta línea de consideraciones, existen tres requerimientos básicos a la


hora de seleccionar un lenguaje de simulación y su utilización posterior.

La primera opción reside en posibilidad de descripción el sistema a ser simulado, es


decir la posibilidad de definir tipos de elementos, o bloques funcionales, y su posible
interconexión. Esta tarea se llevará a cabo mediante sentencias de estructura, las cuales
incluyen bloques funcionales estándares y de computación "analógica" clásica. Se ha de
poder especificar la salida de cada bloque en términos de sus entradas y parámetros.

Un segundo conjunto de sentencias es necesario para proporcionar valores a las


constantes, condiciones iniciales, y especificar condiciones arbitrarias. Este tipo de
sentencias se denominan sentencias de datos o sentencias de entrada.

Un tercer conjunto de sentencias exigibles a un programa de simulación es la


posibilidad de especificar tiempos, comienzo, intervalo de integración, método de
integración, y error permitido. También se considera necesario la opción de cambio de
parámetros, condiciones de parada de la simulación, y de reinicio. Este tipo de sentencias
se denominan sentencias de control, y proporcionan una considerable flexibilidad, sobre
todo si se trabaja en modo batch o en tiempo compartido en un mainframe.

La tarea final es la de la especificación de las variables de salida y su formato. En


este punto sería interesante que el lenguaje de simulación pudiera seleccionar salida gráfica
o numérica y proporcionar títulos, etiquetas y otro tipo de información descriptiva por
medio de lo que se conoce por sentencias de salida.

En lo que se refiere a la selección, existen disponibles un amplio repertorio de


software de simulación de sistemas continuos de la que la tabla que figura en el Anexo
representa un resumen y clasificación según sus características principales, extraídas de
[KHEI-88], también en el Anexo pueden encontrase una breve descripción de algunos
programas de simulación.

Tema : Herramientas de Análisis y Simulación 44


El proceso puede ilustrarse un ejemplo. Supongamos que queramos analizar un
cierto sistema de ecuación diferencial:

d 2 x (t ) dx (t )
2 + 2 ξωn + ωn 2 x ( t ) = ωn 2 f
dt dt

Con las condiciones iniciales x(0)=x'(0)=0, resolviendo para x''(t), se obtiene:

d 2 x (t ) dx (t )
2 = −2 ξωn − ωn 2 x (t )ωn 2 f
dt dt

Utilicemos, por ejemplo las sentencias que proporciona el CSMP (Continuous


System Modelling Program), en este caso las primeras sentencias de estructura son:

X2D=-2.9*ZETA*OMEGA*X1D-X*OMEGA**2+FORCE *OMEGA **2

X1D = INTGRL (0.0,X2D)

X = INTGRL(0.0,X1D)

Donde la función INTGRL realiza la integración de la variable en cuestión con las


condiciones iniciales indicadas. Una sentencia de entrada en este marco de programación
se utiliza para especificar constantes:

CONSTANT OMEGA=2.0,FORCE=1.0,ZETA=0.5

Si se desea realizar sucesivas experiencias para distintos valores del parámetro ξ en


la ecuación descriptiva del sistema puede utilizarse una sentencia de parámetros en la
forma:

PARAM ZETA =(0.2,0.4,0.6,0.8)

Que produce cuatro simulaciones para cada valor de ξ especificado. Si el sistema se


describe con un formato de función de transferencia, el lenguaje de simulación debe
proporcionar unas sentencias de estructura apropiadas para especificar el sistema al
simulador. Por ejemplo para el sistema de la figura .25., la descripción seria:

Bloque 1 : de entrada E y salida W con valor inicial para W definido por IC,
vendrá especificado por la sentencia de estructura

W= REALPL(IC, P, E)

Bloque 2 :Cuya entrada es W y salida Y

Y = LEDLAG(IC,P1,P2,W)

Tema : Herramientas de Análisis y Simulación 45


U(s) E(s) p s+1 Y(s)
+ 1 1
ps+1 p s +1
- 2
W(s)

Figura .25.

En este ejemplo quedaría la sentencia de estructura:

E=U-Y

Además de las sentencias de entrada para definir las constantes y el valor de U, en


el caso particular del software CSMP, se especifica la subrutina de integración numérica
mediante la sentencia

METHOD RECT

que especifica una regla de integración rectangular. Los lenguajes de simulación incluyen
casi todos además sentencias relativas a funciones lógicas tipos AND , OR, NOT, ...,
comparadores exponenciadores, etc.

En general los lenguajes de simulación son siempre mas fáciles de utilizar que las
técnicas de simulación basadas directamente en métodos numéricos, pero en
contraprestación de aquellas, estas últimas son en general más rápidas, con lo cual en
aplicaciones de tiempo real será necesario el uso de técnicas de programación directa.

4.2.1. Estudio de Casos.


A modo de ejemplo introductorio vamos a ver básicamente como trabajan tres
lenguajes de simulación que utilizaremos con frecuencia a lo largo del curso. Estos son
TUTSIM, MATLAB y ACSL de los que existen versiones sobre diferentes plataformas
(MS-DOS, Windows, UNIX).

a) TUTSIM
Fue inicialmente desarrollado por la Twente University of Technology (TUT) como
una herramienta de simulación (SIM) para científicos e ingenieros y de la cual existe
disponible una versión transportable FORTRAN. El TUTSIM acepta modelos en la
forma de diagrama de bloque. El usuario de TUTSIM puede almacenar el modelo en
disco, correr dinámicamente el modelo, cambiar los parámetros del modelo de forma
interactiva y comparar cambios en la respuesta del sistema. Trabaja en modo comando y
tiene opciones gráficas o numéricas de salida bien a pantalla impresora o dispositivo
gráfico tipo plotter. El usuario puede interrumpir el desarrollo de una ejecución y controlar
la misma. Dispone de un menú de ayuda "Help" (la verdad que muy críptico), que es
suficiente como recordatorio. También incluye la opción de simulación (filtrado) en
tiempo real si las exigencias de tiempo no son considerables, caso de entradas y salidas que
varían lentamente, posee drivers de interacción con placas de conversión analógico digital.

Tema : Herramientas de Análisis y Simulación 46


El lenguaje de simulación TUTSIM considera al modelo a simular como un
conjunto de datos constituidos por cuatro partes:

1. Estructura del modelo (Model STRUCTURE)

2. Parámetros del modelo (Model PARAMETERS)

3. Bloques de salida y rangos de variabilidad de las variables en los mismos


(PLOTBLOCKS and RANGES)

4. Tiempos, esto es número de muestras total a considerar en el periodo de


simulación (FINAL TIME) e intervalo temporal entre muestras (DELTA),
necesario para los elementos integradores y diferenciadores del mismo (TIMING).

Supongamos que queremos simular la ecuación siguiente para una entrada en f(t) en
forma de escalón.

d 2 x (t ) dx (t )
2 + 2 ξωn + ωn 2 x ( t ) = ωn 2 f
dt dt

El TUTSIM permite reproducir entradas generadas internamente o como


combinación de un conjunto de entradas elementales. (aconsejamos en este punto una
lectura del manual de usuario). Así, tiene la opción del bloque tipo PLS, que permite
generar un pulso de ancho (T2-T1) y altura P. Para disponer los datos de manera que el
TUTSIM comience a trabajar, utilizamos la siguiente forma de la ecuación anterior:

d 2 x (t ) dx (t )
2 = −2 ξωn − ωn 2 x (t )ωn 2 f
dt dt

Y con los bloques básicos mostrados en la figura .26, que representa


respectivamente a:

a) Un bloque tipo ganancia (GAIN) cuya salida es la suma de las entradas Ii


multiplicadas por el parámetro P.

b) Un bloque generador de pulsos (PLS) ya descrito.

c) Un bloque tipo integrador (INT), que utiliza el método de integración de


Adams Bashfort (existen otros métodos de integración disponibles por el usuario)
y cuya salida es:


t = 0 ; U = IC

 t = ∆ t; U = IC + ∆ t * input
 1
 t = t (n + 1); U = IC + ∆ t *
2
( 3 * input (n) − input (n − 1))

Tema : Herramientas de Análisis y Simulación 47


P IC T1,T2,P
I1 I1
U U U
INT PLS
GAI
In In

Figura .26.

Construimos el diagrama de bloques de la figura .27., que representa la ecuación


anterior y definimos la estructura como sigue:
BLOCKNBR TYPE INPUT1 INPUT2 INPUT3 ;OPT.COM.

1 PLS ; Entrada

2 GAI -5 -6 1

3 INT 2

4 INT 3 ; x(t)

5 GAI 3

6 GAI 4

PLS INT INT


1 + GAI 3 3

- 2
-
GAI
5

GAI
6

Figura .27.

Para los parámetros tomaremos ωn=2, ξ=0.5 y f=1, con lo cual el bloque de
parámetros queda:
BLOCKNBR PARAMETER1 PARAMETER2 PARAM3

1 0.5 10.0 4.0

2 1.0

Tema : Herramientas de Análisis y Simulación 48


3 0.0

4 0.0

5 2.0

6 4.0

Tema : Herramientas de Análisis y Simulación 49


A continuación se fijan los rangos de valores de salida y el formato de la misma, así
como los intervalos (DELTA) de tiempo y el tiempo máximo (FINAL TIME) de
simulación. En la siguiente figura se muestra un listado del modelo y la correspondiente
salida gráfica. Al igual como ocurre con el CSMP, también en el TUTSIM se pueden
realizar múltiples simulaciones para distintos valores de un parámetro en alguno de los
bloques y cambiar de forma interactiva la estructura o los parámetros. (Ver las opciones
MR, CP, CS del modo comando en el manual de usuario). Así mismo podemos cambiar
las escalas y formato de las variables de salida.

b) MATLAB
El software de simulación MATLAB (MATRIX LABORATORY), es un programa
interactivo originalmente escrito en FORTRAN y que proporciona un fácil acceso al
software de matrices desarrollado en los proyectos LINPACK y EISPACK [DONG-
79],[SMIT-76] . Una segunda generación del MATLAB está escrita en C y existen versiones
para un gran número de equipos actuales incluyendo versiones para MS-DOS. Esta segunda
versión más depurada incluye gráficos, macros programables, aritmética IEEE, intérprete y
algunos comandos analíticos. Además, la versión para PC permite utilizar subrutinas C o
FORTRAN y el uso de tarjetas A/D, D/A y otras de Hardware específico de PC, para
adquisición de datos u operaciones en tiempo real.

MATLAB trabaja esencialmente con matrices rectangulares que pueden tener


elementos complejos e incluso ser expresiones. El MATLAB es un lenguaje de expresiones
las cuales son interpretadas y evaluadas. Éstas son de la forma:

variable = expresión

Las expresiones se componen de operadores, funciones, y nombres de variables. Se


permiten de forma directa operaciones como:

+ Adición

- Substracción

* Multiplicación

/ división por la derecha

\ división por la izquierda

^ potencia

' traspuesta conjugada

Además de operadores lógicos: >, <, ==, >=, <=, &, |, -(NOT), o sus
combinaciones.

Para definir el contenido de una matriz se sitúan los elementos por columnas
separados por blancos y se utilizan ";" para separar las filas. Por ejemplo para definir una
matriz A de 3x3 puede entrarse bien en un fichero aparte o bien directamente en modo
intérprete:

Tema : Herramientas de Análisis y Simulación 50


A = [1 2 3;4 5 6;7 8 9]

Están definidas operaciones básicas elementales como son: la traspuesta

B = A'

El producto de matrices, si la matriz C es el resultado de multiplicar las matrices A y B


anteriores se escribe sencillamente:

C=A*B

El determinante de A, que se expresa directamente como det(A), el rango rank(A), la


matriz inversa inv(A), los autovalores de A, eig(A), los autovectores correspondientes a
estos autovalores, definidos como:

[v,d] = eig(A)

El polinomio característico, que viene definido por un vector p cuyos elementos


representan el polinomio en potencias descendentes:

p = poly(A)

Las raíces de este polinomio, como es lógico serán los autovalores de A, cuestión
esta que puede comprobarse sencillamente utilizando una de las funciones básicas
definidas roots(p), que proporciona las raíces del polinomio descrito por el vector p.
Además de las citadas existen otras funciones que hacen referencias a polinomios y son de
gran utilidad como son plolyval(p,x), que realiza la evaluación de un polinomio para x,
polyvalm(p,A), que efectúa la operación con la matriz A, conv(p,q) que realiza el producto
de dos polinomios o deconv(p,q) que efectúa el cociente; o bien operaciones tales como
residue(a,b), que encuentra los residuos, polos y términos directos de la expansión del
cociente de polinomios B(s)/A(s) definido por los vectores a y b. En [MATL-86], puede
encontrarse una exposición detallada descriptiva del uso de estas funciones.

Además el MATLAB permite la evaluación de funciones trascendentales como la


matriz exponencial expm(A), la matriz logaritmo logm(A) o la matriz raíz cuadrada
sqrtm(A), lista que puede extenderse definiendo y añadiendo ficheros ".M" en la forma
indicada en el ejemplo siguiente

Ejemplo .14.

function e = expm(a)
% Matrix exponential via Pade approximation.
% (This is the algorithm the built-in expm uses.)
% See Golub and Van Loan, Matrix Computations, Algorithm 11.3-1. %
% Scale A by power of 2 so that its norm is < 1/2 .
s = norm(a,'inf');
if s > 0, s = max(0,fix(log(s)/log(2))+2); end
a = a/2^s;

Tema : Herramientas de Análisis y Simulación 51


% Pade approximation for exp(A)
X = a;
[n,n] = size(a);
c = 1/2;
e = eye(n) + c*a;
d = eye(n) - c*a;
q = 6;
p = 1;
qp1 = q + 1;
q2p1 = 2*q + 1;
for k = 2:q
% c = c * (q-k+1) / (k*(2*q-k+1));
%The following line is a little faster:
c = c * (qp1-k) / (k*(q2p1-k));
X = a*X;
cX = c*X;
e = e + cX;
if p
d = d + cX;
else
d = d - cX;
end
p = ~p;
end
e = d\e;
% Undo scaling by repeated squaring
for k=1:s, e = e*e; end
De manera que si se desea, pueden añadirse nuevas utilidades que complementen
estas definiciones de funciones base.

El MATLAB trabaja en un entorno interpretativo. Utiliza un conjunto de sentencias


de control comunes a la mayor parte de los lenguajes. Permite bucles FOR, WHILE y
sentencias condicionales IF y BREAK que posibilitan la ejecución en modo no comando.
Usualmente MATLAB se utiliza en modo comando (cuyo repertorio completo y
explicación de los mismos puede verse utilizando el "HELP" que incorpora) y procesa
inmediatamente y realiza el "display" del resultado, aunque como se ha visto puede
trabajar o ejecutar secuencia de comandos almacenadas previamente en ficheros. Estos
ficheros .M del tipo que hemos visto contienen una secuencia de sentencias MATLAB que
a su vez posibilitan la inclusión de otros M-ficheros, e incluso estos M-ficheros pueden ser
llamados recursivamente. Este tipo de M-files que incluyen una secuencia de comandos se
denominan "scripts". Además existen otro tipo de M-files denominados "functions", que

Tema : Herramientas de Análisis y Simulación 52


lo que contienen es la definición de una función, a tal tipo pertenece el ejemplo anterior
donde se evalúa la expresión exp(A) mediante la aproximación de Pade.

MATLAB posee también un repertorio de funciones para el manejo de strings, tales


como conversión de strings a enteros, valores ASCII o viceversa. Además MATLAB tiene
sentencias de salida (tipo input output, de formato muy similar al C) y primitivas gráficas
2D y 3D que gestionan (En el caso del MS-DOS) la pantalla en modo plotter. Posee
postprocesadores gráficos (GPP) que permite la preparación de los datos gráficos de
pantalla (Comando META y ficheros.met) para un conjunto de dispositivos gráficos
bastante comunes (incluyendo GSS CGI devices drivers). Aunque en el anexo se muestra
el resumen de comandos aconsejamos al lector una lectura atenta de [MATL-86] para una
mejor compresión de las potencialidades básicas de esta útil herramienta.

El software MATLAB, además del conjunto base citado, posee una serie de
"TOOLBOX", que permiten utilizar funciones adicionales específicas para un conjunto de
aplicaciones, entre las de mas interés en el entorno de teoría de sistemas se encuentran:

* Signal Processing Toolbox

* Control System Toolbox

* System Identification Toolbox

* Optimization ToolBox

Que simplifican notablemente la tarea de análisis y diseño de sistemas. En este nivel


del curso existen muchas utilidades de las librerías que no son fácilmente entendibles y que
en una primera aproximación presentamos en este tema. No obstante, conforme el
desarrollo del curso tenga lugar, iremos viendo las distintas aplicaciones y utilidades en su
momento.

Ejemplo .5.
En el nivel que nos encontramos podemos entender algunas utilidades que se incluyen en "Control
System Toolbox", así por ejemplo, si se desea estudiar el comportamiento de un sistema realimentado
definido por las función de transferencia en bucle abierto y de realimentacion:

Tomando como datos:

K=1;

wn=1;

XI=0.5;

a=1.5;

b=2.0;

Definimos:

Tema : Herramientas de Análisis y Simulación 53


num1 = K*wn^2* [1 a];

den1 = [1 (2*XI*wn) (wn^2)];

den2 = [1 b];

El denominador completo en bucle cerrado se obtiene como:

den = conv(den1,den2)+ conv([0 0 1],num1);

Podemos estudiar las frecuencias naturales y los factores de amortiguamiento de los polos del
sistema haciendo:

[FREQ,AMORT] = damp(den);

que para este caso nos resultan:

FREQ = 1.8612

1.3713

1.3713

AMORT = 1.0000

0.4152

0.4152

propio de un sistema con dos polos complejos de coeficiente ξ=0.4152 y otro polo real situado en σ3=-
1.8612. Para estudiar su respuesta en bucle cerrado (por ejemplo para K=1 y K=2) ante escalón utilizamos
el siguiente bucle:

for K=2:-1:1

num1=K*wn^2*[1 a];

den = conv(den1,den2) + conv([0 0 1],num1);

num = conv(num1,den2);

t=0:0.01:10;

st=step(num,den,t);

plot(t,st,'-');

title('SISTEMA SEGUNDO ORDEN (CERO Y POLO ADICIONAL)'); xlabel('tiempo (seg.)');

hold;

end;

grid;

Tema : Herramientas de Análisis y Simulación 54


donde el intervalo temporal de evaluación se ha establecido en la variable t con el incremento de 0.01. La
función de dibujo hold retiene la última figura y mantiene las características de la misma (ejes, escala, etc)
para sucesivas gráficas hasta que se establezca una sentencia en la forma hold off. La sentencia de salida
grid coloca una rejilla según el escalado elegido. En la figura .29. puede verse el resultado al cual se le ha
realizado un postproceso utilizando el GPP.

SISTEMA SEGUNDO ORDEN (CERO Y POLO ADICIONAL)


1.8

1.6

1.4
K=2
1.2

K=1
0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
tiempo (seg.)

Figura .29.
Si deseamos estudiar la respuesta impulsional no tenemos mas que cambiar la función step
utilizada en el ejemplo anterior por:

imp=impulse(num, den, t);

En la figura .30. se muestra el resultado de la respuesta para los valores de K=1 y K=2 en la
función de transferencia en bucle abierto.

Tema : Herramientas de Análisis y Simulación 55


SISTEMA SEGUNDO ORDEN (CERO Y POLO ADICIONAL)
2.5

Respuesta Impulsional
1.5

K=2
1

0.5

K=1
0

-0.5

-1
0 1 2 3 4 5 6 7 8 9 10
tiempo (seg.)

Figura .30.

MATLAB permite asimismo la utilización de entradas arbitrarias definidas por el


usuario mediante la utilidad lsim en la forma:

y = lsim(num,den,U,t);

donde y es el vector de salida t el vector (rango de tiempos) y U un vector de la mismas


dimensiones que t que representa la entrada arbitraria.

Ejemplo .16.
Si deseáramos estudiar el lugar de las raíces de la ecuación característica del sistema podemos
emplear la utilidad rlocus de la siguiente forma:

% definición de ejes e intervalo de ploteado

xaxis1 =[ -3 0.5];

xaxis2 =[ 0 0];

yaxis1 =[ 0 0];

yaxis2= [-4 4];

plot(xaxis1,yaxis1,xaxis2,yaxis2,'-'); hold;

%definicion de constantes

wn=1;

XI=0.5;

Tema : Herramientas de Análisis y Simulación 56


a=1.5;

b=2.0;

den1= [1 (2*wn*XI) (wn^2)];

den2= [ 1 b];

num1=wn^2*[1 a];

den = conv(den1,den2);

% definicion del rango de K

K=0:0.2:50;

% obtencion en r de coordenadas del lugar

r=rlocus(num1,den,K);

plot(r,'+');

xlabel('REAL');

ylabel('IMAGINARIA');

El resultado correspondiente puede verse en la siguiente figura, nótese que se ha seleccionado


previamente una zona de ploteado por claridad del resultado.

Tema : Herramientas de Análisis y Simulación 57


4

IMAGINARIA
2

1
k=0
k=0
0

k= οο k=0
-1

-2

-3

-4
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5
REAL

Figura .31.

Otras utilidades interesantes pueden verse en el "CONTROL SYSTEM


TOOLBOX User's Guide" de la Math-Works. Los otros TOOLBOX nos serán de
utilidad a lo largo del curso y se irán viendo de forma sucesiva. A modo de introducción el
"SIGNAL PROCESSING TOOLBOX" incluye elementos de análisis en frecuencia de
sistemas discretos, FFT, diseño de filtros, FFT bidimensional, correlaciones, análisis
espectral y otras utilidades para proceso de señal, interesantes de cara a disponer de una
herramienta complementaria para la asignatura "Proceso de Señal por Ordenador"
optativa en el curriculum. Una de las utilidades simples de entender de este último
TOOLBOX es la de respuesta en frecuencia de filtros analógicos. Esta utilidad se
denomina freqs y se utiliza como ilustra el siguiente ejemplo.

Ejemplo .17.
% definición de parámetros
%
K=1;
wn=1;
XI=0.5;
a=1.5;
b=2.0;
den1= [1 (2*wn*XI) (wn^2)];
den2= [1 b];
num1=K*wn^2*[1 a];
den = conv(den1,den2) + conv([0 0 1],num1);
%

Tema : Herramientas de Análisis y Simulación 58


% definición del rango de frecuencias 10 exp(-25 a 10 exp(1) en
% radianes
%
w=logspace(-2,1);
%
% conversión a Hz.
%
f=w/(2*pi);
%
% obtención de la respuesta en frecuencia, se evalúan
% los polinomios num1 y den para cada frecuencia y se divide la
% respuesta del numerador y denominador
% el algoritmo completo es:
%
% s=sqrt(-1)*w
%
% h=polyval(num1,s)./polyval(den,s);
%
h=freqs(num1,den,w);
mag=abs(h);
phase=angle(h);
%
% conversión a grados.
%
phase=phase*180/pi;
%
% sentencias de salida
%
subplot(211),loglog(f,mag),title('MAGNITUD'),xlabel('HZ.');
subplot(212),semilogx(f,phase),title('FASE'),xlabel('HZ'),ylabel('GRADOS'); subplot;
En la siguiente figura se muestran las respuesta del sistema en la forma módulo-fase:

Tema : Herramientas de Análisis y Simulación 59


MAGNITUD
100

10-1

10-2 -3
10 10-2 10-1 100 101
HZ.

0 FASE

GRADOS
-50

-100

-150

-200
10-3 10-2 10-1 100 101
HZ

Figura .32.

Tema : Herramientas de Análisis y Simulación 60


Ejemplo .18.
En este ejemplo veremos cómo resolver ecuaciones diferenciales no-lineales utilizando MATLAB.
Se trata de estudiar las Leyes de Keppler, para lo que consideraremos el esquema de la figura .33.

En ella se simboliza a un planeta de masa m que gira alrededor del sol, que tiene una masa M,
siguiendo una órbita elíptica, descrita por el radiovector r dirigido desde el sol hasta el planeta, y por el
ángulo θ que forma el radiovector r con el eje de coordenadas. Nos planteamos las siguientes cuesiones:
r
a) Desde una posición inicial arbitraria r ( 0 ) y velocidad inicial:
r
r dr (t ) 
v (0) = ,
dt  0

obtener las expresiones numéricas para r(t) y θ(t).

b) Utilizando el MATLAB, representar r(t) frente a θ(t), y mostrar que se verifican las tres leyes de
Keppler.

c) Estudiar el movimiento del planeta para el caso de que este se detuviera en un momento dado.

d) Razonar el efecto de una fuerza de rozamiento en el movimiento del planeta.

Dirección del movimiento en t=0


ir

Posición del planeta


en t=0
Planeta en r0
t>0
iθ θ
r=rir
θ0

Sol x

a a

Figura .33.

a) Para deducir las leyes de Keppler, partiremos de la función radio, la cual tiene la forma:

r=rur

Tema : Herramientas de Análisis y Simulación 61


donde ur es el vector unitario en la dirección de r,

ur=icosθ+jsenθ

de igual manera, el vector unitario en la dirección del ángulo será:

uq=-isenθ+jcosθ

Derivando en ambas expresiones con respecto a θ, obtenemos las dos expresiones siguientes:

dur
uθ =

du
ur = − θ

con las cuales podemos obtener la velocidad en la dirección radial como:

dr du dr du dθ dr dθ dr
v= = r r + ur =r r + ur = r uθ + ur
dt dt dt dθ dt dt dt dt
y la aceleración, que valdrá:

dv  d 2 θ dr dθ   d 2 r  dθ  2 
a= = r +2 u +  − r  ur
dt  dt 2 dt dt  θ  dt  dt  

La fuerza que actúa sobre el planeta, la podemos expresar mediante la segunda ley de Newton del
movimiento, como:

F = Fθ uθ + Fr ur = ma

y sustituyendo a por el valor calculado previamente, obtendremos:

 d 2θ dr dθ 
Fθ = m r +2 
 dt dt dt 

 d 2 r  dθ  2 
Fr = m − r  
 dt  dt  

De la ley de gravitación universal:

GMm
Fr = −
r2
e igualando las expresiones, obtenemos:

2
d 2 r  dθ  GM
− r  = − 2
dt  dt  r

Tema : Herramientas de Análisis y Simulación 62


y dado que en el caso del planeta no existe fuerza en la dirección del movimiento, esto es Fθ=0,
tenemos que:

d 2θ dr dθ
r +2 =0
dt dt dt
ecuaciones que podemos expresar como:

MG
r •• − r ( θ • ) = −
2

r2
2r •θ • + rθ •• = 0
que son las referidas ecuaciones de Keppler que rigen el movimiento de los planetas. Procedamos
a obtener las expresiones numéricas para r(t) y θ(t). Para ello, se han utilizado los datos aproximados
relativos a nuestro planeta:

θ=0

θ' = 1.99e-7

r = 1.496e8

r' = 0

Y planteemos una simulación en el programa MATLAB, mostrada en el listado siguiente:

clear

clc

format long;

Theta=input('Entre el valor del angulo inicial (rad): ');

Thetap=input('Entre el valor de la derivada del angulo: ');

r=input('Entre el valor del radio (Km): ');

rp=input('Entre el valor de la velocidad inicial (r`): ');

tfinal=input('Entre el valor máximo del tiempo (dias): ');

tfinal=tfinal*86400; % Se pasa de dias a segundos

Y0=[Theta,Thetap,r,rp]';

% Integración de las ecuaciones derivadas que describen el

% sistema.

[t,y]=ode23('edk',0,tfinal,Y0,1e-6,1);

% Angulo frente al radio.

plot(y(:,1),y(:,3));

Tema : Herramientas de Análisis y Simulación 63


xlabel('Angulo (rad)');

ylabel('Radio (Km)');

El programa comienza pidiendo los valores iniciales de θ, θ•, r y r•, así como el intervalo de tiempo
en el que se quiere hacer la simulación. Con estos datos, se crea un vector Y0 de condiciones iniciales, y se
llama a la función ODE23 la cual integrará las ecuaciones diferenciales que se muestran más abajo, para
obtener los vectores de solución. Esta función tiene el siguiente formato:

[t,y]=ode23('función', tinicial, tfinal, Vini, prec, traza)

donde:

función se corresponde con el nombre del fichero que contiene la función con las ecuaciones
diferenciales a integrar.

tinicial es el instante en el que se desea comenzar la integración ( en asumido este caso como
0).

tfinal indica el instante en el que acabará la integración.

Vini son los valores iniciales en el instante tinicial.

prec es un valor de precisión. Por defecto, se utiliza un valor de 10-3.

traza indica si es 1 que se muestren los valores calculados durante el proceso. Si es 0, el cálculo
se hará sin mostrar nada.

t vector de tiempos.

y matriz de soluciones. Esta matriz tendrá tantas columnas como el número de ecuaciones a
resolver, y tantas filas como instantes en los que se haya calculado (estos instantes los elige la
función ODE23).

La función ODE23 necesita como primer parámetro el nombre de una función que contendrá las
ecuaciones a integrar. Para obtener estas ecuaciones seguiremos los siguientes pasos:

-1. Se eligen unas variables auxiliares, que tomarán los siguientes valores:

para la primera ecuación

y1 = θ

y2 = θ•

para la segunda ecuación

y =r
3

y = r•
4

-2. Derivando estas expresiones obtenemos:

y • = θ•
1

Tema : Herramientas de Análisis y Simulación 64


y • = θ•• =
−2r •θ •

2
r
y • = r•
3

− MG
y • = r•• = + r(θ )
• 2
4
r2
-3. Cambiando las variables por sus equivalentes:

y•=y
1 2

y•= −2 y4 y2
2
y3

y•=y
3 4

y•= − MG + y33 y22


y32
4

que son las ecuaciones que hemos colocado en el fichero edk.m. De esta forma, este fichero nos
queda:

function yp=edk(t,y)

MG=1.32733e11; % MG=1.99e30*6.67e-20

%Ecuaciones derivadas que describen el sistema.

yp(1)=y(2); % θ1'

yp(2)=(-2*y(4)*y(2))/y(3); % θ2'

yp(3)=y(4); % r1'

yp(4)=(-MG+y(3)^3*y(2)^2)/(y(3)^2); % r2'

Para nuestros cálculos, hemos asumido siempre un ángulo inicial θ de 0º y una velocidad r•=0.
Para calcular el valor de θ••, hemos utilizado la segunda ecuación, que mostramos a continuación:

MG
r •• − r (θ • ) = −
2

r2

en la que r•• será 0 por ser r•=0. Luego, despejando θ•:

MG
θ•=
r2
b) En este segundo apartado, representaremos los valores del ángulo frente a los valores del radio,
y mostraremos que se cumplen las leyes de Keppler. Estas tres leyes son:

Tema : Herramientas de Análisis y Simulación 65


La órbita de un planeta alrededor del sol es una elipse.

Las áreas barridas por el radiovector son iguales para tiempos iguales.

El cuadrado del período orbital es proporcional al cubo del semieje mayor de la elipse formada
por la órbita.

Al representar del ángulo frente al radio hemos obtenido la siguiente gráfica:

Figura .34.
En la que se aprecia como el radio varía desde un máximo en el instante t0 para llegar a un mínimo
en el lado opuesto de la elipse, o sea, cuando el planeta está más cerca del sol, y vuelve a alcanzar el
máximo al completar la vuelta.

Seguidamente pasamos a comprobar que se verifican las tres leyes de Keppler.

Para comprobar que se cumple la primera ley de Keppler, hemos representado la función r*sin(θ)
frente a r*cos(θ), obteniéndose la siguiente gráfica:

Tema : Herramientas de Análisis y Simulación 66


Figura .35.
% Calcula los vectores seno y coseno.

c=y(:,3).*cos(y(:,1)); % c=r*cos(Theta)

s=y(:,3).*sin(y(:,1)); % s=r*sen(Theta)

% Representaci¢n.

plot(c,s,0,0,'xg');

En la que se puede apreciar que la órbita de la tierra se aproxima más a un círculo que a una elipse,
no obstante, como se ha visto anteriormente, el radio no permanece constante al variar el tiempo, de lo
que se deduce que la órbita no es circular.

t1

r t2

Figura .36.
El área barrida por el radio vector en el intervalo de tiempo (t1, t2) viene dada por la siguiente
expresión:

1 θ2 2 1 t2 1 t2
∫ ∫ ∫ r dθ = ∫t r 2 θ • dt = ∫t f dt
θ2 r (θ )
A = [ Area] t12 =
t
r dr dθ =
θ1 0 2 1
θ 2 1 2 1

Tema : Herramientas de Análisis y Simulación 67


donde

f = r 2θ •
Si las áreas barridas en dos intervalos de tiempo idénticos, han de ser iguales, la función f ha de ser
constante. Desde MATLAB nos resulta la siguiente gráfica:

Figura .37.
Donde se puede ver que efectivamente se trata de una función constante, y que por lo tanto, para
intervalos iguales, las áreas encerrada bajo ella, son iguales.

c) Se pretende responder en este apartado, a la pregunta de qué ocurriría si el planeta se parase en


un instante dado. Esta situación se da cuando la primera derivada del ángulo se hace cero, esto es θ•=0.
Usando este valor como condición inicial en la simulación, obtenemos la siguiente gráfica:

Figura .38.
En la que se comprueba que si el planeta se parase en ese punto, caería al sol en un período de
aproximadamente dos meses.

Tema : Herramientas de Análisis y Simulación 68


d) Por último, se ha estudiado el efecto que una fuerza de rozamiento tendría sobre la trayectoria
del planeta. Para ello, hemos utilizado una fuerza de rozamiento de la forma

F=Kr•

Que al sumarse a la fuerza de atracción del sol, nos convierten las ecuaciones del sistema en las
siguientes:


θ 1 = θ2
• 2r2 θ2
θ2 = −
r1

r 1 = r2
• MG
2 + r1 ( θ 2 ) − Kr2
2
r2 = −
r1

quedando la función edk de la siguiente forma:

function yp=edk(t,y)

MG=1.32733e11; % MG=1.99e30*6.67e-20

K=1e-3;

%Ecuaciones derivadas que describen el sistema.

yp(1)=y(2);

yp(2)=(-2*y(4)*y(2))/y(3);

yp(3)=y(4);

yp(4)=((-MG+y(3)^3*y(2)^2)/(y(3)^2))-K*y(4);

A continuación se muestran las gráficas obtenidas para diferentes valores del parámetro

Tema : Herramientas de Análisis y Simulación 69


Figura .39

Figura .40.
En las gráficas anteriores se comprueba que a medida que se aumenta el valor de K, el planeta
tiende a caer a órbitas inferiores, donde se estabiliza. Si el valor de K se aumenta en exceso, la velocidad
del planeta es incapaz de vencer la fuerza de atracción y cae sobre el sol.

Tema : Herramientas de Análisis y Simulación 70


Ejemplo .19.
En este ejemplo ilustraremos el uso de las utilidades de MATLAB para la identificación de
funciones que vengan dadas por un cierto conjunto de datos numéricos. Consideremos el dispositivo para
l levitación magnética de la figura. La fuerza que se ejerce sobre la bola es una cierta función F(x,i),
dependiente del desplazamiento y de la intensidad.

i(t)

X(t)
Xo

FOTOSENSOR

Figura .41.
Esta fuerza está motivada por la presencia del campo electromagnético y descrita por las curvas
experimentales de la figura .43., evaluadas para una bola de 1cm. de diámetro y masa M=8.4 10-3 Kg. Si
aplicamos una intensidad de 600 mA y un desplazamiento de x=2.65 mm la fuerza magnética cancela
justamente a la fuerza de la gravedad. Se dispone además de una fuente de intensidad controlada por
tensión de manera que:

i (t ) = Ki Vi (t ) ; Ki = 1 mA / V

Además se incorpora un sumador-restador basado en un amplificador operacional y un sensor


fotoeléctrico tal que:

Vx (t ) = K x x (t ) ; K x = 10 V / mm

Con ellos se construye el sistema realimentado de la figura .42. Para el cual vamos a establecer el
modelo del sistema y estudiar el comportamiento en torno al punto de equilibrio definido por la
cancelación de fuerzas gravitatoria y magnética.

El objeto del sistema, es el control de la posición de la bola, esto es, ante variaciones de la posición
de la bola detectadas por el fotosensor, el sistema generará incrementos o decrementos en la intensidad,
para así variar la fuerza de atracción magnética sobre la bola.

Tema : Herramientas de Análisis y Simulación 71


El punto de equilibrio del sistema se alcanza para una intensidad de 600 mA y un
desplazamiento de 2.65 mm, tomando la medida de desplazamiento de abajo hacia arriba.
La ecuación que rige el movimiento del sistema es

Xrf(t) + i(t) x(t)


Ki SISTEMA 1

Vx(t)
Kx

Figura .42.

d 2 x (t )
F ( X ; I ) - mg = m
dt 2
Esto es, los desplazamientos de la bola vendrán dados por la diferencia entre la fuerza de atracción
magnética y la gravitatoria. Cuando esta última sea mayor,, la bola tenderá a caer, y a subir en el caso de
que sea menor. La fuerza de atracción magnética viene dada por la siguiente gráfica de la figura .43.

Figura .43.
Vamos a realizar una aproximación de la función descrita en la gráfica utilizando MATLAB para
realizar la identificación de los coeficientes. La función que hemos tomado como aproximación es:

F ( X ; I ) = I 2 ( t ) ( K1 X 2 ( t ) + K 2 X ( t ) + K 3 ) +

+ I ( t ) ( K 4 X 2 ( t ) + K5 X ( t ) + K 6 ) +

+ ( K 7 X 2 ( t ) + K8 X ( t ) + K 9 )

Tema : Herramientas de Análisis y Simulación 72


Los coeficientes de la función anterior ( K1 .. K 9 ) , se han calculado haciendo uso de la función
LEASTSQ, de la Toolbox de Optimización. El programa para la determinación de los coeficientes es el
siguiente:

% Cálculo de los coeficientes para aproximarse a la gráfica dada,

% mediante la elección de una función.

format short e

global Data

Data = ...

[0 0.5 20e-3

1e-3 0.5 25e-3

2e-3 0.5 35e-3

3e-3 0.5 50e-3

4e-3 0.5 65e-3

5e-3 0.5 90e-3

0 0.6 60e-3

1e-3 0.6 63e-3

2e-3 0.6 73e-3

3e-3 0.6 90e-3

4e-3 0.6 108e-3

5e-3 0.6 125e-3

0 0.7 100e-3

1e-3 0.7 110e-3

2e-3 0.7 120e-3

3e-3 0.7 128e-3

4e-3 0.7 141e-3

5e-3 0.7 160e-3]

clg;

% Estimaciones iniciales :

lam = [0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1]'

% Resultado final de las aproximaciones :

Tema : Herramientas de Análisis y Simulación 73


lam=leastsq('fun',lam)

El siguiente programa es el que se utiliza en la llamada a la función LEASTSQ en el anterior


programa, y representa la función que hemos elegido como la más aproximada a la gráfica dada.

function f = fun(lam)

% Retorna el error entre los datos y los valores actuales de lam en

% la funcion. Se asume que la función es:

% f1 = ( x.^2*lam(1) + x*lam(2) + lam(3) );

% f2 = ( x.^2*lam(4) + x*lam(5) + lam(6) );

% f3 = ( x.^2*lam(7) + x*lam(8) + lam(9) );

% f = ((i.^2).* f1 + i.* f2 + f3) - Data(:,3);

x = Data(:,1);

i = Data(:,2);

f1 = ( x.^2*lam(1) + x*lam(2) + lam(3) );

f2 = ( x.^2*lam(4) + x*lam(5) + lam(6) );

f3 = ( x.^2*lam(7) + x*lam(8) + lam(9) );

f = ((i.^2).* f1 + i.* f2 + f3) - Data(:,3);

Los coeficientes obtenidos son

K1 4
-2.41 10

K2 1
2.33 10

K3 -1
2.12 10

K4 4
2.33 10

K5 1
-1.19 10

K6 -1
1.51 10

K7 3
-3.48 10

K8 3.26

K9 -1
-1.08 10

El comportamiento del sistema en su conjunto viene definido por

Vx (t ) = K x x (t )

Tema : Herramientas de Análisis y Simulación 74


que determina la realimentación al sistema, y por la ecuación

i (t ) = Ki Vi (t )

Sustituyendo obtenemos la ecuación

i (t ) = Ki ( X rf - K x x (t ) )

Que representa la intensidad en función de la diferencia entre la posición de referencia y la lectura


obtenida del fotosensor. Y por último:

d 2 x (t ) F ( X ; I ) - mg
2 =
dt m
Cualquier variación en la entrada de referencia, ya sea por encima del punto de equilibrio (x=2.65
mm, i=600 mA), o por debajo, provocará que el sistema genere una compensación haciendo oscilar la
bola en torno a su punto de equilibrio.

Para estudiar el sistema ante variaciones en la entrada Xrf.diseñamos un programa MATLAB.


Para generalizar el programa hemos dejado la variable Xrf, como global para poder asignarle cualquier
valor desde la línea de comandos del MATLAB, corriendo así siempre el mismo programa, con valores
distintos en la entrada.

% Estudio de las variaciones del sistema no linealizado.

% con las condiciones iniciales de:

t0 = 0;

tfinal = 2.5;

y0 = [2.65e-3 0]';

[t,y] = ode23('nolinefu',t0,tfinal,y0);

clg;

% Representamos la salida del sistema no linealizado.

plot(t,y(:,2)), title('Evolución del sistema para cambios de Xrf (Xrf = 2.5)'),pause;

Igualmente al caso anterior, ahora mostramos la función MATLAB, que es llamada por la función
ODE23, y que representa al modelo.

function yprime = difer(t,y);

% Difer(t,y) retorna el estado de las derivadas de la ecuación:

% i = 1*( Xrf - 10*y(1) );

% f1 = (-2.41e4 * y(1)^2 + 2.33e1 * y(1) + 2.12e-1);

% f2 = ( 2.33e4 * y(1)^2 - 1.19e1 * y(1) + 1.51e-1);

% f3 = (-3.48e3 * y(1)^2 + 3.26e0 * y(1) - 1.08e-1);

Tema : Herramientas de Análisis y Simulación 75


% yprime(2)= (( i^2 * f1 + i * f2 + f3 ) - 8.4 * 9.8 ) / 8.4;

% yprime(1)= y(2);

% i(t) = Ki * (Xrf(t) - Kx * x(t))

i = 1*( xrf - 10*y(1) );

f1 = (-2.41e4 * y(1)^2 + 2.33e1 * y(1) + 2.12e-1);

f2 = ( 2.33e4 * y(1)^2 - 1.19e1 * y(1) + 1.51e-1);

f3 = (-3.48e3 * y(1)^2 + 3.26e0 * y(1) - 1.08e-1);

yprime(2)= (( (i.^2).* f1 + (i).* f2 + f3 ) - 8.4 * 9.8 ) / 8.4;

yprime(1)= y(2);

Tema : Herramientas de Análisis y Simulación 76


La gráfica siguiente muestra el comportamiento del sistema al variar la entrada Xrf a 3.65 mm

Figura .44.
Para apreciar la rapidez con que el sistema, llega al punto de equilibrio incluimos la siguiente
gráfica, en la que hemos situado la entrada Xrf en 2.5 mm, es decir, más próxima al punto de equilibrio
2.65
mm.

Figura .45
Como se puede observar la amplitud de la variación en la entrada Xrf con respecto al punto de
equilibrio, determina el tiempo que tarda el sistema en llegar a la posición de equilibrio, en la cual se
mantendrá oscilante.

Ante una entrada senoidal de frecuencia 30 Hz. y amplitud 0.1mm., el sistema no lineal responde
con un comportamiento senoidal, en torno al punto de equilibrio, siempre de forma oscilante, como se
puede ver en la siguiente gráfica.

Tema : Herramientas de Análisis y Simulación 77


Figura .46.

c) ACSL
El ACSL (Advanced Continuous Simulation Language) es un programa de
simulación que permite modelar y evaluar el comportamiento de sistemas continuos
descritos por ecuaciones diferenciales no lineales dependientes del tiempo. Para ello, el
programa utiliza un lenguaje de construcción de modelos basado en el uso de
instrucciones propias que permiten representar el sistema bajo estudio desde diagramas de
bloques, ecuaciones integro-diferenciales, sentencias Fortran, etc.

El programa de definición del modelo, creado por el usuario, incluirá básicamente


sentencias formadas por instrucciones del ACSL siendo posible su simulación bajo control
del usuario bien interactivamente o bien desde ficheros de comandos. Además, el usuario
puede incluir en el programa sentencias con la forma del lenguaje FORTRAN tales como
expresiones, saltos, sentencias condicionales, etc... y subrutinas en dicho lenguaje.
Respecto a las características del lenguaje remitimos al lector al manual de referencia
[ACSL-87], donde encontrará una exposición mas detallada de comandos e instrucciones.
Aquí estableceremos una breve descripción introductoria de su uso.

El primer paso de la simulación consiste en la especificación del modelo del sistema


estudiado. Para ello, partiendo de las ecuaciones o del diagrama de bloques que describe su
comportamiento se construye un programa compuesto básicamente de instrucciones del
ACSL y se almacena en un fichero con extensión .CSL. La forma más conveniente de
estructurar un programa de definición en ACSL es dividirlo en Secciones: INITIAL,
DYNAMIC, DERIVATIVE, DISCRETE y TERMINAL. Las características y orden de
colocación se pueden ver en el manual de usuario que se incluye junto a la bibliografía de
este tema. Cada sección está definida por las sentencias que se encuentran entre su
nombre y la palabra clave END. Según las necesidades del modelo a definir se podrán
omitir algunas de estas secciones. Algunos elementos básicos útiles también se han
incluido en la citada figura.

Las instrucciones del ACSL representan los diferentes bloques que forman un
modelo, tienen la forma de rutinas de un lenguaje de programación y se pueden incluir en
el programa en forma de llamadas a funciones o subrutinas. Así por ejemplo, nos
encontramos instrucciones para definir señales de entrada :

STEP (tiempo inicial)

Tema : Herramientas de Análisis y Simulación 78


RAMP (tiempo inicial)

O de operaciones básicas tales como la integración, elemento fundamental del


ACSL:

INTEG (Entrada,Cond. Inicial)

De tratamiento de sistemas lineales sencillos tales como sistemas de primero,


segundo orden y orden n:

REALP (coef. de s,entrada,cond. inicial)

CMPXPL (coef. de s2,coef. de s,entrada,cond. inicial de la derivada, cond. inicial)

TRAN (orden numerador, orden denom., array num., array denom., entrada)

O bien de elementos que se utilizarán más adelante en el curso de sistemas definidos


por ecuaciones en diferencias como:

DELAY (Entrada,Cond. Inicial,T. Retraso,100)

ZOH (Entrada,Cond. Inicial,T. inicial,T de muestreo)

También se incorporan sentencias de control del tipo:

IF (condición) GO TO etiqueta

TERMT (Cond. de terminación)

Los comandos de ejecución se pueden introducir de forma interactiva o formar


parte del fichero de comandos con extensión CMD. Normalmente el usuario utilizará el
fichero .CMD para automatizar la ejecución de los comandos que permiten cambiar los
valores de los parámetros, dibujar gráficas de diferentes formas y otras funciones.

En una primera aproximación, para conectar desde el entorno de ejecución con el


fichero de comandos se utiliza el comando:

SET CMD = 10

Entre los comandos más usuales, podemos destacar los siguientes [ACSL-87]:

1) Comandos de asignación de valores a variables:

SET variables = valor

2) Comandos de definición de variables a calcular

PREPAR ['CLEAR'],lista de variables

3) Comandos de visualización/salida de variables

OUTPUT [CLEAR NCIOUT'=valor],variables DISPLY ['ALL'] variables

Tema : Herramientas de Análisis y Simulación 79


PLOT [opciones],Eje X,Variables eje Y

4) Comandos para inicio/fin de ejecución:

START

CONTIN

STOP

5) Comandos de medida de tiempos de ejecución:

SPARE

6) Comandos de almacenamiento/recuperación de datos

SAVE fichero

RESTORE fichero

Una forma de hacer más flexible y controlable por el usuario una sesión de
simulación en el entorno interactivo del ACSL es agrupar los comandos del fichero CMD
en un conjunto de Procedimientos que podrán ser llamados de forma interactiva desde el
teclado. Para ello se define cada procedimiento de la siguiente forma:

PROCED nombre

-----

start

-----

(comandos de ejecución)

-----

set cmd = 5

END

De esta forma el fichero de comandos .CMD estará formado básicamente por una
serie de comandos de inicialización (PREPAR, etc) de las variables de la simulación
seguidos por las definiciones de los procedimientos. Para devolver el control al teclado se
puede colocar como última instrucción del procedimiento:

SET CMD = 5

Cada procedimiento puede incluir una orden START si se desea que éste calcule los
valores de las variables al ser llamado. Las llamadas a cada procedimiento se podrán
realizar escribiendo sus nombre en el fichero de comandos (después de la definición de
procedimientos) o bien de forma interactiva desde el teclado permitiendo al usuario

Tema : Herramientas de Análisis y Simulación 80


cambiar el valor de los parámetros del modelo y volver a ejecutar un procedimiento con
los nuevos valores.

El ACSL tiene también un conjunto de símbolos accesibles al usuario a través del


comando DISPLY (muestra sus valores) y del comando SET (modifica sus valores).
Además, estos símbolos tienen un valor por defecto que puede ser modificado de forma
interactiva o dentro del fichero de comandos para alterar la forma de ejecución del
modelo.

NSTP : Num. de pasos de integración por intervalo de comunicación

CMD: Unidad lógica de donde se leen los comandos de ejecución cuyos valores mas
importantes son:

5 : para el teclado (0 en versiones bajo MS-DOS)

10 : para fichero de comandos .CMD

DIS : Unidad lógica donde se visualizan los valores calculados PRN : Unidad lógica
donde se imprimen.

PLT : Unidad lógica para los gráficos

PRNPLT : Activa/Desactiva los Printer /Plots

CALPLT : Activa/Desactiva Calcplots (formato bloque)

STRPLT : Activa/Desactiva Strip Plots (gráficos separados) GRDCPL : la rejilla en


los Calcplots

TITLE : Asigna un título a las gráficas

FTSPLT : Retrasa el dibujo de una gráfica permitiendo representar los valores de


una ejecución paramétrica sobre la misma gráfica

Una vez escrito el programa que representa el modelo y almacenado en un fichero


con extensión .CSL, se realiza la compilación de dicho programa en dos etapas:

1) Precompilación por el ACSL y generación de un programa fuente en


Fortran : COMPILE.FOR.

2) Compilación del programa Fortran.

A continuación se realiza el "linkado" o enlace de módulos, donde el programa


objeto resultante de la compilación se enlaza con otros módulos objeto y librerías de
rutinas del ACSL y del FORTRAN para generar el programa ejecutable que representa al
modelo. En función del tipo de máquina, se utilizarán las librerías necesarias. En la
ejecución se procede según los siguientes pasos:

Paso 1: Llamada al programa ejecutable (.EXE) que contiene la definición


del modelo. El ACSL solicitará del usuario el nombre de los ficheros de salida
(.OUT), el de valores (.RRR) y el de comandos (.CMD).

Tema : Herramientas de Análisis y Simulación 81


Paso 2: Una vez aparece el Prompt correspondiente indicando que se está
en el entorno de ejecución, se puede ejecutar cualquier comando runtime del
ACSL.

Paso 3: Si se desea ejecutar los comandos contenidos en un fichero de


comandos (extensión CMD), debe asignarse a la unidad CMD el valor 10.

El flujo de ejecución del programa ACSL comienza o se activa realmente al


encontrar en el fichero de comandos (o si se desea al introducirlo interactivamente el
usuario) un comando START. En ese momento se ejecutarán secuencialmente las
sentencias del programa de definición del modelo (programa contenido en el fichero .CSL)
atravesando las diferentes secciones de este fichero hasta llegar al END de final de
programa. La orden START abre el fichero *.RRR donde se irán guardando los valores de
la variables definidas en el comando PREPAR (del fichero .CMD). Una vez ejecutado el
modelo se habrán almacenado en el fichero .RRR los valores de las variables calculados en
la ejecución y se comenzarán a ejecutar secuencialmente los comandos escritos a
continuación del comando START en el fichero .CMD. En cualquier momento se puede
pasar el control desde el fichero de comandos al usuario si se ha introducido previamente
en dicho fichero el comando:

SET CMD = 5 (0 bajo MS-DOS)

Si se desea reanudar la ejecución del fichero de comandos se debe volver a ejecutar


el comando SET CMD = 10 para pasar el control desde el teclado a dicho fichero. La
ejecución del modelo terminará cuando se ejecute comando desde el teclado o se
encuentre en el fichero .CMD el comando STOP

A modo de resumen, los ficheros básicos utilizados en las distintas fases de la


simulación son:

A) Ficheros creados por el usuario con un Editor de textos:

*.CSL: ficheros de Definición de cada modelo.

*.CMD: ficheros de Comandos de Ejecución.

B) Ficheros generados por el ACSL:

B.1.- En tiempo de compilación

*.FOR: ficheros en lenguaje fuente FORTRAN que genera el paso


de precompilación de ACSL.

*.LIS: fichero generado por el ACSL al traducir a Fortran el *.CSL.

*.CMN: fichero de áreas Common generado por el ACSL.

*.OBJ: programa objeto generado por el compilador Fortran.

B.2.- En tiempo de ejecución:

Tema : Herramientas de Análisis y Simulación 82


*.OUT: fichero de salida que contiene un resumen de los
comandos ejecutados, los dibujos realizados y los valores de las
variables en cada intervalo de comunicación.

*.RRR: fichero que usa el ACSL para ir almacenando los valores


de las variables en cada intervalo de cálculo y que posteriormente
utilizará para generar las gráficas.

A continuación se muestra un ejemplo que ilustra ambos métodos de trabajo y el


uso de los procedimientos de comandos.

Ejemplo .20.
Se desea estudiar la influencia del parámetro Kr en la respuesta del sistema realimentado de la
figura .48.

Xd(s) + X(s) X1(s)


1 s+0.5
Kr
0.1 s +1 s 3 +2s 2 +s+1
-

1
0.05s +1

Figura .48.
Realicemos el estudio, por ejemplo, para 3 valores del parámetro kr, ( de 0.6 a 1.6 con incrementos
de 0.5). Para ello se construye el modelo de simulación en la forma:

PROGRAM ejemplo 1 : Estudio efecto del parametro kr

" En esta versión del primer ejemplo se muestra el uso de bucles para...

ejecutar el modelo para diferentes valores de un parámetro, en este... ejemplo Kr. "

ARRAY rnum(2), den(4)

CONSTANT rnum = 1.0,0.5, den = 1.0,2.0,1.0,1.0,...

Vmin=0.6, Vmax=1, Inc=0.5, Tfin=40

CINTERVAL Cint=0.1

ALGORITHM Ialg = 4 $ " Algoritmo de Integración "

Tema : Herramientas de Análisis y Simulación 83


INITIAL $ " Sentencias ejecutadas antes del comienzo de la simulación"

CONSTANT Tesc0 = 5, Tescf = 30, Tramp = 1,...

Pcero = 0.0, Xmcero = 0.0,...

X2cero = 0, X2der = 0

Kr = Vmin $ " Valor mínimo del parámetro Kr "

Tipo = 1

END $ " Initial "

DYNAMIC

DERIVATIVE

IF (Tipo .EQ. 1) Xd = STEP(Tesc0)-STEP(Tescf) $ " Escalón "

U = Kr*X $ " La variable U "

P = REALPL(0.1,5*U,Pcero) $ " Bloque Ga(s) primer orden "

X1 = TRAN(1,3,rnum,den,P) $ "Bloque proceso para x1"

Xm = REALPL(0.05,X1,Xmcero) $ "Salida captador Ga(s)"

X = Xd-Xm $ "variable error"

TERMT (T .GE. Tfin) $ "condición fin de simulación"

END $ " Derivative "

END $ " Dynamic "

TERMINAL

Kr = Kr+Inc

IF (Kr .LE. Vmax) GO TO et1 $ " Bucle para el Multi Run "

END $ " Terminal "

END $ " Fin de programa "

Se ha tomado Ialg =4 para utilizar un algoritmo de integración Runge-Kutta de segundo orden,


están disponibles otras posibilidades [ACSL-87]. El control se realizará en este caso mediante las
sentencias del bloque TERMINAL, no obstante se necesitan algunos comandos mínimos para comenzar
la ejecución en modo interactivo, la secuencia es:

ACSL RUNTIME EXEC PC VERSION LEVEL 9C PAGE 1

Tema : Herramientas de Análisis y Simulación 84


SET DEVPLT=13

SET PLT=50

prepar t,x1,xd

output t,kr,x1,'NCIOUT'=40

start

T 0. KR 0.60000000 X1 0.

T 4.00000000 KR 0.60000000 X1 0.

T 8.00000000 KR 0.60000000 X1 0.57989900

T 12.0000000 KR 0.60000000 X1 0.55410900

T 16.0000000 KR 0.60000000 X1 0.58371000

T 20.0000000 KR 0.60000000 X1 0.59591900

T 24.0000000 KR 0.60000000 X1 0.59922800

T 28.0000000 KR 0.60000000 X1 0.59990800

T 32.0000000 KR 0.60000000 X1 -0.53822300

T 36.0000000 KR 0.60000000 X1 -0.09541790

T 40.0000000 KR 0.60000000 X1 -0.01244780

T 3.90000000 KR 1.10000000 X1 0.

T 7.90000000 KR 1.10000000 X1 0.31553600

T 11.9000000 KR 1.10000000 X1 0.89319300

T 15.9000000 KR 1.10000000 X1 0.68473200

T 19.9000000 KR 1.10000000 X1 0.74633000

T 23.9000000 KR 1.10000000 X1 0.73077300

T 27.9000000 KR 1.10000000 X1 0.73340700

T 31.9000000 KR 1.10000000 X1 -0.41853500

T 35.9000000 KR 1.10000000 X1 0.16753400

T 39.9000000 KR 1.10000000 X1 -0.07259030

T 3.80000000 KR 1.60000000 X1 0.

T 7.80000000 KR 1.60000000 X1 0.49300700

T 11.8000000 KR 1.60000000 X1 0.50441200

Tema : Herramientas de Análisis y Simulación 85


T 15.8000000 KR 1.60000000 X1 0.99198500

T 19.8000000 KR 1.60000000 X1 0.86423300

T 23.8000000 KR 1.60000000 X1 0.71552100

T 27.8000000 KR 1.60000000 X1 0.79615100

T 31.8000000 KR 1.60000000 X1 -0.09662530

T 35.8000000 KR 1.60000000 X1 -0.44603000

T 39.8000000 KR 1.60000000 X1 0.11557300

T 40.0100000 KR 2.10000000 X1 -0.03257800

plot x1

Drawing plot number 1

Opening new plot unit number 50 (for050)

stop

Se ha definido la unidad 50 como de salida de gráficos, y se ha utilizado la variable NCIOUT=40


para visualizar los datos cada 40 unidades de intervalo temporal elegido (Cint=0.1). Los resultados pueden
verse en la figura siguiente:

influencia del factor Kr

Kr=1.6

Kr=1.1

Kr=0.6

Figura .49.

Tema : Herramientas de Análisis y Simulación 86


Dentro del contexto del ejemplo pudo haberse optado por utilizar un fichero de comandos, para
ello es necesario modificar el fichero .CSL eliminando las sentencias de control en el bloque terminal y
queda de la forma:

PROGRAM ejemplo: Estudio efecto del parámetro kr

" En esta otra versión del primer ejemplo se deja el control para...

el fichero de comandos, el usuario en cada caso introduce el valor...

de kr que estime conveniente"

ARRAY rnum(2), den(4)

CONSTANT rnum = 1.0,0.5, den = 1.0,2.0,1.0,1.0,...

Tfin=40

CINTERVAL Cint=0.1

ALGORITHM Ialg = 4 $ " Algoritmo de Integración "

INITIAL $ " Sentencias ejecutadas antes del comienzo de la simulación"

CONSTANT Tesc0 = 5, Tescf = 30, Tramp = 1,...

Pcero = 0.0, Xmcero = 0.0,...

X2cero = 0, X2der = 0

END $ " Initial "

DYNAMIC

IF (Tipo .EQ. 1) Xd = STEP(Tesc0)-STEP(Tescf) $ " Escalón " IF (Tipo .EQ. 2)

Xd = RAMP(Tramp) $ "Rampa"

DERIVATIVE

U = Kr*X $ " La variable U "

P = REALPL(0.1,5*U,Pcero) $ " Bloque Ga(s) primer orden "

X1 = TRAN(1,3,rnum,den,P) $ "Bloque proceso para x1"

Xm = REALPL(0.05,X1,Xmcero) $ "Salida captador Ga(s)"

X = Xd-Xm $ "variable error"

TERMT (T .GE. Tfin) $ "condición fin de simulación"

END $ " Derivative "

END $ " Dynamic "

END $ " Fin de programa "

Tema : Herramientas de Análisis y Simulación 87


Se construye ahora el fichero de comandos (.CMD) con dos procedimientos simples ilustrativos
que simulan una entrada en rampa y otra en escalón, en ambos casos los distintos valores de Kr se
introducen de forma interactiva, para lo cual se posibilita la vuelta del control al teclado después de cada
procedimiento.

' Ejemplo '

' Se ha introducido la orden START dentro de cada Procedimiento para...

permitir al usuario cambiar los valores del parámetro Kr y volver... a ejecutar el modelo '

SET NSTP = 10 $ ' Numero de Pasos de Integración '

SET Cint = 0.1 $ ' Intervalo de comunicación en sg '

SET Kr=2

SET PRNPLT = .F.

SPARE

PREPAR 'CLEAR',T,Xd,X1,Xm $ ' Define las variables a salvar... para uso posterior '

OUTPUT 'CLEAR',T,Xd,X1,Xm,kr,"NCIOUT"=30 $ ' Define las... variables a listar '

' ------------- PROCEDIMIENTOS -------------------- '

PROCED Escalon

SET Tfin = 40 $ ' Tiempo final de simulación '

SET Tipo = 1 $ ' Selecciona la entrada en Escalón '

START

SET CALPLT = .T., STRPLT = .F.

SET GRDCPL = .F. $ ' Desactiva la rejilla en los Calcplots '

SET FTSPLT = .T. $ 'representar en la misma gráfica'

SET TITLE = ' Multirun con entrada Escalón '

PLOT 'XTAG'='Tiempo (seg)','XLO'=0,'XHI'=40,... Xd,'TAG'='ENTRADA','LO'=0,'HI'=6,...

X1,'TAG'='SALIDA','LO'=-2,'HI'=4

SET CMD = 0 $ ' Transfiere el control al teclado '

END $ ' Escalon '

PROCED Rampa

SET Cint = 0.1

SET TITLE = ' SIMULACIÓN CON ENTRADA EN RAMPA '

SET Tipo = 2 $ ' Selecciona en el modelo la entrada en Rampa '

Tema : Herramientas de Análisis y Simulación 88


SET Tfin = 20

PREPAR 'CLEAR',T,Xd,X1

OUTPUT 'CLEAR',T,Xd,X1,'NCIOUT'=20

START

SET CALPLT = .T., STRPLT = .F.

SET GRDCPL = .F., FTSPLT = .F.

PLOT 'XAXIS'=T,'XTAG'='Tiempo (seg)','XLO'=0,'XHI'=20,...

Xd,'TAG'='ENTRADA','LO'=0,'HI'=30,... X1,'TAG'='SALIDA','LO'=-1,'HI'=29

SET CMD=0

END

' ------------ SIMULACIÓN ---------------- '

' Comienza la simulación (Run) pasando el control al usuario para...

que por teclado realice las llamadas a los Procedimientos '

SET CMD = 0

STOP

Los resultados de la simulación se acompañan a continuación.

SET DEVPLT=13

SET PLT=51

set CMD=10

escalon

T 0. XD 0. X1 0. KR 2.00000000

T 3.00000000 XD 0. X1 0. KR 2.00000000

T 6.00000000 XD 1.00000000 X1 1.75719000 KR 2.00000000

T 9.00000000 XD 1.00000000 X1 0.30452900 KR 2.00000000

T 12.0000000 XD 1.00000000 X1 0.99573600 KR 2.00000000

T 15.0000000 XD 1.00000000 X1 1.03930000 KR 2.00000000

T 18.0000000 XD 1.00000000 X1 0.35761300 KR 2.00000000

Tema : Herramientas de Análisis y Simulación 89


T 21.0000000 XD 1.00000000 X1 1.43724000 KR 2.00000000

T 24.0000000 XD 1.00000000 X1 0.25243900 KR 2.00000000

T 27.0000000 XD 1.00000000 X1 1.26583000 KR 2.00000000

T 30.0000000 XD 0. X1 0.62469000 KR
2.00000000

T 33.0000000 XD 0. X1 -0.71225100 KR
2.00000000

T 36.0000000 XD 0. X1 0.51678200 KR
2.00000000

T 39.0000000 XD 0. X1 -0.26227300 KR
2.00000000

T 40.0100000 XD 0. X1 0.17728500 KR
2.00000000

Drawing plot number 1

Opening new plot unit number 51 (for051)

" TRANSFIERE EL CONTROL AL TECLADO "

set PLT=52

rampa

T 0. XD 0. X1 0.

T 2.00000000 XD 1.00000000 X1 0.65254200

T 4.00000000 XD 3.00000000 X1 2.34947000

T 6.00000000 XD 5.00000000 X1 4.01032000

T 8.00000000 XD 7.00000000 X1 5.68075000

T 10.0000000 XD 9.00000000 X1 7.37249000

T 12.0000000 XD 11.0000000 X1 9.08507000

T 14.0000000 XD 13.0000000 X1 10.8131000

T 16.0000000 XD 15.0000000 X1 12.5494000

T 18.0000000 XD 17.0000000 X1 14.2861000

T 20.0000000 XD 18.9000000 X1 16.0161000

Drawing plot number 2

Opening new plot unit number 52 (for052)

" TRANSFIERE EL CONTROL AL TECLADO "

Tema : Herramientas de Análisis y Simulación 90


set PLT=51

set Kr=1.0

escalon

T 0. XD 0. X1 0.

T 2.00000000 XD 0. X1 0.

T 4.00000000 XD 0. X1 0.

T 6.00000000 XD 1.00000000 X1 1.09117000

T 8.00000000 XD 1.00000000 X1 0.33712200

T 10.0000000 XD 1.00000000 X1 0.80760500

T 12.0000000 XD 1.00000000 X1 0.81606200

T 14.0000000 XD 1.00000000 X1 0.64763900

T 16.0000000 XD 1.00000000 X1 0.70919500

T 18.0000000 XD 1.00000000 X1 0.73825000

T 20.0000000 XD 1.00000000 X1 0.70640200

T 22.0000000 XD 1.00000000 X1 0.70969900

T 24.0000000 XD 1.00000000 X1 0.71868800

T 26.0000000 XD 1.00000000 X1 0.71400800

T 28.0000000 XD 1.00000000 X1 0.71297000

T 30.0000000 XD 0. X1 0.71490400

T 32.0000000 XD 0. X1 -0.37973500

T 34.0000000 XD 0. X1 -0.19190600

T 36.0000000 XD 0. X1 0.16719700

T 38.0000000 XD 0. X1 -0.01353190

T 40.0000000 XD 0. X1 -0.05107650

T 40.0100000 XD 0. X1 -0.05136590

Drawing plot number 3

" TRANSFIERE EL CONTROL AL TECLADO "$

set plt=52

rampa

Tema : Herramientas de Análisis y Simulación 91


Drawing plot number 4

" TRANSFIERE EL CONTROL AL TECLADO "

stop

Kr=1,2

Figura .50.

Tema : Herramientas de Análisis y Simulación 92


Kr=1,2
xd

Figura .51.

Tema : Herramientas de Análisis y Simulación 93


Referencias
[ACSL-87] Advanced Continuous Simulation Languaje (ACSL) Reference Manual,
Mitchel and Gauthier Ass., 1,987.

[ANDR-82] ANDRES PUENTE, E "Regulación Automática" (Tomo II), ETSII


Madrid, 1.982.

[BELL-84] BELL R.F. et. al. "Head Positioning in a Large Disk Drive" Hewlett-
Packard Journal, Enero, pp 14-20, 1.984.

[DONG-79] DONGARRA C.B. et al. "LINPACK Users' Guide", Society for


Industrial And Applied Mathematics, 1.979.

[DORF-86] DORF R.C., "Moderm Control Systems", Addison Wesley, 1.982.

[FERN-80] FERNANDEZ G.,"Modelos Matemáticos y de Simulación para Sistemas


Continuos", ETSIT Madrid, 1.980.

[FRAN-78] FRANK P.M., "Introduction to System Sensitivity Theory", Academic


Press, 1.978.

[GOME-86] GOMEZ J., "Automática. Analisis y Diseño de los Sistemas Automáticos


de Control", (Tomo 1), Ediciones Jucar, 1.986.

[KHEI-88] KHEIR, N.A., "System Modelling and Computer Simulation", Marcel


Dekker, 1.988.

[KORN-78] KORN G.A., WAIT J.V., "Digital Continuous System Simulation",


Prentice Hall, 1.978.

[KUO-84] KUO B., "Sistemas Automáticos de Control", C.E.C.S.A., 1.984.

[MATL-86] MathWorks Inc, "MATLAB Tutorial", 1.986.

[OGAT-74] OGATA K., "Ingenieria de Control Moderno", Prentice Hall, 1.974.

[SHAN-75] SHANNON, "Systems Simulation. The art and science"" Prentice-Hall,


1.975.

[SMIT-76] SMITH, T., "Matrix Eigensystem Routines-EISPACK Guide", Lecture


Notes in Computer Science, Vol 6., Springer Verlag.

Tema : Herramientas de Análisis y Simulación 94


Ejercicios Propuestos

1. En el sistema de la figura .52., estudiar el lugar de las raíces para K variable entre
cero e infinito.

R(s) Y(s)
K 4 1
+
- s+2 s

1
3
+
-

Figura .52.

2. Considérese el sistema de la figura .53. donde inicialmente asumiremos que


k2=(17/60) y a=2. a) Estúdiese el lugar de las raíces para k1 variable. b) Para k1=12,
evalúese las posibles modificaciones del lugar y del comportamiento del sistema.

R(s) Y(s)
5 2 11
+ K1
- s+8 s+a s

3 K2
20
+
-

Figura .53.

3. En la figura .54. se muestra un sistema de control, el filtro Gc(s) se denomina a


menudo compensador y un típico problema de diseño es seleccionar los parámetros a y b.
Utilizando el lugar de las raíces determinar el efecto de variación de dichos parámetros.
Elegir un filtro de manera que el tiempo de establecimiento sea menor que 4 segundos y el
coeficiente de amortiguamiento de las raíces dominantes no sea superior a 0.6.

Tema : Herramientas de Análisis y Simulación 95


R(s) Y(s)
as+1 4
+ bs +1
- s(s+2)

Filtro Proceso

Figura .54.

5. El sistema de la figura .56. se utiliza para mantener constante la temperatura de un


fluido, Tf, que es esencialmente variable. Consiste en un recipiente dentro del cual se
dispone un serpentín recorrido por vapor cuyo gasto se regula por una válvula de
mariposa. La válvula produce una variación de caudal térmico de 10 Kcal/seg y su
constante de tiempo es despreciable. Como elemento sensor se utiliza un termómetro de
constante de tiempo 1 seg. y ganancia estática 1 vol/ºC.

Al variar la temperatura del fluido se genera una tensión VE(t) del amplificador que
provoca variaciones de tensión en la salida del regulador de ganancia estática 10 y
constante de tiempo 0.1 segundos. Sabiendo que el calor específico del fluido es 1 Kcal/kg
ºC, el gasto de 10 Kg/seg y la masa calórica del recipiente y líquido 100 Kcal/ ºC, se pide:

Tema : Herramientas de Análisis y Simulación 96


Esquema del amplificador.

Figura .56

• Diagrama de bloques y función de transferencia del sistema.

• Evolución de la salida para RK=0 Ω con una entrada en la referencia de ∆V=2


voltios en forma de escalón.

• Salida para R=10 MΩ y entrada en la referencia en forma de pulso como se indica


en la figura

• Análisis del efecto de RK en el comportamiento del sistema.

• Posibles sistemas equivalentes de orden reducido.

• Simulación en MATLAB de los distintos eventos.

6. Un cierto sistema de control tiene el diagrama de bloques representado en la


figura, donde la regulación se efectúa por medio de un tacómetro (Gc(s) = Kt s) y una red
pasiva conectados en serie. Además, se posee un amplificador (Ga(s) = K) de ganancia
variable. Se pide:

a) Función de Transferencia del sistema.

b) Para R = 10 KΩ, C = 100 µF, Kt = 1 y K = 1, obtener la respuesta ante


entrada en escalón de 2 unidades.

Tema : Herramientas de Análisis y Simulación 97


c) Efecto de Kt y K en el comportamiento dinámico del sistema.

d) Diseñar la red pasiva y encontrar los valores Kt y K que hacen que la respuesta
del sistema cumpla las siguientes especificaciones:

K ≥ 10

Mp ≤ 10%

ωn ≥ 2'2 rd/s

U(s) E(s) 1 Y(s)


Ga(s)=K Gb(s)=
+ + s(s+2)
- -

Hr(s) Gc(s)=Kt s

Figura .57.

En este diagrama Hr(s) corresponde a una red pasiva del tipo paso-alto, como se
indica en la figura. .58. siguiente

Red pasiva paso-alto

Ve Vs
R

Figura .58.

7. Para el sistema de realimentación unitaria y función de transferencia en bucle


abierto G(s) = 25/s(s+6), encontrar los coeficientes estáticos y dinámicos de error
así como los errores estacionario ante una excitación en la forma u(t)= ln(t+1).

Tema : Herramientas de Análisis y Simulación 98

También podría gustarte