Sunteți pe pagina 1din 11

BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA

FACULTAD DE CIENCIAS DE LA ELECTRÓNICA

MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN


AUTOMATIZACIÓN

Control Lineal y Servomecanismos

Tarea #3

Gráficas de BODE

José Manuel Reyes Rodríguez


Generación 2015

Profesor:
Dr. Fernando Reyes Cortés

18 de agosto del 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

El presente trabajo consiste en la obtención de la gráfica de Bode de una función


de transferencia, esta se obtendrá mediante el uso de la función bode(G,w) que es
una de las muchas funciones específicas con las que cuenta Matlab. También se
obtendrán las gráficas de Bode mediante un algoritmo en código fuente, el cual
sigue el principio general para la obtención de dichas graficas por el método
analítico. Una vez obtenidas las gráficas por las dos formas descritas, estas se
comparan y se puede ver que tanto las obtenidas con la función de Matlab como las
obtenidas mediante el algoritmo en código fuente coinciden en cada uno de los
puntos en la gráfica.

Por otra parte se obtiene el valor mínimo del denominador de la función de


transferencia, este valor se obtiene desarrollando las ecuaciones matemáticas
correspondientes para tal fin.

Objetivo general:

Desarrollar un algoritmo en código fuente con el cual se pueda obtener las gráficas
de BODE para una función de transferencia.

Objetivos particulares:

 Obtener las gráficas de bode por medio de la función bode(G,w) en Matlab.


 Hacer el análisis matemático para obtener las gráficas de Bode.
 Llevar los resultados del análisis a un código fuente para la obtención de las
gráficas de Bode.
 Comparar las gráficas obtenidas por la función bode(G,w) con las obtenidas
en el código fuente.
 Obtener el desarrollo matemático para obtener el valor mínimo del
denominador de la función de transferencia.

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

Introducción

Las trazas o gráficas de Bode están formadas por dos gráficas: una es el logaritmo
de la magnitud de una función de transferencia senoidal y otra es el ángulo de fase.
Ambas se grafican contra la frecuencia en la escala logarítmica. (Ogata, 1998)

Las gráficas de bode nos permiten analizar los sistemas en el dominio de la


frecuencia, esto haciendo uso de la transformada de Laplace para pasar del dominio
del tiempo al dominio de la frecuencia. En las gráficas de Bode la magnitud se
representa en su escala logarítmica con base 10 y con unidades en decibeles (dB).
Por otro lado el ángulo de fase se expresa en grados. La frecuencia en las gráficas
de Bode se expresa en rad/seg.

Matlab cuenta con funciones que permiten calcular y graficar los valores de
magnitud y fase de manera automática. Esto para fines experimentales es una gran
ayuda pero para fines de diseño y de análisis profundo no lo es tanto. Es mejor
conocer el desarrollo matemático que permite la obtención de cada uno de los
valores de magnitud y fase, para después graficarlos, esto con el fin de conocer de
dónde vienen tales valores.

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

Planteamiento del problema

Se busca obtener las gráficas de Bode mediante la función bode(g,w) en Matlab y


compararlas con las obtenidas mediante el desarrollo matemático completo, ya que
Matlab lo hace directamente y no muestra el desarrollo. Se tiene que programar un
algoritmo con el cual se obtengan dichas gráficas.

Teniendo la función de transferencia se tiene que calcular el mínimo del


denominador, y de igual manera, se tiene que hacer el desarrollo matemático para
la obtención de ese valor.

Solución del problema

Para dar solución al problema se hizo el desarrollo matemático para la obtención de


las gráficas de Bode, esto con la ayuda de Matlab, el cual sirvió para comprobar que
las ecuaciones que se iban obteniendo estuvieran correctas.

A continuación se muestra el desarrollo matemático.

Se tiene la función de transferencia

𝑊𝑛2
𝐺(𝑆) =
𝑆 2 + 2𝜌𝑊𝑛 𝑆 + 𝑊𝑛 2

Y los valores de

𝜌 = 0.1 𝑦 𝑊𝑛 = 1.345

Se sabe que

𝑆 = 𝑗𝑤

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

Entonces se sustituye S en la función de transferencia

𝑊𝑛2
𝐺(𝑆) =
(𝑗𝑤)2 + 2𝜌𝑊𝑛 (𝑗𝑤) + 𝑊𝑛 2

También se sabe que

𝑗 = √−1 ∴ 𝑗 2 = −1

Entonces se tiene que

𝑊𝑛2
𝐺(𝑆) =
−𝑤 2 + 2𝜌𝑊𝑛 (𝑗𝑤) + 𝑊𝑛 2

Se procede a multiplicar G(S) por su conjugado, teniendo

𝑊𝑛2 −𝑤 2 − 2𝜌𝑊𝑛 (𝑗𝑤) + 𝑊𝑛 2


𝐺(𝑆) = ×
−𝑤 2 + 2𝜌𝑊𝑛 (𝑗𝑤) + 𝑊𝑛 2 −𝑤 2 − 2𝜌𝑊𝑛 (𝑗𝑤) + 𝑊𝑛 2

Tomando estas como funciones de transferencia y sustituyendo valores de W n, r y


S se tiene

−1.804𝑤 2 − 0.4866(𝑗𝑤) + 3.273


𝐺(𝑆) =
𝑤 4 − 3.546𝑤 2 + 3.273

Se separa la parte real de la parte imaginaria quedando

−1.804𝑤 2 + 3.273 −0.4866𝑤


𝐺(𝑆) = 4 + 𝑗
𝑤 − 3.546𝑤 2 + 3.273 𝑤 4 − 3.546𝑤 2 + 3.273

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

−1.804𝑤 2 + 3.273
𝑅𝑒𝑎𝑙 = 4
𝑤 − 3.546𝑤 2 + 3.273

−1.804𝑤 2 + 3.273
𝐼𝑚𝑎𝑔𝑖𝑛𝑎𝑟𝑖𝑎 =
𝑤 4 − 3.546𝑤 2 + 3.273

Una vez obtenidas la parte real y la parte imaginaría ya se puede proceder al


desarrollo del algoritmo para el cálculo de los valores de magnitud y fase, para
después graficarlos y compararlos con las gráficas arrojadas por la función
bode(G,w). Se hace el uso de las siguientes ecuaciones:

|𝐺(𝑆)| = √𝑅𝑒𝑎𝑙2 + 𝐼𝑚𝑎𝑔𝑖𝑛𝑎𝑟𝑖𝑎2

𝐺𝑑𝑏 = 20𝑙𝑜𝑔10(|𝐺(𝑆)|)
𝐼𝑚𝑎𝑔𝑖𝑛𝑎𝑟𝑖𝑜(𝑤)
𝐹𝑎𝑠𝑒 = atan( )
𝑅𝑒𝑎𝑙(𝑤)

A continuación se muestra y describe algoritmo en código fuente realizado.

clear all %limpia todas las variables usadas


close all %cierra los procesos ejecutados
clc %limpia la pantalla

p=0.1; %factor de amortiguamiento


Wn=1.345; %frecuencia natural

num=[Wn^2]; %numerador de fa FT
den=[1 2*p*Wn Wn^2]; %denominados de la FT
G1=tf(num,den); %se genera la FT
w=0:0.1:100; %vector de frecuencia
bode(G1,w) %gráfica la función de bode
grid on %regilla visible en la gráfica
[mag, fase]=bode(G1,w); %recupera valores magnitud/fase de la función
bode

i=1; %contador para ir recorriendo los vectores


for j=0:0.1:100 %ciclo for con j=w

P_real(i)=(-1.804*j^2+3.273)/(j^4-3.546*j^2+3.273); %parte real


P_imag(i)=(-0.4866*j)/(j^4-3.546*j^2+3.273); %parte imaginaria

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

Mag(i)=sqrt(P_real(i)^2+P_imag(i)^2); %magnitud
Fase(i)=atan2d(P_imag(i),P_real(i)); %fase

MAG(i)=mag(1,1,i); %guarda el valor recuperado de la función bode


FASE(i)=fase(1,1,i); %guarda el valor recuperado de la función bode

i=i+1; %incremento de la variable i

end

figure %genera una nueva figura


subplot(2,2,1) %coloca a la gráfica en a posición 1
semilogx(w,20*log10(Mag)) %gráfica de la magnitud en db
xlabel('frecuencia (rad/seg)'); %etiqueta del eje x
ylabel('magnitud (db)'); %etiqueta del eje y
title('MAGNITUD ALGORITMO'); %título de la gráfica
grid on %regilla visible en la gráfica

subplot(2,2,3) %coloca a la gráfica en a posición 3


semilogx(w,Fase) %gráfica de la fase en grados
xlabel('frecuencia (rad/seg)'); %etiqueta del eje x
ylabel('fase (deg)'); %etiqueta del eje y
title('FASE ALGORITMO'); %título de la gráfica
grid on %regilla visible en la gráfica

subplot(2,2,2) %coloca a la gráfica en a posición 2


semilogx(w,20*log10(MAG),'+r') %gráfica de la magnitud en db
hold on %sobrepone la gráfica siguiente en la
anterior
semilogx(w,20*log10(Mag),'g') %gráfica de la magnitud en db
xlabel('frecuencia (rad/seg)'); %etiqueta del eje x
ylabel('magnitud (db)'); %etiqueta del eje y
title('MAGNITUD ALGORITMO(R) VS MAGNITUD BODE(V)') %título de la gráfica
grid on %regilla visible en la gráfica

subplot(2,2,4) %coloca a la gráfica en a posición 4


semilogx(w,FASE,'+r') %gráfica de la fase en grados
hold on %sobrepone la gráfica siguiente en la anterior
semilogx(w,Fase,'g') %gráfica de la fase en grados
xlabel('frecuencia (rad/seg)'); %etiqueta del eje x
ylabel('fase (deg)'); %etiqueta del eje y
title('FASE ALGORITMO(R) VS FASE BODE(V)') %título de la gráfica
grid on %regilla visible en la gráfica

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

Ahora bien, para obtener el mínimo del denominador se procede a hacer el siguiente
desarrollo matemático, buscando cumplir que w = 1.3324 rad/seg.
𝑊𝑛2
𝐺(𝑆) =
𝑆 2 + 2𝜌𝑊𝑛 𝑆 + 𝑊𝑛 2
𝑑𝑒𝑛 = 𝑆 2 + 2𝜌𝑊𝑛 𝑆 + 𝑊𝑛 2
Se sustituye S por jw
𝑑𝑒𝑛 = (𝑗𝑤)2 + 2𝜌𝑊𝑛 (𝑗𝑤) + 𝑊𝑛 2
𝑑𝑒𝑛 = −𝑤 2 + 2𝜌𝑊𝑛 𝑗𝑤 + 𝑊𝑛 2

Se obtiene la parte real y la parte imaginaria del denominador quedando


𝑅𝑒𝑎𝑙 = 𝑊𝑛 2 − 𝑤 2 𝐼𝑚𝑎𝑔 = (2𝜌𝑊𝑛 𝑤)𝑗

Para obtener el mínimo del denominador se saca la magnitud del denominador.

|𝑑𝑒𝑛| = √(𝑊𝑛 2 − 𝑤 2 )2 + (2𝜌𝑊𝑛 𝑤)2

Se toma la teoría de mínimos, máximos y puntos de inflexión


𝜕
𝑚𝑖𝑛 = [(𝑊𝑛 2 − 𝑤 2 )2 + (2𝜌𝑊𝑛 𝑤)2 ]
𝜕𝑤
2(𝑊𝑛 2 − 𝑤 2 )(−2𝑤) + 2(2𝜌𝑊𝑛 𝑤)(2𝜌𝑊𝑛 ) = 0
−4𝑤(𝑊𝑛 2 − 𝑤 2 ) + 8𝜌2 𝑊𝑛 2 𝑤 = 0
−4𝑤(𝑊𝑛 2 − 𝑤 2 ) = −8𝜌2 𝑊𝑛 2 𝑤

2 −8𝜌2 𝑊𝑛 2 𝑤
𝑊𝑛 − 𝑤 = 2
= 2𝜌2 𝑊𝑛 2
−4𝑤
2
𝑤 2 = 𝑊𝑛 − 2𝜌2 𝑊𝑛 2 = 𝑊𝑛 2 (1 − 2𝜌2 )

𝑤 = √𝑊𝑛 2 (1 − 2𝜌2 ) = 𝑊𝑛 √(1 − 2𝜌2 )

Se sustituyen valores de Wn y r

𝑤 = 1.345√(1 − 2(0.1)2 ) = 1.3314 𝑟𝑎𝑑⁄𝑠𝑒𝑔

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

Resultados
Una vez ejecutado el algoritmo en código fuente nos arroja estas gráficas, las cuales
pertenecen a la gráfica resultante de la función bode(g,w) (Figura 1 (a)) y a las
gráficas resultantes del algoritmo (Figura 1 (b)). Se puede observar que tanto las
resultantes con la función de Matlab como las resultantes del algoritmo
corresponden en cuanto a sus valores y se puede decir que son completamente
idénticas.

a) b)

Figura 1. Grafica de bode. a) bode(G,w), b) algoritmo

Ahora para comprobar que las gráficas obtenidas son idénticas se sobrepone una
encima de la otra y se puede apreciar en la Figura 2 que son iguales en todos los
valores graficados. Y con ello se puede decir que el algoritmo es correcto y funciona
de forma óptima. En la Figura 2 se muestran en color verde las gráficas resultantes
de la función propia de Matlab y de color rojo se muestran las resultantes del
algoritmo desarrollado para conocido fin.

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

Figura 2. Comparación de las gráficas obtenidas

José Manuel Reyes Rodríguez Generación 2015


BENEMERITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
FACULTAD DE CIENCIAS DE LA ELECTRÓNICA
MAESTRÍA EN CIENCIAS DE LA ELECTRÓNICA OPCIÓN AUTOMATIZACIÓN

Conclusiones

Matlab por default ya trae definidas muchas funciones, con las cuales con solo
ingresar los valores que se piden, automáticamente Matlab hace todo el desarrollo
matemático para la obtención de los resultados, ejemplo claro, la función bode(G,w).
Matlab sirve como una herramienta de cálculo muy útil, pero no te muestra el
desarrollo completo, sino que, solo muestra el resultado final y para propósitos de
diseño y análisis profundo de los temas no ayuda en mucho, por ello se recomienda
realizar el desarrollo matemático aparte, esto siguiendo las diferentes teorías que
lleven a la solución del problema, en este caso la obtención de las gráficas de Bode
de una función. Para después llevar este desarrollo matemático a un algoritmo que
se pueda plasmar en un código fuente de Matlab y con ello poder realizar la
comparación del resultado que arroja Matlab y el arrojado por el algoritmo
planteado. Claro ejemplo la obtención de las gráficas de Bode.

Los objetivos planteados se cumplieron, dando por resultado un código con el cual
poder obtener las gráficas de Bode de una función y hacer la comparación entre las
resultantes de la función de Matlab y las resultantes del algoritmo planteado.

Bibliografía

Ogata, K. (1998). Ingeniería de control moderna. México: Prentice-Hall.

Reyes Cortés, F. (2012). Matlab aplicado a robótica y mecatrónica. México: Alfaomega.

José Manuel Reyes Rodríguez Generación 2015

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