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

工作原理
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 重新链接工具包。