80km RTK 实测

自建 NTRIP 迈入百公里时代。
长沙到益阳,一次不太完美但收获满满的远距离测试。

RTK NTRIP UM982
SCROLL

系统架构

整个 NTRIP 系统的数据流是这样的:

UM982 基站 屋顶固定 WPF 上位机 RTCM 解析 腾讯云服务器 asyncio Caster 车载电脑 NTRIP Client 移动站 UM982 USB 串口 4G / 宽带 4G / 宽带 串口

基站端用 UM982 固定在屋顶,通过 USB 串口连接到一台运行 C# WPF 上位机 的电脑。上位机解析 RTCM 观测数据,通过 TCP 长连接推送到腾讯云服务器。

服务器端运行 Python asyncio Caster + nginx HTTPS 反向代理,把 RTCM 流分发给所有已认证的移动站。

移动端(车辆)通过联网的电脑,使用 NTRIP Client 连接服务器,接收转发的 RTCM 差分数据,再输出给移动端的 UM982,完成 RTK 定位。

ntrip-client — 实时数据流模拟

测试路线

之前一直在公司附近做短距离测试,基线距离最多三五公里——受限于传统 UHF 电台的传播距离,再远就鞭长莫及了。自建 NTRIP 的想法一直有,但以前对服务器运维、网络编程一窍不通,加上 AI 编程工具还没成熟到能搞定 RTCM 流转发这种偏门场景,所以这个想法一直搁置。

这次把 UM982 基站固定在屋顶,然后开车一路 向西偏北去往益阳方向,最远到达距离基站约 80km 的位置后返程。测试当天长沙 晴朗多云,气温 35°C+,台风 "巴威" 正在浙江沿海登录,对内陆湖南基本无影响,电离层环境比较典型。

走这条路线的考虑:长沙到益阳之间以丘陵和平原为主,既有城市建筑群、桥梁、树林路段,也有开阔农田,能比较全面地反映实际道路环境下的 RTK 表现。

80km RTK 测试轨迹对比
GPS 轨迹对比 — 绿色为测试路径,从长沙向西偏北方向,经益阳约 80km

从轨迹图上看,两条路径基本重合,说明在 80km 的基线距离下,UM982 仍能提供稳定的位置输出。

观察到的现象

0
平均跟踪卫星数
0
km
最远基线距离
0
RTK Fix
80km处仍保持固定解

RTK 状态保持到了 80km

UM982 在移动站最远端(约 80km 基线)时仍然保持 RTK Fix 状态。这意味着自建 NTRIP 的覆盖半径已经跨入百公里级别,足以覆盖长沙到益阳整个区域。

卫星跟踪:UM982 平均跟踪约 38 颗卫星,多系统(GPS + BDS + GLONASS + Galileo)优势明显。作为对比的参考设备(NovAtel)平均约 32 颗,且连接不稳定,原因还需进一步排查。

卫星数对比
卫星跟踪数量对比 — 上图参考设备(NovAtel),下图 UM982 移动站。UM982 在卫星数量上有明显优势,且跟踪稳定

桥洞/高架下:经过桥洞或高架下方时,UM982 会短暂掉入 伪距差分 状态,但驶出遮挡区域后能迅速恢复 RTK 固定解。这说明 RTK 对天空视野的依赖是硬性的,卫星信号被遮挡时,载波相位固定解会丢失。

树木密集路段:经过路两侧树木茂密的路段时,也出现了掉浮点解甚至伪距差分的现象。树叶对卫星信号有衰减作用,尤其在多路径效应明显的环境下,RTK 固定解维持困难。

位置误差时序
位置误差时序 — 绿色区域为 RTK 固定解,红色跳变为桥洞/树林遮挡导致掉入伪距差分或浮点解

动态 vs 静态:从数据上看,车辆静止时(如红绿灯)位置波动明显小于动态行驶时。动态下的多路径效应、天线姿态变化都会引入额外误差。后续需要单独设计静态对比测试来量化两者的差异。

精度评估的不足:这次测试比较的是移动站输出 vs 参考设备输出,但参考设备本身也是移动的——这只能看一致性,不能代表真实位置精度。后续需要:

局限与思考

长沙到益阳,电离层的影响几何?

长沙和益阳直线距离只有约 80km,对于中纬度地区来说,电离层延迟具有较强的空间相关性。这次测试在 80km 处 RTK 仍能固定,部分原因可能是长沙-益阳方向电离层变化不大,差分后残余误差本来就小。但如果下次去 200km+ 的基线,情况可能完全不同。

NTRIP over 4G 不适合航空应用

之前因为某些试验在轻型运动飞机上飞过,距离地面 2000 米时手机信号就已经时有时无。NTRIP 依赖 4G/宽带网络实时传输 RTCM 数据,在高空场景下完全不适用。真正的航空差分方案通常使用:

  • Ku 频段数据链:~12-18 GHz,机载卫星通信的主流频段,波束窄、带宽大、不受地面基站覆盖限制。民航客机常用 Ku 波段卫星链路做空地通信,差分修正数据可以通过该链路下发。
  • L 频段数据链:~1-2 GHz,穿透性强、天线简单,但带宽有限。典型应用包括海事卫星(Inmarsat)的 L 波段数据服务、北斗短报文、以及航空界的 ADS-B / GNSS 增强系统(如 WAAS/SBAS 本身就是 L 波段)。
  • UHF 电台:低空无人机 RTK 常用的 900MHz / 2.4GHz 数传电台,但高度受限、距离短。

简单说,只要你的平台会离开地面超过 500 米,就别指望 4G NTRIP 了,得走卫星数据链。

NovAtel 连接不稳定

同时记录的参考设备(NovAtel)在整个测试过程中连接不够稳定,存在多次数据中断和数据异常。原因可能是设备问题、串口/电源线松动、或上位机软件兼容性。后续需要修复后再做对比测试,否则两个设备的数据无法严格对标。

下一步计划

这次测试暴露了很多问题,但也明确了方向。下一步要做的事:

1. 更远:探索极限基线

覆盖长沙到益阳只是第一步,目标是 150km、200km,看看电离层误差什么时候成为制约瓶颈。

2. 更精:真正的厘米级验证

用基站原始观测数据做后处理差分,计算移动站的真实位置误差。参考 PSINS 的 AVP 反演思路做事后基准恢复,看看自建 NTRIP 到底能不能做到厘米级定位。

3. 更全:双基站组网 + VRS

搞两个基准站,架在不同位置。多套产品同时连接不同的基站数据,在实际测试中比较不同基站下的 RTK 表现。
最终目标是搭建虚拟参考站(VRS),用多基站网解算区域电离层模型,实现更大范围的一致性覆盖。

4. 更直观:网页实时位置可视化

GNSS 星座实况 页面上叠加产品实时位置,在地图上看到每个移动站处于什么位置、距离基线多远、当前 RTK 状态。这会是一个大工程,但也是让数据说话的最好方式。

← 返回