Files

3.8 KiB
Raw Permalink Blame History

SDR 工具特有坑与边界

硬件坑(RTL-SDR / HackRF)

  • 带宽上限不是标称值:RTL-SDR 标称最高 3.2MHz,实际 2.4MHz 以上 USB 传输不稳定(掉采样/乱码)——常规采集用 ≤2.4M,宽带需求换 HackRF
  • 镜像频率(镜像混叠):直接采样架构下,中心频率 ± 采样率/2 之外的能量会折叠到带内——强信号源附近出现「幽灵信号」时先怀疑镜像,用滤波器/换频率验证,别当成真实信号分析
  • ppm 频率误差:RTL-SDR 晶振偏差(典型几十 ppm),频率越高偏移越大——rtl_test -p 测稳定值,采集加 -e <ppm>;窄带信号(遥控器类)对频率偏移最敏感
  • HackRF 半双工:HackRF One 同一时刻只能收或发(半双工)——「一边录一边回放」做不到,先录后放;全双工需要更高级硬件
  • 增益不当:-g 过高削波(IQ 值顶到 255 饱和,解调全错)、过低淹没噪声——看 rtl_sdr 输出统计或瀑布图调节;自动增益 -g 0 是稳定起点
  • 采样率不匹配(重放):回放参数(采样率/增益)与采集时不一致,目标收不到或解调错——重放前核对采集命令参数,最好用同一设备同一参数

信号分析坑

  • 调制误判:FSK 与 PSK 频谱相似(都像平坦带)——看时域(inspectrum)区分:FSK 有明确符号跳变、PSK 相位突变;先听/看瀑布再定解调方案
  • 编码反转/位序:位流全反(NRZ-I 类)或字节序反——URH 里试反相与编码组合;转字节前确认 MSB/LSB
  • 载波偏移:信号不在采集中心频率正中(偏出滤波器通带)解调质量差——采集前用 Gqrx 精调中心频率,或在解调链加频偏校正(GNU Radio freq_xlating_fir_filter 思路)
  • 帧截断:触发时机晚/带宽不够导致帧不全——延长采集窗口、按同步字触发(GNU Radio 触发块)、多采集几段取完整帧
  • URH 对复杂调制支持弱:DSSS/OFDM/跳频解不出稳定位流——这类信号用 GNU Radio 搭完整链(解扩/均衡),URH 只做位流后处理
  • 干扰/谐波:相邻频段强发射源(WiFi、FM 广播)谐波/互调落入目标频段——换频点或加带通滤波器(硬件)排除

工具坑(按工具)

  • gqrx 包名(Debian):包名是 gqrx-sdr 不是 gqrx(apt install gqrx 找不到包);Arch/Fedora 才是 gqrx
  • rtl_433 包名平台差异:Debian rtl-433、Fedora rtl-433、macOS rtl_433(下划线)、Arch rtl_433——跨平台脚本里注意包名不统一
  • URH 版本节奏:pip install urh 装的是 PyPI 最新版,更新节奏慢于主仓库——新硬件/新调制支持查 URH 仓库 release;GUI 与命令行接口以安装版本帮助为准
  • inspectrum 只读分析:inspectrum 不能解调/导出位流——它是可视化确认工具,位流工作仍走 URH/GNU Radio
  • rtl_power CSV 解析:输出按 date,time,Hz_start,Hz_step,samples,power1,power2,... 排列——写脚本解析时按行尾功率列处理,别错位

授权红线(工具无关)

  • 采集接收侧一般无限制(法律上依地区规定);发射/重放/干扰属于主动交互——仅限授权目标与频段,先确认当地无线电法规
  • 重放验证做前先记录目标行为基线(授权范围内),结果只用于分析结论,不扩散
  • 滚动码/加密设备重放无效属正常(算法层面问题)——转 re-crypto-id / re-crypto-decrypt 分析算法,别反复盲放

使用注意

  • 全部在沙箱/授权环境内执行(re-analyze/platform-tips 最高原则);发射类操作默认沙箱物理隔离
  • 采集参数(频率/采样率/增益/时间)完整记录;IQ 文件保留原始副本(重放/复分析复用)