SHARENG Divulgación

Inicio » Análisis » Análisis estadísticos usando el método de Monte Carlo (I)

Análisis estadísticos usando el método de Monte Carlo (I)

imagesCuando nos enfrentamos a cualquier diseño electrónico, por lo general disponemos de métodos deterministas que permiten el cálculo de lo que estamos diseñando, de modo que podemos prever los parámetros que vamos a encontrar en la medida física de cualquier dispositivo o sistema. Estos cálculos previos facilitan el desarrollo y normalmente los resultados suelen coincidir en gran medida con la predicción. Sin embargo, sabemos que todo aquello que creemos o fabriquemos siempre está sometido a tolerancias. Y esas tolerancias provocan variaciones en los resultados que muchas veces no se pueden analizar de forma sencilla, sin una herramienta de cálculo potente. En 1944, Newmann y Ulam desarrollaron un método estadístico no determinista que denominaron Método de Monte Carlo. En las siguientes entradas vamos a analizar el uso de este potente método para la predicción de posibles tolerancias en circuitos, sobre todo cuando son fabricados de forma industrial.

En un sistema o proceso, el resultado final es consecuencia de las variables de entrada. Estas generan una respuesta que puede ser determinada tanto si el sistema es lineal como si es no lineal. A la relación entre la respuesta o salida del sistema y las variables de entrada la denominamos función de transferencia, y su conocimiento nos permite evaluar cualquier resultado en función de la excitación de entrada.

Sin embargo, hay que tener en cuenta que las variables de entrada son variables aleatorias, con su propia función de distribución, debido a que están sometidas a procesos estocásticos, aunque su comportamiento es predecible gracias a la teoría de la probabilidad. Por ejemplo, cuando describimos una medida de cualquier tipo, solemos representar su valor nominal o medio, así como el entorno de error asociado en el que esa magnitud medida puede estar. Esto nos permite limitar el entorno en el cual la magnitud es correcta y decidir cuándo la magnitud se comporta de modo incorrecto.

Durante muchos años, después de haber aprendido a transformar con éxito los resultados obtenidos mediante simulación en resultados físicos reales, con comportamientos predecibles y extrayendo conclusiones válidas, me he dado cuenta que en la mayoría de las ocasiones la simulación se reduce a obtener un resultado apetecido, sin profundizar en absoluto en ese resultado. Sin embargo, la mayoría de los simuladores están dotados de algoritmos estadísticos útiles que, correctamente utilizados, permiten al usuario de la aplicación obtener una serie de datos que puede usar para el futuro y permiten predecir el comportamiento de cualquier sistema, o al menos, analizar qué es lo que se puede producir.

Sin embargo, esos métodos que los simuladores incluyen nos suelen ser utilizados. Ya sea por falta de conocimiento de patrones estadísticos, ya sea por desconocimiento de cómo usar esos patrones. Por tanto, en esta serie de entradas vamos a desgranar el método de Monte Carlo que podemos encontrar en un simulador de circuitos e descubrir un potencial importante que es desconocido para muchos de los usuarios de los simuladores de circuitos.

LOS COMPONENTES COMO VARIABLES ALEATORIAS

Los circuitos electrónicos están formados por componentes electrónicos simples, pero que tienen un comportamiento estadístico, debido a los procesos de fabricación. No obstante, los fabricantes de componentes delimitan correctamente los valores nominales y el entorno de error en que se mueven. Así, un fabricante de resistencias no sólo publica sus valores nominales y dimensiones. También publica los entornos de error en los que esa resistencia varía, el comportamiento con la temperatura, el comportamiento con la tensión, etc. Todos estos parámetros, convenientemente analizados, proporcionan una información importante que, bien analizada dentro de una potente herramienta de cálculo como es el simulador, permite predecir el comportamiento de circuito total.

En este caso se va a analizar exclusivamente el entorno de error en el valor nominal. En una resistencia, cuando el fabricante define el valor nominal (en este caso, vamos a suponer 1kΩ) y expresa que tiene una tolerancia de ±5%, quiere decir que el valor de la resistencia puede estar comprendido entre 950Ω y 1,05kΩ. En el caso de un transistor, su ganancia de corriente β puede tomar un valor entre 100 y 600 (por ejemplo, el BC817 de NXP), por lo que puede haber una variación de corriente de colector importante e incontrolable. Por tanto, conociendo estos datos, podemos analizar el comportamiento estadístico de un circuito eléctrico gracias a la rutina de Monte Carlo.

Analicemos primero la resistencia: hemos dicho que la resistencia tiene una tolerancia de ±5%. Entonces, vamos a analizar usando el simulador el comportamiento de esta resistencia usando la rutina de Monte Carlo. A priori, desconocemos qué función densidad de probabilidad tiene la resistencia, aunque lo más habitual es una función de tipo gaussiano, cuya expresión es ya conocida

normal

donde μ es el valor medio y σ² es la varianza. Analizando con el simulador, mediante el método de Monte Carlo y para 2000 muestras, se puede obtener una representación de la variación del valor nominal de la resistencia, obteniendo un histograma como el que se muestra en la figura siguiente

Distribución de los valores de la resistencia usando el análisis de Monte Carlo

Distribución de los valores de la resistencia usando el análisis de Monte Carlo

El algoritmo de Monte Carlo introduce valor en la variable cuya distribución corresponde a una gaussiana, pero los valores que toma son en todo momento aleatorios. Si esas 2000 muestras se tomasen en 5 procesos de 400 muestras cada uno, seguiríamos teniendo una tendencia a la gaussiana, pero sus distribuciones serían diferentes

Distribuciones gaussianas con varios lotes

Distribuciones gaussianas con varios lotes

Por tanto, trabajando convenientemente con las variables aleatorias, se puede extraer un estudio completo de la fiabilidad del diseño realizado, así como de la sensibilidad que tiene cada una de las variables que se utilizan. En el siguiente ejemplo, vamos a proceder al análisis del punto de operación de un transistor bipolar convencional, cuya variación de β está comprendida entre 100 y 600, con un valor medio de 350 (comprendida β con una distribución gaussiana), polarizado con resistencias con una tolerancia nominal de ±5%, y estudiando la variación de la corriente de colector en 100 muestras.

ANÁLISIS DEL COMPORTAMIENTO ESTADÍSTICO DE UN BJT EN DC

Para estudiar el comportamiento de un circuito de polarización con transistor bipolar, partimos del circuito como el de la figura

Circuito de polarización de un BJT

Circuito de polarización de un BJT

donde las resistencias tienen tolerancias totales de ±5% y el transistor tiene una variación de β entre 100 y 600, con un valor nominal de 350. El punto de operación es Ic=1,8mA, Vce=3,2V. Haciendo el análisis de Monte Carlo para 100 muestras, obtenemos el siguiente resultado

Variación de la corriente del BJT en función de las variables aleatorias

Variación de la corriente del BJT en función de las variables aleatorias

Por la forma de la gráfica, se puede comprobar que el resultado converge a una gaussiana, donde el valor medio predominante es Ic=1,8mA, con una tolerancia de ±28%. Supongamos ahora que hacemos el mismo barrido que antes, en varios lotes de proceso, de 100 muestras cada uno. El resultado obtenido es

Variación de la corriente del BJT para varios lotes

Variación de la corriente del BJT para varios lotes

donde podemos ver que en cada lote tendremos una curva que converge a una gaussiana. En este caso, la gaussiana tiene un valor medio μ=1,8mA y una varianza σ²=7%. De este modo, podemos analizar cada proceso como un análisis estadístico global como por lotes. Supongamos que ahora β es una variable aleatoria con una función de distribución uniforme entre 100 y 600. Analizando sólo para las 100 muestras, se obtiene la curva

Distribución con b uniforme

Distribución con BETA uniforme

y se puede observar que la tendencia de la corriente es a converger a una distribución uniforme, aumentando el rango de tolerancia de la corriente y aumentando la probabilidad en los extremos de su valor. Por tanto, también podemos estudiar cómo se comporta el circuito cuando tenemos distintas funciones de distribución gobernando cada una de las variables.

Visto que, con el método de Monte Carlo podemos analizar el comportamiento en términos de tolerancias de un circuito complejo, también del mismo modo nos ayudará a estudiar cómo podemos corregir esos resultados. Por tanto, a lo largo de las entradas vamos a profundizar cada vez más en el potencial del método y lo que se puede conseguir con él.

CORRIGIENDO LAS TOLERANCIAS

En el circuito básico que hemos utilizado, al caracterizar la β del transistor como una variable uniforme, hemos aumentado la probabilidad de haya posibles valores de corriente que caigan en valores indeseados. Esto es uno de los puntos más problemáticos de los transistores bipolares y de efecto campo, las variaciones de sus ganancias en corriente. Vamos a ver, con un sencillo ejemplo, qué es lo que ocurre cuando usamos un circuito de corrección de la variación de β, como puede ser el circuito clásico de autopolarización por emisor

Circuito con autopolarización por emisor

Circuito con autopolarización por emisor

Usando este circuito, volvemos a hacer un análisis de Monte Carlo y lo comparamos con el análisis obtenido en el caso anterior,pero usando 1000 muestras. El resultado obtenido es

Resultados con ambos circuitos

Resultados con ambos circuitos

donde se puede ver que se ha incrementado la probabilidad en valores en torno a los 2mA, reduciendo la densidad de probabilidad en valores bajos de corriente y estrechando la distribución. Por tanto, el método de Monte Carlo no sólo es un método que nos permite analizar el comportamiento de un circuito cuando se somete a una estadística, sino que nos permitirá optimizar nuestro circuito y ajustarlo a los valores límite deseados. Usado convenientemente, es una potente herramienta de cálculo que mejorará el conocimiento de nuestros circuitos.

CONCLUSIONES

En esta primera entrada de una serie dedicada al método de Monte Carlo, en la que hemos querido presentar el método y su utilidad. Como hemos podido ver en el ejemplo, el uso del método de Monte Carlo proporciona datos de mucha utilidad, sobre todo si deseamos conocer cuáles son las limitaciones y variaciones del circuito que estamos analizando. Por otro lado, nos permite mejorar éste a través de los estudios estadísticos, además de fijar los patrones para la verificación del mismo en un proceso productivo.

En las siguientes entradas profundizaremos más en el método, realizando un estudio más exhaustivo del método a través de un circuito concreto de uno de mis proyectos más recientes, analizando cuáles son los resultados esperados y las diferentes simulaciones que se pueden realizar usando el método de Monte Carlo, como las de caso peor, sensibilidad, y optimización post-producción.

REFERENCIAS

  1. Castillo Ron, Enrique, “Introducción a la Estadística Aplicada”, Santander, NORAY, 1978, ISBN 84-300-0021-6.
  2. Peña Sánchez de Rivera, Daniel, “Fundamentos de Estadística”, Madrid,  Alianza Editorial, 2001, ISBN 84-206-8696-4.
  3. Kroese, Dirk P., y otros, “Why the Monte Carlo method is so important today”, 2014, WIREs Comp Stat, Vol. 6, págs. 386-392, DOI: 10.1002/wics.1314.

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: