☰
SDRPlusPlus 实操笔记:开源 SDR 接收软件从安装到三个接收实验
2026/10/18 1:47:19 网站建设 项目流程

SDRPlusPlus 实操笔记:开源 SDR 接收软件从安装到三个接收实验

【免费下载链接】SDRPlusPlusCross-Platform SDR Software项目地址: https://gitcode.com/GitHub_Trending/sd/SDRPlusPlus

SDRPlusPlus(原名 SDR++)是一款运行在 Windows、Linux、macOS 和 BSD 上的开源 SDR 接收软件,面向手里有 SDR 硬件、想在普通电脑上完成频谱观测与信号解调的用户。它的功能面比较收敛,算力主要花在信号链路上:实时 FFT 频谱、全刷新瀑布图、多 VFO 解调、录音与网络串流,DSP 层用 SIMD 指令集加速。适合业余无线电爱好者、电子方向的学习者,以及需要做频谱排查的工程师。

边界说明:它擅长什么,不擅长什么

先划定范围,避免对工具产生错误预期。

  • 擅长:宽频带实时观测、多 VFO 同时监控多个频率、常规制式解调(NFM/AM/USB/LSB/WFM/DSB/CW/RAW 等)、录音、通过rtl_tcp_source/spyserver_source拉取远程设备数据流。
  • 不适合:它本质是接收机软件,不提供发射链路;部分数字协议(ADS-B 报文解析、DAB、寻呼机等)没有开箱即用的完整解码链,仓库中对应的解码模块多处于 Unfinished 状态,需要外接工具或自行完成;对发射功能有需求时应使用其他软件,并注意当地法规。

各操作系统的安装方式对照

所有发行版都提供预编译包,只有少数发行版需要自行编译。

操作系统安装方式说明
Windows解压发行包直接运行右键sdrpp.exe选择"发送到桌面(创建快捷方式)"即可
Debian / Ubuntu 系apt 安装 deb 包不要用包管理器里的sdrpp包,官方声明它与各模块不兼容;硬件驱动需按厂商指南另外安装
Arch 系源码编译AUR 的sdrpp-git已不是官方渠道,不建议使用
macOS下载 app bundle拖入 Applications 后启动
BSD源码编译与 Linux 相同的 CMake 流程

Debian/Ubuntu 上安装命令如下:

sudo apt install path/to/the/sdrpp_debian_amd64.deb

安装后首次启动会生成config.json,其中记录了模块实例列表、资源目录、主题等;默认中心频率为 100 MHz,后续所有设置都写回这个文件。

从选源到出声音:一次完整的接收流程

以 RTL-SDR + FM 广播为例,整条主线分四步。

  1. 选信号源。在左侧 Source 菜单选择设备模块实例(如rtl_sdr_source),刷新设备列表后选中目标设备。参数参考:采样率: 2.4 MSPS(贴近硬件上限,兼顾频谱宽度与 CPU 占用);LNA 增益: 20–30 dB(先用 AGC 自动,出现削顶再手动下调)。
  2. 设频率。顶部频率框直接输入中心频率,支持数字(Hz)与人类可读两种写法,例如100 MHz与100000000等效。改动的频率会实时写入配置文件。
  3. 看频谱。窗口上半部是 FFT 幅度谱,下半部是瀑布图,右侧竖条是缩放与最大值/最小值调节。拖动频谱上的 VFO 标记或点击瀑布图,即可把选中的信号对齐到某个 VFO 上。
  4. 选解调并出声音。左侧 Radio 区域为每个 VFO 独立选择解调模式(NFM/AM/USB/LSB/WFM/DSB/CW/RAW),再在 Sinks 区域确认音频输出设备(audio_sink),声音从扬声器出来。

下图是官方对界面各部分的标注,左侧是源与解调设置,中间是 FFT 频谱加瀑布图,VFO 即解调光标位置:

按预算和场景选设备

预算场景推荐设备
百元内FM/短波观测、入门RTL-SDR(rtl_sdr_source,采样率 2.4 MSPS,拉杆天线覆盖 VHF/UHF)
数百元更好的动态范围与灵敏度、便携Airspy / Airspy HF
数百元10 MHz–6 GHz 宽带、收发实验(发射注意法规)HackRF
中端便携宽带接收PlutoSDR、BladeRF
高预算高动态范围、专业应用SDRplay、USRP、Perseus
无本地硬件串流远程 PC 上的接收机rtl_tcp_source/spyserver_source/sdrpp_server_source

每种设备对应 source_modules/ 下独立的信号源模块,模块名、依赖库与是否默认启用都列在 readme.md 的 Module List 表格中。

三个由浅入深的信号实验

📻 实验一:本地 FM 广播解调

目标:解调本地调频电台,验证整条链路(源 → 频谱 → 解调 → 音频)。

关键参数:频率: 87.5–108 MHz 内任一台电台;采样率: 2.4 MSPS;解调: NFM(立体声电台)或 WFM;Squelch: 默认 -100 dB 即关闭。

观察到的现象:FFT 谱上出现若干窄峰,瀑布图中对应位置是连续竖带;VFO 对准某个峰后扬声器出声音。radio模块内置 RDS 解调(见 decoder_modules/radio/src/rds.cpp),部分电台可同步显示数据。

🛩️ 实验二:1090 MHz 航空 ADS-B 观测

目标:接收 ADS-B 脉冲信号并保存原始数据,报文解析交给外部工具。

关键参数:频率: 1090 MHz;采样率: 2 MSPS 以上(满足 1 Mbps PPM 信号采样要求);解调: RAW 监听脉冲形态;天线: 1090 MHz 方向性天线可显著提升信噪比。

观察到的现象:瀑布图上出现成组、有间隔的脉冲串,不同间隔对应不同飞机。SDRPlusPlus 本身不做 ADS-B 报文解码,建议用 misc_modules/iq_exporter/ 保存 IQ 数据,再用 dump1090 等工具离线解析出飞机位置信息。

🛰️ 实验三:气象卫星过境记录

目标:在 NOAA 卫星过境时记录 137 MHz 频段的基带信号。

关键参数:频率: 跟随卫星下行频率(NOAA 卫星位于 137 MHz 附近各子频点);采样率: 1–2 MSPS;解调: NFM;用 misc_modules/recorder/ 录制 Baseband 而非 Audio,保留完整信息。

观察到的现象:过境前后约十几秒内,瀑布图中信号带因多普勒效应向低频滑动,呈斜线轨迹;信号随卫星高度角变化而增强再减弱。仓库自带 decoder_modules/weather_sat_decoder/(NOAA HRPT 解码器,readme 中标注为 Unfinished),meteor_demodulator模块则为 Working 状态,可用于后续离线处理参考。

进阶:模块化扩展

  • 自定义频段规划:band plan 是 JSON 文件,每个频段含name/type/start/end字段,格式可参考 root/res/bandplans/ 下的内置文件(已覆盖 20 多个国家/地区),放到 bandplans 目录后由 core/src/gui/menus/bandplan.cpp 加载显示。
  • 模块开发:每个模块由 CMake 子工程、SDRPP_MOD_INFO注册块、实例管理和 DSP 链组成,模板见 sdrpp_module.cmake,入门可参考 decoder_modules/radio/ 的目录结构;DSP 组件(FIR 滤波器、AGC、PLL、多速率重采样等)都在 core/src/dsp/。
  • 自动化与外部控制:misc_modules/scanner/ 做频段扫描,misc_modules/scheduler/ 支持定时执行调频与录音动作,misc_modules/rigctl_server/ 以 rigctld 兼容协议对外暴露频率控制接口,可接入外部脚本。

排障速查

现象常见原因处理办法
频谱平坦、无信号驱动未装、信号源模块未启用、天线接触不良按厂商指南装驱动,在模块管理器启用对应源模块,重插天线与 USB
列表里缺少某个模块模块为新增版本且配置中未启用其实例在config.json的 modules 段补充路径,或删除config.json让其重建(会丢失界面类设置)
启动报 "hash collision"多个 SoapySDR 插件冲突卸载 soapy 模块合集包,只保留实际需要的 soapy 模块
停止 RTL-SDR 时崩溃libusb 1.4 引入的 bug将 libusb 降级到 1.3
启动 HackRF 时崩溃libhackrf 与 soapy_source 同时启用在模块管理器中禁用soapy_source后重启
瀑布图卡顿、刷新慢采样率过高、CPU 余量不足下调采样率,减少后台进程,换轻量配色方案
录音/配置写不进去目录无写权限、磁盘空间不足检查目标目录权限与剩余空间

资源索引

  • readme.md:功能清单、各平台安装、完整模块列表与官方排障记录
  • core/src/dsp/:DSP 库源码(解调器、滤波器、环路、多速率处理)
  • source_modules/:全部信号源模块
  • decoder_modules/:解码器模块(radio、气象、流星余迹等)
  • root/res/bandplans/:内置频段规划文件
  • 社区渠道:官方 Discord 服务器、Reddit 的 r/sdrpp 版块;问题反馈走仓库 issue 跟踪

SDRPlusPlus 是一个用 USB 小棒加普通电脑就能跑起来的模块化接收平台,上面三个实验覆盖了从音频解调到基带记录的基本功。

下一步建议:

  1. 先用 RTL-SDR 完成 FM 实验,把四步流程练熟,再碰 137 MHz 和 1090 MHz。
  2. 用 recorder 保存一段 1090 MHz 基带,接外部解码器验证整条数据链。
  3. 查一次当地 NOAA 卫星过境时间表,尝试完整记录一次过境信号。

【免费下载链接】SDRPlusPlusCross-Platform SDR Software项目地址: https://gitcode.com/GitHub_Trending/sd/SDRPlusPlus

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询