2013 Universidad Nacional de la Patagonia San Juan Bosco Núñez, Gonzalo Paredes, Santiago Estudio e implementación de las ecuaciones de Lorenz Índice Introducción Pag. 03 Simulación en Mathemática Pag. 11 Simulación en LTspice Pag. 17 Simulación en MatLab Pag. 20 Simulación en Simulink Pag. 21 Conclusiones Pag. 27 Bibliografía Pag. 28 Anexos Pag. 29 Núñez, Gonzalo Paredes, Santiago Página 2 INTRODUCCIÓN: Los sistemas caóticos se empezaron a conocer a partir de algunas observaciones de Edward Lorenz quien, en 1963, trabajaba en un programa que pudiera predecir el clima y el comportamiento de la atmósfera. Observó que con valores ligeramente diferentes de temperatura predecía comportamientos radicalmente diferentes en el clima. En un inicio se creyó que se trataba de errores numéricos provenientes del cálculo en la computadora. Tiempo después se comprobó que lo que pasaba era un fenómeno de alta sensibilidad del sistema a las condiciones Iníciales, (que ahora se sabe que caracteriza, entre otras cosas, a un sistema caótico). Por mucho tiempo fue confundido con ruido, no fue hasta que en el campo de la ingeniería se anuncio oficialmente su existencia en sistemas eléctricos en el año de 1980. Por otra parte las comunidades de científicos e ingenieros se dieron cuenta que el caos podía ser controlado. La sincronización entre dos sistemas caóticos idénticos, fue reportada en 1990 por Pécora y Carroll y dos años más tarde advirtieron que el caos podía ser usado en sistemas de comunicación segura, debido a que el caos es extremadamente sensible a las condiciones iníciales. La idea es que, dadas unas condiciones iniciales de un determinado sistema caótico, la más mínima variación en ellas puede provocar que el sistema evolucione en ciertas formas completamente diferentes. Sucediendo así que, una pequeña perturbación inicial, mediante un proceso de amplificación, podrá generar un efecto considerablemente grande a mediano o corto plazo de tiempo. Pero por otra parte si conocemos las condiciones iníciales podemos intentar determinar la trayectoria del sistema. Existen varios modelos que describen un comportamiento caótico, Lorenz en 1963 describió tres ecuaciones diferenciales bien definidas al intentar predecir los fenómenos meteorológicos, estas ecuaciones dan lugar al atractor de Lorenz Ecuaciones de Lorenz Núñez, Gonzalo Paredes, Santiago Página 3 Una definición de atractor: un atractor es un conjunto al cual todas las trayectorias cercanas convergen. Más exactamente, sea A un atractor entonces se cumple que: •A es un conjunto invariante: cualquier trayectoria que comienza en A permanece en A para todo t •A atrae un conjunto abierto de condiciones iniciales: existe un conjunto abierto U que contiene a A, tal que si x(0)∈U, la distancia de x(t) a A tiende a 0 cuando t→∞. A atrae todas las trayectorias que comienzan suficientemente cerca de A. El mayor conjunto de los U se denomina base de atracción de A. •A es minimal: no existe ningún subconjunto apropiado de A que satisfaga las condiciones anteriores. Una definición de atractor extraño: un atractor extraño es un atractor que exhibe sensibilidad respecto las condiciones iniciales. Circuito a analizar Como se verá más adelante, el circuito propuesto responde a las ecuaciones propuestas por Lorenz. Se modelará el circuito en forma de ecuaciones de estado con el fin de facilitar la interpretación de los resultados. Las tres variables de estado son las tensiones u, v y w. Núñez, Gonzalo Paredes, Santiago Página 4 Variable u Para el amplificador operacional u1: n1 = p1 + + =0 = n1 =0 + p1 + − = p1 = Combinando las 2 ecuaciones nos queda: x = R4 + − x= + −v Para el amplificador operacional u2: − − usC1 = 0 x = −usC1R5 Combinando nuevamente las ecuaciones tenemos: u + −v = −usC1R5 u + + usC1R5 = v u + + usC1R1R5 = vR4 u + + u̇ C1R1R5 = vR4 u̇ = v −u u̇ = v− donde = ̇ + +1 u Núñez, Gonzalo Paredes, Santiago Página 5 Variable v T = uw ; = 1+ ; 1= 1 Para el amplificador operacional u4: n1 + =0 + + =0 + − + q = R12 z p1 = z − + = + − − Para el amplificador operacional u5: p = −q Para el amplificador operacional u6: −vsC2 − =0 v=− v=q Combinando todas las ecuaciones tenemos: v= v̇ = u 1+ u 1+ Núñez, Gonzalo Paredes, Santiago + + + − + 1 − uw − −v donde v̇ = sv Página 6 Variable w: a = uv ; n1 = p1 Para el amplificador operacional u7: + =0 + =0 y=w = n1 + − p1 = w + −a Para el amplificador operacional u8: − − wsC3 = 0 y = −wsC3R20 w + −a ẇ C3R20 = w ẇ = uv = −wsC3R20 +1 −a −w donde ẇ = sw 1+ Núñez, Gonzalo Paredes, Santiago Página 7 Si comparamos las ecuaciones propuestas por Lorenz con las obtenidas del circuito, vemos que se corresponden 1) ̇ = − 2) v̇ = u 1+ 3) ẇ = uv +1 + −w + 1 − uw −v 1+ ẋ = σ(y − x) ẏ = rx − y − xz ż = xy − bz Una implementación directa de las ecuaciones de Lorenz en un circuito electrónico presenta una dificultad importante: Las variables de estado ocupan un amplio rango dinámico con valores que exceden razonablemente los límites de potencia de suministro. Sin embargo, esta dificultad puede ser eliminada por una simple transformación de variables. En definitiva, para los coeficientes σ, r y b se utiliza una transformación y u = x 10, v = 10 y w = z 20. Con esta ampliación, las ecuaciones de Lorenz se transforman 1’) u̇ = σ(v − u)α 2’) v̇ = (ru − v − 20uw)α 3’) ẇ = (5uv − bw)α De esta manera se pueden comparar las ecuaciones del circuito con las de Lorenz De la ecuación 1) sacamos factor común y obtenemos: σα = de esta ecuación despejamos R5 R5 = , si hacemos R4 = R1 , obtenemos: R5 = 1 σαC1 Que es la resistencia variable que puede hacer cambiar el valor de σ, luego nos queda: + 1 = 1 y como R4 = R1 Núñez, Gonzalo Paredes, Santiago = R3 = + R3 = R2 Página 8 De la ecuación 2) tenemos: α= 20α = αr = ( ) 1+ + 1+ hacemos: A= 1+ + B = 1+ Entonces: R15C2αrR10 = AB R15C2αrR10 = −R15C2αrR11 + R11 A B R15C2αrR10 = R11(A B − R15C2αr) R11 = R15C2αrR10 R12 R12 R7 1 + R8 + R9 1 + R6 − R15C2αr Que es la resistencia variable que puede hacer cambiar el valor de r, luego tenemos: 20α = donde hacemos R9 = R12, y despejamos R15 R15 = De α = 1 20αC2 despajamos R8 R8 = R12 R15C2α De la ecuación 3) tenemos: 5α = donde hacemos R19 = R16 y despejamos R20 R20 = 1 5αC3 Luego tenemos: αb = 1+ Donde A = 1 + , entonces R20C3αb = A R20C3αbR17 = −R20C3αbR18 + AR18 R20C3αbR17 = R18(A − R20C3αb) Núñez, Gonzalo Paredes, Santiago Página 9 R20C3αbR17 R19 1 + R16 − R20C3αb Que es la resistencia variable que puede hacer cambiar el valor de b R18 = Ahora podemos calcular los valores de resistencias y capacitores del circuito. Para ello utilizamos una hoja de cálculos de Microsoft Excel b= r= sigm= alfa= C1= C2= C3= 2 2/3 33 10 2505 5E-10 5E-10 5E-10 R1= R2= R3= R4= R5= R6= R7= R8= R9= R10= R11= R12= R13= R14= R15= R16= R17= R18= R19= R20= 1,00E+05 1,00E+05 1,00E+05 1,00E+05 7,98E+04 1,00E+05 1,00E+05 2,00E+05 1,00E+04 4,99E+04 3,40E+04 1,00E+04 1,00E+05 1,00E+05 4,02E+04 1,00E+05 1,00E+05 3,58E+04 1,00E+05 1,58E+05 Las constantes b, r, y σ definen los valores de R18, R11, y R5 respectivamente. Estas constantes no necesariamente son positivas, en este caso se tomaron positivas, ya que un valor negativo daría como resultado un valor negativo de resistencia Núñez, Gonzalo Paredes, Santiago Página 10 Simulación de las ecuaciones en Mathemática En esta simulación analizamos las ecuaciones de Lorenz y la sensibilidad a las condiciones iniciales del sistema, como también valores negativos de b, r, ó σ Utilizamos r=33;σ=10;b=8/3; y condiciones iniciales x=2, y=2, y z=2 para las ecuaciones: ẋ = σ(y − x) ẏ = rx − y − xz ż = xy − bz Y obtenemos los siguientes gráficos de x’, y’ y z’ en el tiempo x 20 10 10 20 30 40 30 40 10 20 y 30 20 10 10 20 10 20 30 Núñez, Gonzalo Paredes, Santiago Página 11 z 50 40 30 20 10 10 20 Atractor x’ en función de y’ 30 40 y 30 20 10 20 10 10 20 x 10 20 Núñez, Gonzalo Paredes, Santiago Página 12 Sensibilidad a las condiciones iniciales Para demostrar la sensibilidad a las condiciones iniciales, graficamos 2 ecuaciones en un mismo eje, utilizando una pequeña diferencia en las condiciones iniciales, en este caso, cambiamos la condición inicial de x, y nos queda: X=2,000000001, y=2 y z=2 20 10 10 20 30 40 10 20 30 40 10 20 30 20 10 10 20 30 Núñez, Gonzalo Paredes, Santiago Página 13 , 50 40 30 20 10 10 20 30 40 Como se ve una diferencia en las condiciones iniciales antes de los cálculos, incluso del tipo infinitesimal, cambia de forma dramática los resultados. Si tomamos r=33; σ=-10; b=8/3, el sistema tiene un comportamiento particular, En lugar de estabilizarse en un punto de equilibrio se estabiliza en un ciclo límite y 10 5 2 1 1 2 x 5 10 Núñez, Gonzalo Paredes, Santiago Página 14 Si tomamos r=13; σ=10; b=8/3 tenemos un foco de equilibrio, el sistema “da vueltas” alrededor del punto antes de llegar al equilibrio y 12 10 8 6 4 4 Núñez, Gonzalo Paredes, Santiago 6 8 10 x Página 15 Si tomamos r=0,1; σ=10; b=8/3 tenemos un punto de equilibrio y 2.0 1.5 1.0 0.5 0.5 Núñez, Gonzalo Paredes, Santiago 1.0 1.5 2.0 x Página 16 Simulación en LTspice U12 u 1 v V1 C6 8 R12 0.1µF 15V V2 2 7 c 3 6 C7 4 5 0.1µF b R4 100k U1 R1 u 1 V3 C4 8 0.1µF 2 w 7 a 3 6 C5 4 5 0.1µF 15V 10k U4 200k R9 ampi 10k C1 15V U9 R14 R8 100k ampi 79.8k R2 100k R5 R3 100k V4 500pF U2 ampi ampi 49.9k ampi 500pF U6 R15 40.2k ampi R11 34k U3 R7 R16 d R19 C3 100k U7 500pF U8 100k R17 100k 15V 100k U5 R10 u R6 100k 100k R13 100k C2 R20 ampi 158k R18 35.8k R21 10k U10 R23 1k a ampi .tran 10m uic .options cshunt=1e-15 .include ad633.cir R22 10k U11 R24 b 1k c ampi d Una vez resueltas las ecuaciones, procedimos a simular el circuito mediante el software LTspice, y comprobamos que los gráficos obtenidos se correspondan con los simulados en Mathemática Para la simulación se usaron los valores ya calculados de cada componente, y para el multiplicador se implementó un AD633, utilizando un bloque de 8 pines y el script que contiene las instrucciones de funcionamiento de dicho multiplicador. Ingresamos a las propiedades del bloque de 8 pines (DIP8), en la casilla SpiceModel escribimos el nombre del integrado, en este caso “ad633”; luego utilizamos la instrucción “.include ad633.cir” para que el programa simule el comportamiento del multiplicador especificado en el script. Como la salida del multiplicador se ve atenuada en un factor de 10 por sus propias especificaciones, a su salida se conecto un amplificador no inversor de ganancia 10 Núñez, Gonzalo Paredes, Santiago Página 17 w ampi v Atractores correspondientes al circuito V(w) 3.0V 2.7V 2.4V 2.1V 1.8V 1.5V 1.2V 0.9V 0.6V 0.3V 0.0V -0.3V -2.8V -2.4V -2.0V -1.6V -1.2V -0.8V -0.4V 0.0V 0.4V 0.8V 1.2V 1.6V V(u) V(v ) 2.5V 2.0V 1.5V 1.0V 0.5V 0.0V -0.5V -1.0V -1.5V -2.0V -2.5V -3.0V -2.8V -2.4V -2.0V -1.6V -1.2V -0.8V -0.4V 0.0V 0.4V 0.8V 1.2V V(u) Núñez, Gonzalo Paredes, Santiago Página 18 1.6V Si hacemos R11=9,48KΩ, queda r=13, σ=10 y b=8/3 se puede observar el siguiente atractor V(v ) 0.1V 0.0V -0.1V -0.2V -0.3V -0.4V -0.5V -0.6V -0.7V -0.8V -0.9V -1.0V -1.1V -1.2V -1.3V -1.1V -1.0V -0.9V -0.8V -0.7V -0.6V -0.5V V(u) -0.4V -0.3V -0.2V -0.1V 0.0V 0.1V como se ve, el circuito tiene un punto de equilibrio Si hacemos R11=61,4Ω, queda r=0.1, σ=10 y b=8/3 se puede observar el siguiente atractor V(v) 30mV 0mV -30mV -60mV -90mV -120mV -150mV -180mV -210mV -240mV -270mV -300mV -300mV -270mV -240mV -210mV -180mV -150mV -120mV -90mV -60mV -30mV 0m V 30mV V(u) Núñez, Gonzalo Paredes, Santiago Página 19 Simulación en MatLab Para realizar la transmisión y recepción de audio en simulink se realizó un programa en MatLab para tomar un archivo de audio y convertirlo en una vector asociado a un tiempo para cada valor, generando una matriz, la cual se insertó en simulink como una variable mediante el bloque From Workspace. Luego para recoger las salidas desde simulink se utiliza utilizó el bloque To Workspace, lo cual nos entrega una variable en el dominio temporal que nos permitió escuchar los distintos sonidos ,además de realizar los gráficos en ventanas independientes con los resultados de la simulación. El programa en MatLab: [Y0,FS0,NBITS0] = wavread('vivaldi.wav'); Y1 = Y0(:,1); t = size(Y1)/FS0; t1 = (0:1/FS0:t-1/FS0)'; VAR = [t1, Y1]; %Las variables x, y, z provienen de los osciloscopios %se toman de las salidas de los tres integradores en %simulink del archivo trans.mdl x = ScopeData(:,2); y = ScopeData1(:,2); z = ScopeData2(:,2); %Se presentan los graficos de las variables usadas %en simulink del archivo antes de transmitirlo %durante la transmision y despues de la transimsion %cuando lo recupera el receptor %Graficos figure(6); plot(Y1); figure(7); plot(VAR(:,2)); figure(8); plot(Rec); figure(9); plot(Tran); %Reproduccion de los distintos sonidos sound(Y0, FS0); sound(Tran, FS0); sound(Rec, FS0); Núñez, Gonzalo Paredes, Santiago Página 20 Simulación en Simulink En simulink se implementó primero el sistema de transmisión utilizando la librería math operations. Como el sistema no tiene entradas, salidas y tampoco tiene alimentación de energía de ningún tipo, las condiciones iníciales se imponen en las variables integradas. Luego se conectan los osciloscopios de la salida de estos, para graficar u, v y w en función del tiempo, además de los atractores en los planos u-v y u-w. Todos estos gráficos se colocan a continuación del esquema en bloques del sistema caótico de transmisión basado en las ecuaciones de Lorenz. También se implementó un sistema de transmisión y recepción, del cual observamos la señal antes de ser transmitida, la señal a la salida del transmisor y la señal recuperada del receptor Grafico del sistema de transmisión Núñez, Gonzalo Paredes, Santiago Página 21 Atractores en MatLab del sistema caótico transmisor Núñez, Gonzalo Paredes, Santiago Página 22 Gráfico de u en función del tiempo Gráfico de v en función del tiempo Núñez, Gonzalo Paredes, Santiago Página 23 Gráfico de w en función del tiempo Gráfico del circuito transmisor y receptor del sistema caótico Núñez, Gonzalo Paredes, Santiago Página 24 Las ecuaciones matemáticas que gobiernan al circuito receptor son similares a las del transmisor en consecuencia el circuito es muy similar al transmisor. La forma de conectar el circuito transmisor con el receptor mediante la sincronización mediante el siguiente esquema de conexión de bloques como en la siguiente figura. Gráfico de la señal de audio antes de transmitir en función del número de muestras Núñez, Gonzalo Paredes, Santiago Página 25 Gráfico de la señal de audio transmitida enmascarada en función del número de muestras Gráfico de la señal de audio recibida en función del número de muestras Núñez, Gonzalo Paredes, Santiago Página 26 Conclusiones Al comienzo de este trabajo, se esperaba realizar la simulación e implementación directa de un circuito electrónico con amplificadores de un sistema caótico a partir de las ecuaciones de Lorenz, y observar los cambios en el osciloscopio para distintos valores de la resistencia R11 al cambiar ρ manteniendo constante σ y β así observar el cambio en los atractores o mariposas de Lorenz. Como la implementación no fue posible, en Simulink se implemento un circuito caótico con transmisor y receptor sincronizados, se probo el sistema transmitiendo una señal de audio la cual se recupero en el receptor con una buena calidad, teniendo en cuenta que hay que dejar un pequeño lapso de tiempo, al empezar la transmisión, ya que en ese lapso no se debe enviar nada porque se produciría un error o mala interpretación, por lo tanto hay que esperar el establecimiento de las condiciones hasta que los circuitos se coloquen en un punto de reposo al establecer la comunicación entre ellos. Núñez, Gonzalo Paredes, Santiago Página 27 Bibliografía: Analog and digital processing vol 40-Cuomo,Oppenheim, Strogatz Solución de problemas de ingeniería con Matlab-Prentice Hall Essential Matlab for Engieneers and Scientists Third Edition-Newnes Núñez, Gonzalo Paredes, Santiago Página 28 Anexos Se anexa un CD con todas las simulaciones realizadas y el scrip necesario para simular el integrado AD633 Núñez, Gonzalo Paredes, Santiago Página 29