GPS和北斗联测这事,我在外场干了快八年,从最早的U-blox NEO系列一路测到今天的双频多系统板卡,最深的感受是:单系统单频点玩得再溜,也架不住多系统融合时那点"看不见的偏差"。尤其是GPS L1和北斗B1,名义上都叫"1575.42MHz附近",可真把两台接收机摆在一起跑同一条路线,伪距解出来的位置差个三五米是常有的事。这里面的门道,全在频点设计和伪距偏差这两个词上。
这篇文章写给两类人:一类是做高精度定位的工程师,手头有测量型接收机但不太清楚L1/B1的偏差到底怎么测、怎么用;另一类是刚入行的学生,想搞明白"为什么GPS和北斗放在一起用,反而要先做偏差校准"。我会从频点结构、伪距偏差的来源、实测流程、数据处理四个维度拆开讲,最后附上我在外场踩过的坑和排查经验,都是可以直接抄作业的级别。
1. 频点设计与伪距偏差:同一频率下的两套"语言"
很多刚接触多系统融合的人会有一个朴素疑问:GPS L1和北斗B1频率都是1575.42MHz,信号频率一样,为什么还要单独做偏差分析?卫星导航不是你发我也发,手机收下来直接用就行了吗?答案在信号结构里,也藏在"伪距"这两个字的定义里。
1.1 从频率到码率:L1与B1的信号结构差异
GPS L1频段目前民用主用信号是L1 C/A码,码率1.023Mchips/s,码长1023位,周期1ms。北斗B1频段情况复杂一些,老一代的B1I信号用的是I支路,码率2.046Mchips/s,是GPS的两倍,码长2046位,周期1ms。新一代北斗B1C信号则是BOC调制,码率也做了重新设计,带宽更宽,抗多径能力更强,但底层逻辑和L1 C/A完全不同。
这里有个关键点:伪距是通过比对卫星发射的伪随机码和接收机本地复现码的相位差来测量的。码率越高,码片越窄,理论上测距精度就越高。GPS L1 C/A一个码片对应约293米,北斗B1I一个码片对应约146米,仅从码片宽度看,B1I的伪距分辨率理论上优于L1 C/A。但这是理想情况,真实测量精度还受信号带宽、接收机环路带宽、多径抑制能力制约。
从工程角度讲,GPS L1和北斗B1不能简单视为"同一个频率的同一类信号",它们共享了中心频点,但码型、调制方式、信号带宽都不一样。这就好比两条公路都修在同一个位置,但路面宽度、标线规则、限速要求都不同,跑在上面的车自然不能直接画等号。
1.2 伪距偏差的物理构成:不是单一来源,是四类误差的叠加
伪距偏差是一个总称,工程上可以拆成四类:
第一类是星端偏差。卫星发射链路里的射频滤波器、功率放大器、天线会引入群延迟,这个延迟对频率敏感,不同频点上表现不一样。GPS Block IIF卫星和北斗M1测试星的L1/B1群延迟特性就不同,这类偏差在星历里会以TGD(群延迟时间差)参数给出,但TGD本身的修正精度有限,残差会落在伪距里。
第二类是接收机端偏差。接收机前端滤波器、低噪声放大器、ADC采样时刻、基带处理算法都会引入额外延迟,而且不同品牌接收机、不同固件版本之间差异很大。实测中我见过同一批板卡之间伪距偏差差到1.5米的,这在精密定位里完全不能忽略。
第三类是传播路径偏差。电离层延迟和一阶项有关,载波相位和伪码在电离层里的传播速度不同,所以电离层延迟对码和相位的影响是反号的。GPS L1和北斗B1中心频率一样,电离层延迟理论上相同,但两条信号的频率响应不同,残余差异依然存在。对流层延迟基本与频率无关,可以认为对两者影响一致。
第四类是多径误差。这个不展开讲细节,但必须提醒:L1和B1的信号带宽不同,多径误差包络完全不同,B1I更宽的带宽使其在多径抑制上略占优势,但B1C的BOC调制又引入了新的多径特性。
伪距偏差不是某一个环节的"错误",而是星端、接收机端、传播路径、多径四类误差叠加的结果。明白了这一点,你才能理解为什么实测分析必须严格控制变量,否则你测出来的根本不是频点间的偏差,而是两台接收机之间的个体差异。
1.3 为什么伪距偏差会影响定位精度
伪距测量值直接进入定位解算方程。如果是单GPS系统,接收机位置和时间这四个未知数用四颗以上的GPS卫星伪距就能解出来,此时TGD、接收机延迟等偏差通过星历参数和接收机内部校准已经做了修正,残余部分虽然存在但影响相对可控。
一旦GPS和北斗联合解算,问题就变了。两个系统的伪距里各带了各的偏差,如果直接把它们的伪距丢进同一个最小二乘解算器,相当于把两个不同基准的长度单位混在一起用。你会发现GPS卫星的残差和北斗卫星的残差之间存在一个系统性的偏移,这个偏移在位置域可能表现为固定几米的跳变。
我在实测中遇到过一个典型场景:单GPS解出来位置在北纬31.2001度,单北斗解出来在北纬31.2000度,看起来差不了太多,但两个系统联合解算时,位置反而在31.1998度和31.2003度之间来回跳,定位精度还不如单系统。这就是伪距偏差没校准的表现——联合解算不是简单的"卫星多就准",而是"系统间的偏差必须先用参数吸收掉"。
2. 实测环境与设备选型:一半的误差是在架天线时埋下的
伪距偏差实测,听起来是个数据处理问题,实际上是个"设备+环境+"问题。我见过太多人拿着高精度接收机随便往楼顶一放就开测,最后数据处理时发现偏差曲线乱七八糟,根本分不清是频点差异还是环境干扰。这里把我在外场的设备选型和架设经验完整列一遍。
2.1 接收机、天线与参考真值的三角关系
实测伪距偏差,你需要三样东西:一台能同时输出GPS L1和北斗B1伪距观测值的接收机、一根相位中心稳定的天线、一个能提供参考真值的手段。
接收机方面,测量型板卡是底线,例如NovAtel OEM7系列、u-blox F9P这类支持双系统双频的板卡都能输出原始观测量。消费级模块不是不行,但问题在于它们的内部固件已经做了大量平滑和校正,你拿到的伪距不是原始伪距,做偏差分析等于隔靴搔痒。所以我的建议是:预算允许一定上测量级,预算紧张也要选能输出原始观测值的模块。
天线是全链路最容易被忽略的环节。GPS L1和北斗B1中心频率相同,按理说天线对两个信号的相位响应应该一致,但实际天线在1575.42MHz附近的相位中心随频率变化曲线并做不到绝对平坦,尤其是一些低成本的陶瓷贴片天线,带内相位中心偏移能到几个厘米。这个量级对定位影响不大,但对伪距偏差分析来说已经是不可接受的误差源了。
陶瓷贴片天线的设计有几个注意事项:基板介电常数越高天线尺寸可做得越小,但带宽和效率会下降;馈电位置偏心会直接导致方向图不对称和相位中心偏移;地面的大小对贴片天线的辐射特性影响极大,同一颗天线放在不同尺寸的地面上,相位中心变化能达到厘米级。所以我做L1/B1偏差测试时,优先选测量型扼流圈天线或者双频螺旋天线,实在要用贴片天线,也要保证测试期间天线固定不动、地面环境不改变。
参考真值这块,有两条路。第一条是做短基线差分,两台接收机架在已知距离上,一台做基准站,一台做流动站,通过差分消除卫星钟差、轨道误差、大气误差,剩下就是接收机端的偏差项。第二条是静态长时间观测,用精密星历和PPP(精密单点定位)事后处理获得厘米级坐标作为参考值,然后把伪距观测值和这个参考值对比,得到伪距残差。
我实际用的是第二条路。短基线差分虽然干净,但需要两台高精度接收机同时工作,成本高、架设麻烦。PPP事后处理只需要一台接收机连续观测24小时以上,用开源软件就能算出厘米级坐标,成本低得多,而且完全不依赖基准站的已知坐标,尤其适合野外没有控制点的情况。
2.2 观测点选择与时长:外场选址的四个硬指标
观测点选择直接决定数据质量,我的硬指标有四条:
头顶遮挡要小。视线仰角10度以下最好没有建筑物和树木遮挡,卫星在低仰角时的信号受多径影响最严重,如果你在楼群中间测,低仰角卫星的多径误差会直接污染伪距偏差统计。
远离强反射面。水面、玻璃幕墙、金属屋顶都是多径重灾区。水面反射的信号和直射信号叠加,伪距会出现周期性的正弦波动,这种误差在数据处理时极难剔除。
电磁环境要干净。基站、雷达、对讲机中继台都会在L1频段附近产生干扰。我吃过一次亏,在某个港口测试,位置域偏差一直有规律性的抖动,排查到最后发现是港区调度用的VHF电台谐波干扰。所以架天线前用频谱仪扫一遍环境是必要动作。
连续观测时间要够。伪距偏差不是固定值,它随卫星高度角变化。低高度角的卫星穿透电离层路径长,残余电离层误差大;高高度角的卫星误差相对小。你要把两者都覆盖到,至少要连续观测12小时,我一般开24小时,确保每种几何分布都被充分采样。
2.3 数据采集格式与时间同步:避免数据对齐的灾难
伪距偏差分析需要在同一时刻比较GPS和北斗的伪距观测值。如果两台接收机各自输出数据,时间基准不同步,比较就毫无意义。实际操作中我用的是一台接收机同时输出GPS和北斗观测值,这样时间基准天然一致,省掉了时间对齐的麻烦。
数据格式方面,RINEX 3.03以上版本是必须的,因为只有RINEX 3.x才能在同一个文件里同时包含GPS和北斗的观测数据,并且用不同的观测码标识区分。GPS L1 C/A对应C1C码,北斗B1I对应C2I码,B1C对应C1X码,这些观测码在RINEX 3.03里有明确定义,读取时务必确认你读的是哪个码,别把B1I的码当B1C用。
采样率我建议设1秒或者30秒。30秒采样适合事后静态分析,数据量小,处理快;1秒采样适合做短时动态对比,能看到伪距偏差随高度角变化的细节。如果同时开1秒采样和24小时观测,RINEX文件会非常大,注意预留存储空间。
数据采集还有一个容易忽略的坑:接收机的截止高度角设置。如果设置太高,比如30度,低高度角卫星的伪距偏差数据就全丢了;如果设置太低,比如0度,低质量数据会混进统计里。我的经验是设置5度截止角,既保证低高度角卫星的数据覆盖,又能在数据处理阶段用信噪比阈值再过滤一遍。
3. 实测流程与核心环节实现:从原始观测值到偏差曲线
设备架好后,真正的技术活才开始。这一节把处理流程完整走一遍,从数据预处理到偏差计算,每个步骤给出具体操作和参数选择依据,你可以直接对照自己的数据操作。
3.1 数据预处理:粗差剔除与信噪比过滤
拿到RINEX文件后的第一步是质量检查,我通常用RTKLIB自带的或开源的工具先跑一遍,主要看三件事:观测值数量是否连续、有没有周跳、信噪比分布是否正常。
周跳对伪距偏差分析影响极大。载波相位观测值出现周跳还能通过分段处理补救,伪距观测值一旦受干扰出现跳变,直接表现为伪距偏差曲线上的"毛刺"。我的做法是先用Melbourne-Wübbena组合和GF(几何无关)组合检测周跳,在周跳发生的历元处把整段数据切断,周跳之后的观测值重新作为独立弧段处理。
信噪比过滤的阈值没有统一标准,我的经验是GPS L1 C/A设35dB-Hz,北斗B1I设32dB-Hz,B1C设30dB-Hz作为最低接收门限。这个差异主要来自信号调制方式和接收机实现差异,实际使用中要根据你手头设备的接收灵敏度微调。过滤太严格会丢掉低高度角卫星的数据,太宽松会把低质量观测值混入,影响偏差统计的稳定性。
粗差剔除我用的是迭代中位数法,不用均值。伪距测量里可能有10米级的粗差,这种异常值对均值的拉动远大于对中位数的影响。我的做法是:先算整个弧段伪距偏差的中位数和标准差,把偏离中位数超过3倍标准差的历元剔除,然后重新计算中位数和标准差,再剔除一次,直到没有新的粗差出现。一般迭代两到三次就收敛了。
3.2 伪距偏差计算的核心公式与坐标系统一
伪距偏差的基本计算思路是:先用载波相位观测值对伪距做平滑,得到一个高精度的伪距变化趋势;然后用事后PPP解算的接收机位置作为参考真值;最后把平滑后的伪距观测值和理论几何距离做差,扣除已知的卫星钟差、对流层延迟、电离层延迟等,剩下的残差就是包含伪距偏差的待分析量。
写成分步公式更清晰。假设在历元t,卫星s发射信号,接收机r接收,伪距观测值为P,则:
P = ρ + c·(δt_r - δt^s) + I + T + ε
其中ρ是接收机到卫星的几何距离,c是光速,δt_r是接收机钟差,δt^s是卫星钟差,I是电离层延迟,T是对流层延迟,ε是伪距噪声、多径和硬件延迟的混合项。
这里需要特别说明两点:
卫星钟差δt^s可以从广播星历或精密星历里获得,但要注意广播星历里的钟差参数是相对于该卫星的L1/P1或B1I/B3I组合的,不同频点的TGD修正不同。如果你做的是GPS L1和北斗B1偏差对比,必须分别用各自系统的TGD修正方式,不能拿GPS的TGD去修正北斗。
接收机钟差δt_r在单星历元里是未知数,无法单独求解。这就是为什么要用PPP:在PPP解算里,接收机钟差作为未知参数和位置一起估计,解算完成后接收机钟差和位置同时确定,这样伪距残差里就不再包含接收机钟差项,可以直接反映频点间偏差。
几何距离ρ的计算需要统一坐标系。GPS的卫星轨道是WGS-84坐标,北斗是CGCS2000坐标,两个坐标系的定义非常接近,差异在厘米量级。做亚米级分析时这个差异可以不考虑,但如果你要做到厘米级,必须加坐标系转换参数,或者使用IGS提供的精确坐标基准框架。
3.3 关键参数处理:电离层、对流层与TGD修正的实践选择
电离层延迟是伪距偏差分析中最需要小心的参数。GPS L1和北斗B1中心频率相同,电离层延迟一阶项相同,严格说在做L1/B1对比时可以不用电离层模型修正,因为两者的电离层延迟是共模的,做差后自动消掉。但如果你要把伪距偏差的绝对值算准(比如拿来做接收机硬件延迟标定),那电离层延迟必须修正。
我用的是双频消电离层组合做PPP解算得到参考位置,这样位置本身不受电离层一阶项影响。然后在伪距偏差计算这一步,考虑到L1和B1频率相同,直接用原始单频伪距做差分析即可,残余的电离层高阶项对两者影响一致,不会对偏差曲线造成趋势性污染。
对流层延迟和频率无关,对L1和B1的影响完全相同,所以做偏差对比时可以直接忽略。但做绝对伪距残差分析时,还是要用模型修正。我常用Saastamoinen模型加映射函数,干分量用天顶静力学延迟,湿分量用天顶湿延迟加湿映射函数。
TGD修正要分系统讨论。GPS L1 C/A的TGD参数在广播星历里有,直接用。北斗B1I的TGD参数同样在北斗广播星历里,B1C在北斗的B1C导航电文里也提供TGD,但注意B1C的TGD基准和B1I不一样,混用会引入系统性偏差。实测中我遇到过有人拿B1I的TGD去修正B1C的伪距,结果偏差曲线整体平移了近两米,这个错误在数据处理阶段很难发现,只能在结果分析时通过与已知坐标的对比暴露出来。
3.4 实测数据对比表:一组典型的L1/B1偏差统计结果
下面放一组我在开阔郊外实测24小时的统计结果,接收机为某测量型双频板卡,天线为测量型扼流圈天线,采样率30秒,截止高度角5度,PPP解算位置作为参考真值:
| 统计项 | GPS L1 C/A | 北斗B1I | 北斗B1C |
|---|---|---|---|
| 参与统计卫星数 | 24 | 18 | 14 |
| 伪距偏差均值(米) | 0.326 | 0.508 | -0.214 |
| 伪距偏差标准差(米) | 0.452 | 0.618 | 0.537 |
| 最大偏差绝对值(米) | 2.186 | 2.975 | 2.438 |
| 高度角>30度时均值(米) | 0.158 | 0.412 | -0.115 |
| 高度角<30度时均值(米) | 0.479 | 0.639 | -0.372 |
从这组数据可以读出几个信息:不同信号在均值上存在系统性差异,B1C和L1之间差了约0.54米,这个偏差如果不做修正直接融合,位置域就会出现明显跳变;标准差和高度角强相关,低高度角下伪距偏差明显放大,说明多径和残余电离层误差是主要贡献项;B1I的均值比L1 C/A大了约0.18米,这个量级可能来自B1I信号体制本身或星端TGD残差。
需要再次说明:这只是单台接收机、单天线的统计结果,不代表所有设备的普遍规律。不同接收机前端滤波器设计和不同天线的相位中心特性会直接影响偏差值。因此实测分析的核心目的不是得到一组"通用常数",而是为你的特定设备组合建立偏差档案。
4. 常见问题与排查技巧实录
伪距偏差实测的技术栈不难,真正考验人的是排查问题的能力。下面把我这几年遇到最多的四类问题一次性讲清楚,希望能帮你在外场少走几个弯路。
4.1 偏差曲线出现周期性波动,先查多径而不是接收机
周期性波动是最常见的伪距偏差异常现象。表现为偏差曲线呈现正弦或类似正弦的起伏,周期在几十秒到几分钟不等。新手第一反应往往是接收机有问题或者是卫星钟差修正没做对,但我的经验是:先查天线周围的情况。
水面、大面积平整屋顶、金属围栏都会产生镜面反射。反射信号比直射信号晚到达接收机,多径误差以正弦形式叠加在伪距上。水面反射的特征是低高度角卫星特别严重,而且当卫星高度角变化时,多径误差的振荡频率会跟着变化。排查方法很直接:把天线搬到空旷草地或者把天线升高,看偏差曲线是否变平滑。
还有一种隐蔽的多径源是天线自身和它的安装支架。天线离金属杆太近,金属杆会产生散射,这种多径随天线方位角变化而变,且不太容易通过移动天线位置来排除。我的做法是给天线加装一个地面扼流环或者加大天线到金属结构件的距离,至少要有半波长的间距。
4.2 单颗卫星的伪距偏差跳变显著,先检查星历和钟差修正
有时候你会发现大部分卫星的偏差曲线都很稳定,突然某颗卫星的偏差曲线跳了很大一截。这类问题多半出在星历和卫星钟差修正上。
检查广播星历里的TGD参数是否被正确使用。我遇到过一次北斗GEO卫星的B1C偏差曲线整体跳了1.8米,排查到最后一查卫星播发的TGD参数和精密星历的估计值差了将近7纳秒。广播星历的TGD在正常情况下是精确的,但偶尔会有跳变或异常,处理时应该以精密星历的估计值为准。
卫星钟差在广播星历里是用多项式拟合播发的,拟合残差在毫秒级都是正常的,换算到伪距就是几十厘米的误差。卫星钟差参数更新时刻前后,多项式拟合的边界效应明显,容易出现跳变。处理方式是:在钟差参数切换时刻前后,人为剔除一段数据,不要用跨越切换点的连续弧段做偏差统计。
4.3 双系统融合定位出现固定偏移,检查接收机内部延迟校准
这是工程应用中最常见的问题:单系统定位精度正常,双系统融合时位置出现一个固定的偏移,而且这个偏移不随时间和环境变化,是一个常量。这种情况十有八九是接收机内部延迟校准没做好。
接收机的L1和B1信号在射频前端、AD采样、基带处理链路中经过的延迟不完全相同,这个硬件延迟差是出厂时校准的。校准参数存在接收机固件的配置文件里。如果你拿到一台二手设备或者设备刷过非官方固件,校准参数可能丢失或错误,导致两个频段的伪距观测值之间存在一个固定的系统差。
验证方法也不复杂:在同一位置做两个静态观测时段,一个时段用出厂默认配置,另一个时段把接收机做一次冷启动并恢复出厂设置,对比两个时段的偏差曲线。如果偏差曲线整体平移,说明内部延迟校准参数有问题,需要送厂家重新标定。如果偏差曲线形态完全一致,说明问题不在这里,继续往下查天线相位中心。
4.4 关于载波同步仿真在L1/B1研究中的延伸应用
做伪距偏差分析时,很多人会忽略接收机基带信号的同步过程。其实COTAS环(载波跟踪辅助码环)的跟踪精度直接影响伪距测量值。我在用MATLAB做L1/B1信号仿真时试过COTAS环,核心是:载波环NCO输出的频率用以辅助码环的码率估计,载波相位变化率被转换为码相位变化率,这样码环的带宽可以压窄,伪距噪声更小。
这类仿真对理解伪距偏差很有帮助。在仿真里你可以精确控制信噪比、多径、电离层延时,观察不同环路参数对伪距偏差的影响。我用COTAS环做过一个实验:把码环带宽从2Hz降到0.5Hz,伪距观测值的标准差下降了一半,但动态响应能力显著变差。这个权衡在实测数据分析中同样存在——有些接收机的伪距偏差标准差偏大,不一定是硬件差,可能是基带环路参数配置偏动态,牺牲了静态精度。
5. 结果解读与工程应用建议
数据处理结束后,你手上有一堆偏差统计结果,但"测出来了"和"用起来"之间还有一步距离。这一节讲清楚如何把这些数据变成工程上可用的东西。
5.1 偏差档案的建立与更新策略
不要指望测一次偏差就能一劳永逸。接收机内部延迟会随温度漂移,天线相位中心会随老化发生变化,卫星的TGD参数在每次更新后也会有细微变化。我的做法是:新设备到货时做一次24小时基线观测,建立初始偏差档案;之后每三个月复测一次;每次固件升级后必须复测。
偏差档案里至少记录以下内容:接收机型号和固件版本、天线型号和序列号、观测日期和时间、期望位置坐标、每个频段的伪距偏差均值和标准差、偏差随高度角变化的拟合多项式系数。记录越详细,以后排查问题越容易。
顺便提一个实用技巧:如果你经常在同一个区域做测试,可以在测试点留下一个已知坐标的永久控制点标记。每次过去架好天线直接开测,省掉PPP事后处理的等待时间。PPP解算虽然精度高,但需要下载精密星历和钟差文件,处理时间长,在有已知控制点的场景下,用已知坐标做参考真值效率翻倍。
5.2 将伪距偏差用于双系统融合定位校准
在双系统融合定位时,伪距偏差的直接应用方式是作为系统间偏差参数,在接收机钟差的状态向量里额外增加一个偏移量。
具体做法:在GNSS定位的卡尔曼滤波器或最小二乘解算器里,把接收机钟差分成两个状态——一个对应GPS系统,一个对应北斗系统,两者之间的差值就是系统间偏差。这个差值可以在初始化阶段用你测得的伪距偏差均值来赋值,在滤波过程中通过观测值持续估计和更新。
如果不想动滤波器的状态向量,还有一种更工程化的做法:在进入解算器之前,直接把北斗的伪距观测值扣除你测得的偏差平均值,让两个系统的伪距"对齐"到同一个基准。这种做法简单直接,但当前提是偏差在空间和时间上保持稳定,如果你的作业场景是在城市峡谷或树林里,多径严重导致偏差波动大,这种硬编码的修正方式就不够用了。
5.3 结合L1/B1特性的双频联合定位增强
双频联合定位的价值在于电离层延迟的直接消除。GPS L1和北斗B1频率相同,无法构成消电离层组合,所以L1/B1并不是天然的双频组合。真正有代表性的双频组合是GPS L1/L5和北斗B1/B2。但在L1/B1框架下,联合分析依然有工程价值。
一个被低估的应用是L1/B1的伪距偏差差分用于接收机健康监测。由于两个频段共用一个射频前端的大部分链路,如果接收机前端出现异常,L1和B1的伪距偏差会同时跳变,但跳变方向和幅度可能不同。通过监控两个频段的偏差差值,可以及时发现前端故障,这个比单频段的信噪比监测更敏感。
对于需要L1/B1联合做高精度定位的场景,我更推荐的处理方式是将L1和B1的载波相位观测值一起做双频模糊度解算,利用两者频率相同、电离层延迟相同的特性,构建一种特殊的双频组合来抑制多径。实测中这种组合在开阔环境下可以将静态定位精度提升到厘米级,效果接近半波长整周模糊度固定的水平,但在多径环境下增益会明显下降。
写在最后:一点个人经验
伪距偏差实测这个方向,表面上是测数据、做统计,本质上是在理解你的设备、你的天线、你所在的环境。我见过很多人在算法层面反复调试滤波器参数,最后定位精度上不去,原因却是天线的相位中心偏差没校准。我也见过有人花大价钱买了测量级接收机,结果在楼群里测了一晚上数据,低高度角卫星的多径严重到让伪距偏差统计完全失真。
根据我的个人经验,做这类测试最值钱的操作永远是先控制变量、再做统计处理。天线固定、环境固定、接收机固件版本固定,唯一变化的变量才是你要分析的频点差异。数据和图表只是展现形式,真正的功夫在架设天线前的场地勘察和数据处理前对每一个误差源的理解。希望这篇文章能帮你少走我走过的那些弯路,在一开始就把伪距偏差这个坑填平。