引言
北斗卫星要实现基本定位功能,至少需要同步观测到4颗卫星。然而在城市里,由于高楼大厦的遮挡,这一要求往往得不到满足。通常可以通过减少待估参数的方法来实现少于4颗卫星的定位,如外加高精度的时钟[1]或建立接收机钟差预报模型[2]、附加高程信息;还可以利用联合导航,如基于陀螺和加速度计的惯性导航系统、基于电子罗盘和里程计的航迹推算来提供连续的位置信息。另外,也可以将北斗与GPS、GLONASS等其他卫星定位系统或卫星增强系统结合起来定位。
参考文献[3]对空基的卫星定位系统和地基定位系统集成定位的数学模型进行了研究,以解决卫星数量不足的问题。由于可以直接利用城市范围内已经布设的上网节点来进行定位,基于WiFi信号的定位技术被视为是一种低成本的定位方案,本文在此基础上,将北斗伪距观测值和WiFi信号强度导出的距离结合起来进行定位,利用实测数据对定位结果进行修正。
1 基于WiFi信号的定位
目前无线局域网大多是基于IEEE 802.11标准。WiFi定位的基本观测量为接收到的信号强度(Received Signal Strength, RSS),常用的定位算法有两种:基于RSS测距的距离交会法和基于模式匹配的方法。
2 北斗和WiFi联合定位的数学模型
北斗测码伪距的观测方程可以写为:
式中,ρ~为伪距观测值,ρ为接收机和卫星之间的几何距离,c为真空中的光速,dti和dtj分别为接收机和卫星的钟差,diono和dtrop则分别为信号传播路径中的电离层和对流层延迟,ε为伪距的观测噪声和其它的残余误差。
求解时通常要将式(1)进一步线性化:
其中,l=ρ~-ρ0+dtj-diono-dtrop,ρ0=(Xi0-Xj)2+(Yi0-Yj)2+(Zi0-Zj)21/2,aji=(Xi0-Xj)ρ0,bji=(Yi0-Yj)ρ0,cji=(Zi0-Zj)ρ0。式中,ρ0是ρ的近似值;Xi0,Yi0和Zi0是测站的近似坐标;Xj,Yj和Zj是卫星的坐标;dx,dy和dz为测站坐标的改正数。
卫星的坐标和钟差一般可以通过广播星历求得;电离层和对流层则可由相关的经验模型进行改正,如常用的Klobuchar模型和Saastamoinen模型;接收机钟差和测站坐标改正数,则要作为待估参数进行求解。
由于WiFi测距观测值不能直接获得,首先要要建立信号强度(RSS)和距离之间的关系式;然后利用观测到的北斗伪距观测值和由RSS反算出的距离来联合定位。由接收机导出的WiFi距离观测值定位的观测方程和北斗是类似的,只不过没有钟差、电离层和对流层参数,其线性化形式为:
其中,lg=ρ~g-ρg0,ρg0=(Xi0-Xgi)2+(Y0i0-Ygi)2+(Zi0-Zgi)21/2,agji=(Xi0-Xgj)ρg0,bgji=(Yi0-Ygj)ρg0,cgji=(Zi0-Zj)ρg0。式中,ρg0是ρ~g(由信号强度导出的距离观测值)的近似值,Xi0、Yi0和Zi0是测站的近似坐标,Xgi、Ygi和Zgi是WiFi接入点的坐标,dx、dy和dz为测站坐标的改正数。
将式(2)和式(3)结合起来便得到北斗和WiFi联合定位的数学模型,误差方程可以写成如下形式:
式中,m为观测卫星的个数;n为地面WiFi节点的个数;DL为北斗伪距观测值的协方差阵;DGL为WiFi的信号强度导出的距离观测值的协方差阵,这里假设各个观测值都是相互独立的。
令
则式(4)可以写成
利用最小二乘平差,可求得参数的最佳估值:
需要指出的是,当没有多余观测值时,式(7)依然适用,此时矩阵B是可逆的,将上式化简后可得:
相当于直接解方程组,此时往往需要迭代运算,直到最后结果收敛为止。
3 实验分析
3.1 WiFi信号强度与距离关系式的建立
笔者选取了某广场作为实验场地,采样点间隔为1 m,距离为100 m(WiFi信号典型的传播距离),从近到远依次采集信号强度,最后所得结果如图1所示。
图1 信号强度随距离的变化趋势
为了将信号强度观测值转化成距离,需要建立两者之间的关系式,常用的方法有两种:一种是Bahl等人提出的路径损耗模型[4];另一种是利用回归分析的方法,如参考文献[5]中所采用的多项式拟合法。第一种模型需要输入信号的路径衰减指数,该参数与信号的频率和传播环境有关,而且需要利用专用设备通过大量的实验才能获得,因此本文选取了第二种方法。
在多项式阶次的选择上,采用了参考文献[5]所用到的方法:逐步增加阶次,并观察拟合的残差变化,直到残差没有明显的变化为止。通过对实测数据进行分析,发现三次多项式比较合适,拟合的结果如图2所示。
接收的信号强度与距离的关系式可以写成如下形式:
其中Rss为接收到的信号强度,单位为dBm;Rang为求出的距离,单位为m。
图2 多项式拟合结果
3.2 数据采集
数据采集地点与上节的实验地点相同,选取了三个点(分别记为A、B和C,其北斗坐标系统的三维精确坐标已知)。前两个点上分别摆放相同型号的WiFi节点(D-Link Wireless N 150无线路由器),第三个点上架设了一台配有USB无线网卡的笔记本(用于采集WiFi的信号强度信息)和一台北斗接收机。观测时间为20 min,采样间隔为2 s(采样间隔不能太短,否则观测不到信号强度的变化),各节点的信号强度时间序列如图3所示。
图3 观测到的信号强度的时间序列
利用前面求出的信号强度与距离的关系式,将信号强度转化为距离,结果如图4所示。
图4 由信号强度导出的距离
3.3 定位结果与分析
用北斗来进行三维定位,一般要4颗卫星;如果用WiFi来进行三维定位,则要3个节点。这里只讨论两者都不能独立进行定位的情况,即北斗卫星数小于4颗,WiFi节点少于3个。将观测到的北斗卫星取其中的3颗卫星,其PRN号为C04、C06和C09。将WiFi节点从近到远排序为A和B。将北斗观测值和利用信号强度反算出的距离联合代入前面的模型进行解算,将定位偏差投影到站心坐标系北(N)、东(E)、高(U)分量,结果如图5~7所示。
图5 利用2颗北斗卫星和2个WiFi节点的定位偏差
图6 利用3颗北斗卫星和1个WiFi节点的定位偏差
图7 利用 3颗北斗卫星和2个WiFi节点的定位偏差
可以看到,三个分量的定位偏差都存在不同程度的波动,N方向和E方向在波动值都在20 m以内,而U方向的波动方向较大,有的接近60 m。为了查看定位所能达到的精度,求出了各个分量偏差的累积分布函数(Cumulative Distribution Function, CDF),画出的偏差累积分布图如图8~10所示。
图8 利用2颗北斗卫星和2个WiFi节点定位的偏差累积分布
图9 利用3颗北斗卫星和1个WiFi节点定位的偏差累积分布
图10 利用3颗北斗卫星和2个WiFi节点定位的偏差累积分布
可以看到,在北斗和WiFi各自不能独立定位的情况下,两者融合定位误差在15 m以内(80%的可信度),且E和U方向可以达到10 m的精度,N方向的精度要稍微差些。为了得到更量化的结论,笔者计算了各偏差分量的均值、标准差和RMS(Root Mean Square)。结果略——编者注。
垂直方面的精度高于水平方向(N方向加上E方向),这是由于增加了离地面较近WiFi的观测数据,其反算出的距离的误差对水平方向的影响要大于垂直方向。当北斗卫星个数增加(有2个WiFi,北斗卫星个数从2颗增加到3颗)或者WiFi个数增加(有3颗北斗卫星,WiFi从1个增加到2个)时,就RMS来看,垂直方向的定位精度均有所提高。当增加WiFi节点个数时,其水平总体精度反而降低,这也是由于地面WiFi节点信号强度反算出的距离的误差对水平方向的影响要大于垂直方向的缘故;当增加北斗卫星的个数时,N方向的定位精度有所降低,而E方向的定位精度有所提高,这是由于单历元单频数据定位时,水平定位精度和垂直总电子含量的水平梯度有关,东西方向上的水平梯度比南北方向的要小些。另外,增加卫星或者WiFi节点的数量,各方向的标准差均有不同程度的降低,这说明定位误差的波动有随着观测值的增加而减小。
结语
需要指出的是,由于制造工艺的差异,不同网卡的灵敏度和稳定性也有区别,这个表现为信号强度在同一点不同时刻的波动以及随距离变化率不一致。如果信号强度值波动较大,反算出的距离变化也比较明显,这个会对定位结果稳定性造成影响。接收设备的天线朝向也会对信号强度的影响。
不同型号的WiFi节点的信号强度随距离的变化率也不尽相同,而且信号强度与距离的关系式和周围的环境有很强的相关性。如果环境发生较大的变化,相关的模型也就变得不适用,如何求出较通用的转换模型,以适应不同环境和不同型号的WiFi节点,也是今后需要研究的问题。