导航:首页 > 源码编译 > zigbee算法

zigbee算法

发布时间:2025-08-03 10:15:43

Ⅰ 51GIS学院分享室内导航定位技术研究进展与展望

室内导航定位技术研究进展与展望的答案为

一、室内导航定位技术的主要进展

  1. 多种定位方法的发展:室内定位系统大都基于临近探测、三角定位、多边定位、指纹定位法等方法实现,为了提高精度,常采用组合定位的方法。近年来,针对行人航位推算法和指纹法的改进算法研究颇多,旨在减少漂移误差和提高定位精度。
  2. 基于传感器的定位技术:包括红外线定位、超声波定位、惯性导航定位和视觉定位等。这些技术通过不同的原理采集位置信息,如红外线采用多边定位,超声波通过计算时间差测距,惯性导航利用传感器采集参数信息,视觉定位则采用图像匹配等方法。
  3. 基于射频信号的定位技术:如WiFi定位、蓝牙定位、紫蜂定位、蜂窝网络定位和射频识别定位等。其中,WiFi定位因其低成本和广泛适用性而备受关注。蓝牙定位和ZigBee定位具有功耗低、近距离等优点,但稳定性差、受环境干扰大。射频识别定位则具有辐射距离远、定位精度高等特点。

二、室内导航定位技术的未来展望

  1. 多技术融合与算法优化:融合多种定位技术进行室内定位是目前研究的热点。未来将继续探索新的多技术融合方案,以及信息融合算法的优化,以提高定位的准确性和稳定性。
  2. 低功耗优化:随着物联网设备的普及,低功耗成为室内导航定位技术的重要发展方向。未来将致力于优化设备功耗,延长设备使用寿命。
  3. 寻找新的定位源和方法:为了突破现有技术的局限,未来将积极寻找新的定位源和定位方法,如利用5G网络等新技术进行室内定位。
  4. 注重数据安全与隐私保护:随着室内导航定位技术的广泛应用,数据安全与隐私问题日益凸显。未来将加强数据安全技术研究,确保用户位置信息的隐私和安全。

Ⅱ zigbee路由协议具有怎样的特点

一、ZigBee网络层次结构与地址分配机制

ZigBee网络中的所有节点都有两个地址:一个16位网络短地址和一个64位IEEE扩展地址。其中16位网络地址仅仅在网络内部使用,用于路由机制和数据传输。这个地址是在节点加入网络时由

其父节点动态分配的。当网络中的节点允许一个新节点通过它加入网络时,它们之间就形成了父子关系。所有加入ZigBee网络的节点一同组成一棵逻辑树,逻辑树中的每一个节点都拥有以下两个参量:

1)16-bit的网络地址。只负责节点之间数据传输

2)网络深度。即从该节点到根节点协调器的最短跳数,标识了该节点在网

络拓扑图中的层次位置。

当协调器(coordinator)建立了一个新的网络后,它首先将自己的16位网络地址初始化为O,同时初始化自己的网络深度Deptg,=0。


下通过一个具体的实例来说明ZigBee网络父节点为子节点分配16位地址的规范。假设一个节点Node(n)想要加入网络。Node(n)首先发起网络
发现过程,获取信道上的信标并进行信道选择后,决定连接到已经在网络中的节点Node(k)。随后Node(n)向Node(k)发起入网的关联请求。关
联请求获得批准后,Node(n)式加入网络。Node(k)称为Node(n)的父节点。可以假设已经存在在网络中的父节点Node(k)的地址为
Depthk=Depthk+1。


图是ZigBee树状结构视图。这里引入三个辅助参数: 参数表示每个深度可以容纳的最大子节点个数(Max Children),
表示每个深度可以容纳的最大路由器个数(Max Router),。
表示整个网络的最大深度。根据以上说明,ZigBee网络父节点为网络深度d,子节点进行地址分配的规则如下:

(1)假设节点Node(n)是接入其父节点的第n个简化功能设备节点(RED),即没有路由能力的节点,则它的父节点Node(n)将会为它分配如F的地址:

(2)设节点Node(n)是接入其父节点的第n个全功能设备节点(FFD),即具各路由能力的节点,则它的父节点Node(n)将会为它分配如下的地址:

其中

当一个路由节点的 为0时,它就不再具备为子节点分配地址的能力,即该路由节点不能在接收新的节点加入网络。

二、ZigBee路由协议分析


由技术主要作用是为数据以最佳路径通过通信子网到达目的节点提供服务。在传统的OSI参考模型中,网络层实现路由功能。路由协议是自组网体系结构中不可或
缺的重要组成部分,其主要作用是发现和维护路由.具体的说主要有以下几个方面:监控网络拓扑结构的变化,交换路由信息,确定目的节点的位置,产生、维护以
及取消路由,选择路由并转发数据。。为了达到低成本,低功耗,可靠性高的设计目标,ZigBee协议采用以下两种算法的结合体作为自身的路由算法[1]
[2]。

(1) AODV:Ad-Hoc On-Demand Distance Vector(按需距离矢量路由)

(2) Cluster-Tree algorithm(树型网络结构路由)


中AODV路由协议是一种按需路由协议,利用扩展环搜索的办法来限制搜索发现过的目的节点的范围,支持组播,可以实现在ZigBee节点间动态的,自发的
路由,使节点很快的获得通向所需目的的的路由。这也是ZigBee路由协议的核心。针对自身的特点,ZigBee网络中使用一种简化版本的AODV协议
(AODV Junior,AODVjr[3])。

Cluster-Tree算法包括地址的分配(configuration of addresses)与寻址路由两部分(addresses routing)。包括子节点的16位网络短地址的分配,以及根据目的节点的网络地址来计算下一跳的算法。


为两种算法的结合体,ZigBee网络中,节点可以按照网络树状结构的父子关系使用Cluster-Tree算法选择路径。即每一个节点都会试图将收到的
信息包转发给自己的后代节点,如果通过计算发现目的地址不是自己的一个后代节点,则将这个数据包转发给自身上一级的父节点,由父节点进行类似的判断处理,
直到找到目的节点。Cluster-Tree算法的特点在于使不具有路由功能的节点间通过与各自的父节点间的通信仍然可以发送数据分组和控制分组,但它的
缺点是效率不高。为了提高效率,ZigBee中允许具有路由功能的节点使用AODVjr算法去发现路由,让具有路由功能的节点可以不按照父子关系而直接发
送信息到其通信范围内的其他节点。

三、Cluster-Tree路由算法

Cluster-
Tree路由算法的描述如下:当一个网络地址为A,网络深度为d的路由节点(FFD)收到目的地址为D的转发数据包时,路由节点首先要判断目的地址D是否
为自身的一个子节点,然后根据判断的结果采取不同的方式来处理这个数据。若地址D满足一下判别式,则可以判断D地址节点是A地址节点的一个后代节点:

如果D不在这个范围之内则D地址节点是A地址节点的父节点。

判断后采取的数据包转发措施如下:

1) 目的节点是自身的一个后代节点,则下一跳(next hop)的节点地址为

2) 目的节点不是自身的一个后代节点,路由节点将把该包送交自己的父节点处理。这一点与TCP/IP协议中路由器将路由表项中不存在的数据包自己的网关处理类似。

四、AODVjr路由算法

AODVjr路由时一种按需分配的路由协议,只有在路由节点接收到网络数据包,并且网络数据包的目的地址不在节点的路由表中时才会进行路由发现过程。也就是说,路由表的内容是按照需要建立的,而且她可能仅仅是整个网络拓扑结构的一部分。

AODVjr
的优点是,相对于有线网络的路由协议而言,它不需要周期性的路由信息广播,节省了一定的网络资源,并降低了网络功耗。缺点是在需要时才发起路由寻找过程,
会增加数据到达目的地址的时间。由于ZigBee网络中对数据的实时性要求不大,而更重视对网络能量的节省,因此AODVjr非常适合应用在ZigBee
网络中。

一次路由建立由以下三个步骤组成:

1) 路由发现

2) 反向路由建立

3) 正向路由的建立

经过这三个步骤,即可建立起一条路由节点到目的节点的有效传输路径。在这个路由建立过程中,AODVjr使用3种消息作为控制信息:

1)Route Request(RREQ),路由请求

2)Route Replies(RREP),路由回复

3)Route Error(RERR),路由错误

以下将对路由建立的三个过程进行详细描述。

(1)路由发现过程

对于一个具有路由能力的节点,当接收到一个从网络层的更高层发出的发送数据帧的请求,且路由表中没有和目的节点对应的条目时,它就会发起路由发现过程。源节点首先创建一个路由请求分组(RREQ),并使用多播(Multi.Broadcast)的方式向周围节点进行广播。

如果一个节点发起了路由发现过程,它就应该建立相应的路由表条目和路由发现表条目,状态设置为路由发现中。任何一个节点都可能从不同的邻居节点处接收到广播的RREQ。接收到后节点将进行如下分析:

1)如果是第一次接收到这个RREQ消息,且消息的目的地址不是自己,则节点会保留这个RREQ分组的信息用于建立反向路径,然后将这个RREQ消息广播出去。

2)如果之前已经接受过这个RREQ消息,表明这是由于网络内多个节点频繁广播产生的多余消息,对路由建立过程没有任何作用,则节点将丢弃这个消息。

(2)反向路由建立过程


RREQ消息从一个源节点转发到不同的目的地时,沿途所经过的节点都要自动建立到源节点的反向路由。也就是记录当前接收到的RREQ消息是由哪一个节点转
发而来的的。通过记录收到的第一个RREQ消息的邻居地址来建立反向路由,这些反向路由将会维持一定时间,该段时间足够RREQ消息在网内转发以及产生的
RREP消息返回源节点。

当RREQ消息最终到达了目的节点,节点验证RREQ
中的目的地址为自己的地址之后,目的节点就会产生RREP消息,作为一个对RREQ消息的应答。由于之前已经建立了明确的反向路由,因此RREP无需进行
广播,只需按照反向路由的指导,采取单播的方式即可把RREP消息传送给源节点。

(3)正向路由建立过程


RREP以单播方式转发回源节点的过程中,沿着这条路径上的每一个节点都会根据PREP的指导建立到目的节点的路由,也就是说确定到目的地址节点的下一跳
(next-hop)。方法就是记录RREP是从哪一个节点传播而来.然后将该邻居节点写入路由表中的路由表项。一直到RREP传送到源节点。至此.一次
路由建立过程完毕。源节点与目标节点之间可以开始数据传输。可以看出,AODV是按照需求驱动的、使用RREQ.RREP控制实现的、先广播,后单播的路
由的路由建立过程。

具体请看:http://hanbo31.blog.163.com/blog/static/12282196820114319221316/

Ⅲ 如何避免2.4GHz ISM频段下各种无线设备的干扰

避免冲突的技术 除了解每项技术的工作原理外,了解上述技术在同构及异构环境下的相互作用也很重要。 Wi-Fi的免冲突算法在发射前会侦听“安静”的通道,这样多个 Wi-Fi 客户端能有效地与单一 Wi-Fi 接入点通信。如果 Wi-Fi 通道噪声很大,则Wi-Fi 设备在再次聆听该通道前进行随机退避。如果通道噪声仍然较大,那么会重复此过程直至通道安静为止。一旦通道安静下来,Wi-Fi设备将开始发射。如果通道一直嘈杂,那么 Wi-Fi 设备就会寻找另条通道上的其他可用接入点。 使用相同或重叠通道的 Wi-Fi 网络通过免冲突算法可以实现共存,但每个网络的吞吐量会有所下降。如果同一区域使用多个网络,那么我们最好使用非重叠的通道,比如通道1、6 和 11,这能提高每个网络的吞吐量,因为无需与其他网络共用带宽。 由于蓝牙发射的跳频特性,故来自蓝牙的干扰最小。如果蓝牙设备在一个与 Wi-Fi 通道重叠的频率上发射,而Wi-Fi设备此时正在进行“发射前侦听”,则 Wi-Fi 设备会执行随机退避,在这期间,蓝牙设备会跳转到一个非重叠的通道,以允许 Wi-Fi 设备可开始发射。 即便无绳电话使用的是 FHSS 而不是 DSSS,来自 2.4 GHz 无绳电话的干扰也可完全中断 Wi-Fi 网络完全的工作,部分原因是因为与蓝牙(1MHz)相比其占用更宽的通道(5-10MHz),以及无绳电话信号具有更高的功率。跳转到 Wi-Fi 通道中间的 FHSS 无绳电话信号能够破坏 Wi-Fi 发射,这就导致 Wi-Fi 设备要重复发射。2.4 GHz FHSS 无绳电话很可能会干扰邻近所有 Wi-Fi 设备,因此我们不建议在 Wi-Fi 网络附近使用这种电话。如果无绳电话使用 DSSS,那么无绳电话和 Wi-Fi接入点使用的通道可配置成互不重叠,以消除干扰。 解决蓝牙的干扰 在蓝牙中,来自其他蓝牙微网的干扰最小,因为每个微网都使用它自己的伪随机跳频模式。如果两个共处的微网被激活,则发生冲突的概率为 1/79。冲突的概率随共处的有效微网的数量呈线性增加。 蓝牙最初采用跳频算法来处理干扰,不过人们意识到,单个活动的 Wi-Fi 网络会对四分之一的蓝牙通道造成严重干扰。由于通道重叠导致的数据包丢失必须在空闲的通道上重新发射,这就大幅降低了蓝牙设备的吞吐量。 蓝牙规范 1.2 版通过定义自适应跳频(AFH)算法来解决上述问题,这种算法使蓝牙设备能将通道标为好、坏或未知三种状态。跳频模式中的坏通道可通过查询表由好通道来取代。蓝牙主设备会定期聆听坏通道,以确定干扰是否消失;如果干扰消失,那么就将通道标记为好通道并将其从查询表中删除。蓝牙从设备应主设备请求也能向主设备发送报告,告知其对通道质量的评估。举例来说,从设备可能侦听到主设备未聆听到的 Wi-Fi 网络。联邦通讯委员会(FCC)要求至少使用 15 个不同的通道。 AFH 算法使蓝牙能避免使用 Wi-Fi 和 WirelessUSB 等 DSSS 系统占用的通道。2.4 GHz FHSS 无绳电话仍可能会对蓝牙设备造成干扰,因为这两种系统都是在整个 2.4 GHz ISM 频段上以跳频方式工作,不过,由于蓝牙信号的带仅为1 MHz,因此 FHSS 无绳电话与蓝牙之间的冲突频率要远小于 Wi-Fi 和 FHSS 无绳电话之间的冲突频率。 蓝牙还支持三种不同的数据包长度,在给定信道上表现为具有不同的驻留时间。蓝牙还可通过缩短数据包长度,以提高数据吞吐量可靠性。在此情况下,最好是使较小数据包以较低的速率通过,这比以正常速率会丢失较大的数据包更为可取。 解决WirelessUSB和ZigBee的干扰问题 在WirelessUSB中,每个网络在选择通道前都会检查其他WirelessUSB网络。因此,其他WirelessUSB网络造成的干扰极小。WirelessUSB至少每50 ms都会检查一下通道的噪声大小。Wi-Fi设备造成的干扰会导致持续的高噪声,这就会使WirelessUSB主设备选择新的通道。WirelessUSB能与多个Wi-Fi网络和平共处,因为WirelessUSB能发现Wi-Fi网络之间的安静通道(图2)。 图2:WirelessUSB 设计方案的频率捷变性方框图。蓝牙的干扰可能会引起 WirelessUSB 数据包的重发射。由于蓝牙的跳频特性,WirelessUSB 数据包的重发射不会与下一次蓝牙传输发生冲突,因为蓝牙设备会跳到另一个通道。蓝牙网络不会造成足够连续高的噪声电平来迫使无线USB主设备改变信道。 ZigBee 规定了一种类似于 802.11b 的免冲突算法;每个设备在发射数据之前都会侦听通道,从而使ZigBee 设备之间的冲突频率达到最小。ZigBee 在干扰严重的情况下不会改变通道,而是通过低占空比以及免冲突算法来尽可能减少冲突造成的数据丢损失。如果 ZigBee 使用的通道与一个频繁使用的 Wi-Fi 通道相重叠,则现场实验结果显示,由于数据包冲突的缘故,有五分之一的 ZigBee 数据包都需要重发射。 我们能采取什么措施? 在开发蓝牙、Wi-Fi 或 ZigBee 解决方案时,设计人员必须使用规范中所提供的方法。在开发一种基于802.15.4、WirelessUSB 或其他 2.4 GHz 无线电的专用系统时,设计人员可使用较低级的工具即可获得频率捷变性。 由于存在与其他 DSSS 系统相重叠的风险,DSSS 系统最可能发生工作失败的情况。不过 DSSS 系统也能通过一定方式实现与 FHSS 系统类似的频率捷变性,方法之一就是通过网络监视。如果 DSSS 系统使用轮询协议(所期望数据包以规定间隔出现),那么主设备可在多次传输尝试失败或连续接收到损坏数据包情况下改变通道。 还有一种办法就是在无线电设备支持的情况下读取空中传输信号的功率等级。我们可用接收信号强度指示器 (RSSI)来预先测量空中传输通道的功率,如果功率等级在一定时期内过高,则会切换到另一个无干扰的通道。之所以考虑这一段时间是为了在 FHSS 系统通过的情况下不改变信道。 网络监视和 RSSI 读取都假设无线电均为可发射也可接收数据包的收发器。在一个一端为发射器而另一端为接收器 DSSS 系统中,我们可通过多重发射技术来实现频率捷变性。发射器使用多种频率发送同一个数据包,而接收器则以较低速度在接收通道中循环接收。当接收器连接到电源上并且电池供电发射器使用不频繁时,这种系统是可行的。无线遥控器就可以使用这种方法。

阅读全文

与zigbee算法相关的资料

热点内容
安卓十版本有什么 浏览:553
程序员老刘 浏览:254
跑团的app是什么 浏览:527
程序员学钢琴好吗 浏览:252
android开源3d引擎 浏览:207
歌唱pdf 浏览:417
javaofficepdf 浏览:198
商业数据怎么加密 浏览:637
云服务器控制台指令 浏览:894
福建北斗授时服务器云服务器 浏览:29
我的世界命令方块如何做无限钻石矿指令 浏览:528
布兰德的命令 浏览:547
钉钉的加密视频通话路径会保存吗 浏览:842
pythonmemcache模块 浏览:465
美容院记账app哪个好 浏览:243
做鬼畜需要什么app 浏览:539
单片机课程电子秒表 浏览:70
主力监控源码是什么 浏览:855
app夜色live是什么 浏览:199
微信视频加密如何恢复 浏览:655