
翻开这一期《无线电》的目录封面专题锁定在“无线电干扰源的快速自动定位与清除”上。乍一看像是专业监测机构的技术活但2026年高教社杯数学建模竞赛B题把这个题目推到所有参赛学生面前之后整个SDR软件无线电社区都在反复讨论同一个问题给你几个分散布置的监测站再给你一堆信号测量数据到底怎么把干扰源的位置精准算出来这篇文章不打算做简单的目录复述。我会把这期封面专题背后的技术链路完整拆开来讲从干扰信号识别、测向与时差定位原理到SDR工具链选型、建模竞赛的解题思路再到最后如何落成一个自动定位闭环系统。无论你是准备参加数学建模竞赛的学生、玩SDR的业余无线电爱好者还是做电磁频谱管理的工程师都能从这里拿走一套可以实际上手的方法而不是停留在“好像懂了”的层面。1. 本期封面专题背后的真实需求干扰源定位为什么在2026年突然热起来1.1 从“看不见的电磁污染”到必须清除的目标无线电干扰源在现实中的影响远比普通人想象得严重。一次航空频率受扰可能导致航班复飞一处铁路调度频段被占可能影响行车指令传输一场大型直播赛事如果被同频信号压制画面和音频都会出现不可控的中断。这些问题本质上属于电磁频谱管理中的“黑色污染”——你摸不着它但它就悬在某个频段里像水管里混入了泥沙不清理掉整个系统都没法正常工作。过去处理这类问题主要靠人工带着频谱仪和定向天线到现场。监测人员需要对目标频段反复扫描判断干扰信号的大致方向然后开车沿着方向逐步逼近。这个方法在开阔地带、干扰信号连续出现的情况下确实有效但一旦遇到城市高楼密集区、信号时断时续、或者干扰源本身在移动人工排查就会变得非常吃力短则几小时长则好几天。所以“快速自动定位”才是关键。这个需求从专业监测领域逐步渗透到教学和开源硬件社区带来了两个明显变化一是定位算法从依赖昂贵专用设备变成可以用通用SDR设备实现二是从一个纯工程问题变成了一个适合教学和竞赛的算法设计问题。1.2 一个竞赛题带火一个技术方向2026年高教社杯B题把“无线电干扰源的快速自动定位与清除”作为题目这个事情本身很有信号意义。它说明这个方向已经足够成熟、足够有代表性可以拆成一道适合本科生的建模问题来考核。从赛题通常的设定来看大致会给出若干个已知坐标的监测站每个监测站测量到干扰信号的相关参数比如到达角度、到达时间差或者信号强度要求选手建立数学模型估计干扰源的位置并在一定误差范围内给出坐标。后面的小问通常还会扩散到多干扰源分辨、移动干扰源轨迹跟踪、甚至监测站布站方案的优化。这种题目非常典型地考察了“几何建模数值计算误差分析”的综合能力。它不像纯机器学习题那样需要大量训练数据反而更看重对物理过程的理解和数学模型的设计。如果平时接触过测向定位或者学过信号处理看到题目会觉得非常亲切如果完全没接触过那就需要在解题逻辑和工具使用上多下功夫。1.3 技术难度分层不同水平的人分别能做到哪一步把干扰源定位这项技术按掌握程度排一个台阶大致可以分三层入门级会用手持频谱仪或SDR设备找到信号出现的频段配合定向天线判断大致方向人工沿路逼近寻找。这层不需要太多数学但需要大量现场经验。进阶级会用两个以上测向点的角度数据做三角交叉定位或者用三站以上的TDOA数据解算位置能写脚本处理数据。这层需要掌握基础的几何运算和最小二乘思想。专家级做多站数据融合、时序滤波、干扰源轨迹跟踪、布站优化同时能处理多径、互模糊和信号衰落等实际问题。这篇文章主要覆盖第二层和第三层的内容因为这也是竞赛和实际工程的主要分水岭。能把这几样吃透不管是做比赛还是做项目都已经具备独立解决定位问题的能力了。2. 核心链路拆解从频谱数据到经纬度坐标的四级处理流程把“定位干扰源”这件事拆开看本质上是一个从原始观测数据到目标坐标的信息加工过程。整个过程可以分成四级信号检测、参数提取、位置解算、精度评估。每一级都有关键问题要解决缺了任何一级后面的结果都不可靠。2.1 第一级干扰信号检测与盲识别做定位之前首先要确定两件事干扰到底在哪个频段以及它是什么类型的信号。这个环节叫信号检测与盲识别。最基础的方法是能量检测。对一段频谱做FFT变换观察功率谱上哪个频点或者哪个频段出现明显高于底噪的峰值。这个方法实现简单但有个致命弱点——阈值不好定。底噪本身就在波动当干扰信号较强时问题不大一旦干扰信号弱或者被噪声淹没固定阈值就很容易漏检或误检。更稳妥的办法是利用信号的循环平稳特性。大多数无线电信号都有特定的调制结构比如符号速率带来的循环频率而纯噪声没有这种特征。通过计算信号的循环谱可以在底噪很高的情况下依然把弱信号识别出来。这个方法虽然计算量比能量检测大但在定位任务中非常实用因为很多干扰源并不会以一个超强信号的形式出现而是“低功率地赖在你关心的频段里”。识别信号类型同样重要不同类型的干扰对应的定位策略完全不同。常见的干扰类型可以参考下面这张表干扰类型频谱特征典型来源检测难点单频连续波非常窄的单根谱线非法发射设备、设备自激容易被误认为载波宽带噪声整段底噪被抬高大功率设备泄漏、故意压制阈值分割困难扫频干扰频率周期性滑动老旧雷达或部分电子设备瞬时带宽窄需要快速扫描脉冲干扰时域短时尖峰、频谱宽带电机火花、开关电源占空比低容易漏检信号识别这一步做到位了后面的参数提取才有意义。如果连目标信号到底在哪都没搞清楚后面算出再漂亮的坐标也是对着一个错误对象做的。2.2 第二级单站测量参数提取识别出干扰信号之后接下来就要从接收数据里提取可用于定位的参数。单站能拿到的参数主要有三类。到达角度AOA是传统测向最常用的参数。它的物理原理很好理解用定向天线环绕一圈记录不同角度上的接收信号强度信号最强的那个方向就是来波方向这叫比幅法。更精确的还有比相法通过比较阵列天线中不同阵元接收信号的相位差来推算来波角度精度可以到1度以内但硬件复杂度明显上升。到达时间差TDOA是另一种常用参数。它需要多个站点同时接收同一个信号然后计算信号到达不同站点的时间差。只要知道光速和两个站的坐标时间差就可以转换成一个距离差这个距离差意味着信号源位于一条以两个站为焦点的双曲线上。三个站能给出两组独立的距离差对应两条双曲线的交点就是干扰源的估计位置。这套逻辑和GPS定位类似只是GPS是接收机测卫星信号的时间差这里是监测站测干扰信号的时间差。第三类参数是接收信号强度RSSI。通过比较信号在不同站点的强度差异来推测信号源位置原理简单但实际精度非常依赖环境模型。城市里的反射和遮挡会让信号强度快速波动所以RSSI通常只能作为辅助参数很少单独用来精确定位。这里要说一个关键点单站测向只能给出一条方向线无法给出距离。要确定“到底在这条线上多远”要么你沿方向线移动换一个测向点再打一条线做交叉要么多站同时测向直接求交叉。所以单站参数提取之后必须进入多站融合或者多点移动测量阶段。2.3 第三级多站数据融合与位置解算到了位置解算环节建模思想就开始占主导了。如果用的是AOA参数问题就变成多条方向线的交点估计。理想情况下两条方向线交于一点就是干扰源坐标实际上由于测量误差三条方向线往往不会交于同一点而是围出一个三角形区域。这时候需要用最小二乘法找一个“离所有方向线综合距离最短”的点作为估计值。TDOA参数的解算稍微复杂一点。对第i个站和第1个参考站测得的距离差为(r_{i1} r_i - r_1)而(r_i \sqrt{(x - x_i)^2 (y - y_i)^2})于是得到一组双曲线方程。方程看起来简洁但它是非线性的不能直接线性求解。常见的处理方式有两种一是把非线性方程在某一点做泰勒展开然后迭代求解本质是高斯-牛顿法二是通过引入中间变量的方法把方程转换成伪线性形式再用加权最小二乘一次性解出来后续再做一次精化迭代。工程实践中我更推荐“先粗后精”的策略先用网格搜索缩小范围再利用最小二乘或者高斯牛顿在粗解附近做精化。网格搜索的做法是把监测区域划分成一个个格点对每个格点计算它对应的理论测量值再和实际测量值比较找到误差最小的格点作为初始位置。这个方法计算量比较大但好处是几乎不会陷入局部最优解用来提供初始值是极好的。如果干扰源本身在移动纯静态定位就不够了。这时候需要用滤波算法比如卡尔曼滤波或者粒子滤波。把干扰源的坐标和速度作为状态变量把各站的TDOA或AOA作为观测值每来一组新数据就更新一次状态估计可以做到对移动目标持续跟踪。2.4 第四级精度评估与置信区间定位结果算出来之后还必须回答一个问题这个坐标准不准误差有多大最直观的做法是用均方根误差RMSE来衡量定位结果和真实位置之间的偏差。但在真实场景里干扰源的真实位置是未知的这时候没法直接算RMSE只能通过理论下界和几何分布来评估定位质量。克拉美罗下界CRLB给出了在给定测量噪声水平下任何无偏估计器能够达到的最小方差。它的计算需要知道测量误差的分布和定位几何的布局算出来之后可以判断自己的算法还有多少提升空间。另一个在工程中更实用的指标是几何精度因子GDOP。这个概念来自卫星导航讲的是监测站和被定位目标的几何关系对定位误差的放大程度。当监测站和目标近似处于一条直线上时定位误差会被放大好几倍当监测站从不同方向“包住”目标时定位精度就比较高。我对做定位项目的朋友有一个建议拿到一个定位结果先别急着报到下一环一定顺手把GDOP值也算出来。如果某个区域GDOP很大说明就算换更好的算法也救不了应该考虑调整监测站位置或者增加站点而不是继续在数据处理上钻牛角尖。3. SDR软件无线电社区的主流选型硬件、软件与数据格式的入场券说完算法链路接下来聊一聊真正动手的时候要用到的东西。2026年SDR社区讨论这个题目热度很高但大家遇到的第一道门槛往往不是算法而是整套工具链怎么选、怎么搭。3.1 硬件平台怎么选SDR硬件选择范围很大从几十块钱的入门设备到几万块钱的专业设备都有。我的建议是根据需求和预算来选不要盲目追求最贵的。设备型号频率范围最大带宽参考价格区间适合场景RTL-SDR24MHz-1.7GHz2.4MHz几十到一百元入门学习、频谱观测AirSpy Mini24MHz-1.7GHz6MHz千元级频谱监测效果较好HackRF One1MHz-6GHz20MHz一千多元收发一体、宽频段扫描USRP B20070MHz-6GHz56MHz大几千到上万元高精度测向与科研场景RTL-SDR虽然便宜但带宽窄、时钟精度一般做简单的频谱观测没问题做多站TDOA会有点吃力。时间同步是多站定位最敏感的一环如果各站的时钟不一致到达时间差的测量误差会被直接放大成定位误差。所以认真做TDOA项目至少需要能接入GPS驯钟或者PPS脉冲同步的设备这也是USRP这类设备价格高的原因之一。如果是在校学生做建模竞赛或者课设预算有限的情况下用多个RTL-SDR搭一套“粗同步”的验证系统也完全可行。只要在算法里把时钟偏差作为一个待估计参数处理精度虽然打折但整套技术链路能完整跑通。3.2 软件工具链搭建软件层面社区里常见的方案有几种GNU Radio可视化流图编程适合快速搭建信号采集和处理链路自带大量信号处理模块但调试复杂逻辑时学习曲线比较陡。SDR#轻量级SDR接收软件扫频界面友好适合快速查看频谱和确认干扰信号是否存在但不适合做自定义算法。MATLAB数学建模和算法验证非常方便自带信号处理和优化工具箱写定位算法效率很高竞赛学生用得很普遍。Python NumPy/SciPy灵活性最高社区资料丰富配合pyqtgraph或者matplotlib可以快速可视化数据后期部署也方便。我个人的偏好是现场观测用SDR#快速扫频数据离线分析用Python如果做教学演示和课程作业则用MATLAB跑模型。这三者配合起来能覆盖大部分场景。3.3 数据格式与处理管线SDR设备输出的核心数据格式是IQ数据也就是把射频信号下变频到基带后用两个正交分量表示信号的幅度和相位。IQ数据本质上是对信号的“完整数字化还原”带宽决定了你能看到多宽的频谱采样率决定了时间分辨率两者相互制约。从IQ数据到定位结果一条典型的数据处理管线是用SDR设备以指定中心频率和采样率采集IQ数据保存成二进制文件或直接流式处理。对IQ数据加窗做FFT得到频谱定位干扰信号所在频点。从原始IQ中提取该频点的幅度和相位信息作为测向或时差测量的输入。多站数据汇总到中央处理节点统一进行时间对齐和参数融合。运行定位算法输出坐标和置信区间。整个过程看起来不复杂但在多站场景下有一个隐藏的大坑数据时间对齐。不同站的电脑系统时间不一致哪怕相差几十毫秒在TDOA计算里也会造成可观的误差。解决办法是给每台接收设备接上GPS模块用PPS脉冲作为采集的时间基准或者退一步用网络时间协议做软同步再在算法中对残余偏差做估计补偿。4. 以高教社杯B题为代表的建模求解思路网格搜索、最小二乘与粒子滤波2026年高教社杯B题出来后很多同学在社区里讨论求解方案。这道题虽然不是所有细节都能提前预知但从历年同类题目的出题风格来看破题和建模的框架是相对稳定的提前把思路捋顺比赛时就能节省大量时间。4.1 赛题破题与问题抽象拿到题目先做“翻译”。所谓“无线电干扰源的快速自动定位与清除”落到数学语言上就是已知若干监测站的坐标和它们对同一干扰信号的观测数据求解干扰源的位置坐标并进一步设计最优清除或压制方案。比较标准的出题结构通常包含三个递进的小问。第一问是单干扰源静态定位给的监测数据量充足且质量较好考察基本建模能力第二问往往会引入困难因素比如部分数据缺失、测向误差偏大或者干扰源在移动考察模型的鲁棒性和动态扩展能力第三问通常是优化类问题比如在若干候选位置中确定新增监测站的最佳选址或者规划监测设备的调度路径。破题的关键是快速判断每个小问对应哪一类数学模型。第一问本质是参数估计问题第二问要么是噪声抑制要么是状态估计第三问是组合优化或非线性规划。只要方向判断准确后面就是计算量和工程实现的比拼了。4.2 三种定位模型对比针对定位主问题每一种方法都有自己特别适合的场景拿到题之后不要只押一种方案。方法数学本质优点缺点典型应用网格搜索穷举离散点误差最小化实现简单、全局收敛计算量随维度爆炸提供初始值、二维粗略定位最小二乘/高斯牛顿非线性优化精度高、收敛快对初值敏感、可能局部收敛精化定位、多站AOA交会粒子滤波贝叶斯状态估计适应非线性非高斯、支持动态跟踪计算量大、粒子退化移动干扰源轨迹追踪网格搜索虽然“土”但它在竞赛中非常实用。比如一个10km×10km的区域按50m间隔划分网格总共有4万个格点每个格点计算一次误差函数普通笔记本几分钟就能跑完。这个粗解拿来当作最小二乘迭代的初值几乎可以避免局部收敛问题性价比极高。最小二乘的数学形式要根据观测数据类型来定。如果是AOA测向误差函数可以写成方向线的偏离程度如果是TDOA则写成距离差残差的加权平方和。权重一般用测量方差的倒数这样高精度的测量在解算中占更大比例能明显改善结果。粒子滤波适合处理动态场景。比如干扰源在移动每隔几秒各站给出一次TDOA观测用1000个粒子代表可能的位置分布每来一个观测就更新粒子权重再重采样就能画出干扰源的移动轨迹。这个方法在竞赛论文里展示效果很好而且实现难度其实不高。4.3 程序实现中的关键细节写程序的时候有几个细节非常容易出问题多数队伍的丢分点就藏在这里。第一是坐标系的统一。赛题给的数据可能是经纬度也可能是平面直角坐标。如果直接用经纬度算距离和时间差误差在低纬度区域还不算明显但在高纬度区域会出大问题。正确做法是先把经纬度投影到平面坐标系比如用高斯-克吕格投影或者UTM投影在平面坐标系里做定位计算最后再反投影回经纬度输出。第二是单位换算。时间差通常以微秒或纳秒为单位距离差是时间差乘以光速而光速约等于3×10^8米每秒。任何一个单位换算错位结果就差出去几个数量级。这种低级错误特别可惜所以我习惯在做完解算后加一步自检把估计出的干扰源坐标代回各站的观测方程看残差是否在合理范围。残差异常大十有八九是前面某个环节的单位或者坐标系出了问题。第三是异常值剔除。实际赛题给的数据里经常混有噪声极大的异常观测直接用所有数据做最小二乘结果会被少数几个坏点带偏。推荐先做一次初步解算计算每个观测值的残差把残差超过三倍标准差的异常点剔除再做一次精化解算。这个“先粗筛再精算”的流程在几乎所有定位类题目里都能提升精度。4.4 常见丢分点从历年评阅角度观察有几个问题会反复导致丢分提前避开会很有优势。只给坐标不给误差分析。评阅老师非常看重结果的可靠性论文里如果没有置信区间或者误差评估哪怕坐标算对了也会被打折扣。算法选型单一。有些队伍从头到尾只有一种方法缺少不同方法之间的对比。如果把网格搜索、迭代精化、滤波算法都跑一遍做一个综合对比论文的说服力会强很多。忽略了布站几何的影响。赛题在第一问可能会给固定的监测站位置但如果你能分析监测站几何分布对定位精度的影响说明你对问题的理解超过了平均水平。程序代码和论文结果对不上。这个属于硬伤一定要保证最终提交的结果是由提交的代码直接生成的而不是手动改过的数值。建模能力说到底就是“把一个物理问题翻译成数学模型的能力”这套能力在无线电干扰源定位里面体现得尤其充分。5. 从模型到实战干扰源自动定位与清除闭环里的工程化细节做完竞赛题之后很多东西如果继续往工程方向延伸会碰见更加现实的问题。这也是这期《无线电》封面专题真正想传达的内容定位算法不是论文里的装饰品它最终要落在能自动运行的系统里。5.1 定位完成后如何验证与提交自动定位系统输出一个坐标之后不能直接当成最终答案。比较可靠的做法是追加一个“验证-逼近”环节携带便携式接收设备前往估计位置观察信号强度是否随着接近目标而持续上升。如果信号强度的变化趋势和预期一致说明定位结果可靠如果信号强度的变化方向不对说明定位误差较大需要重新审视数据或重新解算。在实际项目中清除干扰源涉及权限问题普通工程师能做的是定位到“哪个楼顶、哪个设备”然后交接给有处置权限的部门去确认和停机整改。所以定位系统的输出不只是一个坐标还应该包含一个合理的置信区域和建议排查顺序这样后续人员拿着结果就知道从哪开始查。5.2 自动闭环系统的组件设计把整个流程做成自动化闭环组件可以分成四块感知层若干固定或移动监测站负责采集射频数据、提取测量参数。传输层把各站数据回传到中央节点的通信链路要求低延迟且稳定。计算层运行定位算法的服务器或边缘设备负责解算位置、更新轨迹、评估精度。决策层根据定位结果生成告警信息、排查建议或清除行动方案。这套结构其实和很多物联网系统长得非常像核心差别在于感知层处理的是窄带信号参数而不是普通的传感器数值计算层跑的是定位算法而不是阈值判断。如果团队里有人熟悉Web后端和数据库把整个系统串起来不是难事。移动站的设计也有讲究。监测车或者无人机搭载SDR设备之后在行驶或飞行过程中持续采集数据可以显著改善定位精度尤其是缓解城市高楼遮挡带来的多径问题。从信息论的角度看移动站等于在时间维度上给你增加了观测次数相当于用“运动”换来了虚拟的更多站点。5.3 实测经验与踩坑记录最后分享几条在实际调试中踩过的坑。第一是天线架设高度。SDR设备放在桌面和放在楼顶接收到的信号质量完全是两个世界。低处会有大量反射波和遮挡测向结果飘忽不定架高之后视距条件变好测向精度会立刻提升。实测中同样的设备从2米高度升到10米测向误差能缩小一半以上。第二是增益设置。很多新手会把接收机增益调到最大导致强信号把接收链路饱和频谱上一片平顶反而啥也测不出来。正确做法是从低增益开始慢慢往上调找到“信号明显但未削顶”的位置。第三是监测站几何分布问题。这个在前面讲GDOP的时候提过在实操中体现得很明显如果三个站摆在一条直线上定位结果会在垂直方向出现很大的不确定性如果三个站尽量分散围绕目标区域误差就能控制在较小范围。布站之前先画一个简单的几何分析图比事后反复调算法高效得多。第四是多径干扰。城市里高楼林立信号会从多个路径到达接收天线测向结果显示的角度可能是反射方向而不是直射方向。一个简单有效的应对办法是测向时多取几个天线高度和方位的数据如果某个方向结果是“毛刺状”剧烈跳变那大概率是反射导致的虚假方向应当剔除。这套技术从竞赛题目走到工程实现链条确实不短。但也正因为链路长拆解清楚之后每一步都有明确的方法和工具踩坑经验也都是可以复用的。如果你正在准备相关竞赛或者想在自己的无线电项目里加入测向定位能力我建议从网格搜索最小二乘起步先在一块校园区域里搭两个监测点找到一个实际的信号源感受一下从数据到坐标的完整过程。等这个过程跑顺了再看粒子滤波和系统化部署很多原本抽象的概念会自动变得清晰。