Академический Документы
Профессиональный Документы
Культура Документы
FACULTAD DE INGENIERÍA
DOCTORADO EN INGENIERÍA
ELECTRÓNICA
TESIS DOCTORAL
“APORTES NOVEDOSOS A LA TOLERANCIA A FALLAS
DE SISTEMAS EMBEBIDOS UTILIZANDO
METODOLOGÍAS DE HARDWARE EVOLUTIVO”
AUTOR: Mónica Andrea Lovay
--------------------------------
---------------------------------
----------------------------------
-----------------------------------
-----------------------------------
-----------------------------------
A mis hijos:
ÍNDICE........................................................................................................................................7
AGRADECIMIENTOS ......................................................................................................... 19
RESUMEN ............................................................................................................................... 21
7
2.3. Tolerancia a fallas Adaptiva ..................................................................................... 49
8
3.7.2.3. Modelo de Falla 3 ........................................................................ 109
9
4.9. Referencias ...............................................................................................................155
A1.6. Referencias.............................................................................................................173
A2.2. Referencias..................................................................................................177
10
A3.2.2. Cruce........................................................................................................... 185
11
Índice de Figuras
Figura 1-2. Diagrama conceptual de EHW (se esquematiza la aplicación sobre un único
circuito inicial). .......................................................................................................................... 27
Figura 3-6. Configuración utilizada para aplicar TRAM a una etapa bicuadrática. ......... 72
12
Figura 3-11. Interacción entre el AG y el filtro adaptivo para el cálculo del fitness de un
individuo (y). ............................................................................................................................. 77
Figura 3-18. ERM obtenido por el GA en la banda de paso, bajo operación libre de
fallas. ........................................................................................................................................... 94
Figura 3-19. ERM obtenido por el GA en el punto de corte, bajo operación libre de
fallas. ........................................................................................................................................... 94
Figura 3-20. ERM obtenido por el GA en la banda de transición, bajo operación libre
de fallas....................................................................................................................................... 95
Figura 3-21. ERM obtenido por el GA en la banda de atenuación, bajo operación libre
de fallas....................................................................................................................................... 95
Figura 3-22. Cantidad de generaciones empleadas en cada corrida del GA. ................... 96
Figura 3-23. Evolución del ERM en cada banda, para una corrida del GA. ................... 97
Figura 3-24. Evolución del fitness máximo de cada generación en una corrida del GA.
..................................................................................................................................................... 98
Figura 3-25. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados
que presentaron mayor error, en condiciones normales de funcionamiento. ................. 99
Figura 3-29. ERM obtenido por el GA en cada banda, para el Modelo de Falla 1. ..... 105
13
Figura 3-30. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados
que presentaron mayor error, bajo el Modelo de Falla 1. .................................................106
Figura 3-31. ERM obtenido por el GA en cada banda, para el Modelo de Falla 2. ......107
Figura 3-32. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados
que presentaron mayor error, bajo el Modelo de Falla 2. .................................................108
Figura 3-33. ERM obtenido por el GA en cada banda, para el Modelo de Falla 3. ......110
Figura 3-34. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados
que presentaron mayor error, bajo el Modelo de Falla 3. .................................................111
Figura 3-35. ERM obtenido por el GA en cada banda, para el Modelo de Falla 4. ......112
Figura 3-36. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados
que presentaron mayor error, bajo el Modelo de Falla 4. .................................................113
Figura 4-1. (a) Diagrama del PGA. (b) Configuración de resistencias ............................121
Figura 4-2. Configuración del bloque CT para testear la matriz de resistencias (diagrama
simplificado). ............................................................................................................................122
Figura 4-8. Error relativo en la ganancia vs. ancho de banda, bajo operación libre de
fallas...........................................................................................................................................137
Figura 4-9. Cantidad de generaciones empleadas en cada corrida del GA. ....................139
Figura 4-10. Histogramas correspondientes a cada PGA, para la ganancia objetivo 15.
...................................................................................................................................................140
Figura 4-11. Histogramas correspondientes a cada PGA, para la ganancia objetivo 8. ......
...................................................................................................................................................141
Figura 4-12. Histogramas correspondientes a cada PGA, para la ganancia objetivo 2. ......
...................................................................................................................................................142
Figura 4-13. Error relativo en la ganancia vs. ancho de banda, bajo el Modelo de Falla 1.
...................................................................................................................................................144
14
Figura 4-14. Error relativo en la ganancia vs. ancho de banda, bajo el Modelo de Falla 2.
................................................................................................................................................... 146
Figura 4-15. Error relativo en la ganancia vs. ancho de banda, bajo el Modelo de Falla 3.
................................................................................................................................................... 149
Figura 4-16. Error relativo en la ganancia vs. ancho de banda, bajo el Modelo de Falla 4.
................................................................................................................................................... 151
15
Índice de Tablas
Tabla 3-6. Caracterización de los errores relativos considerando el Modelo de Falla 1. ....
...................................................................................................................................................105
Tabla 4-3. Caracterización del error relativo en la ganancia bajo condición libre de fallas.
...................................................................................................................................................138
16
Tabla 4-5. Caracterización de la cantidad de generaciones empleadas por el GA. ....... 139
Tabla 4-6. Caracterización del error relativo en la ganancia bajo el Modelo de Falla 1.
................................................................................................................................................... 144
Tabla 4-9. Caracterización del error relativo en la ganancia bajo el Modelo de Falla 2.
................................................................................................................................................... 147
Tabla 4-12. Caracterización del error relativo en la ganancia bajo el Modelo de Falla 3.
................................................................................................................................................... 149
Tabla 4-15. Caracterización del error relativo en la ganancia bajo el Modelo de Falla 4.
................................................................................................................................................... 152
17
18
Agradecimientos
Llegar al final de este largo camino no hubiera sido posible sin la ayuda y el
apoyo de muchas personas y algunas instituciones.
19
Agradecimientos
Para finalizar, mi agradecimiento especial a las personas que están más cerca de
mí, a mi familia. Saber en todo momento que podía contar con ellos, ha sido muy
importante para mí.
Deseo agradecer a mis padres, Josefa y Héctor, que siempre han estado
conmigo en todo. Gracias por comprenderme, por apoyarme incondicionalmente, por
confiar en mí, por tratar siempre de facilitarme las cosas. Mi agradecimiento hacia
ustedes, saben que es eterno. Ojalá este logro, que también es de ustedes, contribuya a
retribuirles aunque sea una porcioncita de todo lo que me han dado en estos 37 años.
20
Resumen
Con referencia al filtro adaptivo, se destaca que es la primera vez que se aplica una
estrategia de EHW a un filtro de orden elevado. Se utiliza para la detección de fallas el
método de análisis transitorio (TRAM, Transient Analysis Method). Se propone en esta
Tesis la utilización de TRAM de una manera diferente a la convencional, permitiendo la
reconstrucción de la función de transferencia del filtro.
21
Resumen
Se considera que el sistema posee una ganancia que debe ser mantenida a pesar de la
presencia de fallas, mientras que su ancho de banda debe ser mayor al requerido por la
aplicación. El esquema propuesto está compuesto por una estrategia de test basada en
software (SBST, Software-Based Self Test) que chequea durante los tiempos inactivos
todas las ganancias disponibles en el amplificador, y por un GA cuyo propósito es
reconfigurar los recursos del chip, cuando se detectan fallas.
Con referencia a la técnica SBST, esta es la primera aplicación de la misma como parte
de una estrategia de EHW. Este método de test presenta como característica atractiva la
posibilidad de ser aplicado sin restricciones, debido a que no es necesaria la
incorporación de hardware adicional específico para test y no se requiere la
participación de la computadora central.
22
Índice de siglas
23
Índice de siglas
24
1. Hardware Evolutivo
25
Hardware Evolutivo
Hardware Evolutivo
(EHW)
Adaptación
26
Hardware Evolutivo
representa representa
Evolución
Hardware
Reconfigurable
Figura 1-2. Diagrama conceptual de EHW (se esquematiza la aplicación sobre un único circuito
inicial).
27
Hardware Evolutivo
28
Hardware Evolutivo
En el primer caso, se trata de una estrategia que brinda adaptación ante cambios
en el entorno que provocan que el sistema deba alterar algunas de sus funciones para
responder adecuadamente a dichas variaciones. Se debe contar con algún mecanismo
sensor que permita detectar las alteraciones del entorno. Una de las áreas clásicas de
aplicación de esta estrategia es la robótica, donde la navegación de robots es una tarea
que implica la adaptación constante de éstos al entorno en el que se encuentran. Por
ejemplo, ante la presencia de obstáculos en su trayectoria, los robots deben ser capaces
de detectarlos y de modificar su trayectoria para evitar una colisión. Esta modificación
de la trayectoria implica la ejecución de un movimiento distinto que se traduce en un
nuevo requerimiento funcional para el hardware.
29
Hardware Evolutivo
Especificaciones
Respuesta
objetivo
Verificar existencia
de fallas
Estrategia de Test RHW
Iniciar Proceso
de Adaptación Configuración
(si hay fallas) del circuito
solución
EA
30
Hardware Evolutivo
31
Hardware Evolutivo
EA Simulador
Respuesta simulada de
circuitos
Configuración
del circuito
solución
objetivo
RHW
EA
Proceso evolutivo
Proc
Respuesta Configuraciones Configuración del
de circuitos de circuitos Circuito Solución
generados
RHW
32
Hardware Evolutivo
los cuales no se conocen los componentes que presentan fallas o degradaciones. Bajo
esta situación la única manera de evaluar las configuraciones posibles de circuitos es
programándolas en el RHW.
33
Hardware Evolutivo
Interconexiones
programables Bloques de
Entrada/Salida
Bloques
Lógicos
34
Hardware Evolutivo
Celda analógica
35
Hardware Evolutivo
36
Hardware Evolutivo
Salidas
analógicas Bloques analógicos programables
Memoria Micro de 8 CT CT CT CT
Flash bits
SC SC SC SC
Fuentes SRAM SC SC SC SC
Bus de interconexión
múltiples de
Bus del Sistema
reloj
MAC
Generador
de reloj
E/S de propósito
general
Por otro lado, el sistema analógico está distribuido en columnas de a tres, con
un total de doce bloques configurables, dentro de los cuales se distinguen bloques de
tiempo continuo (CT) y bloques de tiempo discreto (de capacidades conmutadas, SC).
Conjugando los recursos disponibles se obtienen topologías como: ADCs, filtros pasa
bajo, pasa banda y elimina banda, amplificadores de ganancia programable (PGA,
Programable Gain Amplifier), amplificadores de instrumentación, comparadores,
DACs, moduladores, detectores de pico, entre otros.
37
Hardware Evolutivo
38
Hardware Evolutivo
Los EA resultan ser los más adecuados para estas situaciones, ya que su
característica principal es precisamente la eficiencia de búsqueda en espacios con una
cantidad de soluciones considerablemente grande.
39
Hardware Evolutivo
La razón por la cual los EA resultan ser la opción más conveniente cuando se
trata de espacios de búsqueda muy grandes, obedece a que estos algoritmos están
basados en una población de individuos que son posibles soluciones, siendo esta la
característica principal que los distingue de los algoritmos de búsqueda tradicionales, los
cuales muestrean el espacio de búsqueda considerando una única solución a la vez. Esta
población de individuos es sometida a un proceso evolutivo que tiene como propósito
alcanzar la adaptación de los mismos durante iteraciones sucesivas, permitiendo al EA
realizar una búsqueda dirigida y eficiente.
Las diferencias principales entre estas alternativas están basadas en los esquemas
de codificación utilizados para representar a los individuos y en los operadores
empleados durante el proceso evolutivo.
40
Hardware Evolutivo
41
Hardware Evolutivo
Operadores genéticos
Inicializar
Evaluación Selección Cruce Mutación
Población
No Criterio de
parada
cumplido?
Si
Solución
Selección: Para generar una nueva población (la siguiente generación), los
individuos son seleccionados de acuerdo a su valor de fitness: a mayor valor
del mismo, mayor es la probabilidad de que el individuo sobreviva en la
siguiente generación, mientras que los individuos con menor fitness son más
propensos a desaparecer.
42
Hardware Evolutivo
Es importante destacar que existe una distinción importante entre los dos
últimos operadores descriptos, ya que el operador de cruce no introduce
nueva información en la población, mientras que el operador de mutación si
lo hace.
43
Hardware Evolutivo
44
Hardware Evolutivo
1.8. Referencias
[1] T. Higuchi, Y. Liu, Xin Yao, Evolvable hardware, Springer, 2006.
[2] G. Greenwood, A. Tyrrell, Introduction to Evolvable Hardware: A Practical Guide for Designing Self-Adaptive
Systems, Wiley-Interscience, 2007.
[3] R. Zebulum, M. Pacheco, Evolutionary Electronics: Automatic Design of Electronic Circuits and Systems by
Genetic Algorithms, Crc Press, 2001.
[4] H. Sakanashi, M. Iwata, T. Higuchi, Evolvable hardware for lossless compression of very high resolution bi-level
images. In Computers and Digital Techniques, IEE Proceedings, Vol. 151, No. 4, pp. 277-286, IET,
July 2004.
[5] J. Wang, Q. S. Chen, C. H. Lee, Design and implementation of a virtual reconfigurable architecture for different
applications of intrinsic evolvable hardware. Computers & Digital Techniques, IET, 2(5), pp. 386-400,
2008.
[6] A. Stoica, R. Zebulum, D. Keymeulen, R. Tawel, T. Daud, A. Thakoor, Reconfigurable VLSI
architectures for evolvable hardware: from experimental field programmable transistor arrays to evolution-oriented
chips.Very Large Scale Integration (VLSI) Systems, IEEE Transactions on, 9(1), pp. 227-232, 2001.
[7] J. Torresen, Incremental evolution of a signal classification hardware architecture for prosthetic hand
control. International Journal of Knowledge-based and Intelligent Engineering Systems, 12(3), pp.
187-199, 2008.
[8] L. Sekanina, Evolvable hardware: from applications to implications for the theory of computation.
In Unconventional Computation, pp. 24-36, Springer Berlin Heidelberg, 2009.
[9] J. Torresen, An evolvable hardware tutorial. In Field Programmable Logic and Application, pp. 821-830,
Springer Berlin Heidelberg, 2004.
[10] A. Stoica, R. S. Zebulum, X. Guo, D. Keymeulen, M. I. Ferguson, V. Duong, Taking evolutionary
circuit design from experimentation to implementation: some useful techniques and a silicon demonstration. IEE
Proceedings-Computers and Digital Techniques, 151(4), pp. 295-300, 2004.
[11] X. Yao, T. Higuchi, Promises and challenges of evolvable hardware. Systems, Man, and Cybernetics, Part C:
Applications and Reviews, IEEE Transactions on, 29(1), pp. 87-97, 1999.
[12] O. P. V. Neto, M. A. C. Pacheco, C. R. H. Barbosa, Neural network simulation and evolutionary synthesis of
QCA circuits. Computers, IEEE Transactions on, 56(2), pp. 191-201, 2007.
[13] P. Kaufmann, K. Glette, T. Gruber, M. Platzner, J. Torresen, B. Sick, Classification of Electromyographic
Signals: Comparing Evolvable Hardware to Conventional Classifiers. Evolutionary Computation, IEEE
Transactions on, 17(1), pp. 46-62, 2011.
[14] L. Sekanina, Evolvable computing by means of evolvable components. Natural Computing, 3(3), pp. 253-292,
2004.
[15] P. C. Haddow, A. M. Tyrrell, Challenges of evolvable hardware: past, present and the path to a promising
future. Genetic Programming and Evolvable Machines, 12(3), pp. 183-215, 2011.
45
Hardware Evolutivo
[16] R. Salvador, A. Otero, J. Mora, E. de la Torre, L. Sekanina, T. Riesgo, Fault tolerance analysis and self-
healing strategy of autonomous, evolvable hardware systems. In Reconfigurable Computing and FPGAs
(ReConFig), 2011 International Conference on IEEE, pp. 164-169, November 2011.
[17] E. Benkhelifa, A. Pipe, G. Dragffy, M. Nibouche, Towards evolving fault tolerant biologically inspired
hardware using evolutionary algorithms. In Evolutionary Computation, 2007. CEC 2007. IEEE Congress
on IEEE, pp. 1548-1554, September 2007.
[18] G. S. Hollingworth, A. M. Tyrrell, S. L. Smith, To evolve in a changing environment. In Reconfigurable
Systems (Ref. No. 1999/061), IEE Colloquium on IET, pp. 6-1, 1999.
[19] C. A. C. Coello, A. D. Christiansen, A. H. Aguirre, Use of evolutionary techniques to automate the design of
combinational circuits. International Journal of Smart Engineering System Design, 2, pp. 299-314, 2000.
[20] J. F. Miller, D. Job, V. K. Vassilev, Principles in the evolutionary design of digital circuits - Part I. Genetic
programming and evolvable machines,1(1-2), pp. 7-35, 2000.
[21] N. Raichman, R. Segev, E. Ben-Jacob, Evolvable hardware: genetic search in a physical realm. Physica A:
Statistical Mechanics and its Applications, 326(1), pp. 265-285, 2003.
[22] Nota de aplicación. ispPAC10 biquad filter implementation, Lattice Semiconductor Corporation.
Septiembre 2000.
[23] Nota de aplicación. Designing high-order filters with the ispPAC10. Lattice Semiconductor Corporation.
Julio 2002.
[24] G. W. Greenwood, D. Hunter, E. Ramsden, Fault recovery in linear systems via intrinsic evolution.
In Evolvable Hardware, 2004. Proceedings. 2004 NASA/DoD Conference on IEEE, pp. 115-122,
June 2004.
[25] J. M. Hereford, Fault-tolerant sensor systems using evolvable hardware. Instrumentation and Measurement,
IEEE Transactions on, 55(3), pp. 846-853, 2006.
[26] A. Fathima Jabeen, M. Y. Sanavullah, FPAA Based Bandwidth Recovery in Satellite Subsystems via Intrinsic
Evolution. In Fuzzy Systems and Knowledge Discovery, 2008. FSKD'08. Fifth International
Conference on IEEE, Vol. 3, pp. 555-559, October 2008.
[27] PSoC® Programmable system-on-chip technical reference manual, Cypress Semiconductor Corporation, 2008.
[28] C. Lambert, T. Kalganova, E. Stomeo, FPGA-based systems for evolvable hardware. In Proceedings of
World Academy of Science, Engineering and Technology, Vol. 12, pp. 123-129, March 2006.
[29] X. Yu, M. Gen, Introduction to Evolutionary Algorithms, Springer 2010.
[30] K. Deb, Multi-Objective Optimization using Evolutionary Algorithms, Wiley, 2009.
[31] El-Ghazali Talbi, Metaheuristics From Design to Implementation, Wiley, 2009.
[32] R. Haupt, S. Ellen Haupt, Practical Genetic Algorithms, Wiley 2004.
[33] D. Goldberg, Genetic Algorithm. Search, optimization and machine learning, Addison-Wesley, 1989.
[34] S. N. Sivanandam y S. N. Deepa, Introduction to Genetic Algorithm, New York: Springer, 2008.
46
2. Revisión de trabajos previos sobre Hardware
Evolutivo
En este capítulo se revisan los trabajos reportados en cada una de las áreas del
EHW, considerando aquellos que utilizan como EA un GA.
En [12] se presentan algunas técnicas que pueden ser útiles para transitar desde
el diseño evolutivo para la experimentación al diseño evolutivo para la implementación.
La aplicación de estas técnicas permitió a los autores realizar la primera validación en
silicio de un circuito digital evolucionado.
En comparación con los circuitos digitales, los circuitos analógicos son más
difíciles de diseñar. Uno de los aspectos más importantes consiste en encontrar una
representación del cromosoma adecuada para este tipo de circuitos. Entre las
contribuciones referidas a la síntesis de circuitos analógicos mediante EHW pueden
47
Revisión de trabajos previos sobre hardware evolutivo
48
Revisión de trabajos previos sobre hardware evolutivo
Por otro lado, en [28] se propone el diseño y control del movimiento de las alas
de vehículos pequeños mediante la combinación de estrategias de EHW y metodologías
tradicionales.
Por otro lado, el uso industrial del EHW es propuesto en [11], donde se
presenta un chip de compresión de datos basado en EHW que puede ser utilizado en
las impresoras electrofotográficas.
49
Revisión de trabajos previos sobre hardware evolutivo
50
Revisión de trabajos previos sobre hardware evolutivo
Con respecto al origen de las fallas consideradas, existen varios trabajos en los
cuales se aborda el problema de tolerancia a fallas en ambientes con temperaturas
extremas y ambientes expuestos a alta radiación. Otros trabajos, en cambio, focalizan
sus esfuerzos para proporcionar tolerancia a fallas cuando las mismas son ocasionadas
por el paso del tiempo (lo cual provoca el envejecimiento de los componentes).
51
Revisión de trabajos previos sobre hardware evolutivo
operacional de lazo cerrado, un filtro pasa bajo y un filtro pasa alto. Los resultados
experimentales demuestran que en todos los casos es posible recuperar la funcionalidad.
52
Revisión de trabajos previos sobre hardware evolutivo
En [44] los autores describen otro diseño de FPAA llamado Arreglo Analógico
Auto-Reconfigurable (SRAA, Self-Reconfigurable Analog Array). El mismo está
formado por arrays de celdas analógicas (divididos en arreglos de referencia y arreglos
funcionales), una caja de conmutación y un dispositivo de test. Una característica
especial del SRAA radica en que la reconfiguración del circuito se practica sobre el
arreglo de celdas de referencia y luego es implementada en el arreglo de celdas
funcionales, por lo cual la operación on-line no es interrumpida. La estrategia de test
utilizada emplea dos DAC y dos ADC para la excitación y evaluación, respectivamente,
de las celdas de referencia. Para lograr la adaptación se propone realizar la
compensación de manera jerárquica, proponiendo la utilización de un GA en el tercer
nivel de compensación, cuando el primer nivel (correcciones predeterminadas) y el
segundo nivel (uso de algoritmos de búsqueda basada en el gradiente) no tienen éxito.
Los autores asumen que las celdas funcionales y de referencia tienen el mismo
comportamiento. No se muestran resultados experimentales sobre la reconfiguración
de circuitos específicos. Los dos primeros ejemplos de aplicación se mencionan en [45],
donde sólo se exponen resultados de simulaciones del mapeo de un amplificador de
instrumentación y un circuito PWM (pulse width modulator) en celdas SRAA, usando
la mencionada aproximación jerárquica, pero no se mencionan experimentos
relacionados a la reconfiguración.
53
Revisión de trabajos previos sobre hardware evolutivo
54
Revisión de trabajos previos sobre hardware evolutivo
Envejecimiento de componentes:
El trabajo de R. Zebulum et al. [51] presenta una estrategia evolutiva para el
diseño y recuperación de fallas de circuitos de muy alta escala de integración (VLSI,
Very Large Scale Integration). Para ello se considera un chip reconfigurable FPTA y
fallas por envejecimiento. El GA propuesto se fundamenta en dos métodos diferentes,
uno de ellos basado en la definición del fitness y el otro basado en la población, para
realizar el diseño y la recuperación de la funcionalidad ante la presencia de fallas. Se
presentan resultados experimentales obtenidos usando ambas aproximaciones para la
síntesis de un circuito analógico tolerante a fallas (multiplicador analógico) utilizando
evolución extrínseca. El diseño del circuito se realiza a través del GA y luego se aplican
fallas al mismo a través de la inversión del estado de uno o más conmutadores, o bien
imponiendo el estado “abierto” o “cerrado” a uno o más de ellos. El GA es utilizado
para reconfigurar el circuito. Los resultados experimentales muestran que el método
basado en la población es el que presenta mejor desempeño.
Por otro lado, en [52] los autores investigan la recuperación de fallas en sistemas
de control analógicos lineales de tercer orden usando reconfiguración a través de un
GA. Se asume que las fallas ocurren dentro del sistema lineal y que no es posible
acceder a la circuitería interna para reparar o reemplazar componentes con fallas. Por
este motivo, la única forma de restaurar el servicio es insertando una red de
compensación en el lazo de control. En este trabajo, la red de compensación se
implementa en un dispositivo analógico programable ispPAC10 de Lattice
Semiconductor y su configuración se evoluciona intrínsecamente. La evolución
considera valores de componentes y también una pequeña porción de la estructura del
circuito. La simulación de fallas en el sistema se realiza alterando el valor de una de las
resistencias, lo cual produce un cambio en el ancho de banda. Los resultados
experimentales muestran que en la banda de rechazo la compensación no es tan buena
como en las demás bandas. Los autores argumentan que se necesitan valores de
capacitores más grandes que los provistos por ispPAC10 para alcanzar una mejor
compensación.
55
Revisión de trabajos previos sobre hardware evolutivo
56
Revisión de trabajos previos sobre hardware evolutivo
2.4. Contribuciones
En esta Tesis se plantea por primera vez la aplicación de estrategias basadas en
EHW para dotar de características adaptivas a un sistema amplificador y a un filtro de
alto orden ante la presencia de fallas, cuando se considera como entorno posible de
aplicación a los sistemas de redes inalámbricas de sensado (WSN, Wireless Sensor
Network).
57
Revisión de trabajos previos sobre hardware evolutivo
58
Revisión de trabajos previos sobre hardware evolutivo
2.5. Referencias
[1] T. Higuchi, T. Niwa, T. Tanaka, H. Iba, H. de Garis, T. Furuya, Evolving hardware with genetic learning:
A first step towards building a Darwin Machine. In Proceeding of the 2nd Int. Conf. on the Simulation of
Adaptive Behaviour (SAB92), MIT Press, 1993.
[2] C. A. C. Coello, A. D. Christiansen, A. H. Aguirre, Use of evolutionary techniques to automate the design of
combinational circuits. International Journal of Smart Engineering System Design, 2, pp. 299-314, 2000.
[3] J. F. Miller, J. F., Job, V. K. Vassilev, Principles in the evolutionary design of digital circuits—Part I. Genetic
programming and evolvable machines,1(1-2), pp. 7-35, 2000.
[4] J. Wang, C. H. Lee, Evolutionary design of combinational logic circuits using VRA processor. IEICE
Electronics Express, 6(3), pp.141-147, 2009.
[5] C. Manovit, C. Aporntewan, P. Chongstitvatana, Synthesis of synchronous sequential logic circuits from partial
input/output sequences. In Evolvable Systems: From Biology to Hardware, pp. 98-105, Springer Berlin
Heidelberg, 1998.
59
Revisión de trabajos previos sobre hardware evolutivo
[6] A. T. Soliman, H. M. Abbas, Synchronous sequential circuits design using evolutionary algorithms. In Electrical
and Computer Engineering, 2004. Canadian Conference on IEEE, Vol. 4, pp. 2013-2016, May 2004.
[7] B. Ali, A. E. A. Almaini, T. Kalganova, Evolutionary algorithms and theirs use in the design of sequential logic
circuits. Genetic Programming and Evolvable Machines, 5(1), pp. 11-29, 2004.
[8] P. Soleimani, S. Mirzakuchaki, K. Mohammadi, M. Bagheri, A Novel Evolutionary Design of Sequential
Logic Circuits by Using Genetic Algorithm. International Journal of Modeling and Optimization, Vol. 1,
No. 3, 2011.
[9] P. Soleimani, S. Mirzakuchaki, R. Sabbaghi-Nadooshan, M. Bagheri, Improvement of Optimization in
Design of Synchronous Sequential Circuits by Using Evolvable Hardware. International Journal of Computer
Theory and Engineering, Vol. 4, No. 5, 2012.
[10] E. Stomeo, T. Kalganova, C. Lambert, Generalized disjunction decomposition for evolvable hardware. Systems,
Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, 36(5), pp. 1024-1043, 2006.
[11] T. Higuchi, M. Iwata, D. Keymeulen, H. Sakanashi, M. Murakawa, I. Kajitani, N. Otsu, Real-world
applications of analog and digital evolvable hardware. Evolutionary Computation, IEEE Transactions
on, 3(3), pp. 220-235, 1999.
[12] A. Stoica, R. S. Zebulum, X. Guo, D. Keymeulen, M. I. Ferguson, V. Duong, Taking evolutionary circuit
design from experimentation to implementation: some useful techniques and a silicon demonstration. IEE
Proceedings-Computers and Digital Techniques, 151(4), pp. 295-300, 2004.
[13] J. D. Lohn, S. P. Colombano, A circuit representation technique for automated circuit design. Evolutionary
Computation, IEEE Transactions on,3(3), pp. 205-219, 1999.
[14] L. Huelsbergen, E. Rietman, R. Slous, Explorations in Evolutionary Computation, IEEE Transactions
on, 3(3), pp. 197-204, 1999.
[15] T. R. Dastidar, P. P. Chakrabarti, P. Ray, A synthesis system for analog circuits based on evolutionary search
and topological reuse. Evolutionary Computation, IEEE Transactions on, 9(2), pp. 211-224, 2005.
[16] C. Zuffada, T. Cwik, C. Ditchman, Synthesis of novel all-dielectric grating filters using genetic
algorithms. Antennas and Propagation, IEEE Transactions on, 46(5), pp. 657-663, 1998.
[17] R. A. Vural, T. Yildirim, T. Kadioglu, A. Basargan, Performance evaluation of evolutionary algorithms for
optimal filter design. Evolutionary Computation, IEEE Transactions on, 16(1), pp. 135-147, 2012.
[18] N. Raichman, R. Segev, E. Ben-Jacob, Evolvable hardware: genetic search in a physical realm. Physica A:
Statistical Mechanics and its Applications, 326(1), pp. 265-285, 2003.
[19] A. Boag, E. Michielssen, R. Mittra, Design of electrically loaded wire antennas using genetic
algorithms. Antennas and Propagation, IEEE Transactions on, 44(5), 687, 1996.
[20] Z. Altman, R. Mittra, A. Boag, New designs of ultra wide-band communication antennas using a genetic
algorithm. Antennas and Propagation, IEEE Transactions on, 45(10), pp. 1494-1501, 1997.
[21] M. Hartmann, P. C. Haddow, Evolution of fault-tolerant and noise-robust digital designs. In Computers and
Digital Techniques, IEE Proceedings, Vol. 151, No. 4, pp. 287-294, IET, July 2004.
[22] J. Macia, R. V. Solé, Distributed robustness in cellular networks: insights from synthetic evolved circuits. Journal
of The Royal Society Interface, 6(33), pp. 393-400, 2009.
[23] A. Thompson, P. Layzell, R. S. Zebulum, Explorations in design space: Unconventional electronics design
through artificial evolution. Evolutionary Computation, IEEE Transactions on, 3(3), pp. 167-196, 1999.
[24] G. S. Hollingworth, A. M. Tyrrell, S. L. Smith, To evolve in a changing environment. In Reconfigurable
Systems (Ref. No. 1999/061), IEE Colloquium on IET , pp. 6-1, 1999.
60
Revisión de trabajos previos sobre hardware evolutivo
[25] A. Thompson, Evolving electronic robot controllers that exploit hardware resources, pp. 640-656, Springer
Berlin Heidelberg, 1995.
[26] G. S. Hornby, S. Takamura, T. Yamamoto, M. Fujita, Autonomous evolution of dynamic gaits with two
quadruped robots. Robotics, IEEE Transactions on, 21(3), pp. 402-410, 2005.
[27] M. Matarić, D. Cliff, Challenges in evolving controllers for physical robots. Robotics and autonomous
systems, 19(1), pp. 67-83, 1996.
[28] J. Gallagher, D. Doman, M. Oppenheimer, The technology of the gaps: An evolvable hardware synthesized
oscillator for the control of a flapping-wing micro air vehicle. Evolutionary Computation, IEEE Transactions
on, 16(6), pp. 753-768, 2012.
[29] J. Torresen, Incremental evolution of a signal classification hardware architecture for prosthetic hand
control. International Journal of Knowledge-based and Intelligent Engineering Systems, 12(3), pp.
187-199, 2008.
[30] P. Kaufmann, K. Glette, T. Gruber, M. Platzner, J. Torresen, B. Sick, Classification of Electromyographic
Signals: Comparing Evolvable Hardware to Conventional Classifiers. Evolutionary Computation, IEEE
Transactions on, 17(1), pp. 46-62, 2011.
[31] J. Wang, Q. S. Chen, C. H. Lee, Design and implementation of a virtual reconfigurable architecture for different
applications of intrinsic evolvable hardware. Computers & Digital Techniques, IET, 2(5), pp. 386-400,
2008.
[32] H. Sakanashi, M. Iwata, T. Higuchi, Evolvable hardware for lossless compression of very high resolution bi-level
images. In Computers and Digital Techniques, IEE Proceedings IET, Vol. 151, No. 4, pp. 277-286,
July 2004.
[33] K. S. R. Krishna, A. G. Reddy, M. G., Prasad, K. C. Rao, M. Madhavi, Genetic algorithm processor for
image noise filtering using evolvable hardware. International Journal of Image Processing, 4(3), pp. 240-250,
2010.
[34] A. G. Reddy, K. S. R. Krishna, M. G. Prasad, B. Rao, V. S. Principal, K. Women, Autonomously
Restructured Fault Tolerant Image Enhancement Filter. Graphics, Vision, and Image Processing, 8(3), pp.
35-40, 2008.
[35] H. C. Wu, Fault Tolerant Circuit Design Using Evolutionary Algorithms. International Journal of Computer
Science Issues, Vol. 10, Issue 1, No 1, ISSN: 1694-0814, 2013.
[36] A. P. Shanthi, R. Parthasarathi, Genetic learning based fault tolerant models for digital systems. Applied Soft
Computing, 5(4), pp. 357-371, 2005.
[37] J. C. Gallagher, An evolvable hardware layer for global and local learning of motor control in a hexapod
robot. International Journal on Artificial Intelligence Tools, 14(06), pp. 999-1017, 2005.
[38] A. Stoica, D. Keymeulen, R. Zebulum, Evolvable hardware solutions for extreme temperature electronics.
In Evolvable Hardware, 2001. Proceedings. The Third NASA/DoD Workshop on IEEE, pp. 93-97,
2001.
[39] R. S. Zebulum, X. Guo, D. Keymeulen, M. I. Ferguson, V. Duong, A. Stoica, High temperature
experiments using programmable transistor array. In Aerospace Conference, 2004, IEEE, Vol. 4, pp. 2437-
2448, 2004.
[40] A. Stoica, T. Arslan, D. Keymeulen, V. Duong, R. Zebulum, I. Ferguson, T. Daud, Evolutionary
recovery from radiation induced faults on reconfigurable devices. In Aerospace Conference, 2004, IEEE, Vol. 4,
pp. 2449-2457, March 2004.
61
Revisión de trabajos previos sobre hardware evolutivo
62
Revisión de trabajos previos sobre hardware evolutivo
[57] C. Jorgensen, G. Greenwood, P. Arefi, Practical considerations for implementing intrinsic fault recovery in
embedded systems. In Evolutionary Computation, 2008. CEC 2008 (IEEE World Congress on
Computational Intelligence). IEEE Congress on IEEE, pp. 757-764, June 2008.
[58] E. Ramsden, G. W. Greenwood, D. Hunter, Earp-1-an evolvable analog research platform. In Evolvable
Hardware, 2005. Proceedings. 2005 NASA/DoD Conference on IEEE, pp. 20-25, June 2005.
63
64
3. Filtro adaptivo
3.1. Introducción
Como se mencionó en el Capítulo 1, los FPAA proporcionan al mundo
analógico ventajas tales como reconfigurabilidad y prototipado rápido [1]. La
característica de reconfigurabilidad provee oportunidades interesantes para realizar
sistemas que puedan adaptarse a un entorno cambiante, o que presenten la capacidad
para compensar degradaciones en los elementos que los constituyen. Para lograr esta
adaptación pueden aplicarse estrategias de EHW, particularmente, las de hardware
adaptivo [2], [3], [4].
Debido al amplio uso de los filtros analógicos, un esquema de EHW que tolere
degradaciones en estos circuitos resulta sumamente interesante. Por este motivo, se
explora en esta Tesis la viabilidad de un esquema de EHW para un filtro pasabajo de
alto orden implementado en un FPAA ispPAC10 de Lattice.
65
Filtro adaptivo
Nodo WSN
Microcontrolador
Reconfiguración Manejo de
datos de E/S
Salida
Entrada filtro
filtro Bicuadrático Bicuadrático Bicuadrático Bicuadrático
ADC
1 2 3 4
ispPAC10 ispPAC10
Filtro adaptivo
Computadora central
Algoritmo de Procesamiento
Módulo de
reconfiguración de datos y
comunicación
basado en AG reconfiguración
En este trabajo, se considera el caso de los sistemas WSN con el fin de brindar
un entorno posible de aplicación. Las técnicas presentadas son aplicables a otros
sistemas que posean recursos similares.
66
Filtro adaptivo
El diseño del filtro se realiza utilizando Pac Designer [15], el cual es un entorno
de diseño basado en Windows que permite realizar circuitos analógicos utilizando la
familia de productos ispPAC. Mediante este software es posible programar las
conexiones usando los recursos internos del dispositivo elegido y establecer el valor
correspondiente para cada uno de los componentes programables. Se diseña un filtro
pasabajo de orden ocho, con ganancia en continua igual a uno, como una cascada de
cuatro secciones bicuadráticas. La topología de una sección bicuadrática puede ser
observada en la Figura 3-2.
67
Filtro adaptivo
( ) ,
( ) ( ) (1)
( )
( ) ( ) ( )
( ) ( ) (2)
( ) ∏( )
( ) ( ) ( )
68
Filtro adaptivo
etapa bicuadrática i) y 12 ganancias (k11i, k12i y k21i para cada etapa bicuadrática i).
Como se mencionó en el Capítulo 1, estas ganancias pueden programarse en el rango
de -10 a +10 en pasos de 1. No obstante, con el propósito de alcanzar una
implementación estable estos valores deben ser restringidos [14]. Por este motivo, se
considera que k11i y k12i pueden ser programados utilizando valores enteros
comprendidos entre -10 y -1; por otro lado, k21i puede ser programado empleando
valores enteros comprendidos entre 1 y 10. Los capacitores CF pueden configurarse
adoptando uno de los 128 valores posibles (entre 1.07pF y 61.59pF).
Por otro lado, en la Figura 3-4 se visualiza la respuesta en frecuencia del filtro
diseñado, denominada Hn(j2f), que corresponde a la llamada respuesta nominal. Esta
característica es la que debe mantenerse dentro de ciertos límites de tolerancia durante
la operación en campo.
69
Filtro adaptivo
-50
Magnitud Hn (dB)
-100
-150
-200
-250
-300 3 4 5 6
10 10 10 10
Frecuencia (Hz)
-90
-180
-270
Fase (deg)
-360
-450
-540
-630
-720
3 4 5 6
10 10 10 10
Frecuencia (Hz)
70
Filtro adaptivo
[21], [22]. Es un método de test muy atractivo debido a su alta eficiencia y aplicación
relativamente directa.
OS
Tensión de
salida (V)
Vp
Vs
Tp Tiempo
Ts
Figura 3-5. Respuesta al escalón de un filtro de segundo orden, mostrando los parámetros Tp,
Vp, OS, Vs y Ts.
71
Filtro adaptivo
Figura 3-6. Configuración utilizada para aplicar TRAM a una etapa bicuadrática.
( ) (3)
72
Filtro adaptivo
(4)
√
(
√
) (5)
donde .
(6)
El GA debe encontrar los valores de ganancia de los IA (k11i, k12i y k21i) y los
valores de los capacitores (CF1i y CF2i), correspondientes a cada etapa bicuadrática i,
que cumplan con el objetivo de mantener la respuesta total del filtro Hy(s) (ecuación 2)
dentro de especificaciones propuestas para la banda de paso, el punto de corte, la banda
73
Filtro adaptivo
3.4.1. Implementación
El GA que ha sido desarrollado para llevar a cabo la búsqueda de los valores de
configuración apropiados, mantiene la estructura de un GA clásico, como el descripto
en el Capítulo 1. Por razones de claridad, en la Figura 3-7 se muestra nuevamente el
diagrama de flujo que resume las principales acciones que un GA realiza.
Operadores genéticos
1.Inicializar
2. Evaluación 3. Selección 4. Cruce 5. Mutación
Población
No 6. Criterio
de parada
cumplido?
Si
7. Solución
74
Filtro adaptivo
Individuo (fenotipo)
k111 k121 k112 k122 k113 k123 k114 k124 k211 k212 k213 k214 CF11 CF21 CF12 CF22 CF13 CF23 CF14 CF24
Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen Gen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Cromosoma (genotipo)
Individuo (fenotipo)
k111 k121 k112 k122 k113 k123 k114 k124 k211 k212 k213 k214 CF11 CF21 CF12 CF22 CF13 CF23 CF14 CF24
2 3 2 1 4 1 2 4 4 1 1 3 13 114 25 56 78 84 19 120
Cromosoma (genotipo)
75
Filtro adaptivo
2. 1. Aplicar TRAM
2. Evaluación (evaluación intrínseca)
2. 2. Aplicar Función
Fitness (WSM)
2.3. Incorporar
Restricciones (CM)
No 2.4. Si
2.4.2. Aplicar Premio 2.4.1. Aplicar
Violación de
Restricciones? Penalización
76
Filtro adaptivo
global (Hy(s)), mediante las ecuaciones (3), (4) y (5), respectivamente, como se explicó
en la sección 3.3.2. De esta forma, la aplicación de TRAM permite reconstruir la
función de transferencia de cada uno de los individuos en cada generación.
Figura 3-11. Interacción entre el GA y el filtro adaptivo para el cálculo del fitness de un
individuo (y).
77
Filtro adaptivo
Punto de Corte
0.6
Banda de Transición
0.4
0.2
Banda de Atenuación
Figura 3-12. Frecuencias consideradas en cada banda por el GA para realizar la evaluación.
| ( )| | ( )|
( ) | | . (7)
| ( )|
78
Filtro adaptivo
∑ ( ) (8)
s. a.: ( ) ,
( ) ∑ [ ( )] (9)
donde [ ] ∑
79
Filtro adaptivo
enunciadas en (8), referidas a los errores tolerables máximos permitidos (Ek) en cada
una de las bandas:
( ) (10)
1
+E1
+E1
-E1 +E1
-E1
0.8 -E1
+E2
Magnitud Hn (abs)
-E2
0.6
+E3
-E3
0.4
0.2
+E4
-E4
0 9.76 12.8 17.9 21.2 28.1
13 Frecuencia (KHz) Frecuencia (Hz)
B. de 100 5
10 (KHz)
10
B. de Paso gg
P. de Corte B. de Transición Atenuación
( )
( ) ( ) (11)
{
80
Filtro adaptivo
Estos individuos adoptan un nuevo valor de fitness más bajo (Lf). Como se
aprecia en la siguiente expresión, la disminución del valor de fitness se efectúa
considerando además del factor pk, el nivel de importancia asignado a cada banda, el
cual se representa mediante los pesos wk:
( ) ( )( ∑ ) (12)
( )
( ) (13)
( ) ( )( ∑ ) (14)
81
Filtro adaptivo
( )
( ) (15)
∑ ( ( ))
( )
( ( )) { ( ) (16)
donde d(j,y) es una función que calcula la distancia entre los individuos j y y. Para ello,
dicha función debe comparar ambos individuos de alguna manera con el propósito de
establecer el nivel de diferencias que hay entre ellos. En este caso particular, se propone
efectuar la comparación de los valores de los genes correspondientes en los
cromosomas de ambos individuos para determinar la cantidad de genes diferentes. Esta
cantidad es el valor que se le asigna a d(j,y). En la Figura 3-14 se muestra el valor que
adopta d(j,y) para los cromosomas pertenecientes a dos individuos (j y y) propuestos
como ejemplo.
Cromosoma (genotipo)
Individuo j
2 1 4 1 3 4 2 3 1 3 2 25 114 8 76 48 99 120 101 3
82
Filtro adaptivo
83
Filtro adaptivo
GA detecta que alguna de las configuraciones de filtro generadas posee ERM que se
aproximan en cierto grado a los errores máximos tolerables (Ek) definidos para cada
banda, inicia una fase de explotación. La misma tiene como propósito encontrar una
solución dentro de algunos de los subespacios de búsqueda en los que el GA se
encuentra explorando actualmente. Para alcanzar este objetivo, se propone cambiar el
operador de cruce y empezar a utilizar el operador de cruce en un solo punto (este
operador es explicado en el Apéndice 1). Este cambio contribuye a facilitar la tarea de
explotación que debe efectuar el GA en esta etapa, mediante la disminución del
intercambio de información entre cromosomas.
85
Filtro adaptivo
86
Filtro adaptivo
Ts (ms) Tp (ms)
Máximo 0.1624 0.2730
Mínimo 1.52E-06 4.21E-07
Promedio 0.0638 0.0270
6000
5000
4000
Frecuencia
3000
2000
1000
0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18
Ts (ms)
87
Filtro adaptivo
4
x 10
2.5
1.5
Frecuencia
0.5
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
Tp (ms)
88
Filtro adaptivo
89
Filtro adaptivo
a partir del promedio de los tiempos de muestreo en los que el conversor entrega el
valor máximo Vp.
Vs: su valor se obtiene a través del promedio de los valores asignados por el
conversor a la respuesta transitoria en el último 0.1ms.
Por las razones expuestas, en esta aplicación de TRAM deben hacerse las
siguientes restricciones:
90
Filtro adaptivo
este motivo, tampoco estos filtros son tenidos en cuenta como posibles
soluciones al problema.
Ganancia
ζ ωn (rad/s)
(AVDC)
Máximo 4.00 0.90 3.63E+06
Mínimo 0.25 0.03 4.34E+04
Promedio 1.15 0.39 1.90E+05
La Tabla 3-3 muestra los errores (relativos al valor obtenido del modelo
matemático del filtro) cometidos en la determinación de los parámetros de la tabla
anterior. De esta última se observa que el máximo error es inferior al 4% para todos los
parámetros estimados. Se considera entonces que mediante TRAM es posible
caracterizar adecuadamente la función de transferencia de los filtros que serán
utilizados posteriormente por el GA.
Tabla 3-3. Errores cometidos en la determinación de los parámetros funcionales de los filtros.
91
Filtro adaptivo
92
Filtro adaptivo
93
Filtro adaptivo
10%
9%
ERM (Error Relativo en Magnitud)
8%
7%
6%
5%
4%
3%
2%
1%
0%
0 5 10 15 20 25 30 35 40 45 50
N° de corrida
Figura 3-18. ERM obtenido por el GA en la banda de paso, bajo operación libre de fallas.
5%
ERM (Error Relativo en Magnitud)
4%
3%
2%
1%
0%
0 5 10 15 20 25 30 35 40 45 50
N° de corrida
Figura 3-19. ERM obtenido por el GA en el punto de corte, bajo operación libre de fallas.
94
Filtro adaptivo
12%
9%
6%
3%
0%
0 5 10 15 20 25 30 35 40 45 50
N° de corrida
Figura 3-20. ERM obtenido por el GA en la banda de transición, bajo operación libre de fallas.
20%
18%
ERM (Error Relativo en Magnitud)
16%
14%
12%
10%
8%
6%
4%
2%
0%
0 5 10 15 20 25 30 35 40 45 50
N° de corrida
Figura 3-21. ERM obtenido por el GA en la banda de atenuación, bajo operación libre de fallas.
La Tabla 3-4 muestra la caracterización del ERM en cada una de las bandas. En
la misma se consideran los errores relativos al valor nominal, en las bandas de paso,
transición, atenuación y el punto de corte. A partir de la tabla es posible comprobar de
95
Filtro adaptivo
100
90
80
Cantidad de Generaciones
70
60
50
40
30
20
10
0
0 5 10 15 20 25 30 35 40 45 50
N° de corrida
La
96
Filtro adaptivo
80% 60%
70%
50%
60%
40%
50%
ERM
ERM
40% 30%
30%
20%
20%
10%
10%
0% 0%
1 4 7 10 13 16 19 22 25 28 1 4 7 10 13 16 19 22 25 28
Generación Generación
(a) Banda de paso. (b) Punto de corte.
70% 120%
60% 100%
50%
80%
40%
ERM
ERM
60%
30%
40%
20%
10% 20%
0% 0%
1 4 7 10 13 16 19 22 25 28 1 4 7 10 13 16 19 22 25 28
Generación Generación
(c) Banda de Transición. (d) Banda de Atenuación.
Figura 3-23. Evolución del ERM en cada banda, para una corrida del GA.
97
Filtro adaptivo
7E+04
6E+04
5E+04
Fitness Máximo
4E+04
3E+04
2E+04
1E+04
0E+00
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
Generación
Figura 3-24. Evolución del fitness máximo de cada generación en una corrida del GA.
98
Filtro adaptivo
0 filtro nominal
peor diseño 1
peor diseño 2
Magnitud Hn (dB)
-50
-100
-150 3 4 5 6
10 10 10 10
Frecuencia (Hz)
Figura 3-25. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados que
presentaron mayor error, en condiciones normales de funcionamiento.
También resulta interesante tener conocimiento acerca de cuáles son los valores
de capacitores y/o de ganancias de los IA que el GA utiliza en las soluciones que
proporciona. Esta información puede resultar útil para observar la diversidad de los
valores que conforman las soluciones y determinar si los mismos se encuentran
concentrados en algunos intervalos de valores particulares dentro de los posibles. Si los
valores obtenidos se concentraran sólo en determinados intervalos, podría ocurrir que
no existieran soluciones que cumplan con las especificaciones ante algunos escenarios
de falla (por ejemplo, fallas paramétricas con desviaciones significativas), con lo cual no
sería posible evaluar el desempeño del GA en tal situación.
99
Frecuencia Frecuencia Frecuencia
0
1
2
3
4
5
6
7
8
9
100
0,5
1,5
2,5
3,5
4,5
0
1
2
3
4
0,5
1,5
2,5
3,5
4,5
0
1
2
3
4
1,07
1,07 6,92 1,07
6,92 9,62 6,92
9,62 9,62
12,39
12,39 12,39
14,22
14,22 14,22
16,44
Filtro adaptivo
16,44 16,44
18,28
18,28 18,28
20,1 20,1
20,1
22,33 22,33
22,33
25,08 25,08 25,08
28,11 28,11 28,11
33,84 33,84 33,84
37,86 37,86 37,86
40,57
Valores de capacitores
44,61
Valores de capacitores
44,61 44,61
Valores de capacitores
46,79 46,79 46,79
48,63 48,63 48,63
50,81 50,81 50,81
53,14 53,14 53,14
55,74 55,74 55,74
59,78 59,78 59,78
0
1
2
3
4
5
6
10
12
0,5
1,5
2,5
3,5
0
1
2
3
1,07 1,07 1,07
6,92 6,92 7,34
9,62 9,62 10,54
12,39 12,39 13,21
14,22 14,22
16,44 15,45
16,44
18,28 18,28 17,87
20,1 20,1 20,1
22,33 22,33 22,74
25,08 25,08 25,88
28,11 28,11 31,63
33,84 33,84
37,86 37,06
37,86
40,57 40,08
Valores de capacitores
Valores de capacitores
Valores de capacitores
44,61 44,61 45
46,79 46,79 47,22
48,63 48,63
49,5
50,81 50,81
53,14 53,14 52,22
55,74 55,74 55,35
59,78 59,78 59,78
Filtro adaptivo
7 16
6 14
12
5
10
Frecuencia
Frecuencia
4
8
3
6
2 4
1 2
0 0
1,07
6,92
9,62
20,1
12,39
14,22
16,44
18,28
22,33
25,08
28,11
33,84
37,86
40,57
42,79
44,61
46,79
48,63
50,81
53,14
55,74
59,78
1,07
6,92
9,62
20,1
12,39
14,22
16,44
18,28
22,33
25,08
28,11
33,84
37,86
40,57
42,79
44,61
46,79
48,63
50,81
53,14
55,74
59,78
Valores de capacitores Valores de capacitores
(g) Capacitor C14. (h) Capacitor C24.
Figura 3-26. Histogramas correspondientes a los capacitores.
Por otro lado, la Figura 3-27 muestra los histogramas que consideran los valores
de ganancia positivos adoptados por los IA en las soluciones alcanzadas por el GA, en
las corridas efectuadas.
101
Filtro adaptivo
25 25
20 20
15 15
Frecuencia
Frecuencia
10 10
5 5
0 0
0,5 1 1,5 2 0,5 1 1,5 2
Valores de ganancia de los IA Valores de ganancia de los IA
(a) Amplificador de entrada IA211. (b) Amplificador de entrada IA213.
20 20
18 18
16 16
14 14
12 12
Frecuencia
10
Frecuencia
10
8
8
6
6
4
4
2
2
0
0 0,5 1 1,5 2
0,5 1 1,5 2
Valores de ganancia de los IA Valores de ganancia de los IA
(c) Amplificador de entrada IA212. (d) Amplificador de entrada IA214.
Figura 3-27. Histogramas correspondientes a los amplificadores de entrada que adoptan valores
de ganancia positivos.
La Figura 3-28 muestra los histogramas que consideran los valores de ganancia
negativos adoptados por los IA en las soluciones proporcionadas por el GA, en las 50
corridas realizadas.
102
Filtro adaptivo
18 20
16 18
14 16
14
12
Frecuencia
Frecuencia
12
10
10
8
8
6
6
4 4
2 2
0 0
-2 -1,5 -1 -0,5 -2 -1,5 -1 -0,5
Valores de ganancia de los IA Valores de ganancia de los IA
(a) Amplificador de entrada IA111. (b) Amplificador de entrada IA121.
16 25
14
12 20
10
15
Frecuencia
Frecuencia
6 10
4
5
2
0 0
-2 -1,5 -1 -0,5 -2 -1,5 -1 -0,5
Valores de ganancia de los IA Valores de ganancia de los IA
(c) Amplificador de entrada IA112. (d) Amplificador de entrada IA122.
30 25
25
20
20
15
Frecuencia
Frecuencia
15
10
10
5 5
0 0
-2 -1,5 -1 -0,5 -2 -1,5 -1 -0,5
Valores de ganancia de los IA Valores de ganancia de los IA
(e) Amplificador de entrada IA113. (f) Amplificador de entrada IA123.
103
Filtro adaptivo
18 25
16
14 20
12
15
10
Frecuencia
Frecuencia
8
10
6
4 5
2
0 0
-2 -1,5 -1 -0,5 -2 -1,5 -1 -0,5
Valores de ganancia de los IA Valores de ganancia de los IA
(g) Amplificador de entrada IA114. (h) Amplificador de entrada IA124.
Figura 3-28. Histogramas correspondientes a los amplificadores de entrada que adoptan valores
de ganancia negativos.
10% 5%
9%
8% 4%
7%
6% 3%
ERM
ERM
5%
4% 2%
3%
2% 1%
1%
0% 0%
-50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50% -50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50%
Porcentaje de desviación Porcentaje de desviación
(a) Banda de paso. (b) Punto de corte.
104
Filtro adaptivo
15% 20%
18%
12% 16%
14%
9% 12%
ERM
10%
ERM
6% 8%
6%
3% 4%
2%
0% 0%
-50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50% -50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50%
Porcentaje de desviación Porcentaje de desviación
(c) Banda de transición. (d) Banda de atenuación.
Figura 3-29. ERM obtenido por el GA en cada banda, para el Modelo de Falla 1.
La figura muestra que en todas las bandas los errores relativos no superan los
errores tolerables máximos definidos. Esto significa que aún bajo la presencia de
desviaciones significativas en los valores de sus ocho capacitores, el filtro de alto orden
puede continuar funcionando de acuerdo a las especificaciones, debido a que el GA
encuentra siempre una configuración apropiada para el mismo.
Por otro lado, en la Tabla 3-7 se muestran los resultados obtenidos en cuanto a
cantidad de generaciones. Ante la presencia de las fallas consideradas en este modelo, el
105
Filtro adaptivo
Por otro lado, la Figura 3-30 muestra la respuesta en frecuencia de los dos peores
casos de los filtros encontrados por el GA en las corridas efectuadas bajo este modelo
de falla, junto con el filtro nominal (referencia).
0 filtro nominal
peor caso 1
peor caso 2
Magnitud Hn (dB)
-50
-100
-150 3 4 5 6
10 10 10 10
Frecuencia (Hz)
Figura 3-30. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados que
presentaron mayor error, bajo el Modelo de Falla 1.
En la figura, los dos filtros evolucionados que presentaron mayor error en las
corridas efectuadas, presentan una respuesta que satisface las especificaciones en las
cuatro bandas. Particularmente, la respuesta del filtro referenciado como “peor caso 1”
presenta un ERM de 9.21% en la banda de paso, 4.94% en el punto de corte, 9.55% en
la banda de transición y 6.47% en la banda de atenuación. Por otro lado, la respuesta
correspondiente al filtro denominado “peor caso 2”, proporciona un ERM de 9.97% en
la banda de paso, 1.29% en el punto de corte, 8.99% en la banda de transición y 5.29%
en la banda de atenuación.
106
Filtro adaptivo
10% 5%
9%
8% 4%
7%
6% 3%
5%
ERM
ERM
4% 2%
3%
2% 1%
1%
0% 0%
-50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50% -50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50%
Porcentaje de desviación Porcentaje de desviación
(a) Banda de paso. (b) Punto de corte.
15% 20%
18%
12% 16%
14%
9% 12%
10%
ERM
ERM
6% 8%
6%
3% 4%
2%
0% 0%
-50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50% -50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50%
Porcentaje de desviación Porcentaje de desviación
(c) Banda de Transición. (d) Banda de atenuación.
Figura 3-31. ERM obtenido por el GA en cada banda, para el Modelo de Falla 2.
En la Tabla 3-8 se resumen los ERM alcanzados en cada una de las bandas. Si
los mismos se comparan con los obtenidos bajo operación normal, puede observarse
107
Filtro adaptivo
que ante la presencia de fallas el error máximo disminuye en todas las bandas. El
promedio del error también presenta este comportamiento, a excepción de la banda de
paso en la cual aumenta levemente. Por otro lado, el error mínimo disminuye en la
banda de transición, mientras que en las demás bandas se incrementa.
0 filtro nominal
peor diseño 1
peor diseño 2
Magnitud Hn (dB)
-50
-100
-150 3 4 5 6
10 10 10 10
Frecuencia (Hz)
Figura 3-32. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados que
presentaron mayor error, bajo el Modelo de Falla 2.
108
Filtro adaptivo
En la figura, es posible observar que los dos filtros evolucionados que presentaron
mayor error en las corridas efectuadas, presentan una respuesta que cumple con las
especificaciones en las cuatro bandas. En particular, la respuesta del filtro referenciado
como “peor diseño 1” presenta un ERM de 8.83% en la banda de paso, 2.12% en el
punto de corte, 8.27% en la banda de transición y 0.76% en la banda de atenuación. Por
otro lado, la respuesta correspondiente al filtro denominado “peor diseño 2”,
proporciona un ERM de 6.19% en la banda de paso, 1.84% en el punto de corte,
11.54% en la banda de transición y 10.60% en la banda de atenuación.
10% 5%
9%
8% 4%
7%
6% 3%
5%
ERM
ERM
4% 2%
3%
2% 1%
1%
0% 0%
-50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50% -50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50%
Porcentaje de desviación Porcentaje de desviación
(a) Banda de paso. (b) Punto de corte.
109
Filtro adaptivo
15% 20%
18%
12% 16%
14%
9% 12%
10%
ERM
ERM
6% 8%
6%
3% 4%
2%
0% 0%
-50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50% -50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50%
Porcentaje de desviación Porcentaje de desviación
(c) Banda de transición. (d) Banda de atenuación.
Figura 3-33. ERM obtenido por el GA en cada banda, para el Modelo de Falla 3.
110
Filtro adaptivo
Por otro lado, la Figura 3-34 muestra la respuesta en frecuencia de los dos peores
casos de los filtros encontrados por el GA en las corridas efectuadas bajo este modelo
de falla, junto con el filtro nominal.
0 filtro nominal
peor caso 1
peor caso 2
Magnitud Hn (dB)
-50
-100
-150 3 4 5 6
10 10 10 10
Frecuencia (Hz)
Figura 3-34. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados que
presentaron mayor error, bajo el Modelo de Falla 3.
111
Filtro adaptivo
10% 5%
9%
8% 4%
7%
6% 3%
5%
ERM
ERM
4% 2%
3%
2% 1%
1%
0% 0%
-50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50% -50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50%
Porcentaje de desviación Porcentaje de desviación
(a) Banda de paso. (b) Punto de corte.
15% 20%
18%
12% 16%
14%
9% 12%
10%
ERM
ERM
6% 8%
6%
3% 4%
2%
0% 0%
-50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50% -50% -40% -30% -20% -10% 0% 10% 20% 30% 40% 50%
Porcentaje de desviación Porcentaje de desviación
(c) Banda de transición. (d) Banda de atenuación.
Figura 3-35. ERM obtenido por el GA en cada banda, para el Modelo de Falla 4.
En la Tabla 3-12 se caracterizan los ERM obtenidos para cada banda en las
simulaciones realizadas. En comparación con los obtenidos bajo condiciones normales,
se observa que ante la presencia de las fallas direccionadas en este modelo, el error
máximo y el error promedio disminuyen en todas las bandas. Con respecto al error
mínimo, éste disminuye en el punto de corte y en la banda de transición, mientras que
se incrementa en las bandas restantes.
112
Filtro adaptivo
Por otro lado, la Figura 3-36 muestra la respuesta en frecuencia de los dos peores
casos de los filtros encontrados por el GA en las corridas efectuadas bajo este modelo
de falla, junto con el filtro nominal (referencia).
0 filtro nominal
peor caso 1
peor caso 2
Magnitud Hn (dB)
-50
-100
-150 3 4 5 6
10 10 10 10
Frecuencia (Hz)
Figura 3-36. Respuesta en frecuencia del filtro nominal y de los filtros evolucionados que
presentaron mayor error, bajo el Modelo de Falla 4.
En la figura, es posible observar que los dos filtros evolucionados que presentaron
mayor error en las corridas efectuadas, presentan una respuesta que cumple con las
especificaciones en las cuatro bandas. En particular, la respuesta del filtro referenciado
como “peor caso 1” presenta un ERM de 9.26% en la banda de paso, 1.20% en el
punto de corte, 4.74% en la banda de transición y 3.05% en la banda de atenuación. Por
otro lado, la respuesta correspondiente al filtro denominado “peor caso 2”, proporciona
un ERM de 7.33% en la banda de paso, 2.59% en el punto de corte, 11.54% en la
banda de transición y 1.30% en la banda de atenuación.
113
Filtro adaptivo
3.8. Conclusiones
Se presentó en este capítulo un filtro adaptivo de octavo orden, basado en un
esquema de tolerancia a fallas adaptiva. La aplicación de estrategias de EHW en filtros
de este orden no había sido abordada antes, tanto en el EHW orientado al diseño como
en el hardware adaptivo.
114
Filtro adaptivo
3.9. Referencias
[1] A. Laknaur, H. Wang, A methodology to perform online self-testing for field-programmable analog arrays, IEEE
Transactions on Instrumentation and measurement, Volumen 54, Número 5, pp 1751-1760,
Octubre 2005. ISSN: 0018-9456. DOI: 10.1109/TIM.2005.855096.
[2] L. Sekanina, Evolvable computing by means of evolvable components. Natural Computing, 3(3), pp. 253-292,
2004.
[3] J. Torresen, An evolvable hardware tutorial. In Field Programmable Logic and Application (pp. 821-
830). Springer Berlin Heidelberg, 2004.
[4] P. C. Haddow, A. M. Tyrrell, Challenges of evolvable hardware: past, present and the path to a promising
future. Genetic Programming and Evolvable Machines, 12(3), pp. 183-215, 2011.
[5] J. Calvano, V. Alves, M. Lubaszeswski, Fault detection methodology for second order filters using compact test
vectors transient analysis, in Proceedings 3rd. International Workshop on Design of Mixed-Mode
Integrated Circuits and Applications, pp. 18-24, 1999.
[6] J. Chen, S. Kher, A. Soman, Distributed Fault Detection of Wireless Sensor Networks, Proc. 2006 workshop
on Dependability issues in wireless ad hoc networks and sensor networks, 2006.
[7] M. Lovay, G. Peretti, E. Romero, C. Marqués, Fault-tolerant Filter based on an Evolvable Hardware
Technique: a case study. Simposio Argentino de Tecnología 2012 (41° JAIIO), Facultad de Informática,
Universidad Nacional de La Plata, agosto de 2012.
[8] M. Lovay, Filtro adaptivo basado en dispositivos programables. V Jornadas de Ciencia y Tecnología (Cytal
2012), Facultad Regional Villa María, Universidad Tecnológica Nacional, agosto de 2012.
[9] M. Lovay, G. Peretti, E. Romero, C. Marqués, Comparación experimental de algoritmos genéticos en un filtro
tolerante a fallas. 3º Congreso de Microelectrónica Aplicada (uEA 2012), Facultad de Ciencias Exactas,
Ingeniería y Agrimensura, Universidad Nacional de Rosario, setiembre de 2012.
[10] M. Lovay, G. Peretti, E. Romero, C. Marqués, Application of a Genetic Algorithm in a Fault-tolerant Filter.
Aceptado en el Simposio Argentino de Tecnología 2013 (42° JAIIO), Facultad de Matemática,
Astronomía y Física, Universidad Nacional Córdoba, setiembre de 2013.
[11] M. Lovay, G. Peretti, E. Romero, C. Marqués, Tolerancia a fallas en un filtro de alto orden mediante una
estrategia de hardware evolutivo. Aceptado para el 4º Congreso de Microelectrónica Aplicada (uEA 2013),
Facultad Regional Bahía Blanca, Universidad Tecnológica Nacional, setiembre de 2013.
[12] R. Salvador, A. Otero, J. Mora, E. de la Torre, L. Sekanina, T. Riesgo, Fault tolerance analysis and self-
healing strategy of autonomous, evolvable hardware systems. In Reconfigurable Computing and FPGAs
(ReConFig), 2011 International Conference on IEEE, pp. 164-169, November 2011.
[13] E. Benkhelifa, A. Pipe, G. Dragffy, M. Nibouche, Towards evolving fault tolerant biologically inspired
hardware using evolutionary algorithms. In Evolutionary Computation, 2007. CEC 2007. IEEE Congress,
pp. 1548-1554, September 2007.
[14] Nota de aplicación. ispPAC10 biquad filter implementation, Lattice Semiconductor Corporation.
Septiembre 2000.
[15] Pac-Designer Software User Manual, Lattice Semiconductor Corporation, 2011.
[16] Nota de aplicación. Designing high-order filters with the ispPAC10. Lattice Semiconductor Corporation.
Julio 2002.
115
Filtro adaptivo
[17] J. Calvano, V. Alves, M. Lubaszeswski, Fault detection methodology and BIST method for 2nd
order Butterworth, Chebyshev and Bessel approximations. Proceedings 18th IEEE VLSI Test
Symposium, pp. 319-324, 2000
[18] J. Peralta, G. Peretti, E. Romero, C. Marqués, A new performance characterization of transient analysis
method. International Journal of Electronics, Communications and Computer Engineering, 3:12-19,
2009.
[19] J. Peralta, M. Lovay, G. Peretti, E. Romero, C. Marqués, Evaluación de la capacidad del test basado en
transitorio para detectar fallas de degradación, Mecánica Computacional Vol. XXVIII, pp. 2943-2953,
November 2009.
[20] J. Peralta, G. Peretti, E. Romero, C. Marqués, Evaluation of circuit test strategies using statistical fault models:
a case study, Mecánica Computacional, vol. 26, pp. 2007-2015, Spanish, 2007.
[21] J. Peralta, G. Peretti, E. Romero, G. Demarco, C. Marqués, Quality Assessment of Transient Response
Analysis Method for Detecting Radiation-Induced Faults, International Journal of Quality, Statistics, and
Reliability, Volume 2011, 2011.
[22] J. Peralta, G. Peretti, A. Laprovitta, E. Romero, C. Marqués, Evaluation of the transient analysis method
ability for detecting deviation faults in space environments, Argentine School of Micro-Nanoelectronics
Technology and Applications (EAMTA), 2011.
[23] T. Balen, J. Calvano, M. Lubaszewski, M. Renovell, Buil-in self-test of field programmable analog arrays
based on transient response analysis. J. Electron Test. Volumen 23. Número 6, pp. 497-512. Diciembre
2007. ISSN: 1573-0727. DOI: 10.1007/s10836-007-5004-8.
[24] B. Kuo. "Sistemas de control automático". Séptima Edición. pp. 387-398. México. 1996.pp. 387-398.
[25] El-Ghazali Talbi. “Metaheuristics From Design to Implementation”. Wiley. pp. 208-345. USA.
ISBN: 978-0-470-27858-1. Año 2009.
[26] K. Deb. "Multi-Objective Optimization using Evolutionary Algorithms", Wiley, pp. 49-60. Kanpur,
India. ISBN: 978-0-470-74361-4. Año 2009.
[27] C. Coello Coello, G. Lamont, D. Van Veldhuizen, Evolutionary Algorithms for solving Multi-Objective
Problems. Springer, Segunda Edición, pp. 31-51. USA. ISBN: 978-0-387-33254-3. Año 2007.
[28] J. Branke, K. Deb, K. Miettinen, Multiobjective optimization: interactive and evolutionary
approaches. Springer, 2008.
[29] Y. Collette, P. Siarry, Multiobjective optimization: principles and case studies. Springer, 2003.
[30] X. Yu, M. Gen, Introduction to Evolutionary Algorithms. Springer, 2010.
[31] D. Goldberg, Genetic Algorithm. Search, optimization and machine learning, Addison-Wesley, 1989.
[32] J. Hereford, Fault-tolerant sensor systems using evolvable hardware, IEEE Trans. Instrum. Meas, vol. 55, pp.
846-853, June 2006.
[33] M. Lovay, G. Peretti, E. Romero, C. Marqués, An adaptive amplifier system for wireless sensor network
applications. Journal of Electrical and Computer Engineering. Vol. 2012, Article ID 762927, 14 pages.
ISSN: 2090-0155 (Online). DOI: 10.1155/2012/762927, 2012.
[34] M. Hartmann, P. C. Haddow, Evolution of fault-tolerant and noise-robust digital designs. In Computers and
Digital Techniques, IEE Proceedings, Vol. 151, No. 4, pp. 287-294, IET, July 2004.
[35] C. A. C. Coello, A. D. Christiansen, A. H. Aguirre, Use of evolutionary techniques to automate the design of
combinational circuits. International Journal of Smart Engineering System Design, 2, pp. 299-314, 2000.
116
Filtro adaptivo
117
118
4. Amplificador adaptivo
4.1. Introducción
Las WSN normalmente están constituidas por una colección de nodos que
disponen de capacidades de procesamiento y comunicación de datos, enlaces de
radiofrecuencia y los circuitos electrónicos necesarios para la adecuación y conversión
de las señales provenientes de sensores de diferentes tipos [1]. Generalmente, una
computadora central recibe los datos de los nodos y realiza funciones adicionales que
dependen de la naturaleza del sistema. Las aplicaciones de las redes de sensores
inalámbricas son diversas, pudiéndose señalar las redes de sensores industriales,
monitoreo del ambiente, domótica y atención médica [2].
119
Amplificador adaptivo
Por otro lado, para lograr características adaptivas de algunos circuitos críticos
del nodo, pueden utilizarse estrategias de EHW. Particularmente, pueden aplicarse las
estrategias comprendidas en la categoría de tolerancia a fallas adaptiva, mencionadas en
el Capítulo 1. Estas últimas ofrecen una alternativa a los esquemas tradicionales de
tolerancia a fallas [6], [7], [8].
120
Amplificador adaptivo
Entrada Salida
+
-
Entrada +
RtapMux EXGAIN
Fh X
-
R
R
Salida
X R
Eh
R
Rb
R
Bloque_CT Ra R
Bloque_SC X
VSS
Dh
AGND Ganancia 1h 1
0h R
Referencia 1
R
(a) (b)
( )( ⁄ ) (1)
121
Amplificador adaptivo
( - )( ) (2)
Ganancia
SALIDA
Vin
+
VDD
-
RtopMux
Matriz de resistencias
Ganancia
EXGAIN
RtapMux
RobtMux+
VSS
Figura 4-2. Configuración del bloque CT para testear la matriz de resistencias (diagrama
simplificado).
122
Amplificador adaptivo
Una estrategia SBST chequea durante los tiempos inactivos del sistema las
ganancias disponibles de cada amplificador y determina si es necesaria una
reconfiguración del sistema. Además, varias rutinas se ejecutan en el nodo para
controlar el funcionamiento general del sistema, incluyendo la comunicación con la
computadora central, en la cual se ejecuta el GA que encuentra los valores para permitir
la reconfiguración del sistema. Los valores evolucionados de ganancia son cargados
nuevamente en el hardware para continuar el funcionamiento normal.
123
Amplificador adaptivo
Recursos del
Algoritmos de comunicación, evaluación y control
Sistema
SBST
Amplificador analógico
Computadora central
Algoritmo de
Procesamiento
reconfiguración Módulo de
de datos de
basado en un comunicación
reconfiguración
GA
124
Amplificador adaptivo
dispone las conexiones de los PGAs de manera de poder tener acceso a las matrices de
resistencias (Figura 4-2). Adicionalmente, son empleados otros módulos que son
necesarios para el proceso de test, por ejemplo ADCs.
125
Amplificador adaptivo
encuentran dentro de los límites especificados por el usuario. Debido a que las
relaciones entre resistencias determinan los valores de ganancia de los PGA, la rutina
indirectamente chequea la exactitud de estos valores, evitando el uso de estímulos de
test. Si las ganancias se encuentran fuera de los límites permitidos por las necesidades
de la aplicación (incluyendo los errores de medición), se considera que el sistema
presenta fallas y un proceso de reconfiguración se inicia en la computadora central.
4.4.1. Implementación
El algoritmo desarrollado mantiene la estructura básica de un GA clásico [23]
(presentada en el Capítulo 1), con la adición de una etapa de reparación que se lleva a
cabo luego del proceso de mutación. La Figura 4-5 muestra, mediante un diagrama de
flujo, los procesos llevados a cabo por el GA.
Operadores genéticos
1. Inicializar
2. Evaluación 3. Selección 4. Cruce 5. Mutación
Población
No 7. Criterio
6.
de parada
Reparación
cumplido?
Si
8. Solución
127
Amplificador adaptivo
Fenotipo
G1=VPGA1(i) G2=VPGA2(j) G3=VPGA3(k) G4=VPGA4(l)
i j k l
128
Amplificador adaptivo
(| |) (3)
4 BW 2
1
k 1 pk
2 .
(4)
⁄ , (
(5)
129
Amplificador adaptivo
| |, (6)
( )
(7)
Por otro lado, el GA utiliza una técnica de penalización que disminuye el valor
de fitness de los individuos con BW inferior a ε, aun cuando los mismos presentan un
valor de ganancia dentro de las especificaciones. Consecuentemente, estos individuos
adoptan un valor de fitness más bajo (Lf), de acuerdo a la siguiente expresión:
( )
(8)
130
Amplificador adaptivo
Debe destacarse que la cantidad posible de genes ilegales en este caso es elevada
con respecto a la cantidad de valores permitidos, lo que provoca que el proceso de
reparación sea utilizado con frecuencia por el algoritmo. La utilización de un método de
reparación no apropiado puede ocasionar que el GA desvíe considerablemente su
búsqueda en cada generación y necesite mayor cantidad de generaciones para converger
o que no llegue a encontrar una solución adecuada.
131
Amplificador adaptivo
De esta manera, se convierte cada gen ilegal en un nuevo gen denominado gen
reparado (Gr), de acuerdo a la siguiente expresión:
( ) (9)
En (9), DistGi representa la distancia entre el gen ilegal Gi (el cual adopta
valores entre 37 y 64) y el valor 36 que es el último valor permitido.
Por otro lado, Coefr es el coeficiente de reemplazo, el cual debe ser incorporado
debido a que la cantidad de genes ilegales posibles es menor a la cantidad de valores
permitidos posibles. En consecuencia, no se puede asignar directamente el valor de
DistGi al gen reparado Gr, porque quedarían valores permitidos que nunca
intervendrían en el reemplazo. Por este motivo, se incorpora a (9) el valor Coef r con el
propósito de que todos los valores permitidos puedan intervenir en el proceso de
reparación. El coeficiente adopta en este caso el valor 1.29, el cual surge de la siguiente
expresión:
(11)
132
Amplificador adaptivo
133
Amplificador adaptivo
134
Amplificador adaptivo
Entrada
Salida
+
-
RtapMux EXGAIN
3R
Eh x
3R
0h 3R
0
1h 1 R
0h 1 R
135
Amplificador adaptivo
Se efectuaron 50 corridas del GA para cada uno de los valores propuestos para
la ganancia objetivo (15, 8 y 2). La distribución de los resultados obtenidos puede
observarse en los diagramas de dispersión de la Figura 4-8 (se muestra un diagrama de
dispersión para cada ganancia objetivo propuesta). En los mismos, cada punto es una
solución al problema de optimización cambiando la semilla, y se muestra el error
relativo en la ganancia y el ancho de banda obtenido, para la ganancia objetivo
considerada.
136
Amplificador adaptivo
6,5E+06 7,5E+06
7,0E+06
Ancho de banda (rad/seg)
5,5E+06
5,0E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
(a) Ganancia objetivo: 15. (b) Ganancia objetivo: 8
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% -3% -1% 1% 3% 5%
Error relativo en la ganancia
Figura 4-8. Error relativo en la ganancia vs. ancho de banda, bajo operación libre de fallas.
La Tabla 4-3 muestra una caracterización del error relativo para los tres valores
de ganancia considerados. Como medida de tendencia central se adoptó la mediana
debido a que la distribución de los datos es no normal. Se presentan también el máximo
y el mínimo como medidas de dispersión. Es posible observar que el error relativo en la
ganancia es inferior al requerido (±5%) en todos los casos. Además, la mediana del
error relativo se acerca a cero para todas las ganancias objetivo.
137
Amplificador adaptivo
Tabla 4-3. Caracterización del error relativo en la ganancia bajo condición libre de fallas.
138
Amplificador adaptivo
25
25
Cantidad de generaciones
Cantidad de generaciones
20
20
15 15
10 10
5 5
0 0
0 10 20 30 40 50 0 10 20 30 40 50
N° de corrida N° de corrida
25
Cantidad de generaciones
20
15
10
0
0 10 20 30 40 50
N° de corrida
(c) Ganancia objetivo: 2.
Cantidad de generaciones
Ganancia objetivo
Mediana Mínimo Máximo
15 5 1 23
8 4.5 1 19
2 2 1 11
139
Amplificador adaptivo
visualizan a continuación histogramas que muestran para cada PGA los valores de
ganancia que participan en dichas soluciones.
6 9
8
5
7
4 6
5
Frecuencia
Frecuencia
3
4
2 3
2
1
1
0 0
0,6867
0,0199
0,0615
0,1861
0,3114
0,4366
0,5617
0,8120
0,9370
1,0000
1,1435
1,3348
1,6028
2,0032
2,6731
4,0193
8,0775
1,3326
0,0215
0,0634
0,1882
0,3132
0,4380
0,5633
0,6880
0,8131
0,9376
1,0000
1,1426
1,5990
1,9976
2,6624
3,9872
7,9491
24,5700
23,6407
Valores de ganancia Valores de ganancia
(a) PGA1. (b) PGA2.
8
10 7
8 6
5
6
Frecuencia
4
Frecuencia
4 3
2
2
1
0 0
0,0223
0,0641
0,1893
0,3143
0,4391
0,5636
0,6881
0,8129
0,9374
1,0000
1,1429
1,3324
1,5982
1,9952
2,6546
3,9683
7,8927
23,2558
1,3326
0,0211
0,0604
0,1867
0,3125
0,4373
0,5634
0,6860
0,8120
0,9376
1,0000
1,1435
1,5992
2,0028
2,6724
4,0016
7,9681
24,3309
Figura 4-10. Histogramas correspondientes a cada PGA, para la ganancia objetivo 15.
140
Amplificador adaptivo
8 10
7 9
8
6
7
5 6
Frecuencia
Frecuencia
4 5
3 4
3
2
2
1 1
0 0
0,9370
2,0032
0,0634
0,0199
0,0615
0,1861
0,3114
0,4366
0,5617
0,6867
0,8120
1,0000
1,1435
1,3348
1,6028
2,6731
4,0193
8,0775
0,0215
0,1882
0,3132
0,4380
0,5633
0,6880
0,8131
0,9376
1,0000
1,1426
1,3326
1,5990
1,9976
2,6624
3,9872
7,9491
24,5700
23,6407
Valores de ganancia Valores de ganancia
(a) PGA1. (b) PGA2.
9
10
9 8
8 7
7 6
6
Frecuencia
5
Frecuencia
5
4
4
3
3
2 2
1 1
0 0
1,0000
2,6546
0,0223
0,0641
0,1893
0,3143
0,4391
0,5636
0,6881
0,8129
0,9374
1,1429
1,3324
1,5982
1,9952
3,9683
7,8927
23,2558
0,0604
0,5634
1,0000
0,0211
0,1867
0,3125
0,4373
0,6860
0,8120
0,9376
1,1435
1,3326
1,5992
2,0028
2,6724
4,0016
7,9681
24,3309
Valores de ganancia Valores de ganancia
(c) PGA3. (d) PGA4.
141
Amplificador adaptivo
5 4
4,5
4
3
3,5
Frecuencia
Frecuencia
3
2,5 2
2
1,5
1
1
0,5
0 0
1,1435
2,0032
8,0775
0,0199
0,0615
0,1861
0,3114
0,4366
0,5617
0,6867
0,8120
0,9370
1,0000
1,3348
1,6028
2,6731
4,0193
1,3326
0,0215
0,0634
0,1882
0,3132
0,4380
0,5633
0,6880
0,8131
0,9376
1,0000
1,1426
1,5990
1,9976
2,6624
3,9872
7,9491
24,5700
23,6407
Valores de ganancia Valores de ganancia
(a) PGA1. (b) PGA2.
5 8
4,5 7
4
6
3,5
3 5
Frecuencia
Frecuencia
2,5 4
2 3
1,5
2
1
0,5 1
0 0
1,3326
0,0223
0,0641
0,1893
0,3143
0,4391
0,5636
0,6881
0,8129
0,9374
1,0000
1,1429
1,3324
1,5982
1,9952
2,6546
3,9683
7,8927
0,0211
0,0604
0,1867
0,3125
0,4373
0,5634
0,6860
0,8120
0,9376
1,0000
1,1435
1,5992
2,0028
2,6724
4,0016
7,9681
23,2558
24,3309
Valores de ganancia Valores de ganancia
(c) PGA3. (d) PGA4.
142
Amplificador adaptivo
que permite estimar que ante la presencia de fallas que impidan la programación de
alguno de los valores de ganancia o impliquen desviaciones en sus valores nominales, el
GA pueda continuar encontrando soluciones que permitan cumplir con las
especificaciones.
6,5E+06 8,0E+06
7,5E+06
Ancho de Banda (rad/seg)
6,0E+06
7,0E+06
5,5E+06 6,5E+06
6,0E+06
5,0E+06 5,5E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% -3% -1% 1% 3% 5% -5% -3% -1% 1% 3% 5%
Error relativo en la ganancia Error relativo en la ganancia
143
Amplificador adaptivo
1,1E+07
1,0E+07
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% -3% -1% 1% 3% 5%
Error relativo en la ganancia
Figura 4-13. Error relativo en la ganancia vs. ancho de banda, bajo el Modelo de Falla 1.
Es posible observar que el error en la ganancia es inferior a ±5% para todas las
ganancias objetivo, mientras que el ancho de banda supera al BW mínimo tolerable.
Tabla 4-3), puede observarse que cuando hay fallas el sistema presenta como
peor caso un incremento de 0.41% en el rango de error para la ganancia 8. Por otro
lado, la mediana del error relativo decrementa para las tres ganancias, lo cual indica
posibles cambios en la distribución del error. En todos los experimentos, el GA es
capaz de alcanzar la ganancia objetivo, con errores para todas las ganancias en el rango
[-4.99%, 4.96%].
Tabla 4-6. Caracterización del error relativo en la ganancia bajo el Modelo de Falla 1.
144
Amplificador adaptivo
Tabla 4-5), puede observarse que ante la presencia de fallas la mediana presenta
variaciones para las tres ganancias, mientras que el mínimo se mantiene constante. Por
otro lado, el máximo se incrementa en todos los casos, no obstante, el mismo no supera
la cantidad máxima de generaciones definida.
Cantidad de generaciones
Ganancia objetivo
Mediana Mínimo Máximo
15 5 1 25
8 3 1 25
2 3 1 22
145
Amplificador adaptivo
6,5E+06 8,0E+06
7,5E+06
Ancho de banada (rad/seg)
6,0E+06
7,0E+06
5,5E+06 6,5E+06
6,0E+06
5,0E+06 5,5E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% -3% -1% 1% 3% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
Ancho de banada (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% -3% -1% 1% 3% 5%
Error relativo en la ganancia
Figura 4-14. Error relativo en la ganancia vs. ancho de banda, bajo el Modelo de Falla 2.
146
Amplificador adaptivo
Tabla 4-3), es posible apreciar que cuando hay fallas el sistema presenta como
peor caso un incremento de 0.29% en el rango de error para la ganancia 8. La mediana
del error relativo se incrementa para las ganancias 8 y 15, mientras disminuye para la
ganancia 2. En todos los experimentos, el GA es capaz de alcanzar la ganancia objetivo,
con errores para todas las ganancias en el rango [-4.96%, 4.99%].
Tabla 4-9. Caracterización del error relativo en la ganancia bajo el Modelo de Falla 2.
147
Amplificador adaptivo
Cantidad de generaciones
Ganancia objetivo
Mediana Mínimo Máximo
15 6 1 25
8 4 1 19
2 3 1 18
Como puede observarse, el error en la ganancia es inferior a ±5% para todas las
ganancias objetivo, mientras que el ancho de banda supera al BW mínimo tolerable.
En la
148
Amplificador adaptivo
4.99%]. La comparación de estos resultados con los obtenidos bajo operación libre de
fallas (
Tabla 4-3) muestra que ante la presencia de las fallas consideradas en este
modelo de falla se manifiesta en el peor caso un incremento de 0.29% en el rango de
error para la ganancia 8. La mediana del error relativo decrementa para las ganancias 2 y
15, mientras que para la ganancia 8, aumenta.
6,5E+06 8,0E+06
7,5E+06
Ancho de banda (rad/seg)
6,0E+06
5,5E+06 6,5E+06
6,0E+06
5,0E+06 5,5E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
(a) Ganancia objetivo: 15. (b) Ganancia objetivo: 8.
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
(c) Ganancia objetivo: 2.
Figura 4-15. Error relativo en la ganancia vs. ancho de banda, bajo el Modelo de Falla 3.
Tabla 4-12. Caracterización del error relativo en la ganancia bajo el Modelo de Falla 3.
149
Amplificador adaptivo
Cantidad de generaciones
Ganancia objetivo
Mediana Mínimo Máximo
150
Amplificador adaptivo
15 4 2 23
8 5 1 24
2 3 1 13
6,0E+06 7,5E+06
5,8E+06 7,0E+06
Ancho de banda (rad/seg)
5,6E+06
Ancho de banda (rad/seg)
5,4E+06 6,5E+06
5,2E+06 6,0E+06
5,0E+06
5,5E+06
4,8E+06
4,6E+06 5,0E+06
4,4E+06
4,5E+06
4,2E+06
4,0E+06 4,0E+06
-5% -3% -1% 1% 3% 5% -5% -3% -1% 1% 3% 5%
Error relativo en la ganancia Error relativo en la ganancia
(a) Ganancia objetivo: 15. (b) Ganancia objetivo: 8.
1,0E+07
9,0E+06
Ancho de banda (rad/seg)
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% -3% -1% 1% 3% 5%
Error relativo en la ganancia
(c) Ganancia objetivo: 2.
Figura 4-16. Error relativo en la ganancia vs. ancho de banda, bajo el Modelo de Falla 4.
151
Amplificador adaptivo
La Tabla 4-15 resume los efectos del Modelo de Falla 4 en el error relativo en la
ganancia, correspondiente a las soluciones proporcionadas por el GA. Comparando los
resultados obtenidos bajo condición libre de fallas (
Tabla 4-3) y con fallas, se observa que cuando hay fallas se presenta una
disminución en el error relativo para todas las ganancias, a pesar de la presencia de fallas
de desviación relativamente altas. La mediana del error relativo se incrementa para la
ganancia 15 mientras para las otras dos ganancias decrementa, lo cual sugiere cambios
en la distribución del error entre la operación normal y con falla.
Tabla 4-15. Caracterización del error relativo en la ganancia bajo el Modelo de Falla 4.
152
Amplificador adaptivo
Cantidad de generaciones
Ganancia objetivo
Mediana Mínimo Máximo
15 3 1 24
8 4 1 16
2 3 1 11
153
Amplificador adaptivo
máximo valor del tiempo de ejecución obtenido en el peor caso (ganancia 8 para el
Modelo de Falla 3 y ganancia 15 para los otros modelos de falla). En la condición más
desfavorable (Modelo de Falla 1), el GA es 482.81 veces más rápido que ESM. En la
mejor condición (libre de fallas), el GA es 641.40 veces más rápido que ESM.
4.8. Conclusiones
En este capítulo se ha presentado un amplificador adaptivo implementado con
amplificadores de ganancia programable en un dispositivo PSoC que es parte de un
nodo sensor en una red inalámbrica de sensado. La aplicación de estrategias de EHW
en este tipo de plataformas reconfigurables no había sido abordada antes.
El sistema está compuesto por un esquema SBST que chequea todas las
ganancias disponibles en el amplificador y por un GA que se ejecuta en una
computadora externa con el propósito de reconfigurar los recursos del chip. Con
referencia al esquema SBST, esta es la primera aplicación del mismo como parte de una
estrategia de EHW. Con respecto al GA, el mismo tiene características diferentes a las
del algoritmo descripto en el Capítulo 3, debido a que en este caso de estudio el
problema de optimización es distinto. No obstante, el GA desarrollado resulta ser
154
Amplificador adaptivo
robusto para los tipos de fallas considerados. Los resultados de las simulaciones
efectuadas muestran que el sistema mantiene la ganancia objetivo y el BW dentro de las
especificaciones, a pesar de la presencia de fallas catastróficas y de desviación. Además,
el algoritmo resulta ser considerablemente más eficiente que el método de búsqueda
exhaustiva.
4.9. Referencias
[1] J. Chen, S. Kher, A. Soman, Distributed Fault Detection of Wireless Sensor Networks, in Proceedings of the
2006 workshop on Dependability issues in wireless ad hoc networks and sensor networks, pp. 65-72,
2006.
[2] A. Flammini, P. Ferrari, D. Marioli, E. Sisinni, A. Taroni, Wired and wireless sensor networks for industrial
applications, Microelectron J., vol. 40, no.9, pp.1322-1336, 2009.
[3] R. Zhang, Z. Zilic, K. Radecka, Energy efficient software-based self-test for wireless sensor network nodes, in
Proceedings 24th IEEE VLSI Test Symposium, pp. 191-196, 2006.
[4] A. Krstic, L. Wei-Cheng, C. Kwang-Ting, L. Chen, S. Dey, Embedded software-based self-test for
programmable core-based designs, IEEE Des. Test Comput., vol. 19, no.4, pp. 18-27, 2002.
[5] M. Psarakis, D. Gizopoulus, E. Sanchez, M. Sonza Reorda, Microprocessor software-based self-testing,
IEEE Des. Test Comput., vol. 27, no. 3, pp. 4-8, 2010.
[6] R. Salem Zebulum, M. Pacheco, M. Vellasco, Evolutionary electronics: automatic design of electronic circuits
and systems by genetic algorithms, CRC Press, 2002.
[7] Q. Ji, Y. Wang, M. Xie, J. Cui, Research on fault-tolerance of analog circuits based on evolvable hardware, in
Proceedings 7th international conference on Evolvable systems: from biology to hardware, pp. 100-
108, 2007.
[8] P. Haddow, M. Hartmann, A. Djupdal, Addressing the metric challenge: evolved versus traditional fault tolerant
circuits, in Proceedings Second NASA/ESA Conference on Adaptive Hardware and Systems, pp.
431-438, 2007.
[9] M. Lovay, A. Arregui, J. Gonella, G. Peretti, E. Romero, M. Lubaszewski, Fault tolerant amplifier system
using evolvable hardware, IEEE Argentine School of Micro-Nanoelectronics, Technology and
Applications (EAMTA 2010), IEEE Catalog Number: CFP1054E-CDR, ISBN: 978-987-1620-14-2,
Pág. 50-55, Noviembre de 2010, Montevideo, Uruguay.
[10] M. Lovay, G. Peretti, E. Romero, C. Marqués, Fault tolerance in an amplifier system implemented in
reconfigurable system on chip platform, 2º Congreso de Microelectrónica Aplicada (uEA 2011), Facultad de
Ingeniería, Universidad Nacional de La Plata, setiembre de 2011.
[11] M. Lovay, G. Peretti, E. Romero, C. Marqués, Adaptive Amplifier System for Sensor Network Applications,
Simposio Argentino de Tecnología 2011 (40° JAIIO), Facultad Regional Córdoba, Universidad
Tecnológica Nacional, agosto de 2011.
[12] M. Lovay, G. Peretti, E. Romero, C. Marqués, An Adaptive Amplifier System for Wireless Sensor Network
Applications, Journal of Electrical and Computer Engineering, vol. 2012, Article ID 762927, 14 pages,
2012.
155
Amplificador adaptivo
156
Amplificador adaptivo
[34] T. Balen, J. Calvano, M. Lubaszewski, M. Renovell, Built-in self-test of field programmable analog arrays
based on transient response analysis, J. Electron Test., vol. 23, no. 6, pp. 497-512, 2007.
[35] G. Pereira, J. Andrade, T. Balen, M. Lubaszewski, F. Azais, M. Renovell, Testing the interconnect
networks and I/O resources of field programmable analog arrays, in Proceedings 23rd IEEE VLSI Test
Symposium, pp. 389-394, 2005.
[36] K. Price K., R. Storn, L. Lampinen, Differential evolution: a practical approach to global optimization,
Springer, 2005.
157
158
5. Conclusiones y trabajos futuros
5.1. Conclusiones
Con referencia al filtro adaptivo de alto orden, se destaca que es la primera vez que
se presenta un esquema de EHW considerando un filtro de alto orden. El esquema
propuesto resulta ser completo debido a que no solamente contempla la
reconfiguración del circuito ante la presencia de fallas, sino que también considera el
mecanismo de detección de fallas y la viabilidad de su implementación. Para este último
propósito se utiliza TRAM, que es un método de test desarrollado para filtros
compuestos por secciones de segundo orden. La aplicación de esta estrategia de test se
propone de una manera novedosa.
Por otro lado, el uso de TRAM, tal como se desarrolla en esta Tesis requiere
ante la presencia de fallas solamente conocer que existe una desviación en la respuesta
del filtro de octavo orden respecto de la nominal. En esta situación, no se conocen los
valores actuales con los que pueden programarse los parámetros configurables del filtro
(la presencia de fallas puede haber provocado una desviación en los valores que pueden
adoptar todos o algunos de estos parámetros).
159
Conclusiones y trabajos futuros
160
Conclusiones y trabajos futuros
Se considera que el sistema posee una ganancia que debe ser mantenida a pesar
de la presencia de fallas, mientras que su ancho de banda debe ser mayor al requerido
por la aplicación. El esquema de EHW presentado para cumplir con estos
requerimientos aborda, al igual que el esquema propuesto para el caso del filtro
adaptivo, los dos aspectos clásicos que deben ser considerados cuando se propone la
aplicación de EHW para proporcionar características de adaptación: detección de la
falla y recuperación de la misma. Por este motivo, el esquema propuesto está
compuesto por una estrategia SBST que chequea durante los tiempos inactivos todas
las ganancias disponibles en el amplificador, y por un GA que se ejecuta en una
computadora externa con el propósito de reconfigurar los recursos del chip, cuando se
detectan fallas.
Con referencia al esquema SBST, esta es la primera aplicación del mismo como
parte de una estrategia de EHW. Este método de test presenta como característica
atractiva la posibilidad de ser aplicado sin restricciones, debido a que no es necesaria la
incorporación de hardware adicional específico para test y no se requiere la
participación de la computadora central.
161
Conclusiones y trabajos futuros
162
Conclusiones y trabajos futuros
163
164
Apéndice 1. Algoritmos Genéticos: aspectos de
implementación
A1.1. Representación
165
Apéndice 1
1 0 0 1 1 1 0 0 1 0
Cromosoma con codificación binaria
8 11 23 25 10 9 11 18 15 20
Cromosoma con codificación entera
1.5 0.3 1.2 3.1 8.4 0.9 7.5 0.8 0.8 1.3
Cromosoma con codificación real
Fenotipo
Variable 1 Variable 2 Variable 3 ... Variable N
A1.2. Población
166
Apéndice 1
obstante, el costo computacional también se eleva debido a que debe evaluarse una
cantidad mayor de individuos en cada generación. Por este motivo, el tamaño de la
población debe ajustarse con el propósito de alcanzar un equilibrio entre el costo
computacional requerido por el GA y la calidad de las soluciones que el mismo
encuentra.
167
Apéndice 1
No obstante, los individuos con menos aptitud no deben descartarse, sino que
deben tener también alguna probabilidad de ser seleccionados, debido a que los mismos
pueden ayudar a generar material genético útil.
168
Apéndice 1
Para realizar la selección se considera una ruleta que permite asignar cada individuo
a una porción de la misma. La selección de m individuos se efectúa mediante m
giros independientes de la ruleta.
Individuos: 1 2 3 4 5 6 7
Fitness: 1 1 1 1.5 1.5 3 3
5
6
4
3
7
2
1
169
Apéndice 1
f=6
f=2
Selección Selección
aleatoria f=9
f=4 del mejor
f=1
4 f=9
f=9 f=4
f=7 f=7
f=9 Individuo
seleccionado
Grupo (k=3)
Población
170
Apéndice 1
Punto de cruce
Padre 1 1 0 0 1 1 1 0 0 1 0
Padre 2 0 1 1 1 0 0 1 0 0 1
Hijo 1 1 0 0 1 1 1 1 0 0 1
Hijo 2 0 1 1 1 0 0 0 0 1 0
Puntos de cruce
Padre 1 9 1 5 8 1 2 3 9 1 4
Padre 2 7 1 4 9 5 1 6 6 5 3
Hijo 1 9 1 4 9 5 2 3 9 1 3
Hijo 2 7 1 5 8 1 1 6 6 5 4
Por otro lado, cuando se utiliza el operador de cruce uniforme [1], [2] cada gen en
el hijo se obtiene copiando el correspondiente gen a partir de uno u otro de los padres,
de acuerdo a una máscara de cruce binaria generada aleatoriamente, la cual presenta la
misma longitud que los cromosomas. La Figura A1-7 visualiza el funcionamiento de
171
Apéndice 1
este operador para generar dos hijos a partir de dos padres. Para generar el primer hijo
(en la figura, hijo 1), cuando en la máscara de cruce hay un “1” el gen se copia desde el
primer padre, cuando hay un “0” el gen se copia a partir del segundo padre. Por el
contrario, para generar el segundo hijo (hijo 2), cuando en la máscara de cruce hay un
“1” el gen se copia desde el segundo padre, cuando hay un “0” el gen se copia a partir
del primer padre. Para cada par de padres se genera una nueva máscara de cruce.
Padre 1 1 0 0 1 1 1 0 0 1 0
Padre 2 0 1 1 1 0 0 1 0 0 1
Máscara 1 1 0 0 1 0 1 1 1 0
Hijo 1 1 0 1 1 1 0 0 0 1 1
Hijo 2 0 1 0 1 0 1 1 0 0 0
Los operadores de cruce son aplicados en cada generación del GA con una
determinada probabilidad, denominada comúnmente probabilidad de cruce. La misma
puede adoptar valores entre 0 y 1, aunque dentro de este intervalo se aconseja el uso de
valores medios a grandes (entre 0.3 y 1) [2].
172
Apéndice 1
bit a mutar
Cromosoma (antes de la mutación) 1 0 0 1 1 1 0 0 1 0
(2)
donde M es una variable aleatoria, cuyo valor puede ser generado de diferentes formas,
cada una de las cuales conduce a un operador de mutación distinto. Entre ellos, puede
mencionarse el operador de mutación aleatorio uniforme, el cual genera de manera aleatoria y
con probabilidad uniforme el valor de M dentro de un intervalo [a, b] definido por el
usuario, donde generalmente a es igual a –b. Otros operadores de mutación que pueden
destacarse son: el operador de mutación con distribución normal (determina el valor de M en
base a una distribución normal o gaussiana) y el operador de mutación polinomial (utiliza una
distribución de probabilidad polinomial) [1].
A1.6. Referencias
[1] El-Ghazali Talbi, Metaheuristics From Design to Implementation, Wiley, USA. ISBN: 978-0-470-27858-1,
2009.
[2] S.N. Sivanandam, S.N. Deepa, Introduction to Genetic Algorithms, Springer, USA, 2008.
173
Apéndice 1
174
Apéndice 2. Optimización Multiobjetivo:
conceptos básicos
( ) ( ) ( ) ( )
{ (1)
donde n (n≥2) es el número de objetivos, x=(x1, x2, …, xk) es el vector que representa
las variables de decisión, y S representa el conjunto de soluciones posibles o factibles.
F(x)= f1(x), f2(x),…, fn(x) es el vector de objetivos que debe ser optimizado.
175
Apéndice 2
donde wi [0…1] y ∑ .
Método de restricciones-ɛ
Este método se basa en optimizar sólo un objetivo fk (el más importante), sujeto
a restricciones en los demás objetivos fj. De esta forma, aquellos objetivos a los que se
les ha asignado un nivel de importancia inferior al objetivo fk, son transformados en
restricciones. El problema de optimización puede formularse, entonces, de la siguiente
manera:
176
Apéndice 2
donde el vector ε= (ε1,…, εn) representa los límites superiores establecidos para cada
objetivo.
A2.2. Referencias
[1] El-Ghazali Talbi, Metaheuristics From Design to Implementation, Wiley, USA. ISBN: 978-0-470-27858-1,
2009.
[2] K. Deb, Multi-Objective Optimization using Evolutionary Algorithms, Wiley, Kanpur, India. ISBN: 978-0-
470-74361-4, 2009.
[3] C. Coello Coello, G. Lamont, D. Van Veldhuizen, Evolutionary Algorithms for solving Multi-Objective
Problems, Springer, Segunda Edición, USA. ISBN: 978-0-387-33254-3, 2007.
[4] J. Branke, K. Deb, K. Miettinen, Multiobjective optimization: interactive and evolutionary approaches. Springer,
2008.
[5] Y. Collette, P. Siarry, Multiobjective optimization: principles and case studies, Springer, 2003.
177
178
Apéndice 3. Código Matlab para algunas
operaciones del GA
A3.1.2. Selección
El GA genera aleatoriamente una matriz denominada ProbabIndividualCruce
que contiene la probabilidad de cruce de cada individuo. Luego, transfiere a PobCruce
aquellos individuos con probabilidad de cruce menor o igual a la probabilidad de cruce
definida para el GA (ProbabGACruce). Finalmente, el algoritmo calcula la cantidad de
parejas. En la Figura A3-2, puede apreciarse el código Matlab perteneciente a las
operaciones descriptas.
179
Apéndice 3
%_________________________________________________________________________
rand('state',sum(100*clock));
Individuo(:,1:cantGanN)=fix(1 + (4.999-1)*rand(tamañoPoblacion,cantGanN));
Individuo(:,1:cantGanP)=fix(1 + (4.999-1)*rand(tamañoPoblacion,cantGanP));
%__________________________________________________________________________
Ruleta = rand(1,tamañoPoblacion);%Matriz de números aleatorios para
%aplicar el método de la ruleta.
180
Apéndice 3
A3.1.3. Cruce
El GA comienza aplicando el operador de cruce en tres puntos (la variable
“cerca” adopta el valor 0), pero en el transcurso de las generaciones puede utilizar el
operador de cruce en un punto (entonces, la variable “cerca” adopta el valor 1),
dependiendo de las características de la población actual. Si el GA encuentra al menos
un cromosoma que representa una posible solución cuyos errores relativos en cada una
de las bandas son inferiores o iguales al doble de los errores permitidos en cada banda
(referenciados como Ei en la ecuación (10) del capítulo 3), utiliza el operador de cruce
en un punto, de lo contrario, continúa utilizando el operador de cruce en tres puntos.
A3.1.4. Mutación
El GA calcula la cantidad total de genes de la población. Aleatoriamente genera
una matriz RandMut que es la probabilidad de mutación para cada gen. Los genes con
probabilidad menor o igual a la probabilidad de mutación definida para el GA son
mutados después del cálculo de su localización en la matriz NuevaPoblacion (fila y
columna). El proceso de mutación se efectúa utilizando el operador de mutación
aleatorio uniforme, por lo que es necesario generar de manera aleatoria el valor de M, el
cual luego es utilizado para alterar el valor del gen a mutar. La Figura A3-5 muestra el
código Matlab para las operaciones descriptas.
181
Apéndice 3
%____________________________________________________________________
PuntoCruceGN=round(1+((cantGanN-1)*rand(1,cantParejas)));
PuntoCruceGP=round(1+((cantGanP-1)*rand(1,cantParejas)));
PuntoCruceCap=round(1+((cantCap-1)*rand(1,cantParejas)));
for i=1:2:(cantParejas*2);
z=z+1;
Hijos(i+1,1:cantGanN)=[PobCruce (i+1,1:PuntoCruceGN(1,z)),
PobCruce (i,PuntoCruceGN(1,z)
+1:cantGanN)];
Hijos(i,cantGanN+1:cantGanN+cantGanP)=[PobCruce(i,
cantGanN+1:PuntoCruceGP(1,z)
+cantGanN),PobCruce(i+1,
PuntoCruceGP(1,z)+cantGanN+1:
cantGanN+cantGanP)];
Hijos(i+1,cantGanN+1:cantGanN+cantGanP)=[PobCruce(i+1,
cantGanN+1:
PuntoCruceGP(1,z)+cantGanN),
PobCruce(i,PuntoCruceGP(1,z)
+cantGanN+1:
cantGanN+cantGanP)];
Hijos(i,cantGanN+cantGanP+1:cantGenes)=[PobCruce(i,cantGanN+
cantGanP+1:PuntoCruceCap,z)+
cantGanN+cantGanP),
PobCruce(i+1,PuntoCruceCap(1,z)+
cantGanN+cantGanP+1:cantGenes)];
Hijos(i+1,cantGanN+cantGanP+1:cantGenes)=[PobCruce(i+1,
cantGanN+
cantGanP+1:PuntoCruceCap(1,z)+
cantGanN+cantGanP),
PobCruce(i,PuntoCruceCap(1,z)+
cantGanN+cantGanP+1:cantGenes)
];
end;
%____________________________________________________________________
182
Apéndice 3
%_______________________________________________________________________
Hijos(i+1,:)=[PobCruce(i+1,1:PuntoCruce(1,z)),
PobCruce(i,PuntoCruce(1,z)+1:cantGenes)];
end;
end;
183
Apéndice 3
%__________________________________________________________________________
%__________________________________________________________________________
for y=1:tamañopoblacion
for j=1:tamañopoblacion
d=0;
if y~=j
for gen=1:cantGenes % Comparación de genes para
if Individuo(y,gen)~=Individuo(j,gen)% determinar el valor de la
d=d+1; % función de distancia d.
end;
end;
if d>constDistSharing %constDistSharing: constante de distancia σ
sh(y,j)=0; % Cálculo del valor
else % de la función
sh(y,j)=1-(d/constDistSharing); % Sharing sh.
end;
end;
end;
sumash= sum(sh(y,:)); % Cálculo del nuevo fitness del
if sumash>0 fit(y)=fit(y)/sumash; % individuo a partir de la aplicación
end; % de la función sh.
end;
%__________________________________________________________________________
184
Apéndice 3
A3.2.1. Selección
El GA genera aleatoriamente una matriz denominada ProbabIndividualCruce
que contiene la probabilidad de cruce de cada individuo. Luego, transfiere a PobCruce
aquellos individuos con probabilidad de cruce menor o igual a la probabilidad de cruce
definida para el GA (ProbabGACruce). Finalmente, el algoritmo calcula la cantidad de
parejas. En la Figura A3-7, puede apreciarse el código Matlab perteneciente a las
operaciones descriptas.
%__________________________________________________________________________
Ruleta = rand(1,tamañoPoblacion);%Matriz de números aleatorios para
%aplicar el método de la ruleta.
A3.2.2. Cruce
El GA efectúa la operación de cruce mediante el operador de cruce en un punto
(con codificación binaria). Para ello, determina aleatoriamente el punto de cruce para
cada pareja de padres. Luego, el algoritmo realiza la operación de cruce y almacena los
185
Apéndice 3
%_________________________________________________________________________
Hijos(i,1:L)=[PobCruce(i,1:puntoCruce(1,z)),PobCruce(i+1,puntoCruce(1,z)+1:
L)];
Hijos(i+1,1:L)=[PobCruce(i+1,1:puntoCruce(1,z)),PobCruce(i,puntoCruce(1,z)+
1:L)];
end;
A3.2.3. Mutación
El GA calcula la cantidad total de bits de la población. Aleatoriamente genera
una matriz RandMut que es la probabilidad de mutación para cada bit. Los bits con
probabilidad menor o igual a la probabilidad de mutación definida para el GA son
mutados después del cálculo de su localización en la matriz NuevaPoblacion (fila y
columna). La Figura A3-9 muestra el código Matlab para las operaciones descriptas.
186
Apéndice 3
%___________________________________________________________________________
totalBits= tamañoPoblacion*L; % Total bits de la población.
RandMut= rand(1,totalBits); % Probabilidad de mutación de cada bit.
j=0;
% posmut almacena la posición de aquellos bits con probabilidad de mutación
% menor a ProbabMutacionGA.
for i=1:totalBits;
if RandMut(1,i)< ProbabMutacionGA % ProbabMutacionGA contiene la
j=j+1; % probabilidad de mutación
posmut(j)=i; % definida para el GA.
end;
end;
if j>0 % Existe mutación.
% Para cada bit a ser mutado se determina su localización (fila y columna)
% en la matriz NuevaPoblacion.
for i=1:j;
c=posmut(i)/L;
if c==fix(c)
fila=c;
columna=L;
else
columna=posmut(i)-fix(c)*L;
fila=fix(c)+1;
end;
% La mutación es realizada.
if NuevaPoblacion(fila,columna)==1
NuevaPoblacion(fila,columna)='0'; .
else
NuevaPoblacion(fila,columna)='1';
end;
end;
end;
%___________________________________________________________________________
187
188
Apéndice 4. Amplificador adaptivo: Resultados
restantes bajo condiciones de falla
6,5E+06 7,0E+06
Ancho de banda (rad/seg)
Ancho de banda (rad/seg)
6,5E+06
6,0E+06
6,0E+06
5,5E+06
5,5E+06
5,0E+06
5,0E+06
4,5E+06 4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% -3% -1% 1% 3% 5%
Error relativo en la ganancia
Figura A4-1. Error relativo en la ganancia vs. ancho de banda, para el PGA2.
189
Apéndice 4
7,0E+06 7,5E+06
6,5E+06 7,0E+06
Ancho de banda (rad/seg)
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
Figura A4-2. Error relativo en la ganancia vs. ancho de banda, para el PGA3.
190
Apéndice 4
6,5E+06 7,5E+06
7,0E+06
6,0E+06
Ancho de banda (rad/seg)
5,0E+06 5,5E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% -3% -1% 1% 3% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% -3% -1% 1% 3% 5%
Error relativo en la ganancia
Figura A4-3. Error relativo en la ganancia vs. ancho de banda, para el PGA4.
191
Apéndice 4
7,0E+06 7,5E+06
6,5E+06 7,0E+06
Ancho de banda (rad/seg)
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
Figura A4-4. Error relativo en la ganancia vs. ancho de banda, para el PGA1.
192
Apéndice 4
7,0E+06 7,0E+06
6,5E+06 6,5E+06
Ancho de banda (rad/seg)
5,5E+06 5,5E+06
5,0E+06 5,0E+06
4,5E+06 4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
9,0E+06
Ancho de banda (rad/seg)
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
Figura A4-5. Error relativo en la ganancia vs. ancho de banda, para el PGA2.
193
Apéndice 4
6,5E+06 7,5E+06
7,0E+06
6,0E+06
6,5E+06
Ancho de banda (rad/seg)
5,0E+06 5,5E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% -3% -1% 1% 3% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
9,0E+06
Ancho de banda (rad/seg)
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
Figura A4-6. Error relativo en la ganancia vs. ancho de banda, para el PGA4.
194
Apéndice 4
7,0E+06 8,0E+06
7,5E+06
6,5E+06
Ancho de banda (rad/seg)
7,0E+06
5,5E+06 6,0E+06
5,5E+06
5,0E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
195
Apéndice 4
6,0E+06 8,0E+06
5,8E+06 7,5E+06
5,6E+06
7,0E+06
Ancho de banda (rad/seg)
5,0E+06 6,0E+06
4,8E+06 5,5E+06
4,6E+06
5,0E+06
4,4E+06
4,2E+06 4,5E+06
4,0E+06 4,0E+06
-5% -3% -1% 1% 3% 5% -5% -3% -1% 1% 3% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
9,0E+06
Ancho de banda (rad/seg)
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
Figura A4-8. Error relativo en la ganancia vs. ancho de banda, para el PGA2.
196
Apéndice 4
6,5E+06 8,0E+06
7,5E+06
6,0E+06
7,0E+06
Ancho de banda (rad/seg)
6,0E+06
5,0E+06 5,5E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% -3% -1% 1% 3% 5% -5% -3% -1% 1% 3% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
9,0E+06
Ancho de banda (rad/seg)
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% -3% -1% 1% 3% 5%
Error relativo en la ganancia
197
Apéndice 4
6,5E+06 7,5E+06
7,0E+06
6,0E+06
6,5E+06
Ancho de banda (rad/seg)
5,0E+06 5,5E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
9,0E+06
Ancho de banda (rad/seg)
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
Figura A4-10. Error relativo en la ganancia vs. ancho de banda, para el PGA1.
198
Apéndice 4
6,5E+06 7,5E+06
7,0E+06
6,0E+06
Ancho de banda (rad/seg)
5,0E+06 5,5E+06
5,0E+06
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
Figura A4-11. Error relativo en la ganancia vs. ancho de banda, para el PGA3.
199
Apéndice 4
6,5E+06 7,0E+06
6,5E+06
6,0E+06
Ancho de banda (rad/seg)
4,5E+06
4,5E+06
4,0E+06 4,0E+06
-5% 0% 5% -5% 0% 5%
Error relativo en la ganancia Error relativo en la ganancia
1,1E+07
1,0E+07
Ancho de banda (rad/seg)
9,0E+06
8,0E+06
7,0E+06
6,0E+06
5,0E+06
4,0E+06
-5% 0% 5%
Error relativo en la ganancia
Figura A4-12. Error relativo en la ganancia vs. ancho de banda, para el PGA4.
200