ZIGBEE无线定位技术(CC2431)-zhuan
大多数无线传感器网络都要求具备一种确定网络节点位置的方法。因此在设备安装期间,需要弄清楚哪些节点相互之间直接进行数据交换,或者确定哪些节点直接与中央数据采集点进行数据交换。
当通过基于软件的计算方法来确定网络节点位置时,就需要考虑到市场化解决方案 (market solution)。这些具体的计算方法是:节点首先读取计算节点位置的参数,然后将相关信息传送到中央数据采集点,对节点位置进行计算,最后,再将节点位置的相关参数传回至该节点。这就是典型的数据密集型计算,并且需要配置一台 PC 或高性能的 MCU。
这种计算节点位置的方法之所以只适用于小型的网络和有限的节点数量,是因为进行相关计算所需的流量将随着节点数量的增加而呈指数级速度增加。因此,高流量负载加上带宽的不足限制了这种方法在电池供电网络中的应用。
针对上述问题,CC2431 采用了一种分布式定位计算方法。这种计算方法根据从距离最近的参考节点(其位置是已知的)接收到的信息,对节点进行本地计算,确定相关节点的位置。因此,网络流量的多少将由待测节点范围中节点的数量决定。另外,由于网络流量会随着待测节点数量的增加而成比例递增,因此,CC2431 还允许同一网络中存在大量的待测节点。
本文所提供的结果是根据对 ZigBee 网络的测量得出的,然而,这些测量结果同样适用于基于 IEEE 802.15.4协议构建的更简单的网络。
定位引擎技术
定位引擎根据无线网络中临近射频的接收信号强度指示 (RSSI),计算所需定位的位置。在不同的环境中,两个射频之间的 RSSI 信号会发生明显的变化。例如,当两个射频之间有一位行人时,接收信号将会降低 30dBm。为了补偿这种差异,以及出于对定位结果精确性的考虑,定位引擎将根据来自多达 16 个射频的 RSSI 值,进行相关的定位计算。其依据的理论是:当采用大量的节点后,RSSI 的变化最终将达到平均值。
在 RF 网络中,具有已知位置的定位引擎射频称为参考节点,而需要计算定位位置的节点称为待测节点。
要求在参考节点和待测节点之间传输的唯一信息就是参考节点的 X 和 Y 坐标。定位引擎根据接收到的 X 和 Y 坐标,并结合根据参考节点的数据测量得出的 RSSI 值,计算定位位置。
将定位技术纳入网络协议
一些采用定位引擎的应用可能要求放置若干个参考节点,以作为基础设施设置不可或缺的一部分。ZigBee 技术能够实现对家庭、办公以及工业等应用的无线控制。随着 ZigBee 设备在楼宇基础设施中的安装数量不断增多,ZigBee 将会在家庭和办公自动化方面拥有更为广阔的应用前景。
典型的办公场所都会配置 ZigBee 设备,通过各办公室和会议室中的温度传感器、控制温度调节装置以及 A/C 导管。同时,每个房间还会安装由 ZigBee 控制的灯具开关和设备,而这些设备又易于作为定位引擎的参考节点。将 ZigBee 射频作为 ZigBee 协议栈上的参考节点所需的代码容量通常小于 1 Kb。
定位引擎从3~16 个参考节点采集数据,并使用这些数据计算定位位置。如果定位引擎从 16 个以上的节点接收到数据时,它则会将接收到的参考节点位置进行分类,然后采用 16 个参考节点中信号最强的 RSSI 值。
扩大覆盖范围
定位引擎的覆盖范围为 64m×64m,然而,大多数的应用要求更大的覆盖范围。扩大定位引擎的覆盖范围可以通过两种方法来实现:
* 提高参考节点的输出功率,同时降低定位引擎计算结果的精度;
* 在一个更大的范围布置参考节点,并利用最强的信号进行相关参考节点的定位计算。
由于第二种方法能够在定位引擎扩大覆盖面的同时不牺牲定位精度,因此更为可取。具体的工作原理是:网络中的待测节点发出广播信息,并从各相邻的参考节点采集数据,选择信号最强的参考节点的 X 和 Y 坐标。然后,计算与参考节点相关的其他节点的坐标。最后,对定位引擎中的数据进行处理,并考虑距离最近参考节点的偏移值,从而获得待测节点在大型网络中的实际位置。
为了达到最佳的定位范围,当布置参考节点时,应同时考虑到室内和室外环境中天花板/地板的吸附作用。最佳的方案就是使各节点处于相同的高度,并远离地面、天花板以及墙壁。在实际的部署过程中要达到这种要求,是比较困难的。因此,尽量将参考节点固定在天花板的高度或低于天花板的高度,并使天线倒置以使 RF 信号向外和向下传输,同时将待测节点(手持或固定于设备)放置在人的腰部以上、头部以下位置(此处提到的高度是以人站立在该环境中为标准的)。节点的这种设置方法实现了天花板和地板吸附作用的最小化,同时将实现在该场所中的行人或物体之间相互干扰的最小化。
定位引擎的精确性
为了确保定位引擎的室内性能,在办公环境中将采用具有 8 个参考节点的网络。根据现有表面将参考节点置于办公室的角落位置,如办公桌椅表面或其它介于人的腰部和肩部之间的表面。8 个参考节点分别用 A~H 8个字母来命名。
在 6 个选定的位置采集定位估计值数据,每一位置的定位数据平均有 20 个读取点。相关测试结果如表1所示。
在采集 8 个参考节点的数据后,将6个新增的参考节点添加到系统中。接下来,在 4 个相同的位置,重新进行定位估计测算,观察这些新增的参考节点对定位估计值的影响。
14 个参考节点的测量结果如表 2 所示。
当节点位置进入网络的覆盖范围时,定位的精确性将明显提高。而且,当网络中设置的参考节点增多时,定位的精确性也将会不断提高。在本试验中,增设 6 个参考节点后,4个位置的定位精确性都会有所提高,同时降低了各定位报告位置的标准偏差(一致性)。
提高精确性
定位引擎采用来自附近参考节点的 RSSI 测量值来计算待测节点的位置。RSSI 将随着天线设计、周围环境以及包括若干其他因素在内的其他附近 RF 源的变化而变化。定位引擎将数个节点的位置信息加以平均。增加节点的数量,则可降低对各节点具体测试结果的依赖性,同时全面提高精确度。
无论在什么情况下设置参考节点,都会影响到定位的精确性,这主要是因为当参考节点设置在离相关表面很近的地方时,会产生天花板或地板的吸附作用。因此,应尽量使用在各方位都具备相同发射能力的全向天线。
200字以内,仅用于支线交流,主线讨论请采用回复功能。