Sunteți pe pagina 1din 17

36 Estudio temporal y frecuencial de sistemas de primer y segundo orden

Imag Axis

3
2.5 2 1.5 1 0.5 0 0.5 1
Real Axis

Figura 2.13: Lugar de las races con rejilla

2.3 Estudio temporal y frecuencial de sistemas de primer


y segundo orden

2.3.1 Sistemas de primer orden

La representacion en forma de funcion de transferencia viene dada por:


K
G(s) =
1 + s
que en notacion matlab se introduce:

K = 1;
tau = 1;
num = K;
den = [tau 1];

La respuesta a un escalon unitario de entrada se obtiene con la funcion step. El resultado


puede verse en la Fig. 2.14

t = [0:0.1:10];
ye = step(num,den,t);
plot(t,ye);
title (Respuesta a un escalon unitario);
xlabel (tiempo(seg));
grid;
ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB 37

Respuesta a un escaln unitario


1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

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

Figura 2.14: Respuesta a escalon unitario del sistema de primer orden

Las dos caractersticas fundamentales de un sistema de primer orden son su ganancia estatica
K y su constante de tiempo . La constante de tiempo es el tiempo que tarda en alcanzar
el 63% de la salida. La ganancia estatica es el cociente entre la amplitud de salida y la de
entrada en el regimen permanente. Estos valores se pueden comprobar directamente en la
grafica o analizando el vector de datos resultante:

yRP = ye(length(ye)); % Valor en regimen permanente


n = 1;
while ye(n) < 0.63*yRP
n=n+1;
end
% Constante de tiempo (0.1 es el intervalo transcurrido entre dos medidas,
% se le resta 1, porque los indices empiezan en 1):
tauEstim = 0.1*(n-1);

La respuesta a una rampa unitaria de entrada para nuestro sistema de primer orden se puede
simular mediante:

ramp = t;
yr = lsim (num,den,ramp,t);
plot (t,yr,t,ramp);
title (Respuesta a una rampa);
xlabel (tiempo(seg));
grid;

El resultado se muestra en la Fig. 2.15, en la que aparecen, tanto la rampa de entrada como
la salida. El error de seguimiento en posicion en regimen permanente puede obtenerse, al
igual que se ha hecho anteriormente, midiendo directamente en la grafica o bien a partir del
vector de datos resultante.
38 Estudio temporal y frecuencial de sistemas de primer y segundo orden

Respuesta a una rampa


10

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

Figura 2.15: Respuesta a rampa unitaria del sistema de primer orden

La respuesta impulsional se puede obtener del mismo modo, pero usando en este caso la
funcion impulse (Fig. 2.16), que tiene una sintaxis similar al comando step.

yi = impulse (num,den,t);
plot (t,yi);
title (Respuesta a un impulso);
xlabel (tiempo(seg));

Respuesta a un impulso
1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

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

Figura 2.16: Respuesta a impulso del sistema de primer orden

Para finalizar con la seccion de sistemas de primer orden, se va a comprobar que los resultados
coinciden con los esperados en la teora. Como es bien sabido, los sistemas lineales de primer
orden de ganancia unidad invariantes en el tiempo tienen las siguientes caractersticas (nos
remitimos a la bibliografa):

Respuesta a escalon unitario: ye2 (t) = 1 e(t/ ) , (t 0)


ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB 39

Respuesta a rampa unitaria: yr2 (t) = t + e(t/ ) , (t 0)


Respuesta a impulso: yi2 (t) = (1/ )e(t/ ) , (t 0)

Si se dibujan estas funciones con el vector de tiempos definido anteriormente, y se superponen


con las graficas vistas anteriormente, puede apreciarse que coinciden perfectamente (Fig.
2.17).

ye2 = 1 - exp(-t/tau);
yr2 = t - tau + tau * exp(-t/tau);
yi2 = (1/tau) * exp(-t/tau);
plot (t,ye,t,ye2,o);
title(Respuesta teorica a escalon unitario);
grid;
pause;
plot (t,yr,t,ramp,t,yr2,o);
title(Respuesta teorica a rampa unitaria);
grid;
pause;
plot (t,yi,t,yi2,o);
title (Respuesta teorica a impulso);
grid;

2.3.2 Sistemas de segundo orden

La representacion normal de un sistema de segundo orden en forma de funcion de transferencia


viene dada por:
Kwn2
G(s) = 2
s + 2wn s + wn2
donde:

K: ganancia estatica del sistema. Se va a suponer en el analisis siguiente, sin perdida de


generalidad, que K = 1.
: Coeficiente de amortiguamiento.
wn : Frecuencia natural no amortiguada del sistema.


Del polinomio caracterstico se tiene que las dos races son s1,2 = wn wn 2 1, pudiendo
distinguirse los siguientes casos:

Caso 1: Si > 1 2 races reales distintas en SPI (sobreamortiguado).


40 Estudio temporal y frecuencial de sistemas de primer y segundo orden

Respuesta terica a escaln unitario


1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7 8 9 10
Respuesta terica a rampa unitaria
10

0
0 1 2 3 4 5 6 7 8 9 10
Respuesta terica a impulso
1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

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

Figura 2.17: Respuesta a escalon, rampa e impulso del sistema de primer orden
ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB 41

Caso 2: Si = 1 2 races reales iguales en SPI (lmite sobre-sub), sistema crticamente


amortiguado.

Caso 3: Si 0 < < 1 races complejas conjugadas en SPI (subamortiguado)

Caso 4: Si = 0 Respuesta oscilatoria. Sistema crticamente estable. Races en eje


imaginario.

Caso 5: Si < 0 Sistema inestable, races en SPD.

Se va a analizar el comportamiento para el conjunto de valores de en la respuesta a un


escalon unitario. Se supone wn = 1. Dado que el caso 3 se vera con mas detalle, dado su
mayor interes, se presentara en ultimo lugar.

Primer caso: 2 races reales distintas (Fig. 2.18).

t = [0:0.2:20];
wn = 1;
d = 2;
num = [wn^2];
den = [1,2*d*wn,wn^2];
ye = step (num,den,t);
plot (t,ye);
title (Respuesta a un escalon unitario);
xlabel (tiempo(seg));
grid;

Respuesta a un escaln unitario


1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
tiempo(seg)

Figura 2.18: Respuesta a escalon del sistema de segundo orden con dos races reales distintas

Segundo caso: 2 races reales iguales (crticamente amortiguado) (Fig. 2.19). El


sistema, en este caso el lo mas rapido posible, antes de hacerse subamortiguado.
42 Estudio temporal y frecuencial de sistemas de primer y segundo orden

d = 1;
den = [1,2*d*wn,wn^2];
ye = step (num,den,t);
plot (t,ye);
title (Respuesta a un escalon unitario);
xlabel (tiempo(seg));
grid;

Respuesta a un escaln unitario


1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
tiempo(seg)

Figura 2.19: Respuesta a escalon de un sistema segundo orden con dos races reales iguales

Cuarto caso: Sistema en punto crtico de oscilacion (Fig. 2.20).

d = 0;
den = [1,2*d*wn,wn^2];
ye = step (num,den,t);
plot (t,ye);
title (Respuesta a un escalon unitario);
xlabel (tiempo(seg));
grid;

Quinto caso: Sistema inestable (Fig. 2.21).

d = -0.1;
den = [1,2*d*wn,wn^2];
ye = step (num,den,t);
plot(t,ye);
title (Respuesta a un escalon unitario);
xlabel (tiempo(seg));
grid;
ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB 43

Respuesta a un escaln unitario


2

1.8

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
0 2 4 6 8 10 12 14 16 18 20
tiempo(seg)

Figura 2.20: Respuesta a escalon de un sistema de segundo orden crticamente estable

Respuesta a un escaln unitario


6

6
0 2 4 6 8 10 12 14 16 18 20
tiempo(seg)

Figura 2.21: Respuesta a escalon de un sistema de segundo orden inestable


44 Estudio temporal y frecuencial de sistemas de primer y segundo orden

Tercer caso: Dos races complejas conjugadas (Fig. 2.22).

d = 0.5;
den = [1,2*d*wn,wn^2];
ye = step (num,den,t);
plot (t,ye);
title (Respuesta a un escalon unitario);
xlabel (tiempo(seg));
grid;

Respuesta a un escaln unitario


1.2

0.8

0.6

0.4

0.2

0
0 2 4 6 8 10 12 14 16 18 20
tiempo(seg)

Figura 2.22: Respuesta a escalon de un sistema segundo orden subamortiguado

Se puede tambien analizar para este tercer caso de dos races complejas el efecto de modificar
el factor de amortiguamiento. Se muestra para valores = {0.1, 0.2, ...0.9} (Fig. 2.23).

t = [0:0.2:20];
wn = 1;
vectDelta = [0.1:0.1:0.9];
num = wn^2;
Y = [];
for ind = 1:length(vectDelta)
d = vectDelta(ind);
den = [1,2*d*wn,wn^2];
y = step (num,den,t);
Y = [Y, y];
end
plot (t,Y);
title (Respuesta a un escalon unitario);
xlabel (tiempo(seg));
grid;

Se mantiene el valor de = 0.2 para el siguiente analisis:


ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB 45

Respuesta a un escalon unitario


1.8

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
0 2 4 6 8 10 12 14 16 18 20
tiempo(seg)

Figura 2.23: Familia de respuestas escalon de un sistema segundo orden subamortiguado

d = 0.2;
den = [1,2*d*wn,wn^2];
ye = step (num,den,t);

La salida del sistema viene dada por la ecuacion:



e(wn t) (1 2 )
ye (t) = 1  sen(wd t + ) , con : = arctg
(1 2 )

y donde wd = wn (1 2 ), siendo wd la frecuencia natural amortiguada.

Las envolventes de la respuesta anterior vendran dadas por:

e(wn t) e(wn t)
1+  y 1 
(1 2 ) (1 2 )

ev1 = 1 + ((exp(-d*wn*t)/(sqrt(1-d^2))));
ev2 = 1 - ((exp(-d*wn*t)/(sqrt(1-d^2))));
plot (t,ye,t,ev1,t,ev2);
title (Respuesta de sist. segundo orden)
xlabel (tiempo (s));
ylabel (salida);
grid;

Los parametros caractersticos del transitorio vienen dados por:

Tiempo de pico: tp =
wd =
wn (1 2 )
46 Estudio temporal y frecuencial de sistemas de primer y segundo orden

Respuesta de sist. segundo orden


2

1.8

1.6

1.4

1.2

salida
1

0.8

0.6

0.4

0.2

0
0 2 4 6 8 10 12 14 16 18 20
tiempo (s)

Figura 2.24: Envolventes de la respuesta de un sistema de segundo orden subamortiguado


Tiempo de subida: ts = wd


Sobreoscilacion (%): S0 = e (1 2 )

Estos valores se pueden calcular analticamente y compararlos con los obtenidos directamente
de la grafica o analizando el vector de resultados.

% Valor de la salida en reg. perm:


yeRP = 1;
% Calculo SO teorica:
SOana = exp (-(d*pi)/(sqrt(1-d^2)));
% A partir de la respuesta obtenida:
SO = max(ye) - yeRP;

% Tiempo de pico teorico:


Tpana = pi/(Wn*sqrt(1-d^2));
% A partir de la respuesta. Aunque existen muchas formas de calcularlo,
% una trivial es la siguiente (la precision viene determinada por la
% primera cifra decimal, debido al modo de definir el vector de tiempos):
for i = 1:length(ye)
if ye(i) == max(ye)
Tp = t(i);
break;
end
end

% Tiempo de subida teorico:


fi = atan (sqrt(1-d^2)/d);
Tsana = (pi-fi) / (wn*sqrt(1-d^2));
ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB 47

% A partir de la respuesta. Por definicion, el tiempo de subida es aquel


% para el cual la salida iguala por primera vez al valor en reg. perm.
for i = 1:length(t)
if (ye(i) <= yeRP & ye(i+1) >= yeRP)
Ts = t(i);
break;
end
end

disp Sobreoscilaciones; [SOana SO]


disp Tiempos de pico; [Tpana Tp]
disp Tiempos de subida; [Tsana Ts]

2.3.3 Analisis del efecto de un cero en la respuesta temporal de un sistema


de segundo orden

Los ceros afectan al valor de la ganancia y a la forma de respuesta transitoria, pero no a la


estabilidad. Supongamos la funcion de transferencia siguiente:
2
K wzn (s + z)
G(s) = 2
s + 2wn s + wn2
Segun la posicion de los polos y los ceros se tendran comportamientos diferentes.

Si el valor absoluto del cero es mucho mayor que el valor absoluto de la parte real de los
polos, apenas vara la forma de la respuesta tpica (polos dominantes). Ver Fig. 2.25.

t = [0:0.2:20];
K = 1;
wn = 1;
d = 0.5;
c = 10;
% Numeradores sin cero y con cero:
num = K * wn^2;
num2 = K * (wn^2/c) * [1 c];
den = [1 2*d*wn wn^2];
% Comparamos la salida con la correspondiente al mismo sistema sin cero:
y = step (num,den,t);
y2 = step (num2,den,t);
plot (t,y2,t,y,o);
title (Influencia de un cero lejos del eje imaginario);
polos = roots(den);
disp Magnitud de la parte real polos:;
abs(real(polos(1)))
48 Estudio temporal y frecuencial de sistemas de primer y segundo orden

Influencia de un cero lejos del eje imaginario


1.2

0.8

0.6

0.4

0.2

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

Figura 2.25: Influencia de un cero lejano en la respuesta temporal de un sistema de segundo


orden

Si el cero esta entre dos races reales no vara la forma de la respuesta, pero vara su rapidez
(Fig. 2.26), pues se introduce accion derivativa.

t = [0:0.2:20];
K=1; wn=1; d=2; c=0.5;
num = K*wn^2;
num2 = K*(wn^2/c)*[1 c];
den = [1 2*d*wn wn^2];

y = step (num,den,t);
y2 = step (num2,den,t);
plot (t,y2,t,y,o);
title(Influencia del cero entre polos reales);
disp Magnitud de los polos:;
abs(roots(den))

Si el cero esta mas cerca del eje imaginario que los polos reales, aumenta la rapidez de la
respuesta (Fig. 2.27), pudiendo la salida rebasar ampliamente su valor de regimen perma-
nente. Como el efecto derivativo es muy grande, aunque el sistema sin el cero no sobrepasara
el valor de regimen permanente, el efecto del cero hace que s sobrepase dicho valor.

t = [0:0.2:20];
K=1; wn=1; d=2; c=0.05;
num = K*wn^2;
num2 = K*(wn^2/c)*[1 c];
den = [1 2*d*wn wn^2];

y = step (num,den,t);
ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB 49

Influencia del cero entre polos reales


1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

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

Figura 2.26: Influencia de un cero dominante en la respuesta temporal de un sistema de


segundo orden

y2 = step (num2,den,t);
plot (t,y2,t,y,o);
title(Influencia del cero cercano al eje imag.);
disp Magnitud de los polos:;
abs(roots(den))

Influencia de un cero cercano al eje imaginario


5

4.5

3.5

2.5

1.5

0.5

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

Figura 2.27: Influencia de un cero muy dominante en la respuesta temporal de un sistema


de segundo orden

Si el cero pasa al semiplano derecho (sistema de fase no mnima) modifica sensiblemente la


oscilacion (tpico por ejemplo en arranque de turbinas). Ver Fig. 2.28. En este caso, la accion
derivativa inicial va en sentido contrario a la salida del sistema, por lo que si dicha accion
derivativa es grande (cero cercano al eje imaginario), la salida ira inicialmente en sentido
contrario a la de regimen permanente.

t = [0:0.2:20];
50 Estudio temporal y frecuencial de sistemas de primer y segundo orden

K=1; wn=1; d=2; c=-0.5;


num = K*wn^2;
num2 = K*(wn^2/c)*[1 c];
den = [1 2*d*wn wn^2];

y = step (num,den,t);
y2 = step (num2,den,t);
plot (t,y2,t,y,o);
title(Influencia de un cero positivo);

Influencia de un cero positivo


1

0.8

0.6

0.4

0.2

0.2

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

Figura 2.28: Influencia de un cero en el semiplano derecho en la respuesta temporal de un


sistema de segundo orden

2.3.4 Influencia de polos adicionales. Polos dominantes

Al regimen transitorio afectan fundamentalmente los polos y ceros cercanos al eje imaginario.
El efecto de un cero adicional se ha visto anteriormente. Analizamos ahora el de un polo
adicional. Supongamos la funcion de transferencia siguiente:

p K wn2
G(s) =
(s2 + 2wn s + wn2 )(s + p)

Se va a tomar para el estudio el caso de comportamiento subamortiguado analizado en las


secciones anteriores. En dicho caso, la funcion de transferencia correspondiente tena los polos
con su parte real en 0.5. Si la distancia entre esos polos y el resto es del orden de 5wn (con
cercano a 1) todos los polos y ceros a partir de esa distancia no afectan al transitorio. De
hecho, en el analisis de sistemas, normalmente cuando un sistema tiene un numero grande
de polos, se trata de simplificar para obtener un sistema aproximado de segundo orden con
sus polos localizados en los polos dominantes citados. La influencia de un polo lejano y uno
cercano puede verse en las Fig. 2.29 y 2.30. En ambas figuras se muestra la salida del sistema
con y sin el polo p adicional comparadas ante una entrada en escalon.
ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB 51

t = [0:0.2:20];
K=1; wn=1; d=0.5; p=10;
num = K*wn^2;
num2 = wn^2*K*p;
den = [1 2*d*wn wn^2];
den2 = conv (den,[1 p]);
y = step (num,den,t);
y2 = step (num2,den2,t);
plot (t,y2,t,y,o);
title (Influencia de un polo lejano);
disp Situacion de los polos:;
roots(den2)

Como se observa en la Fig. 2.29 la influencia es muy pequena o casi inexistente en este caso.

Influencia de un polo lejano


1.2

0.8

0.6

0.4

0.2

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

Figura 2.29: Influencia de un polo lejano en la respuesta temporal

Si se analiza el caso de un polo cercano al eje imaginario:

t = [0:0.2:20];
K=1; wn=1; d=0.5; p=0.2;
num = K*wn^2;
num2 = wn^2*K*p;
den = [1 2*d*wn wn^2];
den2 = conv (den,[1 p]);
y = step (num,den,t);
y2 = step (num2,den2,t);
plot (t,y2,t,y,o);
title (Influencia de un polo lejano);
disp Situacion de los polos:;
roots(den2)
52 Tratamiento mediante funciones de transferencia. Sistemas discretos

Influencia de un polo cercano


1.2

0.8

0.6

0.4

0.2

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

Figura 2.30: Influencia de un polo cercano al eje imaginario

2.4 Tratamiento mediante funciones de transferencia. Sis-


Ejercicios
temas discretos
1)
E-1
Se incluyen en esta seccion algunas aclaraciones sobre comandos para tiempo discreto, cuya
sintaxis suele ser similar, en su caso, a su equivalente continuo, anadiendo una d delante. Se
van a exponer solo unas pocas, dejando al lector el analisis por su cuenta del resto.

[Nz,Dz] = c2dm (N,D,Ts,metodo): Discretizacion de un modelo en tiempo con-


tinuo, cuya funcion de transferencia viene dada por los polinomios numerador y de-
nominador. Como tercer parametro se especifica el periodo de muestreo. El ultimo
parametro proporciona una cadena de caracteres que indica el metodo con el que se va
a hacer la discretizacion, las posibilidades son:
zoh: E-2
2)
Discretizacion utilizando mantenedor de orden cero (ZOH). Es la opcion
por defecto.
foh: Discretizacion utilizando mantenedor de orden uno (FOH).
tustin: Discretizacion mediante aproximacion trapezoidal.
prewarp: Discretizacion trapezoidal con prewarping.
matched: Discretizacion mediante emparejamiento de polos y ceros (ver [2], pag.
147).
Se echa de menos en esta funcion la posibilidad de usar otros metodos de discretizacion
como son el rectangular hacia delante o hacia atras. Tambien da numerosos problemas
3) discretizar una funcion no propia (como pueda ser la funcion de
E-3
cuando se intenta
transferencia de un controlador PID). No es el unico comando de matlab que tiene
esta limitacion.
[N,D] = d2cm(Nz,Dz,Ts,metodo): Se trata de la funcion contraria a la anterior.
Transforma un sistema discreto en uno continuo, mediante alguno de los metodos cita-
dos.

S-ar putea să vă placă și