Cómo generar ruido diferente en LTspice de una ejecución a otra

Estoy tratando de simular el ruido en mi circuito e, idealmente, quiero obtener un histograma de un determinado parámetro afectado por ese ruido durante muchas ejecuciones. Sin embargo, cuando uso el comando white() en LTspice, o variaciones de rand(), obtengo el mismo resultado de ejecución a ejecución. ¿Hay alguna manera de aleatorizar la semilla para obtener un ruido blanco diferente en cada iteración?

¡Gracias!

Esta es una pregunta muy interesante y proporcionar un histograma hace que parezca que estás tratando de predecir el ruido en un circuito. Creo que podría obtener los mismos resultados porque las simulaciones probablemente supongan que el circuito siempre está inicialmente intacto y sin adulterar. No creo que haya opciones para proporcionar una "semilla" para su análisis de ruido. Hay una pregunta similar que se ha hecho aquí. Tal vez eso pueda ayudar.
Use rand() para variar el punto de inicio de su simulación .tran.
LTspice puede leer un archivo WAV externo, aunque escribir su propio generador de ruido controlable y ponerlo a través de un archivo parece una forma muy torpe de hacerlo. De manera similar, podría crear una secuencia m en la simulación. Varias instancias de white() retrasadas en diferentes cantidades y sumadas juntas pueden brindarle simulaciones de ruido lo suficientemente diferentes.
Use la tarjeta .STEP y cree una LISTA de valores que agregue a white(). Luego, cada ejecución comenzaría en un lugar diferente de la secuencia. Registrar datos y procesar. También podría usar un archivo PWL con .TRAN si quisiera hacer cambios de vez en cuando en la semilla base que usa en white(), lo que podría permitir que una sola ejecución comience en diferentes "lugares" para que aparezca una acumulación general como lo que quieres También vea este artículo . Si escribe lo que necesita, ¿quizás una mejor respuesta?

Respuestas (2)

Lo que quieres hacer se llama simulación de monte carlo, LT Spice está limitado aquí en comparación con los productos comerciales ya que, hasta donde yo sé, solo se pueden variar 3 parámetros en la misma ejecución, pero para mí siempre fue suficiente.

acabo de buscar en Google un tutorial: http://electronicsbeliever.com/monte-carlo-simulation-using-ltspice-step-by-step-tutorials/

pero encontrarás muchos más...

El límite en el número de .stepvalores de ped es <strike>2</strike> 3 (tenías razón), pero se puede eludir a cualquier número usando table()(un poco engorroso, pero ciertamente no imposible). Además, para el caso de OP, no necesita usar más de un parámetro: white(x+time)con .param x=mc(a,b)( ay bsiendo algunos números).

Puede usar una combinación de .stepcomandos junto con WHITEcomo se muestra a continuación.

Circuito LTSpice

En efecto, esto inicia la ejecución desde diferentes puntos en el tiempo. El voltaje de salida en este ejemplo es el siguiente.

Producción

Gracias a Jonk por esta respuesta en los comentarios. Agregado aquí en caso de que la página vinculada se mueva.