Академический Документы
Профессиональный Документы
Культура Документы
LABORATORIO DE CONTROL
FUNCIONES DE TRANSFERENCIA, POLOS Y CEROS
Objetivos:
a) Escribir polinomios y funciones de transferencia.
b) Obtener raíces de polinomios (polos y ceros).
c) Generar la función de transferencia, en las formas: Polinómica decreciente, Factorizada (polos,
ceros y ganancia) y Fracciones parciales.
Introducción:
Si y(t) es la (o una) variable de salida de un sistema, y x(t) la (o una) variable de entrada, entonces la función de
transferencia del sistema es G(s)Y(s)/X(s), donde, las variables x y y en el dominio de s.
Y ( s)
b m s m b m1s m1 b m 2 s m 2 ...b1s b 0
salida con condiciones iniciales 0
X (s) s n a n1s n1 a n 2 s n 2 ...a1s a 0 entrada
La función de transferencia sólo se define para un sistema lineal e invariante en el tiempo.
Dado que la función de transferencia es una fracción polinómica, hay muchas formas de expresarla. La forma
factorizada nos informa inmediatamente cuáles son los polos (raíces del denominador de la f.t.), ceros (raíces del
numerador de la f.t.) y ganancia (coeficiente de la mayor potencia del numerador de la f.t.) del sistema, parámetros
que determinan el comportamiento y estabilidad del mismo. Por su parte, la forma en fracciones parciales facilita
el cálculo de la respuesta en el tiempo del sistema, puesto que a cada término en fracción parcial se le puede
aplicar luego la transformada inversa de Laplace.
El siguiente cuadro resume los nombres, uso y sintaxis de las funciones más frecuentemente utilizadas en este
laboratorio:
Página 1 de 13
Laboratorio de Control
p =
1 3 11 -7 -36
Deben anotarse en el vector a los coeficientes en orden decreciente. Veamos otro ejemplo:
» num = [1 20 -83 0 117 2549]
num =
1 20 -83 0 117 2549
5 4 3
Este vector corresponde al polinomio s + 20s 83s + 117s + 2549 (note que al polinomio le falta el término
2
s , y de allí la presencia del cero en el vector).
Para poder apreciar el vector como polinomio, se utiliza la función poly2str:
» poly2str(num,'s')
ans =
s^5 + 20 s^4 - 83 s^3 + 117 s + 2549
» poly2str(p,'s')
ans =
s^4 + 3 s^3 + 11 s^2 - 7 s - 36
La otra alternativa para generar polinomios es a partir de un vector cuyos elementos son las raíces del
polinomio. Ejemplo: las raíces de un polinomio son 1, 1+ j3, 1j3, 2 y 4. Entonces generamos el vector de
raíces “r” y con la función “poly” generamos el polinomio:
» r=[-1 -1+3j -1-3j -2 4];
» pol=poly(r)
pol =
1 1 -2 -38 -116 -80
r1 =
4.0000
-1.0000 + 3.0000i
-1.0000 - 3.0000i
-2.0000
-1.0000
La exactitud (o inexactitud) de roots y poly depende sobretodo de la información de entrada, pero también del
algoritmo interno de estas funciones. Note qué ocurre cuando tratamos de generar pol a partir de r1:
» pol=poly(r1)
pol =
1.0000 1.0000 -2.0000 -38.0000 -116.0000 -80.0000
Página 2 de 13
Laboratorio de Control
Por lo tanto, cuando se trabaja con las raíces para generar el polinomio hay que procurar ser lo más exactos
posibles.
Sección 2: Convolución
Otra forma de generar polinomios es multiplicando dos o más polinomios existentes. Ello se logra con la
2
función “conv”. Veamos el caso de los polinomios (s + 3) y (2s + 7). El producto de los polinomios es 2s + 13s
+ 21, en Matlab sería:
» conv([1 3],[2 7])
ans =
2 13 21
Cuando se quiera multiplicar más de dos polinomios, entonces se puede realizar la convolución de una
convolución; conv( conv( n1,n2 ), n3).
La operación inversa (la división) se logra con la función deconv”
“ (deconvolución). Para esta función son
necesarios dos argumentos de salida: el cociente y el residuo.
» n1=[5 5];
» d1=[1 8 11 18];
Cada vez que se haya definido el numerador y denominador de un bloque, puede usar la función printsys”
“
para verificar que lo que escribió está correcto.
» printsys(n1,d1)
num/den =
5 s + 5
-----------------------
s^3 + 8 s^2 + 11 s + 18
p =
-6.7676
-0.6162 + 1.5100i
-0.6162 - 1.5100i
k =
5
Matlab almacena en k la ganancia, en z los ceros, y en p los polos. Por tanto, la función de transferencia
factorizada (o en la forma polo-cero) es:
Página 3 de 13
Laboratorio de Control
Y ( s) 5( s 1)
X ( s) ( s 6.7676)(s 0.6162 j1.5100)(s 0.6162 j1.5100)
n2 =
0 0 5 5
d2 =
1.0000 8.0000 11.0000 18.0000
La representación en fracciones parciales de una función de transferencia puede lograrse mediante la función
“residue”. Usamos n1 y d1:
» [R,P,K]=residue(n1,d1)
R =
-0.7188
0.3594 - 0.1915i
0.3594 + 0.1915i
P =
-6.7676
-0.6162 + 1.5100i
-0.6162 - 1.5100i
K =
[]
Matlab averigua primero si la fracción es propia o impropia. De ser propia, K=[ ] (el conjunto vacío). De no serlo
(caso poco común pero que puede darse) K almacena los coeficiente del cociente entre numerador y
denominador, y el residuo (junto con el denominador) forman una fracción propia que se descompone en
fracciones parciales. La descomposición en fracciones parciales de n1/d1 es:
0.7188 0.3594 j01915
. 0.3594 j01915
.
s 6.7676 s 0.6162 j15100
. s 0.6162 j15100
.
Si este resultado se va a utilizar para hallar la respuesta de un sistema a una entrada impulso, los residuos de
las fracciones con polos complejos deben transformarse a la forma polar. Para ello se puede usar la función
cart2pol (consulte el help de esta función en Matlab para más información):
» [angulo,magnitud]=cart2pol(real(R(2)),imag(R(2)))
angulo =
-0.4896 (El ángulo está dado en radianes)
magnitud =
0.4072
R =
0.7871 + 0.0000i
-0.3800 - 0.8400i
-0.3800 + 0.8400i
-0.0136 + 0.4668i
-0.0136 - 0.4668i
P =
-6.7676
0.0000 + 4.0000i
0.0000 - 4.0000i
-0.6162 + 1.5100i
-0.6162 - 1.5100i
Si los residuos de las fracciones con polos complejos transfórmelos a la forma polar.
Asignación
1- Encuentre la expansión en fracciones parciales de las siguientes funciones:
1 s1
a) F( s) c) F( s)
s( s 2)( s 5) s( s 2)( s 2 6s 10)
b) F( s)
1 s1
2
d) F( s)
s( s 2s 10) ( s 2 2s 2)( s 2 6s 10)
2. Factorice los siguientes polinomios. Note que siempre que hay una potencia del polinomio con signo negativo o
que sea cero, al menos una raíz tiene parte real positiva o cero.
3 2 4 3
a) s + 13s + 33s + 30 c) s + 2s + +3s +6
5 4 3 2 4
b) s + 3s + 28s + 226s + 600s + 400 d) 2s + 25s + 4
Página 5 de 13
Laboratorio de Control
Introducción:
La teoría de control moderna se basa en la descripción de las ecuaciones de un sistema en términos de n
ecuaciones diferenciales de primer orden que pueden combinarse en una ecuación diferencial vectorial-matricial
de primer orden para simplificar la representación matemática de sistemas de ecuaciones. Desde el punto de
vista computacional, los métodos de espacio de estado son particularmente adecuados para los cálculos en
computadora digital, debido a su enfoque en el dominio del tiempo.
La característica más notable de un sistema (al estudiar su modelo matemático) son los polos del sistema. La
información de los polos del sistema está contenida en el polinomio característico (en el caso de una función de
transferencia) o en la matriz A (en el caso del espacio de estado). Los valores propios no son más que los
polos del sistema.
Referencia Rápida:
A =
-1.0000 0 0
1.0000 -3.0000 -1.4142
0 1.4142 0
Página 6 de 13
Laboratorio de Control
B =
1
0
0
C =
0 0 3.5355
D =
0
s4
b) Gs
s 6s 2 11s 6
3
a =
0 1 0
0 0 1
-6 -11 -6
b =
0
0
1
c =
4 1 0
d =
0
Sección 2: Modelo de un sistema en el espacio de estado. Cómo pasar del espacio de estado al
dominio de Laplace. Valores propios.
Problema: En la figura 1 se muestra un circuito RLC. Las variables de estado son vc(t) e i(t).
1- Hallar una representación en variables de estado.
2- Hallar la función de transferencia en forma:
a- polinómica
b- de polos y ceros
R L
+ +
+ i(t) VC(t)
e1(t) C
Página 7 de 13
Laboratorio de Control
Solución: para este sistema, aplicamos LVK y luego las relaciones voltaje-corriente para cada elemento.
e(t) = VR(t) + VL(t) + VC(t)
di(t ) dV (t )
VR =R*i(t); VL (t ) L ; i(t ) C C
dt dt
Si elegimos a VC(t) y a i(t) como variables de estado, las ecuaciones diferenciales de primer orden son:
dVC (t ) 1
i(t )
dt C
di(t ) 1 1
VL (t ) e(t ) VR (t ) VC (t )
dt L L
1 R 1
VC (t ) i(t ) e(t )
L L L
En forma matricial:
dVC (t ) 1
dt 0 0
C VC (t ) 1e(t )
di(t ) 1 R
i(t ) L
dt L L
Una vez se sepan los valores de R, L y C, y se definan las matrices A, B, C, D, en función de esos parámetros,
entonces podemos proceder a la resolución en Matlab:
z =
0
p =
1.0e+005 *
0.0000
-10.0000
k =
1000
Página 8 de 13
Laboratorio de Control
Asignación:
1- El diagrama de bloques mostrado es de un sistema automático de control de profundidad para un robot
submarino. La profundidad se mide mediante un transductor de presión. La ganancia del actuador del alerón
-4
de popa es K=10 cuando la velocidad es de 8 m/s. El submarino tiene la función de transferencia aproximada
G( s)
s 0.2 2 y el transductor de retroalimentación es H(s)=1.
s 2
0.01
H(s)
Medición de
presión
2- Para el siguiente diagrama de bloque, las variables de estado son x1(t), x2(t) y x3(t)
X2(s) X1(s)
U(s) + 2 + 2
s3 s s 1
X3(s)
s
Página 9 de 13
Laboratorio de Control
Objetivos:
Aprender el uso de funciones, y luego aplicarlas para reducir diagramas de bloque sencillos.
Introducción:
Un diagrama de bloque es la representación gráfica de un sistema físico que ilustra las relaciones
funcionales entre los componentes del sistema. En general, un diagrama de bloques consiste en una
configuración específica de cuatro tipos de elementos: bloques, puntos de suma, puntos de bifurcación y
flechas que representan la señal de flujo unidireccional.
Referencia Rápida:
Sección 1: Ejemplo
Reducir el diagrama de bloque que se muestra:
1 2 4
U(s) + + + Y(s)
1 s 1
2
s 1 s 2s 7 s
+
3
1
s
1 5
2
s 3s 10
» n1=1;
» d1=[1 1];
» n2=[1 0];
» d2=[1 2 7];
» n3=1;
» d3=[1 0];
» n4=n3;
» d4=d3;
» n5=1;
» d5=[1 3 10];
Puede usar la función “printsys” para verificar si lo que escribió está correcto. Por ejemplo:
» printsys(n1,d1)
num/den =
1
-----
s + 1
El siguiente paso es la reducción secuencial de los bloques. En este caso, está reducción se hace en el
siguiente orden:
a- bloques 2 y 3: retroalimentación bloque (ret1)
b- bloques ret1 y 4: en serie bloque (ser1)
c- bloques ser1 y 5: en paralelo bloque (par1)
d- bloques par1 y 1: en serie bloque (ser2)
d- bloque par1: retroalimentación unitaria bloque final.
»
» %(Note que hicimos uso de la coma”
“ para escribir dos comandos en la misma
línea.)
» % el bloque resultante está en serie con el bloque 1
» [nser2,dser2]=series(npar1,dpar1,n1,d1);,printsys(nser2,dser2,'s')
num/den =
2 s^4 + 5 s^3 + 18 s^2
------------------------------------------------
s^7 + 6 s^6 + 29 s^5 + 68 s^4 + 124 s^3 + 80 s^2
Asignación
1 1
1- Determine las funciones de transferencia C(s)/R1(s) y C(s)/R2(s). Si G1 ( s) , H1( s) ,
s 2 4s 1 s
s3
G 2 ( s) , H2= H1.
s 2 3s 12
R2
R1 + + C
G1 (s) G 2 (s)
H2 (s)
H1 (s)
100 4
2- a) Determinar C(s)/R1(s), si G1(s)=5.5; G2 ( s) ; G3 ( s ) ; H1(s)=s.
s 50 s( s 1)
1
b) Estudie el efecto que tiene sobre la función de transferencia el reemplazar H 1(s) por , con
sa
a=0, 0.5, 5, 50, 500.
R1 + + C
G1(s) Σ G2(s) G3(s)
Σ
H1(s)
Página 12 de 13
Laboratorio de Control
E + C
R + + 1 K
T1
Tm s2
B 1
s
+ 1 1
Tm s
T1
Página 13 de 13