2 puntos por GN⁺ 2024-04-05 | 2 comentarios | Compartir por WhatsApp
  • A partir de la experiencia previa con un radar FMCW casero, este es un relato de construcción de un radar de compresión de pulsos en la banda de 6 GHz usando solo componentes de bajo costo y procesamiento digital de señales de alta velocidad.
  • Combina un FPGA Zynq 7020, un ADC de 12 bits a 250 MHz, un DAC de 14 bits a 500 MHz y una arquitectura de transmisión/recepción IQ zero-IF para soportar transmisión de formas de onda arbitrarias y procesamiento de compresión de pulsos.
  • La dificultad de implementación se concentra en restricciones de digital de alta velocidad y RF, como filtros de ADC/DAC, ruteo de DDR3, interfaz LVDS, Ethernet de 1 Gbps, sincronización de reloj, filtrado de alimentación, conmutación transmisión/recepción y corrección de fuga del LO.
  • En mediciones reales, con 150 MHz de ancho de banda se obtuvo una resolución de distancia de aproximadamente 1 m, se detectaron vehículos al borde de una carretera hasta unos 400~450 m y, por cálculo, el alcance máximo de detección para un blanco con sección radar de 1 m² es de alrededor de 1 km.
  • Se completó con dos placas PCB fabricadas y ensambladas por 330 USD y componentes de Digikey soldados a mano por 225 EUR; se considera difícil encontrar un radar comercial de compresión de pulsos o un SDR con ancho de banda de RF similar en el mismo rango de precio.

Por qué se construyó un radar de compresión de pulsos en lugar de FMCW

  • Un radar FMCW, si separa las antenas de transmisión y recepción, no necesita conmutación, y puede mezclar la señal recibida con la señal transmitida para llevarla a una frecuencia baja, por lo que es fácil de implementar incluso con un ADC de baja velocidad.
  • Los radares grandes suelen usar radar pulsado.
    • Se puede compartir una sola antena para transmisión y recepción.
    • Al usar alta potencia de transmisión, hay menos preocupación que en FMCW por la saturación del receptor.
    • Como se pueden enviar pulsos con mayor frecuencia, aumenta el Doppler shift máximo no ambiguo al medir la velocidad de blancos rápidos.
  • En cambio, el radar pulsado tiene restricciones de implementación mucho mayores.
    • Si cambiar entre transmisión y recepción toma 1 µs, se pierde la reflexión de un blanco a 150 m de distancia.
    • Si se comparte una sola antena, la distancia mínima de detección puede llegar a ser de cientos de metros.
    • Como hay que muestrear todo el ancho de banda de RF del pulso transmitido, puede requerirse un ADC de varios cientos de MHz o de más de 1 GHz.
  • El objetivo es un radar de compresión de pulsos que no se limite a barridos lineales de frecuencia, sino que soporte formas de onda arbitrarias.
    • Para eso se necesitan un DAC y un ADC con una tasa de muestreo suficiente.

Arquitectura general y procesamiento de señales

  • El radar tiene una estructura similar a un SDR, con dos antenas de recepción multiplexadas en el tiempo y una etapa de transmisión.
    • La etapa de transmisión se comparte con una de las antenas de recepción.
    • El segundo canal de recepción era barato, ya que solo requería agregar un switch, un LNA y un conector SMA, y además dejaba abierta la posibilidad de usar modo FMCW.
  • TX y RX usan una arquitectura zero-IF.
    • No es lo mejor en términos de rendimiento, pero es la opción más barata.
    • La salida del mezclador incluye no solo la señal deseada, sino también fuga del LO y señal imagen.
    • En zero-IF, los componentes no deseados se superponen con la señal, por lo que es difícil eliminarlos con un filtro fijo.
  • Algunas no idealidades pueden reducirse mediante corrección digital.
    • Se puede corregir la no idealidad del mezclador mediante predistorsión de la salida del DAC para limpiar la señal transmitida.
    • La salida del receptor también puede corregirse digitalmente si se caracteriza con suficiente precisión.
  • El DAC entrega una señal IQ compleja, y el mezclador IQ la modula a la frecuencia del LO para transmitirla por la antena.
    • IQ complejo expresa tanto frecuencias positivas como negativas en banda base.
    • Tras transmitir, el switch T/R se cambia a recepción y el receptor muestrea la señal reflejada.
  • La posición del blanco se obtiene mediante cálculo de correlación entre la señal transmitida y la recibida.
    • La implementación real usa FFT en lugar de convolución directa en el dominio del tiempo.
    • En el instante donde hay un blanco, la correlación entre la señal recibida y la transmitida aumenta; cuando no hay blanco, disminuye.
  • Los lóbulos laterales se controlan con una función de ventana.
    • Si se multiplica el pulso de referencia por una función de ventana, se pueden ajustar los lóbulos laterales de la salida de la convolución.
    • Si también se aplica una ventana al pulso transmitido, los lóbulos laterales pueden reducirse aún más.
    • La desventaja es que el lóbulo principal se ensancha y la resolución de distancia empeora ligeramente.
  • La velocidad se mide usando el cambio de fase de la señal recibida a lo largo de varios pulsos.
    • Al enviar una ráfaga de pulsos y calcular una FFT en la dimensión de pulsos, la distancia y la velocidad se separan en el mapa range-Doppler.
    • Varios objetos a la misma distancia también pueden distinguirse si tienen velocidades distintas.
    • Con una sola antena no hay información angular.

Elección de ADC, DAC y FPGA

  • La tasa de muestreo del ADC es el parámetro clave que determina el ancho de banda máximo de RF que se puede recibir.
    • Asegurar ancho de banda en el ADC es más difícil que aumentar el ancho de banda del lado de RF y del DAC.
    • Para muestreo IQ se necesita como mínimo un ADC de 2 canales.
  • Los ADC con interfaz JESD204B requieren transceptores seriales de alta velocidad de FPGA avanzados, lo que no encajaba en el presupuesto; como la opción más rápida conectable a I/O comunes de FPGA se usó LVDS.
  • El ADC elegido fue ADS4229.
    • 2 canales, LVDS, tasa de muestreo de 250 MHz.
    • Precio unitario: 58 EUR.
    • También existía un ADC de 8 bits a 500 MHz, pero se descartó porque su SNR era 20 dB menor que el del ADC de 12 bits, y duplicar la tasa de muestreo solo recupera 3 dB de SNR.
  • El DAC elegido fue DAC3174.
    • 2 canales, 14 bits, 500 MHz.
    • Precio unitario: 33 EUR.
    • Aunque el ancho de banda del sistema queda limitado por el ADC, el margen de ancho de banda del DAC facilita el filtrado.
  • Solo con un microcontrolador sería difícil manejar la temporización de generación de pulsos, la gestión de datos ADC/DAC y el control de conmutación transmisión/recepción, por lo que se necesita un FPGA.
  • El FPGA elegido fue Zynq 7020.
    • Incluye CPU ARM-A9 de doble núcleo y FPGA fabric en el mismo paquete.
    • En China se podía conseguir por $17, mientras que el precio en Digikey era de $173.
    • La CPU puede encargarse de la comunicación con la PC y del control.
    • También se agregó una tarjeta SD para ejecutar Linux, aunque el software inicial se ejecuta sin sistema operativo.

Filtros ADC/DAC y restricciones de ancho de banda

  • Delante del ADC se necesita un filtro pasabajos anti-aliasing.
    • La frecuencia de Nyquist con una tasa de muestreo de 250 MHz es 125 MHz.
    • Para aumentar el ancho de banda utilizable, el corte debe ubicarse cerca de Nyquist, pero eso exige un corte abrupto y dificulta el diseño del filtro.
  • El filtro del ADC debe tener amplitud y retardo de grupo uniformes en la banda pasante.
    • Si la atenuación varía según la frecuencia, el pulso recibido se distorsiona.
    • Si la diferencia de retardo de grupo es grande, baja la correlación con el pulso de referencia y aumentan los lóbulos laterales.
  • Los valores de diseño del filtro del ADC son corte a 100 MHz y atenuación de -20 dB en Nyquist, 125 MHz.
    • Hasta unos 60 MHz, la amplitud y el retardo de grupo son buenos.
    • Por encima de eso es difícil mejorar debido a las restricciones.
    • Si hace falta, la respuesta del filtro puede corregirse digitalmente.
  • El DAC también es un sistema de muestreo, por lo que hay que filtrar los alias de salida.
    • La tasa de muestreo del DAC es 500 MHz y el ancho de banda de señal requerido es 100 MHz, por lo que el diseño del filtro es más fácil que en el ADC.
    • Los alias de la señal de 0~100 MHz están en el rango de 400~500 MHz.
    • En simulación, los alias quedan atenuados al menos 65 dB más que la señal.
  • Con una potencia de señal de 30 dBm, la señal imagen puede ser de alrededor de -35 dBm.
    • Se considera suficiente para operar, pero en un radar bien hecho probablemente haría falta una atenuación mayor para evitar radiación fuera de las frecuencias asignadas.

Diseño digital y flujo de datos

  • El SoC Zynq está compuesto por un processing system (PS) y programmable logic (PL)
    • El PS es una CPU ARM A9 de doble núcleo
    • El PL es el FPGA fabric
    • Ambos están conectados mediante un bus AXI de 64 bits
  • El reloj AXI se configuró a 130 MHz
    • Un bus AXI para el DMA del ADC
    • Un bus AXI para el DMA del DAC
    • Hay un bus AXI de baja velocidad separado para configurar los registros del PL
  • Para una conexión rápida con la PC se eligió Ethernet de 1 Gbps
    • USB 3 puede ofrecer 5 Gbps, pero requiere un transceptor USB 3 externo y esfuerzo adicional de implementación
    • Como el procesamiento digital inicial se realiza en la PC, la velocidad de transferencia de las muestras ADC capturadas es importante
  • La DDR3 DRAM está conectada al lado del PS con un solo chip
    • Funciona a 1066 MHz por limitaciones del controlador de memoria
    • El ancho del bus es de 16 bits
    • Se podría agregar un segundo chip DDR3 para una configuración de 32 bits, pero no fue necesario
  • El ancho de banda de DDR3 es menor que la suma de los anchos de banda del DAC y el ADC
    • No es posible hacer streaming de muestras del DAC desde la DRAM y, al mismo tiempo, almacenar muestras del ADC
    • Se colocó 1 MB de memoria del lado del PL para almacenar las muestras del DAC
    • La PC envía por Ethernet las muestras de pulso a la DRAM, el DMA las mueve a la memoria del PL y luego se transfieren al DAC en cada pulso
  • La memoria DAC de 1 MB limita la duración del pulso a 130 µs
    • Un pulso de 130 µs corresponde a una distancia mínima de detección de 20 km
    • La duración típica de pulso es de alrededor de 1 µs, así que es suficiente
    • El enfoque con LUT facilita experimentar con funciones de ventana, predistorsión y distintas formas de onda de pulso

Front-end RF y conmutación de transmisión/recepción

  • La frecuencia de operación es de aproximadamente 6 GHz, similar a la de radares caseros anteriores
    • Se consideró que era la banda de mayor frecuencia con abundantes componentes comerciales económicos gracias a las aplicaciones de consumo
  • La sección RF está compuesta por un modulador IQ, un demodulador IQ, un PLL para el LO, un amplificador de potencia, un LNA y switches
  • Se eligió el amplificador de potencia Skyworks SE5004L
    • El punto de compresión de 1 dB de salida típico es de 2 W
    • La ganancia es de 32 dB
    • La documentación de la hoja de datos era escasa y no incluía valores de componentes externos, pero el esquema se pudo consultar en la documentación de la placa de evaluación
  • Se eligió el switch T/R MASW-007588
    • Velocidad de conmutación de 55 ns
    • Punto de compresión de 1 dB de 37 dBm
    • En 55 ns la luz recorre 16.5 m
    • Existen switches dedicados mejores, pero no entraban en el presupuesto
  • Un circulador también era una alternativa, pero no se usó
    • Son comunes en radares de alta potencia, pueden manejar cientos de W y no tienen problemas de velocidad de conmutación
    • Los productos para esta banda de frecuencia son grandes y mucho más caros que un switch simple
  • En el receptor, el piso de ruido RF debe ser suficientemente más alto que el ruido de cuantización del ADC
    • Según los cálculos, el piso de ruido RF en la entrada del ADC es de alrededor de -155 dBV/Hz
    • El piso de ruido del ADC es de alrededor de -156 dBV/Hz
    • En general, el piso de ruido RF debería ser unos 10 dB más alto que el del ADC, pero en el diseño real se aceptó un compromiso de solo unos pocos dB por encima

Cálculo de la distancia máxima de detección

  • La distancia máxima de detección se calculó con la ecuación de radar
    • Se usaron la potencia de transmisión, la ganancia de antena, la longitud de onda, la sección transversal radar del objetivo, la temperatura del receptor, la duración del pulso, la cantidad de pulsos, la figura de ruido y el umbral de detección
  • Los parámetros estimados usados fueron los siguientes
    • Potencia de transmisión: 30 dBm
    • Ganancia de antena: 14 dBi
    • Longitud de onda: 5.2 cm
    • Sección transversal radar del objetivo: 1 m²
    • Temperatura del receptor: 290 K
    • Duración del pulso: 1 µs
    • Cantidad de pulsos en el burst: 1024
    • Figura de ruido del receptor: 5 dB
    • Umbral de detección: 15 dB
  • El cálculo dio una distancia máxima de detección de 1200 m para un objetivo con sección transversal radar de 1 m²
  • Este valor puede ser algo optimista
    • No incluye pérdidas en el cable de la antena
    • Pérdidas de eficiencia de la antena
    • Pérdidas por desadaptación de impedancia
    • Atenuación atmosférica
  • Aun así, se estima que la distancia máxima de detección debería estar alrededor de 1 km
    • A la distancia máxima, la potencia recibida promedio es igual al umbral mínimo de detección
    • En promedio, un objetivo a esta distancia se detecta con una probabilidad del 50%
    • Como la potencia recibida es inversamente proporcional a la cuarta potencia de la distancia, la probabilidad de detección cae rápidamente a distancias mayores

Diseño de PCB, DDR3, líneas de transmisión y alimentación

  • Como la PCB incluye tanto RF como circuitos digitales de alta velocidad, el ruteo requiere cuidado
    • Se usó una PCB de 6 capas
    • El material FR-4 estándar no es ideal para RF, pero se consideró que no sería un gran problema porque las trazas RF se mantuvieron muy cortas
  • La memoria DDR3L funciona con un reloj de 533 MHz y dos transferencias por ciclo de reloj
    • Estándar DDR3L de bajo voltaje de 1.35 V
    • Requiere igualación de longitudes de traza, impedancia característica y terminación
  • Se simuló si se podían omitir las resistencias de terminación del bus de direcciones DDR3
    • Sin resistencias de terminación, parecía funcionar según el criterio de umbral
    • Pero se producía un overshoot de alrededor de 0.7 V, lo que violaba la condición máxima de overshoot de 0.4 V de la hoja de datos de la memoria
    • Finalmente se agregaron resistencias de terminación en las líneas de dirección
  • En el ruteo DDR3 se usaron trazas de 60 ohm y resistencias de terminación de 50 ohm
    • Las trazas de 40 ohm tienen un ancho de 0.24 mm
    • Las trazas de 60 ohm tienen un ancho de 0.10 mm, lo que permite una disposición más densa
    • Las resistencias de 50 ohm también eran necesarias en otras partes de la PCB, lo que permitió reducir la BOM
  • Los pines enable del switch T/R y del modulador IQ deben conmutar muy rápido
    • Con la máxima drive strength del FPGA, el rise time de la entrada del switch es de alrededor de 400 ps según la simulación
    • Las trazas de PCB de varios cm actúan como líneas de transmisión y producen reflexiones
    • Se redujeron las reflexiones sin problemas de nivel DC usando una terminación AC formada por una resistencia de 50 ohm y un capacitor pequeño en serie
  • La alimentación combina reguladores conmutados, LDO y filtros con ferrite bead
    • Como el ruido de conmutación es mucho mayor que el piso de ruido térmico del receptor, se requiere un filtrado fuerte
    • Según los cálculos, en el peor caso se requiere un filtrado de alimentación de alrededor de 100 dB
    • Un filtro de dos etapas con ferrite bead logra 100 dB de atenuación a 1 MHz
  • La PCB tiene en total 9 rieles de alimentación
    • 1.0 V, 1.8 V, 2.5 V y 3.3 V para digital/FPGA, y 1.35 V y 0.675 V para DDR3
    • Las alimentaciones analógicas de bajo ruido de 1.8 V, 3.3 V y 5.0 V usan LDO y filtros con ferrite bead

Interfaces de alta velocidad y reloj

  • El ADC se conecta al FPGA mediante un bus LVDS de 12 bits
    • La tasa de muestreo del ADC es de 250 MHz
    • Los datos de dos canales se transportan en los flancos de subida y bajada del reloj
    • El FPGA usa una adjustable delay line para corregir dinámicamente el timing de captura
  • El DAC usa una interfaz LVDS de 500 MHz y 14 bits
    • Como este FPGA no tiene ajuste de líneas de retardo de salida, es importante igualar las longitudes de las pistas del PCB
    • Según la herramienta de síntesis, se puede cumplir el timing con un trace delay de ±25 ps, aproximadamente ±4 mm de diferencia de longitud
  • El Ethernet PHY usa un Realtek RTL8211F
    • En China se podía conseguir como componente suelto por US$1
    • La hoja de datos oficial está bajo NDA, pero se pudo conseguir de revendedores chinos un documento marcado como “Confidential”
    • La interfaz RGMII del FPGA Zynq no cumple la especificación a 3.3 V, así que la alimentación del lado PS se configuró en 1.8 V
    • Esto hizo necesarios level shifters para la tarjeta SD y la UART
  • JTAG y la UART de debug se implementan con un FTDI FT2232H
    • No se usó el debugger JTAG oficial de Xilinx porque su precio de lista es de US$270
    • Si se configura la EEPROM con la herramienta program_ftdi de Xilinx, Vivado lo reconoce
  • La sincronización de reloj es importante para el rendimiento del radar
    • El ADC usa 250 MHz
    • El DAC usa 500 MHz
    • La lógica del FPGA necesita un reloj más bajo
    • Según la predicción de la herramienta, el jitter del reloj interno de 100 MHz del PLL del FPGA es de 130 ps peak-to-peak, mientras que el generador de reloj externo ronda los 4 ps peak-to-peak
  • Del lado PL, se usa el generador de reloj CDCM6208 para generar varios relojes de 250 MHz y 500 MHz a partir de un crystal de 25 MHz
    • Estos relojes están phase synchronized entre sí
    • El lado PS usa su propio crystal de 33 MHz y es necesario para programar el generador de reloj después de encender
    • Los dominios de reloj independientes de PS y PL se manejan con un clock domain crossing adecuado

Fabricación y bring-up de la placa

  • El PCB se encargó a un fabricante chino, incluyendo el ensamblaje
    • Se recibieron 2 placas ensambladas y 3 PCB vacíos
    • Algunos componentes poco comunes no estaban disponibles en el servicio de ensamblaje, así que se pidieron y soldaron manualmente
    • Entre ellos estaban componentes caros como el ADC, el DAC y el PLL
    • El FPGA sí pudo ensamblarse, evitando tener que soldar manualmente un BGA de 484 pines
  • La calidad del PCB fue buena para el precio, pero 1 de las 2 placas ensambladas no funcionó de inmediato por un problema de soldadura
  • El FPGA barato de US$15 tenía ocultos la fecha y el lot code
    • El marcado del chip era distinto al de una placa de desarrollo de la misma familia
    • Al final funcionó, pero su origen quedó en duda
  • El resto de los componentes se soldó manualmente con solder paste y una hot air tool
    • Para soldar paquetes QFN en una placa que ya tiene componentes montados hace falta una hot air tool
  • Para reducir el costo del ensamblaje a doble cara, todos los componentes se colocaron en el top side
    • En el bottom side solo se dejó espacio para agregar capacitores de desacoplamiento si hacía falta, pero en la práctica no fueron necesarios
  • Después de programar la EEPROM del FT2232H, Vivado hardware manager reconoció el Zynq 7020, lo que permitió programar y depurar el FPGA

Firmware del FPGA y timing

  • La lógica del FPGA se encarga principalmente de mover datos
    • Interfaces LVDS del ADC/DAC
    • Timing de pulsos para encender y apagar a tiempo el switch, el PA, el LNA, etc.
    • Registros AXI para configurar el PL desde el PS
    • Dos DMA para muestras del ADC/DAC
    • Interfaces SPI para el ADC, DAC, PLL y generador de reloj
  • La mayor parte del procesamiento de señales se realiza en la PC
    • En el futuro, hacer filtrado digital y decimation en el FPGA permitiría reducir la cantidad de datos enviados a la PC y aumentar el frame rate
  • El LVDS receiver se basa en la appnote de Xilinx xapp1017
    • Cada LVDS lane conecta una delay line y un flip-flop
    • Una máquina de estados cambia el delay para muestrear en el centro del data eye
    • Corrige dinámicamente las diferencias de enrutado del PCB y de retardo interno del FPGA
  • El circuito de timing de pulsos usa una estructura de counter con equality comparison por evento
    • Cuando el PS dispara, el counter arranca
    • Controla cada subsistema y chip externo en el ciclo de reloj exacto
    • Tiene una función de loop para enviar múltiples pulsos ajustando con precisión el interval de repetición
  • Un timing de ráfaga preciso es indispensable para medir velocidad
    • Si hay un error de 1 ciclo del reloj de 125 MHz en el trigger del ADC o del DAC, se produce un error de distancia medida de 1.2 m

Medición de ruido del receptor y potencia de transmisión

  • Para verificar el ruido del receptor, se conectó una matched load al conector de antena y se registró la salida del ADC con el transmisor apagado
    • Registro de 33 ms y 8 millones de muestras
    • El piso de ruido promedio fue de -139 dBFs, similar a lo esperado
  • Se observaron varias señales de interferencia, y las más grandes eran múltiplos de 25 MHz
    • Su amplitud era de aproximadamente -100 dBFs
    • En la entrada del ADC equivalen a unos 15 µV RMS
    • La causa es un PLL fractional spur
  • Al configurar la frecuencia de salida del PLL como un múltiplo entero del reloj de referencia, los spur se minimizan
    • El PLL reference clock es de 250 MHz, pero el phase detector usa 125 MHz dividido por 2
    • Con la configuración de 5.75 GHz, los spur casi desaparecen
    • 5.875 GHz también funciona bien por estar cerca de un múltiplo
  • La frecuencia de conmutación del DC/DC converter era de 2.5 MHz y no apareció en el espectro de salida
    • El filtrado de alimentación funciona como estaba previsto
  • La potencia de transmisión se verificó con el power detector integrado del PA
    • La salida del DAC se configuró al 85% de la amplitud máxima
    • Se espera que la salida del IQ modulator sea de aproximadamente +3 dBm
    • Con una ganancia del PA de 32 dB, es suficiente para entrar en compression
  • El detector peak voltage medido fue de 1.72 V
    • Extrapolando linealmente la gráfica de la hoja de datos, la potencia de salida es de unos 33 dBm, es decir, alrededor de 2 W
    • Coincide con el -1 dB compression point típico de 34 dBm del PA, por lo que parece estar en estado de compression

Calibración y calidad de la compresión de pulsos

  • Se registró la señal de fuga de transmisión a través del switch T/R con una carga adaptada
    • La forma de onda transmitida fue un barrido lineal de frecuencia de 100 MHz de ancho de banda y 1 µs de duración
    • Se usó 0,1 de la amplitud máxima del DAC
  • Antes de la calibración, la forma de onda recibida mostraba varias no idealidades
    • Offset DC del ADC antes del pulso
    • Spike al encenderse el transmisor
    • Offset DC del pulso debido a la fuga del LO del transmisor
    • Mayor atenuación en frecuencias de banda base altas
    • Nivel DC después del pulso debido al offset del ADC y al comportamiento pasaaltos del filtro del ADC
  • Antes de la calibración, el nivel de lóbulos laterales en la compresión de pulsos era de -21 dBc
    • La causa principal era la fuga del LO del transmisor
    • Como el transmisor y el receptor comparten el mismo LO, la fuga del LO se mezcla hacia abajo a DC en el receptor
  • El offset DC del ADC se calibró disparando el receptor con el transmisor apagado para medirlo y luego restándolo de las mediciones posteriores
  • La fuga del LO se midió disparando el barrido con el DAC configurado para emitir 0
    • Idealmente no debería haber transmisión, pero por la fuga del LO se transmite una señal a la frecuencia del LO
    • Se ajusta el nivel DC de la señal transmitida para que la entrada del ADC quede en 0 y así cancelar la fuga del LO
  • Después de corregir la fuga del LO, el nivel de lóbulos laterales mejoró a -36 dB
    • Es unos dB más alto que el ideal de -42 dB
    • Debido al comportamiento pasaaltos del capacitor de acoplamiento AC, queda una respuesta lineal larga de -60 dB
  • Otro método para reducir el problema del offset DC es modular el barrido como low-IF en lugar de centrarlo en cero
    • Se usa un offset de 25 MHz en un barrido de 50 MHz para barrer de 0 a 50 MHz
    • Desaparece el problema de offset DC causado por el filtro pasaaltos
    • La desventaja es que el ancho de banda máximo utilizable se reduce a la mitad frente a un barrido centrado en cero
  • Aplicar una ventana Tukey al pulso transmitido reduce mucho los lóbulos laterales lejanos
    • Con α=0,1, la energía del pulso y el SNR del receptor disminuyen 0,8 dB
    • Con un offset de 500 ns, el nivel de lóbulos laterales disminuye unos 20 dB

Problema de fuga de ruido del PA

  • Al pasar a recepción, el switch T/R cambia del transmisor al receptor, pero si el PA sigue encendido, el ruido de salida del PA se filtra hacia el receptor
  • El switch T/R conmuta en unos 50 ns, pero habilitar/deshabilitar el PA tarda unos 10 µs
    • Al usar una sola antena, este largo tiempo de conmutación del PA aumenta el ruido del receptor
  • Si la entrada del PA es el ruido térmico de una resistencia de 50 ohm, es de -174 dBm/Hz; con la ganancia del PA de 32 dB y el ruido propio del PA, el piso de ruido de salida queda en torno a -135 dBm/Hz
  • Tras pasar por el aislamiento del switch T/R, se estima que el ruido del PA en la entrada del LNA es de unos -165 dBm/Hz
    • Es mayor que el piso de ruido térmico de -174 dBm/Hz, por lo que limita el rendimiento del receptor si no se apaga el PA
  • En mediciones reales, con el PA encendido, el piso de ruido del ADC del receptor conectado al switch T/R fue 2,1 dB más alto que cuando se conectaba a otro puerto
    • Considerando la incertidumbre del valor calculado, coincide bien con la teoría
  • Con dos antenas, se puede cambiar el segundo switch de recepción a RX2 y apagar el LNA de RX1, mejorando el aislamiento lo suficiente como para que la fuga del PA no afecte el ruido del receptor

Software de detección y seguimiento

  • El pipeline para obtener detecciones de objetivos a partir de muestras del ADC es el siguiente
    • Realizar compresión de pulsos en cada pulso recibido
    • Realizar una FFT en la dimensión del número de pulsos
    • Generar un mapa range-Doppler con ejes de distancia y velocidad Doppler
  • La amplitud de cada pixel del mapa range-Doppler representa la potencia recibida en el bin de esa distancia y velocidad
  • Los bins de objetivos se identifican con el algoritmo CFAR
    • En lugar de un piso de ruido fijo, estima el piso de ruido local usando el promedio de los bins vecinos
    • Si la amplitud del bin bajo prueba es mayor que threshold × piso de ruido estimado, se marca como objetivo
    • El piso de ruido puede variar según el tiempo, los lóbulos laterales de objetivos cercanos y clutter como reflexiones del suelo
  • Las falsas detecciones causadas por lóbulos laterales de objetivos grandes se eliminan en posprocesamiento
    • Si hay un objetivo mucho mayor en la misma fila o columna, se considera un lóbulo lateral
    • Como la amplitud debe ser mayor que la de los bins adyacentes, solo se detecta la posición del pico del pulso comprimido
  • Para el seguimiento de objetivos se usa la biblioteca Python Stonesoup
    • La posición, velocidad e incertidumbre de cada objetivo se rastrean con un filtro de Kalman
    • La implementación se basa en gran medida en el tutorial de StoneSoup
  • El radar mide distancia y velocidad, pero al no tener información de ángulo solo permite tracking 1D
    • El transition model usa aceleración constante
    • El filtro de Kalman estima la aceleración a partir de las mediciones y predice la siguiente posición

Resultados de medición reales junto a una carretera

  • Se instaló el radar al costado de una carretera para medir vehículos
    • Duración del pulso: 2 µs
    • Ancho de banda: 150 MHz
    • Número de pulsos: 1024
    • Duración de RX: 5 µs
    • Retardo antes del siguiente pulso: 7 µs
    • Uso de 2 antenas TX/RX separadas
    • Las antenas son horn antennas hechas a mano
  • Un ancho de banda de 150 MHz corresponde a una resolución de distancia de 1 m
    • La resolución es la distancia mínima a la que se pueden separar dos objetivos puntuales
    • La precisión de posición de un objetivo único puede ser mejor que la resolución, según el SNR
  • Un intervalo entre pulsos de 12 µs corresponde a una pulse repetition frequency de 83 kHz
    • Con RF de 5,8 GHz y un pulse repetition interval de 12 µs, el rango de velocidad no ambigua es de -1077 m/s a +1077 m/s
    • Como es más de 3 veces la velocidad del sonido, no hay problema de ambigüedad de velocidad al medir autos
  • La resolución de velocidad Doppler es 2155 m/s ÷ 1024 = 2,1 m/s
    • Para separar dos objetivos a la misma distancia, se necesita una diferencia de velocidad de ese orden
    • La precisión de velocidad de un objetivo único mejora según el SNR
  • Video 9 muestra el resultado de sincronizar el video del teléfono con el mapa range-Doppler
    • Las detecciones CFAR se muestran con signos plus rojos
    • El eje Y es la velocidad Doppler; los valores negativos indican movimiento de acercamiento hacia el radar
    • El eje X es la distancia
    • La gran línea en Doppler cero corresponde a reflexiones de objetivos estacionarios
  • En vehículos cercanos fue fácil correlacionar la imagen de la cámara con las detecciones del radar
    • Hay shadowing, donde los vehículos de adelante ocultan objetos más lejanos
    • El radar también detecta bien objetos que no se ven claramente en la cámara
    • Detectó vehículos a unos 400 m de distancia, hasta antes de que la carretera girara y se bloqueara la line of sight
  • Por efecto del offset DC, se observan lóbulos laterales grandes en la dirección de distancia
    • Esto dificulta detectar objetos pequeños cerca de objetivos grandes
    • El vehículo más lejano no siempre es detectado por CFAR debido a lóbulos laterales superpuestos
  • Video 10 muestra el resultado de aplicar un tracker de Kalman a la misma medición
    • El tracker asigna las detecciones CFAR a objetivos con ID únicos
    • Si faltan detecciones de un objetivo lejano por shadowing y lóbulos laterales, se pierde el track y, cuando vuelve a aparecer, se le asigna un nuevo ID

Pulsos Low-IF y experimento con una sola antena

  • En el segundo experimento en carretera se usó un ancho de banda RF de 75 MHz y una frecuencia de modulación de 38 MHz
    • La frecuencia hizo un barrido de 0.5 MHz a 75.5 MHz
    • Los demás parámetros se mantuvieron
  • Como se esperaba, no apareció el sidelobe muy amplio causado por el offset de DC
    • La resolución en distancia empeoró a aproximadamente la mitad de la anterior, pero no hubo problemas para rastrear vehículos
    • Como los vehículos son grandes, se pueden separar incluso con una resolución en distancia de 2 m
  • Al principio, una segunda reflexión de los vehículos que pasaban aparecía al doble de distancia y al doble de velocidad
    • La señal seguía una trayectoria desde el vehículo, a una señal cercana, de vuelta al vehículo y luego al radar
    • Como la amplitud era débil y estaba dispersa, no se detectó como objetivo CFAR
  • Las bicicletas no se detectaron como objetivos
    • Su velocidad no estaba lo suficientemente separada de los objetivos estacionarios
    • Los objetivos estacionarios alrededor del low-speed target se incluían en el cálculo del piso de ruido de CFAR
    • La pequeña sección transversal de radar de la bicicleta no era lo suficientemente mayor que el piso de ruido elevado
  • Para este uso conviene una frecuencia RF más alta
    • Al duplicar la frecuencia RF, se duplica la separación de bins de velocidad Doppler
    • La velocidad Doppler máxima no ambigua se reduce a la mitad
    • Los radares policiales de medición de velocidad suelen usar bandas de 10~35 GHz
  • El SNR de los objetos detectados fue bueno a esta distancia
    • A 450 m, el SNR máximo fue de aproximadamente 35 dB
    • Después de 550 m no hubo detection porque no había line of sight
    • Al duplicar la distancia, el SNR debería disminuir 12 dB
  • En el experimento con una sola antena se usaron los mismos parámetros que en la medición Low-IF, pero se redujo la longitud del pulso de 2 µs a 1 µs
    • Se usó una sola antena alternando entre transmisión y recepción
    • 1 µs equivale a 300 m de recorrido de la luz, pero como es una señal de ida y vuelta, la distancia mínima para recibir el full pulse es de 150 m
  • También fue posible detectar objetivos a menos de 150 m como partial pulse
    • Si solo se usa un partial pulse para la pulse compression, bajan la resolución en distancia y el SNR
    • En esta configuración, la distancia mínima de detección fue de aproximadamente 40 m

Costo, materiales publicados y evaluación final

  • Se publicó el Schematic del radar
    • Con algunas modificaciones, también podría ser útil como SDR
    • También puede servir como referencia para otras aplicaciones que requieran FPGA
  • El firmware y el software actualmente no están publicados
    • Aún no se decidió si se publicarán
  • Los costos fueron los siguientes
    • Fabricación de PCB y ensamblaje de 2 placas: 330 USD
    • Componentes de Digikey soldados manualmente: 225 EUR, aproximadamente 240 USD
    • El precio incluye 24% de IVA y envío
  • No parece haber radares comerciales de compresión de pulsos similares en el mismo rango de precio
    • Incluso los SDR con un ancho de banda RF similar son mucho más caros
  • El radar terminado tiene una estructura básicamente similar a la de los radares modernos grandes
    • Usa procesamiento digital de señales
    • Soporta formas de onda arbitrarias
    • Gracias a la alta pulse repetition frequency, la velocidad Doppler máxima no ambigua es grande
    • Como la potencia de salida y el tamaño de la antena son pequeños, el alcance máximo es menor que el de los radares grandes

2 comentarios

 
GN⁺ 2024-04-05
Comentarios de Hacker News
  • Me recordó una publicación anterior del mismo sitio https://hforsten.com/heartbeat-detection-with-radar.html
    Compré unos módulos de radar Doppler de 10 GHz/24 GHz baratos en Amazon para trastear con ellos, y con solo ver el espectrograma se podían detectar claramente el pulso y la respiración
    En ese entonces tenía como muestras un video a 10 GHz apuntando a un ventilador de techo https://www.youtube.com/watch?v=tIiFvByf1CQ, un video apuntando hacia arriba desde debajo de la superficie donde se hizo rebotar y caer una moneda https://www.youtube.com/watch?v=8riretP8ylE, y un video apuntando a una moneda girando sobre la superficie https://www.youtube.com/watch?v=5lnYvJoxRak
    El filtrado tipo peine que se produce en superficies giratorias es realmente genial, y el módulo de 10 GHz que usé fue https://www.amazon.com/HiLetgo-Microwave-Detector-Wireless-1...

    • Me pregunto si puede funcionar también detrás de estructuras, y quisiera saber si es seguro apuntarlo al propio cuerpo
  • Qué genial. Ya quedó puesta la última pieza para un sistema de guiado de misiles suburbano, y parece que a la familia Jones se le va a complicar pasar la fiesta del vecindario este año
    Ojalá la próxima vez también cubra radar de arreglo en fase. Tengo algunos vecinos que no recogen los desechos de sus perros y necesito más precisión

  • Es un trabajo impresionante. Sorprende que una sola persona haya logrado esto, y si lo pones sobre una base giratoria se convierte en un detector de radar plano
    Si además le agregas inclinación, no parece tan distinto de un radar aeronáutico o meteorológico. El costo no es poco en moneda local y, según otro comentario, son 570 dólares, pero considerando el tiempo invertido se entiende
    Con suficiente presupuesto, parecería no haber límite. Me pregunto cómo interpretarían que una aeronave militar fuera rastreada por un radar civil de 6 GHz. La distancia máxima estimada es de 1200 m, pero ¿qué pasaría si se aumentara 10 veces con una antena más grande, por ejemplo?

    • Las regulaciones de potencia de señal se basan en ERP, así que si usas una antena más direccional, puede que el uso de la banda de 6 GHz ya no sea legal
    • Hay varias maneras
      Para empezar, los radares de aeronaves tienen receptores y también reciben los pulsos transmitidos por otros radares. De hecho, la interferencia de radar funciona de la misma manera: se arroja mucha potencia en la misma banda/longitud de onda para llenar la pantalla de clutter
      Los radares tienen características como frecuencia, frecuencia de repetición de pulsos (PRF) y forma de onda, así que es relativamente fácil identificarlos. Las bandas en las que operan los radares están reguladas, y tanto el ejército como varias entidades civiles detectan transmisiones de radar
      Un proyecto DIY pequeño como este no es una gran amenaza, pero si transmites cerca de una instalación de radar, especialmente una militar, podrías meterte en problemas muy rápido
      No sé en Finlandia, pero donde yo vivo no está permitido que civiles tomen huellas de radares militares ni construyan bases de datos de esas huellas. En la práctica, solo lo puede hacer el ejército
      En cuanto subes la potencia, este tipo de aparato deja rápidamente de estar dentro del ámbito DIY. También me gustaría ver a esta persona construir un radar de arreglo en fase. Fuente: trabajé en temas relacionados con radar
    • No tengo conocimientos específicos, pero no creo que llegue a disparar una alerta seria de amenaza
      Los receptores militares de alerta de amenazas son sistemas altamente ajustados al entorno de amenazas operativas esperado
    • Las aeronaves militares reciben alertas o avisos de voz como advertencia de radar o fijación de radar
    • En EE. UU., supongo que la FAA o la FCC tendrían jurisdicción sobre un dispositivo así
  • Los finlandeses lo lograron otra vez. La profundidad y el alcance de su especialidad son casi difíciles de creer.
    Planearon todo y lo fabricaron en China, y aparentemente la mitad de la placa realmente funcionó. Se siente parecido a cuando haces una app de backend + frontend en una startup durante un mes y dices “por favor, solo funciona”

    • Eso es bastante normal en el desarrollo de hardware. La gente de software vive demasiado cómoda
  • Sobre la parte del texto que dice que el FPGA de 15 dólares sospechosamente barato tenía también ocultos de forma sospechosa la fecha y el código de lote, una vez le pregunté a una persona de operaciones de GoPro cómo era posible que una imitación china que parecía un producto auténtico de 400 dólares pudiera costar 40 dólares.
    La respuesta fue que, literalmente, consiguen chips en patios de chatarra industrial. Por ejemplo, compran lotes de chips de memoria que no pasaron las pruebas, así que podrían funcionar solo dentro de cierto rango de temperatura.
    También me dijo que muchas veces ajustan especificaciones eligiendo otros componentes para que duren más o menos 6 meses en lugar de un promedio de 6 años. Porque saben que la mayoría de estos productos “gadget” se usan un poco el fin de semana y luego terminan guardados en un armario.
    Para un proyecto de I+D como este puede estar bien, pero al hacer un producto comercial hay que tener cuidado. También hay un ángulo político, y quizá algo de paranoia, pero incluso están saliendo leyes para impedir el uso de componentes de silicio chinos en productos destinados a ciertos mercados.

    • También pasa muchas veces que las empresas chinas de electrónica de consumo simplemente no ponen márgenes tan altos a sus productos.
      Un buen ejemplo es la fuente de alimentación de laboratorio micro USB-C AlienTek DP100 de 100 W por 45 dólares: https://www.youtube.com/watch?v=Pd6LG7iP2GQ
      Si algo parecido llevara un logo de Digilent, costaría como 500 dólares.
      Y la GoPro original también tiene una tasa de fallas por encima del promedio, además de problemas de sobrecalentamiento o apagados aleatorios al grabar en 4K.
  • Realmente impresionante.
    Los artículos anteriores https://hforsten.com/radar-phase-measurements.html y https://hforsten.com/6-ghz-frequency-modulated-radar.html me ayudaron mucho en mi trabajo con un sistema de sonar.
    Este artículo también explica un tema complejo de forma excelente. Un ejemplo de trabajo relacionado está en https://twitter.com/alextoussss/status/1756371553460121766

  • Un trabajo hermoso. Henrik lleva mucho tiempo haciendo proyectos de radar y adquisición de datos RF con un nivel que rara vez se ve en documentación pública, y la calidad de la documentación también es altísima.

  • Un trabajo increíble. Es raro ver este nivel de profundidad técnica en todo el stack: RF, hardware, firmware y software.
    Mientras más lees, mejor se pone.

  • Me pregunto por qué pusieron los planos de tierra en las capas 2 y 6 en vez de la 1 y la 6.
    Desde mi falta de experiencia en diseño de PCB de alta frecuencia, yo habría pensado en usar tierra para hacer blindaje y dejar el plano de alimentación en la capa 3 o 4. Seguro hay una buena razón, pero no la veo claramente.

    • En PCB de alta velocidad normalmente no se usan la capa superior ni la inferior como planos de tierra. Porque esas capas tienen componentes.
      Hay que recortar el plano de tierra alrededor de todos los chips, y las señales de alta velocidad realmente necesitan un plano de tierra continuo. En especial los RF IC necesitan un acceso corto a tierra.
      Si quieres minimizar la distancia entre el IC y el plano de tierra, la capa 2 es la mejor opción.
    • Es común rutear señales de alta velocidad por las capas superior e inferior para evitar vías que generen desajustes de impedancia. Incluso con backdrill, el costo es alto.
      Para mantener una impedancia característica determinada, necesitas un plano (GND) a una distancia fija de una pista de cierto ancho. Si no hay un plano por encima o por debajo de la señal, no puedes obtener el valor de impedancia deseado.
      También puedes agregar relleno adicional en la capa superior e inferior, pero solo afecta un poco la impedancia.
    • No estoy seguro de que la explicación del artículo sea correcta.
      En la imagen parece que las señales están en las capas 1 (rojo), 3 (naranja) y 6 (azul), mientras que tierra está en las capas 2 (verde) y 5 (rosa), y alimentación parece estar en la 4 (turquesa).
      Si sigues algunas vías, se ve claro que las capas 2 y 5 sí están conectadas.
    • No soy diseñador, pero me parece que la idea es reducir la carga capacitiva entre las señales de alta frecuencia con trazado serpenteante en la parte superior y el relleno de abajo, además de facilitar el modelado y el montaje del IC sin relleno.
      También se nota que no hay relleno alrededor. No estoy seguro del orden en el dibujo, pero primero me pareció 123/654; luego pensé que el texto estaba mal y que era 123/456 con GND en las capas 2 y 4.
      Parece que las señales digitales internas de baja velocidad están metidas entre planos de tierra/alimentación, o al corregirlo, entre tierra/tierra, lo que puede ser una buena decisión, porque cuando se las deja separadas en otras PCB suelen ser la mayor fuente de ruido.
      Los planos de alimentación y tierra deben estar muy juntos. A estas frecuencias, los capacitores de bypass casi no cumplen su función.
  • Ya que salió el tema del radar, ahora un radar decente cuesta solo 34 centavos: https://www.aliexpress.com/item/1005006240906322.html
    Ese chip en realidad ni siquiera fue diseñado para este uso; es un reciclaje de un chip de sensor PIR.
    El núcleo del radar es solo un único transistor de varios GHz, en el centro de la mitad izquierda del PCB, y un circuito de realimentación muy ingenioso hecho con patrones de cobre que alguien probablemente diseñó y refinó durante años.

 
illuza 2024-04-06

Una ingeniería demencial más allá de toda imaginación...

Es demasiado parecido al tipo de ingeniero que yo apenas imaginaba vagamente.