Diseño de Beam Controller para Phased Array Antenna Basado en FPGA

Abstract, Abstract: Las características de escaneo eléctrico de la antena de matriz en fase hacen que tenga las características de escaneo flexible, orientación precisa, alta confiabilidad y fuerte capacidad antiinterferente. Como una de las tecnologías clave de la antena de matriz en fase, la tecnología de dirección del haz afecta directamente el rendimiento del sistema. La antena de matriz en fase multihaz admite el modo de comunicación de salto de haz. Se imponen mayores requisitos a la conmutación rápida de haces. Responda rápidamente a la demanda de escaneo de haz. Descomposición y optimización de algoritmos de dirección de haz convencionales. Se propone un método de cálculo de código de cambio de fase rápido basado en Field Programmable Gate Array (FPGA), utilizando el núcleo cordic IP para calcular el valor de la función trigonométrica del cofactor, el núcleo IP multiplicador para realizar la multiplicación con signo y la tabla de búsqueda. método de asignación para calcular el valor del decimal La operación de multiplicación y suma y el método de comparación de partición llevan a cabo el procesamiento de normalización y el cálculo de división en los datos, y el tiempo de cálculo del código de cambio de fase de cada unidad es de solo 3 ciclos de reloj. El tiempo de cálculo para una matriz completa de 256 unidades es de aproximadamente 26 us. La simulación muestra que el algoritmo puede calcular de forma rápida y precisa los códigos de cambio de fase requeridos por las unidades de antena y realizar el rendimiento de respuesta rápida del escaneo del haz.
Palabras clave: antena de arreglo en fase; direccionamiento de haz; cordic; FPGA

0. Introducción
        Una antena de matriz en fase es una antena compuesta de muchos elementos radiantes dispuestos en una matriz. Utiliza el cálculo y el control de los desfasadores para cambiar la distribución de fase en la apertura de la antena para realizar el escaneo del haz en el espacio. Tiene dirección sin movimiento físico , alto Tiene las características de una flexibilidad de escaneo bidimensional única, una orientación del haz extremadamente precisa, alta confiabilidad y una fuerte capacidad antiinterferente [2]. La tecnología de matriz en fase se ha utilizado ampliamente en varios radares tácticos, como búsqueda, control de tiro y orientación, así como en radares civiles como aterrizaje y meteorología, satélites de comunicación y contramedidas electrónicas.
        En las antenas de matriz en fase, la tecnología de dirección de haz, como una de las tecnologías clave, afecta directamente el rendimiento del sistema [6], especialmente para antenas de matriz en fase multihaz. El tiempo de retención mínimo es de 50 us, es decir, se requiere el controlador de haz. para completar el cálculo del código de cambio de fase de 256 unidades y enviar el código de cambio de fase al cambiador de fase correspondiente dentro de los 50 us. El rendimiento del controlador de haz afecta directamente el rendimiento general y los indicadores técnicos de todo el sistema de matriz en fase.

        El tamaño de la matriz de 256 unidades determina que el método de cálculo del código de cambio de fase necesita usar un algoritmo centralizado. El algoritmo centralizado adopta principalmente el método de preprocesamiento de búsqueda de tablas y el método de cálculo de software [8]. El método de tabla de búsqueda almacena todos los códigos de cambio de fase debajo de cada posición de onda en la memoria y obtiene los códigos de cambio de fase consultando la tabla durante el trabajo [9. Debido a la gran demanda de recursos, la memoria necesita usar NAND FLASH de gran capacidad como memoria externa 0. El tiempo de espera del NAND FLASH opcional al leer datos es generalmente de 25 us-30 us, o incluso mayor. Se necesitan 20 us para enviar el código de cambio de fase al cambiador de fase correspondiente. El tiempo disponible para leer datos de la memoria externa dentro de los 50 us es muy poco o ningún tiempo para leer datos. En el método de cálculo de software, el código de cambio de fase se calcula mediante DSP o microcomputadora de un solo chip y luego se envía a FPGA, y FPGA envía el código de cambio de fase al cambiador de fase correspondiente. Tomando como ejemplo el DSP con una velocidad de operación más rápida, se necesitan aproximadamente 10 ms (frecuencia de 120 MHz) para calcular el tiempo de código de cambio de fase de 256 unidades en DSP, y el tiempo de cálculo solo es 200 veces el tiempo de permanencia del haz.
        Con el objetivo de resolver el problema del cálculo rápido de los códigos de cambio de fase, este artículo propone un método de cálculo en tiempo real basado en FPGA [], al descomponer y optimizar el algoritmo, solo necesita 3 ciclos de reloj para calcular el código de cambio de fase de un unidad, que satisface El tiempo de cálculo de la matriz de 256 unidades es de aproximadamente 26 us (reloj de 30 MHz). Los resultados de la simulación muestran que la velocidad de cálculo de este método es rápida y se logra el rendimiento de respuesta rápida del escaneo del haz.

1. Principio y algoritmo de la antena de matriz en fase
        La antena de matriz en fase es una matriz compuesta por una gran cantidad de elementos de radiación (cuadrado, triángulo, matriz dispersa, etc.), y los elementos de radiación son cientos, miles o incluso decenas de miles [12 ] El control de cambio de fase digital, cuando funciona, calcula y configura el código de cambio de fase correspondiente según el ángulo de puntería. Para lograr el propósito de controlar el apuntamiento de la antena.
        Como se muestra en la Figura 1, la antena está configurada para tener m * n elementos de antena. El espaciado de los elementos es dx y dy, respectivamente, es la longitud de onda, y · es el ángulo de elevación y el ángulo azimutal del objetivo correspondiente, m representa la columna y n representa la fila.

3b1482a96ebf422bb73d99df121ccdcf.png

24f5f59d02094d908e88f59eece4d630.png  

        El resultado del cálculo se acumula con el valor de corrección inicial para obtener el código de cambio de fase final.
        El cálculo del código de cambio de fase incluye sin0, coseno, solución de seno coseno seno, suma y resta decimal, cálculo de multiplicación y división, procesamiento de normalización y el algoritmo es más complicado. Para diferentes ángulos de azimut y elevación, calcule el código de cambio de fase de la unidad de radiación y envíe el código de cambio de fase al cambiador de fase, para garantizar la flexibilidad y diversidad del radar de matriz en fase, y calcule de forma rápida y precisa el código de cambio de fase es el haz La dificultad del controlador.
2. Diseño del sistema de controlador de haz

Para calcular de forma rápida y precisa el código de cambio de fase, se diseña un controlador de haz con FPGA como núcleo. FPGA realiza la operación del algoritmo y el control de tiempo [14], lo que ahorra el chip de procesamiento DSP y simplifica el diseño del circuito de hardware. En la Fig. 2 se muestra el diagrama de bloques de la composición.

6f98b71afcb24f8cb3d6bd5960a78cb0.png

        Después de que el controlador de haz recibe el comando de control de la computadora de tubo digital a través del puerto serial RS422, calcula el código de cambio de fase correspondiente de acuerdo con el ángulo de entrada. Al mismo tiempo, lea el valor de corrección de fase de la memoria externa. Sume los dos y envíelo al cambiador de fase. Bajo la acción de la señal de control, el cambiador de fase cambia a la fase especificada, para lograr la propósito de cambiar la viga.
        El circuito de hardware del controlador de haz incluye principalmente FPGA, administración de energía, circuito de transmisión de interfaz, memoria y circuito de reloj. Las funciones de algunos circuitos son las siguientes:
1) FPGA es el dispositivo central, responsable de recibir y analizar los comandos de control enviados por la computadora de tubo digital, administrar unidades de memoria externa, calcular códigos de cambio de fase y enviar códigos de cambio de fase a los componentes. y otros comandos de control:

2) El circuito de control de la interfaz realiza la conversión de nivel y el aislamiento de las señales:

3) El circuito de reloj proporciona la señal de reloj requerida para la FPGA:

4) El valor de corrección de fase inicial de la antena de matriz en fase se almacena en la memoria.

3. Realización del algoritmo FPGA
3.1. Proceso de algoritmo de software
        Para satisfacer las necesidades de cálculo rápido, este diseño descompone y optimiza el algoritmo, adopta la idea de cambiar el área por velocidad y adopta el método de diseño con el menor tiempo requisito para cada paso de diseño El diagrama de flujo de cálculo se muestra en la Figura 3 En primer lugar, es necesario resolver el valor de la función trigonométrica del factor común y realizar la operación de multiplicación del valor de la función trigonométrica. Este diseño utiliza el núcleo cordic IP para calcular el valor de la función trigonométrica [1s] requiere 1 ciclo de reloj y luego bloquea los datos, lo que requiere 1 ciclo de reloj, y la operación de multiplicación de funciones trigonométricas requiere 1 ciclo de reloj, un total de 3 ciclos de reloj Después de completar la multiplicación de los valores de la función trigonométrica, es necesario calcular el código de cambio de fase de cada unidad por separado. El proceso de cálculo incluye tres pasos, que son multiplicación y suma decimal, procesamiento de normalización y cálculo de división. Cada paso solo necesita 1 reloj. el ciclo está completo. Por lo tanto, solo se necesitan tres ciclos de reloj para completar el cálculo del código de cambio de fase de una unidad.
        De acuerdo con este esquema de diseño, todo el proceso de cálculo requiere un total de 3 ciclos de reloj para completar el cálculo del valor de la función trigonométrica del factor común y la multiplicación del valor de la función trigonométrica, y se necesitan 256x3 ciclos de reloj para completar el cálculo del código de cambio de fase. de las 256 unidades = 771 ciclos de reloj. En este diseño, 771 ciclos de reloj de un reloj de sistema de 30 MHz ocupan 771 = 30 = 25,7 us. El diagrama de flujo de cálculo es el siguiente:

262c26c067d24074abd8fd36d53babb4.png

(1) Cálculo de los valores de la función trigonométrica
Cuando la FPGA recibe la entrada del ángulo de puntería, primero realiza la operación de la función trigonométrica del ángulo de puntería. La operación de la función trigonométrica se calcula mediante el núcleo cordic IP de FPGA, y el valor de la función trigonométrica se puede obtener en un ciclo de reloj.(
2) Multiplicación del
valor de la función trigonométrica Después de obtener el valor de la función trigonométrica, realice la operación de producto de sin0 y cosp, sin0 y sin. La multiplicación fraccionaria con signo se realiza utilizando un núcleo multiplicador.
(3) Operación de suma y multiplicación decimal
A continuación, calcule el código de cambio de fase de acuerdo con la fórmula (1), que se puede dividir en:

130981807a29486da0b991830e1ede2e.png 

La multiplicación y división de datos, usando FPGA para calcular en tiempo real consumirá múltiples recursos multiplicadores y múltiples ciclos de reloj. Este diseño usa el método de asignación de tablas de búsqueda para calcular (360/lamda)dx(m - 8.5) y (360/ lamda)dy(n - 8.5), almacenado en el FPGA, al calcular,
el producto de la función trigonométrica se usa como entrada del multiplicador, y el coeficiente precalculado se asigna al multiplicador como otra entrada del multiplicador, por lo que que cada cálculo se realiza una vez para la asignación de coeficientes, solo se necesitan 2 multiplicadores, un sumador y 1 ciclo de reloj para obtener los datos requeridos
(4) Procesamiento de normalización
        El resultado del cálculo debe normalizarse entre 0 y 360. Si el resultado del cálculo es positivo, compárelo con 360, si es mayor que 360, reste 360 ​​y continúe comparando con 360 hasta que los datos estén entre 0 y 360: si el resultado del cálculo es negativo, agregue 360 ​​y compare si el dato es 0 Si no está entre -360, continúe agregando 360 hasta que el dato esté entre 0-360. Las operaciones tradicionales de ciclo de comparación, suma y resta se adoptan para normalizar los datos a 0-360, y el tiempo para cada normalización de datos es incierto. Si se encuentra un número grande, se necesitan varios ciclos de reloj para completar la normalización. Por ejemplo, si el resultado del cálculo es 3500, se requieren 9 comparaciones y restas para completar la normalización de datos. Calculado sobre la base de un promedio de 9 ciclos para 1 pieza de datos, el reloj del sistema es de 30 MHz, y solo se necesitan 76,7 us para normalizar 256 piezas de datos. Para evitar comparaciones múltiples y operaciones de suma y resta, este diseño adopta el método de comparación de partición, con 360 como tamaño de intervalo y múltiplos enteros de 360 ​​como límite de intervalo para dividir múltiples intervalos de datos, y las particiones de datos incluyen todos los datos calculados posibles . Compare los datos calculados con el valor del límite de la partición de datos. Si los datos calculados son negativos, agregue el valor absoluto del valor del límite izquierdo; si es positivo, reste el valor del límite izquierdo, y los datos agregados o restados estarán entre 0-360. Sumar o restar el valor absoluto del valor del límite izquierdo de la partición de datos es equivalente a realizar múltiples comparaciones y sumas y restas, por lo que no importa cuán grandes sean los datos, solo se requiere una comparación y suma y resta para completar el proceso de normalización. Por ejemplo, para una antena específica, los parámetros de la fórmula (1) son conocidos y los valores máximo y mínimo de los resultados calculados por la fórmula (1) se pueden estimar de acuerdo con estos parámetros. Suponga que el valor máximo estimado es 5330 y el valor mínimo es -5330. Dividimos los datos en [-5400,-5040), [-5040,-4680), ..., [-3600, -3240), ... [-360,0), [0,360), [360, 720), ..., [3240,3600), ..., [4680,5040), [5040, 5400] y otras particiones de datos, el tamaño de estos intervalos de datos es 360, El valor límite del intervalo es -15, -14, -13, ..., -10, -9, ..., -1, 0, 1, 2, ..., 9, 10, ..., 13 , 14, 15 veces de 360. El mismo resultado de cálculo es 3500, compare 3500 con límites de intervalo: 5400, -5040, -4680, ..., 3240, 3600, ..., 4680, 5040, 5400, etc., 3500 es mayor que 3240, menor que 3600, 3500 está en [3240, 3600) En el intervalo de datos, 3500 es un valor positivo. Restar el valor del límite izquierdo 3240 del intervalo de datos de 3500 es equivalente a hacer 9 comparaciones y restas con 360. La comparación y la resta se pueden realizado en FPGA en un solo ciclo de reloj, es decir, el resultado normalizado es 260 en un ciclo de reloj. El mismo reloj del sistema es de 30 MHz, normalizando 256 datos solo necesita 8. 533 us.

(5) Cálculo de división El cálculo de división consiste en dividir los datos normalizados por el cambio de fase 5.625 y luego redondearlos para obtener los datos de fase. El método tradicional de cambio, comparación y resta requiere múltiples ciclos de reloj para calcular un dato. Este diseño aún adopta el método de comparación de partición y compara los datos normalizados con el intervalo de datos precalculado, y el código de cambio de fase se puede obtener en un ciclo de reloj. Si el resultado del cálculo es 260, los datos de comparación están entre 261,5625 y 267,1875, y el código de cambio de fase es 101111.

        Para facilitar la operación y garantizar los requisitos de precisión, en este diseño, la operación decimal se expande a un número entero [16], y el múltiplo de expansión depende de la precisión de cálculo requerida.

3.2 Resultados de la simulación

El valor calculado de MATLAB se muestra en la Fig. 4, donde Theta es el ángulo de elevación de 8 grados, Phi es el ángulo de acimut de 44,8 grados, Freq es la frecuencia de 29,7 GHz y A es el código de cambio de fase de salida.

70d2781961f348bfb3d8160c5dicb438.png

        Los resultados de la simulación del software ISE se muestran en la Figura 5. En el archivo de estímulo, phase_inthe representa theta y phase_inphi representa phi, y las unidades son radianes. El ángulo de entrada está representado por 16 bits, que es un formato 2QN de complemento de punto fijo, 0X0478 se convierte en binario "0000010001111000", que es equivalente a 000.0010001111000 de acuerdo con la definición del núcleo de IP, y el tercer dígito después del decimal es 1, lo que representa 2-3, y así sucesivamente, todos La suma de los valores representados por los bits de 1 es el valor representado, es decir, la suma de 2 -3 +2 -7 +2 -8 +2 -9 + 2 -10 es 0. 1396484375 radianes, convertido a un ángulo de 8 grados. De manera similar, el ángulo convertido de 0X1900 es 44,8 grados. 29. La frecuencia de 7 GHz se refleja en la tabla de búsqueda. Al comparar la Figura 4 y la Figura 5, el valor calculado por FPGA es el mismo que el calculado por MATLAB. Se puede ver que este esquema calcula el código de cambio de fase correcto. Puede verse en la Figura 5 que después del reinicio, después de 3 ciclos de reloj de resolución de funciones trigonométricas y operación de producto, y luego 3 ciclos de reloj de cálculo, se obtiene el primer código de cambio de fase 54 después de un total de 6 ciclos. Después de eso, después de cada 3 ciclos, se calculan secuencialmente los códigos de cambio de fase 63, 7, 15, 24, etc.. Cada ciclo de cálculo del código de cambio de fase solo necesita 3 ciclos de reloj, lo que satisface completamente las necesidades de un cálculo rápido.

0d36deca45cf418daadaac2642a9f485.png

4. Conclusión

        El tiempo de respuesta de exploración de haz es un índice de rendimiento importante de la antena de matriz en fase, y varios métodos de trabajo avanzados de matriz en fase plantean requisitos cada vez más altos para el tiempo de respuesta de la exploración de haz. El controlador de haz diseñado por este esquema tiene un circuito de hardware simple, y el software descompone y optimiza el algoritmo.Solo se necesitan 3 ciclos de reloj para calcular el código de cambio de fase de una unidad, y el tiempo de cálculo del código de cambio de fase para una matriz completa de 256 unidades se reduce a 26 us (reloj de 30 MHz), con un tiempo de respuesta de haz muy corto, lo que mejora la velocidad y la flexibilidad del escaneo de haz. 

 

Supongo que te gusta

Origin blog.csdn.net/qq_43416206/article/details/132265541
Recomendado
Clasificación