level 5
绝零残冰
楼主
CC2431 定位引擎
1 关键字.CC2430 .ZigBee.CC2431 .定位引擎2 简介 本文描述了CC2431的定位引擎,CC2431是一个在片ZigBee系统,所以它自然地被用于ZigBee网络的定位工程。这个手册尽可能地写得通俗并且不描述任何有关协议的特殊概念。本文的主要目的是提供一些定位技术的基本概念,并且提供一些使用CC2431定位工程的简易开发系统的线索和提示。本文应被作为CC2431和CC2430数据手册之外的扩展。3 定位工程 在CC2431定位工程中使用的算法基于接收信号强度指示器(RSSI)的数值。RSSI值随距离增加而减小。图片1显示了一个简单的定位检测系统,“参考点”是一个被放在已知地点的静态结点。为简化起见这个结点知道它自己的位置并且能告诉其他节点。参考节点不需要执行硬件的位置检测,它甚至不需要执行任何计算。一个“盲节点”是基于CC2431建立的,这个节点向参考节点发出请求并接收参考节电的响应信号,读出接收到的RSSI数值,并送入硬件引擎,然后读出计算后的位置并发送位置信息到一个应用软件。从参考节点发送到盲节点的数据包的最少数据是参考节点的“X”和“Y”参数。RSSI值由接收端计算,如“盲节点”。定位工程的主要特性是定位计算能够被每一个盲节点运行,因此运算被分散了。这个特性减少了在网络中传输数据的总量,所以只有计算后的位置被传送,而不是用于计算位置的数据。 在自然环境中为了映射每个特殊区域为一个明确的位置,两个空间栅格被使用。方向将表示为X,Y。在所有的图片中X定义为横向,Y为纵向。CC2431定位引擎只能掌握两个维度,但是软件有可能掌握第三维度(例如:表现建筑的天花板)。坐标点(X,Y)=(0,0)是栅格的左上角。3.1 节点类型3.1.1 参考节点 具有静态位置的节点叫做参考节点,参考节点必须配置反映物理位置的X和Y值。参考节点的主要任务是提供包含XY坐标的“参考”包给盲节点,也可做为锚定节点被查阅。由于这个节点一点也不需要使用硬件定位引擎,所以不必使用CC2431作为这样的用途。这意味着参考节点能在CC2430或CC2431上运行。因为CC2430/31是基于与CC2420同样的收发器,所以即使是CC2420配合一个适当的MPU就能用于参考节点。3.1.2 盲节点 一个盲节点与离它最近的参考节点通信,收集每个参考节点的X,Y,RSSI,并使用硬件定位引擎计算它自己的位置。然后计算出的位置被发送到一个控制站。这个控制站应该是一个PC或系统内的另一个节点。盲节点必须使用CC2431。3.2 定位硬件 定位引擎利用了一个从软件层面看来极端简单的接口,写入参数,等待计算,读出计算后的位置。这章将讨论参数的区别和如何被解释的。3.2.1 输入表1显示输入定位硬件所有的必须输入。全部数值的详细描述会在本文最后。下面是一个简短介绍。
名称 最小值 最大值 描述
A 30 50 RSSI绝对值单位dbm距离发送器1米
N_index 0 31 这个值代表了信号传播指数,这个值建立在自然环境之上
RSSI 40 95 接收信号强度指示器,这个值测量单位dbm。定位引擎使用绝对值作为输入
X,Y 0 63.75 这个值表示相对于一个固定节点的X,Y坐标。这个值单位为米,精度0.25米
表1:硬件输入参数3.2.2 输出
名称 最小值 最大值 描述
X,Y 0 63.5 这个值表示计算后的相对于一个固定节点的XY坐标。单位米
表2:定位引擎输出4
接收信号强度指示器(RSSI)当CC2430/31接收一个包后它会自动添加RSSI值到接收包。RSSI值总是8个符号周期(128us)的平均。RSSI值被表示成一个单字节值,一个2秒余角值。当一个包从CC2431的FIFO中读出时,倒数第二个字节将包含RSSI值(在接收真实包的8个符号后测量的)。即使RSSI值与接收到的数据包同时被捕获,RSSI值也会反映在那时接收信号的强度,不必非得是属于接收数据的信号功率。这样给了RSSI值出错的机会,当大量的节点正在同样的频道上对话时被捕获的RSSI值。
n D(0) D(1) D(2) D(n-2) RSSI CRC/corr
图3:接收数据包CC2430/31 包含一个寄存器称做RSSI。这个寄存器掌握着与上面所描述的相同值,但是它在包接收时是不锁定的,因此寄存器值不应用于进一步的计算。只有与接收数据关联并被锁定的RSS值能被解释成精确测量的RSSI值。
4.1 偏移 RSSI值上面被描述为带符号2秒余角。数值不能作为接收信号强度被读取和解释。为了将真实的读出值转换成接收信号强度一个偏移量必须被加入。在数据表中给出的偏移量近似-45,这个偏移量更多地依赖天线结构。
4.2 线性 在TI实验室的测量显示了芯片RSSI的测量值非常完美地匹配信号输入功率。在CC2430数据表中线性曲线被绘制成输入功率与RSSI值相对应。4.3 信号传播理论 接收信号强度是发射功率和发送接收之间距离的函数。象下面方程显示的那样接收信号强度随距离增加而减小RSSI= -(10nlog10d+A)。n:信号传播常量,也叫做传播指数。。d:与发送端距离。A:在1米距离接收信号强度A和n更广泛的讨论在第5章。
4.4 RSSI 实践思路 (
4.3)节描述了理论上RSSI值为距离的函数。本节将讨论RSSI值如何在真实世界被用于测量。当使用理想的信号强度公式计算的是理想直线方向,但是当使用真实值不确定性必须计入估计值。最大的不确定性在于硬件,但有些软件也应被加入以增加精度。本节提供的方法有一个主要目标:获得一个在最大程度上正确反映距离的RSSI值。
4.4.1 过滤RSSI值的简单方法 各种不同的滤波器能够用于平滑RSSI值。两个通用的滤波器是平均和反馈滤波器。平均是最基本的滤波类型,但是它要求更多的数据包被传送。反馈滤波器仅使用最近的RSSI值的小部分数据用于每次计算。这样需求数据少,但增加了计算新位置的延时。平均RSSI值是简单地接收每一个参考节点一些数据包的RSSI测量值并且根据下面的等式进行计算。如果要选用一个进似的滤波器,它能被显示成如下的样子。在这个等式中变量a典型值0。75或更高。
4.4.2算的RSSI 对比 测量的RSSI
http://www.gbblxy.com/forum.php?mod=viewthread&tid=5349&extra=page%3D1
2015年08月13日 01点08分
1
1 关键字.CC2430 .ZigBee.CC2431 .定位引擎2 简介 本文描述了CC2431的定位引擎,CC2431是一个在片ZigBee系统,所以它自然地被用于ZigBee网络的定位工程。这个手册尽可能地写得通俗并且不描述任何有关协议的特殊概念。本文的主要目的是提供一些定位技术的基本概念,并且提供一些使用CC2431定位工程的简易开发系统的线索和提示。本文应被作为CC2431和CC2430数据手册之外的扩展。3 定位工程 在CC2431定位工程中使用的算法基于接收信号强度指示器(RSSI)的数值。RSSI值随距离增加而减小。图片1显示了一个简单的定位检测系统,“参考点”是一个被放在已知地点的静态结点。为简化起见这个结点知道它自己的位置并且能告诉其他节点。参考节点不需要执行硬件的位置检测,它甚至不需要执行任何计算。一个“盲节点”是基于CC2431建立的,这个节点向参考节点发出请求并接收参考节电的响应信号,读出接收到的RSSI数值,并送入硬件引擎,然后读出计算后的位置并发送位置信息到一个应用软件。从参考节点发送到盲节点的数据包的最少数据是参考节点的“X”和“Y”参数。RSSI值由接收端计算,如“盲节点”。定位工程的主要特性是定位计算能够被每一个盲节点运行,因此运算被分散了。这个特性减少了在网络中传输数据的总量,所以只有计算后的位置被传送,而不是用于计算位置的数据。 在自然环境中为了映射每个特殊区域为一个明确的位置,两个空间栅格被使用。方向将表示为X,Y。在所有的图片中X定义为横向,Y为纵向。CC2431定位引擎只能掌握两个维度,但是软件有可能掌握第三维度(例如:表现建筑的天花板)。坐标点(X,Y)=(0,0)是栅格的左上角。3.1 节点类型3.1.1 参考节点 具有静态位置的节点叫做参考节点,参考节点必须配置反映物理位置的X和Y值。参考节点的主要任务是提供包含XY坐标的“参考”包给盲节点,也可做为锚定节点被查阅。由于这个节点一点也不需要使用硬件定位引擎,所以不必使用CC2431作为这样的用途。这意味着参考节点能在CC2430或CC2431上运行。因为CC2430/31是基于与CC2420同样的收发器,所以即使是CC2420配合一个适当的MPU就能用于参考节点。3.1.2 盲节点 一个盲节点与离它最近的参考节点通信,收集每个参考节点的X,Y,RSSI,并使用硬件定位引擎计算它自己的位置。然后计算出的位置被发送到一个控制站。这个控制站应该是一个PC或系统内的另一个节点。盲节点必须使用CC2431。3.2 定位硬件 定位引擎利用了一个从软件层面看来极端简单的接口,写入参数,等待计算,读出计算后的位置。这章将讨论参数的区别和如何被解释的。3.2.1 输入表1显示输入定位硬件所有的必须输入。全部数值的详细描述会在本文最后。下面是一个简短介绍。
名称 最小值 最大值 描述
A 30 50 RSSI绝对值单位dbm距离发送器1米
N_index 0 31 这个值代表了信号传播指数,这个值建立在自然环境之上
RSSI 40 95 接收信号强度指示器,这个值测量单位dbm。定位引擎使用绝对值作为输入
X,Y 0 63.75 这个值表示相对于一个固定节点的X,Y坐标。这个值单位为米,精度0.25米
表1:硬件输入参数3.2.2 输出
名称 最小值 最大值 描述
X,Y 0 63.5 这个值表示计算后的相对于一个固定节点的XY坐标。单位米
表2:定位引擎输出4
接收信号强度指示器(RSSI)当CC2430/31接收一个包后它会自动添加RSSI值到接收包。RSSI值总是8个符号周期(128us)的平均。RSSI值被表示成一个单字节值,一个2秒余角值。当一个包从CC2431的FIFO中读出时,倒数第二个字节将包含RSSI值(在接收真实包的8个符号后测量的)。即使RSSI值与接收到的数据包同时被捕获,RSSI值也会反映在那时接收信号的强度,不必非得是属于接收数据的信号功率。这样给了RSSI值出错的机会,当大量的节点正在同样的频道上对话时被捕获的RSSI值。
n D(0) D(1) D(2) D(n-2) RSSI CRC/corr
图3:接收数据包CC2430/31 包含一个寄存器称做RSSI。这个寄存器掌握着与上面所描述的相同值,但是它在包接收时是不锁定的,因此寄存器值不应用于进一步的计算。只有与接收数据关联并被锁定的RSS值能被解释成精确测量的RSSI值。
4.1 偏移 RSSI值上面被描述为带符号2秒余角。数值不能作为接收信号强度被读取和解释。为了将真实的读出值转换成接收信号强度一个偏移量必须被加入。在数据表中给出的偏移量近似-45,这个偏移量更多地依赖天线结构。
4.2 线性 在TI实验室的测量显示了芯片RSSI的测量值非常完美地匹配信号输入功率。在CC2430数据表中线性曲线被绘制成输入功率与RSSI值相对应。4.3 信号传播理论 接收信号强度是发射功率和发送接收之间距离的函数。象下面方程显示的那样接收信号强度随距离增加而减小RSSI= -(10nlog10d+A)。n:信号传播常量,也叫做传播指数。。d:与发送端距离。A:在1米距离接收信号强度A和n更广泛的讨论在第5章。
4.4 RSSI 实践思路 (
4.3)节描述了理论上RSSI值为距离的函数。本节将讨论RSSI值如何在真实世界被用于测量。当使用理想的信号强度公式计算的是理想直线方向,但是当使用真实值不确定性必须计入估计值。最大的不确定性在于硬件,但有些软件也应被加入以增加精度。本节提供的方法有一个主要目标:获得一个在最大程度上正确反映距离的RSSI值。
4.4.1 过滤RSSI值的简单方法 各种不同的滤波器能够用于平滑RSSI值。两个通用的滤波器是平均和反馈滤波器。平均是最基本的滤波类型,但是它要求更多的数据包被传送。反馈滤波器仅使用最近的RSSI值的小部分数据用于每次计算。这样需求数据少,但增加了计算新位置的延时。平均RSSI值是简单地接收每一个参考节点一些数据包的RSSI测量值并且根据下面的等式进行计算。如果要选用一个进似的滤波器,它能被显示成如下的样子。在这个等式中变量a典型值0。75或更高。
4.4.2算的RSSI 对比 测量的RSSI
http://www.gbblxy.com/forum.php?mod=viewthread&tid=5349&extra=page%3D1