Uso de redes neuronales como sistema clasificador de dispositivos defectuosos para microsistemas electromecánicos
Texto completo
(2) USO DE REDES NEURONALES COMO SISTEMA CLASIFICADOR DE DISPOSITIVOS DEFECTUOSOS PARA MICROSISTEMAS ELECTROMECÁNICOS. Aprobado por:. Fernando Lozano Martinez, Asesor. Carlos Ernesto CoAsesor Fecha de Aprobación. Villarraga. Pinzon,.
(3) Reconocimientos. Queremos agradecer a nuestros padres, ya que sin el apoyo de ellos no hubiéramos podido estar presentando este trabajo. Que nos permitirá alcanzar los objetivos que nos hemos propuesto en nuestras vidas.. iii.
(4) Tabla de Contenido Reconocimientos. III. Lista de Tablas. VI. Lista de Figuras. VII. Resumen I.. IX. Introducción. 1. II. Marco Teórico. 3. 2.1. Sistemas Micro Electro Mecánicos . . . . . . . . . . . . . . . . . . . 2.1.1. Fallas En MEMS. 3. . . . . . . . . . . . . . . . . . . . . . . . .. 3. 2.1.2. Estudios anteriores . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.1.3. Modelo Comb Drive . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.2. Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.2.1. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.2.2. Funciones de activación . . . . . . . . . . . . . . . . . . . . . 10 2.2.3. Tipos de entrenamiento . . . . . . . . . . . . . . . . . . . . . 11 2.2.4. Dimensión Vapnik-Chervonenkis . . . . . . . . . . . . . . . . 11 2.2.5. Selección de caracterı́sticas . . . . . . . . . . . . . . . . . . . 12 2.2.6. Perceptron Multinivel . . . . . . . . . . . . . . . . . . . . . . 14 2.2.7. Función Radial . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.8. LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 III. Procedimiento. 23. 3.1. Generación del modelo y base de datos . . . . . . . . . . . . . . . . 23. iv.
(5) 3.2. Entrenamiento de las redes neuronales . . . . . . . . . . . . . . . . . 26 IV. Resultados. 29. 4.1. Simulaciones en Ansys . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2. Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 V. Problemas encontrados. 34. VI. Conclusiones. 35. VII.Trabajos futuros. 36. Apéndice A.. — Datos. 37. Apéndice B.. — Código Optimal Braing Surgeon para MATLAB. 42. Apéndice C.. — Archivo Ansys para simulaciones electroestáticas. 52. Apéndice D.. — Archivo Ansys para simulaciones en frecuencia. 64. v.
(6) Lista de Tablas 1.. Matriz de referencias . . . . . . . . . . . . . . . . . . . . . . . . . . .. vi. 5.
(7) Lista de Figuras 1.. Generación de estı́mulos en un acelerómetro para realizar pruebas de funcionamiento [10] . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 2.. Modelo de resonador basado en [13] y [4] . . . . . . . . . . . . . . . .. 5. 3.. Parámetros de diseño del resonador: Resortes. . . . . . . . . . . . . .. 6. 4.. Parámetros de diseño del resonador: Peine Electroestático . . . . . . .. 6. 5.. Parámetros de diseño del resonador: Masa de Prueba . . . . . . . . .. 6. 6.. Forma de una neurona [19]. . . . . . . . . . . . . . . . . . . . . . . . 10. 7.. Limite de decisión lineal, correspondiente a y(x)=0, en un espacio de dos dimensiones (x1 , x2 ). El vector de pesos w, define la orientación del plano de dedición, mientras que el bias w0 define la posición del plano en termino de la distancia perpendicular desde el origen [16]. . 11. 8.. Función de activación Threshold . . . . . . . . . . . . . . . . . . . . . 12. 9.. Función Sigmoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13. 10.. Cuatro puntos que no pueden ser pulverizados por semi-planos [21]. . 13. 11.. Ejemplo de una red neuronal, con una capa escondida de pesos adaptables. El parámetro bias en la capa de entrada con una extra entrada y con entrada fija de uno. De manera similar, el parámetro de bias en la capa de salida con un peso extra con una entrada de uno [16]. . . 15. 12.. Ejemplo del método de descenso de gradiente [22]. . . . . . . . . . . . 17. 13.. Modelo sin fallas del sistema . . . . . . . . . . . . . . . . . . . . . . . 24. 14.. Introducción de una falla por fractura en dos dedos . . . . . . . . . . 24. 15.. Simulación: Potencial Eléctrico . . . . . . . . . . . . . . . . . . . . . 25. 16.. Simulación: Campo Eléctrico . . . . . . . . . . . . . . . . . . . . . . . 25. 17.. Modelo con elementos de orden reducido . . . . . . . . . . . . . . . . 26. 18.. Introducción de falla de dedos anclados . . . . . . . . . . . . . . . . . 26. vii.
(8) 19.. Introducción de falla de fractura en resorte . . . . . . . . . . . . . . . 27. 20.. Herramienta NNTOOL de MATLAB . . . . . . . . . . . . . . . . . . 28. 21.. Respuesta de frecuencia. . . . . . . . . . . . . . . . . . . . . . . . . . 29. 22.. Anclajes en dedos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30. 23.. Anclajes en los dedos y resortes . . . . . . . . . . . . . . . . . . . . . 30. 24.. Anclajes en resortes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31. 25.. Fracturas en los resortes . . . . . . . . . . . . . . . . . . . . . . . . . 31. 26.. Frecuencia de resonancia y ganancia de resonancia . . . . . . . . . . . 32. 27.. Ganancia promedio y ganancia de resonancia . . . . . . . . . . . . . . 32. 28.. Ganancia promedio y frecuencia de resonancia . . . . . . . . . . . . . 32. 29.. Gráfica del error durante cada época, utilizando método de optimización Levenberg-Marquardt. . . . . . . . . . . . . . . . . . . . . . 33. viii.
(9) Resumen. El desarrollo de la industria de microelectrónica ha ido muy de la mano del desarrollo de metodologı́as para detección de fallas, ya sea en las lı́neas de producción o en el campo de acción de los dispositivos. Esto no ocurre en la industria de los microsistemas electro-mecánicos (MEMS), donde se han hecho grandes avances en el desarrollo de dispositivos pero las técnicas de detección de fallas han sido heredadas de la microelectrónica. Esto presenta un gran problema dado que la naturaleza de las fallas en los MEMS es radicalmente distinta a las fallas en microelectrónica. Dada la complejidad de modelamiento de fallas multifı́sicas de los MEMS se propone el uso de redes neuronales como sistema clasificador de fallas que podrı́a ser implementado en sistemas de auto-test o verificación en lı́nea de producción para éstos dispositivos.. ix.
(10) Capı́tulo I. Introducción La industria de los MEMS ha tenido en los últimos 20 años un crecimiento similar al de la microelectrónica en sus inicios. Sin embargo, la fiabilidad de los MEMS es relativamente baja debido a que el conocimiento de las fallas en estos es muy pobre. La naturaleza multifı́sica de los MEMS hace que las consideraciones para un sistema de deteción de fallas sean bastante distintas a las hechas en la microelectrónica; un gran número de las fallas que puedan ocurrir en un sistema con MEMS no son fallas eléctricas. Derivando de la microelectrónica, se ha tratado de sistematizar el proceso de detección de fallas para los microsistemas. Pero la mayor parte de investigación en este campo ha estado enfocada en las propiedades de los materiales y mecanismos microscópicos de falla[4]. Dada la complejidad de la fı́sica de las fallas y la dificultad de generar modelos matemáticos se han hecho varias investigaciones no sobre las fallas en sı́, sino sobre los efectos que causan las fallas. Es ası́ como ha aparecido el FDML (Fault Modeling Description Language), un método en el cual se introducen sobre un modelo circuital del sistema modelos de orden reducido de elementos que puedan representar las fallas, y el FMEA (Failure Mode and Effect Analysis), una metodologı́a para determinar condiciones de falla mediante análisis cualitativo y simulaciones cuantitativas [1]. El problema con éstas metodologı́as es que, si bien reducen la complejidad de tener que generar modelos matemáticos de las fallas, siguen siendo aún muy complejos y costosos para implementar en la industria de los MEMS y aprovechar los beneficios de una economı́a de escala. Es por ésto que se propone el entrenamiento de una red neuronal para la detección. 1.
(11) de fallas en MEMS en el campo de acción, en donde no se puede tener el apoyo de dispositivos externos para determinar si esta funcionando correctamente. Ya se ha evidenciado el potencial que tienen las redes neuronales en sistemas de detección de fallas, ayuda en diseño y para simulación de MEMS [1, 2]. A partir de éste trabajo se pretende desarrollar una metodologı́a que permita generar sistemas de detección de fallas para distintos dispositivos MEMS. Se escogió como modelo de prueba un resonador de peine electroestático (combdrive) pues es un dispositivo que se usa como blóque básico en microsistemas, además de ser bastante estudiado. Para poder realizar este trabajo se realizo estudio bibliográfico de cuales son las fallas mas comunes en el modelo de un comb-drive y de resonadores inerciales, como se detectan y como se agregan estos en las simulaciones para poder obtener los datos que se necesitan para el correcto entrenamiento de la red neuronal. Este paper esta enfocado en como fue el proceso que se llevó a cabo para el entrenamiento de las redes neuronales. En la sección 2 se hablara sobre el modelo Comb-Drive. En la sección 3 sobre las redes neuronales. En la sección 4 se mostrara el procedimiento realizado. Sección 5 se discutirán los resultados obtenidos.Y ara terminar en la sección de conclusiones.. 2.
(12) Capı́tulo II. Marco Teórico 2.1.. Sistemas Micro Electro Mecánicos. 2.1.1.. Fallas En MEMS. 2.1.1.1. Detección De Fallas Debido que los MEMS miden señales fı́sicas, se dificulta en gran medida el procedimiento para realizar las pruebas en el campo de acción. Esto corresponde al hecho que de alguna forma se tienen que generar los estı́mulos fı́sicos correspondientes dentro del integrado, además de tener que agregar un bloque para el análisis de los resultados obtenidos. Lo cual produce un costo adicional en el dispositivo [3]. Uno de los métodos usados para generar estı́mulos es por medio de la emulación de estos [10]. Este método se puede observar en los acelerómetros (Fig. 1). En donde se agregan un par de dedos, a los cuales se les induce un voltaje que moverá la masa del sistema, que será interpretado por el dispositivo como una aceleración. Otra forma, es la introducción de un mecanismo que genera la señal fı́sica deseada. Pero esto no es el único problema que hay en la detección de fallas en el campo de acción, sino que existen otros problemas como: Control habilidad, accesibilidad y observabilidad pues el acceso a algunas señales eléctricas son limitadas, lo cual impide las condiciones idóneas para las pruebas. Funcionalidad multidisciplinarı́a pues en los chips se pueden encontrar diferentes módulos, incluyendo a los MEMS, los cuales necesitan diferentes formas para de pruebas. 3.
(13) Figura 1: Generación de estı́mulos en un acelerómetro para realizar pruebas de funcionamiento [10] Sistemas hechos para pruebas los sistemas bajo pruebas normalmente necesitan condiciones iniciales, que en el caso de los MEMS es difı́cil de generar. Interferencia debido a la alta integración en los chips, pues diferentes sub. sistemas están cerca uno del otro lo cual influencia uno al otro. La influencia del empaquetado puede llegar a afectar las funciones del sistema, que se puede deber a stress generado por el empaque sobre los actuadotes. 2.1.1.2. Técnicas Existentes Entre las técnicas[3] se encuentran: reglas y guı́as de construcción, soporte para pruebas externas y evaluación, acceso a los módulos o nodos, generación en el chip y evaluación del estimulo de prueba, hecho y ejecución de un modulo de prueba, pruebas en lı́nea y chequeo.. 4.
(14) 2.1.2.. Estudios anteriores. Se presenta a continuación una tabla con los distintos tipos de estudios realizados que se tomaron como referencia para la selección de caracterı́sticas y condiciones de fallas en el modelo de prueba que estamos usando.. Tipo de falla\Referencia Adhesión Curvatura Fractura Variación de grosor Contaminación de partı́culas. [5] [4] [6] [7] [8] √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √. Tabla 1: Matriz de referencias. 2.1.3.. Modelo Comb Drive. Para el propósito de éste trabajo se tomó como modelo de estudio el de un resonador capacitivo como se muestra en la figura 2. Los resonadores capacitivos son usados usualmente como bloques básicos de construcción para sistemas de medición, microactuadores, filtros micro-mecánicos y osciladores.. Figura 2: Modelo de resonador basado en [13] y [4] Para el modelo del resonador los parámetros de diseño se muestran en las figuras 3, 4 y 5. El parámetro de mayor interés en el funcionamiento de un resonador es 5.
(15) la frecuencia de resonancia, la cual es dependiente de la constante de Hooke de los resortes y de la masa efectiva. Por lo tanto, cambios en la geometrı́a afectan la frecuencia de resonancia. Los cambios hechos en la geometrı́a del peine electroestático cambian la capacitancia (dependiente del desplazamiento) y, por lo tanto, la respuesta del sistema a distintos voltajes.. Figura 3: Parámetros de diseño del resonador: Resortes. Figura 4: Parámetros de diseño del resonador: Peine Electroestático. Figura 5: Parámetros de diseño del resonador: Masa de Prueba. 6.
(16) La capacitancia en un resonador de tipo comb está dada por C(x) =. N 0 h(x0 + x) + Cborde gf. (1). De acuerdo a como se escojan los parámetros h, x0 y gf se puede tener o no en cuenta los efectos de borde. La energı́a almacenada en el peine electroestático se define como, 1 U (x) = C(x)V 2 (2) 2 de donde se puede obtener una expresión para la fuerza electroestática derivando la energı́a con respecto a la dirección del desplazamiento de la estructura. En este caso, el movimiento está bastante restringido a solo la dirección perpendicular a los resortes asi que se puede suponer que la mayor parte de la fuerza se ecuentra en esa dirección, Fe,x. ∂U 1 N 0 hV 2 = = ∂x 2 gf. (3). Esto da una expresión para la respuesta estática del desplazamiento vs. el voltaje Fe,x − kx x = 0. (4). 1 N 0 hV 2 x= 2 kx gf. (5). En cuanto a la respuesta dinámica se tiene en cuenta el modelo mecánico definido por la ecuación ∂x ∂2x + b (6) ∂t2 ∂t A partir de éste modelo y de las capacitancias en el puerto de entrada y en el puerto Fe,x − kx x = M. de salida se puede obtener un modelo de entrada salida del sistema [11] dado por la admitancia de transferencia, ∂C2 jωk −1 VP 1 VP 2 ∂C1 Io (jω) ∂x ∂x = V i(jω) 1 − (ω/ω0 )2 + j(ω/Qω0 ) donde VP 1 y VP 2 son los voltajes de polarización de la entrada y la salida,. (7) ∂C1 ∂x. y. ∂C2 ∂x. son las variaciones de capacitancia contra desplazamiento (que en, éste caso como se puede deducir de 1, es constante e igual en ambos casos), k es la constante de 7.
(17) Hooke de los resortes, ω0 es la frecuencia de resonancia del sistema y Q es el factor de calidad de la caracterı́stica de transferencia. La frecuencia de resonancia para el sistema sin amortiguamiento viene dada por [13], ω0 =. 1 2π. s. k Mef f. (8). Donde Me f f es la masa efectiva del resonador. Volviendo a la figura 3, el resorte está compuesto de 8 vigas largas (4 a cada lado de la masa de prueba del resonandor) idénticas. La constante k puede ser determinada a partir de este hecho calculando kviga de alguna de las vigas y obtener un equivalente sumando en paralelo y en serie las constantes de las vigas para obtener un equivalente. Usando la ecuación de deflexión de vigas para una viga anclada en una punta y con la otro punta libre sin permitir rotación en ella, se tiene que, kviga =. Ehwb 3 Lb 3. (9). y, sumando las constantes para encontrar un equivalente, k=2. Ehwb 3 Lb 3. (10). Ahora, para calcular la masa efectiva se puede usar el método de energı́as equivalentes [12] para calcular la masa efectiva del sistema. Esto se hace pues la masa de prueba, como se muestra en 5, es comparable con las masas de los resortes. La masa efectiva, usando el método de energı́a cinética equivalente, es Mef f = Ms +. Mt 12Msp + 4 35. (11). donde Ms es la masa de prueba, Mt es la masa de los dos bloques que unen los resortes en los extremos y Msp es la masa de las ocho vigas largas que componen el resorte. Esto nos da una frecuencia de resonancia aproximada por la siguiente expresión s 1 k ω0 = (12) sp M 2π Ms + 4t + 12M 35 8.
(18) 2.1.3.1. Como afectan las fallas al modelo. El tipo de fallas más común (y al mismo tiempo el de más interés) en este tipo de dispositivos son adhesión y fracturas las cuales son clasificadas de acuerdo a donde ocurren [7]. De ese grupo de fallas, las más comunes son la fractura de dedos del peine electroestático, dedos atascados en el substrato y anclajes producidos por contaminación de partı́culas. Cuantitativamente, la fractura de dedos produce una reducción de la capacitancia total en el peine electroestático y una reducción de la masa de prueba. Los dedos atascados producen una reducción del desplazamiento máximo de la masa de prueba del resorte causando una reducción en la corriente máxima de salida del sistema y se presenta un aumento en el factor de calidad. Los anclajes producidos por contaminación de partı́culas producen efectos de acuerdo a lugar donde ocurren: si la partı́cula produce un anclaje entre algun resorte y el substrato se tiene una reducción de k, si ésta ocurre en los dedos del peine o en la masa de prueba se tiene un efecto similar al de los dedos atascados en el substrato.. 2.2.. Redes Neuronales. Las redes neuronales artificiales es el intento del ser humano por emular el comportamiento de las redes neuronales biológicas. Una red esta compuesta por unidades sencillas llamadas neuronas [14, 19, 20] las cuales se interconectan entre ellas por medio de pesos, que son establecidos por medio del entrenamiento. La forma básica de una neurona se puede observar en la figura 6, en donde X1 siempre tiene como valor uno y su peso correspondiente se conoce como bias, y los siguientes son los datos de entrada, con su respectivos pesos. La interpretación geométrica se puede observar en la figura 7.. 2.2.1.. Aplicaciones. Entre los campos de aplicación de las redes neuronales se encuentran [14]: procesamiento de señales, una de las principales aplicaciones en el campo comercial es en. 9.
(19) Figura 6: Forma de una neurona [19]. el uso de la eliminación de ruido en la lı́nea telefónica. control. reconocimiento de patrones, siendo muy utilizada en el reconocimiento de caracteres, etc. producción y reconocimiento de voz. 2.2.2.. Funciones de activación. La función de activación es la encargada de clasificar cada vector de entrada en la clase correspondiente. Entre algunas de las funciones de activación encontramos:. Threshold También conocida como función escalón, la cual es 0 para valores menores de 0 y 1 de lo contrario, en la ecuación 13 se puede observar la ecuación matemática y su grafica en la figura 8. 1, x≥0 f (x) = 0, x < 0. (13). Sigmoide Es descrita por la ecuación 14 y su grafica en la figura 9. Y la derivada de esta función se puede ver en la ecuación 15. f (x) =. 0. 1 1 + e−x. f (x) = f (x)(1 − f (x)). 10. (14). (15).
(20) Figura 7: Limite de decisión lineal, correspondiente a y(x)=0, en un espacio de dos dimensiones (x1 , x2 ). El vector de pesos w, define la orientación del plano de dedición, mientras que el bias w0 define la posición del plano en termino de la distancia perpendicular desde el origen [16]. 2.2.3.. Tipos de entrenamiento. Se pueden considerar dos tipos diferentes tipos de entrenamiento: supervisado Se tiene un conjunto de vectores de datos de entrada y un vector de salida, usando un vector de datos para establecer la salida de la red, la cual será comparada con la salida correspondiente. A partir de dichas comparaciones se toma una decisión con respecto a los pesos de la red. no supervisado eNo se utiliza un vector de salida para hacer la comparación sino que los pesos son modificados de tal forma que vectores similares son asignados a una misma unidad 2.2.4.. Dimensión Vapnik-Chervonenkis. También conocida como la dimensión VC [18, 16, 21] es el numero máximo de objetos que puede pulverizar una función, este concepto se puede observar en la figura 10. En el caso de redes neuronales este número nos ayuda a determinar. 11.
(21) Figura 8: Función de activación Threshold el número mı́nimo de datos necesarios para el correcto entrenamiento de la red neuronal. Dicho de otra forma, la dimensión VC es la cantidad de datos que la red neuronal puede aprender, lo cual no es una buena idea, debido a que el fin ultimo de la red es la generalización y no la correcta clasificación de los datos de entrenamiento, por lo que es importante tener mas datos que la dimensión VC. Por simplicidad de cálculo de la dimensión, se considera una red neuronal con función de activación threshold, y que se puede calcular usando la ecuación 16[16]. es el error de clasificación al cual queremos permitir, W el numero total de pesos incluyendo el bias, M el numero total de neuronas que conforman la red y N son los datos necesarios.. M W log2 (16) N≥ En el caso de una red neuronal con dos capas, se puede calcular la dimensión por medio de la ecuación 17, siendo d es la dimensión de la entrada. Donde N ≥ dV C . M dV C ≥ 2 d (17) 2 2.2.5.. Selección de caracterı́sticas. La extracción de caracterı́sticas tiene como objetivos [15]: 12.
(22) Figura 9: Función Sigmoide. Figura 10: Cuatro puntos que no pueden ser pulverizados por semi-planos [21]. Retener la mayor cantidad de información original como sea posible. Remover tanto como sea posible información redundante e irrelevante que pueden agregar ruido y disminuir el rendimiento. Cualquier procedimiento de selección esta basado en dos componentes [16]. El primero, el criterio debe poder juzgar si uno de los conjuntos de caracterı́sticas es mejor que otro. Segundo, un procedimiento sistemático debe ser encontrado para encontrar a través de los subconjuntos de posibles caracterı́sticas. Una primera aproximación es la comparación de todos los subconjuntos de caracterı́sticas y escoger el mejor de todos. Desafortunadamente, este proceso es computacionalmente inefectivo, debido a que para una cantidad grande de caracterı́sticas hacer todas las posibles combinaciones resulta ser muy demorado. 13.
(23) Por lo que se necesitan algoritmos más efectivos que permitan la reducción de la dimensionalidad sin un gran costo computacional. Un algoritmo usado es la selección del conjunto de caracterı́sticas empezando con una y agregar una caracterı́stica por cada paso, que no aumente el error incurrido. El método más utilizado se conoce como el análisis de componentes principales, o sus siglas en ingles PAC. Este algoritmo genera una matriz a partir de los datos de entrenamiento, de esta se calculan los valores propios que son organizados de mayor a menor, en donde el valor propio mas grande corresponde a la caracterı́stica que mas importante. Tomando solo los valores propios más grandes. Desafortunadamente este algoritmo no es efectivo cuando los datos no tienen correlaciones lineales.. 2.2.6.. Perceptron Multinivel. Las limitaciones que tiene las redes de una sola capa en las funciones que pueden representar [15, 16], genero la necesidad de de crear redes con mas de una capa, por lo que se creo la arquitectura que se conoce como perceptron multinivel. Se dice que el perceptron multinivel con una capa escondida es un aproximador universal de una función suave, si es posible utilizar un número indeterminado de neuronas. Desafortunadamente, en la práctica esta afirmación no se cumple, debido a que es imposible de implementar. Para entender el concepto de capa escondida es necesario aclarar lo que es la capa de entrada y la capa de salida. La capa de entrada se refiere al vector de datos de entrada, y la capa de salida son las neuronas que están en la salida de la red. Por lo anterior, las capas escondidas son todas aquellas capas de neuronas que están entre la capa de entrada y salida. Un ejemplo de la arquitectura perceptron multinivel se puede ver en la figura 11. Se puede determinar la salida de la neurona j por la ecuación 19.. aj =. j=d X. wji xi + wj0. j=1. 14. (18).
(24) zj = g(aj ). (19). Y la salida de la k neurona esta determinada por la ecuacion 22.. ak =. j=e X. wkj zj + wjk 0. (20). yk = g(ak ). (21). 1. y k = g ak =. j=c X k=1. wkj g. j=d X. ! wji xi + wj0. ! + wjk 0. (22). j=1. Figura 11: Ejemplo de una red neuronal, con una capa escondida de pesos adaptables. El parámetro bias en la capa de entrada con una extra entrada y con entrada fija de uno. De manera similar, el parámetro de bias en la capa de salida con un peso extra con una entrada de uno [16]. Como se puede observar en la ecuación 22 la salida de la neurona k depende de la sumatoria de cada uno de los resultados de las neuronas de la capa escondida con su respectivo peso. Esto se podrı́a ver en el caso que se disponga de n capas escondidas, en donde la salida de la k neurona va a depender de la sumatoria de las otras capas. Por lo anterior, se escribe la función que se minimizara, función de error, la cual es el error cuadrático medio 23, donde Xn corresponde al enésimo vector de datos, por lo cual yn corresponde a la salida esperada al vector correspondiente de datos; h() 15.
(25) es la salida de la red neuronal, la cual se determina usando la ecuación 22. k. 1X E(w) = (h(W, Xn ) − yn )2 2 i=1. (23). 2.2.6.1. Aproximación cuadrática local La ecuación 23 la queremos tranformar en una funcion cuadratica [16], esto se hace utilizando la expansión de Taylor en algun punto w b in el espacio de los pesos, donde H es la matriz hessiana. 1 E(w) ∼ b + (w − w) b T b + (w − w) b T H(w − w) b = E(w) 2. (24) (25). b = ∇w E(w)|wb Hij =. ∂E(w) ∂wi ∂wj. (26) (27). w b. De 25, la aproximación local del gradientes esta dado por:. ∇w E(w) ∼ = b + H(w − b(w)). (28). Ahora consideramos el caso particular en el que estamos cerca del punto w∗ el cual es el un mı́nimo local de la función de error, con lo que la ecuación 25 se convierte en: 1 E(w) = E(w∗ ) + (w − w∗ )T H(w − w∗ ) 2. (29). En donde los vectores propios de la hessiana nos da la orientación de la función de error, y los valores propios cuan delgado o ancho es la hiperparaboloide. 2.2.6.2. Backpropagation Es el algoritmo más sencillo para el entrenamiento del perceptrón multinivel, en donde se asumen funciones derivables para cada neurona, obteniendo como se 16.
(26) propaga el error desde la primera capa escondida hasta la neurona de salida. Se utilizan diferentes metodos de optimización minimizando la ecuación 29, uno de estos metodos es descenso de gradiente. La idea básica de este algoritmo es descender la “colina”. Los vectores de pesos iniciales se escogen aleatoriamente, que son actualizados en cada paso. La idea es moverse una distancia corta en la dirección del mayor cambio en donde decrece el error, en dirección contraria del gradiente [16, 22], buscando los pesos que minimicen el error. figura 12. El vector de pesos iniciales se. Figura 12: Ejemplo del método de descenso de gradiente [22]. escogen aleatoriamente, los cuales después son actualizados, en cada paso τ , la idea es moverse una distancia corta en la dirección del mayor cambio en donde decrece el error, en dirección contraria del gradiente [16, 22]. w(τ ) = w(τ −1) − η∇ E|w(τ −1). (30). En donde η es la tasa de aprendizaje, el problema con esta tasa es que si es muy grande puede que no converja. Y si por el contrario, es muy pequeña se puede demorar demasiado tiempo en converger.En muchas ocasiones este termino se escoge constante a lo largo del desarrollo del algoritmo, en otras se va cambiando.. 17.
(27) 2.2.6.3. Variaciones Momentum Agrega inercia al movimiento a través del espacio y suaviza las oscilaciones. La ecuación es la siguientes: w(τ ) = w(τ −1) − η∇ E|w(τ −1) + µ(wτ −2 − wτ −3 ). (31). µ se conoce como la variable de momento. La inclusión del momento generalmente significa un mejoramiento en el rendimiento del descenso de gradiente. Este método, desafortunadamente, adiciona otro parámetro que toca escoger. Tasa de aprendizaje variable El método normal descenso de gradiente o con la introducción del momento, no son algoritmos suficientemente buenos para la minimización de la función de error. El problema del descenso de gradiente y del momento, ya se discutieron anteriormente. La solución planteada es ir cambiando la tasa de aprendizaje en el transcurso del entrenamiento, la cual se modifica de la siguiente forma: • Si. Ek+1 Ek. > β (el valor tı́pico de β es de 1.04), los nuevos pasos se descartan. y la tasa de aprendizaje se modifica de la siguiente forma: ηnew = αηηold (tı́picamente α es de 0.7) • Si Ek+1 < Ek se modifica: ηnew = γηold (tı́picamente γ es de 1.05) 2.2.6.4. Otros metodos de optimización Encontramos: Quasi Newton, Gradiente conjugado, técnicas de búsqueda en lı́nea. Los que pueden reemplazar por algoritmo de descenso de gradiente. 2.2.6.5. Aprendizaje y generalización El fin último del entrenamiento de las redes neuronales es no aprenderse los datos de entrenamiento, sino construir un modelo estadı́stico del proceso utilizando los datos. Lo cual es importante para la generalización, lo que significa que la red pueda hacer una buena clasificación de datos futuros. Por lo que es necesario introducir dos conceptos a las redes, el sesgo mide la diferencia que hay entre la función 18.
(28) real y la función generada por la red neuronal. varianza mide cuan sensible es la función generada por la red neuronal a un conjunto particular de datos. Para mejorar la generalización de la red neuronal se adiciona un termino de regularización, el cual tiene en cuenta la suavidad de la función que se esta implementando. Por lo que se genera una nueva función de error como sigue:. E(w) b = E(w) + λR(w). (32). Penaliza los pesos para los cuales la función resultante no es suave, logrando un balance entre el ajuste de los datos y la suavidad de la función. Sin embargo, la función R(w) tiene que ser deribable con respecto a w y debe poderse calcular eficientemente. Lo que respecta al entrenamiento, se realiza sobre la función de error modificada, E(w). b Una de las funciones R(w) usadas se conoce como weight decay y se expresa como: R(w) =. k X i=1. wi2. 1 2. (33). 2.2.6.6. Algoritmos De Pruning Por lo cual se genero el algoritmo de Optimal Brain Surgeon [21], el cual mira como afecta la eliminación de un peso a la red, y se elimina el peso que no agrega mucho error a la red. El algoritmo es el siguiente: 1. Se entrena una red neuronal lo suficientemente grande, hasta cierto error mı́nimo. 2. Se calcula H −1 . 3. Encontrar el peso wi que de el saliency (34) mas pequeño. 4. Actualizar los pesos con el ∂w (35) correspondiente. 5. Volver al paso 2 si hasta un numero de iteraciones o hasta que se supere un criterio de error. 19.
(29) En donde: wi2 Li = ∂E = 2(H −1 )ii. ∂w =. wi H −1 ei 2(H −1 )ii. (34). (35). Tal que ei es un vector con un solo uno en la posición i, el resto esta en cero.Es un vector con un solo uno en la posición i, el resto esta en cero. Para calcular la hessiana inversa se utilizara la aproximación por metodos externos: ∂2E 2 X ∂h(xp ) H= = (h(xp ) − yp ) ∂wj ∂wi ∂wj ∂wi X ∂h(xp ) ∂h(xp ) H= ∂wj ∂wi ∂h(xp ) . (36) (37). ∂w1. .. . X ∂h(xp ) ∂h(xp ) ∂h(xp ) H= ··· ∂wL ∂w1 ∂wL ∂h(xp ) ∂h(xp ) ··· gp = ∂w1 ∂wL X H= gp gpT. (38). . (39) (40). De 40 se puede expresar como: T Hl+1 = Hl + g + l + 1gl+1. (41). (A + BC)−1 = A−1 − A−1 B(I + CA−1 B)−1 CA−1. (42). Tomando la identidad:. Con lo que se obtiene: −1 Hl+1 = Hl−1 −. T Hl−1 gl+1 gl+1 Hl−1 T 1 + gl+1 Hl−1 gl+1. 20. (43).
(30) 2.2.7.. Función Radial. En donde se asumen funciones derivable para cada neurona, obteniendo como se propaga el error desde la primera capa escondida hasta la neurona de salida. Utiliza la arquitectura del preceptrón multinivel con una capa escondida, las funciones de activación de las neurona en la capa escondida son radiales y de la capa de salida poseen una función de activación mencionada con anterioridad. El uso de función radial, es agrupar los datos al cluster al que más se aproximen. El algoritmo se divide en dos partes: no supervisada, en donde se determinan los parámetros de la función radial. Y supervisada, usada para entrenar las neuronas de la capa de salida con algún método de optimización[16]. 2.2.8.. LVQ. Este algoritmo fue inventado por Kohonen, el cual consiste en que cada neurona representa una clase en particular [14]. Las neuronas son posicionadas para lograr aproximaciones a superficies de decisión. Este algoritmo necesita un vector de salida con la clasificación de cada una de las clases. La idea detrás de este algoritmo es disminuir la distancia euclidiana que hay entre los pesos de las neuronas de una clase con los datos de esta[14, 15]. El algoritmo es el siguiente: 1. Se inicializan los vectores. 2. Mientras la condición de culminación sea falsa hacer los pasos 2-6. 3. Para cada vector de entrada hacer los pasos 3-4. 4. Actualizar los pesos de la siguiente manera: Si el dato fue correctamente clasificados entonces: wj (new) = wj (old) + α[x − wj (old)] Si el dato no fue correctamente clasificados entonces: wj (new) = wj (old) − α[x − wj (old)] 5. Reducir la tasa de aprendizaje. 21.
(31) 6. Comprobar condición de culminación.. 22.
(32) Capı́tulo III. Procedimiento 3.1.. Generación del modelo y base de datos. Para obtener datos se realizó una gran cantidad de simulaciones en ANSYS que permitió generar una base de datos de respuestas en frecuencia de dispositivos buenos y con distintos tipos de fallas. Para realizar éstas simulaciones se generó un plan con los siguientes pasos. Generación de modelo:Se genera un modelo del resonador para las simulaciones. Obtención de C(x): Se realizaron simulaciones electroestatı́cas sobre un modelo completo del sistema que permitieron la extracción de varios valores de capcitancia para distintos desplazamientos Simulación de Respuesta en Frecuencia: Se utilizó un modelo de orden reducido para el sistema electroestático, en el cual se incluyeron los resultados del paso anterior para definir los elementos de orden reducido. Extracción de parámetros de interés de la respuesta en frecuencia: A partir de los resultados se obtiene el valor de w0 , el desplazamiento máximo y el factor de calidad A continuación se explican con más detalle los pasos realizados. Para generar el modelo se tuvieron en cuenta los parámetros de diseño del sistema para obtener una frecuencia de resonancia alrededor de 10KHz.. 23.
(33) Figura 13: Modelo sin fallas del sistema Después de tener el modelo, se decide si se introducen o no fallas de dedos. En este caso (Figura 14), se quitaron dos dedos del peine para simular una falla de fractura en dedos.. Figura 14: Introducción de una falla por fractura en dos dedos De este modelo se realiza una serie simulaciones electroestáticas que permiten obtener C(x) y x(V ). Se usan los tipos de elemento compatibles PLANE181, para resultados eléctricos, y PLANE82, para resultados estructurales. Con cada uno de esos tipos de elemento se definen las cargas eléctricas y estructurales y se procede a utilizar las macros ESSOLV para obtener desplazamiento del dispositivo y CMATRIX para extraer la capacitancia.. 24.
(34) Figura 15: Simulación: Potencial Eléctrico De la figura 16 se puede ver que para este caso los efectos de borde de la capacitancia son mı́nimos comparados con la capacitancia de placas paralelas. También se puede notar que el efecto de éstas fallas es el esperado: reducir la capacitancia total del peine (nótese que no hay campo eléctrico en el lugar donde se quitaron los dedos). Después de obtener C(x) a partir de varias simulaciones de éste tipo, se procede a introducir los valores de C(x) en el modelo de orden reducido.. Figura 16: Simulación: Campo Eléctrico Para esta simulación (Figura 17), se utilizan elementos de tipo TRANS126 los cuales necesitan parejas de valores < C(x), x > para poder establecer la respuesta electroestática del dispositivo. En éste punto se decide si se introducen o no fallas. 25.
(35) de anclaje de dedos, anclaje por partı́culas o fracturas en lugares crı́ticos. Ejemplos del primer y tercer caso se muestran en las figuras 18 y 19. Figura 17: Modelo con elementos de orden reducido. Figura 18: Introducción de falla de dedos anclados. 3.2.. Entrenamiento de las redes neuronales. Para realizar la comparación entre diferentes redes neuronales, se utilizo la herramienta NNTOOL de Matlab, Fig. 20. La toleracian admitible en cada una de las caracteristicas fue de un 10 %. El procedimiento seguido fue el siguiente: Pre-procesamiento de las señales: Dado a que la ganancia de resonancia. 26.
(36) Figura 19: Introducción de falla de fractura en resorte y promedio resultaron muy pequeñas en comparación a la frecuencia de resonancia y que Matlab hace varias aproximaciones en los cálculos, se produce una mala generación de la red si no se normalizan los datos.Para solucionar ésto se normalizaron los datos con respecto al valor esperado Selección de las caracterı́sticas principales: Se entrenaron diferentes redes con un vector de entrada distinto, el cual contenı́a caracterı́sticas diferentes para cada red, con lo que se pretendı́a cubrir el conjunto de combinaciones de las caracterı́sticas. Entrenamiento de las redes neuronales usando diferentes algoritmos: Se usaron diferentes algoritmos de optimización para feed-forward backpropagation, entre los que están: Levenberg-Marquardt, descenso de gradiente, descenso de gradiente con momento, entre otros. También se entrenaron redes usando LVQ y de función radial. Adicionalmente se utilizaron cantidades diferentes de neuronas en la red. Pruning: Se utilizó el algoritmo de Optimal Brain Surgeon para la reduccion de la red que diera el mejor desempeño. Este algoritmo fue implementado para reducir redes con una capa escondida y con n neuronas en esta y una neurona en la capa de salida.. 27.
(37) Figura 20: Herramienta NNTOOL de MATLAB. 28.
(38) Capı́tulo IV. Resultados 4.1.. Simulaciones en Ansys. En la Fig. 21 se puede observar la respuesta del modelo sin ninguna falla y con dedos eliminados. Cuando se eliminan dedos se produce un cambio en la ganancia y frecuencia resonancia: Al eliminar solo dedos fijos (en el estator del peine) hay una disminución de la ganancia sin cambio de la frecuencia. A diferencia de cuando se eliminan dedos moviles (los que están sobre la masa de prueba), lo que representa un aumento en la frecuencia de resonancia y la ganancia, opacando la disminución de los dedos móviles. En las Figs. 22,23 se puede observar en estas graficas que el introducir anclajes en los dedos, desdos y resortes la ganancia no hay una ganancia considerable. Sin embargo, cuando hay fracturas o anclajes en los resortes se observa un cambio en la frecuencia de resonancia como en la ganancia de la misma, Fig. 24,25.. Figura 21: Respuesta de frecuencia.. 29.
(39) Figura 22: Anclajes en dedos. Figura 23: Anclajes en los dedos y resortes. 4.2.. Redes Neuronales. Se pueden observar en las Figs. 26,28,27 se pueden observar la variación del error para cada combinacion de las caracterı́sticas de la señal. Se escogió como caracterı́sticas finales la frecuencia de resonancia y la ganancia de resonancia. Para el entrenamiento de las redes neuronales solo se dispuso de 123 vectores de datos. Como resultado del análisis de selección de caracterı́stica se obtuvo que la mejor combinación era la frecuencia y ganancia de resonancia, como se puede 30.
(40) Figura 24: Anclajes en resortes. Figura 25: Fracturas en los resortes observar en la Fig. 29. De ésta figura se puede ver que el error es muy pequeño; esto se debe a la tan pequeña cantidad de datos para entrenar la red. La comparación entre todas las redes neuronales dio como resultado que el método de optimización Levenberg-Marquardt para BackPropagation reduce el error mejor que las otras redes, incluyendo la red entrenada por medio de función radial. La red entrenada con LVQ no pudo clasificar los datos de prueba correctamente, ası́ que fué descartada. La red que obtuvo el mejor resultado fue de 10 neuronas en la capa escondida con una neurona en la capa de salida. Esta red fue reducida en un 50 %, con lo cual no se agregó un error a los datos de prueba.. 31.
(41) Figura 26: Frecuencia de resonancia y ganancia de resonancia. Figura 27: Ganancia promedio y ganancia de resonancia. Figura 28: Ganancia promedio y frecuencia de resonancia. 32.
(42) Figura 29: Gráfica del error durante cada época, utilizando método de optimización Levenberg-Marquardt.. 33.
(43) Capı́tulo V. Problemas encontrados El atraso con respecto al cronograma se debió a la dificultad que hay para programar en ANSYS y conseguir documentos que validen la investigación. Las pocas simulaciones obtenidas se debieron a que cada simulación se demora cerca de una hora en ANSYS. Aunque se obtuvo acceso a 25 computadores por cerca de 40 horas, poner a simular los 25 computadores al mismo tiempo fue imposible por problemas de configuración de las máquinas disponibles y la falta de licencias de ANSYS. La poca facilidad en la programación del modelo y las fallas correspondientes en ANSYS.. 34.
(44) Capı́tulo VI. Conclusiones La deteción de fallas en MEMS es un área que debe seguir siendo tratada si se quiere llegar a una reducción de costos y aprovechamiento de economı́a de escala como ocurre en el mercado de la microelectrónica. El uso de redes neuronales se justifica en cuanto se quiera generar un sistema clasificador sin entrar en detalle de los modelos matémáticos especı́ficos de cada tipo de falla. El uso del algoritmo Optimal Brain Surgeon para la reducción de la red sin aumentar el error es una buena herramienta para reducir los costos y facilitar la implementación en hardware de la red. Se demostró el correcto funcionamiento de las redes neuronales para determinar si un resonador esta funcionando correctamente o no en el campo de acción.. 35.
(45) Capı́tulo VII. Trabajos futuros En el transcurso del desarrollo de este proyecto se encontró necesidad de crear un programa que trabaje sobre ANSYS que permita la introducción y simulación de fallas en los MEMS. También es necesario introducir nuevas fallas al trabajo realizado, con el fin de poder obtener mejores resultados en la clasificación a la hora de utilizar la red con valores reales. Serı́a interesante que se estudien otros tipos de entrenamiento de redes de tipo probabilı́stico y/o heurı́stico ya que la cantidad de datos disponibles en simulación e incluso en laboratorio es bastante reducido.. 36.
(46) Apéndice A. Datos. ganancia. frecuencia. promedio resonancia resonancia 5% 10% 7.89E-13 2.66E-11 11667.72417 0 1 7.80E-13 2.39E-11 11745.33993 0 0 8.77E-13 5.12E-11 11849.63137 0 0 7.45E-13 2.09E-11 11719.41081 0 0 1.91E-12 1.93E-10 11797.37041 0 0 8.45E-13 3.55E-11 11745.33993 0 0 1.39E-12 1.30E-10 11981.29887 0 0 7.73E-13 2.49E-11 11745.33993 0 0 9.24E-13 4.60E-11 11797.37041 0 0 2.49E-14 3.18E-14 13500 0 0 8.48E-13 2.86E-11 11667.72417 1 1 7.37E-13 2.48E-11 11667.72417 0 0 8.26E-13 2.78E-11 11667.72417 1 1 1.25E-12 1.05E-10 11849.63137 0 0 7.73E-13 2.49E-11 11745.33993 0 0 3.72E-19 3.72E-19 13500 0 0 3.35E-19 3.35E-19 13500 0 0 3.11E-18 3.11E-18 13500 0 0 5.47E-17 5.47E-17 13500 0 0 1.46E-16 1.46E-16 13500 0 0. 37.
(47) 1.86E-17 1.87E-17 13500 0 0 1.76E-16 1.76E-16 13500 0 0 7.62E-21 7.62E-21 9500 0 0 7.90E-18 7.90E-18 13500 0 0 2.55E-17 2.55E-17 13500 0 0 3.10E-17 3.10E-17 13500 0 0 5.27E-17 5.27E-17 13500 0 0 2.44E-17 2.44E-17 13500 0 0 2.38E-17 2.38E-17 13500 0 0 3.70E-16 3.71E-16 13500 0 0 1.01E-15 1.02E-15 13500 0 0 6.45E-19 6.45E-19 13500 0 0 2.41E-18 2.41E-18 13500 0 0 5.62E-16 5.64E-16 13500 0 0 7.75E-17 7.76E-17 13500 0 0 1.77E-19 1.77E-19 13500 0 0 8.75E-18 8.75E-18 13500 0 0 3.77E-19 3.77E-19 13500 0 0 9.25E-19 9.25E-19 13500 0 0 4.11E-16 4.13E-16 13500 0 0 5.94E-17 5.94E-17 13500 0 0 3.66E-18 3.67E-18 13500 0 0 8.64E-22 8.64E-22 13500 0 0 3.46E-18 3.47E-18 13500 0 0 2.41E-17 2.41E-17 13500 0 0 1.42E-16 1.42E-16 13500 0 0 3.28E-22 3.28E-22 9500 0 0 1.42E-16 1.42E-16 13500 0 0 8.64E-16 8.70E-16 13500 0 0 3.71E-17 3.71E-17 13500 0 0 2.19E-20 2.19E-20 9500 0 0. 38.
(48) 8.83E-17 8.83E-17 13500 0 0 1.42E-21 1.42E-21 9500 0 0 5.70E-16 5.73E-16 13500 0 0 2.53E-21 2.53E-21 9500 0 0 6.33E-18 6.34E-18 13500 0 0 7.36E-14 1.45E-13 13500 0 0 1.34E-16 1.34E-16 13500 0 0 1.29E-16 1.29E-16 13500 0 0 1.29E-16 1.29E-16 13500 0 0 1.25E-17 1.25E-17 13500 0 0 1.25E-17 1.25E-17 13500 0 0 1.23E-17 1.23E-17 13500 0 0 4.63E-17 4.63E-17 13500 0 0 6.47E-19 6.47E-19 13500 0 0 1.12E-17 1.12E-17 13500 0 0 2.29E-21 2.29E-21 13500 0 0 1.71E-16 1.71E-16 13500 0 0 8.11E-19 8.11E-19 13500 0 0 2.93E-18 2.93E-18 13500 0 0 1.80E-17 1.80E-17 13500 0 0 1.65E-17 1.65E-17 13500 0 0 2.18E-17 2.18E-17 13500 0 0 8.64E-22 8.64E-22 13500 0 0 2.22E-21 2.22E-21 13500 0 0 8.61E-13 2.47E-11 11362.35634 0 0 2.16E-11 3.37E-09 12195.01673 0 0 9.67E-13 4.95E-11 11287.27142 0 0 2.96E-14 4.02E-14 13500 0 0 9.33E-14 2.54E-13 13500 0 0 9.74E-13 3.06E-11 10447.09481 0 0 7.67E-13 2.01E-11 11667.72417 0 0. 39.
(49) 1.55E-12 1.37E-10 10895.11882 0 0 9.43E-13 3.93E-11 10943.38291 0 0 9.43E-13 3.93E-11 10943.38291 0 0 8.39E-13 2.68E-11 11237.49066 0 1 1.43E-12 1.14E-10 10286.71837 0 0 8.63E-13 5.12E-11 12276.14014 0 0 1.13E-12 5.61E-11 10991.86081 0 0 1.24E-13 2.92E-13 9500 0 0 1.02E-12 3.83E-11 11437.94075 0 0 1.09E-12 5.69E-11 10196.1825 0 0 1.09E-12 5.69E-11 10196.1825 0 0 7.88E-13 2.80E-11 11616.26548 1 1 1.21E-12 8.92E-11 11187.92945 0 0 1.87E-14 2.23E-14 13500 0 0 3.19E-17 3.19E-17 13500 0 0 2.30E-14 2.83E-14 13500 0 0 6.03E-14 1.06E-13 13500 0 0 5.55E-15 5.84E-15 13500 0 0 7.29E-13 3.76E-11 12661.90965 0 0 5.84E-15 6.15E-15 13500 0 0 6.26E-14 1.16E-13 13500 0 0 6.26E-14 1.16E-13 13500 0 0 5.41E-14 9.01E-14 13500 0 0 5.39E-15 5.61E-15 13500 0 0 4.09E-14 5.93E-14 13500 0 0 4.13E-14 5.98E-14 13500 0 0 1.13E-18 1.13E-18 13500 0 0 9.89E-15 1.07E-14 13500 0 0 4.57E-16 4.59E-16 13500 0 0 2.08E-15 2.12E-15 13500 0 0 3.73E-17 3.73E-17 13500 0 0. 40.
(50) 6.23E-13 1.92E-11 13088.69645 0 0 4.16E-14 5.99E-14 13500 0 0 2.60E-14 3.23E-14 13500 0 0 3.53E-15 3.64E-15 13500 0 0 1.25E-13 5.36E-13 13500 0 0 6.64E-14 1.33E-13 13500 0 0 3.05E-14 3.99E-14 13500 0 0 8.06E-18 8.06E-18 13500 0 0 1.63E-24 1.63E-24 9500 0 0 1.23E-14 1.36E-14 13500 0 0. 41.
(51) Apéndice B. Código Optimal Braing Surgeon para MATLAB B.1.. Principal. function [ pesosEscondida, biasEscondida, pesosSalida, biasSalida ] = ReducirNeuronas(pesosEscondida,biasEscondida,pesosSalida, biasSalida,error,datosEntrada) [neuronasEscondida, tamano]=size(pesosEscondida); [nBiasEscondida, temp]=size(biasEscondida); [tamDatos, dimDatos]=size(datosEntrada); [neuronasSalida, tamanoSalida]=size(pesosSalida); % el uno adicional es el uno del bias dimension= neuronasEscondida*tamano+nBiasEscondida+1+tamanoSalida; nIteraciones=dimension*0.4; iteraciones=0; vecDime=(1:nIteraciones+2)*0; errorD=1;. 42.
(52) while iteraciones<=nIteraciones && errorD~=0 hInv= CalcularHessianaInversa(pesosEscondida, biasEscondida, pesosSalida, biasSalida,datosEntrada); [error1, posicion]= CalcularSaliency(pesosEscondida, biasEscondida, pesosSalida, biasSalida,hInv,vecDime); vecDime(iteraciones+1)=posicion; if error1>=error errorD=0; else [pesosEscondida, biasEscondida, pesosSalida, biasSalida] = ActualizarPesos(pesosEscondida, biasEscondida, pesosSalida, biasSalida,hInv,posicion,vecDime); iteraciones=iteraciones+1; end end. B.2.. Calcular Hessiana Inversa. function [ hInv ] = CalcularHessianaInversa(pesosEscondida, biasEscondida, pesosSalida, biasSalida,datosEntrada) [neuronasEscondida, tamano]=size(pesosEscondida); 43.
(53) [nBiasEscondida, temp]=size(biasEscondida); [tamDatos, dimDatos]=size(datosEntrada); [neuronasSalida, tamanoSalida]=size(pesosSalida); % el uno adicional es el uno del bias dimension= neuronasEscondida*tamano+nBiasEscondida+1+tamanoSalida; HessianaMenos=1e-7.^(-1)*eye(dimension); for i=1:dimDatos g=CalcularG(pesosEscondida,biasEscondida,pesosSalida, biasSalida,datosEntrada(:,i))’; Hessiana=HessianaMenos-(HessianaMenos*g*g’*HessianaMenos) /(1+g’*HessianaMenos*g); HessianaMenos=Hessiana; end hInv=Hessiana;. B.3.. Calculo de las derivadas. function [ g ] = CalcularG(pesosEscondida, biasEscondida, pesosSalida, biasSalida,datoEntrada) [neuronasEscondida, tamano]=size(pesosEscondida); [nBiasEscondida, temp]=size(biasEscondida); [neuronasSalida, tamanoSalida]=size(pesosSalida); % el uno adicional es el uno del bias. 44.
(54) dimension= neuronasEscondida*tamano+nBiasEscondida+1+tamanoSalida; gTemp=(1:dimension); gTemp=gTemp*0; funcionEscondida= funcionActivacion(pesosEscondida,biasEscondida,datoEntrada); funcionSalida= funcionActivacion(pesosSalida,biasSalida,funcionEscondida); %ciclo para los bias de la primera capa, el dato de %entrada siempre es uno %Estos bias se ubican en la n primeras posiciones del vector for i=1:nBiasEscondida gTemp(1,i)= funcionSalida*(1-funcionSalida)*pesosSalida(1,i) *funcionEscondida(i,:)*(1-funcionEscondida(i,:)); end for j=1:tamano for i=1:neuronasEscondida gTemp(1,(nBiasEscondida+i+neuronasEscondida*(j-1)))=. 45.
(55) funcionSalida*(1-funcionSalida)*(1-funcionEscondida(i,:)) *pesosSalida(1,i)*datoEntrada(j,:); end end %agregar el bias de la segunda capa, el dato de %entrada siempre es uno % se agrega despues de que todo el resultado de los %pesos de la primera % capa esten hechos gTemp(1,nBiasEscondida+neuronasEscondida*tamano+1)= funcionSalida*(1-funcionSalida); %ciclo para agregar los pesos de la neurona de salida for i=1:tamanoSalida gTemp(1,nBiasEscondida+neuronasEscondida*tamano+1+i)= funcionSalida*(1-funcionSalida)*funcionEscondida(i,:); end g=gTemp;. B.4.. Calculo del sailency. function [ error, posicion ] = CalcularSaliency(pesosEscondida, biasEscondida, pesosSalida, biasSalida,hInv,vecPos) [neuronasEscondida, tamano]=size(pesosEscondida); [nBiasEscondida, temp]=size(biasEscondida); [neuronasSalida, tamanoSalida]=size(pesosSalida); 46.
(56) [x, y]= size(hInv); temp=1; %Calculo del saliency para los bias de la primera capa for i=1:nBiasEscondida L(1,i)=biasEscondida(i,:).^2/(2*hInv(i,i)); end %Calculo del saliency del bias de la neurona de salida L(1,nBiasEscondida+neuronasEscondida*tamano+1)= biasSalida.^2/(2*hInv(nBiasEscondida+neuronasEscondida* tamano+1,nBiasEscondida+neuronasEscondida*tamano+1)); %calculo del saliency de las neuronas de la capa escondida for j=1:tamano for i=1:neuronasEscondida L(1,nBiasEscondida+i+neuronasEscondida*(j-1))= pesosEscondida(i,j).^2/(2*hInv(nBiasEscondida+i+neuronasEscondida *(j-1),nBiasEscondida+i+neuronasEscondida*(j-1))); end end %Calculo del saliency de la neurona de salida for i=1:tamanoSalida L(1,nBiasEscondida+neuronasEscondida*tamano+1+i)= pesosSalida(1,i).^2/(2*hInv(nBiasEscondida+neuronasEscondida*tamano +1+i,nBiasEscondida+neuronasEscondida*tamano+1+i)); end. 47.
(57) while vecPos(temp)~=0 L(1,vecPos(temp))=1e10; temp=temp+1; end [error, posicion]=min(L);. B.5.. Actualización de pesos. function [pesosEscondida, biasEscondida, pesosSalida, biasSalida] = ActualizarPesos(pesosEscondida, biasEscondida, pesosSalida, biasSalida, hInv,posicion,vecDime) [neuronasEscondida, tamano]=size(pesosEscondida); [nBiasEscondida, temp]=size(biasEscondida); [neuronasSalida, tamanoSalida]=size(pesosSalida); [x, y]=size(hInv); e=eye(x); tempo=(1:x)’*0; temp=0; posI=0; posJ=0; temporal=0; if posicion<=nBiasEscondida for i=1:nBiasEscondida if i/posicion==1 temp=1; posI=i; end end elseif 48.
(58) (nBiasEscondida+neuronasEscondida*tamano+1)/posicion==1 temp=2; posI=1; elseif (nBiasEscondida<posicion && posicion<=nBiasEscondida +neuronasEscondida*tamano) for j=1:tamano for i=1:neuronasEscondida if (nBiasEscondida+i+neuronasEscondida*(j-1))/posicion ==1 temp=3; posI=i; posJ=j; end end end elseif. ((nBiasEscondida+neuronasEscondida*tamano+1). <posicion && posicion<=x) for i=1:tamanoSalida if (nBiasEscondida+neuronasEscondida*tamano+1+i)/posicion ==1 posI=i; temp=4; end end end if temp == 1 tempo= -(biasEscondida(posI,:)/hInv(posicion,posicion))*(hInv*e(:,posicion));. 49.
(59) biasEscondida(posI,:)=0; tempo(posicion)=0; elseif temp ==2 tempo =-(biasSalida(posI,:)/hInv(posicion,posicion))*(hInv*e(:,posicion)); biasSalida(posI,:)=0; tempo(posicion)=0; elseif temp ==3 tempo= -(pesosEscondida(posI,posJ)/hInv(posicion,posicion))*(hInv*e(:,posicion)); pesosEscondida(posI,posJ)=0; tempo(posicion)=0; elseif temp==4 tempo= -(pesosSalida(1,posI)/hInv(posicion,posicion))*(hInv*e(:,posicion)); pesosSalida(1,posI)=0; disp(pesosSalida(1,4)); tempo(posicion)=0; end %quita los pesos que se han eliminado while vecDime(temporal+1)~=0 tempo(vecDime(temporal+1))=0; temporal=temporal+1; end for i=1:nBiasEscondida biasEscondida(i)=biasEscondida(i)+tempo(i); end. 50.
(60) biasSalida= biasSalida+tempo(nBiasEscondida+neuronasEscondida*tamano+1); for j=1:tamano for i=1:neuronasEscondida pesosEscondida(i,j)= pesosEscondida(i,j)+tempo(nBiasEscondida+i+neuronasEscondida*(j-1)); end end for i=1:tamanoSalida pesosSalida(1,i)= pesosSalida(1,i)+tempo(i+nBiasEscondida+neuronasEscondida*tamano+1); end. 51.
(61) Apéndice C. Archivo Ansys para simulaciones electroestáticas. /prep7 /title Resonador combdrive electroestático. ! Reference: ! "Microelectromechanical Filters for Signal Processing", !. Lin, L., Howe, R.T., J. Microelectromechanical Systems,. !. VOL 7, No. 3, Sept 1998. !numero de simulaciones n_loops=10 ! parametros resorte E. = 150e3. !Young modulus. d. = 2.33e-15. ! density. hb = 2. ! beam thickness. wb = 2. ! beam width. Lb = 235. ! beam length. k. ! mechanical stiffness. = 5.699. 52.
(62) !parametros esquina resorte lt = 15 wt = 5 ! parametros peine eps0=8.854e-6 n. ! permitividad espacio vacı́o. = 30. ! number of finger. np = n*2. ! number of finger pairs. x0 = 20. ! initial finger overlap. L. ! finger length (moving comb). = 40. gi = L-x0. ! initial gap. w. = 4. ! finger width. h. = hb. ! finger thickness. gp = 2. ! finger gap (lateral). g. ! comb gap (vertical). = 2. wca = 10. ! anclaje. wcy = 5. ! unión con resorte. ! parametros masa de prueba lsy = 40 wsy = 10 lsa = 2*wb+3*lt wsa = 20 ! parametros anclaje wba = 5 !dimension de espacio de aire x=2*(wt+lb)+lsy y=2*(wca+l+gi+wcy+wsy)+lsa. 53.
(63) ! estator blc4,0,0,(2*n+1)*w+2*n*g,wca blc4,0,wca,w,L agen,n+1,2, , ,2*g+2*w, , ,,0 ! rotor blc4,w+g,wca+L+gi,w,-L agen,n,n+3, , ,2*g+2*w, , ,,0 blc4,w+g,wca+L+gi,(2*n-1)*w+(2*n-2)*g,wcy ! shuttle blc4,(n+0.5)*w+n*g-lsy*(0.5),wca+wcy+L+gi,lsy,wsy blc4,(n+0.5)*w+n*g-wsa*(0.5),wca+wcy+L+gi+wsy,wsa,lsa blc4,(n+0.5)*w+n*g-lsy*(0.5),wca+wcy+L+gi+wsy+lsa,lsy,wsy ! resorte blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy,Lb,-wb blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy+lt,Lb,wb blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy+(2*lt+wb),Lb,wb blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy+(3*lt+2*wb),Lb,wb ! resorte: truss blc4,(n+0.5)*w+n*g+lsy*(0.5)+Lb,wca+wcy+L+gi+wsy-wb,wt,lsa+2*wb ! resorte: Anclaje blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy+lt,-wba,2*wb+lt. 54.
(64) ! copia y reflejo resorte asel,s,area,,2*n+7,2*n+12,1 arsymm,x,all,,,,,0 asel,u,area,,2*n+7,2*n+12,1 agen, ,all, , ,(2*n+1)*w+2*n*g, , , , ,1 ! copia y reflejo peine asel,s,area,,1,2*n+3,1 arsymm,y,all,,,,,0 asel,u,area,,1,2*n+3,1 aGEN, ,all, , , ,2*(wca+wcy+L+gi+wsy)+lsa, , , ,1 allsel,all !tipos de elemento et,1,121 ! PLANE121 element for air region et,2,121 ! Temporary element for beam region emunit,epzro,eps0! Free-space permittivity, µM KSV units mp,perx,2,1 ! Relative permittivity for air. !unión de partes asel,s,area,,1,n+2,1 aadd,all asel,s,loc,y,wca+gi,gi+2*(l+wcy+wsy)+lsa aadd,all. 55.
(65) asel,s,loc,y,wca+gi+l+2*(wcy+wsy)+lsa,2*(wca+l+gi+wcy+wsy)+lsa aadd,all !aire blc4,(n+0.5)*w+n*g-lsy*(0.5)-lb-wt,0,x,y allsel,all aovlap,all numcmp,area allsel,all !!parte estructural asel,u,area,,3,8,1 aatt,1,,1 !!aire asel,s,area,,3,8,1 cm,aire,area aatt,2,,2. ! enmallado asel,s,area,,3,8,1 lesize,all,,,7. MSHAPE, 0, 2d. 56.
(66) MSHKEY,2 asel,all asel,s,area,,1 amesh,all MSHAPE, 1, 2d MSHKEY,0 asel,s,area,,3,8,1 amesh,all allsel,all !definicion de arreglos y tablas de resultados *dim,c_x,array,n_loops *dim,x_max,array,n_loops *dim,res,table,n_loops,4 !voltajes de prueba *dim,vin,array,n_loops vin(1)=0,40,50,60,70,90,100,120,130,140. !!cargas electricas asel,s,area,,1 lsla,s nsll,s d,all,volt,0. 57.
(67) asel,s,area,,2 lsla,s nsll,s d,all,volt,vin(1) allsel,all et,1,0 ! Set structure to null element type et,2,121 !aire plane121 physics,write,ELEC ! Write electrostatic physics file physics,clear ! Clear Physics. et,1,82,,,2 ! Define beam element y type et,2,0 ! Set air to null element type mp,ex,1,E! Set Modulus µN/(µm) ∗ ∗2 mp,nuxy,1,0.34. !! anclajes nsel,s,loc,x,(n+0.5)*w+n*g-lsy*(0.5),(n+0.5)*w+n*g-lsy*(0.5)+wba nsel,a,loc,x,(n+0.5)*w+n*g+lsy*(0.5),(n+0.5)*w+n*g+lsy*(0.5)-wba nsel,r,loc,y,wca+wcy+L+gi+wsy+lt,wca+wcy+L+gi+wsy+lt+2*wb+lt d,all,ux,0 d,all,uy,0. allsel,all. 58.
(68) !!asignacion de nodos PARA CMATRIX asel,s,area,,1 lsel,s,ext nsll,s,1 cm,cond2,node. !!parte móvil (tierra). asel,s,area,,2 lsel,s,ext nsll,s,1 cm,cond1,node. !!drive comb. allsel,all finish physics,write,STRUC ! Write structural physics file. !!ciclo para sacar curva de capacitancia contra desplazamiento. *do,i,1,n_loops,1 ESSOLV,’ELEC’,’STRUC’,2,0,’aire’,,0.01,0.01,60,,i,1 ! Solve finish physics,read,ELEC /solu cmatrix,1,’cond’,2,0. ! Compute capacitance matrix coefficients. finish. 59.
(69) physics,read,STRUC /post1 set,last asel,s,area,,1 lsla,s nsll,s nsort,u,y,1,1 *get,x_max(i),sort,0,max physics,read,ELEC *set,c_x(i),CMATRIX(1,1) res(i,1) = vin(i) res(i,2) = x_max(i) res(i,3) = c_x(i) *if,i,eq,n_loops,exit /prep7 asel,s,area,,2 lsla,s nsll,s d,all,volt,vin(i+1) allsel physics,write,ELEC. *enddo. 60.
(70) !!recuperar indices de la tabla *SET,RES(0,1,1) , 1 *SET,RES(0,2,1) , 2 *SET,RES(0,3,1) , 3 *SET,RES(0,4,1) , 4 *SET,RES(1,0,1) , 1 *SET,RES(2,0,1) , 2 *SET,RES(3,0,1) , 3 *SET,RES(4,0,1) , 4 *SET,RES(5,0,1) , 5 *SET,RES(6,0,1) , 6 *SET,RES(7,0,1) , 7 *SET,RES(8,0,1) , 8 *SET,RES(9,0,1) , 9 *SET,RES(10,0,1) , 10 *VSCFUN, mediaF,mean, res(1,4) *VSCFUN, mediaC,mean, res(1,3) *VSCFUN, mediaX,mean, res(1,2) !calcular dC/dx c0=0 sumxy=0 sumxx=0 *do,i,1,n_loops,1 sumxy=sumxy+((res(i,2)-mediaX)*(res(i,3)-mediaC)) sumxx=sumxx+((res(i,2)-mediaX)*(res(i,2)-mediaX)) *enddo c0=sumxy/sumxx. 61.
(71) !generar vector de fuerza electroest~ A¡tica *do,i,1,n_loops,1 res(i,4) = (c0*res(i,1)*res(i,1))/2 *enddo ! !calcular k : dF/dx. k=0 sumxy=0 sumxx=0 *do,i,1,n_loops,1 sumxy=sumxy+((res(i,2)-mediaX)*(res(i,4)-mediaF)) sumxx=sumxx+((res(i,2)-mediaX)*(res(i,2)-mediaX)) *enddo k=sumxy/sumxx. !utilizando el grosor = h c0=c0*h k=k*h ! *CREATE,ansuitmp *CFOPEN,’results’,’txt’,’ ’ *VWRITE,res(1,1),res(1,2),res(1,3),res(1,4) , , , , , , (4(f14.10,’,’)) *CFCLOS *END /INPUT,ansuitmp. 62.
(72) ! /axlab,x,Desplazamiento[um] /axlab,y,Capacitancia[F/um] *vplot,res(1,2),res(1,3). /axlab,x,Voltaje Aplicado[V] /axlab,y,Desplazamiento[um] *vplot,res(1,1),res(1,2) save finish. 63.
(73) Apéndice D. Archivo Ansys para simulaciones en frecuencia. /prep7 !numero de simulaciones. n_loops=10 fr0=9500 fr1=13500 nstep=160 nvar=3 ns=nstep-1 *dim,uyy(1),array,1. ! parametros resorte E. = 150e3. !Young modulus. d. = 2.33e-15. ! density. hb = 2. ! beam thickness. wb = 2. ! beam width. Lb = 235. ! beam length. k. ! mechanical stiffness. = 5.699. 64.
(74) !parametros esquina resorte lt = 15 wt = 5 ! parametros peine eps0=8.854e-6 n. ! permitividad espacio vacı́o. = 30. ! number of finger. np = n*2. ! number of finger pairs. x0 = 20. ! initial finger overlap. L. ! finger length (moving comb). = 40. gi = L-x0. ! initial gap. w. = 4. ! finger width. h. = hb. ! finger thickness. gp = 2. ! finger gap (lateral). g. ! comb gap (vertical). = 2. wca = 10. ! anclaje. wcy = 5. ! unión con resorte. lcy = (2*n-1)*w+(2*n-2)*g ! parametros masa de prueba lsy = 40 wsy = 10 lsa = 2*wb+3*lt wsa = 20 ! parametros anclaje wba = 5 !dimension de espacio de aire x=2*(wt+lb)+lsy y=2*(wca+l+gi+wcy+wsy)+lsa. 65.
(75) !calculo de area efectiva ashuttle = 2*(wcy*lcy+w*l*n+lsy*wsy)+lsa*wsa asprings = 8*lb*wb atruss = 2*wt*(3*lt+4*wb) aeff=ashuttle+(12/35)*asprings+(1/4)*atruss. ! Stroke vs. Capacitance data. res(i,2): x_i , res (i,3) c(x_i). *dim,res,table,n_loops,4. !* *CREATE,ansuitmp *VREAD,res(1,1),’results’,’txt’,’ ’,JIK,4,n_loops,1, , (4(f14.10,’,’)) *END /INPUT,ansuitmp !*. !!recuperar indices de la tabla *SET,RES(0,1,1) , 1 *SET,RES(0,2,1) , 2 *SET,RES(0,3,1) , 3 *SET,RES(0,4,1) , 4 *SET,RES(1,0,1) , 1 *SET,RES(2,0,1) , 2. 66.
(76) *SET,RES(3,0,1) , 3 *SET,RES(4,0,1) , 4 *SET,RES(5,0,1) , 5 *SET,RES(6,0,1) , 6 *SET,RES(7,0,1) , 7 *SET,RES(8,0,1) , 8 *SET,RES(9,0,1) , 9 *SET,RES(10,0,1) , 10. ! Model ! rotor blc4,w+g,wca+L+gi,w,-L agen,n,1, , ,2*g+2*w, , ,,0 blc4,w+g,wca+L+gi,(2*n-1)*w+(2*n-2)*g,wcy ! shuttle blc4,(n+0.5)*w+n*g-lsy*(0.5),wca+wcy+L+gi,lsy,wsy blc4,(n+0.5)*w+n*g-wsa*(0.5),wca+wcy+L+gi+wsy,wsa,lsa blc4,(n+0.5)*w+n*g-lsy*(0.5),wca+wcy+L+gi+wsy+lsa,lsy,wsy ! resorte blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy,Lb,-wb blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy+lt,Lb,wb blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy+(2*lt+wb),Lb,wb blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy+(3*lt+2*wb),Lb,wb ! resorte: truss. 67.
(77) blc4,(n+0.5)*w+n*g+lsy*(0.5)+Lb,wca+wcy+L+gi+wsy-wb,wt,lsa+2*wb ! resorte: Anclaje blc4,(n+0.5)*w+n*g+lsy*(0.5),wca+wcy+L+gi+wsy+lt,-wba,2*wb+lt ! copia y reflejo resorte asel,s,area,,n+5,n+10,1 arsymm,x,all,,,,,0 asel,u,area,,n+5,n+10,1 agen, ,all, , ,(2*n+1)*w+2*n*g, , , , ,1 ! copia y reflejo peine asel,s,area,,1,n+1,1 arsymm,y,all,,,,,0 asel,u,area,,1,n+1,1 aGEN, ,all, , , ,2*(wca+wcy+L+gi+wsy)+lsa, , , ,1. !tipos de elemento et,1,plane42 et,2,solid45 mp,ex,1,E mp,prxy,1,p mp,dens,1,d !union de partes asel,all aadd,all. 68.
(78) numcmp,area ! enmallado asel,s,area,,1 lesize,all,,,8 MSHAPE, 0, 2d MSHKEY,2 asel,all asel,s,area,,1 amesh,all !!extrusión del resonador esize,,3 type,2 asel,all vext,all,,,,,h esel,s,type,,2 !elementos transductores et,3,126,,2,1. !Trans126, UY-Volt DOF. emunit,epzro,eps0 mp,ex,1,E mp,prxy,1,p mp,dens,1,d r,1,,,gi,,. rmore,L-(x0+res(1,2)),res(1,3)*h,L-(x0+res(2,2)),res(2,3)*h,L-(x0+res(3,2)),res(3,. rmore,L-(x0+res(4,2)),res(4,3)*h,L-(x0+res(5,2)),res(5,3)*h,L-(x0+res(6,2)),res(6,. 69.
(79) rmore,L-(x0+res(7,2)),res(7,3)*h,L-(x0+res(8,2)),res(8,3)*h,L-(x0+res(9,2)),res(9, rmore,L-(x0+res(10,2)),res(10,3)*h npickup = node((n+0.5)*w+n*g,wca+gi,1) ndrive = node((n+0.5)*w+n*g,wca+gi+2*(wcy+wsy+l)+lsa,1) allsel,all *get,node_num,node,,count n,node_num+1,nx(npickup),ny(npickup)-gi,nz(npickup) n,node_num+2,nx(ndrive),ny(ndrive)+gi,nz(ndrive) type,3 e,ndrive,node_num+2 e,node_num+1,npickup. nsel,s,node,,node_num+1,node_num+2 d,all,ux,0 d,all,uy,0 d,all,uz,0 !! anclajes nsel,s,loc,x,(n+0.5)*w+n*g-lsy*(0.5),(n+0.5)*w+n*g-lsy*(0.5)+wba nsel,a,loc,x,(n+0.5)*w+n*g+lsy*(0.5),(n+0.5)*w+n*g+lsy*(0.5)-wba nsel,r,loc,y,wca+wcy+L+gi+wsy+lt,wca+wcy+L+gi+wsy+lt+2*wb+lt d,all,ux,0 d,all,uy,0 d,all,uz,0 vsel,s,volume,,1 aslv,s. 70.
(80) nsla,s d,all,volt,0 !****************************************PARA ACÁ, AGREGAR FALLAS. /prep7 ! Voltage conditions. Vi. = 0. ! input dc bias. Vo. = 0. ! output dc bias. Vac = 60. ! input ac bias. allsel,all /solu d,node_num+2,volt,Vi d,node_num+1,volt,Vo pstres,on. ! prestress. solve fini !*********************cargas. 71.
(81) /prep7 d,node_num+2,volt,Vac d,node_num+1,volt,0 allsel fini !**********************ciclo de frecuencias distintas ! *CREATE,ansuitmp *CFOPEN, respfreq,txt *VWRITE,’frecuenc’,’ia, gana’,’ncia’ (3A8). *DO,i,1,nstep. /solu antype,harmic eqslv,sparse outres,all,all pstres,on hropt,full hrout,off KBC,1 TSRES,ERASE ALLSEL autots,off nsubst,1. 72.
(82) expf=(i-1)/(nstep-1)*(log10(fr1)-log10(fr0))+log10(fr0) f=10**expf harfrq,f solve fini !********************escritura de archivo /post26 nsol,2,npickup,u,y abs,3,2 vget,uyy(1),3. *VWRITE,f,uyy(1) (E15.10,’,’,E15.10) fini *ENDDO *CFCLOS *END /INPUT,ansuitmp ! fini. 73.
(83) Referencias. [1] R. Asgary, K. Mohammadi, M. Zwolinski, “Using neural networks as a fault detection mechanism in MEMS devices”. [2] J. Sebastian Perera, “Reliability Modeling of Microelectromechanical Systems Using Neural Networks”. [3] T. Olbrich, A. Richardson,W. Vermeiren and B. Straube, “Integrating Testability into Microsystems”, Microsystem Technologies, pp. 72-79, Feb. 1997. [4] Nilmoni Deb. “Defect Oriented Test of Inertial Microsystems”. PhD thesis, Carnegie Mellon University, Oct. 2004. [5] R. Rosing, R. Reichenbach, A. Richardson, “Generation of component level fault models for MEMS”. Microelectronics, volumen 33, Julio del 2002, pp. 861-868. [6] Deb, N., Iyer, S. V., Mukherjee, T. and Blanton, R. D., “MEMS resonator synthesis for defect reduction”, Journal of Modeling and Simulation of Microsystems, pp. 11-20, 2001. [7] A. Kolpekwar, C. Kellen, and R. D. Blanton, “MEMS Fault Model Generation using CARAMEL”, Proc. of International Test Conference, pp. 557-566, Oct. 1998. [8] T. Jiang, C. Kellon, and R. D. Blanton, “Inductive Fault Analysis of a Microresonator”, Proc. Of Modeling and Simulation of Microsystems, pp. 498-501, Sept. 1999.. 74.
(84) [9] A. Kolpekwar, R. D. Blanton, and D. Woodilla, “Failure Modes for Stiction in Surface-Micromachined MEMS”, Proc. of International Test Conference, pp. 551-556, Oct. 1998. [10] S. Mir, L. Rufer, A. Dhayni, “Built-in-self-test techniques for MEMS”, Microelectronics, volumen 37, Septiembre 7 del 2006, pp. 1591-1597. [11] Howe,. Roger.. Srinivasan,. Thara. “Lecture. 26. Micromechanical. Res-. onators”, IEE C245 - ME C218 ”Introduction to MEMS Design Fall 2003”[En lı́nea]. [consultado el 23 de nov. 2007]. Disponible en: http://wwwbsac.eecs.berkeley.edu/projects/ee245/Lectures/lecturepdfs/Lecture26.Complete.pdf [12] Howe,. Roger.. Srinivasan,. Thara. “Lecture. 9. Energy. Methods. II”,. IEE C245 - ME C218 ”Introduction to MEMS Design Fall 2003”[En lı́nea]. [consultado el 23 de nov. 2007]. Disponible en: http://wwwbsac.eecs.berkeley.edu/projects/ee245/Lectures/lecturepdfs/Lecture9.Complete.pdf [13] Danelle M. Tanner, Albert C. Owen, Jr., and Fred Rodriguez, “Resonant frequency method for monitoring MEMS fabrication”, Proc. SPIE Int. Soc. Opt. Eng. 4980, 220 (2003) [14] Fausett, Laurene V. “Fundamentals of neural networks : architectures, algorithms, and applications.” Englewood Cliffs, NJ: Prentice-Hall, 1994. [15] Looney, Carl G. “Pattern recognition using neural networks : theory and algorithms for engineers and scientists”. New York ; Oxford : Oxford University Press, 1997. [16] Bishop, Christopher M. “Neural networks for pattern recognition” / Christopher M. Bishop. Oxford, UK ; New York : Oxford University Press, 1995. [17] Hassibi, Babak y Stork, David G. “Second order derivates for network pruning: Optimal Brain Surgeon”. Stanford University. [18] Schölkopf, Bernhard. “Learning with kernels : support vector machines, regularization, optimization, and beyond”. Cambridge, Mass. : MIT Press, 2002. 75.
(85) [19] Stergiou, [En. lı́nea].. Christos. y. [consultado. Siganos, el. 23. Dimitrios.“NEURAL de. nov.. 2007].. NETWORKS”. Disponible. en:. http://www.doc.ic.ac.uk/ñd/surprise 96/journal/vol4/cs11/report.html. [20] Orr, Genevieve. Schraudolph, Nici y Cummins, Fred. “Neural Networks”. [En lı́nea]. [consultado el 23 de nov. 2007]. Disponible en: http://www.willamette.edu/g̃orr/classes/cs449/intro.html. [21] Sontag, Eduardo D. “VC Dimension of Neural Networks”. Department of Mathematics, Rutgers, The State University of New Jersey. [22] Shewchuk, Jonathan Richard. “An Introduction to the Conjugate Gradient Method Without the Agonizing Pain”. Carnegie Mellon University. agosto 4, 1994.. 76.
(86)
Documento similar
[r]
Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados
[r]
[r]
Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan
Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción
Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:
por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri