Titulació: Enginyeria en Automàtica i Electrònica Industrial …………………………………………………………………………………………….. Alumne: Alex De San Fulgencio Lagunas ……………………………………………………………………………………………… Títol PFC: Estudio del procesado de señales complejas en ……………………………………………………………………………………………… redes de circuitos electrónicos no lineales ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… Director del PFC: Jordi García Ojalvo ……………………………………………………………………………….……………. Convocatòria de lliurament del PFC: Setembre 2009 …………………………………………………………………………………………….. Contingut d’aquest volum: ‐MEMORIA‐
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