Construyendo un receptor SDR de HF con STM32H723 y ADC de 16 bits
El STM32H723ZGT6 permite implementar un receptor SDR de HF que cubre el rango de 1–30 MHz usando un mezclador Tayloe. La salida de audio se proporciona mediante el DAC interno de 12 bits o un flujo I/Q a una PC a través de UAC1. La PCB de cuatro capas mide 100×60 mm y cuenta con pines del MCU sin usar conectados a conectores PLS para expansión.
El circuito de entrada utiliza un detector Tayloe. Se probaron variantes con transformadores y configuraciones balanceadas—no se observaron diferencias de rendimiento. Se eligió un diseño simple, a pesar de una variación de sensibilidad de 1–2 dB entre las bandas de 160 m y 10 m.
Ruta analógica y filtrado
Las señales de la salida del mezclador se amplifican mediante amplificadores operacionales instrumentales para suprimir el ruido en modo común. La siguiente etapa es un filtro activo paso bajo de 4º orden usando una topología Sallen-Key con frecuencias de corte de 48 kHz o 24 kHz.
La respuesta en frecuencia del LPF muestra atenuación suficiente en los bordes de banda, pero se observa aliasing de señales fuertes en ±25–30 kHz. Para procesamiento cerca de frecuencia cero, esto es aceptable.
Las señales se alimentan a las entradas del ADC de 16 bits del STM32H723ZGT6. El mezclador es sincronizado por un Si5351 con un factor de multiplicación de frecuencia de 4.
Implementación de software e interfaz
El código se desarrolla en STM32CubeIDE usando HAL, TinyUSB para un dispositivo USB compuesto (COM + audio) y CMSIS-DSP para procesamiento de señal. Los parámetros se almacenan en memoria flash externa.
El control es mediante un codificador con botón y tres botones de función. La pantalla muestra frecuencia, estado AGC/NOTCH, medidor-S, un espectro waterfall de ±24 kHz y los límites de ancho de banda demodulado.
En modo USB con una PC, el espectro está oculto y se muestra el estado. Los ADCs operan en modo de canal dual independiente (ADC1/ADC2) activados por Timer 8 a 48 kHz. El modo dual causó espejado de señal y no se usó.
- Correcciones post-digitalización:
- Eliminación de offset DC.
- Calibración de amplitud y fase (coeficientes por banda).
Los datos I/Q van a un buffer circular: a PC—UAC1; modo autónomo—FFT para waterfall, demodulación SSB/CW, AGC/NOTCH, DAC.
El DAC (12 bits) es sincronizado por el mismo Timer 8, amortiguado por OPAMP1 + filtro paso bajo RC. Esto es suficiente para radioafición HF y radiodifusión. Se probó un PCM5102 externo (16–24 bits) para mejorar la calidad.
Procesamiento digital de señales
El DSP se exploró mediante una aplicación en C# para analizar I/Q desde el ADC o archivos WAV, más un generador de señal I/Q de prueba.
Fragmentos de código DSP están disponibles en el sitio web del autor. Los planes futuros incluyen optimización y una sección transmisora.
Puntos clave:
- El ADC de 16 bits en el STM32H723 maneja I/Q en tiempo real a 48 kHz.
- Mezclador Tayloe + Si5351 minimiza costos de hardware.
- HAL + CMSIS-DSP aceleran el desarrollo sin pérdida de rendimiento.
- Modo autónomo con FFT integrado, demodulación y DAC.
- USB UAC1 para transferencia I/Q a una PC sin controladores adicionales.
— Editorial Team
Aún no hay comentarios.