微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 北斗导航芯片UM220+ZigBee的无线终端设计

北斗导航芯片UM220+ZigBee的无线终端设计

时间:10-18 来源:互联网 点击:

定位的坐标信息,还是间接定位的侦测信息,亦或是时间同步的数据,都依赖于ZigBee所提供的数据服务进行传输。

精确定位的功能依赖于北斗导航定位所获得的精确坐标。UM220模块提供北斗的定位信息。UM220输出数据采用ASCII码,按照NMEA-0183格式进行异步串行通信,因此通过将其通过串口与MC13213相连,设定每秒输出一次定位信息,通过MC13213内置的单片机处理定位信息。UM 220输出语句有$BDGGA、$BDGSA、$BDGSV、$BDRMC等。其中$BDGGA定位数据语句是最为常用的语句,因此我们选用它作为定位信息的输出语句。

$BDGGA语句包括17个字段:语句标识头,世界时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,水平精确度,海拔高度,高度单位,大地水准面高度,高度单位,差分GPS数据期限,差分参考基站标号,校验和结束标记(用回车符和换行符),分别用14个逗号进行分隔。由此便获得了经、纬度和海拔高度的精确信息。这些信息将存储在MC13213的内存中,不仅实现节点的精确定位,作为自己的位置信息,也为其他节点的间接定位提供参考信息。

间接定位常用的算法有两种:基于距离的定位算法、与距离无关的定位算法。距离无关的定位算法的优点是,对节点的硬件结构要求较低;缺点是定位精度不高,难以满足室内定位的精度要求。基于距离的定位则是通过测量节点间点到点的距离或角度信息,再使用一定的计算方法计算节点位置。常用的测距技术有RSSI、TOA、TDOA和AOA等。由于ZigBee无线通信模块可以直接提供RSSI值,因此本设计使用RSSI信息来实现定位功能。

利用RSSI测量距离,需要建立距离与RSSI的模型。由于经验模型在实际定位前,需要先模拟测试环境,建立该环境中各个距离上的位置和信号强度关系的离线数据库,操作起来较为繁琐,数据库也不适合单片机的应用,因此这里采用理论模型,用无线电传播路径损耗模型进行计算。

自由空间无线电传播路径损耗模型公式如下:

Loss=32.44+10klog10d+10klog10f (1)

式中,d为接收点距信源的距离,单位为km;f为频率,单位为MHz;k为路径衰减因子。

实际应用环境中,由于存在多径、绕射、障碍物等各种影响冈素,因此还要对模型进行改进。这里采用一种对数一常态分布模型,其计算公式为:

式中,Xσ是平均值为0的高斯分布随机变数,取其标准差范围为4~10;k的取值范围为2~5。取d=1,代入式(1)可得Loss,即PL(d0)的值。由此得到未知节点接收锚节点信号时的信号强度公式如下:

RSSI=发射功率+天线增益一路径损耗(PL(d))

假设移动节点0接收到n(n≥3)个固定节点发送的信号,从接收到的n个信号中选取接收信号最强的3个固定节点作为信标节点A、B、C。利用RSSI测距方法,测量到的距离分别为dA、dB、dC,此时就可以根据dA、dB、dC采用图4所示的三边测量法确定位置。如果不相交于一点,则可以根据质心法来实现。

理论上,虽然获取3个已定位节点的信息就可以确定一个未知节点的位置,但是实际情况会因为干扰而出现偏差。例如,当两个射频之间出现意外遮挡物时,接收信号会降低30 dBm。为了修正异常,提高定位结果的精确性,间接定位需要尽可能多的已定位节点的RSSI值,进行相关的定位计算,那么当采用大量的节点后,RSSI的值将趋于稳定,这时就可以得出更加精确的定位结果。

ZigBee全网的时间同步使用FTSP算法实现。它通过发送一条报文并在发送和接收两端分别打下时间戳来实现一对一或者一对多的时间同步。FTSP算法提供多跳的时间同步,由网络的根节点维护一个全局时钟,其他的所有节点都同步到根节点,由此将全网中的所有节点时间同步。

FTSP算法的实现步骤如下:

①发射同步(sync)字节,计算时间戳t,计算方法为当前的时间减去消息数据部分的发射时间,消息数据部分的发射时间,可以通过数据长度和发射速率得出。发射时间戳t。

②接收数据包,记录sync字节最后到达的时间tr,计算位偏移(bit offset)。在收到完整消息后,计算位偏移产生的时间延迟tb,计算方法为计算位偏移和接收速率。

③接收节点计算与发送节点之间的时钟偏移量off-set,然后调节本地时钟与发送节点的时钟同步。

3 性能测试

3.1 定位误差测试

间接定位的实际测试中,共部署了23个传感节点,其中使用北斗直接定位的有11个,没有提供北斗定位而使用ZigBee定位的有12个。节点随机分布,节点间设置了10~20 m不等的距离,然后进行了10次间接定位的实验。通过统计数据,分析与实际测量值的误差,结果如图5所示。

综合计算,10次实验的平均定位误差为1.7 m。考虑到平均14 m的节点间距离,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top