一个免费的扫频频谱分析软件,适用于 Pluto 风格的 AD936x SDR,提供仪器风格的前面板,同时支持 HackRF One。

截图

sweepsa

工作原理

AD936x 自带 快速锁定(fastlock) 功能:可以保存频率合成器配置,并在不完整重新调谐本振的情况下几乎瞬间调用。芯片只有 8 个配置槽位,因此 SweepSA 在这些槽位上使用 滑动窗口:在当前频段驻留期间,把后面几个频段的配置提前加载到空闲槽位,从而可以扫描任意宽度的频段。

跳频、采集、FFT 和检波都在开发板自带的 ARM 上完成(sweepd),只把处理后的频谱发送到桌面端(sweepui)。这样每次跳频都不需要经过 USB 或网络往返,而这正是主机控制扫频在这类开发板上很慢的原因。

扫频速度

在 AntSDR E310 和 LibreSDR 上实测:

扫宽扫频时间
70 MHz – 6 GHz约 500–800 ms
数百 MHz约 10–60 ms

作为对比,HackRF One 在 SweepSA 中扫完全频段约需 730 ms,两者在全频段上处于同一水平。在 AD936x 开发板上,fastlock 带来的是每段 40–56 MHz 带宽、无缝隙的快速扫频。

功能

  • 4 条迹线:清除/写入、最大保持、最小保持、平均
  • 8 个标记:普通与差值标记、峰值搜索、下一峰值、标记到中心频率/参考电平、噪声标记
  • 检波器:峰值、负峰值、采样、RMS
  • RBW 由实际 FFT 点数和窗函数推导,并显示实际值
  • 瀑布图
  • 零扫宽,支持自由运行和视频触发
  • 导出:迹线 CSV、截图 PNG、仪器状态 JSON
  • 内置模拟信号源,无需无线电设备即可试用

如实标明局限

SweepSA 不是经过校准的测量仪器,也不会假装是:

  • 电平单位为 dBFS,加载幅度校正文件之前,UNCAL(未校准)标记会一直亮着
  • 镜像检查:反转本振偏移后重新扫频,标出会移动的响应
  • 分段边界叠加显示,方便识别拼接伪影
  • 截获概率提示:显示重访间隔,以及快速扫频可能漏掉哪些短信号

支持的硬件与平台

项目说明
AD936x 开发板运行 Pluto 风格固件、带 Zynq ARM(已测试:AntSDR E310、LibreSDR)
HackRF One通过 USB,使用其固件扫频模式
桌面端Windows x86_64、Linux x86_64、macOS arm64

许可证

可免费使用,并可重新分发未经修改的版本。目前闭源,我计划之后公开源代码。第三方库遵循各自的许可证,每个发布版本都附有 sweepd 的 LGPL 重新链接工具包。

获取

下载链接

商务联系:[email protected]