¿Generación de reloj aleatorio con distribución desigual de 1s y 0s?

3

Necesitamos un reloj pseudoaleatorio con una longitud N , de tal manera que de cada N de los pulsos de reloj, M de ellos debe hacerse al azar ( M<<N ). Lo que queremos hacer es muestrear una señal de manera aleatoria. Lo que significa que, de cada N puntos de muestra (de la cuadrícula de Nyquist) debemos tomar M muestras. Luego, a través de algunos procesos y supuestos sobre la estructura de la señal, se recuperan otros puntos no muestreados ( N-M muestras). Ahora estoy usando registros de desplazamiento lineales, algo como a continuación:

simular este circuito : esquema creado usando CircuitLab

Funciona bien, sin embargo, no quiero una distribución igual para 1s y 0s, quiero decir que quiero que algo como el 20% de los ciclos de reloj sea 1 y el 80% sea cero. Para lograr eso, hice una salida de AND de dos circuitos como el de arriba para cambiar la probabilidad de 50% para 1s y ceros a 25% para 1s y 75% para ceros (en la figura siguiente, con diferentes semillas).

simular este circuito

Es bueno a costa de duplicar el área de potencia y chip :(. Estoy buscando una manera de hacer que el sistema funcione con solo 1 circuito generador de reloj aleatorio, no dos.

  • ¿Es posible a través de la implantación de una distribución de probabilidad de cambio inicial inicial especial de 1s y 0s en la secuencia de salida?
  • ¿Hay algún método eficiente en el área de poder para lograr esto?

Estaba pensando en almacenar una secuencia binaria aleatoria (con una longitud de N ) en una ROM y luego And su salida con el reloj para hacer un reloj aleatorio.

    
pregunta MimSaad

1 respuesta

4

Piense en el contenido del LFSR de N bits como un entero de N bits. Este número tendrá una distribución uniforme de valores de 1 a 2 N - 1. Puede generar una densidad variable de bits de máscara comparando este número con un umbral que también varía de 1 a 2 > N - 1. La salida de este comparador es la máscara de reloj que buscas.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas