Sobre el tema de los generadores de ruido digital, se puede hacer un generador simple (y barato) con un registro de desplazamiento SIPO cuya entrada se obtiene de una combinación exclusiva de algunas de sus salidas (taps). Con la elección correcta de los toques, el registro de desplazamiento realizará un ciclo a través de una secuencia de longitud máxima, al igual que lo hace un LCG. La longitud máxima es \ $ 2 ^ N-1 \ $ para un registro de desplazamiento de N bits ya que el estado de todos no está permitido (se perpetúa a sí mismo).
Ahora, el espectro de un generador digital de ruido pseudoaleatorio consiste en un número infinito de líneas discretas separadas por la frecuencia de repetición de secuencia. Entonces, si nuestra secuencia se repite cada segundo, las líneas espectrales estarán separadas 1Hz. Un verdadero generador de números aleatorios nunca se repetirá y las líneas espectrales estarán separadas por 0Hz, es decir, obtendríamos un espectro continuo.
La amplitud de las líneas espectrales de una caída de PRNG con frecuencia que llega a nulos en múltiplos de la frecuencia de reloj (sigue a \ $ \ dfrac {\ sin (f)} {f} \ $ law).
En cuanto a los aspectos prácticos, debería elegir una frecuencia de reloj muy superior a la frecuencia de interés más alta. Por ejemplo, un PRNG cronometrado de 10MHz tendría una línea espectral a 1MHz con una amplitud de aproximadamente el 98% de la línea de frecuencia más baja. Si usamos un registro de desplazamiento de 16 bits, las líneas espectrales estarán separadas aproximadamente 150Hz (\ $ \ dfrac {10 ^ 7} {2 ^ {16} -1} \ $) lo que puede o no ser aceptable para usted. Elegir los grifos por lo que sé es un arte negro. Recuerdo haber visto una tabla publicada de taps vs longitud de registro hace algunos años, pero no puedo localizarla, sin embargo, no es demasiado difícil escribir un programa para encontrarlos por prueba y error.