Estocasticidad de un atractor caótico determinista
implementado en FPGA
L. De Micco, O. G. Zabaleta, C. M. González , C. M. Arizmendi y H. A. Larrondo
Lab. de Componentes Electrónicos y Lab. de Mecánica Estadística Facultad de Ingeniería, UNMDP, Argentina.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Generación de ruido mediante sistemas caóticos
Método de multiplexación por CDMA. Mejora de la compatibilidad electromagnética en
circuitos electrónicos. Muestreo aleatorio. Encriptamiento.
Aplicaciones de ruidos en electrónica:
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Generación de ruido mediante sistemas caóticos
• Secuencias de ruido Sistemas estocásticos.
Sistemas caóticos.
Las secuencias caóticas son más simples de implementar que las estocásticas.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Características de los sistemas caóticos:
Sist. continuos 3D Caos.
Sist. discretos 1D Caos.
• Modelos deterministas simples y conocidos.
• Alineales.
• Evolución temporal de sus variables tiene la apariencia de una señal estocástica.
• Gran sensibilidad a las condiciones iniciales.
• Sist. continuos o discretos (mapas).
Generación de ruido mediante sistemas caóticos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Sist. continuos 3D Caos.
Sist. discretos 1D Caos.
• Modelos deterministas simples y conocidos.
• Alineales.
• Evolución temporal de sus variables tiene la apariencia de una señal estocástica.
• Gran sensibilidad a las condiciones iniciales.
• Sist. continuos o discretos (mapas).
¿Cómo son afectadas las propiedades estocásticas de los sist. Continuos cuando son discretizados?
Características de los sistemas caóticos:
Generación de ruido mediante sistemas caóticos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Generación de ruido mediante sistemas caóticos
Los sistemas caóticos poseen dos características contrapuestas:
• Son sistemas deterministas Por tener un modelo matemático que los describe.
• Son sistemas estocásticos Debido la sensibilidad a las condiciones iniciales que presentan, la predictibilidad a largo plazo se pierde. Para los cuales el análisis se realiza por la vía estadística.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Los sistemas caóticos poseen dos características contrapuestas:
• Son sistemas deterministas Por tener un modelo matemático que los describe.
• Son sistemas estocásticos Debido la sensibilidad a las condiciones iniciales que presentan, la predictibilidad a largo plazo se pierde. Para los cuales el análisis se realiza por la vía estadística.
Si fuera posible implementarlos con precisión infinita los sistemas caóticos serían deterministas en sentido estricto.
Esta dualidad determinista-estocástico de los sistemas caóticos los hace especialmente interesantes para la
ingeniería, dado que las señales que generan se pueden utilizar como ruidos controlados en diversas
aplicaciones.
Generación de ruido mediante sistemas caóticos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
En este trabajo se investiga el efecto de la discretización sobre la estocasticidad del sistema
caótico.
El sistema estudiado es el oscilador de Lorenz implementado en una Field Programmable Gate Array
(FPGA).
La determinación del grado de estocasticidad tiene por objeto proporcionar una metodología de diseño
optimizada para el uso que se pretenda dar al sistema caótico.
Generación de ruido mediante sistemas caóticos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Discretización de sistemas caóticos continuos
Si, por ejemplo, el sistema caótico va a ser utilizado en aplicaciones que requieran predictibilidad a largo plazo la discretización debe llevar a un sistema determinístico y con fuerte correlación (no lineal) entre los valores sucesivos de las series temporales.
Por otro lado, si el sistema caótico va a reemplazar a un sistema estocástico se deberá diseñar de modo que sea lo menos predictivo
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Discretización de sistemas caóticos continuos
En una implementación real tanto el tiempo como los propios valores de las señales son discretos.
• La discretización del tiempo: Algoritmo reemplaza las ecuaciones diferenciales teóricas que modelan el sistema.
Algoritmos: 1) Euler de primer orden: es el más simple, las derivadas son directamente
reemplazadas por incrementos finitos. 2) Runge-Kutta de orden 4 o mayor, algoritmos de paso variable: permiten un
sistema discreto más cercano al sistema continuo , son más elaborados, utilizan más recursos.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
En una implementación real tanto el tiempo como los propios valores de las señales son discretos.
• La discretización del tiempo: Algoritmo reemplaza las ecuaciones diferenciales teóricas que modelan el sistema.
Algoritmos: 1) Euler de primer orden: es el más simple, las derivadas son directamente
reemplazadas por incrementos finitos. 2) Runge-Kutta de orden 4 o mayor, algoritmos de paso variable: permiten un
sistema discreto más cercano al sistema continuo , son más elaborados, utilizan más recursos.
• La discretización en amplitud: equivale a definir un alfabeto finito y convertir la serie original en una serie simbólica (que en nuestro caso es también una serie numérica).
Así por ejemplo la representación en aritmética entera con n bits tiene un alfabeto de 2n símbolos y una representación punto flotante tiene un alfabeto que depende del estándar adoptado.
Aritmética: 1) Entera, 16 bits, 32 bits, etc. 2) Punto flotante: Standard IEEE 754 precisión simple, precisión doble, etc.
Discretización de sistemas caóticos continuos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
En una implementación real tanto el tiempo como los propios valores de las señales son discretos.
• La discretización del tiempo: Algoritmo reemplaza las ecuaciones diferenciales teóricas que modelan el sistema.
Algoritmos: 1) Euler de primer orden: es el más simple, las derivadas son directamente
reemplazadas por incrementos finitos. 2) Runge-Kutta de orden 4 o mayor, algoritmos de paso variable: permiten un
sistema discreto más cercano al sistema continuo , son más elaborados, utilizan más recursos.
• La discretización en amplitud: equivale a definir un alfabeto finito y convertir la serie original en una serie simbólica (que en nuestro caso es también una serie numérica).
Así por ejemplo la representación en aritmética entera con n bits tiene un alfabeto de 2n símbolos y una representación punto flotante tiene un alfabeto que depende del estándar adoptado.
Aritmética: 1) Entera, 16 bits, 32 bits, etc. 2) Punto flotante: Standard IEEE 754 precisión simple, precisión doble, etc.
Discretización de sistemas caóticos continuos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
El sistema dinámico de Lorenz está definido por las siguientes ecuaciones diferenciales ordinarias:
Donde , y son los parámetros constructivos del sistema.
Con:
el sistema presenta comportamiento caótico
Discretización de sistemas caóticos continuos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Discretización temporal
Aplicando el algoritmo de Euler al Sistema de Lorenz:
Algoritmos más elaborados como el de Runge-Kutta de orden 4 o mayor, los algoritmos de paso variable, o los de varios pasos permiten un sistema discreto más cercano al sistema continuo pero a un mayor costo en recursos.
Entre los algoritmos usuales el más simple es el método de Euler de primer orden en el que las derivadas son directamente reemplazadas por incrementos finitos.
Donde es el paso
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Discretización en amplitud - Aritmética entera
El sistema resulta:
, en este caso son las ctes de polarización
El hardware puede reducirse significativamente si se adopta una aritmética entera y se utilizan divisores potencia de 2. Para esto se polarizan las variables aleatorias para emplear números naturales:
usando
y la función floor()
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Las operaciones aritméticas con números en punto flotante: • insumen más tiempo y • requieren un hardware más complejo.
Por otra parte, se consigue: • alto margen dinámico y • mayor precisión.
Actualmente existen FPGAs, capaces de trabajar en punto flotante a frecuencias muy altas, lo que disminuye considerablemente las desventajas de trabajar con punto flotante.
31 30 23 22 0
23 bits de mantisa 8 bits de exponente bit de signo
En el estándar IEEE 754 de 32 bits:
Discretización en amplitud – Punto flotante
(-2 * signo + 1) * 1,mantisa * 2 exponente
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Cuantificación de estocasticidad - Cuantificadores
• Hay infinitas posibilidades para asignar una PDF a una dada secuencia de datos. 1) PDF basada en el histograma (hist):
• Solo cuenta el número de veces en que aparece cada elemento de la serie.
• No tiene en cuenta el orden temporal de los mismos.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
• Hay infinitas posibilidades para asignar una PDF a una dada secuencia de datos. 1) PDF basada en el histograma (hist).
2) PDF de Bandt y Pompe (BP).
Cuantificación de estocasticidad - Cuantificadores
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Caracterizan una dada PDF.
Entropía de Shannon (H)
Complejidad Estadística (C)
“Orden erfecto”
QLMPR P. W. Lamberti, M. T. Martín, A. Plastino y O. A.Rosso, Physica A 334, 119 (2004).
Divergencia de Jensen-Shannon:
“Máxima aleatoriedad”
Histograma ó Band y Pompe
Cuantificación de estocasticidad - Cuantificadores
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Se generaron las series X, Y y Z de más de 150000 valores de forma de cubrir siempre la misma zona del atractor. Con en el rango [0,003; 0,0045].
Para cada serie se calculó el valor de H y C y se los representó en el plano entropía-complejidad (H-C)
Cuantificación de estocasticidad - Representación plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
La región accesible, que para el caso d = 6 está limitada por las curvas puntedas en azul, puede dividirse en dos subregiones indicadas como determinista (de baja entropía) y estocástica (de alta entropía) respectivamente.
Cuantificación de estocasticidad - Representación plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
= 0,003; 0,004 y 0,0045
El incremento de produce un incremento de H y C pero el sistema se mantiene dentro de la región determinista. Si se intenta superar el valor = 0,0045 el sistema deja de ser caótico y alcanza un estado final con H = 0 y C = 0.
Cuantificación de estocasticidad - Representación plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Skipping de 2, 3, 5, 7, 9, 11, 20 y 23 Puede verse que, mediante esta técnica, se obtienen secuencias cuyo punto representativo en el plano C - H se encuentra en la región estocástica.
= 0,0045
Skipping: Saltear valores de la serie
Cuantificación de estocasticidad - Representación plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Skipping de 2, 3, 5, 7, 9, 11, 20 y 23 Puede verse que, mediante esta técnica, se obtienen secuencias cuyo punto representativo en el plano C - H se encuentra en la región estocástica.
= 0,0045
Entran en zona estocástica
Cuantificación de estocasticidad - Representación plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Aritmética entera
Con aritmética entera usando 16 bits se obtiene un punto en la zona determinista.
Cuantificación de estocasticidad - Representación plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Randomizando con bit más significativo
Con aritmética entera usando 16 bits se obtiene un punto en la zona determinista. Para acercarse a la zona estocástica se utilizan técnicas de randomización sobre la serie, técnica del bit más significativo y menos significativo.
Cuantificación de estocasticidad - Representación plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Cuantificación de estocasticidad - Representación plano H-C
Randomizando con bit menos significativo
Con aritmética entera usando 16 bits se obtiene un punto en la zona determinista. Para acercarse a la zona estocástica se utilizan técnicas de randomización sobre la serie, técnica del bit más significativo y menos significativo. La técnica del bit menos significativo permite un salto a la región estocástica En este ultimo caso el punto representativo corresponde a un PRNG.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Herramientas utilizadas
DSPBuilder
Entorno Simulink MATLAB
• Altera DSP Builder Blockset
• IP MegaCores
• Herramientas Matlab
• Simulación sin retardos
• Funcionamiento
Quartus II ALTERA
• Altera DSP Builder Blockset
• IP Mega Cores
• Bloques VHDL
• Simulación con retardos
Bloques VHDL
Proyectos
Trabajamos con el software Quartus que provee la empresa ALTERA. También trabajamos en el entorno simulink de matlab gracias al programa DSPBuilder que permite llevar bloques y proyectos de un entorno a otro.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Esquema simplificado de Sist. de Lorenz
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Simulink
Ejemplo de la implementación en Simulink de una de las ramas del Sistema de Lorenz (Rama x)
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Simulink
Rama X del sistema que consta de un sumador, un restador y un multiplicador en punto flotante (bloques de la librería de Altera).
Restador en punto flotante
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Simulink
Rama X del sistema que consta de un sumador, un restador y un multiplicador en punto flotante (bloques de la librería de Altera).
Multiplicador en punto flotante
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Simulink
Rama X del sistema que consta de un sumador, un restador y un multiplicador en punto flotante (bloques de la librería de Altera).
Sumador en punto flotante
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Simulink
El bloque Registro es un latch que retarda un ciclo la salida del sistema. Fue programado en VHDL e importado al Simulink.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab -Simulink
A la entrada del latch fue necesario insertar un bloque z-1 para evitar un problema propio de Simulink que surge cuando se trabaja con lazos realimentados. Este retardo no afecta al diseño.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Simulink
La salida del registro es tomada por el subsistema Floating Point (FP) que se encarga de separar los bits de signo, exponente y mantisa, y realizar la operación:
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con Simulink/Matlab - Simulink
El mismo procedimiento se aplica a las tres ramas. El oscilosopio virtual permite visualizar los datos, que almacenados quedan disponibles para ser procesados y graficados en Matlab, para una verificación preliminar del del diseño.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Simulación con el software de desarrollo Quartus II
La implementación se realizó con el software de desarrollo de la placa Cyclone III EP3C120 de Altera, es especial para el desarrollo de sistemas que involucran el procesamiento de señales, ya que cuenta con una interesante cantidad de memoria y multiplicadores.
El diseño se realizó en Quartus II ; si bien Matlab permite exportar el proyecto, y programar el dispositivo desde el propio Simulink presenta ciertas limitaciones, tales como la imposibilidad de simulación con retardos reales.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Rama x
Simulación con el software de desarrollo Quartus II
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Diagrama temporal de simulación en entorno Quartus II 7.2
Simulación con el software de desarrollo Quartus II
Las señales x, y, z corresponden a las salidas de los registros. Los datos están expresados como unsigned integer y corresponden a números en punto flotante.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Resultados
Salida Signal Tap II
Signal Tap: Mientras que el diseño corre en la FPGA, esta herramienta permite almacenar las señales deseadas en la memoria del dispositivo. Luego, la placa envía los datos a la PC para ser analizados.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Resultados
Datos tomados con Signal Tap y graficados en Matlab
Series temporales obtenidas con la placa para t = 0,0045.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Resultados
Datos tomados con Signal Tap y graficados en Matlab
Atractor obtenido con la placa para t = 0,0045.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Conclusiones
1. Si el sistema caótico va a ser utilizado en aplicaciones que requieran predictibilidad a largo plazo el diseño debe ser tal que el punto representativo se encuentre en la región determinista del plano C-H, que corresponde a sistemas con una fuerte correlación (no lineal) entre los valores sucesivos de las series temporales.
2. Si el sistema caótico va a reemplazar a un sistema estocástico el punto representativo debe encontrarse en la zona estocástica. En particular para el caso de un PRNG, debe encontrarse lo más cerca posible del punto H=1, C=0.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Conclusiones
3. Las secuencias generadas utilizando aritmética de punto flotante, si bien reproducen más exactamente y con mayor precisión el atractor de Lorenz, no tienen acceso a la zona estocástica. Para lograr acceder a esta zona se utilizó la técnica de skipping.
4. Otra alternativa para acceder a la región estocástica es utilizar una implementación en aritmética entera que tiene la ventaja de utilizar recursos significativamente menores y además permite un salto a la región estocástica mediante la sencilla técnica de randomización de uso del bit menos significativo.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Delineamiento
Introducción
Implementación
Resultados Conclusiones Agradecimientos
• Simulación con Simulink/Matlab • Simulación con el software de desarrollo Quartus II • Implementación física en la placa Cyclone III EP3C120 (Altera)
• Generación de ruido mediante sistemas caóticos • Discretización de sistemas caóticos continuos • Cuantificación de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
Este trabajo ha sido parcialmente financiado por CONICET (PIP2004),
ANPCyT (PICT 04) y UNMDP
AGRADECIMIENTOS
Top Related