Académique Documents
Professionnel Documents
Culture Documents
Funciones de Transferencia
375
FUNCIONES DE TRANSFERENCIA
Objetivos:
Ensear al estudiante el uso de funciones en Matlab para:
a) Escribir polinomios y funciones de transferencia.
b) Obtener races de polinomios (polos y ceros).
c) Generar la funcin de transferencia, en las formas:
1. Polinmica decreciente.
2. Factorizada (polos, ceros y ganancia).
3. Fracciones parciales.
Introduccin:
Si y(t) es la (o una) variable de salida de un sistema, y x(t) la (o una) variable de entrada,
entonces la funcin de transferencia del sistema es G(s)Y(s)/X(s), donde X(s) y Y(s) son,
respectivamente, las variables x y y en el dominio de s.
Y ( s)
X ( s)
bm s
+ b m 1s
s + a n1s
n
m 1
n1
+ b m 2 s
+ a n 2 s
m 2
n 2
+...+ b 1s + b 0
+...+a 1s + a 0
L {salida}
L {entrada}
La funcin de transferencia (en adelante f.t.) slo se define para un sistema lineal e
invariante en el tiempo (slit). Sin embargo, el enfoque de f.t. se usa extensamente en el anlisis y el
diseo de tales sistemas. La f.t. es independiente de la entrada del sistema.
Usando el concepto de f.t. se puede representar la dinmica de un slit por ecuaciones
algebraicas en s.
Dado que la funcin de transferencia es una fraccin polinmica, hay muchas formas de
expresarla: ya sea en la forma comn (polinomios decrecientes en el numerador y denominador), ya
sea en forma factorizada o expandiendo la fraccin en fracciones parciales. La forma factorizada
nos informa inmediatamente cules son los polos (races del denominador de la f.t.), ceros (races
del numerador de la f.t.) y ganancia (coeficiente de la mayor potencia del numerador de la f.t.) del
sistema, parmetros que determinan el comportamiento y estabilidad del mismo. Por su parte, la
forma en fracciones parciales facilita el clculo de la respuesta en el tiempo del sistema, puesto que
a cada trmino en fraccin parcial se le puede aplicar luego la transformada inversa de LaPlace.
Teora Relacionada:
Aparte de su libro de texto o de otro que su instructor designe, recomendamos muy
encarecidamente las siguientes secciones de la Tesis:
1- Captulo 2: "Diagramas de Bloque"
2- Apndice D: "Comandos ms frecuentes del mdulo de control de Matlab", seccin: "Manejo
de Polinomios" y "Conversin de Modelos"
Referencia Rpida:
El siguiente cuadro resume los nombres, uso y sintaxis de las funciones ms
frecuentemente utilizadas en este laboratorio:
Nombre
Uso
Sintaxis
conv
deconv
poly
roots
poly2str
conv(a,b)
[c,d]=deconv(a,b)
p=poly(r)
r=roots(p)
poly2str(a,'variable')
printsys
printsys(n1,d1,'variable')
residue
resi2
tf2zp
zp2tf
Funciones de Transferencia
376
[r,p,k]=residue(num,den)
resi2(num,den,polo,q,potencia)
[z,p,k]=tf2zp(num,den)
[num,den]=zp2tf(z,p,k)
Procedimiento:
Seccin 1: Polinomios y races
Para trabajar con funciones de transferencia en Matlab es necesario aprender en ella
cmo se escriben los polinomios.
Para generar polinomios existen varias alternativas:
a) Guardar en un vector fila los coeficientes de las potencias del polinomio;
b) A partir de las races del polinomio;
c) A partir de dos o ms polinomios existentes anteriormente (mediante convolucin, lo
veremos en la Seccin 2).
La primera alternativa es quiz la ms obvia y sencilla. Por ejemplo, si el polinomio fuese
4
3
2
s + 3s + 11s 7s 36, entonces el polinomio (llammosle p) sera:
p=[1 3 11 -7 -36]
p =
1
11
-7
-36
Veamos otro
num =
1
20
-83
117
2549
Este vector corresponde al polinomio s + 20s 83s + 117s + 2549 (note que al
polinomio le falta el trmino s2, y de all la presencia del cero en el vector).
Para poder apreciar el vector como polinomio, se utiliza la funcin poly2str:
poly2str(num,'s')
5
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 races del polinomio. Digamos, por ejemplo, que las races de un polinomio son 1, 1+ j3,
1j3, 2 y 4. Entonces generamos el vector de races (llammosle r) y con la funcin poly
generamos el polinomio:
Humberto Jair Sterling
Universidad Tecnolgica de Panam
Funciones de Transferencia
377
-2
-38
-116
-80
A su vez, pueden calcularse las races de un polinomio con la funcin roots, o sea que
ella es la inversa de la funcin poly. Usando el polinomio recin calculado:
r1=roots(pol)
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 informacin de
entrada, pero tambin 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
Por lo tanto, cuando se trabaja con las races para generar el polinomio hay que procurar
ser lo ms exactos posibles.
Seccin 2: Convolucin
La tercera alternativa para generar polinomios es multiplicando dos o ms polinomios
existentes. Ello se logra con la funcin conv. Pongamos el caso de los polinomios (s + 3) y (2s +
2
7). El producto de los polinomios es 2s + 13s + 21. Veamos como se procede en Matlab:
conv([1 3],[2 7])
ans =
2
13
21
Funciones de Transferencia
Si la funcin de transferencia es
5s + 5
s + 8s 2 + 11s + 18
3
378
n1=[5 5];
d1=[1 8 11 18];
Cada vez que ud. haya definido el numerador y denominador de un bloque, puede usar
la funcin 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
La funcin tf2zp permite hallar la ganancia, ceros y polos de esta f.t.:
[z,p,k]=tf2zp(n1,d1)
z =
-1
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 funcin
de transferencia factorizada (o en la forma polo-cero) es:
5( s + 1)
( s + 6.7676)( s + 0.6162 j15100
.
)( s + 0.6162 + j15100
.
)
La funcin inversa a tf2zp (que es el mnemnico de "from transfer function to (2) zeropole") es zp2tf:
[n2,d2]=zp2tf(z,p,k)
n2 =
0
d2 =
1.0000
8.0000
Funciones de Transferencia
11.0000
379
18.0000
La respuesta que devuelve zp2tf es tal que el vector del numerador tiene tantos
elementos como el del denominador.
En Matlab, el grado del numerador debe ser siempre menor o igual al grado del
numerador; en caso de que esto no se cumpla, debe emparejarse el grado del denominador al
del numerador ocupando las posiciones con eps. Por ejemplo, si la funcin de transferencia
fuese G(s)=s, el numerador sera [1 0]; pero el denominador no podra ser [1] o [0 1], sino [eps 1].
Sin embargo, esto puede traer errores de clculo cuando se usa con algunas funciones, y en lo
posible debe evitarse.
La representacin en fracciones parciales de una funcin de transferencia puede lograrse
mediante la funcin residue. Consideremos nuevamente a 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 fraccin es propia o impropia. De ser propia, K=[ ] (el
conjunto vaco). De no serlo (caso poco comn pero que puede darse) K almacena los
coeficiente del cociente entre numerador y denominador, y el residuo (junto con el denominador)
forman una fraccin propia que se descompone en fracciones parciales. Los valores de R y P
son correspondientes: R(1) es la ganancia de la fraccin cuyo denominador es s P(1), y as
sucesivamente. De esta forma, la descomposicin 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 funcin cart2pol (consulte el help de esta funcin en Matlab
para ms informacin):
[angulo,magnitud]=cart2pol(real(R(2)),imag(R(2)))
angulo =
-0.4896
Humberto Jair Sterling
Universidad Tecnolgica de Panam
Funciones de Transferencia
380
magnitud =
0.4072
El ngulo est dado en radianes.
Supngase que, nuevamente, n1 y d1 son el numerador y denominador respectivamente
de una f.t. de un sistema que est sometido a una entrada que no es un impulso; digamos, por
10s
ejemplo, que la entrada es 10*cos(4t). La transformada de LaPlace de la entrada es
;y
2
s + 16
como la salida es igual al producto de la entrada por la f.t. (bajo condiciones iniciales nulas),
2
entonces sera necesario multiplicar (usar la fncin conv) n1 por 10s, y d1 por s + 16, para luego
aplicar residue (y cart2pol) para poder obtener la respuesta en forma analtica. Veamos qu
ocurre:
[R,P]=residue(n,d)
R =
0.7871
-0.3800
-0.3800
-0.0136
-0.0136
+
+
+
-
0.0000i
0.8400i
0.8400i
0.4668i
0.4668i
+
+
-
4.0000i
4.0000i
1.5100i
1.5100i
P =
-6.7676
0.0000
0.0000
-0.6162
-0.6162
(Ya sabamos que la fraccin es propia, por lo que no nos interesa saber K.)
[ang1,mag1]=cart2pol(real(R(2)),imag(R(2)))
ang1 =
-1.9956
mag1 =
0.9220
[ang2,mag2]=cart2pol(real(R(4)),imag(R(4)))
Funciones de Transferencia
381
ang2 =
1.5998
mag2 =
0.4670
La expansin en fracciones parciales es:
0.7871
0.9220 19956
.
(0.9220 19956
.
)*
0.4670 15998
.
(0.4670 15998
.
)*
+
+
+
+
s + 6.7676
s j4
s + j4
s + 0.6162 j15100
.
s + 0.6162 j15100
.
A la que al aplicrsele la transformada inversa de LaPlace (ver apndice K), resulta en:
1
( s + 1)( s + 4)
e) F( s) =
s+1
s( s + 2)( s 2 + 6s + 10)
b) F( s) =
1
s( s + 2)( s + 5)
f)
F( s) =
10( s + 101
. )
s( s + 1)( s 2 + 2s + 10)
F( s) =
1
s( s + 2s + 10)
g) F( s) =
d) F( s) =
s+2
s ( s + 1)( s + 6)
c)
s+1
( s 2 + 2s + 2)( s 2 + 6s + 10)
s 3 + 13s 2 + 33s + 30
b)
s 3 + 4s 2 + 6s + 4
c)
s 4 + 2s 3 + 2s 2 + 3s + 6
d)
s 4 + 7s 3 + 12.2s 2 + 1105
. s
e)
f)
g)
h)
i)
Funciones de Transferencia
382
j) 2s 4 + 25s + 4
4- Hallar la representacin en cero-polo de las siguientes f.t.:
a)
b)
4s 2 + 17s + 525
s + 72s + 295s + 1600
4
d)
4s + 7
2
91s + 318s + 664
e)
9s 4
s + 8s 2 + 17s + 10
3
5s 2 + 69s + 191
s 4 + 2.6s 3 5s 2 8.4s
9s + 8
s+1
f)
2
65s + 1458s + 677
. s + 0.95s + 015
.
s + 18
5- Construya la f.t. en forma polinmica, dados los siguientes datos:
a) k=7; ceros: 2.5; polos: 1.33, 0.577.
c)