Lab01

8
Guía para el Laboratorio #1 Funciones de Transferencia Humberto Jair Sterling Universidad Tecnológica de Panamá 375 FUNCIONES DE TRANSFERENCIA Objetivos: Enseñar al estudiante el uso de funciones en Matlab para: 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: 1. Polinómica decreciente. 2. Factorizada (polos, ceros y ganancia). 3. 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 X(s) y Y(s) son, respectivamente, las variables x y y en el dominio de s. { } { } Ys Xs b s b s b s bs b s a s a s as a m m m m m m n n n n n () () ... ... = + + + + + + + + + + = - - - - - - - - = 1 1 2 2 1 0 1 1 2 2 1 0 0 L L salida entrada con condiciones iniciales La función de transferencia (en adelante f.t.) sólo se define para un sistema lineal e invariante en el tiempo (slit). Sin embargo, el enfoque de f.t. se usa extensamente en el análisis y el diseño de tales sistemas. La f.t. es independiente de la entrada del sistema. Usando el concepto de f.t. se puede representar la dinámica de un slit por ecuaciones algebraicas en s. Dado que la función de transferencia es una fracción polinómica, hay muchas formas de expresarla: ya sea en la forma común (polinomios decrecientes en el numerador y denominador), ya sea en forma factorizada o expandiendo la fracción en fracciones parciales. 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. Teoría Relacionada: Aparte de su libro de texto o de otro que su instructor designe, recomendamos muy encarecidamente las siguientes secciones de la Tesis: 1- Capítulo 2: "Diagramas de Bloque" 2- Apéndice D: "Comandos más frecuentes del módulo de control de Matlab", sección: "Manejo de Polinomios" y "Conversión de Modelos" Referencia Rápida: El siguiente cuadro resume los nombres, uso y sintaxis de las funciones más frecuentemente utilizadas en este laboratorio: Nombre Uso Sintaxis conv multiplica dos polinomios conv(a,b) deconv divide dos polinomios [c,d]=deconv(a,b) poly polinomio a partir de las raíces p=poly(r) roots raíces a partir del polinomio r=roots(p) poly2str despliega los coeficientes de un vector como un polinomio poly2str(a,'variable') printsys despliega los coeficientes de dos vectores como una función de transferencia printsys(n1,d1,'variable')

description

control

Transcript of Lab01

Page 1: Lab01

Guía para el Laboratorio #1 Funciones de Transferencia

Humberto Jair Sterling Universidad Tecnológica de Panamá

375

FUNCIONES DE TRANSFERENCIA Objetivos:

Enseñar al estudiante el uso de funciones en Matlab para:

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:

1. Polinómica decreciente.

2. Factorizada (polos, ceros y ganancia).

3. 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 X(s) y Y(s) son, respectivamente, las variables x y y en el dominio de s.

{ }{ }

Y s

X s

b s b s b s b s b

s a s a s a s am

mm

mm

m

nn

nn

n

( )

( )

...

...=

+ + + + +

+ + + + +=−

−−

−−

−−

=11

22

1 0

11

22

1 0

0L

L

salida

entrada con condiciones iniciales

La función de transferencia (en adelante f.t.) sólo se define para un sistema lineal e invariante en el tiempo (slit). Sin embargo, el enfoque de f.t. se usa extensamente en el análisis y el diseño de tales sistemas. La f.t. es independiente de la entrada del sistema.

Usando el concepto de f.t. se puede representar la dinámica de un slit por ecuaciones algebraicas en s.

Dado que la función de transferencia es una fracción polinómica, hay muchas formas de expresarla: ya sea en la forma común (polinomios decrecientes en el numerador y denominador), ya sea en forma factorizada o expandiendo la fracción en fracciones parciales. 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.

Teoría Relacionada:

Aparte de su libro de texto o de otro que su instructor designe, recomendamos muy encarecidamente las siguientes secciones de la Tesis: 1- Capítulo 2: "Diagramas de Bloque"

2- Apéndice D: "Comandos más frecuentes del módulo de control de Matlab", sección: "Manejo de Polinomios" y "Conversión de Modelos"

Referencia Rápida: El siguiente cuadro resume los nombres, uso y sintaxis de las funciones más frecuentemente utilizadas en este laboratorio:

Nombre Uso Sintaxis

conv multiplica dos polinomios conv(a,b)

deconv divide dos polinomios [c,d]=deconv(a,b)

poly polinomio a partir de las raíces p=poly(r) roots raíces a partir del polinomio r=roots(p)

poly2str despliega los coeficientes de un vector como un polinomio

poly2str(a,'variable')

printsys despliega los coeficientes de dos vectores como una función de transferencia

printsys(n1,d1,'variable')

Page 2: Lab01

Guía para el Laboratorio #1 Funciones de Transferencia

Humberto Jair Sterling Universidad Tecnológica de Panamá

376

residue de una fracción polinómica a fracciones parciales

[r,p,k]=residue(num,den)

resi2 residue cuando hay polos repetidos resi2(num,den,polo,q,potencia)

tf2zp de la función de transferencia polinómica a ella en polos y ceros

[z,p,k]=tf2zp(num,den)

zp2tf de la función de transferencia en polos y ceros a ella polinómica

[num,den]=zp2tf(z,p,k)

Procedimiento:

Sección 1: Polinomios y raíces Para trabajar con funciones de transferencia en Matlab es necesario aprender en ella cómo 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 raíces del polinomio;

c) A partir de dos o más polinomios existentes anteriormente (mediante convolución, lo veremos en la Sección 2).

La primera alternativa es quizá la más obvia y sencilla. Por ejemplo, si el polinomio fuese s4 + 3s3 + 11s2 − 7s − 36, entonces el polinomio (llamémosle p) sería: » p=[1 3 11 -7 -36] 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

Este vector corresponde al polinomio s5 + 20s4 − 83s3 + 117s + 2549 (note que al polinomio le falta el término s2, 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. Digamos, por ejemplo, que las raíces de un polinomio son −1, −1+ j3, −1−j3, −2 y 4. Entonces generamos el vector de raíces (llamémosle r) y con la función poly generamos el polinomio:

Page 3: Lab01

Guía para el Laboratorio #1 Funciones de Transferencia

Humberto Jair Sterling Universidad Tecnológica de Panamá

377

» r=[-1 -1+3j -1-3j -2 4]; » pol=poly(r) pol = 1 1 -2 -38 -116 -80

A su vez, pueden calcularse las raíces de un polinomio con la función roots, o sea que ella es la inversa de la función poly. Usando el polinomio recién 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 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

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 La tercera alternativa para generar polinomios es multiplicando dos o más polinomios existentes. Ello se logra con la función conv. Pongamos el caso de los polinomios (s + 3) y (2s + 7). El producto de los polinomios es 2s2 + 13s + 21. Veamos como se procede en Matlab: » 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; por ejemplo, si n1, n2 y n3 son los tres polinomios, y n es el resultado, la convolución que da como resultado n podría ser conv( conv( n1,n2 ), n3) (o la misma sintaxis con cualquier otro ordenamiento de n1, n2 y n3).

La operación inversa (la división) se logra con la función deconv (de la palabra deconvolución). Para esta función son necesarios dos argumentos de salida: el cociente y el residuo. Para más información, consulte el apéndice D.

Sección 3: Funciones de transferencia polinómica, f actorizada y en fracciones parciales Una f.t. polinómica consta del polinomio del numerador y del denominador. Por tanto, sólo hace falta definir los vectores de ambos polinomios. Una observación: el grado del numerador debe ser menor o igual que el del denominador. Veamos un ejemplo.

Page 4: Lab01

Guía para el Laboratorio #1 Funciones de Transferencia

Humberto Jair Sterling Universidad Tecnológica de Panamá

378

Si la función de transferencia es 5 5

8 11 183 2

s

s s s

++ + +

, entonces ella se escribe así:

» n1=[5 5];

» d1=[1 8 11 18];

Cada vez que ud. 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

La función 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 función de transferencia factorizada (o en la forma polo-cero) es:

5 167676 0 6162 15100 0 6162 15100

( )( . )( . . )( . . )

ss s j s j

++ + − + +

La función inversa a tf2zp (que es el mnemónico de "from transfer function to (2) zero-pole") es zp2tf: » [n2,d2]=zp2tf(z,p,k)

n2 =

0 0 5 5

d2 =

Page 5: Lab01

Guía para el Laboratorio #1 Funciones de Transferencia

Humberto Jair Sterling Universidad Tecnológica de Panamá

379

1.0000 8.0000 11.0000 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 función de transferencia fuese G(s)=s, el numerador sería [1 0]; pero el denominador no podría ser [1] o [0 1], sino [eps 1]. Sin embargo, esto puede traer errores de cálculo cuando se usa con algunas funciones, y en lo posible debe evitarse.

La representación en fracciones parciales de una función de transferencia puede lograrse mediante la función 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 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. Los valores de R y P son correspondientes: R(1) es la ganancia de la fracción cuyo denominador es s − P(1), y así sucesivamente. De esta forma, la descomposición en fracciones parciales de n1/d1 es:

−+

+ −+ −

+ ++ +

0718867676

03594 019150 6162 15100

03594 019150 6162 15100

..

. .. .

. .. .s

js j

js j

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

Page 6: Lab01

Guía para el Laboratorio #1 Funciones de Transferencia

Humberto Jair Sterling Universidad Tecnológica de Panamá

380

magnitud =

0.4072

El ángulo está dado en radianes.

Supóngase 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

ejemplo, que la entrada es 10*cos(4t). La transformada de LaPlace de la entrada es 10

162

s

s +; y

como la salida es igual al producto de la entrada por la f.t. (bajo condiciones iniciales nulas), entonces sería necesario multiplicar (usar la fnción conv) n1 por 10s, y d1 por s2 + 16, para luego aplicar residue (y cart2pol) para poder obtener la respuesta en forma analítica. Veamos qué ocurre: » [R,P]=residue(n,d)

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

(Ya sabíamos que la fracción 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)))

Page 7: Lab01

Guía para el Laboratorio #1 Funciones de Transferencia

Humberto Jair Sterling Universidad Tecnológica de Panamá

381

ang2 =

1.5998

mag2 =

0.4670

La expansión en fracciones parciales es:

0787167676

09220 199564

09220 199564

0 4670 159980 6162 15100

0 4670 159980 6162 15100

..

. . ( . . ) * . .. .

( . . ) *. .s s j s j s j s j+

+ ⟨−−

+ ⟨−+

+ ⟨

+ −+ ⟨

+ −

A la que al aplicársele la transformada inversa de LaPlace (ver apéndice K), resulta en:

07871 2 09220 4 19956 2 0 4670 15100 15998

07871 1844 4 19956 09340 15100 15998

6 7676 0 6162

6 7676 0 6162

. ( . )cos( . ) ( . ) cos( . . )

. . cos( . ) . cos( . . )

. .

. .

e t e t

e t e t

t t

t t

− −

− −

+ − + +

= + − + +

El uso de resi2 se reserva para cuando se presentan polos repetidos, y se duda de la precisión de residue.

Sección 4: Asignaciones 1- Encuentre la expansión en fracciones parciales de las siguientes funciones:

a) F ss s

( )( )( )

=+ +

11 4

b) F ss s s

( )( )( )

=+ +

12 5

c) F ss s s

( )( )

=+ +

1

2 102

d) F ss

s s s( )

( )( )= +

+ +2

1 62

e) F ss

s s s s( )

( )( )= +

+ + +1

2 6 102

f) F ss

s s s s( )

( . )

( )( )= +

+ + +10 101

1 2 102

g) F ss

s s s s( )

( )( )= +

+ + + +1

2 2 6 102 2

2- Muestre el polinomio resultante (usando poly2str) del producto de los factores en el denominador para cada una de las funciones del problema 1. Para los cálculos, use: a) poly; b) conv. Diga si hay alguna ventaja o desventaja al usar una función u otra.

3- 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. (Comprenderá el por qué cuando estudie el criterio de Routh-Hurwitz, en el capítulo 5 y el laboratorio 10.)

a) s s s3 213 33 30+ + +

b) s s s3 24 6 4+ + +

c) s s s s4 3 22 2 3 6+ + + +

d) s s s s4 3 27 12 2 1105+ + +. .

e) s s s s s5 4 3 23 28 226 600 400+ + + + +

f) s s s s s s6 5 4 3 26 4 42 113 108 36+ + − − − −

g) s s s s7 5 4 220 2 64 128− − + −

h) 6 13 81 112 180 1445 4 3 2s s s s s− − + + −

Page 8: Lab01

Guía para el Laboratorio #1 Funciones de Transferencia

Humberto Jair Sterling Universidad Tecnológica de Panamá

382

i) 9 23 56 1237 5 4 3s s s s− − − +

j) 2 25 44s s+ + 4- Hallar la representación en cero-polo de las siguientes f.t.:

a) 4 17 525

72 295 1600

2

4 3 2

s s

s s s

+ ++ + +

b) 4 7

91 318 6642

s

s s

++ +

c) s

s s s

++ + +

1

18 095 0153 2. . .

d) 9 4

8 17 103 2

s

s s s

−+ + +

e) 5 69 191

2 6 5 8 4

2

4 3 2

s s

s s s s

+ ++ − −. .

f) 9 8

65 1458 6772

s

s s

++ +

5- Construya la f.t. en forma polinómica, dados los siguientes datos:

a) k=7; ceros: −2.5; polos: −1.33, −0.577.

b) k=7.75; ceros: 1, 1, 2; polos: −1, −2, −2.

c) numerador: los factores son s + 0.21 y s; denominador: los factores son s2 + 6s + 30 y s −1.

d) numerador: los factores son 3 y s + 4; denominador: los factores son s3 + 20s + 130 y s + 2.

e) numerador: los factores son s + 0.88 y s + 0.10; polos: −0.42, −0.80 y −0.99.

f) ceros: 1, 3, 5; denominador: los factores son 4, s + 6, s + 4 y s + 1.

g) k=1; ceros: ninguno; polos: −2, −0.40.