Subido por Gonzalo Nuñez

implementacion de las ecuaciones de Lorenz

Anuncio
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
Descargar