Utilice componentes de fácil disponibilidad para generar secuencias binarias pseudoaleatorias y ruido blanco
Colaboración de Editores de DigiKey de América del Norte
2018-03-22
Si bien las señales aleatorias como el ruido en general se consideran un problema, existen aplicaciones tales como las comunicaciones y las pruebas de dispositivos que dependen de secuencias de bits aleatorios y ruidos debido a sus características únicas. Sin embargo, para pruebas únicas o para diseñadores con un presupuesto ajustado, puede que no sea factible comprar una secuencia binaria pseudoaleatoria (PRBS) específica o un generador de forma de onda arbitrario. En tales casos, es más rentable construir uno utilizando dispositivos semiconductores de metal-óxido complementario (CMOS) de fácil disponibilidad.
Este artículo describirá los roles útiles de la PRBS y el ruido en la electrónica. A continuación, se introducirán los circuitos integrados CMOS de fácil disponibilidad y se mostrará cómo se pueden utilizar para generar el ruido pseudoaleatorio requerido y las secuencias binarias.
El papel del "buen" ruido
El ruido blanco y aleatorio tiene un espectro plano en el dominio de la frecuencia. El espectro de amplitud de salida promedio de un amplificador o filtro excitado por una fuente de ruido blanco dará la respuesta de frecuencia de amplitud de ese dispositivo.
En las comunicaciones, una secuencia de datos para un transmisor de acceso múltiple por división de código (CDMA) se multiplica por una secuencia binaria pseudoaleatoria (PRBS). Luego se puede transmitir a través del mismo canal de radiofrecuencia (RF) al igual que otras señales múltiples. Correlacionar la señal compuesta con la misma PRBS en el extremo del receptor extraerá el flujo de datos original con poca o ninguna interferencia. Debido a que estas señales aleatorias son tan útiles, es importante poder generarlas según sea necesario.
La generación de una PRBS
Una PRBS es una señal periódica y determinista que consiste en una serie de unos y ceros digitales. La duración de los niveles uno o cero es un múltiplo del período de reloj del generador de PRBS. El patrón de unos y ceros es aleatorio dentro del período de repetición del patrón del generador (Figura 1).

Figura 1: Una señal PRBS7 es una señal de prueba PRBS con una longitud de 7 bits que tiene un período de 27 -1, o 127 bits. Esta señal se sincroniza a 1 MHz y muestra una periodicidad de 127 ms, según lo marcado por los cursores del osciloscopio. (Fuente de la imagen: DigiKey)
La señal en la Figura 1 es una señal de prueba PRBS7 producida por un generador con 7 etapas que contienen 127 bits dentro de cada período de patrón. Dentro de cada período, el patrón de bits es aleatorio, pero la secuencia completa se repite de forma idéntica cada 127 períodos de reloj.
Estas señales de prueba se pueden generar en software o hardware. La ventaja de una implementación de hardware para la prueba es que las señales están disponibles de forma externa para controlar el dispositivo que se está probando.
Registro de desplazamiento con retroalimentación lineal
La implementación de hardware de una PRBS se realiza mediante registros de desplazamiento con retroalimentación lineal (LFSR). Algunos registros de desplazamiento se organizan en serie con retroalimentación desde las últimas etapas hasta la entrada mediante puertas O-EXCLUSIVA (OR)/O-EXCLUSIVA INVERTIDA (NOR). El número de registros de desplazamiento utilizados determina el alcance o la duración del patrón (Figura 2).
Figura 2: Ejemplos de un LFSR de cuatro bits implementado con lógica de retroalimentación OR y NOR exclusiva. Las taps de retroalimentación determinan la secuencia de estados de datos. (Fuente de la imagen: DigiKey)
Si bien son posibles muchas configuraciones de retroalimentación, casi todos los diseños utilizan taps que producen secuencias de longitud máxima para que el número total de estados sea igual a (2N-1), donde N es el número de etapas de registro de desplazamiento. La Tabla 1 resume las taps para las secuencias de longitud máxima para longitudes de LFSR de 2 a 32. Estas taps no son exclusivas. Tenga en cuenta que puede existir más de un polinomio de longitud máxima para cualquier longitud de registro de desplazamiento dada.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabla 1: Resumen de las taps para secuencias de longitud máxima para longitudes de LFSR de 2 a 32. (Fuente de la imagen: DigiKey)
Este ejemplo utiliza un LFSR de 15 etapas que produce una secuencia aleatoria con una longitud de 32,767 bits, conocida como secuencia de prueba PRBS15. Las secuencias más largas se pueden lograr mediante el uso de un LFSR con un mayor número de etapas. La limitación al utilizar una secuencia de prueba PRBS es la duración de la prueba. Una secuencia de 15 bits sincronizada a 500 kHz demora 65 milisegundos (ms). Una secuencia de 31 bits tardaría 4295 segundos, o alrededor de 72 minutos.
El ejemplo en la Figura 2 utiliza cuatro registros de desplazamiento para producir patrones de datos con 15 estados distintos. Tenga en cuenta que ambas configuraciones tienen un solo estado prohibido. En el caso del modelo de retroalimentación XOR, el estado de todos los ceros no se utiliza porque una vez cargado, el registro de desplazamiento permanece bloqueado en ese estado. Del mismo modo, el estado de todos los unos está prohibido en la implementación NOR exclusiva. Las tablas 2 y 3 muestran los patrones de datos de ambas configuraciones para el LFSR de cuatro bits, utilizando taps de retroalimentación de las etapas tres y cuatro.
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabla 2 y 3: Los patrones de datos para las configuraciones XOR y XNOR se muestran en la Figura 1. (Fuente de la imagen: DigiKey)
Ambas implementaciones comienzan desde un estado conocido, todos los unos en el caso OR y todos los ceros en el caso NOR. Estos LFSR de longitud máxima de cuatro bits brindan 15 estados posibles (2N-1) como se muestra en las tablas.
El patrón de datos de salida es periódico, ya que se repite después de 15 relojes. El patrón también es determinista, ya que para una configuración dada y un estado de inicio conocido, el resultado puede predecirse. Sin embargo, el patrón de salida es aleatorio dentro del período de 15 conteos.
Diseño de un generador de secuencia binaria pseudoaleatoria
En la Figura 3 se muestra un diseño de generador de PRBS práctico y de bajo costo basado en la implementación de LFSR mediante el uso del registro de desplazamiento estático dual quad CD4015BM96y la puerta XOR quad CD4030BM96de Texas Instruments.
Figura 3: Un esquema simplificado para un generador PRBS15 que utiliza el registro de desplazamiento estático dual quad CD4015BM96 y la puerta quad XOR CD4030BM96 de Texas Instruments. (Fuente de la imagen de DigiKey)
Este generador utiliza biestable tipo 16 D (ocho por IC) con taps de retroalimentación en el 14.° y 15.°, lo que produce un patrón de datos PRBS15. La conexión de retroalimentación se realiza a través de una puerta XOR, que luego se invierte para formar un LFSR configurado con XNOR. Este patrón de datos tiene una longitud de 32767 bits que tiene una duración de aproximadamente 65 ms a una velocidad de reloj de 500 kHz. Los patrones más largos se pueden lograr mediante el uso de registros de desplazamiento más largos con un cambio apropiado en las taps de retroalimentación. La extensión del diseño a un patrón de 31 bits aumenta la duración del patrón a más de 2 mil millones de estados (alrededor de 72 minutos a una frecuencia de reloj de 500 kHz).
El generador se inicializa al estado de todos los ceros en el momento del encendido mediante una puerta NAND con disparador CD4793BM96 Schmitt (IC5) y una red RC simple. El reloj contiene un oscilador CMOS simple que opera con alrededor de 500 kHz. La salida digital se puede tomar de cualquiera de las salidas Q del registro de desplazamiento. En este caso, se utilizó Q14.
La salida del generador junto con la transformada rápida de Fourier (FFT) de la salida se muestra en un osciloscopio en la Figura 4.

Figura 4: La salida del generador (traza superior) se expande de manera horizontal en el trazo central para ver la estructura detallada. La FFT de salida del generador (traza inferior) muestra que el espectro es plano por debajo de 1/10.° de la frecuencia del reloj. (Fuente de la imagen: DigiKey)
La FFT del ruido digital muestra la respuesta sin(x)/x esperada de una forma de onda pulsada con ceros en múltiplos de la frecuencia del reloj. El espectro es bastante plano hasta alrededor del 10 % de la frecuencia del reloj. Esta es la clave para extraer el ruido blanco de la salida digital mediante el filtrado de paso bajo.
Generador de ruido blanco
El ruido blanco es ruido que es espectralmente plano sobre el rango de frecuencia. La densidad espectral de potencia y la potencia por ancho de banda de la unidad son constantes en el ancho de banda del ruido. Al filtrar la salida de ruido digital, el generador de PRBS producirá ruido blanco.
Si bien se podría utilizar un filtro analógico, estaría restringido a una frecuencia de reloj específica. Al utilizar un filtro digital de paso bajo con respuesta finita al impulso (FIR), el corte del filtro seguirá cualquier cambio en la frecuencia del reloj. Además, el filtro FIR puede brindar frecuencias de corte muy bajas que requerirían condensadores muy grandes en un filtro analógico. El filtro FIR combina la suma ponderada de las salidas del registro de desplazamiento. La ponderación requerida para producir una respuesta de filtro de paso bajo rectangular en el dominio de frecuencia es sin(x)/x en el dominio del tiempo (Figura 5).
Figura 5: La etapa de salida del generador emplea muestras ponderadas sin(x)/x de las salidas del registro de desplazamiento para implementar un filtro FIR de paso bajo. Como la ponderación sin(x)/x requiere términos negativos, se utiliza un amplificador diferencial para sumar componentes ponderados tanto positivos como negativos. (Fuente de la imagen: DigiKey)
Las salidas del registro de desplazamiento ponderado se suman en el amplificador diferencial, que se construye mediante tres secciones de un amplificador operacional quad LM324KDR. El banco de resistencia superior representa los componentes negativos de la ponderación sin(x)/x. El banco de resistencia inferior representa los valores positivos. Las salidas Q3 y Q12 no están conectadas porque representan los puntos de cruce por cero de la función sin(x)/x. La salida de ruido blanco resultante exhibe la función clásica de densidad de probabilidad gaussiana (PDF) (Figura 6).

Figura 6: El ruido digital PRBS (los dos primeros trazos) junto con la salida analógica de ruido blanco (tercer trazo desde la parte superior). El histograma del ruido blanco, traza inferior, exhibe la forma de campana clásica o PDF gaussiano. (Fuente de la imagen: DigiKey)
La señal de ruido blanco es la tercera desde la parte superior. Debajo está el histograma del ruido que exhibe la distribución esperada normal o de probabilidad gaussiana. El ruido blanco está limitado en banda al 5 % de la frecuencia del reloj, o 25 kHz, lo que es adecuado para la prueba de frecuencia de audio.
Conclusión
Como se muestra, los circuitos integrados (IC) CMOS de fácil disponibilidad se pueden utilizar para producir una secuencia binaria pseudoaleatoria, así como ruido blanco analógico con el fin de comunicaciones y pruebas. La lista de materiales (BOM) para las piezas utilizadas es económica, por lo que es ideal para la investigación académica, los aficionados y los ingenieros y técnicos conscientes de la economía.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.



