Transcript
Microsoft Word -
MEMORIA_rev16.docx……………………………………………………………………………………………..
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
……………………………………………………………………………….…………….
……………………………………………………………………………………………..
Contingut d’aquest volum: MEMORIA
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
2
RESUMEN En este proyecto se describe el diseño, implementación y estudio de la propagación de información en una red compleja de circuitos electrónicos no lineales. Este estudio pone de manifiesto la existencia del fenómeno de la resonancia sub armónica o fantasma, mediante la transmisión de señales a diferentes frecuencias que al viajar por una red tipo Scale Free acaban convergiendo y gracias al procesado no lineal provoca la aparición de esta frecuencia que no se introduce de forma directa en la entrada, este fenómeno se denomina resonancia sub armónica o fantasma. ABSTRACT This report explains the design, realization and experimentation of a complex network of nonlineal electronic, built to study the processing of complex signals in a flexible structure. In particular, we have studied the generation of Ghost Resonance by the stimulation of two different signals in a Scale Free Network with a power law to simulate a neural network.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
3
AGRADECIMIENTOS
Debo agradecer la ayuda y el apoyo prestado por Rosendo Garganta en los múltiples cuellos de botella en los que nos hemos encontrado para la realización de este estudio, y por su casi infinita paciencia.
Agradezco la influencia de la de ojos verdes, quien inicialmente me inflamo la fuerza de voluntad para dedicarme en cuerpo y alma a esta tarea y por la cual posteriormente disminuyo esa fuerza hasta la indiferencia.
Este proyecto no sería posible sin el trabajo y la colaboración del Departamento de Electrónica de la UPC, en especial a Daniel Pérez sin el cual no se hubiera alcanzado el nivel de diseño necesario y a Toni Salvador quien realizó la fabricación no sólo de las placas de soporte sino el maratoniano y artesanal trabajo de la realización de los cables.
Agradezco la ayuda incondicional que nos ha ofrecido siempre Jordi Tiana en el laboratorio, así como la comprensión que ha mostrado en la compleja tarea de compartir el material del laboratorio.
Muchas gracias a Albert Masip por el tiempo invertido fuera de horas, clases y de toda obligación para acercarnos un poco más a los secretos y particularidades de la Identificación de sistemas complejos, un campo apasionante que sin duda vemos que pronto gracias a las publicaciones de Albert será más asequible para todos.
Gracias a Motserrat Gea por facilitar la gestión de los pagos y las facturas con los diferentes proveedores del material para este estudio.
Gracias al departamento de MCIA en especial a Luis Miguel Navarro, Migue Delgado y Oscar Poncelas por facilitarnos el material específico de electrónica del cual carecía el laboratorio de láseres, así como información sobre diferentes contactos de fabricación de PCBs muy útiles para el estudio realizado.
Doy las gracias en especial a Josep Balcells ya que siempre que dispuso del tiempo necesario resolvió diferentes dudas del diseño y facilito múltiples caminos a los diferentes problemas que aparecían.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
4
7 MEMORIA .................................................................................................................. 13
7.1 CAPITULO 1: CARACTERIZACIÓN DE LA RED BAJO ESTUDIO ............................ 13
7.1.1 INTRODUCCIÓN ............................................................................................ 13
7.1.1.2 DESCRIPCIÓN DEL PROGRAMA GENERADOR DE REDES SCALE FREE ... 15
7.1.2 ESPECIFICACIONES DE LA RED ...................................................................... 21
7.1.2.1 MODIFICACIONES DE LA FUNCIÓN SFGN.M ......................................... 21
7.1.2.2 MODIFICACIONES DE LA FUNCIÓN CNET.M ......................................... 23
7.1.2.3 IMPLEMENTACIÓN DE LA FUNCIÓN GENERADOR DE REDES.M ........... 25
7.1.3 JUSTIFICACIÓN DE LAS ESPECIFICACIONES DE LA RED ................................. 26
7.1.4 SELECCIÓN DE LA RED .................................................................................. 27
7.2 CAPITULO 2: CARACTERIZACIÓN DE LOS NODOS DE LA RED ............................ 31
7.2.1 INTRODUCCIÓN ............................................................................................ 31
7.2.3 ESPECIFICACIONES DE LAS SEÑALES DE ESTIMULACIÓN ............................. 32
7.2.4 ESTRUCTURA DEL NODO .............................................................................. 35
7.2.4.1 ESTRUCTURA DEL NODO PROPUESTA EN (2) ........................................ 35
7.2.4.2 MODIFICACIÓN DE LA ESTRUCTURA DEL NODO .................................. 38
7.2.5 ESTUDIO DE ALTERNATIVAS DE LA ESTRUCTURA DEL NODO ...................... 39
7.2.5.1 ALTERNATIVAS DEL CIRCUITO DE CHUA ............................................... 39
7.2.5.2 JUSTIFICACIÓN DE LA SELECCIÓN DEL CIRCUITO DE CHUA ................. 41
7.2.5.3 ALTERNATIVAS DEL TIPO DE CONFIGURACIÓN DE SEÑAL DEL NODO .. 41
7.2.5.4 JUSTIFICACIÓN DE LA SELECCIÓN DEL TIPO DE CONFIGURACIÓN ........ 44
7.2.5.5 ALTERNATIVAS EN LA TRANSMISIÓN DE SEÑALES................................ 44
7.2.6 CONCLUSIONES DE LA ESTRUCTURA DEL NODO .......................................... 53
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
5
7.2.6.1 SIMULACIONES DE VALIDACIÓN DE LA ESTRUCTURA DEL NODO ........ 59
7.2.7 ALTERNATIVAS DE CONSTRUCCIÓN DE LOS NODOS .................................... 61
7.2.7.1 CONSTRUCCIÓN MEDIANTE DISPOSITIVOS PROGRAMABLES .............. 61
7.2.7.2 JUSTIFICACIÓN DE LOS DISPOSITIVOS PROGRAMABLES ...................... 63
7.2.7.3 ALTERNATIVAS DE LOS COMPONENTES DISCRETOS............................. 63
7.2.7.4 JUSTIFICACIÓN DE LOS COMPONENTES DISCRETOS ............................. 63
7.2.7.5 ALTERNATIVAS DE LA TIPOLOGÍA DE LAS PLACAS ................................ 64
7.2.7.6 JUSTIFICACIÓN DE LA TIPOLOGÍA DE LAS PLACAS ................................ 64
7.2.7.7 ALTERNATIVAS DE INTERCONEXIÓN ENTRE NODOS ............................ 64
7.2.7.8 JUSTIFICACIÓN DE LA TIPOLOGÍA DE LAS PLACAS ................................ 66
7.3 CAPITULO 3: VALIDACIÓN DEL DISEÑO DE LOS NODOS DE PRUEBAS .............. 66
7.3.1 INTRODUCCIÓN ............................................................................................ 66
7.3.2.1 ANÁLISIS DE LA PROBLEMÁTICA DE LA TENSIÓN CONTINUA ............... 71
7.3.3 CONCLUSIONES DEL ESTUDIO DE UN NODO AISLADO ................................ 72
7.3.4 MODIFICACIÓN DEL MODELO DE SIMULACIÓN DEL NODO ......................... 73
7.3.4.1 Análisis del circuito de test del TL082 ................................................... 74
7.3.4.2 ANÁLISIS DEL CIRCUITO DE TEST DEL DIODO ZENER 1SMA5918BT3G . 77
7.3.4.3 VALIDACIÓN DEL MODELO DE SIMULACIÓN DEL NODO ...................... 79
7.3.5 ANÁLISIS DE LA TENSIÓN CONTINUA ........................................................... 81
7.3.5.1 ANÁLISIS DE LA ETAPA DEL SUMADOR INVERSOR ................................ 81
7.3.6 CONCLUSIONES DEL ANÁLISIS DE LA TENSIÓN CONTINUA .......................... 89
7.3.7 MODIFICACIONES DE LA ESTRUCTURA DEL NODO DE PRUEBA ................... 90
7.3.7.1 ANÁLISIS DE LAS SIMULACIONES .......................................................... 91
7.3.7.2 ANÁLISIS DE LA EXPERIMENTACIÓN ..................................................... 96
7.3.7.3 COMPROBACIÓN DE LA HIPÓTESIS DE LA LIMITACIÓN DE TENSIÓN. 100
7.3.7.4 CONCLUSIONES DE LA HIPÓTESIS DE LA LIMITACIÓN DE TENSIÓN .... 101
7.3.8 SOLUCIÓN DE LA LIMITACIÓN DE LA TENSIÓN CONTINUA ........................ 101
7.3.8.1 COMPROBACIÓN DE LA SOLUCIÓN DE LA LIMITACIÓN DE TENSIÓN . 103
7.3.9 MODIFICACIÓN DE LA ALIMENTACIÓN DEL GENERADOR .......................... 105
7.3.10 ANÁLISIS DE VALIDACIÓN DE LA ESTRUCTURA DE LOS NODOS ................. 110
7.3.10.1 ANÁLISIS DEL NODO RECEPTOR ...................................................... 111
7.3.10.2 ANÁLISIS DE LA CADENA CON TRANSMISIÓN DE UN ESTÍMULO .... 113
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
6
7.3.10.4 ANÁLISIS DEL FEEDFORWARD DE CONECTIVIDAD MÁXIMA .......... 119
7.3.10.5 ANÁLISIS DEL FEEDBACK CON TRANSMISIÓN DE UN ESTÍMULO .... 122
7.3.10.6 ANÁLISIS DEL FEEDBACK DE CONECTIVIDAD MÁXIMA ................... 134
7.3.11 REANÁLISIS DE LAS ESTRUCTURAS DE VALIDACIÓN .................................. 137
7.3.11.1 REANÁLISIS DE LA CADENA DE CONECTIVIDAD MÁXIMA. .............. 137
7.3.12 CONCLUSIONES DE LA VALIDACIÓN DEL DISEÑO DE LOS NODOS ............. 139
8 EXPERIMENTACIÓN ................................................................................................. 140
8.1 INTRODUCCIÓN ............................................................................................... 140
8.2 CARACTERIZACIÓN .......................................................................................... 140
8.4 EXPERIMENTO DEL DESFASE CON FRECUENCIAS NO ARMÓNICAS ................ 147
8.5 EFECTO DE LA AMPLITUD A DESVIACIÓN DEL RUIDO CONSTANTE ................ 149
8.6 EFECTO DE LA DESVIACIÓN DEL RUIDO A AMPLITUD CONSTANTE ................ 151
8.6.1 CONCLUSIONES .......................................................................................... 152
8.7 EXPERIMENTOS DE RESONANCIA SUBARMÓNICA ......................................... 152
8.7.1 INYECCIÓN DE LAS SEÑALES S1 Y S2 POR EL MISMO PUNTO DE LA RED .... 152
8.7.2 INYECCIÓN DE LAS SEÑALES S1 Y S2 POR DIFERENTES PUNTOS DE LA RED 156
9 CONCLUSIONES ....................................................................................................... 159
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
7
1 INTRODUCCIÓN La comprensión de la estructura cerebral y las funciones de la estructura cerebral y sus capacidades de computación constituyentes es uno de los grandes retos de la neurociencia, por ello se realizan muchos estudios sobre las señales cerebrales, su sincronismo, su interferencia etc. Este campo tiene un interés claro ya que puede permitir realizar la detección de enfermedades como la epilepsia de forma automática mediante la comparación de patrones, así como de otras enfermedades e incluso la detección precoz de los síntomas de enfermedades degenerativas, favoreciendo de este modo su tratamiento. Otro de los componentes de este estudio es el elemento no lineal el cual ha sido analizado ampliamente para la transmisión de señales por sus características de encriptación ofreciendo mayores velocidades de transmisión en ambientes ruidosos, además que permiten el estudio de diferentes fenómenos biológicos y sociales.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
8
2 OBJETO El objeto de este estudio es el análisis del efecto de la resonancia estocástica fantasma sobre una red neuronal analógica cuyos nodos están formados por circuitos electrónicos no lineales.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
9
3 ALCANCE Las tareas necesarias para conseguir el objetivo anterior se basan inicialmente en el análisis de la documentación sobre redes complejas, así como sobre el circuito no lineal que forma parte de los nodos. Posteriormente se procede al diseño y la fabricación de las siguientes partes del estudio:
• Diseño de la red compleja. • Diseño de la interconexión entre los nodos de la red compleja. • Diseño y simulación de la estructura del nodo. • Fabricación de los nodos de pruebas. • Diseño y fabricación de la red de pruebas. • Validación del comportamiento de los nodos de pruebas. • Rediseño de los nodos definitivos. • Fabricación de los nodos definitivos. • Diseño y fabricación de la red definitiva. • Experimentación de la red definitiva.
Los puntos anteriores han sido realizados bajo la directiva de previsión de futuras experimentaciones, y ampliaciones, por tanto se ha primado la flexibilidad desde el punto del diseño, para facilitar la variabilidad de las posibilidades del hardware realizado.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
10
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
11
5 ESPECIFICACIONES BÁSICAS Las especificaciones básicas del estudio realizado son las siguientes:
• El estudio implica una adaptación de las estructuras de red compleja para la transmisión de información, ya que estas normalmente indican conexión entre puntos, pero no indican el sentido de las interconexiones.
• La etapa de diseño debe comprender tanto las partes del nodo, como la red, así como el medio de transmisión. Su funcionalidad debe contemplar futuras modificaciones, por lo que se desea la máxima flexibilidad posible, así como un detalle minucioso de todos los diseños para facilitar la expansión del tipo modular del hardware, pudiendo interconectar diferentes módulos y realizar estudios de mayor envergadura.
• Se destinarán fondos por parte del Departamento de Física Nuclear de la UPC
para la compra de componentes, que forman parte del hardware asociado al estudio, así como para la fabricación de las diferentes partes del proyecto.
• Las tareas de fabricación se llevarán a cabo por el departamento de electrónica de la EUETIT, así como, por empresas externas, de igual modo que la inserción de los componentes se realizará por una empresa externa.
• Las experimentaciones se llevarán a cabo en el laboratorio de Dinámica de Láseres del edificio Gaia, que forma parte del grupo de investigación DONLL del Departamento de Física Nuclear de la UPC, así como el material informático e instrumental adecuado para el análisis de las experimentaciones.
• El hardware entregado debe ser capaz al menos de realizar el estudio de
resonancia fantasma y además el estudio (1) realizado de forma paralela a éste.
• Este estudio no contempla el impacto ambiental generado por la fabricación del hardware asociado, ni el protocolo de reciclaje del mismo.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
12
6 ANTECEDENTES Y PUNTO DE PARTIDA El estudio parte del proyecto (2) sobre la caracterización del Circuito de Chua, y las posibilidades que este ofrece para la transmisión de datos, en ese caso se analizaba el comportamiento únicamente del Circuito de Chua, así como la transmisión sobre una red fija del tipo cadena, sin embargo no se intentaba emular el comportamiento neuronal descrito en la sección 7.2 de esta memoria. En el apartado del diseño y análisis de la experimentación de la resonancia fantasma se ha utilizado como referencia un estudio previo (3), que se realizó en colaboración con el mismo grupo de investigación del Departamento de Física e Ingeniería Nuclear de la UPC y sirvió para la realización de diferentes estudios (por ejemplo, el publicado en la referencia (4)), así como múltiple información sobre experimentación en el campo de la resonancia fantasma asociada al procesado de señales del sistema auditivo (5), y de la resonancia realizada con láseres y cristales no lineales (6).
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
13
7.1 CAPITULO 1: CARACTERIZACIÓN DE LA RED BAJO ESTUDIO
7.1.1 INTRODUCCIÓN La red bajo estudio debe cumplir con las especificaciones de una red compleja, tal que asemeje una conectividad que describa la conexión existente en el tejido neuronal. Por ello se ha realizado una documentación sobre las redes complejas a través de publicaciones como (7) y (8). Tras analizar dicha información se ha concluido lo siguiente: Una parte de la documentación analizada sobre la conectividad cerebral se basa en estudios realizados sobre pacientes, dichos estudios miden la interacción que existe entre las diferentes partes del cerebro. La escala de análisis en los artículos es el voxel (VOlumetrix piXEL o pixel volumétrico de medidas aproximadas 3x3.475x3.475 mm3, en el que se tamiza el cerebro en estudios de resonancia magnética), sin embargo esto no representa un impedimento ya que la distribución de conexiones dentro de un voxel se rige por el mismo tipo de red, además todos los estudios analizados coinciden en que las redes del tipo Scale Free son la mejor descripción de las interconexiones cerebrales, es por ello que se ha seleccionado este tipo de red, las cuales son utilizadas frecuentemente para definir esta clase de redes.
7.1.1.1 DESCRIPCIÓN DEL TIPO DE RED SCALE FREE Las redes Scale Free o de escala libre son un tipo de redes complejas que se caracterizan por la distribución de la conectividad de la red mediante la aplicación de una ley de
potencias tal que .
La característica que diferencia los n subtipos de nodos es la conectividad de los mismos, es decir, el número de conexiones que tienen, por ello para que un nodo sea considerado de un tipo, este debe cumplir que su conectividad supera un cierto umbral, para facilitar el estudio de la red se ha simplificado la tipología de nodos a dos, que son los nodos con elevada conectividad o hubs y aquellos nodos que tienen una baja conectividad o no hubs, estas redes también cumplen que la mayoría de los nodos que las forman son de baja conectividad, un claro ejemplo de este tipo de redes es internet, en esta red se encuentran nodos, webs en este caso, con baja conectividad (no hubs), sin embargo existen webs tipo buscador con elevada conectividad (hub). Los análisis estudiados anteriormente cuantifican el valor de γ de las redes biológicas entre 2 y 3, y más concretamente el estudio (8) sobre las interconexiones cerebrales analizadas sobre pacientes han dado como resultado valores de γ = 2, por ello en este estudio se ha considerado que la red debe cumplir una ley de escala tal que γ = 2.
ESTUDIO D
El eje X in número de pendiente La conectiv
En este eje Scale Free, de confianz característi conectivida deformada El análisis t no existe necesaria interconex La red ante Neil George
DEL PROCESAD
dica el grad e nodos qu de la recta d
vidad de la r
Tabla
emplo se ob dichas rede za cuanto m ica antes c ad frente a a por el efect
típico de las direccionalid para la ex ión entre los
erior se ha ob e, que se exp
O DE SEÑALES
stra una ley
Figura 1: Ley
red de ejemp
1: Grado de c Nº de
bserva el pri es al basarse enor es el nú comentada a la escasez to de una red
redes Scale dad en la i perimentació s nodos, sino
btenido a tra plica a contin
COMPLEJAS EN
k)) o la cone en la red co que aparece
plo es la sigu
conectividad d e nodos C 12 7 3 1 3 4
mer problem en una ley d úmero de no sobre la ap z de nodos d demasiado
Free es sobr nterconexió ón de nues o que ademá
avés de un p nuación.
N REDES DE CIRC
ectividad, m on dicha co e en la Figura
iente:
1 2 3 4 5 6
ma para la d de escala tie odos de la re parición de de elevad
o pequeña.
e interaccion n entre dos stro proyec s debe most
rograma en
CUITOS ELECTR
definición de nden a aum ed, llegando a numerosos
a conectivid
nes entre no s nodos, no to debe in trar el sentid
matlab reali
1.
e una red de entar su inte al punto de q s nodos de dad puede
odos, es deci o obstante l dicar no só do de la mism
izado por Ma
r, que a red ólo la ma.
athew
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
15
7.1.1.2 DESCRIPCIÓN DEL PROGRAMA GENERADOR DE REDES SCALE FREE El programa implementado por Mathew Neil George. El programa consta de cuatro funciones programadas para matlab:
1. Función SFGN.m 2. Función PLplot.m 3. Función CNET.m 4. Función Pubfile.m
Estas funciones se han obtenido de la página de mathworks indicada en matlab central 1 , a continuación se detalla la función de cada rutina.
7.1.1.2.1 Función SFGN.m Código de la función SFGN.m:
function SFNet = SFNG(Nodes, mlinks, seed) seed = full(seed); pos = length(seed); rand('state',sum(100*clock)); Net = zeros(Nodes, Nodes, 'single'); Net(1:pos,1:pos) = seed; sumlinks = sum(sum(Net)); while pos < Nodes pos = pos + 1; linkage = 0; while linkage ~= mlinks rnode = ceil(rand * pos); deg = sum(Net(:,rnode)) * 2; rlink = rand * 1; if rlink < deg / sumlinks && Net(pos,rnode) ~= 1 && Net(rnode,pos) ~= 1 Net(pos,rnode) = 1; Net(rnode,pos) = 1; linkage = linkage + 1; sumlinks = sumlinks + 2; end end end clear Nodes deg linkage pos rlink rnode sumlinks mlinks SFNet = Net;
Esta función genera la red mediante el algoritmo de BarabásiAlbert (BA Algorithm). Este algoritmo produce una red del tipo Scale Free a través de una red inicial, a la cual se
1Dirección: http://www.mathworks.com/matlabcentral/fileexchange/authors/24838.
ESTUDIO D
Los argume Nodes: can mLinks: nú concepto d una depen
Seed: es la algoritmo B
La matriz d como mue
•
•
entos de la f
úmero de c de la cantida de de la otra
matriz de ad BA.
de adyacenci stra el siguie
M
ra que el val
o la matriz de a 2 y el nodo nes del nodo ta interconec as siguientes
Si las co (bidireccion La diagona (llamadas a
e denomina es decir, un ente y que e ón se ha dese
O DE SEÑALES
unción SFGN
dyacencia qu
Matriz de adya
or de 1 es la
e forma que o 3 es la fila o 1 con el no ctado con el s propiedade
onexiones d nales) la mat
al estará com autapsis en e
n así a las co na auto reali el estudio co estimado.
Figur
N.m son los s
ue represent
odo 2 y el no nodo 1 y el
es:
onexiones en mentación, omprende un
ra 3: Ejemplo
.
de conexión y
s la fila y la co a 3, se pued odo 3, de igu nodo 3 etc.
riz de ady étrica.
ntre el axón debido a qu n número de
de Autápsis.
o en la red, ectividad má
milla o inicial,
y 0 la ausenc
olumna 1, el de observar q al forma la f Extrapoland
yacencia so
de una neur ue este tipo e nodos tan r
RÓNICOS NO LIN
, no confun áxima, puest
cia de la mism
nodo 2 es la que la fila 1 fila 2 indica q do este anál
on no dir
NEALES
igidas
ciones
ropias nes es e tipo
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
17
El programa genera una matriz de adyacencia de la red solución denominada Net en la función SFGN.m, dicha matriz contiene tantas filas y columnas como nodos se haya especificado en Nodes, posteriormente carga en el interior de dicha matriz la red semilla e inicia el proceso de generación de la red, la variable sumlinks contiene inicialmente los enlaces realizados por la red semilla.
El primer bucle del programa se encarga de ir actualizando el nodo que se procesa, mientras que el segundo bucle compara si dicho nodo ha realizado todas sus conexiones, en caso negativo entra en el bucle y genera un valor aleatorio en la variable rnode, esta variable es el nodo aleatorio preseleccionado de entre los nodos existentes en ese instante en la red, en la variable deg se almacena la conectividad del nodo rnode, la condición if se encarga de realizar la Scale Free. El valor de la variable rlink es un número aleatorio comprendido entre 0 y 1, dicho valor se compara con la conectividad del rnode de forma que si este tiene conectividad mayor a cero permitirá la conexión, las otras restricciones del if simplemente aseguran que no existiera una conexión previa entre el nodo de estudio y el nodo rnode, si se cumplen las condiciones anteriores el programa actualiza la matriz de adyacencia de la red con la interconexión entre el nodo n y el nodo rnode, de forma que coloca un 1 en las posiciones de la matriz (rnode,n) y (n,rnode), finalmente se actualiza el número de enlaces realizados, volviéndose a repetir dicho proceso hasta que los enlaces realizados para el nodo n sean igual al número configurado de enlaces para cada nodo mlinks, esto se repetiría a su vez por cada nodo de la red.
Nótese que esta algoritmia basada en aleatoriedad de conexiones produce que esta función obtenga diferentes resultados cada vez que sea ejecutada, aún en el caso de que no se modifique ningún parámetro. Este método de generación de redes por el algoritmo BA, para una configuración de la variable mlinks igual a 1 (que indica que cada nodo podrá realizar una única conexión), provoca que las redes sean jerárquicas, lo que se traduce en la ausencia de feedbacks en la red. El hecho de que las redes sean jerárquicas está de acuerdo con referencias como la (9), donde se ha documentado la existencia de zonas corticales del cerebro del macaco que contienen este tipo de estructuras.
7.1.1.2.2 Función PLplot.m Código de la función PLplot.m:
function equation = PLplot(Net) % PowerLaw Degree Distribution Graphing % Finds out how many connections each node has connections = single(sum(Net)sum(Net’)); % Initialize variable that will hold how many nodes have each degree frequency = single(zeros(1,length(Net))); % Initialize variable that will hold the graphing quanitites
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
18
plotvariables = zeros(2,length(Net)); P = []; for T = 1:length(Net) % Variable will be used as a list of possible degrees a node can have P(1,T) = T; if connections(1,T) ~= 0 frequency(1,connections(1,T)) = frequency(1,connections(1,T)) + 1; end end for c = 1:length(frequency) % Disregard degrees with no frequency if frequency(1,c) ~= 0 [X,Y] = find(plotvariables == 0); plotvariables(1,min(Y)) = P(1,c); plotvariables(2,min(Y)) = frequency(1,c); end end % Find the last nonzero element in plotvariables for d = 1:length(plotvariables) if plotvariables(1,d) == 0 & plotvariables(2,d) == 0 break end end x = plotvariables(1,1:d1); y = plotvariables(2,1:d1); [g,f,b] = fit(x',y','power1'); H = loglog(x,y,'r+'); hold on; plot(g); xlim([.9 (max(sum(Net)) + 10)]); ylim([.9 length(Net)]); legend off; H = xlabel('Degrees'); H = ylabel('Frequency'); equation = g;
El parámetro para ejecutar esta función es la matriz de adyacencia que está definida mediante la función SNFG.m. Esta función calcula la ley de escala que rige la red, que está definida por la siguiente función del subtipo ‘Power1’:
General model Power1: equation(x) = a*x^b Coefficients (with 95% confidence bounds): a = 34.96 (31.62, 38.3) b = 2.321 (2.873, 1.768)
Se permite el acceso a los parámetros de dicha ley de escala a través del nombre de la variable que contenga el PLplot seguido de .a ó .b según el parámetro que se desea
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
19
acceder, además se encarga de realizar el dibujo de la ley de escala como el que se muestra en la Figura 1.
7.1.1.2.3 Función CNET.m Código de la función CNET.m:
function CNet(Net) format compact format long e theta = linspace(0,2*pi,length(Net)+1); xy = zeros(length(Net)+1,2); x = cos(theta); y = sin(theta); xy(1:length(Net)+1,1) = x(1:length(Net)+1); xy(1:length(Net)+1,2) = y(1:length(Net)+1); figure, gplot(Net,xy,'.'); set(gcf, 'Color', [1 1 1]); axis('equal'); xlim([1.1 1.1]); ylim([1.1 1.1]); axis off;
La función CNet utiliza como parámetro también la matriz de adyacencia obtenida mediante la función SFGN.m La función CNet es la encargada de generar la representación circular de las diferentes conexiones de la red. Dicha representación se realiza a través de la función de matlab gplot y cumple que en una red con n nodos se estipula que en la posición A' se encuentra el nodo 1, en la posición B' el nodo , en la
posición C' el nodo , en la posición D' el nodo , es decir, se rellena el grafico
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
20
7.1.1.2.4 Función Pubfile.m La función Pubfile es un ejemplo realizado por Mathew Neil George ampliamente comentado, que ilustra la utilización de las funciones explicadas anteriormente, concretamente se realiza una red de 300 nodos, con una única conexión de cada nodo que entra en la red y una red inicial de 5 nodos interconectados de la siguiente forma:
Código de la red de ejemplo:
seed =[0 1 0 0 1;1 0 0 1 0;0 0 0 1 0;0 1 1 0 0;1 0 0 0 0] Net = SFNG(300, 1, seed); PL_Equation = PLplot(Net) CNet(Net)
Red de ejemplo:
0 1 0 0 1 1 0 0 1 0 0 0 0 1 0
=
Nodo 3
Nodo 1 Nodo 2
Nodo 5 Nodo 4
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
21
Figura 6: Detalle de los resultados del programa para la generación de redes tipo Scale Free.
Sin embargo, puesto que las especificaciones del proyecto difieren de las ofrecidas por dicho software, se han realizado modificaciones.
7.1.2 ESPECIFICACIONES DE LA RED A continuación se detallan las especificaciones referentes a la direccionalidad de la red, que obliga a la realización de las siguientes modificaciones.
7.1.2.1 MODIFICACIONES DE LA FUNCIÓN SFGN.M
Código de la función SFGN.m: ... sumlinks = sum(sum(Net)); dir_deg=zeros(Nodes); % Variable del Grado de direccionalidad del nodo. %Bucle que genera los Grados de direccionalidad de la Red: for i=1:Nodes dir_deg(i) = rand; %Valor aleatorio que configura el sentido end %convenio: del menor 'dir_deg' se conecta al mayor 'dir_deg'.
Parámetros de salida (resultados)
Parámetros de entrada
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
22
while pos < Nodes pos = pos + 1; linkage = 0; while linkage ~= mlinks rnode = ceil(rand * pos); deg = sum(Net(:,rnode)) * 2; rlink = rand * 1; if rlink < deg / sumlinks && Net(pos,rnode) ~= 1 && Net(rnode,pos) ~= 1
…
Para forzar que los enlaces sean direccionales se ha incorporado la variable dir_deg, que indica el grado de direccionalidad del nodo, este grado es un valor aleatorio que pertenece a cada link. Los valores de dir_deg marcan una preferencia de conectividad, de modo que los nodos tengan una tendencia natural a ejercer de receptores o emisores. Para implementar la direccionalidad de los mismos se ha considerado el siguiente convenio:
• Si el nodo pos tiene menor grado de direccionalidad que el nodo rnode el enlace
se realiza desde la salida del nodo pos a la entrada del nodo rnode, en caso contrario se invierte la dirección, este hecho provoca la asimetría respecto la diagonal principal de la matriz de adyacencia.
La interpretación de la matriz de adyacencia queda por tanto modificada, ya que ahora es una matriz de adyacencia con direccionalidad. De este modo se ha escogido el convenio siguiente:
• Las filas de la matriz hacen referencia a la salida de cada nodo, mientras que las
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
23
=
Figura 7: Representación de la Red de Ejemplo con Direccionalidad.
Véase que si la interpretación se invierte se obtiene una red complementaria, es decir, las salidas se intercambian con las entradas y viceversa. Para realizar la tarea de la representación se ha modificado la siguiente función:
7.1.2.2 MODIFICACIONES DE LA FUNCIÓN CNET.M
Código de la función CNet.m: axis off; hold on; %Texto Identificador del Nodo: for h=1:length(Net) str = int2str(h); text(1.07*xy(h,1),1.07*xy(h,2),[str]); end %Direccionalidad de la red:
for i=1:length(Net)%fila (Salidas) for j=1:length(Net) %columna (Entradas) if Net(i,j)==1 && i==j
disp('Error!! En esta red hay autapsis'); else if Net(i,j)==1%Entrada j unida a Salida i:dirección i>>j
xdir=linspace(xy(i,1),xy(j,1),3); ydir=linspace(xy(i,2),xy(j,2),3);
if i<j plot(xdir,ydir,'r','MarkerSize',5);
Nodo 3 Nodo 1
Nodo 4
Nodo 2
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
24
Las modificaciones en esta función cumplen dos objetivos. El primero es la identificación de cada nodo de forma sencilla, la primera parte del código se encarga de colocar un texto sobre cada nodo con su número de nodo correspondiente en la red. El segundo bloque de código introduce la direccionalidad: el bucle for recorre todas las filas de la matriz de adyacencia de la red, mientras que el bucle anidado a éste se encarga de recorrer las columnas. En cada columna analiza si existe conexión o no, es decir, si hay un ‘1’ en dicha posición de la matriz de adyacencia, posteriormente se comprueba si la conexión encontrada es una autapsis. En el caso que no sea una autapsis, se dibuja el enlace siguiendo el análisis de los índices i y j de los nodos interconectados, si la salida del nodo i está conectada a la entrada del nodo j , es decir, la conexión va de i j, entonces i<j y por tanto el enlace será rojo, mientras que si la salida del nodo j está conectada a la entrada del nodo i, la conexión va de j i, entonces i>j y por tanto el enlace será azul.
Ejemplo de la representación de la función CNet.m modificada.
=
N1 N2 N2 N4 N3 N2
Analizando la red vemos que entre el nodo 1 y el nodo 2 hay una conexión, para saber el sentido, debemos analizar el color del enlace, el color rojo significa que la dirección de la conexión va del nodo menor al mayor, en este caso del nodo1 al nodo 2 ( i<j ), si por el contrario es azul significa que el sentido del enlace va del nodo mayor al menor ( i>j ), como en el caso de la conexión entre el nodo 2 y el nodo 3, el sentido de la cual va del nodo 3 al nodo 2. El método utilizado para la representación de redes no permitiría apreciar este tipo de conexiones, por ello se recomiendan otros software de representación como Pajek2 o Grafos3.
2Pajek: programa gratuito en la web: http://vlado.fmf.unilj.si/pub/networks/pajek/ , para utilizarlo más cómodamente se recomienda utilizar la función writetoPAJ.m para transformar la matriz de adyacencia explicada en el proyecto al formato entendido por dicho programa, esta función se puede obtener del siguiente enlace: http://sites.google.com/a/brainconnectivity toolbox.net/bct/Home/functions 3 Grafos: programa de representación y cálculos de optimización de Alejandro Rodríguez Villalobos, descargable desde http://personales.upv.es/arodrigu/Grafos/
Figura 8: Representación mediante CNet de la red ejemplo con dirección.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
25
7.1.2.3 IMPLEMENTACIÓN DE LA FUNCIÓN GENERADOR DE REDES.M
Se ha implementado una función encargada de generar matrices de adyacencia de redes que cumplan las especificaciones deseadas, a través del siguiente programa:
Código de la función Generador_de_redes.m:
clc %INTRODUCCIÓN DE PARÁMETROS: n = input ('Defina el Número de Nodos (n): '); %Número de nodos de la red. r = input ('Defina la Matriz de Adyacencia (seed): '); %Conectividad máxima de Entrada. mLinks = input('Defina las Conexiones a Realizar en cada Nodo (mLinks): '); Kmax_in = input('Defina la Conectividad Máxima de Entrada (Kmax_in): '); Kmax_out = input('Defina la Conectividad Máxima de Salida (Kmax_out): '); bmax = input('Defina el límite Superior del parámetro b de la ley P(k)=a*X^b: '); bmin = input('Defina el límite Inferior del parámetro b de la ley P(k)=a*X^b: '); while bmin>bmax display('Error: el Límite Inferior de b es mayor al Límite Superior') bmax = input('Redefina el límite Superior del parámetro b de la ley P(k)=a*X^b: '); bmin = input('Redefina el límite Inferior del parámetro b de la ley P(k)=a*X^b: '); end Z = 2; %Flag de fin de programa. col = ones(n,1); %Columna de N '1's para realizar una vector con el sumatorio de cada Fila de la matriz de conectividad (NxN). fila = ones(1,n);%Fila de N '1's para realizar una vector con el sumatorio de cada Columna de la matriz de conectividad (NxN). while Z == 2 Red = SFNG(n, mLinks, r); % Matriz de Adyacencia. Kcol = Red*col; %Vector de conectividades de las Salidas de la matriz Red. Kfil = fila*Red; %Vector de conectividades de las Entradas de la matriz Red. Kmaxc = max(Kcol); %Valor máximo de la conectividad de Salida de la Red. Kmaxf = max(Kfil); %Valor máximo de la conectividad de Entrada de la Red. if Kmaxf <= Kmax_in && Kmaxc <= Kmax_out
Equation = PLplot(Red); % Ecuación que contiene la Ley de escala de la Conectividad de los Nodos.
if Equation.b <= bmax && Equation.b >= bmin
Z=1; %Fin del programa, se ha obtenido una red con las especificaciones deseadas.
end end end K = Kcol+Kfil'; %Vector de conectividades de entrada y salida. close figure 1;
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
26
%RESULTADOS: display('Conectividad Máxima de Salida'); Kmaxc %Conectividad máxima de Salida. display('Conectividad Máxima de Entrada'); Kmaxf %Conectividad máxima de Entrada. figure(1); PLplot(Red); %Características de la red. figure(2); CNet(Red); %Representación circular de la red.
La red debe cumplir una ley de escala concreta, es por ello que se ha implementado un bucle que genera redes mediante la función SFNG.m hasta encontrar una matriz de adyacencia que describa una red válida según las especificaciones que se exponen a continuación:
Otro parámetro a tener en cuenta es la conectividad, es por ello que se han generado los vectores Kcol, Kfil. Estos vectores son una columna y una fila de ‘1’ respectivamente de longitud igual al número de nodos de la red, posteriormente se multiplican por la matriz de adyacencia obtenida, almacenando en Kcol las conectividades de salida de cada nodo y en Kfil las conectividades de salida de cada nodo, según el criterio anterior de fila = salida y columna = entrada, se compara el máximo de ambas conectividades con la conectividad máxima respectiva. Posteriormente si la red cumple las restricciones de conectividad, se realiza la función PLplot.m de la que obtendremos las variables que
rigen la ley de potencias deseada, recordamos que el parámetro γ de , se
busca en torno al 2, para ello se introducen los límites del valor de γ en las variables bmax y bmin respectivamente.
La propia aleatoriedad que ofrece la función SFNG.m provoca que aparezcan diferentes soluciones. Sin embargo se pueden añadir restricciones como la siguiente para obtener soluciones diferentes en cada iteración.
• Se debe guardar la solución anterior, en nuestro caso guardamos el
parámetro b de la ecuación de potencias. ... Solucion_1 = Red; B_anterior = Equation.b; ...
• Se debe añadir al if la restricción siguiente:
if Equation.b <= bmax && Equation.b >= bmin && B_anterior ~= Equation.b ...
7.1.3 JUSTIFICACIÓN DE LAS ESPECIFICACIONES DE LA RED Tras analizar los parámetros característicos de las redes Scale Free se procede a concretar las diferentes características de la red. Debido a que el estudio pretende considerar una red cerebral es necesario un elevado número de nodos, sin embargo su posterior fabricación hace inviable trabajar con cantidades cercanas a la realidad, por tanto se ha llegado a un compromiso entre la obtención de una cantidad de nodos asequible para su fabricación y suficientes como
ESTUDIO D
para que p aceptable. el número una cantida La conectiv realizarse f mucho el cumplan d cuya proba de los nod conectarse probabilida incorporars máxima es poder obte máxima de mayor mar programa s
permitan la Finalmente de nodos a ad excesiva p
vidad máxim físicamente número de icho requisit abilidad de c dos de la red e a un Hub ades de tra se a la red s que se deb ener alguna ebe ser supe rgen haya, m se ha selecci
LECCIÓN DE
escala que rig
del Power1: n(x) = a*x^b nts (with 95% 22.05 (20.63, 1.997 (2.277,
O DE SEÑALES
generación tras diversas realizar a 50 para el coste
ma es otro d debe tener interconexi to, ya que e conectarse a d, teniendo b, es por ansformarse tienen muy
be limitar la solución, ya
erior a la ca más redes sol onado una c
E LA RED
ge la curva d
% confidence b 23.47) , 1.716)
MEMOR
27
de una red s comprobac 0, ya que pe e de fabricac
de los facto un número ones produ el programa a otros nodo el nodo que este hecho en un Hu
y pocas. El cantidad de a que se de ntidad de co uciones exis conectividad
a menor des cuya conect
e regresión
compleja cu ciones con el rmite un int ión.
res más rest bastante lim ce que la m basado en e os aumenta e e acaba de e o que los ub mientras problema q e conexiones ebe tener en onexiones q tirán, finalm máxima
sviación del tividad máxim
uyo margen l generador d tervalo sufici
trictivos en mitado, por mayor parte el algoritmo en función d entrar mayo nodos inici que los ú ue introduc s que realiza n cuenta qu ue realiza ca
mente tras ex .
te:
ionada.
de confianz de redes se a iente y no su
la red, ya q otra parte l de las red AB añade n de la conect or probabilid ales tienen ltimos nodo e la conect a cada nodo ue la conect ada nodo, c xperimentar
confianza y entrada com
za sea ajusto upone
que al imitar es no nodos ividad ad de más os en ividad o para ividad uanto con el
y que mo de
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
28
A continuación se muestra una clasificación de los nodos de la red según su grado de conectividad:
Tabla 2: Clasificación de la Conectividad de los Nodos de la Red. ENTRADAS SALIDAS
Conectividad Nº de nodos
Nodo de la red
Conectividad Nº de nodos
Nodo de la red
6 0 6 1 2 5 1 10 5 1 5 4 1 5 4 1 17 3 2 4,8 3 2 3,6 2 6 2,6,13,23,28,36 2 3 4,8,31 1 22 3,7,14,15,17,19,20,22,
27,29,31,34,35,37,38, 39,40,42,45,46,47,48
1 22 1,7,9,11,12,15,16,18, 21,24,25,26,29,30,32, 33,40,41,43,44,49,50
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
29
E
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
……………………………………………………………………………….…………….
……………………………………………………………………………………………..
Contingut d’aquest volum: MEMORIA
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
2
RESUMEN En este proyecto se describe el diseño, implementación y estudio de la propagación de información en una red compleja de circuitos electrónicos no lineales. Este estudio pone de manifiesto la existencia del fenómeno de la resonancia sub armónica o fantasma, mediante la transmisión de señales a diferentes frecuencias que al viajar por una red tipo Scale Free acaban convergiendo y gracias al procesado no lineal provoca la aparición de esta frecuencia que no se introduce de forma directa en la entrada, este fenómeno se denomina resonancia sub armónica o fantasma. ABSTRACT This report explains the design, realization and experimentation of a complex network of nonlineal electronic, built to study the processing of complex signals in a flexible structure. In particular, we have studied the generation of Ghost Resonance by the stimulation of two different signals in a Scale Free Network with a power law to simulate a neural network.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
3
AGRADECIMIENTOS
Debo agradecer la ayuda y el apoyo prestado por Rosendo Garganta en los múltiples cuellos de botella en los que nos hemos encontrado para la realización de este estudio, y por su casi infinita paciencia.
Agradezco la influencia de la de ojos verdes, quien inicialmente me inflamo la fuerza de voluntad para dedicarme en cuerpo y alma a esta tarea y por la cual posteriormente disminuyo esa fuerza hasta la indiferencia.
Este proyecto no sería posible sin el trabajo y la colaboración del Departamento de Electrónica de la UPC, en especial a Daniel Pérez sin el cual no se hubiera alcanzado el nivel de diseño necesario y a Toni Salvador quien realizó la fabricación no sólo de las placas de soporte sino el maratoniano y artesanal trabajo de la realización de los cables.
Agradezco la ayuda incondicional que nos ha ofrecido siempre Jordi Tiana en el laboratorio, así como la comprensión que ha mostrado en la compleja tarea de compartir el material del laboratorio.
Muchas gracias a Albert Masip por el tiempo invertido fuera de horas, clases y de toda obligación para acercarnos un poco más a los secretos y particularidades de la Identificación de sistemas complejos, un campo apasionante que sin duda vemos que pronto gracias a las publicaciones de Albert será más asequible para todos.
Gracias a Motserrat Gea por facilitar la gestión de los pagos y las facturas con los diferentes proveedores del material para este estudio.
Gracias al departamento de MCIA en especial a Luis Miguel Navarro, Migue Delgado y Oscar Poncelas por facilitarnos el material específico de electrónica del cual carecía el laboratorio de láseres, así como información sobre diferentes contactos de fabricación de PCBs muy útiles para el estudio realizado.
Doy las gracias en especial a Josep Balcells ya que siempre que dispuso del tiempo necesario resolvió diferentes dudas del diseño y facilito múltiples caminos a los diferentes problemas que aparecían.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
4
7 MEMORIA .................................................................................................................. 13
7.1 CAPITULO 1: CARACTERIZACIÓN DE LA RED BAJO ESTUDIO ............................ 13
7.1.1 INTRODUCCIÓN ............................................................................................ 13
7.1.1.2 DESCRIPCIÓN DEL PROGRAMA GENERADOR DE REDES SCALE FREE ... 15
7.1.2 ESPECIFICACIONES DE LA RED ...................................................................... 21
7.1.2.1 MODIFICACIONES DE LA FUNCIÓN SFGN.M ......................................... 21
7.1.2.2 MODIFICACIONES DE LA FUNCIÓN CNET.M ......................................... 23
7.1.2.3 IMPLEMENTACIÓN DE LA FUNCIÓN GENERADOR DE REDES.M ........... 25
7.1.3 JUSTIFICACIÓN DE LAS ESPECIFICACIONES DE LA RED ................................. 26
7.1.4 SELECCIÓN DE LA RED .................................................................................. 27
7.2 CAPITULO 2: CARACTERIZACIÓN DE LOS NODOS DE LA RED ............................ 31
7.2.1 INTRODUCCIÓN ............................................................................................ 31
7.2.3 ESPECIFICACIONES DE LAS SEÑALES DE ESTIMULACIÓN ............................. 32
7.2.4 ESTRUCTURA DEL NODO .............................................................................. 35
7.2.4.1 ESTRUCTURA DEL NODO PROPUESTA EN (2) ........................................ 35
7.2.4.2 MODIFICACIÓN DE LA ESTRUCTURA DEL NODO .................................. 38
7.2.5 ESTUDIO DE ALTERNATIVAS DE LA ESTRUCTURA DEL NODO ...................... 39
7.2.5.1 ALTERNATIVAS DEL CIRCUITO DE CHUA ............................................... 39
7.2.5.2 JUSTIFICACIÓN DE LA SELECCIÓN DEL CIRCUITO DE CHUA ................. 41
7.2.5.3 ALTERNATIVAS DEL TIPO DE CONFIGURACIÓN DE SEÑAL DEL NODO .. 41
7.2.5.4 JUSTIFICACIÓN DE LA SELECCIÓN DEL TIPO DE CONFIGURACIÓN ........ 44
7.2.5.5 ALTERNATIVAS EN LA TRANSMISIÓN DE SEÑALES................................ 44
7.2.6 CONCLUSIONES DE LA ESTRUCTURA DEL NODO .......................................... 53
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
5
7.2.6.1 SIMULACIONES DE VALIDACIÓN DE LA ESTRUCTURA DEL NODO ........ 59
7.2.7 ALTERNATIVAS DE CONSTRUCCIÓN DE LOS NODOS .................................... 61
7.2.7.1 CONSTRUCCIÓN MEDIANTE DISPOSITIVOS PROGRAMABLES .............. 61
7.2.7.2 JUSTIFICACIÓN DE LOS DISPOSITIVOS PROGRAMABLES ...................... 63
7.2.7.3 ALTERNATIVAS DE LOS COMPONENTES DISCRETOS............................. 63
7.2.7.4 JUSTIFICACIÓN DE LOS COMPONENTES DISCRETOS ............................. 63
7.2.7.5 ALTERNATIVAS DE LA TIPOLOGÍA DE LAS PLACAS ................................ 64
7.2.7.6 JUSTIFICACIÓN DE LA TIPOLOGÍA DE LAS PLACAS ................................ 64
7.2.7.7 ALTERNATIVAS DE INTERCONEXIÓN ENTRE NODOS ............................ 64
7.2.7.8 JUSTIFICACIÓN DE LA TIPOLOGÍA DE LAS PLACAS ................................ 66
7.3 CAPITULO 3: VALIDACIÓN DEL DISEÑO DE LOS NODOS DE PRUEBAS .............. 66
7.3.1 INTRODUCCIÓN ............................................................................................ 66
7.3.2.1 ANÁLISIS DE LA PROBLEMÁTICA DE LA TENSIÓN CONTINUA ............... 71
7.3.3 CONCLUSIONES DEL ESTUDIO DE UN NODO AISLADO ................................ 72
7.3.4 MODIFICACIÓN DEL MODELO DE SIMULACIÓN DEL NODO ......................... 73
7.3.4.1 Análisis del circuito de test del TL082 ................................................... 74
7.3.4.2 ANÁLISIS DEL CIRCUITO DE TEST DEL DIODO ZENER 1SMA5918BT3G . 77
7.3.4.3 VALIDACIÓN DEL MODELO DE SIMULACIÓN DEL NODO ...................... 79
7.3.5 ANÁLISIS DE LA TENSIÓN CONTINUA ........................................................... 81
7.3.5.1 ANÁLISIS DE LA ETAPA DEL SUMADOR INVERSOR ................................ 81
7.3.6 CONCLUSIONES DEL ANÁLISIS DE LA TENSIÓN CONTINUA .......................... 89
7.3.7 MODIFICACIONES DE LA ESTRUCTURA DEL NODO DE PRUEBA ................... 90
7.3.7.1 ANÁLISIS DE LAS SIMULACIONES .......................................................... 91
7.3.7.2 ANÁLISIS DE LA EXPERIMENTACIÓN ..................................................... 96
7.3.7.3 COMPROBACIÓN DE LA HIPÓTESIS DE LA LIMITACIÓN DE TENSIÓN. 100
7.3.7.4 CONCLUSIONES DE LA HIPÓTESIS DE LA LIMITACIÓN DE TENSIÓN .... 101
7.3.8 SOLUCIÓN DE LA LIMITACIÓN DE LA TENSIÓN CONTINUA ........................ 101
7.3.8.1 COMPROBACIÓN DE LA SOLUCIÓN DE LA LIMITACIÓN DE TENSIÓN . 103
7.3.9 MODIFICACIÓN DE LA ALIMENTACIÓN DEL GENERADOR .......................... 105
7.3.10 ANÁLISIS DE VALIDACIÓN DE LA ESTRUCTURA DE LOS NODOS ................. 110
7.3.10.1 ANÁLISIS DEL NODO RECEPTOR ...................................................... 111
7.3.10.2 ANÁLISIS DE LA CADENA CON TRANSMISIÓN DE UN ESTÍMULO .... 113
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
6
7.3.10.4 ANÁLISIS DEL FEEDFORWARD DE CONECTIVIDAD MÁXIMA .......... 119
7.3.10.5 ANÁLISIS DEL FEEDBACK CON TRANSMISIÓN DE UN ESTÍMULO .... 122
7.3.10.6 ANÁLISIS DEL FEEDBACK DE CONECTIVIDAD MÁXIMA ................... 134
7.3.11 REANÁLISIS DE LAS ESTRUCTURAS DE VALIDACIÓN .................................. 137
7.3.11.1 REANÁLISIS DE LA CADENA DE CONECTIVIDAD MÁXIMA. .............. 137
7.3.12 CONCLUSIONES DE LA VALIDACIÓN DEL DISEÑO DE LOS NODOS ............. 139
8 EXPERIMENTACIÓN ................................................................................................. 140
8.1 INTRODUCCIÓN ............................................................................................... 140
8.2 CARACTERIZACIÓN .......................................................................................... 140
8.4 EXPERIMENTO DEL DESFASE CON FRECUENCIAS NO ARMÓNICAS ................ 147
8.5 EFECTO DE LA AMPLITUD A DESVIACIÓN DEL RUIDO CONSTANTE ................ 149
8.6 EFECTO DE LA DESVIACIÓN DEL RUIDO A AMPLITUD CONSTANTE ................ 151
8.6.1 CONCLUSIONES .......................................................................................... 152
8.7 EXPERIMENTOS DE RESONANCIA SUBARMÓNICA ......................................... 152
8.7.1 INYECCIÓN DE LAS SEÑALES S1 Y S2 POR EL MISMO PUNTO DE LA RED .... 152
8.7.2 INYECCIÓN DE LAS SEÑALES S1 Y S2 POR DIFERENTES PUNTOS DE LA RED 156
9 CONCLUSIONES ....................................................................................................... 159
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
7
1 INTRODUCCIÓN La comprensión de la estructura cerebral y las funciones de la estructura cerebral y sus capacidades de computación constituyentes es uno de los grandes retos de la neurociencia, por ello se realizan muchos estudios sobre las señales cerebrales, su sincronismo, su interferencia etc. Este campo tiene un interés claro ya que puede permitir realizar la detección de enfermedades como la epilepsia de forma automática mediante la comparación de patrones, así como de otras enfermedades e incluso la detección precoz de los síntomas de enfermedades degenerativas, favoreciendo de este modo su tratamiento. Otro de los componentes de este estudio es el elemento no lineal el cual ha sido analizado ampliamente para la transmisión de señales por sus características de encriptación ofreciendo mayores velocidades de transmisión en ambientes ruidosos, además que permiten el estudio de diferentes fenómenos biológicos y sociales.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
8
2 OBJETO El objeto de este estudio es el análisis del efecto de la resonancia estocástica fantasma sobre una red neuronal analógica cuyos nodos están formados por circuitos electrónicos no lineales.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
9
3 ALCANCE Las tareas necesarias para conseguir el objetivo anterior se basan inicialmente en el análisis de la documentación sobre redes complejas, así como sobre el circuito no lineal que forma parte de los nodos. Posteriormente se procede al diseño y la fabricación de las siguientes partes del estudio:
• Diseño de la red compleja. • Diseño de la interconexión entre los nodos de la red compleja. • Diseño y simulación de la estructura del nodo. • Fabricación de los nodos de pruebas. • Diseño y fabricación de la red de pruebas. • Validación del comportamiento de los nodos de pruebas. • Rediseño de los nodos definitivos. • Fabricación de los nodos definitivos. • Diseño y fabricación de la red definitiva. • Experimentación de la red definitiva.
Los puntos anteriores han sido realizados bajo la directiva de previsión de futuras experimentaciones, y ampliaciones, por tanto se ha primado la flexibilidad desde el punto del diseño, para facilitar la variabilidad de las posibilidades del hardware realizado.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
10
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
11
5 ESPECIFICACIONES BÁSICAS Las especificaciones básicas del estudio realizado son las siguientes:
• El estudio implica una adaptación de las estructuras de red compleja para la transmisión de información, ya que estas normalmente indican conexión entre puntos, pero no indican el sentido de las interconexiones.
• La etapa de diseño debe comprender tanto las partes del nodo, como la red, así como el medio de transmisión. Su funcionalidad debe contemplar futuras modificaciones, por lo que se desea la máxima flexibilidad posible, así como un detalle minucioso de todos los diseños para facilitar la expansión del tipo modular del hardware, pudiendo interconectar diferentes módulos y realizar estudios de mayor envergadura.
• Se destinarán fondos por parte del Departamento de Física Nuclear de la UPC
para la compra de componentes, que forman parte del hardware asociado al estudio, así como para la fabricación de las diferentes partes del proyecto.
• Las tareas de fabricación se llevarán a cabo por el departamento de electrónica de la EUETIT, así como, por empresas externas, de igual modo que la inserción de los componentes se realizará por una empresa externa.
• Las experimentaciones se llevarán a cabo en el laboratorio de Dinámica de Láseres del edificio Gaia, que forma parte del grupo de investigación DONLL del Departamento de Física Nuclear de la UPC, así como el material informático e instrumental adecuado para el análisis de las experimentaciones.
• El hardware entregado debe ser capaz al menos de realizar el estudio de
resonancia fantasma y además el estudio (1) realizado de forma paralela a éste.
• Este estudio no contempla el impacto ambiental generado por la fabricación del hardware asociado, ni el protocolo de reciclaje del mismo.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
12
6 ANTECEDENTES Y PUNTO DE PARTIDA El estudio parte del proyecto (2) sobre la caracterización del Circuito de Chua, y las posibilidades que este ofrece para la transmisión de datos, en ese caso se analizaba el comportamiento únicamente del Circuito de Chua, así como la transmisión sobre una red fija del tipo cadena, sin embargo no se intentaba emular el comportamiento neuronal descrito en la sección 7.2 de esta memoria. En el apartado del diseño y análisis de la experimentación de la resonancia fantasma se ha utilizado como referencia un estudio previo (3), que se realizó en colaboración con el mismo grupo de investigación del Departamento de Física e Ingeniería Nuclear de la UPC y sirvió para la realización de diferentes estudios (por ejemplo, el publicado en la referencia (4)), así como múltiple información sobre experimentación en el campo de la resonancia fantasma asociada al procesado de señales del sistema auditivo (5), y de la resonancia realizada con láseres y cristales no lineales (6).
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
13
7.1 CAPITULO 1: CARACTERIZACIÓN DE LA RED BAJO ESTUDIO
7.1.1 INTRODUCCIÓN La red bajo estudio debe cumplir con las especificaciones de una red compleja, tal que asemeje una conectividad que describa la conexión existente en el tejido neuronal. Por ello se ha realizado una documentación sobre las redes complejas a través de publicaciones como (7) y (8). Tras analizar dicha información se ha concluido lo siguiente: Una parte de la documentación analizada sobre la conectividad cerebral se basa en estudios realizados sobre pacientes, dichos estudios miden la interacción que existe entre las diferentes partes del cerebro. La escala de análisis en los artículos es el voxel (VOlumetrix piXEL o pixel volumétrico de medidas aproximadas 3x3.475x3.475 mm3, en el que se tamiza el cerebro en estudios de resonancia magnética), sin embargo esto no representa un impedimento ya que la distribución de conexiones dentro de un voxel se rige por el mismo tipo de red, además todos los estudios analizados coinciden en que las redes del tipo Scale Free son la mejor descripción de las interconexiones cerebrales, es por ello que se ha seleccionado este tipo de red, las cuales son utilizadas frecuentemente para definir esta clase de redes.
7.1.1.1 DESCRIPCIÓN DEL TIPO DE RED SCALE FREE Las redes Scale Free o de escala libre son un tipo de redes complejas que se caracterizan por la distribución de la conectividad de la red mediante la aplicación de una ley de
potencias tal que .
La característica que diferencia los n subtipos de nodos es la conectividad de los mismos, es decir, el número de conexiones que tienen, por ello para que un nodo sea considerado de un tipo, este debe cumplir que su conectividad supera un cierto umbral, para facilitar el estudio de la red se ha simplificado la tipología de nodos a dos, que son los nodos con elevada conectividad o hubs y aquellos nodos que tienen una baja conectividad o no hubs, estas redes también cumplen que la mayoría de los nodos que las forman son de baja conectividad, un claro ejemplo de este tipo de redes es internet, en esta red se encuentran nodos, webs en este caso, con baja conectividad (no hubs), sin embargo existen webs tipo buscador con elevada conectividad (hub). Los análisis estudiados anteriormente cuantifican el valor de γ de las redes biológicas entre 2 y 3, y más concretamente el estudio (8) sobre las interconexiones cerebrales analizadas sobre pacientes han dado como resultado valores de γ = 2, por ello en este estudio se ha considerado que la red debe cumplir una ley de escala tal que γ = 2.
ESTUDIO D
El eje X in número de pendiente La conectiv
En este eje Scale Free, de confianz característi conectivida deformada El análisis t no existe necesaria interconex La red ante Neil George
DEL PROCESAD
dica el grad e nodos qu de la recta d
vidad de la r
Tabla
emplo se ob dichas rede za cuanto m ica antes c ad frente a a por el efect
típico de las direccionalid para la ex ión entre los
erior se ha ob e, que se exp
O DE SEÑALES
stra una ley
Figura 1: Ley
red de ejemp
1: Grado de c Nº de
bserva el pri es al basarse enor es el nú comentada a la escasez to de una red
redes Scale dad en la i perimentació s nodos, sino
btenido a tra plica a contin
COMPLEJAS EN
k)) o la cone en la red co que aparece
plo es la sigu
conectividad d e nodos C 12 7 3 1 3 4
mer problem en una ley d úmero de no sobre la ap z de nodos d demasiado
Free es sobr nterconexió ón de nues o que ademá
avés de un p nuación.
N REDES DE CIRC
ectividad, m on dicha co e en la Figura
iente:
1 2 3 4 5 6
ma para la d de escala tie odos de la re parición de de elevad
o pequeña.
e interaccion n entre dos stro proyec s debe most
rograma en
CUITOS ELECTR
definición de nden a aum ed, llegando a numerosos
a conectivid
nes entre no s nodos, no to debe in trar el sentid
matlab reali
1.
e una red de entar su inte al punto de q s nodos de dad puede
odos, es deci o obstante l dicar no só do de la mism
izado por Ma
r, que a red ólo la ma.
athew
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
15
7.1.1.2 DESCRIPCIÓN DEL PROGRAMA GENERADOR DE REDES SCALE FREE El programa implementado por Mathew Neil George. El programa consta de cuatro funciones programadas para matlab:
1. Función SFGN.m 2. Función PLplot.m 3. Función CNET.m 4. Función Pubfile.m
Estas funciones se han obtenido de la página de mathworks indicada en matlab central 1 , a continuación se detalla la función de cada rutina.
7.1.1.2.1 Función SFGN.m Código de la función SFGN.m:
function SFNet = SFNG(Nodes, mlinks, seed) seed = full(seed); pos = length(seed); rand('state',sum(100*clock)); Net = zeros(Nodes, Nodes, 'single'); Net(1:pos,1:pos) = seed; sumlinks = sum(sum(Net)); while pos < Nodes pos = pos + 1; linkage = 0; while linkage ~= mlinks rnode = ceil(rand * pos); deg = sum(Net(:,rnode)) * 2; rlink = rand * 1; if rlink < deg / sumlinks && Net(pos,rnode) ~= 1 && Net(rnode,pos) ~= 1 Net(pos,rnode) = 1; Net(rnode,pos) = 1; linkage = linkage + 1; sumlinks = sumlinks + 2; end end end clear Nodes deg linkage pos rlink rnode sumlinks mlinks SFNet = Net;
Esta función genera la red mediante el algoritmo de BarabásiAlbert (BA Algorithm). Este algoritmo produce una red del tipo Scale Free a través de una red inicial, a la cual se
1Dirección: http://www.mathworks.com/matlabcentral/fileexchange/authors/24838.
ESTUDIO D
Los argume Nodes: can mLinks: nú concepto d una depen
Seed: es la algoritmo B
La matriz d como mue
•
•
entos de la f
úmero de c de la cantida de de la otra
matriz de ad BA.
de adyacenci stra el siguie
M
ra que el val
o la matriz de a 2 y el nodo nes del nodo ta interconec as siguientes
Si las co (bidireccion La diagona (llamadas a
e denomina es decir, un ente y que e ón se ha dese
O DE SEÑALES
unción SFGN
dyacencia qu
Matriz de adya
or de 1 es la
e forma que o 3 es la fila o 1 con el no ctado con el s propiedade
onexiones d nales) la mat
al estará com autapsis en e
n así a las co na auto reali el estudio co estimado.
Figur
N.m son los s
ue represent
odo 2 y el no nodo 1 y el
es:
onexiones en mentación, omprende un
ra 3: Ejemplo
.
de conexión y
s la fila y la co a 3, se pued odo 3, de igu nodo 3 etc.
riz de ady étrica.
ntre el axón debido a qu n número de
de Autápsis.
o en la red, ectividad má
milla o inicial,
y 0 la ausenc
olumna 1, el de observar q al forma la f Extrapoland
yacencia so
de una neur ue este tipo e nodos tan r
RÓNICOS NO LIN
, no confun áxima, puest
cia de la mism
nodo 2 es la que la fila 1 fila 2 indica q do este anál
on no dir
NEALES
igidas
ciones
ropias nes es e tipo
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
17
El programa genera una matriz de adyacencia de la red solución denominada Net en la función SFGN.m, dicha matriz contiene tantas filas y columnas como nodos se haya especificado en Nodes, posteriormente carga en el interior de dicha matriz la red semilla e inicia el proceso de generación de la red, la variable sumlinks contiene inicialmente los enlaces realizados por la red semilla.
El primer bucle del programa se encarga de ir actualizando el nodo que se procesa, mientras que el segundo bucle compara si dicho nodo ha realizado todas sus conexiones, en caso negativo entra en el bucle y genera un valor aleatorio en la variable rnode, esta variable es el nodo aleatorio preseleccionado de entre los nodos existentes en ese instante en la red, en la variable deg se almacena la conectividad del nodo rnode, la condición if se encarga de realizar la Scale Free. El valor de la variable rlink es un número aleatorio comprendido entre 0 y 1, dicho valor se compara con la conectividad del rnode de forma que si este tiene conectividad mayor a cero permitirá la conexión, las otras restricciones del if simplemente aseguran que no existiera una conexión previa entre el nodo de estudio y el nodo rnode, si se cumplen las condiciones anteriores el programa actualiza la matriz de adyacencia de la red con la interconexión entre el nodo n y el nodo rnode, de forma que coloca un 1 en las posiciones de la matriz (rnode,n) y (n,rnode), finalmente se actualiza el número de enlaces realizados, volviéndose a repetir dicho proceso hasta que los enlaces realizados para el nodo n sean igual al número configurado de enlaces para cada nodo mlinks, esto se repetiría a su vez por cada nodo de la red.
Nótese que esta algoritmia basada en aleatoriedad de conexiones produce que esta función obtenga diferentes resultados cada vez que sea ejecutada, aún en el caso de que no se modifique ningún parámetro. Este método de generación de redes por el algoritmo BA, para una configuración de la variable mlinks igual a 1 (que indica que cada nodo podrá realizar una única conexión), provoca que las redes sean jerárquicas, lo que se traduce en la ausencia de feedbacks en la red. El hecho de que las redes sean jerárquicas está de acuerdo con referencias como la (9), donde se ha documentado la existencia de zonas corticales del cerebro del macaco que contienen este tipo de estructuras.
7.1.1.2.2 Función PLplot.m Código de la función PLplot.m:
function equation = PLplot(Net) % PowerLaw Degree Distribution Graphing % Finds out how many connections each node has connections = single(sum(Net)sum(Net’)); % Initialize variable that will hold how many nodes have each degree frequency = single(zeros(1,length(Net))); % Initialize variable that will hold the graphing quanitites
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
18
plotvariables = zeros(2,length(Net)); P = []; for T = 1:length(Net) % Variable will be used as a list of possible degrees a node can have P(1,T) = T; if connections(1,T) ~= 0 frequency(1,connections(1,T)) = frequency(1,connections(1,T)) + 1; end end for c = 1:length(frequency) % Disregard degrees with no frequency if frequency(1,c) ~= 0 [X,Y] = find(plotvariables == 0); plotvariables(1,min(Y)) = P(1,c); plotvariables(2,min(Y)) = frequency(1,c); end end % Find the last nonzero element in plotvariables for d = 1:length(plotvariables) if plotvariables(1,d) == 0 & plotvariables(2,d) == 0 break end end x = plotvariables(1,1:d1); y = plotvariables(2,1:d1); [g,f,b] = fit(x',y','power1'); H = loglog(x,y,'r+'); hold on; plot(g); xlim([.9 (max(sum(Net)) + 10)]); ylim([.9 length(Net)]); legend off; H = xlabel('Degrees'); H = ylabel('Frequency'); equation = g;
El parámetro para ejecutar esta función es la matriz de adyacencia que está definida mediante la función SNFG.m. Esta función calcula la ley de escala que rige la red, que está definida por la siguiente función del subtipo ‘Power1’:
General model Power1: equation(x) = a*x^b Coefficients (with 95% confidence bounds): a = 34.96 (31.62, 38.3) b = 2.321 (2.873, 1.768)
Se permite el acceso a los parámetros de dicha ley de escala a través del nombre de la variable que contenga el PLplot seguido de .a ó .b según el parámetro que se desea
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
19
acceder, además se encarga de realizar el dibujo de la ley de escala como el que se muestra en la Figura 1.
7.1.1.2.3 Función CNET.m Código de la función CNET.m:
function CNet(Net) format compact format long e theta = linspace(0,2*pi,length(Net)+1); xy = zeros(length(Net)+1,2); x = cos(theta); y = sin(theta); xy(1:length(Net)+1,1) = x(1:length(Net)+1); xy(1:length(Net)+1,2) = y(1:length(Net)+1); figure, gplot(Net,xy,'.'); set(gcf, 'Color', [1 1 1]); axis('equal'); xlim([1.1 1.1]); ylim([1.1 1.1]); axis off;
La función CNet utiliza como parámetro también la matriz de adyacencia obtenida mediante la función SFGN.m La función CNet es la encargada de generar la representación circular de las diferentes conexiones de la red. Dicha representación se realiza a través de la función de matlab gplot y cumple que en una red con n nodos se estipula que en la posición A' se encuentra el nodo 1, en la posición B' el nodo , en la
posición C' el nodo , en la posición D' el nodo , es decir, se rellena el grafico
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
20
7.1.1.2.4 Función Pubfile.m La función Pubfile es un ejemplo realizado por Mathew Neil George ampliamente comentado, que ilustra la utilización de las funciones explicadas anteriormente, concretamente se realiza una red de 300 nodos, con una única conexión de cada nodo que entra en la red y una red inicial de 5 nodos interconectados de la siguiente forma:
Código de la red de ejemplo:
seed =[0 1 0 0 1;1 0 0 1 0;0 0 0 1 0;0 1 1 0 0;1 0 0 0 0] Net = SFNG(300, 1, seed); PL_Equation = PLplot(Net) CNet(Net)
Red de ejemplo:
0 1 0 0 1 1 0 0 1 0 0 0 0 1 0
=
Nodo 3
Nodo 1 Nodo 2
Nodo 5 Nodo 4
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
21
Figura 6: Detalle de los resultados del programa para la generación de redes tipo Scale Free.
Sin embargo, puesto que las especificaciones del proyecto difieren de las ofrecidas por dicho software, se han realizado modificaciones.
7.1.2 ESPECIFICACIONES DE LA RED A continuación se detallan las especificaciones referentes a la direccionalidad de la red, que obliga a la realización de las siguientes modificaciones.
7.1.2.1 MODIFICACIONES DE LA FUNCIÓN SFGN.M
Código de la función SFGN.m: ... sumlinks = sum(sum(Net)); dir_deg=zeros(Nodes); % Variable del Grado de direccionalidad del nodo. %Bucle que genera los Grados de direccionalidad de la Red: for i=1:Nodes dir_deg(i) = rand; %Valor aleatorio que configura el sentido end %convenio: del menor 'dir_deg' se conecta al mayor 'dir_deg'.
Parámetros de salida (resultados)
Parámetros de entrada
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
22
while pos < Nodes pos = pos + 1; linkage = 0; while linkage ~= mlinks rnode = ceil(rand * pos); deg = sum(Net(:,rnode)) * 2; rlink = rand * 1; if rlink < deg / sumlinks && Net(pos,rnode) ~= 1 && Net(rnode,pos) ~= 1
…
Para forzar que los enlaces sean direccionales se ha incorporado la variable dir_deg, que indica el grado de direccionalidad del nodo, este grado es un valor aleatorio que pertenece a cada link. Los valores de dir_deg marcan una preferencia de conectividad, de modo que los nodos tengan una tendencia natural a ejercer de receptores o emisores. Para implementar la direccionalidad de los mismos se ha considerado el siguiente convenio:
• Si el nodo pos tiene menor grado de direccionalidad que el nodo rnode el enlace
se realiza desde la salida del nodo pos a la entrada del nodo rnode, en caso contrario se invierte la dirección, este hecho provoca la asimetría respecto la diagonal principal de la matriz de adyacencia.
La interpretación de la matriz de adyacencia queda por tanto modificada, ya que ahora es una matriz de adyacencia con direccionalidad. De este modo se ha escogido el convenio siguiente:
• Las filas de la matriz hacen referencia a la salida de cada nodo, mientras que las
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
23
=
Figura 7: Representación de la Red de Ejemplo con Direccionalidad.
Véase que si la interpretación se invierte se obtiene una red complementaria, es decir, las salidas se intercambian con las entradas y viceversa. Para realizar la tarea de la representación se ha modificado la siguiente función:
7.1.2.2 MODIFICACIONES DE LA FUNCIÓN CNET.M
Código de la función CNet.m: axis off; hold on; %Texto Identificador del Nodo: for h=1:length(Net) str = int2str(h); text(1.07*xy(h,1),1.07*xy(h,2),[str]); end %Direccionalidad de la red:
for i=1:length(Net)%fila (Salidas) for j=1:length(Net) %columna (Entradas) if Net(i,j)==1 && i==j
disp('Error!! En esta red hay autapsis'); else if Net(i,j)==1%Entrada j unida a Salida i:dirección i>>j
xdir=linspace(xy(i,1),xy(j,1),3); ydir=linspace(xy(i,2),xy(j,2),3);
if i<j plot(xdir,ydir,'r','MarkerSize',5);
Nodo 3 Nodo 1
Nodo 4
Nodo 2
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
24
Las modificaciones en esta función cumplen dos objetivos. El primero es la identificación de cada nodo de forma sencilla, la primera parte del código se encarga de colocar un texto sobre cada nodo con su número de nodo correspondiente en la red. El segundo bloque de código introduce la direccionalidad: el bucle for recorre todas las filas de la matriz de adyacencia de la red, mientras que el bucle anidado a éste se encarga de recorrer las columnas. En cada columna analiza si existe conexión o no, es decir, si hay un ‘1’ en dicha posición de la matriz de adyacencia, posteriormente se comprueba si la conexión encontrada es una autapsis. En el caso que no sea una autapsis, se dibuja el enlace siguiendo el análisis de los índices i y j de los nodos interconectados, si la salida del nodo i está conectada a la entrada del nodo j , es decir, la conexión va de i j, entonces i<j y por tanto el enlace será rojo, mientras que si la salida del nodo j está conectada a la entrada del nodo i, la conexión va de j i, entonces i>j y por tanto el enlace será azul.
Ejemplo de la representación de la función CNet.m modificada.
=
N1 N2 N2 N4 N3 N2
Analizando la red vemos que entre el nodo 1 y el nodo 2 hay una conexión, para saber el sentido, debemos analizar el color del enlace, el color rojo significa que la dirección de la conexión va del nodo menor al mayor, en este caso del nodo1 al nodo 2 ( i<j ), si por el contrario es azul significa que el sentido del enlace va del nodo mayor al menor ( i>j ), como en el caso de la conexión entre el nodo 2 y el nodo 3, el sentido de la cual va del nodo 3 al nodo 2. El método utilizado para la representación de redes no permitiría apreciar este tipo de conexiones, por ello se recomiendan otros software de representación como Pajek2 o Grafos3.
2Pajek: programa gratuito en la web: http://vlado.fmf.unilj.si/pub/networks/pajek/ , para utilizarlo más cómodamente se recomienda utilizar la función writetoPAJ.m para transformar la matriz de adyacencia explicada en el proyecto al formato entendido por dicho programa, esta función se puede obtener del siguiente enlace: http://sites.google.com/a/brainconnectivity toolbox.net/bct/Home/functions 3 Grafos: programa de representación y cálculos de optimización de Alejandro Rodríguez Villalobos, descargable desde http://personales.upv.es/arodrigu/Grafos/
Figura 8: Representación mediante CNet de la red ejemplo con dirección.
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
25
7.1.2.3 IMPLEMENTACIÓN DE LA FUNCIÓN GENERADOR DE REDES.M
Se ha implementado una función encargada de generar matrices de adyacencia de redes que cumplan las especificaciones deseadas, a través del siguiente programa:
Código de la función Generador_de_redes.m:
clc %INTRODUCCIÓN DE PARÁMETROS: n = input ('Defina el Número de Nodos (n): '); %Número de nodos de la red. r = input ('Defina la Matriz de Adyacencia (seed): '); %Conectividad máxima de Entrada. mLinks = input('Defina las Conexiones a Realizar en cada Nodo (mLinks): '); Kmax_in = input('Defina la Conectividad Máxima de Entrada (Kmax_in): '); Kmax_out = input('Defina la Conectividad Máxima de Salida (Kmax_out): '); bmax = input('Defina el límite Superior del parámetro b de la ley P(k)=a*X^b: '); bmin = input('Defina el límite Inferior del parámetro b de la ley P(k)=a*X^b: '); while bmin>bmax display('Error: el Límite Inferior de b es mayor al Límite Superior') bmax = input('Redefina el límite Superior del parámetro b de la ley P(k)=a*X^b: '); bmin = input('Redefina el límite Inferior del parámetro b de la ley P(k)=a*X^b: '); end Z = 2; %Flag de fin de programa. col = ones(n,1); %Columna de N '1's para realizar una vector con el sumatorio de cada Fila de la matriz de conectividad (NxN). fila = ones(1,n);%Fila de N '1's para realizar una vector con el sumatorio de cada Columna de la matriz de conectividad (NxN). while Z == 2 Red = SFNG(n, mLinks, r); % Matriz de Adyacencia. Kcol = Red*col; %Vector de conectividades de las Salidas de la matriz Red. Kfil = fila*Red; %Vector de conectividades de las Entradas de la matriz Red. Kmaxc = max(Kcol); %Valor máximo de la conectividad de Salida de la Red. Kmaxf = max(Kfil); %Valor máximo de la conectividad de Entrada de la Red. if Kmaxf <= Kmax_in && Kmaxc <= Kmax_out
Equation = PLplot(Red); % Ecuación que contiene la Ley de escala de la Conectividad de los Nodos.
if Equation.b <= bmax && Equation.b >= bmin
Z=1; %Fin del programa, se ha obtenido una red con las especificaciones deseadas.
end end end K = Kcol+Kfil'; %Vector de conectividades de entrada y salida. close figure 1;
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
26
%RESULTADOS: display('Conectividad Máxima de Salida'); Kmaxc %Conectividad máxima de Salida. display('Conectividad Máxima de Entrada'); Kmaxf %Conectividad máxima de Entrada. figure(1); PLplot(Red); %Características de la red. figure(2); CNet(Red); %Representación circular de la red.
La red debe cumplir una ley de escala concreta, es por ello que se ha implementado un bucle que genera redes mediante la función SFNG.m hasta encontrar una matriz de adyacencia que describa una red válida según las especificaciones que se exponen a continuación:
Otro parámetro a tener en cuenta es la conectividad, es por ello que se han generado los vectores Kcol, Kfil. Estos vectores son una columna y una fila de ‘1’ respectivamente de longitud igual al número de nodos de la red, posteriormente se multiplican por la matriz de adyacencia obtenida, almacenando en Kcol las conectividades de salida de cada nodo y en Kfil las conectividades de salida de cada nodo, según el criterio anterior de fila = salida y columna = entrada, se compara el máximo de ambas conectividades con la conectividad máxima respectiva. Posteriormente si la red cumple las restricciones de conectividad, se realiza la función PLplot.m de la que obtendremos las variables que
rigen la ley de potencias deseada, recordamos que el parámetro γ de , se
busca en torno al 2, para ello se introducen los límites del valor de γ en las variables bmax y bmin respectivamente.
La propia aleatoriedad que ofrece la función SFNG.m provoca que aparezcan diferentes soluciones. Sin embargo se pueden añadir restricciones como la siguiente para obtener soluciones diferentes en cada iteración.
• Se debe guardar la solución anterior, en nuestro caso guardamos el
parámetro b de la ecuación de potencias. ... Solucion_1 = Red; B_anterior = Equation.b; ...
• Se debe añadir al if la restricción siguiente:
if Equation.b <= bmax && Equation.b >= bmin && B_anterior ~= Equation.b ...
7.1.3 JUSTIFICACIÓN DE LAS ESPECIFICACIONES DE LA RED Tras analizar los parámetros característicos de las redes Scale Free se procede a concretar las diferentes características de la red. Debido a que el estudio pretende considerar una red cerebral es necesario un elevado número de nodos, sin embargo su posterior fabricación hace inviable trabajar con cantidades cercanas a la realidad, por tanto se ha llegado a un compromiso entre la obtención de una cantidad de nodos asequible para su fabricación y suficientes como
ESTUDIO D
para que p aceptable. el número una cantida La conectiv realizarse f mucho el cumplan d cuya proba de los nod conectarse probabilida incorporars máxima es poder obte máxima de mayor mar programa s
permitan la Finalmente de nodos a ad excesiva p
vidad máxim físicamente número de icho requisit abilidad de c dos de la red e a un Hub ades de tra se a la red s que se deb ener alguna ebe ser supe rgen haya, m se ha selecci
LECCIÓN DE
escala que rig
del Power1: n(x) = a*x^b nts (with 95% 22.05 (20.63, 1.997 (2.277,
O DE SEÑALES
generación tras diversas realizar a 50 para el coste
ma es otro d debe tener interconexi to, ya que e conectarse a d, teniendo b, es por ansformarse tienen muy
be limitar la solución, ya
erior a la ca más redes sol onado una c
E LA RED
ge la curva d
% confidence b 23.47) , 1.716)
MEMOR
27
de una red s comprobac 0, ya que pe e de fabricac
de los facto un número ones produ el programa a otros nodo el nodo que este hecho en un Hu
y pocas. El cantidad de a que se de ntidad de co uciones exis conectividad
a menor des cuya conect
e regresión
compleja cu ciones con el rmite un int ión.
res más rest bastante lim ce que la m basado en e os aumenta e e acaba de e o que los ub mientras problema q e conexiones ebe tener en onexiones q tirán, finalm máxima
sviación del tividad máxim
uyo margen l generador d tervalo sufici
trictivos en mitado, por mayor parte el algoritmo en función d entrar mayo nodos inici que los ú ue introduc s que realiza n cuenta qu ue realiza ca
mente tras ex .
te:
ionada.
de confianz de redes se a iente y no su
la red, ya q otra parte l de las red AB añade n de la conect or probabilid ales tienen ltimos nodo e la conect a cada nodo ue la conect ada nodo, c xperimentar
confianza y entrada com
za sea ajusto upone
que al imitar es no nodos ividad ad de más os en ividad o para ividad uanto con el
y que mo de
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
28
A continuación se muestra una clasificación de los nodos de la red según su grado de conectividad:
Tabla 2: Clasificación de la Conectividad de los Nodos de la Red. ENTRADAS SALIDAS
Conectividad Nº de nodos
Nodo de la red
Conectividad Nº de nodos
Nodo de la red
6 0 6 1 2 5 1 10 5 1 5 4 1 5 4 1 17 3 2 4,8 3 2 3,6 2 6 2,6,13,23,28,36 2 3 4,8,31 1 22 3,7,14,15,17,19,20,22,
27,29,31,34,35,37,38, 39,40,42,45,46,47,48
1 22 1,7,9,11,12,15,16,18, 21,24,25,26,29,30,32, 33,40,41,43,44,49,50
ESTUDIO DEL PROCESADO DE SEÑALES COMPLEJAS EN REDES DE CIRCUITOS ELECTRÓNICOS NO LINEALES
MEMORIA
29
E