结合CC2430的基于RSSI测距定位算法

2013-08-30 15:41 来源:电子信息网 作者:铃铛

ZigBee技术中定义了3种设备:协调器(Coordinator),路由器(Router)和终端设备(EndDevice)。协调器主要负责启动整个网络;路由器的功能主要是允许其他设备加入网络及多跳路由等;终端设备一般没有特定的维持网络结构的责任。ZigBee技术通过这3种设备可以构成一个移动自组织的网络,广泛应用在家庭、环境监测、工农业等场合[1]。目前的定位技术总体上可以分为基于测距技术与无需测距技术。前者定位精度较高,后者实现起来比较简单。在测距技术中,有基于接收信号强度(RSSI)、基于到达时间差(TOA)、基于不同波的到达时间差(TDOA)以及到达角度差(AOA)等[24]。在这几种测距技术中,基于RSSI的测距技术将接收到的信号强度转换为节点之间的距离,不需要额外的硬件和数据交换,有成本低、容易实现等优点。本文结合CC2430/CC2431芯片,设计了一种基于RSSI的测距定位算法。

1 RSSI测距的实现原理

基于RSSI的测距技术是利用无线电信号随距离增大而有规律地衰减的原理来测量节点间的距离的。接收信号强度RSSI与传输距离d的关系如下所示[5,8]:RSSI=-(10×n×lgd+A)(1)式中,n表示信号传播常数,也叫传播系数;d表示与发送者的距离;A表示距发送者1 m时的信号强度。测距精度的高低受到n与A实际取值大小的影响较大。A是一个经验参数,可以通过测量距离发送者1 m处的RSSI 值得到。n是用来描述信号强度随距离增加而递减的参量,n的大小依赖具体的环境。为了得到最优的n值,可以先放置好所有的参考节点,然后尝试用不同的n_index值找到最适合这个具体环境的n值。

2 节点组成的定位网络

2.1 CC2430/CC2431芯片介绍

CC2430/CC2431是Chipcon公司(现被TI收购)推出的针对IEEE 802.15.4/ZigBee应用的片上系统,其内部集成了工作在24 GHz的射频收发器,拥有低功耗的8051 MCU内核、128 KB可编程Flash ROM和8 KB RAM,还有A/D转换器、定时器等。另外,CC2431片上系统由CC2430加上Motorola公司基于IEEE 802.15.4标准的无线定位引擎组成。其定位引擎支持3~l6个参考节点的定位运算,最高精度可达05 m;定位时间少于40 μs,定位区域为64 m×64 m,定位误差为3~5 m,与一般软件定位相比,具有定位速度快、定位准确度高、消耗CPU资源少的特点[6]。

CC2430/CC2431主要外围电路图如图1所示。

1


图1 CC2430/CC2431主要外围电路图

2.2 节点构成的定位网络

2


图2 ZigBee定位网络控制界面

ZigBee网络中有一类节点作为协调器,通过串口负责与PC通信;还有一类节点是参考节点,如图2中周边的4个圆圈,地址分别为0x143E、0x0001、0x3CB8、0x287B。这4个节点坐标已知,中间的圆圈(地址0x0002)为盲节点。盲节点可以根据接收信号强度,选取其中3个信号强度比较强的参考节点,采用三边测量法估算出盲节点的坐标位置。如图2所示,盲节点实时显示的坐标为(6.25 m,5.75 m)。

3


图3为CC2431定位引擎的定位流程。

1 2 > 
CC2430 RSSI 测距定位

相关阅读

暂无数据

一周热门