Una secuencia binaria pseudoaleatoria ( PRBS ), código binario pseudoaleatorio o flujo de bits pseudoaleatorio es una secuencia binaria que, si bien se genera con un algoritmo determinista , es difícil de predecir [ 1 ] y exhibe un comportamiento estadístico similar al de una secuencia verdaderamente aleatoria. Los generadores de PRBS se utilizan en telecomunicaciones , como en la conversión analógica a información [ 2 ] , pero también en encriptación , simulación , técnica de correlación y espectroscopia de tiempo de vuelo . El ejemplo más común es la secuencia de longitud máxima generada por un registro de desplazamiento de retroalimentación lineal (LFSR) (máximo ). Otros ejemplos son las secuencias Gold (utilizadas en CDMA y GPS ), las secuencias Kasami y las secuencias JPL , todas basadas en LFSR.
En telecomunicaciones , las secuencias binarias pseudoaleatorias se conocen como códigos de ruido pseudoaleatorio ( códigos PN o PRN ) debido a su aplicación como ruido pseudoaleatorio .
Detalles
Una secuencia binaria (SB) es una secuenciadebits, es decir
- para.
Una BS consta delos yceros.
Una BS es una secuencia binaria pseudoaleatoria (PRBS) si [ 3 ] su función de autocorrelación , dada por
tiene solo dos valores:
dónde
se denomina ciclo de trabajo del PRBS, similar al ciclo de trabajo de una señal de tiempo continuo. Para una secuencia de longitud máxima , donde, el ciclo de trabajo es 1/2.
Un PRBS es "pseudoaleatorio" porque, aunque de hecho es determinista, parece ser aleatorio en el sentido de que el valor de unEste elemento es independiente de los valores de cualquiera de los otros elementos, de forma similar a las secuencias aleatorias reales.
Un PRBS se puede extender hasta el infinito repitiéndolo despuéselementos, pero entonces será cíclico y, por lo tanto, no aleatorio. En contraste, las fuentes de secuencias verdaderamente aleatorias, como las secuencias generadas por desintegración radiactiva o por ruido blanco , son infinitas (sin un final o período de ciclo predeterminado). Sin embargo, como resultado de esta predictibilidad, las señales PRBS pueden usarse como patrones reproducibles (por ejemplo, señales utilizadas en pruebas de rutas de señales de telecomunicaciones). [ 4 ]
Implementación práctica
Se pueden generar secuencias binarias pseudoaleatorias utilizando registros de desplazamiento con retroalimentación lineal . [ 5 ]
Algunos polinomios mónicos generadores de secuencias comunes [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] son
- PRBS7 =
- PRBS9 =
- PRBS11 =
- PRBS13 =
- PRBS15 =
- PRBS20 =
- PRBS23 =
- PRBS31 =
Un ejemplo de cómo generar una secuencia "PRBS-7" se puede expresar en C como
#include <stdio.h> #include <stdint.h> #include <stdlib.h> int main ( int argc , char * argv []) { uint8_t start = 0x02 ; uint8_t a = start ; int i ; for ( i = 1 ;; i ++ ) { int newbit = ((( a >> 6 ) ^ ( a >> 5 )) & 1 ); a = (( a << 1 ) | newbit ) & 0x7f ; printf ( "%x \n " , a ); if ( a == start ) { printf ( "el período de repetición es %d \n " , i ); break ; } } }En este caso particular, "PRBS-7" tiene un período de repetición de 127 valores.
Notación
La notación PRBS k o PRBS- k (como "PRBS7" o "PRBS-7") da una indicación del tamaño de la secuencia. es el número máximo [ 4 ] : §3 de bits que están en la secuencia. La k indica el tamaño de una palabra única de datos en la secuencia. Si segmentas los N bits de datos en cada palabra posible de longitud k , podrás enumerar cada combinación posible de 0s y 1s para una palabra binaria de k bits, con la excepción de la palabra de todos 0s. [ 4 ] : §2 Por ejemplo, PRBS3 = "1011100" podría generarse a partir de. [ 6 ] Si tomas cada grupo secuencial de palabras de tres bits en la secuencia PRBS3 (volviendo al principio para las últimas palabras de tres bits), encontrarás las siguientes 7 disposiciones de palabras:
" 101 1100" → 101 "1 011 100" → 011 "10 111 00" → 111 "101 110 0" → 110 "1011 100 " → 100 " 1 0111 00 " → 001 (requiere ajuste de línea) " 10 1110 0 " → 010 (requiere ajuste de línea)
Esas 7 palabras son todas lasPosibles palabras binarias de 3 bits distintas de cero, no en orden numérico. Lo mismo se aplica a cualquier PRBS k , no solo a PRBS3. [ 4 ] : §2
Véase también
Referencias
- ↑ "Generación de secuencias de bits pseudoaleatorias PRBS" . TTi . Consultado el 21 de enero de 2016 .
- ↑ Daponte, Pasquale; De Vito, Luca; Iadarola, Grazia; Rapuano, Sergio. "No idealidades de PRBS que afectan a los convertidores analógico-digitales de demodulación aleatoria" (PDF) .
- ↑ Naszodi, Laszlo. "Artículos sobre correlación y calibración" . Archivado del original el 11 de noviembre de 2013.
- 1 2 3 4 "Recomendación O.150 de la UIT-T" . Octubre de 1992.
- ↑ Paul H. Bardell, William H. McAnney y Jacob Savir, "Prueba integrada para VLSI: técnicas pseudoaleatorias", John Wiley & Sons, Nueva York, 1987.
- 1 2 Tomlinson, Kurt (4 de febrero de 2015). "PRBS (secuencia binaria pseudoaleatoria)" . Bloopist . Recuperado el 21 de enero de 2016 .
- ↑ Koopman, Philip. "Términos de retroalimentación LFSR de longitud máxima" . Consultado el 21 de enero de 2016 .
- ↑ "¿Cuáles son los polinomios PRBS7, PRBS15, PRBS23 y PRBS31 utilizados en el Altera Transceiver Toolkit?" . Altera . 14 de febrero de 2013 . Consultado el 21 de enero de 2016 .
- ↑ Riccardi, Daniele; Novellini, Paolo (10 de enero de 2011). "Un generador y verificador PRBS programable por atributos (XAP884)" (PDF) . Xilinx . Tabla 3: Configuración para polinomios PRBS más utilizados para probar líneas seriales . Recuperado el 21 de enero de 2016 .
- ↑ "O.150 : Requisitos generales para la instrumentación para mediciones de rendimiento en equipos de transmisión digital" . 6 de enero de 1997.
Enlaces externos
- Secuencia OEIS A011686 (Una m-secuencia binaria: expansión del recíproco) -- la secuencia de bits para PRBS7 =
- Pseudoaleatoriedad
- Secuencias binarias