返回首页

STM32H723 SDR 接收器:16 位 ADC 上的 I/Q

STM32H723ZGT6 上的 HF SDR 接收器基准实现 48 kHz I/Q 信号处理,使用 16 位 ADC。基于 Tayloe 混频器和 Sallen-Key LPF 的模拟路径。带 FFT、解调和 DAC 的独立模式;用于 PC 的 USB UAC1。

STM32H723 上的 HF SDR:从 ADC 到 DAC
Advertisement 728x90

基于STM32H723与16位ADC构建HF SDR接收机

STM32H723ZGT6支持通过Tayloe混频器实现覆盖1–30 MHz频段的HF SDR接收机。音频输出可通过内部12位DAC或通过UAC1向PC传输I/Q流提供。四层PCB尺寸为100×60毫米,未使用的MCU引脚引出至PLS连接器以便扩展。

输入电路采用Tayloe检波器。测试了带变压器和平衡配置的变体——未观察到性能差异。尽管在160米和10米波段之间存在1–2 dB的灵敏度变化,仍选择了简单设计。

模拟路径与滤波

混频器输出的信号通过仪表运算放大器放大以抑制共模噪声。下一级是采用Sallen-Key拓扑的四阶有源低通滤波器,截止频率为48 kHz或24 kHz。

Google AdInline article slot

LPF频率响应在频带边缘显示出足够的衰减,但观察到±25–30 kHz处强信号的混叠。对于接近零频率的处理,这是可接受的。

信号馈送至STM32H723ZGT6的16位ADC输入。混频器由Si5351时钟驱动,频率倍增因子为4。

软件实现与界面

代码在STM32CubeIDE中使用HAL、TinyUSB(用于复合USB设备:COM + 音频)和CMSIS-DSP(用于信号处理)开发。参数存储在外部闪存中。

Google AdInline article slot

控制通过带按钮的编码器和三个功能按钮实现。显示屏显示频率、AGC/NOTCH状态、S表、±24 kHz瀑布频谱以及解调带宽边界。

在PC的USB模式下,频谱被隐藏,并显示状态。ADC在双独立通道模式(ADC1/ADC2)下工作,由Timer 8以48 kHz触发。双模式导致信号镜像,因此未使用。

  • 数字化后校正:

- 直流偏移去除。

Google AdInline article slot

- 幅度和相位校准(每波段系数)。

I/Q数据进入循环缓冲区:至PC——UAC1;独立模式——FFT用于瀑布、SSB/CW解调、AGC/NOTCH、DAC。

DAC(12位)由同一Timer 8时钟驱动,通过OPAMP1 + RC低通滤波器缓冲。这对于业余HF无线电和广播已足够。测试了外部PCM5102(16–24位)以提升质量。

数字信号处理

DSP通过C#应用程序探索,用于分析来自ADC或WAV文件的I/Q,以及测试I/Q信号发生器。

DSP代码片段可在作者网站上获取。未来计划包括优化和发射机部分。

关键点:

  • STM32H723中的16位ADC以48 kHz实时处理I/Q。
  • Tayloe混频器 + Si5351最小化硬件成本。
  • HAL + CMSIS-DSP加速开发且无性能损失。
  • 独立模式具备板载FFT、解调和DAC。
  • USB UAC1用于向PC传输I/Q,无需额外驱动程序。

— Editorial Team

Advertisement 728x90

继续阅读