8.1 无线电安全与监测 本节摘要:频谱监测是 SDR 最基础也最被低估的应用:系统性扫描一个频段、记录占用情况、辨识信号类型,既能建立"本地频谱地图",也是无线电安全审计的第一步。本节给出从扫描脚本到占用报告的完整流程,并划定监测的法律与伦理边界。 监测的目标与节奏 把 RTL-SDR 指向天空,频谱里至少有这些"住户":调频广播(88 到 108 MHz,全天满功率)、航空话音(118 到 137 MHz,间歇突发)、公共对讲与集群(400 到 470 MHz,业务时段密集)、ISM 免许可段(433 MHz 遥控与传感器,偶发)、以及 ADS-B(1090 MHz,随航班密度起伏)。
本节摘要:频谱监测是 SDR 最基础也最被低估的应用:系统性扫描一个频段、记录占用情况、辨识信号类型,既能建立"本地频谱地图",也是无线电安全审计的第一步。本节给出从扫描脚本到占用报告的完整流程,并划定监测的法律与伦理边界。
把 RTL-SDR 指向天空,频谱里至少有这些"住户":调频广播(88 到 108 MHz,全天满功率)、航空话音(118 到 137 MHz,间歇突发)、公共对讲与集群(400 到 470 MHz,业务时段密集)、ISM 免许可段(433 MHz 遥控与传感器,偶发)、以及 ADS-B(1090 MHz,随航班密度起伏)。系统性监测的目标是把"知道有信号"升级为"知道谁、何时、多宽、什么体制"——这份本地频谱地图是后续一切实验的底图。
监测的节奏设计比采集本身更讲究。两个参数决定数据价值:驻留时间(每个频率停留多久)与回访周期(多久扫一轮)。间歇信号(对讲机一次通联十几秒)需要长驻留或宽视野;周期信号(寻呼台固定节奏)需要跨周期回访。宽视野方案优先:2.048 MSPS 一次覆盖 2 MHz,用第 6.2 节的信道化思路在软件里切分,比逐频点扫描高效一个量级。
下面是一个可直接运行的频段扫描器:对给定中心频率采集数秒,统计超过阈值的频点占比,输出占用摘要。
import numpy as np from scipy.signal import firwin, lfilter def measure_occupancy(fname, fs=2.048e6, nfft=2048, thresh_db=15): raw = np.fromfile(fname, dtype=np.uint8).astype(np.float32) - 127.5 iq = (raw[0::2] + 1j * raw[1::2]) / 128.0 frames = len(iq) // nfft win = np.hanning(nfft) noise_floor = np.inf occ = None for k in range(frames): seg = iq[k*nfft:(k+1)*nfft] * win spec = 10*np.log10(np.abs(np.fft.fftshift(np.fft.fft(seg)))**2 + 1e-12) # 噪声底取各频点的中位数,抗强信号污染 floor = np.median(spec) noise_floor = min(noise_floor, floor) active = spec > floor + thresh_db # 高于噪声底 15 dB 视为占用 occ = active if occ is None else (occ | active) return occ.mean(), noise_floor # 占用比例与噪声底 ratio, floor = measure_occupancy("scan_435m.iq") print(f"435 MHz 段占用率约 {ratio*100:.1f}%,噪声底 {floor:.1f} dB")
阈值 15 dB 是经验起点:低了把噪声起伏当信号(虚警高),高了漏掉弱信号。判断方法是把阈值上下调 5 dB 看占用率变化——稳定不变说明取值合理,剧烈变化说明信号强度贴着阈值,需要延长驻留。噪声底用中位数而非均值,是为了抗强信号拉偏——这个细节在 8bit 设备上尤其重要(强信号的泄漏裙边会污染整段统计)。

占用统计回答"有没有",判读回答"是谁"。判读三步法沿用第 3 章的指纹库:看宽度(25 kHz 量级多为窄带调频话音、180 kHz 是宽带广播、200 kHz 以上平顶可能是数字宽带)、看时间结构(瀑布图上连续载波是广播、短突发是通联或遥控、规律脉冲可能是信标)、看频率稳定性(围绕中心微移的是话音调制、固定不动的是数据或导频)。三步之后,本地频谱里的"住户"基本都能挂牌到位。
监测能力引出安全话题时,法律与伦理边界必须先讲清楚。接收侧的通用规则:公开广播(广播电台、ADS-B、气象卫星)接收与利用完全自由;非公开通信(他人话音、数据)接收能力虽在,多数国家的法规禁止泄露与利用其内容——"能收"不等于"可传播"。发射侧的红线更硬:无执照发射在任何非 ISM 免许可频段都属违法,SDR 的发射能力(PlutoSDR、HackRF)必须在校室屏蔽环境或合法频段内使用。无线电安全研究(协议漏洞分析)应遵循负责任披露:发现问题先报告设备厂商或频管部门,公开前给修复留窗口。
实操建议是把这条边界写进你的实验笔记首页,与设备清单放在一起。监测类实验的可发表产出(频谱占用研究、信号普查)本身有学术价值,从合规的接收出发,路一直都在。
不可以。多数国家的无线电法规明确禁止泄露利用非公开通信内容——收听能力是设备的,传播权是法规的。公开广播(电台、ADS-B、气象卫星)与公开遥测不受此限。判定办法:这个信号的设计意图是否包含"任何人都可接收"——广播与遥测是,私人通联不是。
两个来源:阈值边缘的信号在噪声起伏中反复跨线,以及间歇信号在不同采集窗口里的出现概率不同。前者靠延长驻留平均,后者靠多轮回访——占用本身就是时间函数,短窗口的方差是真实信息而非测量误差。
学术与工程用途都很多:频谱占用研究(为频谱政策提供实证)、新台选址前的环境评估、物联网协议的信道选择依据、以及无线电干扰投诉的证据采集。多轮长期监测数据(同一频段按周对比)的价值远高于单次快照——占用率随时段、星期、季节的规律本身就是研究结论。
没有统一阈值,因为占用是频段与场景的函数:广播频段满载是常态,ISM 段偶发是常态。有意义的做法是纵向对比——同一频段在不同时段、不同日期的占用曲线,偏差最大的时段就是值得深入观测的窗口。监测的价值在趋势与异常,不在绝对数字。
监测给了你"看见全景"的能力,下一节看这些能力如何反向支撑通信系统的设计开发。