Está en la página 1de 83

Capítulo 7: Análisis de Respuesta en Frecuencias

Capítulo 7.
ANÁLISIS DE RESPUESTA
EN FRECUENCIAS.

- 209 -
Sistemas de Control en Tiempo Discreto

7.1 INTRODUCCIÓN.

El concepto de respuesta en frecuencia juega un poderoso papel en los sistemas


de control digital, de la misma forma que lo hace en los sistemas de control en tiempo
continuo. Por respuesta en frecuencia, se entiende la respuesta en estado de régimen
permanente de un sistema ante una entrada senoidal.

A menudo han sido utilizados los métodos de respuesta en frecuencia en el


diseño de compensadores. La razón básica es la sencillez de los métodos. Al llevar a
cabo pruebas de respuesta en frecuencia sobre un sistema muestreado, es importante que
el sistema continuo tenga un filtro de paso bajo (generalmente un mantenedor de orden
cero) antes del muestreador, de tal manera que las bandas laterales estén filtradas. De
esta forma dado un sistema lineal e invariante en el tiempo y dada una entrada senoidal,
el sistema conserva la frecuencia y modifica solamente la amplitud y la fase de la señal
de entrada. Por lo tanto, las dos únicas cantidades que deberán ser manejadas, serán la
amplitud y la fase.

Ahora analizaremos la respuesta a una entrada senoidal de un sistema discreto


lineal e invariante en el tiempo; ese análisis será confirmado mediante la definición de
la función transferencia de pulso senoidal.

A continuación estudiaremos el diseño en el plano w de un sistema de control en


tiempo discreto mediante la utilización de un diagrama de Bode.

- 210 -
Capítulo 7: Análisis de Respuesta en Frecuencias

7.2 RESPUESTA DE UN SISTEMA EN TIEMPO DISCRETO


LINEAL E INVARIANTE EN EL TIEMPO A UNA ENTRADA
SENOIDAL.

La respuesta en frecuencia de G ( z ) puede obtenerse sustituyendo z = e j ω T en


G ( z ) , como se demuestra a continuación. [REF. 3].

Se considera un sistema estable en tiempo discreto lineal e invariante en el


tiempo como se muestra en la siguiente figura:

La señal muestreada u ( k T ) es u ( k T ) = s i n ( k ω T )

La transformada z de la entrada muestreada es:

> restart:

- 211 -
Sistemas de Control en Tiempo Discreto

> ztrans(sin(k*omega*T), k, z);


z sin( ω T )
2
z − 2 z cos( ω T ) + 1

que también se puede expresar de la siguiente forma:

z ⋅ sin(ω ⋅ T )
j⋅ω ⋅T
(z − e ) ⋅ ( z − e − j⋅ω ⋅T )

teniendo en cuenta que e j⋅ω ⋅T = cos(ω ⋅ T ) + j ⋅ sin(ω ⋅ T ) .

NOTA del autor: En general se obtiene que

(z − e a +b⋅ j
)⋅ (z − e a −b⋅ j
)=

( )(
= z − e a ⋅ (cos(b) + j ⋅ sin(b) ) ⋅ z − e a ⋅ (cos(b) − j ⋅ sin(b) ) = )

= z 2 − 2 ⋅ e a ⋅ cos(b) ⋅ z + e 2⋅a

- 212 -
Capítulo 7: Análisis de Respuesta en Frecuencias

La respuesta del sistema está dada por

z ⋅ sin(ω ⋅ T )
X ( z ) = G ( z )U ( z ) = G ( z ) ⋅
( z − e j⋅ω ⋅T ) ⋅ ( z − e − j⋅ω ⋅T )

a⋅z aa ⋅ z
= j⋅ω ⋅T
+ + [términos debidos a los polos de G(z)]
z −e z − e − j⋅ω ⋅T

siendo aa el complejo conjugado de a.

z − e j⋅ω ⋅T
Al multiplicar ambos miembros de la ecuación por obtenemos
z

sin(ω ⋅ T ) aa ⋅ ( z − e j⋅ω ⋅T ) z − e j⋅ω ⋅T  términos debidos a 


G( z) ⋅ = a + +  los polos de G(z) 
z − e − j⋅ω ⋅T z − e − j⋅ω ⋅T z  

j ωT
Dado que el sistema considerado aquí es estable, G( z ) no contiene a z = e
j ωT
como polo, ya que e está en la frontera del disco unidad (ver estabilidad). Por tanto,
j ωT
G( z ) no tiene en el denominador un término de la forma z - e . Luego el segundo y
j ωT
tercer término del segundo miembro de esta ecuación se anulan en z = e . Así
tenemos

 sin(ω ⋅ T )  G (e j⋅ω ⋅T )
a = G ( z ) =
 z − e − j⋅ω ⋅T  z =e j ⋅ω ⋅T 2⋅ j

- 213 -
Sistemas de Control en Tiempo Discreto

El coeficiente aa, que es el complejo conjugado de a, se obtiene multiplicando por

z − e − j⋅ω ⋅T
y sustituyendo z = e − j⋅ω ⋅T .
z

G (e − j⋅ω ⋅T )
aa = −
2⋅ j

Escribiendo G (e j⋅ω ⋅T ) = M ⋅ e j⋅θ , con M = G (e j⋅ω ⋅T ) ( )


y θ = ángulo G (e j⋅ω ⋅T ) .

Entonces G (e − j⋅ω ⋅T ) = M ⋅ e − j⋅θ .

La ecuación de X ( z ) ahora puede escribirse como

M ⋅ e j⋅θ z M ⋅ e − j⋅θ z  términos debidos a 


X ( z) = ⋅ j⋅ω ⋅T
− ⋅ − j ⋅ω ⋅T
+ 
2⋅ j z−e 2⋅ j z−e  los polos de G ( z ) 

o bien

M  e j⋅θ ⋅ z e − j⋅θ ⋅ z   términos debidos a 


X ( z) = ⋅  − +
 
2 ⋅ j  z − e j⋅ω ⋅T z − e − j⋅ω ⋅T   los polos de G ( z ) 

- 214 -
Capítulo 7: Análisis de Respuesta en Frecuencias

La transformada z inversa de esta última ecuación es

x( k ⋅ T ) =
M
2⋅ j
( )  términos debidos a 
⋅ e j⋅θ ⋅ e j⋅k ⋅ω ⋅T − e − j⋅θ ⋅ e − j⋅k ⋅ω ⋅T + Ζ −1  
 los polos de G ( z ) 

El último término del segundo miembro de esta última ecuación representa la


respuesta transitoria. Dado que el sistema G( z ) se ha supuesto estable, todos los
términos de la respuesta transitoria desaparecerán en estado permanente, y obtendremos
la siguiente respuesta en estado permanente x ss (k ⋅ T ) :

x ss ( k ⋅ T ) =
M
2⋅ j
(
⋅ e j⋅( k ⋅ω ⋅T +θ ) − e − j⋅( k ⋅ω ⋅T +θ ) )

= M ⋅ sin(k ⋅ ω ⋅ T + θ )

donde la amplitud o magnitud M, que es la ganancia del sistema en tiempo discreto al


ser sujeto a una entrada senoidal, está dada por

M = M (ω ) = G (e j⋅ω ⋅T )

y θ , el ángulo de fase, está dado por

θ = θ (ω ) = ángulo G (e j⋅ω ⋅T ) ( )

- 215 -
Sistemas de Control en Tiempo Discreto

En términos de G (e j⋅ω ⋅T ) se puede escribir la respuesta en estado permanente como


sigue:

( (
x ss (k ⋅ T ) = G (e j⋅ω ⋅T ) ⋅ sin k ⋅ ω ⋅ T + ángulo G (e j⋅ω ⋅T ) ))

Hemos demostrado que G (e j⋅ω ⋅T ) proporciona la magnitud y la fase de la


respuesta en frecuencia de G( z ). Por lo tanto, para obtener la respuesta en frecuencia de

G( z ), sólo necesitamos escribir e j⋅ω ⋅T en lugar de z en G( z ). La función G (e j⋅ω ⋅T ) se


conoce comúnmente como función transferencia de pulso senoidal. Si observamos
que

 2⋅π 
j⋅ ω + ⋅T
e  T  = e j⋅ω ⋅T ⋅ e j⋅2⋅π = e j⋅ω ⋅T

se obtiene que la función transferencia de pulso senoidal G (e j⋅ω ⋅T ) es periódica, con un


período T.

Ejemplo:

Considere el sistema definido por

x(k ⋅ T ) = u (k ⋅ T ) + a ⋅ x((k − 1) ⋅ T ), 0 < a <1

donde u( k T ) es la entrada y x( k T ) la salida. Obtenga la salida en estado permanente


x( k T ) cuando la entrada u( k T ) es la senoidal u (k ⋅ T ) = A ⋅ sin(k ⋅ ω ⋅ T ) .

- 216 -
Capítulo 7: Análisis de Respuesta en Frecuencias

La transformada z de la ecuación del sistema es

X ( z ) = U ( z ) + a ⋅ z −1 ⋅ X ( z )

X ( z)
Al definir G ( z ) = , tenemos
U ( z)

X ( z) 1
G( z) = =
U ( z ) 1 − a ⋅ z −1

Sustituimos z por e j⋅ω ⋅T en G( z ), para obtener la función transferencia de pulso


senoidal.

> G(z) := 1/(1-a*z^(-1));


G(exp(I*omega*T)) := convert(subs(1/z = exp(-I*omega*T),G(z)), trig);
1
G( z ) :=
a
1−
z

(I ω T) 1
G( e ) :=
1 − a ( cos( ω T ) − I sin( ω T ) )

- 217 -
Sistemas de Control en Tiempo Discreto

La amplitud de G (e j⋅ω ⋅T ) es

1
G (e j⋅ω ⋅T ) = M =
1 + a 2 − 2 ⋅ a ⋅ cos(ω ⋅ T )

y el ángulo de fase de G (e j⋅ω ⋅T ) es

( )  a ⋅ sin(ω ⋅ T ) 
ángulo G (e j⋅ω ⋅T ) = θ = − arctan 
 1 − a ⋅ cos(ω ⋅ T ) 

Para obtener estas expresiones ver [REF. 1].

Entonces, la salida en estado permanente xss( k T ) se puede escribir como sigue:

x ss ( k ⋅ T ) = A ⋅ M ⋅ sin(k ⋅ ω ⋅ T + θ ) =

A   a ⋅ sin(ω ⋅ T )  
= ⋅ sin k ⋅ ω ⋅ T − arctan  
2
1 + a − 2 ⋅ a ⋅ cos(ω ⋅ T )   1 − a ⋅ cos(ω ⋅ T ) 

- 218 -
Capítulo 7: Análisis de Respuesta en Frecuencias

7.3 LA TRANSFORMACIÓN W.

Sea un sistema de control en tiempo continuo cuya función de transferencia es


G( s ), y cuya respuesta en frecuencias viene dada por G( s ) en s = j ω (ver [REF. 2]), es
decir, G( j ω ). Supongamos que discretizamos el sistema por invarianza al escalón, de
forma que obtenemos la siguiente función transferencia de pulso:

 1 − e − s⋅T 
G D ( z ) = Ζ ⋅ G ( s) 
 s 
 

Si tratamos el problema de la respuesta en frecuencia en el plano z la


simplicidad de los trazados logarítmicos se perderá completamente, ya que en el plano z

la frecuencia aparece como z = e j⋅ω ⋅T . Esta dificultad, sin embargo, puede ser superada
transformando la función transferencia de pulso, GD(z), del plano z al plano w.
[REF. 4].

La transformación bilineal w se define por

w ⋅T
1+
z= 2
w ⋅T
1−
2

donde T es el período de muestreo que se utiliza en el sistema de control considerado.

- 219 -
Sistemas de Control en Tiempo Discreto

Esta transformación convierte una función de transferencia racional en el plano z


en una función racional en w, y transforma el círculo unidad del plano z en el semiplano
izquierdo del plano w. Por lo tanto, los métodos de respuesta en frecuencia de los
sistemas de control continuos se pueden aplicar a los sistemas discretos de control.
Despejando w en la ecuación anterior obtenemos la relación inversa

2 z −1
w= ⋅
T z +1

Una vez que la función de transferencia GD( z ) se transforma en GD( w ) puede


ser tratada como una función de transferencia continua en w, y las técnicas clásicas de
respuesta en frecuencia pueden ser usadas en el plano w. De esta forma las técnicas de
diseño de Bode pueden ser aplicadas al diseño de controladores discretos.

La transformación w distorsiona la frecuencia. La relación entre la frecuencia


ficticia ν y la frecuencia real ω es

2  ω ⋅T  ωs ωs
ν= ⋅ tan , − ≤ω ≤ , − ∞ ≤ν ≤ ∞
T  2  2 2

2 ⋅π
con ω s = frecuencia de muestreo.
T

- 220 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Para ω=0 ⇒ tan(0) = 0

ωs π π 
y para ω= = ⇒ tan  = ∞
2 T 2

 ω ω 
Luego para el rango de frecuencia real ω ∈ − s , s  , la frecuencia ficticia recorre
 2 2 
toda la recta (− ∞, ∞ ) . Por tanto, hay una distorsión de frecuencias.

Notar que si en la ecuación anterior ω ⋅ T es pequeño, entonces ν equivale a ω. Esto


significa que para ω T pequeños las funciones de transferencia G( s ) y GD( w ) se
parecen una a la otra, siendo G( s ) la función de transferencia del sistema continuo del
cual proviene GD( z ).

GD( w ) puede ser una función de transferencia de fase no mínima (estabilidad),

ya que la transformación w genera uno o más ceros en GD( w ) que están en el


semiplano derecho de w. La situación de los ceros del semiplano derecho depende del
período de muestreo T, ya que los ceros son generados por la operación de muestreo y
retención. El efecto de estos ceros sobre la respuesta se vuelve menor cuando el período
de muestreo disminuye. [REF. 4].

- 221 -
Sistemas de Control en Tiempo Discreto

Ejemplo:

Considere la función de transferencia del sistema que se muestra en la figura. El


período de muestreo T se supone de 0.1 seg. Obtenga GD( w ).

Supongamos que discretizamos el sistema continuo, cuya función de


10
transferencia es G p ( s ) = por invarianza al escalón:
s + 10

La transformada z de G( s ) es

 (1 − e −T ⋅s ) ⋅ 10 
G D ( z ) = Ζ 
 s ⋅ ( s + 10) 
 

 10 
= (1 − z −1 ) ⋅ Ζ 
 s ⋅ ( s + 10) 

- 222 -
Capítulo 7: Análisis de Respuesta en Frecuencias

> restart: with(inttrans): Digits:=4:

> subs(t=k*1/10, invlaplace(10/(s^2+10*s), s, t)):


G[D](z) := evalf(simplify((1-z^(-1))*ztrans(%, k, z)));
1
GD( z ) := 1.718
2.718 z − 1.

w ⋅T
1+
Mediante la transformación bilineal z = 2 = 1 + 0.5 ⋅ w
w ⋅ T 1 − 0.5 ⋅ w
1−
2

GD( z ) puede ser transformada en GD( w ) como sigue:

> subs(z=(1+.05*w)/(1-.05*w), G[D](z));


G[D](w) := simplify(%, radical);
1
1.718
1 + .05 w
2.718 − 1.
1 − .05 w

−1. + .05000 w
GD( w ) := −1.718
1.718 + .1859 w

1 − 0.05 ⋅ w
Despejando quedaría G D ( w) = 9.242 ⋅ .
w + 9.242

- 223 -
Sistemas de Control en Tiempo Discreto

A continuación vamos a obtener los polos de la planta Gp( s ) y los polos en el plano w:

> solve(s+10=0);
solve(denom(G[D](w))=0);
-10
-9.242

Se observa que la localización del polo de la planta es s = -10 y que el polo en el


plano w es w = -9.242. El valor de ganancia en el plano s es 10 y el correspondiente en
el plano w es 9.242. (Así, tanto las localizaciones de los polos como los valores de
ganancia son similares en el plano s y en el plano w).

Ceros en el plano w:

> solve(numer(G[D](w))=0);
20.

2
Es decir, GD( w ) tiene un cero en w = = 20 , a pesar de que la planta no tiene
T
ningún cero. Conforme se hace más pequeño el período de muestreo T, el cero del plano
2
w en w = se acerca a ∞ en el semiplano derecho del plano w.
T

- 224 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Observe que tenemos

10
lim G D ( w) = lim
w→0 s →0 s + 10

> limit(G[D](w),w = 0);


limit(10/(s+10),s = 0);
1
1

Este hecho es muy útil para verificar los cálculos numéricos para la transformación de
G( s ) en GD( w ), tras haber discretizado el sistema continuo en GD( z ).

Es importante notar que puede existir una diferencia en las magnitudes en alta
frecuencia para [G ( s )]s = j⋅ω y [G D ( w)]w= j⋅ν . La asíntota de alta frecuencia de la curva

de magnitud logarítmica para GD( j ν ) puede ser una línea constante a ciertos decibelios
(que es lo mismo que una línea horizontal). Por otra parte, si lim G ( s ) = 0 entonces la
s →∞

magnitud de G ( j ⋅ ω ) siempre se acercará a cero (- ∞ dB) conforme ω se acerque a


infinito.

La magnitud en alta frecuencia de GD( j ν ) es

lim G D ( j ⋅ν ) = 0.4621
ν →∞

- 225 -
Sistemas de Control en Tiempo Discreto

Lo comprobamos con Maple:

> aux := subs(w=I*nu, G[D](w)):


limit(abs(aux), nu=infinity);
.4621

10
en tanto que la magnitud en alta frecuencia de la planta G ( s ) = es
s + 10

10
lim =0
ω →∞ j ⋅ ω + 10

Lo comprobamos con Maple:

> limit(abs(10/(I*omega+10)), omega = infinity);

La diferencia en los diagramas de Bode en el extremo de alta frecuencia puede


explicarse como sigue: primero, recuerde que sólo estamos interesados en el rango de
1 2 ⋅π
frecuencia 0 ≤ ω ≤ ⋅ ω s , con ω s = frecuencia de muestreo, lo que corresponde a
2 T
0 ≤ ν ≤ ∞ (distorsión de frecuencias). Entonces, al observar que ν = ∞ en el plano w
1
corresponde a ω= ⋅ωs en el plano s, se puede decir que lim G D ( j ⋅ν )
2 ν →∞

10
corresponde a lim , que es una constante. Es importante señalar que estos
ω→
ωs j ⋅ ω + 10
2

dos valores no suelen ser iguales entre sí.

- 226 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Desde el punto de vista de polos y ceros, se puede decir que cuando G D ( j ⋅ν )

es una constante distinta de cero en ν = ∞ , está implícito que GD( w ) contiene el mismo
número de polos y de ceros.

En general, uno o más ceros de GD( w ) se presentan en el semiplano derecho del


plano w. La presencia de un cero en el semiplano derecho del plano w significa que
GD( w ) es una función de transferencia de fase no mínima (ver estabilidad). Por lo tanto,
debemos tener cuidado al dibujar la curva de ángulo de fase en el diagrama de Bode.

Para resumir, la transformación w, transformación bilineal, hace corresponder el


círculo unitario del plano z con el semiplano izquierdo del plano w. El resultado general
de las transformaciones del plano s en el plano z y en el plano w, es que el plano w y el
plano s son similares sobre las regiones de interés del plano s. Esto es debido a que
algunas de las distorsiones causadas por la transformación del plano s en el plano z
están parcialmente compensadas por la transformación del plano z en el plano w.

Observe que si

b0 ⋅ z m + b1 ⋅ z m−1 + L + bm
GD ( z) = , m≤n
z n + a1 ⋅ z n−1 + L + a n

donde las ai y las bi son constantes, se transforma en el plano w mediante la


transformación

w ⋅T
1+
z= 2
w ⋅T
1−
2

- 227 -
Sistemas de Control en Tiempo Discreto

entonces, GD( w ) asume la forma

β o ⋅ w n + β1 ⋅ w n−1 + L + β n
G D ( w) =
α 0 ⋅ w n + α1 ⋅ w n−1 + L + α n

donde las α i y las β i son constantes (algunas de ellas pueden ser cero). Entonces,

GD( w ) es un cociente de polinomios en w, donde los grados del numerador y del

denominador pueden ser o no iguales. Sustituyendo en GD( w ), w = j ν , dado que

GD( j ν ) es una función racional de ν , se puede aplicar el criterio de estabilidad de

Nyquist para sistemas continuos a GD( j ν ) [REF. 2]. Este criterio da condiciones para
saber cuándo las raíces están en el semiplano izquierdo. En términos del diagrama de
Bode, se aplican a GD( j ν ) la aproximación convencional de línea recta a la curva de
magnitud, así como el concepto del margen de fase y el margen de ganancia.

Comentarios. La ventaja del método de la transformación w es que el método


de respuesta en frecuencia convencional mediante el uso de diagramas de Bode, puede
ser utilizado para diseño de sistemas de control en tiempo discreto. En la aplicación de
este método, debemos seleccionar cuidadosamente una frecuencia de muestreo
razonable. Antes de concluir esta sección, resumiremos los puntos más importantes
relativos al diseño en el plano w. [REF. 3].

1. La magnitud y el ángulo de fase de GD( j ν ) son la magnitud y el ángulo de fase

de GD( z ) conforme z se mueve en el círculo unitario desde z = 1 hasta z = -


j ωT 1
1. Puesto que z = e , el valor ω varía desde 0 hasta ω s . La frecuencia
2

2  ω ⋅T 
ficticia ν varía desde 0 hasta ∞ , ya que ν = ⋅ tan  . Por lo tanto, la
T  2 

- 228 -
Capítulo 7: Análisis de Respuesta en Frecuencias

ωs
respuesta en frecuencia del sistema de control digital para 0 ≤ ω ≤ es
2
similar a la respuesta en frecuencia del sistema de control analógico
correspondiente en el caso 0 ≤ ν ≤ ∞ .

2. Dado que GD( j ν ) es una función racional de ν definida sobre el plano w, es

similar a G( j ω ) definida sobre el plano s. Por lo tanto, son aplicables a GD( j ν )


tanto la aproximación convencional con líneas rectas a la curva de magnitud del
diagrama de Bode, como el concepto de margen de fase y de margen de
ganancia, que se van a definir en el apartado del diagrama de Bode.

3. Compare las funciones de transferencia GD( w ) y G( s ). Como hemos


2
mencionado antes, en razón de la presencia del factor de escala en la
T
transformación w, las constantes de error estático correspondientes para GD( w )
2
y para G( s ) se hacen idénticas. Sin el factor de escala no sería cierto.
T

4. La transformación w puede generar uno o más ceros en el semiplano derecho en


GD( w ). Si existen uno o más ceros en el semiplano derecho, entonces GD( w ) es
una función de transferencia de fase no mínima (estabilidad). Debido a que los
ceros en el semiplano derecho están generados por la operación de muestreo y
retención, las localizaciones de estos ceros dependen del período de muestreo T.
Los efectos de estos ceros en el semiplano derecho en la respuesta, se hacen
menores conforme se reduce el período de muestreo T.

Ahora consideremos los efectos de la respuesta del cero en el semiplano


2 2
derecho en w = . El cero en w = genera distorsión en la respuesta en
T T
2
frecuencia conforme ν se acerca a .
T

- 229 -
Sistemas de Control en Tiempo Discreto

En vista de que

2 ω ⋅T 
ν= ⋅ tan 
T  2 

2 ω ⋅T 
entonces, conforme ν se acerca a , tan  se aproxima a 1, o bien
T  2 

ω ⋅T π
=
2 4

π
y, por lo tanto, ω=
2 ⋅T

1 π
Como ya se indicó, ω = ω s = es la frecuencia más alta que consideramos en
2 T
la respuesta del sistema de control en tiempo discreto o digital. Por lo
ωs π ⋅T
tanto, ω = = , que es la mitad de la frecuencia más alta considerada,
4 2
2
está dentro del intervalo de frecuencia de interés. Así, el cero en w = , que
T
aparece en el semiplano derecho del plano w, afectará seriamente la respuesta.

5. Debe hacerse notar que el método del diagrama de Bode en el plano w se utiliza
con frecuencia, y muchos sistemas de control digital de éxito han sido diseñados
mediante este procedimiento.

- 230 -
Capítulo 7: Análisis de Respuesta en Frecuencias

7.4 DIAGRAMAS DE BODE.

En los sistemas de control en tiempo continuo de 'una entrada - una salida'


(SISO), se ha utilizado mucho el diseño mediante diagramas de Bode. En particular, si
la función de transferencia está en forma factorizada, es bien conocida la simplicidad y
rapidez con la cual se puede dibujar y reformar un diagrama de Bode asintótico.

7.4.1.- Diagrama de Bode para sistemas continuos. Dado un sistema continuo lineal e
invariante en el tiempo, con función de transferencia G( s ), se puede representar una
función de transferencia senoidal G( j ω ) con dos diagramas distintos en función de la
frecuencia ω: la amplitud y el ángulo de fase. Un diagrama logarítmico o diagrama de
Bode consta de estos dos trazados. Uno es el logaritmo del módulo de una función de
transferencia senoidal, y el otro es su ángulo de fase, ambos en función de la frecuencia.
La amplitud logarítmica de G( j ω ) se representa como 20 ⋅ log G ( j ⋅ ω ) , siendo el

logaritmo en base 10. La unidad usada es el decibelio (dB).

La ventaja principal del diagrama de Bode, es que se puede convertir la


multiplicación de amplitudes en suma de las mismas. Por ejemplo,

si G ( s ) = G1 ( s ) ⋅ G2 ( s ) ⇒ G ( j ⋅ ω ) = G1 ( j ⋅ ω ) ⋅ G2 ( j ⋅ ω )

⇒ log(G ( j ⋅ ω ) ) = log(G1 ( j ⋅ ω ) ) + log(G2 ( j ⋅ ω ) )

Además se dispone de un método simple para realizar una curva aproximada del
logaritmo de la amplitud, basado en la aproximación asintótica. Este método por líneas
rectas asíntotas es suficiente si sólo se necesita una información aproximada sobre las
características de respuesta en frecuencia.

- 231 -
Sistemas de Control en Tiempo Discreto

Dado un sistema en tiempo continuo cuya función de transferencia en lazo


abierto es

K ⋅ ( s − a1 ) ⋅ L ⋅ ( s − a m−1 ) ⋅ ( s − a m )
G (s) = m≤n
s N ⋅ ( s − b1 ) ⋅ ( s − b2 ) ⋅ L ⋅ ( s − bn− N )

se dice que es un sistema tipo N (número de polos en s = 0). Para una entrada cuya
función de transferencia es R(s), se llama error de estado estacionario a

 s 
ess = lim  ⋅ R( s )
s →0 1 + G ( s ) 

y en el caso discreto será

 1 − z −1 
ess = lim  ⋅ R( z )
z →1 1 + G ( z )
 

se muestran una serie de definiciones, que serán útiles para comprender los apartados
posteriores [REF. 2]:

- Ganancia: Se llama K a la ganancia del sistema.

- Ganancia en altas frecuencias: lim G ( j ⋅ ω )


ω →∞

- Ganancia en bajas frecuencias: lim G ( j ⋅ ω )


ω →0

- Constante de error estático de posición: K p = lim G ( s )


s →0

En el caso discreto sería K p = lim G ( z )


z →1

- 232 -
Capítulo 7: Análisis de Respuesta en Frecuencias

- Constante de error estático de velocidad: K v = lim s ⋅ G ( s )


s →0

En el caso discreto sería K v = lim z ⋅ G ( z )


z →1

- Constante de error estático de aceleración: K a = lim s 2 ⋅ G ( s )


s →0

En el caso discreto sería K a = lim z 2 ⋅ G ( z )


z →1

- Tabla con el error en estado estacionario en respuesta a una entrada escalón,


rampa y aceleración:

Error en estado estacionario


SISTEMA Escalón Rampa Aceleración
r (t ) = 1 r (t ) = t 1 2
r (t ) = ⋅t
2
Tipo 0 1 ∞ ∞
1+ K p

Tipo 1 0 1 ∞
Kv

Tipo 2 0 0 1
Ka

- Frecuencia de cruce de ganancia: Frecuencia ω1 para la cual el valor absoluto

G ( j ⋅ ω ) de la función de transferencia de lazo abierto es la unidad.

G ( j ⋅ ω1 ) = 1 ⇒ 20 ⋅ log10 G ( j ⋅ ω1 ) = 0

- 233 -
Sistemas de Control en Tiempo Discreto

- Frecuencia de cruce de fase: Se define como la frecuencia ω2 a la cual el


ángulo de fase de la función de transferencia de lazo abierto es igual a -180º.

ángulo(G ( j ⋅ ω 2 ) ) = −180º

- Margen de fase: Cantidad de retardo de fase adicional necesaria a la frecuencia


de cruce de ganancia, para que el sistema quede al borde de la inestabilidad. El
margen de fase γ es 180º más el ángulo de fase φ de la función de transferencia
de lazo abierto a la frecuencia de cruce de ganancia, o sea

γ = 180 + φ con φ = ángulo(G ( j ⋅ ω1 ) )

- Margen de ganancia: Es la inversa de G ( j ⋅ ω ) a la frecuencia de cruce de

fase. Es decir,

1
Kg = en dB ⇒ − 20 ⋅ log⋅10 G ( j ⋅ ω 2 ) dB
G( j ⋅ω 2 )

- Frecuencia de corte: Se denomina frecuencia de corte ωc a la frecuencia a la


cual el valor de la respuesta de frecuencia de lazo cerrado está 3 dB por debajo
G( j ⋅ ω c )
de su valor a frecuencia cero. Es decir, = −3 en dB, es decir
1 + G( j ⋅ ω c )

G( j ⋅ω c )
20 ⋅ log10 = −3 dB
1 + G( j ⋅ ω c )

- 234 -
Capítulo 7: Análisis de Respuesta en Frecuencias

- Ancho de banda: Es el rango de frecuencias 0 ≤ ω ≤ ω c en el que el valor del


lazo cerrado no cae por debajo de -3 dB.

Ejemplo diagrama de Bode:

10
Dada la función de transferencia G ( s ) =
s ⋅ ( s + 1) ⋅ ( s + 5)

> restart: with(plots):

> G := s -> 10/(s*(s+1)*(s+5));


1
G := s → 10
s (s + 1) (s + 5)

Se realiza el procedimiento 'Diag_Bode', que recibe como parámetro la función


G ( j ⋅ ω ) , los índices del eje 'x', y la constante que se pintará como recta en el diagrama
de magnitudes (0 dB en lazo abierto, -3 dB en lazo cerrado).

- En el eje 'x' de los diagramas, se representa la variable fr = log10 (ω ) . Para


saber cuál es una frecuencia determinada, basta con elevar a 10 la cifra que

se ve: ω = 10 fr .

- En el eje 'y', en el diagrama de magnitudes se representa la amplitud en


decibelios ( 20 ⋅ log10 G ( j ⋅ ω ) dB). En el diagrama de fases, se representa

la fase, ángulo(G ( j ⋅ ω ) ) , en grados.

- 235 -
Sistemas de Control en Tiempo Discreto

- En el diagrama de las magnitudes, se pinta en gris la recta equivalente a la


contante que se pasa como parámetro (0 dB para el sistema en lazo abierto,
-3 dB para el sistema en lazo cerrado.

- En el diagrama de las fases, se pinta en gris la recta equivalente a -180º.

- Como la función de Maple 'argument' da valores en radianes, se hace


radianes ⋅ 180
necesario pasar a grados: gra dos =
π

- La función de Maple 'argument' da sus valores entre − π y π radianes,


mientras que el diagrama de Bode pinta la fase con valores entre − 2 ⋅ π y 0
radianes (al margen de la conversión a grados antes mencionada). La
función 'arg', que representa la fase, tiene en cuenta este detalle.

- La función 'mag', representa la magnitud. 'mag' y 'arg' son variables


globales del procedimiento, para poder usarlas posteriormente.

> Diag_Bode := proc(f, ind1, ind2, cte)

local ctem, ctea, m, a, w, p1, p2;


global mag, arg;

with(plots):

# rectas adicionales
ctem := plot(cte, w=ind1..ind2, color=wheat, axes=FRAME):
ctea := plot(-180, w=ind1..ind2, color=wheat, axes=FRAME):
(continúa)

- 236 -
Capítulo 7: Análisis de Respuesta en Frecuencias

# magnitud de G
mag := w -> abs(subs(omega=w, f)):
m := plot(20*log[10](mag(10^w)), w=ind1..ind2, color=blue,
axes=FRAME, title=`magnitud de G`):
# fase de G
arg := w -> argument(subs(omega=w, f)) -
(signum(argument(subs(omega=w, f)))+1)*Pi;
a := plot(evalf(arg(10^w)*180/Pi), w=ind1..ind2,
color=blue, axes=FRAME, title=`fase de G`):

# diagramas
p1 := display({m, ctem}, labels=[fr, dB],
title=`MAGNITUD DE G`, tickmarks=[10,15]):
p2 := display({a, ctea}, labels=[fr, grados],
title=`FASE DE G`, tickmarks=[10,15]):
print(p1);
print(p2);

end:

- 237 -
Sistemas de Control en Tiempo Discreto

> # -1 = log[10](1/10), 3 = log[10](1000)


Diag_Bode(G(I*omega), -1, 3, 0);

Puede verse que en ambos diagramas el eje de frecuencias (eje 'x') es el mismo. Esto
será muy útil para calcular las frecuencias de cruce, como se verá más adelante.

La ganancia K del sistema es 10. Se calculan ahora las constantes de error estáticas:

- 238 -
Capítulo 7: Análisis de Respuesta en Frecuencias

> Kp := limit(G(s), s=0, right); Kp := limit(G(s), s=0, left);


Kv := limit(s*G(s), s=0);
Ka := limit(s^2*G(s), s=0);
Kp := ∞ Kp := −∞
Kv := 2
Ka := 0

Para calcular los siguientes valores, ampliamos la zona del diagrama de Bode que nos
interesa.

> Diag_Bode(G(I*omega), 0, 0.5, 0);

- 239 -
Sistemas de Control en Tiempo Discreto

Calculamos ahora la frecuencia de cruce de ganancia. En el diagrama de Bode se puede

apreciar que la magnitud tiene valor 0 dB para ω = 10 0.09 = 1.23 , aproximadamente. Lo


cual nos da un margen de fase aproximado de -155º + 180º = 25º (como los diagramas
de magnitud y fase tienen el mismo eje de frecuencias, basta con trazar una línea
vertical desde el punto donde la magnitud es cero, hasta el punto correspondiente en la
fase, y sumarle 180º al valor que se obtenga). Lo comprobamos con Maple,
aprovechando que 'mag' y 'arg' son variables globales.

> evalf(arg(10^0.09)*180/Pi) + 180;


25.2820203

Del mismo modo, se ve que la frecuencia de cruce de fase es ω = 10 0.35 = 2.24 . Por lo
que el margen de ganancia es de 10 dB (mirando el diagrama de Bode, se traza una línea
vertical desde el punto donde la fase es -180º, hasta el punto correspondiente de la
magnitud, y el valor se multiplica por -1).

> evalf(-20*log[10](mag(10^0.35)));
9.563028400

Frecuencia de corte (lazo cerrado):

> Gc := abs(G(I*omega)/(1+G(I*omega))):
ecu := evalf(20*log[10](Gc)) = -3:
solve(ecu, omega[c]);

Debido a los complejos cálculos que debe realizar Maple, este método no sirve para
determinar la frecuencia de corte en lazo cerrado. Lo hacemos con el diagrama de Bode.

- 240 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Se dibujan la magnitud y la fase de la función de transferencia de lazo cerrado.

> Diag_Bode(G(I*omega)/(1+G(I*omega)), 0, 0.5, -3);

Mirando el diagrama de Bode de la respuesta de frecuencia de lazo cerrado, para que


G( j ⋅ ω c )
20 ⋅ log10 = −3 dB, se ve que fr = 0.3, y por lo tanto
1 + G( j ⋅ ω c )

> omega[c] := 10^0.3;

ωc := 1.995262315

y el ancho de banda comprende el intervalo cerrado [0, ω c ] .

- 241 -
Sistemas de Control en Tiempo Discreto

7.4.2.- Ventajas del método del diagrama de Bode para el diseño en w. El método
del diagrama de Bode es en particular útil en lo que se refiere al análisis y el diseño de
los sistemas de control, por las siguientes razones:

1. Se pueden traducir las especificaciones de la respuesta transitoria a los


correspondientes de la respuesta en frecuencia en términos del margen de fase,
del margen de ganancia, del ancho de banda y así sucesivamente. Estas
especificaciones se pueden manejar fácilmente en el diagrama de Bode. En
particular, los márgenes de fase y de ganancia se pueden leer en forma directa
del diagrama de Bode.

2. El diseño de un compensador digital (o un controlador digital) para satisfacer las


especificaciones dadas (en función del margen de fase o del margen de
ganancia) puede llevarse a cabo en el diagrama de Bode de una forma sencilla y
simple.

- 242 -
Capítulo 7: Análisis de Respuesta en Frecuencias

7.5 TÉCNICAS DE COMPENSACIÓN.

Antes de analizar los procedimientos de diseño en el plano w (apartado 7.6),


revisemos las técnicas de compensación mediante el adelanto de fase, el atraso de
fase, y el atraso-adelanto de fase. [REF. 3].

Sea un sistema de control en tiempo continuo cuya función de transferencia es


G( s ), y cuya respuesta en frecuencias viene dada por G( s ) en s = j ω , es decir, G( j ω ).
Supongamos que discretizamos el sistema por invarianza al escalón, de forma que
obtenemos la siguiente función transferencia de pulso:

 1 − e − s⋅T 
G D ( z ) = Ζ ⋅ G ( s ) 
 s 

A continuación hacemos la transformación

T
1+⋅w
z= 2
T
1− ⋅ w
2

obteniendo la siguiente función transferencia de pulso en w:

G D ( w) = G D ( z )  T 
 1+ 2 ⋅w 
 z= T 
 1− ⋅w 
 2 

- 243 -
Sistemas de Control en Tiempo Discreto

cuya respuesta en frecuencias, como ya hemos visto (transformación w), viene dada por
GD( w ) en w = j ν , es decir, GD( j ν ).

Tal y como se indicó antes, los métodos convencionales de respuesta en


frecuencia en el plano s se aplican a las funciones de transferencia en el plano w.
Recordamos que el diagrama de Bode para una función GD( j ν ) consiste en dos trazas

por separado, la magnitud logarítmica G D ( j ⋅ν ) en función del logaritmo de ν y el

ángulo de fase de GD( j ν ) en función del logaritmo de ν. La traza de la magnitud

logarítmica se basa en la factorización de GD( j ν ), de tal forma que funciona en el


principio de sumar los términos factorizados individuales, en vez de multiplicar los
términos individuales. Las técnicas conocidas de trazas asintóticas son aplicables y, por
lo tanto, se puede dibujar con rapidez la curva de magnitud si se utilizan asíntotas con
líneas rectas. Mediante el uso del diagrama de Bode, se puede diseñar un compensador
digital o un controlador digital a través de técnicas de diseño convencionales.

Se considera el sistema mostrado en la figura.

Se supone que las especificaciones de diseño están dadas en términos de margen de


fase, margen de ganancia, constantes de error estático de velocidad y similares.

- 244 -
Capítulo 7: Análisis de Respuesta en Frecuencias

7.5.1 Compensador de adelanto de fase.

La compensación mediante el adelanto de fase es comúnmente utilizada para


mejorar los márgenes de estabilidad. Este tipo de compensación aumenta el ancho de
banda del sistema, luego aumenta la ganancia en altas frecuencias. Por lo tanto, el
sistema tiene una velocidad de respuesta más rápida. Sin embargo, un sistema que
utilice compensación mediante adelanto de fase puede estar sujeto a problemas de ruido
de alta frecuencia, en vista de su incremento en la ganancia en alta frecuencia.

Para diseñar un compensador de adelanto de fase seguimos los siguientes pasos:

1.- Se supone la forma siguiente para el compensador de adelanto:

1+τ ⋅ w
GC ( w) = K ⋅ 0 <α <1
1 + α ⋅τ ⋅ w

La función de transferencia en lazo abierto para el sistema compensado puede


escribirse:

1+τ ⋅ w
GC ( w) ⋅ G D ( w) = K ⋅ ⋅ G D ( w)
1 + α ⋅τ ⋅ w

1+τ ⋅ w
= ⋅ G D1 ( w)
1 + α ⋅τ ⋅ w

- 245 -
Sistemas de Control en Tiempo Discreto

siendo G D1 ( w) = K ⋅ G D ( w) . Determinar la ganancia K que satisfaga el

requisito de la constante de error estático de velocidad Kv dada, recordando que

K v = lim w ⋅ GC ( w) ⋅ G D ( w)
w→ 0

2.- Utilizando la ganancia K así determinada, dibujar el diagrama de Bode de


GD1 ( w ), el sistema ajustado por ganancia, pero no compensado. Evaluar el
margen de fase.

3.- Determinar el ángulo de adelanto de fase θ necesario a añadirse al sistema,


siendo θ la diferencia entre el margen de fase que se quiere tener, y el margen
de fase que se tiene sin el controlador (margen de fase de GD( w )).

4.- Añadir a θ entre 5º y 12º para compensar el desplazamiento de la frecuencia de


cruce de ganancia. Definir este θ añadido como adelanto de fase máximo θm,

(también llamado φm). Determinar el factor de atenuación α a partir de la


siguiente ecuación:

1−α
sin(θ m ) =
1+α

- 246 -
Capítulo 7: Análisis de Respuesta en Frecuencias

5.- Determinar el punto de frecuencia donde la magnitud del sistema no


 1 
compensado G D1 ( j ⋅ ω ) es igual a − 20 ⋅ log  . Escoger esta frecuencia
 α
como la nueva frecuencia de cruce de ganancia. Esta frecuencia corresponde a
1
νm = , y a esta frecuencia se presenta el desplazamiento máximo de fase
α ⋅τ
θm.

6.- Determinar las frecuencias de esquina del compensador de adelanto como sigue:

1
Cero del compensador de adelanto: ν=
τ

1
Polo del compensador de adelanto: ν=
α ⋅τ

7.- Verificar el margen de ganancia para asegurarse de que es satisfactorio.

La función principal del compensador de adelanto es proporcionar atenuación en


el rango de altas frecuencias para un margen de fase suficiente para el sistema. Las
características del atraso de fase no tienen consecuencias en la compensación mediante
atraso.

Ejemplo:

Como ejemplo de diseño de un compensador de adelanto de fase, ver el ejemplo del


apartado 7.6.

- 247 -
Sistemas de Control en Tiempo Discreto

7.5.2 Compensador de atraso de fase.

La compensación mediante atraso de fase reduce la ganancia del sistema en


frecuencias más altas, sin reducir la ganancia del sistema en frecuencias más bajas. El
ancho de banda del sistema queda reducido y, por lo tanto, el sistema tiene una
velocidad de respuesta más baja. Debido a la reducida ganancia en alta frecuencia, se
puede aumentar la ganancia total del sistema y, por lo tanto, incrementarse la ganancia
en baja frecuencia y mejorarse la precisión en estado permanente. También puede
atenuarse cualquier ruido de alta frecuencia que se presente en el sistema.

Para diseñar un compensador de atraso de fase se deben seguir los siguientes


pasos:

1.- Se supone la forma siguiente para el compensador de atraso:

1+τ ⋅ w
GC ( w) = K ⋅ , 1< β
1 + β ⋅τ ⋅ w

La función de transferencia en lazo abierto del sistema compensado puede


escribirse:

1+τ ⋅ w
GC ( w) ⋅ G D ( w) = K ⋅ ⋅ G D ( w)
1 + β ⋅τ ⋅ w

1+τ ⋅ w
= ⋅ G D1 ( w)
1 + β ⋅τ ⋅ w

- 248 -
Capítulo 7: Análisis de Respuesta en Frecuencias

siendo G D1 ( w) = K ⋅ G D ( w) . Determinar la ganancia K que satisfaga el

requisito de la constante de error estático de velocidad Kv dada. Recordando que

K v = lim w ⋅ GC ( w) ⋅ G D ( w)
w→ 0

2.- Si el sistema no compensado GD1( w ) no satisface las especificaciones referentes


a los márgenes de fase y de ganancia, entonces encontrar el punto de frecuencia
donde el ángulo de fase de la función de transferencia en lazo abierto sea igual
a -180º más el margen de fase requerido. El margen de fase requerido es el
margen de fase especificado más 5º a 12º. (La adición de 5º a 12º compensa el
atraso de fase del compensador de atraso). Escoger esta frecuencia como la
nueva frecuencia de cruce de ganancia.

3.- A fin de evitar efectos perjudiciales de atraso de fase en razón del compensador
de atraso, el polo y el cero del compensador de atraso deberán estar localizados
bastante más abajo que la nueva frecuencia de cruce de ganancia. Por lo tanto,
1
escoger la frecuencia de esquina ν = (correspondiente al cero del
τ
compensador de atraso de fase) una década por debajo de la nueva frecuencia de
cruce. Una relación igual a 10 se conoce como década de frecuencias [REF. 2].

4.- Determinar la atenuación necesaria para llevar la curva de magnitud hacia


abajo hasta 0 dB en la nueva frecuencia de cruce de ganancia. Notando que esta
atenuación es − 20 ⋅ log( β ) , determinar el valor de β. Entonces la otra frecuencia
de esquina (que corresponde al polo del compensador de atraso) queda
1
determinada a partir de ν = .
β ⋅t

- 249 -
Sistemas de Control en Tiempo Discreto

Ejemplo:

Se vuelve a utilizar el ejemplo del apartado 7.6, pero diseñando un controlador para un
margen de fase de 45º.

El compensador de atraso tiene la forma:

1+τ ⋅ w
GC ( w) = β >1
1 + β ⋅τ ⋅ w

> restart: with(inttrans): with(plots): Digits:=5:

> T := 1/5:
i1 := subs(t=T*t, simplify(invlaplace((K/(s^2*(s+1))), s, t))):
G[D](z) := evalf(simplify((z-1)/z*ztrans(i1, t, z))):

A continuación transformamos la función transferencia de pulso GD( z ) en una

función de transferencia GD( w ) mediante la transformación bilineal correspondiente:

> G[D](w) := simplify(subs(z=(1+w*(T/2)) / (1-w*(T/2)), G[D](z)));

( −10. + w ) K ( 11070. + 37. w )


GD( w ) := −.10000
( 11070. + 11107. w ) w

- 250 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Se trata de un compensador de atraso de fase. Esta es una de las formas más sencillas de
la función de transferencia del controlador digital. La función de transferencia en lazo
abierto es

> G[C](w) := (1+ tau*w) / (1+beta*tau*w);


G[C](w)*G[D](w);
1+τw
GC( w ) :=
1+β τw

( 1 + τ w ) ( −10. + w ) K ( 11070. + 37. w )


−.10000
( 1 + β τ w ) ( 11070. + 11107. w ) w

La constante de error estático de velocidad Kv queda especificada como 2 seg −1 . Por lo

tanto,

2 = K v = lim ( w ⋅ GC ( w) ⋅ G D ( w)) ↔K =2
w→ 0

Sustituimos K = 2 en GD( w ).

> G[D2](w) := factor(subs(K=2, G[D](w)));


( −10. + w ) ( w + 299.19 )
GD2( w ) := −.00066625
( w + .99667 ) w

- 251 -
Sistemas de Control en Tiempo Discreto

DIAGRAMA DE BODE DEL SISTEMA:

Primero es necesario ejecutar el procedimiento 'Diagrama_Bode', del ejemplo del


apartado 7.6. Como todavía no se tiene el valor exacto del controlador, se muestra sólo
el diagrama de Bode de GD( j ν ).

> G[D3](v) := subs(w=I*nu, G[D2](w)):


Diagrama_Bode(G[D3](v), 0, 1, -1, 3, 0);

- 252 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Se amplía la zona que interesa:

> Diagrama_Bode(G[D3](v), 0, 1, 0, 0.6, 0);

Mirando en el Diagrama de Bode:

0.1
- Frecuencia de Cruce de Ganancia: fr = 0.1 ν = 10 Margen de Fase: 30º
0.51
- Frecuencia de Cruce de Fase: fr = 0.5 ν = 10 Margen de Ganancia: 14dB

- 253 -
Sistemas de Control en Tiempo Discreto

Las especificaciones requieren, además de Kv = 2, de un margen de fase de 45º y


una ganancia de por lo menos 10 dB. Diseñemos un controlador digital que satisfaga
estas especificaciones.

Diseño del compensador de atraso: Ya que las especificaciones exigen un


margen de fase de 45º, el ángulo adicional del adelanto de fase necesario para satisfacer
este requisito es de 15º (en el diagrama de Bode anterior, se aprecia que el margen de
fase de GD( j ν ) es de -150º + 180º = 30º).

El margen de fase requerido es aproximadamente de 53º (margen de fase


especificado más entre 5º y 12º). Esto significa que se han añadido 8º para compensar el
desplazamiento de la ganancia en la frecuencia de cruce. En el Diagrama de Bode se ve

que la nueva frecuencia de cruce de ganancia es ν = 10 −0.2 = 0.63

> evalf(argGd(10^(-0.2))*180/Pi)+ 180;


10^(-0.2);
54.17
.63096

1
Frecuencia de esquina ν = (correspondiente al cero del compensador de
τ
1
atraso), una década por debajo de la nueva frecuencia de cruce: 0.063 =
τ

- 254 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Despejando, se obtiene el valor de τ:

> ecu := 0.063096 = 1/tau:


tau := solve(ecu, tau);
τ := 15.849

En la nueva frecuencia de cruce de ganancia, la magnitud es de 9 dB. Se


determina la atenuación necesaria para llevar la curva de magnitud a 0 dB, siendo dicha
atenuación − 20 ⋅ log10 ( β ) .

> evalf(20*log[10](magGd(10^(-0.2))));
beta := magGd(10^(-0.2));
8.5744
β := 2.6836

1
Por lo tanto, la otra frecuencia de esquina queda determinada como ν = = 0.02
β ⋅τ

> 1/(beta*tau);
.023511

La función del controlador se muestra a continuación:

> G[C](w) := (1+tau*w)/(1+tau*beta*w);

1 + 15.849 w
GC( w ) :=
1 + 42.532 w

- 255 -
Sistemas de Control en Tiempo Discreto

Diagrama de Bode:

> G[C2](v) := subs(w=I*nu, G[C](w)):


Diagrama_Bode(G[D3](v), G[C2](v), 1, -1, 3, 0);

- 256 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Se amplía la zona que interesa:

> Diagrama_Bode(G[D3](v), G[C2](v), 2, -0.3, 0.6, 0);

En el diagrama se observa que se satisfacen los requisitos dados:

- Margen de fase: -130º + 180º = 50º


- Margen de ganancia: -(-23 dB) = 23 dB.

- 257 -
Sistemas de Control en Tiempo Discreto

Precaución. Una vez diseñado el compensador de atraso en el plano w, GC ( w ) deberá

transformarse en el compensador de atraso en el plano z, GC ( z ). Note que el polo y el


cero en el compensador de atraso en el plano z están muy cerca uno de otro. (Están
cerca del punto z = 1). Ya que los coeficientes del filtro se deben realizar mediante
palabras binarias que utilizan un número limitado de bits, si el número de bits empleado
resulta insuficiente, las localizaciones de polos y ceros del filtro pueden no realizarse tal
y como se desea, y el compensador resultante podría no comportarse como se espera. Es
importante que el polo y el cero del compensador de atraso se presenten en un número
finito de puntos discretos asignables.

En algunas aplicaciones, un compensador de atraso de fase es colocado en


cascada con un compensador de adelanto de fase. Un compensador en serie como éste
se conoce como un compensador de atraso-adelanto de fase. Al utilizar este tipo de
compensador se puede incrementar la ganancia en baja frecuencia (lo que significa una
mejoría en la precisión en estado permanente), mientras que al mismo tiempo se puede
aumentar el ancho de banda y los márgenes de estabilidad.

Observaciones sobre el problema de cuantización de los coeficientes. Desde


el punto de vista de la implementación en un microprocesador de los compensadores de
adelanto de fase, atraso de fase y atraso-adelanto de fase, los compensadores de
adelanto de fase no presentan problemas de cuantización de coeficientes, porque las
localizaciones de los polos y de los ceros están bien separadas. Sin embargo, en el caso
de los compensadores de atraso de fase y de los compensadores de atraso-adelanto de
fase, la red de atraso de fase plantea un problema de cuantización de los coeficientes,
porque las localizaciones de polos y de ceros están cercanas entre sí (están cerca del
punto z = 1). [REF. 3].

- 258 -
Capítulo 7: Análisis de Respuesta en Frecuencias

7.6 PROCEDIMIENTO DE DISEÑO EN EL PLANO W.

Refiriéndonos al sistema de control digital de la figura, el procedimiento de


diseño en el plano w puede enunciarse como sigue [REF. 4]:

Datos:
función de transferencia continua de la planta Gp( s )
período de muestreo T

Paso 1: Obtener la función de transferencia discretizada de la planta precedida por un


mantenedor de orden cero (ver discretización por invarianza al escalón).
 1 − e − s⋅T 
Transformar G D ( z ) = Ζ ⋅ G p ( s)  GD( w ) mediante la transformación
 s 
bilineal

w ⋅T
1+
z= 2
w ⋅T
1−
2

- 259 -
Sistemas de Control en Tiempo Discreto

Es importante que el período de muestreo sea elegido adecuadamente. Una


regla práctica que da Ogata [REF. 3] es muestrear a una frecuencia de 10 veces
la del ancho de banda del sistema continuo en lazo cerrado. Es decir, el ancho
G ( s)
de banda de .
1 + G(s)

Paso 2: Determinar la ganancia del sistema para satisfacer la especificación del error
permanente [REF. 4].

Paso 3: Sustituir w = j ν en GD( w ) y representar el diagrama de Bode para el valor de


la ganancia que hemos calculado. Determinar la frecuencia de cruce de la
ganancia y el margen de fase.

Paso 4: Determinar la función de transferencia del controlador

1+τ ⋅ w
GC ( w) =
1 + α ⋅τ ⋅ w

utilizando las técnicas convencionales de diseño para sistemas de control en


tiempo continuo. La distorsión entre las escalas de ν y ω debe tenerse en
cuenta cuando se decide, por ejemplo, la frecuencia de cruce de la ganancia o
el ancho de banda.

Paso 5: Transformar la función de transferencia del controlador GC( w ) en GC( z )


mediante la transformación bilineal dada por

2 z −1
w= ⋅
T z +1

- 260 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Paso 6: Realizar la función de transferencia GC( z ) mediante un algoritmo


computacional.

Ejemplo:

Considerar el sistema de control de la figura. Diseñar un controlador digital en el


plano w de tal forma que el margen de fase sea 50º, el margen de ganancia sea de por lo

menos 10 dB, y la constante de error estático de velocidad Kv sea 2 seg −1 . Suponer que

el período de muestreo es T = 0.2 segundos. [REF. 3].

Primero obtenemos la función transferencia de pulso GD( z ) de la planta que está


precedida por un mantenedor de orden cero:

> restart: with(inttrans): Digits:=5: with(plots):

- 261 -
Sistemas de Control en Tiempo Discreto

> T := 1/5:
i1 := subs(t=T*t, simplify(invlaplace( (K/(s^2*(s+1))), s, t))):
G[D](z) := factor(evalf(simplify((z-1)/z*ztrans(i1, t, z))));

K ( .022880 z + .021400 )
GD( z ) := .81873
( z − 1. ) ( z − .81873 )

A continuación transformamos la función transferencia de pulso GD( z ) en una

función de transferencia GD( w ) mediante la transformación bilineal correspondiente:

> G[D](w) := simplify(subs(z=(1+w*((1/5)/2)) / (1-w*((1/5)/2)), G[D](z)));

( −10. + w ) ( 11070. + 37. w ) K


GD( w ) := −1.6375
( 181270. + 181870. w ) w

Un compensador de adelanto de fase, probablemente satisfará todos los


requisitos. Por lo tanto, probaremos compensación mediante adelanto (si no se
satisfacieran todos los requisitos, habría que probar con otro tipo de compensador).

Ahora supongamos que la función de transferencia del controlador digital


GC( w ) tiene una ganancia unitaria para el intervalo de baja frecuencia y la forma
siguiente, con 0 < α < 1 :

> G[C](w) := (1 + tau*w) / (1 + alpha*tau*w);


limit(subs(w=j*nu, G[C](w)), nu=0);
1+τw
GC( w ) :=
1+ατw

- 262 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Se trata de un compensador de adelanto de fase. Esta es una de las formas más


sencillas de la función de transferencia del controlador digital. La función de
transferencia en lazo abierto es

> eval(G[C](w)*G[D](w));
( −10. + w ) ( 11070. + 37. w ) K
GD( w ) := −1.6375
( 181270. + 181870. w ) w

La constante de error estático de velocidad Kv queda especificada como

2 seg −1 . Por lo tanto,

2 = K V = lim (w ⋅ GC ( w) ⋅ G D ( w) ) ↔K =2
w→ 0

La ganancia K se determina entonces como el valor 2.

> eval(limit(w*G[C](w)*G[D](w), w=0));


K

> solve(2=%, K);


2

Sustituimos K = 2 en GD( w ), y la expresión resultante es:

> G[D2](w) := factor(subs(K=2, G[D](w)));


( −10. + w ) ( w + 299.17 )
GD2( w ) := −.00066630
( w + .99670 ) w

- 263 -
Sistemas de Control en Tiempo Discreto

DIAGRAMA DE BODE DEL SISTEMA.

Se realiza ahora el procedimiento 'Diagrama_Bode', muy similar al


procedimiento Diag_Bode del ejemplo del apartado 7.4.1. Recibe como parámetros dos
funciones y un contador , además de los índices del eje 'x' y una constante, que se
pintará como recta en el diagrama de magnitudes (recta de 0 dB en lazo abierto, recta de
-3 dB en lazo cerrado).

- Las funciones son G D ( j ν ) y GC ( j ν ).

- El contador vale 1, 2 ó 3 según se quiera dibujar sólo G D ( j ν ), G D ( j ν ) y

GC ( j ν ) G D ( j ν ), o las dos anteriores y GC ( j ν ).

- Los dos siguientes parámetros son los índices del eje 'x'.

- El último parámetro es la constante que se pinta en el diagrama de magnitudes.

- La función G D ( j ν ) se dibuja en color azul.

- La función GC ( j ν ) G D ( j ν ) se dibuja en color negro.

- La función GC ( j ν ) se dibuja en color negro, punteado.

- Se definen como variables globales:

- magnitud y fase de G D ( j ν ): 'magGd', 'argGd'.

- magnitud y fase de GC ( j ν ): 'magGc', 'argGc'.

- magnitud y fase de GC ( j ν ) G D ( j ν ): 'magGcGd', 'argGcGd'.

- 264 -
Capítulo 7: Análisis de Respuesta en Frecuencias

> Diagrama_Bode := proc(f1, f2, cont, ind1, ind2, cte)

local cm, ca, mGd, mGc, mGcGd, aGd, aGc, aGcGd, v, p1, p2;
global magGd, magGc, magGcGd, argGd, argGc, argGcGd;

with(plots):

if (cont<1) or (cont>3)
then ERROR(`invalid cont`, cont);
fi;

# rectas adicionales
cm := plot(cte, v=ind1..ind2, color=wheat, axes=FRAME):
ca := plot(-180, v=ind1..ind2, color=wheat, axes=FRAME):

# magnitud de Gd
magGd := v -> abs(subs(nu=v, f1)):
mGd := plot(20*log[10](magGd(10^v)), v=ind1..ind2,
color=blue, axes=FRAME):

# fase de Gd
argGd := v -> argument(subs(nu=v, f1)) -
(signum(argument(subs(nu=v, f1)))+1) *Pi;
aGd := plot(evalf(argGd(10^v)*180/Pi), v=ind1..ind2,
color=blue, axes=FRAME):
(continúa)

- 265 -
Sistemas de Control en Tiempo Discreto

if (cont>1) then

# magnitud de Gc
magGc := v -> abs(subs(nu=v, f2)):
mGc := plot(20*log[10](magGc(10^v)), v=ind1..ind2,
color=black, axes=FRAME, style=point):

# fase de Gc
argGc := v -> argument(subs(nu=v, f2)) -
(signum(argument(subs(nu=v, f2)))+1) *Pi;
aGc := plot(evalf(argGc(10^v)*180/Pi), v=ind1..ind2,
color=black, axes=FRAME, style=point):

# magnitud de GcGd
magGcGd := v -> abs( subs(nu=v, f1) * subs(nu=v, f2) ):
mGcGd := plot(20*log[10](magGcGd(10^v)), v=ind1..ind2,
color=black, axes=FRAME):

# fase de GcGd
argGcGd := v -> argument( subs(nu=v, f1)*subs(nu=v, f2)) -
(signum(argument( subs(nu=v, f1)*subs(nu=v, f2)))+1) *Pi;
aGcGd := plot(evalf(argGcGd(10^v)*180/Pi), v=ind1..ind2,
color=black, axes=FRAME):
fi:
(continúa)

- 266 -
Capítulo 7: Análisis de Respuesta en Frecuencias

# DIAGRAMAS
if (cont=1) then
p1 := display({mGd, cm}, labels=[fr, dB],
title=`MAGNITUD DE G`, tickmarks=[10,15]):
p2 := display({aGd, ca}, labels=[fr, grados],
title=`FASE DE G`, tickmarks=[10,15]):
elif (cont=2) then
p1 := display({mGd, mGcGd, cm}, labels=[fr, dB],
title=`MAGNITUDES`, tickmarks=[10,15]):
p2 := display({aGd, aGcGd, ca}, labels=[fr, grados],
title=`FASES`, tickmarks=[10,15]):
else
p1 := display({mGd, mGcGd, mGc, cm}, labels=[fr, dB],
title=`MAGNITUDES`, tickmarks=[10,15]):
p2 := display({aGd, aGcGd, aGc, ca}, labels=[fr, grados],
title=`FASES`, tickmarks=[10,15]):
fi:

print(p1);
print(p2);

end:

- 267 -
Sistemas de Control en Tiempo Discreto

Como todavía no se tiene el valor exacto del controlador, se muestra sólo el


diagrama de Bode de G D ( j ν ).

> G[D3](v) := subs(w=I*nu, G[D2](w)):


Diagrama_Bode(G[D3](v), 0, 1, -1, 3, 0);

- 268 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Para apreciar mejor los márgenes de ganancia y fase de la función, se amplía la


zona que nos interesa del Diagrama de Bode:

> Diagrama_Bode(G[D3](v), 0, 1, 0, 0.6, 0);

Mirando en el Diagrama de Bode:


- Frecuencia de Cruce de Ganancia: fr = 0.1 ⇒ ν = 10 0.1
⇒ Margen de Fase: -150º + 180º = 30º
- Frecuencia de Cruce de Fase: fr = 0.5 ⇒ ν = 10 0.5
⇒ Margen de Ganancia: -(-14) = 14 dB

- 269 -
Sistemas de Control en Tiempo Discreto

Las especificaciones requieren, además de Kv = 2, un margen de fase de 50º y


una ganancia de por lo menos 10 dB. Diseñemos un controlador digital que satisfaga
estas especificaciones.

Diseño del compensador de adelanto: Ya que las especificaciones exigen un


margen de fase de 50º, el ángulo adicional del adelanto de fase necesario para satisfacer
este requisito es de 20º (en el diagrama de Bode anterior se ha visto que el margen de
fase de G D ( j ⋅ν ) es de 30º). Para obtener un margen de fase de 50º sin reducir el valor
de K, el compensador de adelanto debe de contribuir el ángulo de adelanto de fase
requerido.

Si observamos que la adición de un compensador de adelanto modifica la curva


de magnitud en el diagrama de Bode, la frecuencia de cruce de ganancia se desplazará
hacia la derecha. Si se considera el desplazamiento de la ganancia en la frecuencia de
cruce, debemos suponer que φ m, que es el ángulo máximo de adelanto de fase
requerido, es aproximadamente de 28º. Esto significa que se han añadido 8º (se añaden
entre 5º y 12º) para compensar el desplazamiento de la ganancia en la frecuencia de
cruce. En vista de que

1−α
sin(φ m ) =
1+α

> ecu := sin(28*Pi/180) = (1-alpha)/(1+alpha);


alpha := evalf(solve(ecu, alpha));
 7  1−α
ecu := sin π  =
 45  1 + α
α := .36101

φ m = 28° corresponde a α = 0.361 , confirmándose que se trata de adelanto de fase


(0 < α < 1) .

- 270 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Una vez que el factor α de atenuación se ha determinado sobre la base del


ángulo de adelanto de fase requerido, el siguiente paso es determinar las frecuencias de
1 1
esquina ν = yν = del compensador de adelanto. Para ello, primero notamos
τ α ⋅τ
que el ángulo de adelanto de fase máximo φ m , se presenta en la media geométrica de

1
las dos frecuencias de esquina, es decir ν = . La cantidad de modificación en la
α ⋅τ
1 1 + τ ⋅ j ⋅ν
curva de magnitud en ν = debido a la inclusión del término es
α ⋅τ 1 + α ⋅ τ ⋅ j ⋅ν

1 + τ ⋅ j ⋅ν 1
=
1 + α ⋅ τ ⋅ j ⋅ν  1  α
ν = α ⋅τ 
 

A continuación encontramos el punto de frecuencia donde la magnitud del


 1 
sistema no compensado es − 20 ⋅ log 
 α

> 1/sqrt(alpha):
-20*log(%);

-4.4246

Para encontrar el punto de frecuencia donde la magnitud es -4.4 dB, se mira


el anterior diagrama de Bode. Parece que la frecuencia es ν = 10 0.25 = 1.78 .

- 271 -
Sistemas de Control en Tiempo Discreto

Mediante prueba y error con Maple parece que la frecuencia sería 1.7:

> evalf(20*log[10](magG(10^0.25)));
evalf(20*log[10](magG(10^0.23)));
10^0.23;
-5.0596
-4.3694
1.6982

En ν = 1.7 la magnitud se convierte en alrededor de -4.4 dB. Seleccionamos esta


frecuencia como la nueva frecuencia de cruce de ganancia νc. Al observar que esta
1
frecuencia corresponde a ν c = se tiene:
α ⋅τ

> nu[c] := 1.7;


nu[c] = 1/sqrt(alpha*tau);

ν c := 1.7
1
1.7 = 1.6643
τ

> tau := solve(%, tau);


alpha*tau;
τ := .95844
.34601

- 272 -
Capítulo 7: Análisis de Respuesta en Frecuencias

1+τ ⋅ w
Por lo tanto, el compensador de adelanto determinado es GC ( w) =
1 + α ⋅τ ⋅ w

> G[C](w) := (1+tau*w)/(1+alpha*tau*w) ;


1 + .95844 w
GC( w ) :=
1 + .34601 w

Las curvas de magnitud y de ángulo de fase para GC( j ν ) y las curvas de magnitud y de
ángulo de fase de la función de transferencia en lazo abierto se muestran mediante
curvas sólidas en el diagrama de Bode.

> G[C2](v) := subs(w=I*nu, G[C](w)):


Diagrama_Bode(G[D3](v), G[C2](v), 2, -1, 3, 0);

- 273 -
Sistemas de Control en Tiempo Discreto

Ampliando la zona que nos interesa, vemos que el margen de fase es de 50º y el margen
de ganancia es de 14 dB.

> Diagrama_Bode(G[D3](v), G[C2](v), 2, 0, 0.8, 0);

- 274 -
Capítulo 7: Análisis de Respuesta en Frecuencias

La función de transferencia del controlador que acabamos de dar (GC( w )) se


transformará ahora de regreso al plano z mediante la correspondiente transformación
bilineal:

2 z −1 2 z −1 z −1
w= ⋅ = ⋅ = 10 ⋅
T z +1 1 z +1 z +1
5

> G[C](z) := simplify(subs(w=10*(z-1)/(z+1), G[C](w)));


26461. z − 21461.
GC( z ) := 4.
44601. z − 24601.

La función transferencia de pulso en lazo abierto del sistema compensado es

> G[D](z) := subs(K=2, G[D](z)):


G[C](z)*G[D](z);
( 26461. z − 21461. ) ( .022880 z + .021400 )
6.5500
( 44601. z − 24601. ) ( z − 1. ) ( z − .81873 )

La función transferencia de pulso en lazo cerrado del sistema que hemos diseñado es

C ( z) GC ( z ) ⋅ G D ( z )
=
R( z ) 1 + GC ( z ) ⋅ G D ( z )

> simplify(G[C](z)*G[D] (z) / (1+G[C](z)*G[D] (z)));


( 26461. z − 21461. ) ( 572. z + 535. )
131.
11 3 11 2 11 11
.22300 10 z − .50876 10 z + .40876 10 z − .11575 10

- 275 -
Sistemas de Control en Tiempo Discreto

7.7 EJERCICIOS.

> restart: with(inttrans): with(plots): Digits:=5:

Para realizar los siguientes ejercicios, es necesario haber ejecutado primero el


procedimiento 'Diagrama_Bode’.

7.7.1.- Obtenga la salida en estado permanente de el sistema definido en el ejemplo


del apartado 7.3, a una entrada senoidal u ( k T ) = A sin( k ω T ).

0.6321
Tenemos la función de transferencia G D ( z ) = .
z − 0.3679
j ωT
Sustituimos z por e en GD( z ):

> G[D] := z -> 0.6321/(z-0.3679);


G[D](exp(I*omega*T)):
convert(%, trig);
1
GD := z → .6321
z − .3679

1
.6321
cos( ω T ) + I sin( ω T ) − .3679

- 276 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Se calculan ahora la magnitud y el ángulo de fase.

> M := simplify(evalc(abs(G[D](exp(I*omega*T)))));
1
M := 63.210
−7358. cos( ω T ) + 11354.

> theta := simplify(evalc(argument(G[D](exp(I*omega*T)))));


θ := arctan( −1. sin( ω T ), cos( ω T ) − .36790 )

Por lo tanto, la salida en estado permanente se puede escribir como


A ⋅ M ⋅ sin(k ⋅ ω ⋅ T + θ ) .

> x[ss](k*T) := A*M*sin(k*omega*T+theta);

A sin( k ω T + arctan( −1. sin( ω T ), cos( ω T ) − .36790 ) )


x ss( k T ) := 63.210
−7358. cos( ω T ) + 11354.

- 277 -
Sistemas de Control en Tiempo Discreto

7.7.2.- Dado el sistema que se muestra en la figura,

diseñe un controlador digital para el mismo. Utilice el método del diagrama de


Bode en el plano w. Las especificaciones de diseño consisten en que el margen de
fase debe ser de 55º, el margen de ganancia por lo menos de 10 dB, y la constante
-1
de error estático de velocidad de 5 seg . El período de muestreo se especifica como
0.1 seg.

La transformada z de la planta precedida por un mantenedor de orden cero es

 1 − e −Ts   1 
G D ( z ) = Ζ 2  = (1 − z −1 ) ⋅ Ζ 
s ⋅ ( s + 2)   s ⋅ ( s + 2) 
2
   

> T := 1/10:
subs(t=T*t, invlaplace(1/(s^2*(s+2)), s, t)):
G[D](z) := factor(evalf((1-z^(-1))*ztrans(%, t, z)));

z + .94338
GD( z ) := .0046627
( z − 1. ) ( z − .81836 )

- 278 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Transformamos G D ( z ) en G D ( w ) utilizando la transformación bilineal


correspondiente:

T ⋅w
1+
z= 2
T ⋅w
1−
2

> G[D](w) := simplify(subs(z=(1+w*T/2)/(1-w*T/2), G[D](z)));

7
( −20. + w ) ( .19434 10 + 2831. w )
GD( w ) := −.0011657
( 90820. + 45459. w ) w

Escogemos ahora la función de transferencia del controlador en la forma

> G[C](w) := K*(1+w/a)/(1+w/b);


 w
K  1 + 
 a
GC( w ) :=
w
1+
b

1 1
donde a = y b= . La función de transferencia en lazo abierto es
τ α ⋅τ

> simplify(G[C](w)*G[D](w));
7
K ( a + w ) b ( −20. + w ) ( .19434 10 + 2831. w )
−.0011657
a ( b + w ) ( 90820. + 45459. w ) w

- 279 -
Sistemas de Control en Tiempo Discreto

La constante de error estático de velocidad requerida es Kv = 5 seg −1 , por lo tanto

> K[v] := 5;
ecu := K[v] = limit(w*G[C](w)*G[D](w), w=0);
K := solve(ecu, K);
Kv := 5
ecu := 5 = .49888 K
K := 10.022

Utilizando una técnica de diseño convencional, se determina la función de transferencia


del controlador digital como

> G[C](w) := simplify(10*((1+w/1.994)/(1+w/12.5)));


1 + .50150 w
GC( w ) := 10
1 + .080000 w

Por lo tanto, la función de transferencia en lazo abierto se convierte en

> simplify(G[C](w)*G[D](w));
7
( 2000. + 1003. w ) ( −20. + w ) ( .19434 10 + 2831. w )
−.00014571
( 25. + 2. w ) ( 90820. + 45459. w ) w

- 280 -
Capítulo 7: Análisis de Respuesta en Frecuencias

A continuación se muestra el diagrama de Bode del sistema, donde puede observarse


que se ha utilizado un compensador de adelanto de fase.

> G[D2](v) := subs(w=I*nu, G[D](w)):


G[C2](v) := subs(w=I*nu, G[C](w)):
Diagrama_Bode(G[D2](v), G[C2](v), 2, -1, 3, 0);

- 281 -
Sistemas de Control en Tiempo Discreto

Se amplía la zona que nos interesa.

> Diagrama_Bode(G[D2](v), G[C2](v), 2, -0.4, 1.6, 0);

En el diagrama parece que la frecuencia de cruce de ganancia de GC ( j ⋅ν ) ⋅ G D ( j ⋅ν ) es

fr = 0.65, ν = 4.4668. El margen de fase parece 180º - 120º = 60º.

> evalf(argGcGd(10^0.65)*180/Pi)+ 180;


58.16

- 282 -
Capítulo 7: Análisis de Respuesta en Frecuencias

Observando el diagrama de Bode, la frecuencia de cruce de fase de GC ( j ⋅ν ) ⋅ G D ( j ⋅ν )


1.25
es fr = 1.25, ν = 10 = 17.78.
El margen de ganancia es de aproximadamente 12 dB.

> -(evalf(20*log[10](magGGD(10^1.2))));
13.297

La función de transferencia en lazo abierto da el margen de fase de


aproximadamente 58º y el margen de ganancia de alrededor de 13 dB. La constante de

error estático de velocidad es K v = 5 ⋅ seg −1 . Por lo tanto, se satisfacen todos los

requisitos y la función de transferencia del controlador diseñado GC ( w ) es satisfactoria.

A continuación, transformamos GC ( w ) en GC ( z ). Se deberá utilizar la siguiente


transformación bilineal:

2 z −1
w= ⋅
T z +1

> G[C](z) := simplify(subs(w=(2/T*((z-1)/(z+1))), G[C](w)));

1103. z − 903.
GD( z ) := .50000
13. z − 3.

La función transferencia de pulso en lazo abierto ahora se convierte en

> simplify(G[C](z)*G[D](z));
( 1103. z − 903. ) ( 50000. z + 47169. )
.0011657
( 13. z − 3. ) ( z − 1. ) ( 25000. z − 20459. )

- 283 -
Sistemas de Control en Tiempo Discreto

7.7.3.- Considere el sistema de control mostrado en la figura.

1
La función de transferencia de la planta es . Diseñe un controlador digital en el
s2
plano w, tal que el margen de fase sea de 50º, y el margen de ganancia sea por lo
menos 10 dB. El período de muestreo es T = 0.1. Después de diseñar el controlador,
obtenga la constante de error estático de velocidad Kv.

Primero se obtiene la transformada z precedida por un mantenedor de orden cero:

> T := 1/10:
subs(t=T*t, invlaplace(1/(s^3), s, t)):
G[D](z) := evalf(simplify((1-z^(-1))*ztrans(%, t, z)));
z + 1.
GD( z ) := .0050000
2
( z − 1. )

Se transforma G D( z ) en G D( w ) utilizando la transformación bilineal correspondiente:

T ⋅w
1+
z= 2
T ⋅w
1−
2

- 284 -
Capítulo 7: Análisis de Respuesta en Frecuencias

> G[D](w) := simplify(subs(z=(1+w*T/2)/(1-w*T/2), G[D](z)));


−20. + w
GD( w ) := −.050000
2
w

A continuación se muestra el diagrama de Bode de G ( j v ) que se obtiene.

> G[D2](v) := subs(w=I*nu, G[D](w)):


Diagrama_Bode(G[D2](v), 0, 1, -1, 3, 0);

- 285 -
Sistemas de Control en Tiempo Discreto

Se amplía la zona que nos interesa.

> Diagrama_Bode(G[D2](v), 0, 1, -1, 3, 0);

En el diagrama parece que la frecuencia de cruce de ganancia es fr = 0.

- 286 -
Capítulo 7: Análisis de Respuesta en Frecuencias

> evalf(argG(10^0)*180/Pi)+180;
-2.86

Observe que el margen de fase es de aproximadamente -3º. Será necesario añadir una
red de adelanto para conseguir el margen de fase y el margen de ganancia requeridos.
Mediante la aplicación de una técnica convencional de diseño, puede verse que la red de
adelanto siguiente satisface los requisitos:

> G[C](w) := 4*((1+w)/(1+w/16));


G[C](w) := simplify(%);
1+w
GC( w ) := 4
1
1+ w
16

1+w
GC( w ) := 64
16 + w

Se muestra ahora el diagrama de Bode completo, omitiendo la función GC ( j ν ).

> G[C2](v) := subs(w=I*nu, G[C](w)):


Diagrama_Bode(G[D2](v), G[C2](v), 2, -1, 3, 0);

- 287 -
Sistemas de Control en Tiempo Discreto

Se amplía la zona que nos interesa.

> Diagrama_Bode(G[D2](v), G[C2](v), 2, -0.1, 0.4, 0);

La adición de esta red de adelanto modifica el diagrama de Bode. La frecuencia


de cruce de ganancia se recorre a ν = 10 0.6 . Note que el adelanto de fase máximo φm que
puede producir esta red de adelanto es 62º, ya que

1−α 
φ m = arcsin 
1+α 

- 288 -
Capítulo 7: Análisis de Respuesta en Frecuencias

> phi[m] := evalf(1/sin((1-1/16)/(1+1/16)));

φ m := 61.925

A la frecuencia de cruce de ganancia ν = 10 0.6 , el ángulo de fase de GC ( j ν ) G D ( j ν ) se


convierte en -129º.

> evalf(argGcGd(10^0.6)*180/Pi);
-129.33

Por lo tanto, el margen de fase es –129º + 180º = 51º. El margen de ganancia se


determina aproximadamente en 14 dB. Por lo tanto, se satisfacen las especificaciones de
diseño dadas. Lo comprobamos con Maple.

> evalf(argGcGd(10^0.6)*180/Pi);
13.909

Ahora transformamos la función de transferencia del controlador GC ( w ) en

GC ( z ) mediante la transformación bilineal correspondiente:

2 z −1
w= ⋅
T z +1

> G[C](z) := simplify(subs(w = (2/T)*(z-1)/(z+1), G[C](w)));

21 z − 19
GC( z ) := 16
9z−1

- 289 -
Sistemas de Control en Tiempo Discreto

Entonces, la función transferencia de pulso en lazo abierto se convierte en

> simplify(G[C](z)*G[D](z));
( 21. z − 19. ) ( z + 1. )
.080000
2
( 9. z − 1. ) ( z − 1. )

La constante de error estático de velocidad se obtiene como sigue:

(1 − z −1 ) ⋅ GC ( z ) ⋅ G D ( z )
K v = lim
z →1 T

> K[v] := limit((1-z^(-1))*G[C](z)*G[D](z)/T, z = 1, right);


K[v] := limit((1-z^(-1))*G[C](z)*G[D](z)/T, z = 1, left);
Kv := Float( ∞ )
Kv := Float( −∞ )

La constante de error estático de velocidad tiende al infinito. Como el sistema es de tipo


2 (dos polos en s = 0), el error en estado estacionario en la respuesta rampa es cero (ver
tabla).

- 290 -
Capítulo 7: Análisis de Respuesta en Frecuencias

7.8 REFERENCIAS.

[REF. 1] R.V. Churchill, J. W. Brown,


Variable Compleja y Aplicaciones,
Mc-Graw Hill, 1992

[REF. 2] K. Ogata,
Ingeniería de Control Moderna,
Prentice-Hall, 1980

[REF. 3] K. Ogata,
Sistemas de Control en Tiempo Discreto,
Prentice-Hall, 2ª edición (1996)

[REF. 4] J. Rebollo Rodríguez ,


SECAD: Módulo de Diseño de Controladores,
U.P.M., Escuela Superior de Ingenierios de Telecomunicaciones,
curso 1990-91

- 291 -