改进TDOA算法的UWB室内定位系统设计

2017-05-12 09:41王震郭建
单片机与嵌入式系统应用 2017年5期
关键词:卡尔曼滤波上位时钟

王震,郭建

(湘潭大学 物理与光电工程学院,湘潭 411105)

改进TDOA算法的UWB室内定位系统设计

王震,郭建

(湘潭大学 物理与光电工程学院,湘潭 411105)

提出了一种基于UWB的无线传感器网络室内定位系统的设计方案。通过锚节点与标签节点信息交互,得到时间差,通过nRF24L01把时间差传送给上位机,上位机利用改进的TDOA算法和卡尔曼滤波算法,计算出目标物体的位置,并在上位机中显示出来。实验结果表明,该系统最终使得室内定位的达到了20 cm左右,并且抗多径能力强、稳定性高,为无线网络传感器定位提供了更多的参考。

室内定位;UWB;多径干扰;卡尔曼滤波;TDOA算法

引 言

室内定位是一种对未知事物的位置进行预判的技术。室外定位有比较成熟的解决方案,如GPS(Global Position System,全球定位系统)、北斗通信等系统。然而室内定位的发展却一直处在一个不断探索的道路上,还没有非常成熟的解决方案。目前,国内外的研究者针对室内定位,主要提出了两种室内定位的思想。其一是根据目标物体上的信号接收器接收到周围信号发射器的信号强度来确定目标物体的位置,称为RSS[1](Received Signal Strength Indication,接收的信号强度指示)。此思想需要在定位的场景里放置一些信号发射器,主要用到了蓝牙[2]、WiFi[3]、红外线等方法,但是这些方法信号传播距离短,易受环境的影响,功耗较高,且定位精度也不是很高,只能达到米级。其二是根据信号到达时间来确定目标物体的位置,称为TOA[4](Time of Advent,到达时间),也需要在定位场景里放置一些发射基站,然后与目标物体上的接收器进行信息交互来获得时间戳,主要用到的方法有RFID(Radio Frequency Identification,射频识别)、超声波、UWB[5](Ultra Wideband,超带宽)等。其中RFID传播距离短,且很难集成到设备中;超声波受环境温度影响大,成本非常高;本系统中用到的UWB技术抗多径干扰能力强,功耗较低,成本不高,理论定位精度能达到厘米级别,对于搭建这种多点数据通信的室内定位平台有着明显的优势。

1 系统总体结构

本文中的定位系统采用的是一个上位机和多个下位机的结构,实现了目标物体的室内定位以及在上位机中显示目标物体的置的功能。下位机负责获取时间戳,上位机主要是负责计算位置和显示目标物体的位置,上位机和下位机的通信通过nRF24L01实现。下位机的硬件部分是基于UWB(IEEE802.15.4)协议组成的无线传感器网络,包括4个锚节点(Anchor)、1个标签节点(Tag),软件部分主要是通过锚节点和标签节点的信息交互来获取时间戳,然后通过nRF24L01发送到上位机。上位机软件通过串口接收到数据,并利用改进的TDOA定位算法和卡尔曼滤波算法计算并显示出目标物体的位置。系统总体结构如图1所示。

图1 系统总体结构

2 定位原理

本文中的定位系统是基于TDOA[6](Time Difference of Arrival,到达时间差)定位思想实现的,然而比较传统的TDOA算法需要所有的锚节点在开始工作的时候实现时钟同步。针对这一难题,本系统采用了改进的TDOA算法,并不需要所有的锚节点时钟同步,使得工程的实现变得更加容易,但是面对室内复杂的环境,无线信号在空气中传输过程中,不可避免地会遇到非视距障碍物阻挡产生误差,针对这一问题,该系统中采用了卡尔曼滤波检测算法来减小传输误差,提高定位精度。

TDOA改进算法不同于标准TDOA算法之处在于,它不是通过电缆来进行时钟同步,但它同时解决了时钟同步的难题,使得锚节点的时钟同步变得更加容易和方便。如图2所示,Anchor1、Anchor2、Anchor3、Anchor4分别为4个锚节点,即发射基站节点,Tag1为标签节点,即需要定位的目标物体。RA1T1、RA2T1、RA3T1、RA4T1分别表示4个锚节点到标签节点的距离,RA1A3、RA1A4、RA1A2分别表示锚节点1到锚节点2、锚节点3、锚节点4的距离。

图2 改进的TDOA算法网络节点图

首先,在系统启动后,Anchor1发送一个信号到整个网络,当Tag接收到Anchor1的信号后记录此时的时间,其他Anchor接收到Anchor1的信号后,立马发信号给Tag1,tn为第n个Anchor到达Tag1的时间 ,这样就可以计算出Anchor2,Anchor3,Anchor4,…,Anchor n到Tag1的到达时间差(t2- t1),(t3- t1),(t4- t1),…,(tn- t1)。结合Anchor(Anchor事先摆放好的,可以通过实地测量获得其坐标,一般以其中一个节点作为坐标原点)的坐标计算Tag1的坐标。对于改进的TDOA算法来说,Anchor1发射一个信号到整个网络,此时Tag1通过本地时钟记录下各个Anchor的到达时间,这就等同于Anchor1的信号经过不同的途径到达了Tag1,实现了发射节点的时钟同步,改进的TDOA算法把时钟同步在算法层实现了,所以没有必要在各个锚节点之间部署网线或导线,从而实现了无线传感器的部署,并且解决了时钟同步的难题。

TDOA改进算法列出方程组如下:

(1)

然而面对室内复杂的环境,不管什么信号在室内传输过程中,都会遇到非视距的障碍物而产生阻挡误差,针对这一问题,本系统采用了卡尔曼滤波错误检测算法[7-8]来减小传输误差。卡尔曼滤波的计算基于这样一个假设,所有的测量结果都是由可加性高斯噪声和真实信号组成的。如果假设成立,卡尔曼滤波可以有效地从含噪声的测量结果中得到信号信息,然后设置一个时钟偏离阈值,如果实际的时钟偏差大于预测时钟偏差的时钟,就认为当前的获得的定位值不可信,直接丢弃此次获取的数据,进行下一次定位,从而减少定位的误差。

3 系统硬件设计

3.1 锚节点和标签节点框架

锚节点与标签节点搭载的都是半导体公司DecaWave生产的DWM1000模块,它可以工作在收发信号两种状态,并且可以通过控制相关寄存器的标志位来控制工作状态的切换。DWM1000模块集成了射频无线电设计所需的全部元器件,包括DW1000芯片、天线、平衡-不平衡变换器、石英晶体及无源元件,均集成在一个23×13×2.9的24针侧边城堡形封(side-castellation package)。DWM1000有标准的SPI从接口,速率最高达20 MHz,易于与更多的微控制器结合,而且物理尺寸很少,非常容易集成实时定位系统(RTLS)和无线传感器网络。DW1000是一款符合IEEE802.15.4-2011标准的低能耗、低成本无线收发芯片,该芯片采用的是90 nm的CMOS工艺,数据传输高达6.8 Mb/s,可以工作在6个频带,脉冲持续时间非常短,同时带宽比较宽,时间分辨率良好,因此抗多径能力强,非常适合室内这种环境非常复杂的场景,可视距通信距离达到了300 m,DWM1000与MCU连接如图3所示,即可以构成一个节点。

3.2 处理器模块

DWM1000无线传输模块,因为没有集成微处理器,只能被动地工作,所有的工作内容都要通过DWM1000上的SPI接口与外部的微处理器相连来控制。本文系统中的节点MCU选用的是意法半导体公司推出的互联型系类微控制器STM32F103RC,其使用高性能的ARMCortex-M3内核,工作频率为72 MHz,内置有高达128 KB的闪存和20 KB的SRAM,丰富的I/O端口和连接到APB总线的外设。还包含标准和先进的通信接口:2个I2C接口和2个SPI接口、3个USART接口、1个USB接口和1个CAN接口,本系统中主要用到的是MCU的SPI的接口,DWM1000作为一个从设备通过SPI挂载在MCU上。如图4所示为MCU外围电路。

图3 DWM1000与MCU连接示意图

图4 MCU外围电路

3.3 数据传输模块

为了提高上位机和下位机数据的传输速率,便于后续标签节点的扩展,本系统采用Nordic公司推出的高集成单片无线收发芯片nRF24L01,实现了上位机和下位机之间数据的无线传输。nRF24L01为单片射频收发芯片,可以实现多对一的传输,无线传输距离远,其工作在2.4 GHz全球开放的ISM频段,与UWB的频段不会产生相互干扰,工作速率最高可以达到2 Mb/s,片内集成了频率合成器、功率放大器、晶体振荡器、调制器等功能模块,采用高效的QFSK 调制,抗干扰能力非常强[9-10]。

时钟晶振采用的是16 MHz的无源晶振,nRF2401采用的是单边天线,天线的频率和阻抗必须与射频芯片匹配,以获得最大的传输功率,减少不必要的损耗。天线的阻抗与射频芯片不匹配,因此在外围电路中接入了电感和电容等器件。nRF24L01芯片的外围电路接口如图5所示,nRF24L01芯片与MCU是通过SPI直连,有利于高低速单片机之间进行通信。上位机中通过PC软件中的串口驱动程序读取nRF24L01接收到的数据。

图5 nRF24L01芯片的外围接口电路

4 系统软件设计

4.1 嵌入式软件设计

本系统中采用的开发软件为Keil公司的Keil uVision5,编程语言使用的是C语言,利用J-link进行板级的调试,跑在MCU中的嵌入式软件代码主要实现锚节点到标签节点TOA的测量,然后将获得的信息通过nRF24L01传送到我们的上位机。

嵌入式软件代码的信息处理没有运行实时操作系统的多线程,主要采用串行处理,单线结构。其中主要有STM32的复位模块、系统始终时钟配置模块、定时器配置模块、SPI和uart读写模块、中断处理模块,还有通过MCU的SPI初始化DWM1000的代码块,配置其内部寄存器,使其工作在不同的模式。当DWM1000无线收发芯片收到信号的时候,会通过SPI向MCU发送中断请求,然后主程序中的中断执行程序会去判断中断的具体类型,接收数据的源地址,读取数据TOA信息,然后将读取的信息封装通过nRF24L01发送给上位机。

4.2 上位机软件设计

上位机软件采用的是国外crazyfile团队采用Python和Qt编写的开源GUI(Graphical User Interface,图形用户接口),全部代码开源,可以根据自己的想法进行界面的裁剪。主要功能包括串口数据的读取和锚节点位置显示,Anchor的具体位置是用户自定义,需要事先场地测量,填写在客户端,实时显示Tag的位置。该上位机软件内嵌了改进的TDOA算法和卡尔曼滤波算法,提高了定位精度。如图6所示,红色代表的是锚节点,绿色代表被定位的标签节点。

图6 上位机示意图

5 定位实验

在一间9 m×12 m的房间内固定了4个锚节点,并选取锚节点2作为坐标原点,坐标为A2(0,0),锚节点1作为最初发射源,坐标为A1(3,4),剩余两个锚节点坐标分别为A3(0,6)、A4(6,0);在x=y这条直线上选取10个点进行测试,并完成记录,记录结果如表1所列。共进行了9次待测点的测试,误差在20 cm左右,可以满足大部分的室内定位的要求。

表1 定位系统计算结果

结 语

[1] 方震,赵湛,郭鹏,等. 基于RSSI测距分析[J]. 传感技术学报,2007(11):2526-2530.

[2] Oksar I. A Bluetooth signal strength based indoor localization method[J]. International Conference on Systems, 2014:251-254.

[3] Figuera C, Rojo-A Lvarez J L, Mora-Jime Nez I, et al. Time-Space Sampling and Mobile Device Calibration for WiFi Indoor Location Systems[J]. IEEE Transactions on Mobile Computing,2011,10(7):913-926.

[4] Caffery J J. A new approach to the geometry of TOA location[J].IEEE Vehicular Technology Conference, 2000(4):1943-1949.

[5] 王秀贞. 超宽带无线通信及其定位技术研究[D].上海: 华东师范大学, 2010.

[6] Gustafsson F, Gunnarsson F. Positioning using time-difference of arrival measurements[J]. IEEE International Conference on Acoustics, 2003(6).

[7] 闫潇,张洪顺,宋琦军,等.扩展卡尔曼滤波算法在UWB 定位中的应用[J].通信对抗,2009(1):26-28.

[8] 张桀, 沈重. 联合TDOA改进算法和卡尔曼滤波的UWB室内定位研究[J]. 现代电子技术, 2016, 39(13):1-5.

[9] Semiconductor N.Single Chip 2.4 GHz Transceiver nRF24L01 [EB/OL].(2007-07-01)[2016-12].http://www.nordicsemi.com.

[10] 宏晶科技.STC90C51/RD+系列单片机器件手册,2009.

王震(硕士研究生),主要研究方向为无线传感器网络系统等。

UWB Indoor Positioning System Based on Improved TDOA Algorithm

Wang Zhen,Guo Jian

(Faculty of Physics and Optoelectronic Engineeing,Xiangtan University,Xiangtan 411105,China)

In the paper,an indoor positioning system based on UWB wireless sensor network is proposed.the time difference is obtained through the interaction between the anchor node and the label node information,which is transmitted to the host computer by the nRF24L01.The host computer calculate the position of the target object using the improved TDOA algorithm and calman filtering algorithm,and is displayed in the computer.The experiment results show that the system ultimately makes the indoor positioning is about up to 20 cm or so,the system has anti-multipath capability and high stability,it provides more reference for the wireless sensor network positioning.

indoor location;UWB;multipath interference;Calman filter;TDOA algorithm

TN911.25

A

迪娜

2016-12-01)

猜你喜欢
卡尔曼滤波上位时钟
别样的“时钟”
古代的时钟
特斯拉 风云之老阿姨上位
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
有趣的时钟
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
时钟会开“花”
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制