一种基于电磁波传播特性的室内测距定位方法_3

文档序号:9749668阅读:来源:国知局
观测值传送到定位解算服务器,定位解算服务器运行定位解算模块中的定位 解算程序(这个定位解算程序就是系统原先的定位解算程序)得到用户的粗略坐标,然后由 误差消除模块从电磁波传播模型表(表二)中选取用户粗略坐标处临近的控制点的距离修 正量,选取的时候需要注意更新时刻,距离当前时刻太久的控制点不宜选取,因为模型可能 已经发生了改变。根据这些的距离修正量以及控制点坐标和用户的粗略坐标,计算用户粗 略坐标处和每个锚点的距离修正量,用这些距离修正量对距离的观测值进行修正,并将修 正后的测距值传给定位解算程序,定位解算程序根据这些修正后的测距值再次解算,即可 得到用户的准确坐标,至此,本次定位完成。
[0066] 因为控制点标签和用户定位标签都会与锚点有测距动作,因此锚点传输到定位解 算服务器的测距观测量有可能是控制点的,也有可能是用户定位标签的,由于每个标签的 地址是唯一的,因此很容易区别这两种标签的测距信息,并进行区别处理,控制点标签的测 距信息送至电磁波模型建立模块处理,而用户定位标签的测距信息送至定位解算模块处 理。其流程图如图2:定位解算服务器收到来自锚点的测距信息时,判断测距点是不是控制 点,是则将测距数据传入传播模型建立模块,否则将测距数据传入定位结算模块,并继续等 待接收锚点的测距信息。即定位解算服务器收到来自锚点的测距信息时,判断相应测距点 是不是控制点,是则根据测距数据更新电磁波传播模型表,否则判断是来自锚点的用户标 签测距信息,将根据测距数据对用户标签进行定位。
[0067] 这种形式中,电磁波传播模型建立过程始终以一个独立的线程与定位解算线程并 行运行,定期更新传播模型,流程图是图3;而误差消除过程可以结合原有的定位解算算法, 流程图是图4。
[0068] 参见图3,连续运行模式中传播模型建立过程的运行流程如下:
[0069]步骤al,测量每个锚点与控制点的距离,得到距离观测值;
[0070]步骤a2,读取表1,计算每个控制点到锚点之间的真实距离与观测距离的差;
[0071]步骤a3,将每个控制点到每个锚点之间的真实距离与观测距离的差写入表2作为 距离修正值;
[0072] 步骤a4,等待一段时间(该等待时间决定了表2的更新速率,具体实施时本领域技 术人员可自行设定时间长度);然后返回步骤al。
[0073] 参见图4,连续运行模式中的加入误差消除的定位解算过程的运行流程如下:
[0074]步骤bl,收到来自锚点的用户标签测距信息Do;
[0075] 步骤b2,根据锚点到用户标签的距离观测量Do计算用户的粗略坐标,具体实施时 可采用原有的定位解算算法;
[0076] 步骤b3,根据步骤b2计算得到的用户粗略坐标,从表2中选取临近的控制点,如果 某个控制点的更新时刻距离当前时刻时间太久,则认为是无效控制点,不予采用;根据有效 的控制点距离修正值计算出用户所在位置的距离修正值Df,具体实现可以用普通的拟合或 者插值的方法,本发明不予赘述。实际操作中,为减少计算量,只选取三个有效控制点,用线 性拟合的方法即可取得良好的效果;
[0077]步骤b4,根据用户所在处的距离修正值,逐个修正用户标签与每个锚点的距离值, 得到修正结果Dp = D〇-Df;
[0078] 步骤b5,根据距离结果Dp,重新计算用户的准确坐标,具体实施时同样可以采用原 有的定位解算算法。本次定位完成,准备下次定位。当出现下一次定位需求时,继续返回步 骤bl重新执行流程即可。
[0079] 具体实施时,高的更新速率会提高模型的准确性和实时性,但是会增加系统的负 荷,低的更新率形成的传播模型准确性和实时性会降低。实际应用中可以根据所需要的精 度和控制点的数量以及定位区域的大小和定位服务器的性能等全面权衡。通常情况下,由 于连续运行模式用于定位用户比较多的情形下,系统负荷已经比较大,因此可以选择牺牲 一部分精度,降低传播模型的更新速率。
[0080] B,动态运行模式
[0081] 当需要定位的区域内只有少数用户进行定位的时候,可以选择这种方式。
[0082] 由于需要定位用户并未遍布定位区域,因此只需建立用户附近的传播模型即可。
[0083] 这种情况下,电磁波传播模型建立过程和误差消除过程可以都在需要定位解算时 结合定位解算算法实现,不作为单独的线程执行,首先由需要定位的用户按照普通定位方 式,测量与各个锚点之间的距离,定位服务器收到这些距离观测值后,运行原先的定位解算 程序,计算用户的粗略坐标,然后根据粗略坐标,选取距离用户最近的一个或几个控制点, 再控制锚点与这些控制点的定位标签进行测距操作,将测距结果交给电磁波传播模型建立 模块,建立用户粗略坐标处的电磁波传播模型,并用此模型修正用户与各个锚点之间的测 距值,以得到修正后的更准确的测距值,然后用这些修正后的测距值再次调用定位解算程 序,从而得到用户的准确位置,本次定位完成。
[0084] 根据系统的性能、负载状况,动态运行模式可以再细分为两种模式,流程分别是是 图5或者图6。如果系统的性能很高,负载量冗余很多,可以使用图5的模式。如果系统的性能 一般,负载量冗余不多,则可以使用图6的模式。
[0085] 图5的动态运行模式中的定位解算流程如下:
[0086]步骤cl,收到来自锚点的用户标签测距信息Do;
[0087] 步骤c2,根据锚点到用户标签的距离观测量Do计算用户的粗略坐标,具体实施时 可采用原有的定位解算算法;
[0088] 步骤c3,根据计算得到的用户粗略坐标,从表1中选取临近用户位置的控制点,命 令锚点向这些选取的控制点发起测距动作;
[0089] 步骤c4,接收锚点传回的控制点测距观测值,并从表1中读取对应控制点到锚点的 准确距离,计算控制点距离修正值,据此计算用户粗略位置的距离修正值Df。具体实现可以 用普通的拟合或者插值的方法,本发明不予赘述。实际操作中,为减少计算量,只选取三个 有效控制点,用线性拟合的方法即可取得良好的效果。由于此时是即时计算局部的修正值, 无需定期更新整个区域内的修正值,因此可以不再需要表2。
[0090] 步骤c5,根据用户粗略位置的距离修正值,逐个修正用户标签与每个锚点的距离 值,得到修正结果Dp = D〇-Df;
[0091] 步骤c6,根据修正后的准确距离Dp,重新计算用户的准确坐标,具体实施时可采用 原有的定位解算算法。本次定位完成,准备下次定位。当出现下一次定位需求时,继续返回 步骤cl重新执行流程即可。
[0092]由于此时电磁波传播模型的建立时刻与用户的定位时刻非常接近,因此其精确度 比连续运行模式高。
[0093]图6的动态运行模式中的定位解算流程:
[0094]步骤cl,收到来自锚点的用户标签测距信息Do;
[0095] 步骤c2,根据锚点到用户标签的距离观测量Do计算用户的粗略坐标,具体实施时 可采用原有的定位解算算法;
[0096] 步骤c3,根据计算得到的用户粗略坐标,从表2中选取临近用户位置的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1