Cuáles son las ventajas de generar ruido blanco gaussiano basado en FPGAEl ruido térmico y el ruido de dispersión son ruido blanco gaussiano: si es un tipo de ruido, su distribución de amplitud obedece a la distribución gaussiana. La densidad espectral de potencia se distribuye uniformemente, se llama ruido blanco gaussiano. El llamado ruido blanco gaussiano en el llamado ruido blanco gaussiano significa que la distribución de probabilidad es una función normal, el ruido blanco significa que su momento de segundo orden no está correlacionado y el momento de primer orden es constante, lo que se refiere a la correlación de señales continuas en el tiempo. . Estos son dos aspectos diferentes de la señal. Los canales de onda corta tienen fenómenos complejos como el retardo por trayectos múltiples, el desplazamiento y la diferencia de frecuencia Doppler y la interferencia de ruido blanco gaussiano. Para probar el rendimiento de los equipos de comunicación de onda corta, normalmente se requieren extensos experimentos de campo. Por el contrario, los simuladores de canales pueden realizar pruebas de rendimiento similares en un entorno de laboratorio con bajos costos de prueba y buena repetibilidad, lo que puede acortar el ciclo de desarrollo del dispositivo. Por tanto, es necesario desarrollar un simulador de canales propio. El simulador de canal puede utilizar el modelo de canal representativo de Watson (es decir, el modelo de línea de retardo con ganancia de dispersión gaussiana). Una parte importante es generar rápidamente una secuencia de ruido blanco gaussiano, lo que facilita la adición de dispersión Doppler y ruido blanco gaussiano durante el uso. efecto. Los generadores de ruido blanco gaussiano tradicionales se implementan en microprocesadores y sistemas DSP, y su velocidad de simulación es mucho más lenta que la de los emuladores de hardware. Por lo tanto, elegir hardware FPGA para diseñar un generador de ruido blanco gaussiano puede lograr un procesamiento digital completo, al mismo tiempo que tiene un bajo costo de prueba, una gran repetibilidad, un buen rendimiento en tiempo real y una velocidad rápida, lo que puede satisfacer mejor las necesidades experimentales. Este artículo propone un esquema de generación rápida de secuencias de ruido blanco gaussiano basado en FPGA. De acuerdo con la relación de mapeo entre la distribución uniforme y la distribución gaussiana, esta solución utiliza el método de aproximación de polilínea, que es adecuado para su implementación en FPGA. Este método es simple, rápido, consume menos recursos de hardware, está escrito en lenguaje VHDL, tiene una gran portabilidad y se puede integrar de manera flexible en el módem. 1 Generación de números aleatorios distribuidos uniformemente Generador de secuencia de 1,1 m El ruido pseudoaleatorio tiene ciertas propiedades estadísticas similares al ruido aleatorio y es fácil de generar y procesar repetidamente, por lo que se ha utilizado ampliamente. La secuencia m es una secuencia pseudoaleatoria de uso común, también conocida como la secuencia de cambio de retroalimentación lineal más larga. La secuencia m es la secuencia con el período más largo producido por el registro de desplazamiento de retroalimentación lineal. Si se utiliza un registro de desplazamiento de retroalimentación lineal de n etapas, el período de la secuencia m es (2n-1). Para la secuencia m, si el estado del registro de desplazamiento de retroalimentación lineal de n etapas se considera como un entero sin signo, el rango de estados es de 1 a (2n-1), y cada estado del registro de desplazamiento aparece una vez en un ciclo del m secuencia y aparece sólo una vez. Sin embargo, cabe señalar que el estado inicial del registro de desplazamiento de retroalimentación lineal se establece en un valor distinto de cero, y el período de la secuencia m es constante para cualquier estado inicial distinto de cero. Obviamente, el valor de estado del registro de desplazamiento es un número aleatorio distribuido uniformemente. Cuando se crea el generador de secuencia m, las conexiones de la línea de retroalimentación del registro de desplazamiento de retroalimentación lineal se pueden obtener buscando el polinomio característico (un coeficiente de 1 significa que el bit correspondiente está conectado a la línea de retroalimentación y un coeficiente de 0 significa que el bit correspondiente no esté conectado a la línea de realimentación). Por lo tanto, el número de líneas de retroalimentación de un registro de desplazamiento de retroalimentación lineal y el número de sumadores de módulo 2 dependen directamente del número de términos del polinomio primitivo. Para minimizar el consumo de recursos de hardware, puede elegir el polinomio original con un número menor de términos. Para que el período de la secuencia pseudoaleatoria sea lo suficientemente largo para cumplir con los requisitos de diseño, el polinomio original es x18+x7+1, es decir, se puede usar un registro de desplazamiento de retroalimentación lineal de 18 etapas para generar una secuencia m con un período de (218-1). Las conexiones se muestran en la Figura 1. 1.2 Módulo de reducción de correlación La señal de ruido blanco gaussiano es un proceso aleatorio. Cada punto de muestreo es una variable gaussiana y su densidad espectral de potencia bilateral es una constante N0/2. Es decir, se puede ver en (2) que los valores. muestreadas en dos momentos diferentes, las señales de ruido blanco gaussiano son estadísticamente independientes. Sin embargo, se puede ver en el proceso de generación de la secuencia m que en cada ciclo de reloj, el registro de desplazamiento de retroalimentación lineal solo desplaza el bit más alto y retroalimenta un valor al bit más bajo, por lo que los estados adyacentes no son completamente independientes. Esto inevitablemente afectará la independencia de las señales muestreadas en dos momentos diferentes del ruido blanco gaussiano. Por lo tanto, se deben realizar operaciones no relacionadas. Para minimizar la correlación, un enfoque común es generar una secuencia gaussiana y luego conectar un entrelazador para mezclar el orden en que aparece la secuencia gaussiana. Sin embargo, la construcción de un entrelazador consume recursos de hardware FPGA, por lo que no utilizamos un entrelazador en este diseño.
Considerando que el período de la secuencia m es (2n-1), el segundo valor se convertirá sucesivamente en el primer estado (2n-1). Por lo tanto, siempre que el registro de desplazamiento de retroalimentación lineal genere un valor de estado cada r relojes síncronos (donde r = 2i, i es un número entero) (es decir, el registro de desplazamiento de retroalimentación lineal genere un valor de estado cada r cambios de estado), puede be La correlación se reduce sin cambiar el período original de la secuencia m y sin aumentar el consumo de recursos de hardware. Pero cabe señalar que r debe ser una potencia de 2 para garantizar que el período de la secuencia m permanezca sin cambios. 2 Conversión de distribución uniforme a distribución gaussiana 2.1 Relación de mapeo entre distribución uniforme y distribución gaussiana X obedece a la distribución uniforme en el intervalo [1, 218-1]; Y obedece a la distribución normal estándar con media 0 y varianza 1. Luego, considerando In En la situación real de la distribución gaussiana, Y solo necesita tomar un valor entre [-4, 4]. La función de densidad de probabilidad de Y es: 2.2 Método de aproximación plegable Si la relación de mapeo anterior se aplica directamente para convertir la distribución uniforme en una distribución gaussiana, es casi imposible crear una tabla de búsqueda abriendo el espacio físico (218-1). Sin embargo, como se muestra en la Figura 2, la curva de relación exhibe una relación lineal dentro de un intervalo grande, por lo que la curva de relación se puede aproximar mediante segmentos de línea recta con diferentes pendientes. Bajo ciertos requisitos de precisión, este método es simple de operar, fácil de implementar en FPGA y requiere menos recursos de hardware, logrando así una rápida conversión de distribución uniforme a distribución gaussiana. La Figura 3 es un diagrama de ajuste de la curva de relación (línea continua) y el método de aproximación de polilínea de 15 segmentos (línea discontinua). Se puede ver en la figura que el efecto de ajuste de la línea continua y la línea de puntos es mejor, lo que demuestra. que el método de aproximación de polilínea puede reflejar mejor la relación de mapeo. Al utilizar las características periódicas de la secuencia m, se puede reducir la correlación entre las señales de muestreo de ruido blanco gaussiano en dos momentos diferentes. En el registro de desplazamiento de retroalimentación lineal, cada r relojes síncronos (donde r = 2i, i es un número entero) genera un valor de estado como una entrada de número aleatorio distribuido uniformemente, que puede realizar la conversión de distribución uniforme a distribución gaussiana. Para elegir un valor de r adecuado, la Figura 4 muestra el espectro de potencia de 10000 puntos gaussianos generados cuando r es 0, 2 y 8, respectivamente. Como se puede ver en la Figura 4, el espectro de potencia cuando r = 8 es básicamente horizontal, es decir, el ruido blanco gaussiano generado por el sistema puede considerarse estadísticamente independiente en dos momentos diferentes cualesquiera de la señal de muestreo, lo cual es consistente con el ruido blanco gaussiano La definición teórica de ruido blanco es consistente. Esto es coherente con la definición teórica de ruido blanco gaussiano. Esto también demuestra la viabilidad y eficacia del módulo de reducción de correlación. 3 Implementación de hardware El generador de ruido blanco gaussiano anterior se puede implementar utilizando el lenguaje VHDL en el entorno de desarrollo ISE8.1i. Este diseño utiliza el Xil-inx xc3s1200e-4fg320 como dispositivo de destino. El diagrama de bloques de implementación del hardware se muestra en la Figura 5. La generación de ruido blanco gaussiano se realiza mediante dos módulos. Uno es un módulo de generación uniforme de números aleatorios y el otro es un módulo de transformación de distribución uniforme a distribución gaussiana. El módulo de generación de números aleatorios uniformes incluye un generador de secuencia m y procesamiento de no correlación (operación de reducción de correlación) el módulo de transformación de distribución uniforme a distribución gaussiana incluye un selector de comparación, la operación de retardo correspondiente y un módulo de cálculo aritmético. La simulación funcional del sistema en el entorno de desarrollo ISE8.1i se muestra en la Figura 6. En el experimento, el reloj de entrada del sistema es de 60MHz. En la Figura 6, regl_value representa el valor de estado del registro de desplazamiento activado por el flanco ascendente del reloj clk1, con retroalimentación lineal reg2_value representa el valor reg_value1 muestreado por el flanco ascendente del reloj síncrono clk2, que es 8 veces la división de frecuencia de clk1; . La simulación muestra que el sistema puede implementar un registro de desplazamiento de retroalimentación lineal para transferir un valor de estado cada 8 veces y reducir la correlación de variables aleatorias en diferentes momentos (procesamiento no correlacionado). Según reg2_value, al comparar la pendiente, el punto y el valor del punto del segmento de línea recta correspondiente con la salida del selector, se puede ver que reg2_value_delay se puede retrasar la mitad de clk2 que reg2_value, asegurando así la sincronización de la entrada de datos con el cálculo aritmético. módulo. Esto asegura la sincronización de los datos de entrada del módulo de cálculo aritmético. Por lo tanto, la secuencia de ruido blanco gaussiano se puede obtener mediante la fórmula: gauss_output=(reg2_value_delay-point)*slope+point_value.