【《蓝牙Mesh网络及广播算法概述》9500字】_第1页
【《蓝牙Mesh网络及广播算法概述》9500字】_第2页
【《蓝牙Mesh网络及广播算法概述》9500字】_第3页
【《蓝牙Mesh网络及广播算法概述》9500字】_第4页
【《蓝牙Mesh网络及广播算法概述》9500字】_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

蓝牙Mesh网络及广播算法概述目录TOC\o"1-3"\h\u10806蓝牙Mesh网络及广播算法概述 116611.1低功耗蓝牙技术和蓝牙Mesh网络基础 1316681.1.1BLE技术概述 1271611.1.2蓝牙Mesh协议栈架构 4123531.1.3蓝牙Mesh协议栈承载层和网络层 6305781.2蓝牙Mesh网络中的管理泛洪算法原理 9112201.3经典的泛洪优化算法原理介绍 11112631.3.1基于计数器的优化方式 12250841.3.2基于概率的优化方式 12126041.3.3基于区域的优化方式 13291241.3.4基于邻居信息的优化方式 14244511.4应用场景和问题分析 1465791.4.1蓝牙Mesh网络的应用场景和特点 14277831.4.2管理泛洪算法在高密度场景下的问题分析 1532841.4.3优化蓝牙Mesh网络泛洪算法的方向 18本章首先介绍低功耗蓝牙技术和蓝牙Mesh网络的概念和原理,然后介绍蓝牙Mesh网络中采用的管理泛洪算法的基本原理。接着对移动自组织网络中常用的经典的广播算法进行介绍和分析。进而对蓝牙Mesh网络的应用场景以及蓝牙Mesh技术自身的特点和在应用过程中面临的问题做出分析。最后,指出对蓝牙Mesh网络采用的管理泛洪算法进行优化的方向与本文的设计思想。1.1低功耗蓝牙技术和蓝牙Mesh网络基础低功耗蓝牙技术是蓝牙Mesh技术的基石,因此本节将对低功耗蓝牙技术和蓝牙Mesh网络原理进行概述,然后再介绍蓝牙Mesh协议的基本原理。1.1.1BLE技术概述蓝牙技术分类两大类,分别是经典蓝牙技术和低功耗蓝牙技术。经典蓝牙适用于数据量大的场景,例如音频设备。低功耗蓝牙技术则适用于数据量小、对能耗敏感的场景,例如智能建筑中传感器。低功耗蓝牙的功耗只有经典蓝牙的的1%~50%左右。同时,低功耗蓝牙也拥有更快的响应速度,可在几毫秒内完成通信并且传输数据,低功耗蓝牙更适用于对功耗和响应速度要求高的物联网领域。经典蓝牙和低功耗蓝牙都运行在国际通用的1.4GISM(工业、科学、医学)免费频段,许多经典的无线通信技术,如WiFi、ZigBee等技术也采用这一免费频段[3]。虽然低功耗蓝牙技术脱胎于经典蓝牙技术,但低功耗蓝牙技术和经典蓝牙技术从本质上属于不同的无线电技术,经典蓝牙与低功耗蓝牙之间不能直接通信。低功耗蓝牙运行频段在1.402GHz-1.480GHz之间,每个信道占用2MHz,所以低功耗蓝牙一共只有40个信道。经典蓝牙同样运行在1.402GHz-1.480GHz之间,但每个信道占用1MHz,因此经典蓝牙拥有79个信道ADDINNE.Ref.{C568DD96-09D5-4A16-95CC-6AF4648EA736}[31]。表2-1中列出了经典蓝牙和低功耗蓝牙的对比。表2-1经典蓝牙与低功耗蓝牙主要内容对比项目经典蓝牙(BluetoothClassic)低功耗蓝牙(BluetoothLowEnergy)工作频率1.402-1.480GHz1.402-1.480GHz信道状况79个信道,每个信道占用1MHz40个信道(37个数据信道和3个广播信道),每个信道占2MHz信道切换跳频技术(FHSS)跳频技术(FHSS)调制方式GFSK,π/4DQPSK,8DPSK高斯频移键控GFSK功耗水平0.01x-0.5x(取决于使用状态)x(参考水平)传输速率支持1Mb/s(GFSK调制)、2Mb/s(π/4DQPSK调制)和3Mb/s(8DPSK调制)支持两种传输速率,分别是1Mb/s和2Mb/s,可以选择1M的物理层或2M物理层最大发射功率等级1:100mW(+20dBm)等级2:1.5mW(+4dBm)等级3:1mW(0dBm)等级1:100mW(+20dBm)等级1.5:10mW(+10dbm)等级2:1.5mW(+4dBm)等级3:1mW(0dBm)拓扑支持点对点(包括微微网(piconet))点对点(包括微微网(piconet))点对多点(广播模式)低功耗蓝牙的40个信道分为两部分,一部分是37个面向连接的数据信道,这些信道和经典蓝牙的79个信道类似。另一部分是37、38、39一共3个面向无连接模式的广播信道。图2-1BLE信道分布图在BLE信道分布图中可以看出,BLE的广播信道分散在1.4G免费频段的不同位置,其中37信道工作在1.402GHz频段,38信道工作在1.426GHz频段,39信道则工作在1.462GHz频段。分散广播信道是为了防止BLE设备与WiFi常用的信道的频段处于同一位置,带来广播信道冲突的问题ADDINNE.Ref.{E65721A6-7260-416D-808D-9222D4E23EC9}[1]。图2-2蓝牙微微网(piconet)架构图从表2-1中可以看到,经典蓝牙只支持点对点的通信方式。尽管蓝牙微微网(piconet)在拓扑形式上属于星型网,但本质上仍然是一种点对点的通信方式。一个蓝牙微微网中,由一个主设备(Master)和若干从设备(Slaver)组成,从设备只能与主设备进行通信,从设备之间无法通信。蓝牙微微网通过时分复用技术(TimeDivisionMultiplexing,TDM)划分时隙,实现一定程度上的一对多通信(最多一带七),但在同一时刻,主设备只能与从设备中的一个进行通信。低功耗蓝牙则依靠37、38、39三个广播信道实现了真正的一对多通信。在广播模式下,两个蓝牙设备之间不需要建立连接,而是通过广播包的发送和扫描进行通信。如图2-3所示,设备0和设备4为某时刻在网络中进行广播的BLE设备,虚线代表其无线电信号有效通信范围。由于采用广播方式通信,不需要建立连接,处于其无线电范围的节点均可在同一时刻收到广播设备的广播数据包。图2-3BLE广播示意图在上面的介绍中可知,BLE技术可以通过37、38、39三个广播信道实现真正的一对多通信,理论上没有数量限制,但这种网络属于星型网,一个BLE设备只能与无线电范围内的设备进行通信,如图2-3所示的网络中,设备2无法与设备5通信。星型网络的通信范围受到节点本身发射功率限制。蓝牙设备不能通过无限的提高发射功率来扩展通信距离,BLE设备资源有限,发射功率较小,通信距离也较短。1.1.2蓝牙Mesh协议栈架构与经典蓝牙技术和BLE技术的层次不同,前两者属于两种不同的无线电技术,而蓝牙Mesh技术则是构建在BLE这种无线电通信技术上的一个上层协议。蓝牙Mesh技术在BLE广播的基础上,蓝牙Mesh技术通过消息中继的方式解决了BLE设备通信距离短的问题,实现了网状的网络拓扑,极大地扩展了自身的应用范围。图2-4蓝牙Mesh协议栈层次如图2-4所示,在SIG推出的蓝牙Mesh标准规范中,整个协议栈的架构从上到下由模型层,基础模型层,接入层、上传输层、下传输层、网络层、承载层和BLE核心规范部分这些部分组成,每部分的作用在表2-2中给出说明。表2-2蓝牙Mesh技术各层次作用名称主要功能备注模型层定义适用于特定场景的应用模型例如灯光的开关模型基础模型层定义一些对蓝牙Mesh网络本身进行配置的模型例如蓝牙Mesh网络的心跳包能力接入层定义应用数据格式,对上传输层和模型层的数据进行加密解密蓝牙Mesh网络中的数据需要加密传输上传输层对接入层的数据进行加密解密,认证数据等例如配网过程等下传输层对下传输层PDU进行分包组包需要对较长数据进行分段传输网络层实现路由、缓存等功能转发策略在网络层实现承载层建立在BLE规范之上,负责数据包的收发,扫描,信道切换功能。分为广播承载者和GATT承载者BLE核心规范负责无线电通信提供无线通信能力1.1.3蓝牙Mesh协议栈承载层和网络层蓝牙Mesh协议栈的承载层和网络层是实现网状拓扑能力的关键部分,因此本小节将对这两层进行介绍。1、蓝牙Mesh网络中的广播承载者及消息格式蓝牙Mesh协议栈中的承载层定义了两种承载者,分别为广播承载者(AdvertisingBearer)和GATT承载者(GATTBearer),一个节点至少要支持其中的一种承载者,或者两种都支持。当蓝牙Mesh协议栈的承载层选择广播承载者时,一个Mesh网络的数据包需要按照蓝牙标准规范中规定的广播格式组成广播包。表2-3为蓝牙Mesh网络中的广播数据类型。蓝牙标准规范中规定了三种蓝牙Mesh中用于指示广播数据类型AdvertisingDataType(ADType)的广播包,根据ADType可以区分蓝牙Mesh网络中不同的广播包ADDINNE.Ref.{133639DF-6D16-453E-85AE-797E54A76C27}[1]。表2-3蓝牙Mesh网络中的广播数据类型(ADType)数据类型值数据类型名称参考和定义0x29PB-ADV用于蓝牙Mesh组网中的配网流程0x2AMeshMessageMesh网络的普通数据和控制数据等0x2BMeshBeaconMesh网络信标,如心跳包。使用MeshMessage广播数据类型的广播必须是不可连接不可扫描的广播。既蓝牙核心规范中的非定向不可连接广播包(ADV_NONCONN_IND)。ADV_NONCONN_IND广播包的数据单元由以下字段组成,最大长度为37Byte.表2-4ADV_NONCONN组成字段名大小说明AdvA6Byte广播设备地址AdvData0-31Byte广播携带的数据ADV_NONCONN_IND广播包的AdvData部分携带了承载层的PDU,这一部分由有效载荷的长度,Mesh广播类型以及NetworkPDU组成。对于蓝牙Mesh网络中的消息来讲,承载层的PDU组成了AdvData字段。由于BLE广播信道的广播包长度有限,蓝牙Mesh网络中定义的模型数据可能无法一次发布完成。根据是否需要分段发送模型的数据,蓝牙Mesh网络中的消息(MeshMessage)可分为分段消息与未分段消息,但此类消息在网络层和承载层传输的方式是一致的。为简单分析,本研究中只讨论蓝牙Mesh网络中的一个普通的未分段消息。图2-5表示了一个未分段消息从广播信道到接入层的数据包结构。图2-5蓝牙Mesh协议栈中的消息分层2、蓝牙Mesh协议栈的网络层蓝牙Mesh网络实现节点通信的算法主要是在网络层实现的,下面将对蓝牙Mesh网络的网络层进行详解。网络层定义了网络层PDU,对承载层和下传输层的数据进行解密和加密,决定数据包的而转发策略。为了实现在蓝牙Mesh网络中寻址,网络层定义了基础的地址类型,蓝牙Mesh网络中的基础地址类型分为四种,每种地址类型均占2Byte长度。表2-5网络层定义的基础地址类型地址类型值说明未赋值地址(UnassignedAddress)0b0000000000000000表明这个节点当前还没有被配置或者地址还没有被分配单播地址(UnicastAddress)0b00xxxxxxxxxxxxxx单播地址是节点分配的唯一地址。网络层PDU中的SRC和DST字段分别代表源节点和目标节点的单播地址。虚拟地址(VirtualAddress)0b10xxxxxxxxxxxxxx虚拟地址代表着一组目标地址组地址(GroupAddress)0b11xxxxxxxxxxxxxx组地址和虚拟地址类似,组地址中有些具有特殊含义,例如0xffff代表所有节点网络层PDU是实现蓝牙Mesh网络的关键部分,表2-6中给了网络层PDU字段的含义。表2-6NetworkPDU组成及意义字段名大小说明IVI1BitIV索引NID7Bit由网络密钥计算出的一个确保加密密钥和私钥安全的值CTL1Bit标志着消息类型是数据类型或控制类型的消息,数据类型的消息,NetMIC长度为4Byte,控制类型的消息,长度为8ByteTTL7BitTimeToLive,表示该数据包最多能经过几跳,防止无限泛洪SEQ3Byte消息序列号,表示源节点发出的第几个消息SRC2Byte源地址,表示发出该消息的节点的单播地址DST2Byte目标地址,表示需要接受该节点的单播地址TransportPDU1-16Byte传输层PDUNetMIC4-8Byte对目标地址和传输层PDU进行完整性检查得到的值3、蓝牙Mesh网络信标除了普通的消息外(MeshMessage)外,蓝牙Mesh还存在其他类型的广播数据。蓝牙Mesh标准规范中定义了蓝牙Mesh网络信标(MeshBeacon)。蓝牙Mesh网络信标是蓝牙Mesh网络中未配网设备和节点周期性的广播包,与MeshMessage相同,MeshBeacon同样需要使用非定向不可扫描广播包,也就是ADV_NONCONN_IND。Mesh网络信标的广播数据类型也需要符合表2-7中的规定。蓝牙Mesh网络信标的字段和类型如下。表2-7Mesh信标组成及意义字段长度说明Len1Byte数据长度Type1Byte广播类型,根据蓝牙核心规范,此字段为0x2BBeaconType2Byte0x00代表未配网设备,0x01代表安全网络信标,0x02-0xff为预留未来使用BeaconData0-27ByteBeacon数据包中携带的有效数据从上表中可以看出,蓝牙Mesh标准规范在BeaconType字段预留了0x02-0xff为保留位,可以扩充Beacon类型,用于网络中邻居信息的交换。1.2蓝牙Mesh网络中的管理泛洪算法原理泛洪算法是一种经典的路由算法,它的基本原理是,当某个节点接收到某条消息时,节点将把这条消息精确的转发给所有与该节点直接相连(有线连接或者无线电广播)的所有节点,收到该信息的节点也会将本条消息精确的转发给所有与它直接相连的节点。图2-6原始泛洪算法的消息循环如图2-6所示,原始的泛洪算法有很大的缺陷:由于所有接收到消息的节点都会精确的转发给所有相邻的节点,相邻的节点也会将该条消息转发给发出消息的节点。因为缺乏停止条件,采用原始泛洪算法的网络种消息将会无限循环,直到所有节点耗尽电量。标准蓝牙Mesh协议实施的泛洪协议中采用了管理泛洪(managedflooding)算法作为蓝牙Mesh网络的基本路由算法。管理泛洪算法的主要采用以下两个手段解决原始泛洪算法存在的无限泛洪问题。采用TTL(TimeToLive)约束数据包跳数,防止无限泛洪。采用缓存机制记录曾经转发过的数据包,防止多次转发同一个数据包。对于方法(1),是通过设置NetworkPDU的TTL字段实现的。TTL字段规定了一个蓝牙Mesh网络消息的最大转发次数。表2-8TTL字段含义值说明0表明当前消息没有被转发过并且不会被转发1可能被转发过但不会再被转发2-126可能被转发过并且可以被转发127没有被转发过并且可以被转发在节点收到消息后,会对NetworkPDU的TTL字段进行解析,如果可以被转发,将对TTL字段进行减一操作,直到TTL值为1时,中继节点停止转发该数据包。图2-7管理泛洪算法在蓝牙Mesh网络层的工作流程对于方法(2),是利用网络层的消息缓存机制实现的。在蓝牙Mesh网络中的中继节点第一次接收到某个有效的蓝牙Mesh数据包后,会把该数据包加入网络层缓存队列中。由于大部分的蓝牙芯片的系统资源受限,并不需要缓存整个NetworkPDU,可以选择NetworkPDU的一部分字段组成一条缓存数据放入网络层的缓冲区,具体需要根据设备的自身情况处理。在接收到某个蓝牙数据包的另一副本时,检查网络层缓存中是否含有该数据包,如果有,则丢弃该数据包,不再进行转发。如果网络层缓存中不存在该数据包的副本,那么将表示该数据包存入网络层缓存中。然后再检查NetworkPDU的DST字段和TTL字段,如果本节点不是目标节点,并且TTL大于或等于2,则将该消息转发。图2-7描述了采用管理泛洪的蓝牙Mesh网络处理NetworkPDU的步骤。对于蓝牙Mesh网络泛洪过程中继节点,对所有没有被转发过且TTL值大于1的数据包均进行转发,导致网络中存在过多的冗余数据包。1.3经典的泛洪优化算法原理介绍在第一章中提到,为了优化移动自组织网络,减少网络中的冗余数据包,可以将解决方式拆解为四类基本的优化方式,分别是基于计数器、基于概率、基于区域、基于邻居信息的优化方式,其他的方式可以视为四种基本方式组合。本小节将对以上四种经典的泛洪优化算法的原理进行介绍。1.3.1基于计数器的优化方式基于计数器优化方式假设节点在接收到同一条消息的多个副本后,自身的转发将不会对网络产生额外增益,因此副本数量达到一定门限后,取消转发。基于计数器的广播算法中提出了随机转发延迟RRD的概念ADDINNE.Ref.{FD5F84C6-AFF9-4B66-B336-B54F976E7878}[12],即在随机时间t∈[0,Tmax]内转发数据,在第一次接收到数据之后设置一个冗余计数器,当接收到重复数据之后,冗余计数器的值+1,随机转发延迟定时器到期后,如果冗余计数器的值小于某个数,执行转发操作,如果大于某个数,则不进行转发。由于考虑到冗余数据的处理,基于计数器的优化算法极大的抑制了冗余数据的转发。后来应用在在RPL(RoutingProtocolforLowPowerandLossyNetworks

)中的一系列Tickle类算法ADDINNE.Ref.{CECFFE2E-B87A-4C7F-81FD-4489BC056C65}[14,32]本质上是一种基于计数器算法的变体,Drizzle算法ADDINNE.Ref.{54C48A57-C9EE-42ED-BC09-913E7DED2D32}[33]是其中的Tickle算法一个变体,Trickle算法基于随机计时器和窗口加倍机制来平衡流量负载和响应时间。定义了三个参数,一是冗余常数k,也就是监听到的冗余数据量,第二个参数是最小间隔长度Tmin,第三个参数是最大间隔长度Tmax,冗余常数k是在间隔长度时间内监听到的冗余数据量,一旦k超过每个数值,则放弃对数据包的转发,对计数器的改进主要体现在时间间隔的改进上,普通的基于计数器的方案采用的方案一般采用固定等待时间或者固定上下限的随机等待时间。1.3.2基于概率的优化方式基于概率的优化方式是指节点以一定的概率广播,从而减少一次通信过程中产生的冗余数据包。最经典的概率广播方式是固定概率广播,以固定的概率在网络中进行广播,其基本的步骤是接收到数据包p1然后检查节点缓存中是否有p1的副本,如果有,则丢弃p1结束流程,如果不存在p1的副本,则先将p1保存在本地缓存中,然后生成一个小于1的随机数x,与预定转发概率Pt比较,如果随机数x小于Pt,则对p1进行转发,否则放弃转发,终止流程。典型的有Gossip类算法ADDINNE.Ref.{713A8189-F6AC-4C2D-9B03-DAFD6C3D890C}[16]。Gossip算法大多采用固定概率转发,对整个网络设置一个固定的概率值转发。也有采用自适应概率广播方式,但实际自适应概率广播方式一般都是和其他广播方式结合的结果,例如动态概率计数器广播算法(DBCPS)ADDINNE.Ref.{E84BAD62-47F9-4878-A207-57830AD0C347}[15],在DBCPS算法中,结合了概率方案和基于计数器方案的特点,使用依赖于计数器的概率函数,动态的给定节点的转发概率,设置最大随机转发延迟为Tmax,如果在随机转发延迟内计数器的值达到某个阈值,则以较低概率转发,否则以高概率转发,两个转发概率的计算使用公式2-1给定的指数函数确定。fc其中c表示计数器当前值,C表示计数器阈值。概率广播的优点在于可以有效减少冗余数据数量,在密集网络中只需要很小的概率即可实现较高的投递率,但是主要问题也是投递率的问题,因为一个网络也有可能是稀疏的,也有可能是分布不均匀的,在网络中容易出现双峰现象,即几乎全部可达或者几乎全部不可达,这在文献中有详细的讨论。也有部分学者采用前k跳以概率1转发,以此抑制双峰现象。1.3.3基于区域的优化方式基于区域的优化方式的原理是从节点的几何关系上推导出最佳拓扑,对网络进行提前配置,在保证连通性的前提下来实现最少的冗余ADDINNE.Ref.{7338CE3B-4D97-49E3-BBE2-132AC8D0FE3F}[18,19]。对于蓝牙Mesh网络,可以视为一个有向图G(V,E),其中V代表顶点集,也就是蓝牙Mesh网络中的节点集,E表示有向图的边,如果蓝牙Mesh网络中一个节点的无线电范围可以覆盖另一个节点,则这种覆盖关系就代表着有向图E中的一个边。求解最佳拓扑的问题等价于求该有向图的最小连通支配集MCDS问题ADDINNE.Ref.{ADB5D04A-3556-4B93-9AB7-45674B616AD3}[34]基于区域方式的优点是节点知晓自身位置信息和目标节点位置信息,因此可以更好的规划自身是否转发,实现很好的冗余数据抑制效果。但是主要的问题是需要知道每个节点的具体位置,来得到当前网络的有向图,位置信息的获取需要额外的辅助设备,但在一般的网络中,不会配备GPS等辅助定位设备,定位精度也有问题。存在的另一个问题是需要把位置信息封装到数据包中,难以应用在蓝牙Mesh网络中。1.3.4基于邻居信息的优化方式在对泛洪算法的优化中,邻居信息对节点的转发决策至关重要,适当地使用邻居信息可以有效的抑制冗余数据。在网络中可选择的信息包括邻居信息的距离、数量、节点密度、电量等。其中自裁剪方案ADDINNE.Ref.{AE537E18-907C-4276-ACD7-CDAA776E51B5}[35]就是基于邻居信息的优化方案中的一个代表,自裁剪方案的基本原理是根据邻居节点信息,对转发节点进行裁剪,减少参与转发的节点数量。图2-8展示了自裁减算法的基本原理。如图所示,节点u转发分组,节点v接收该分组。节点u在数据包中携带其邻居列表N(u)。收到来自u的数据包后,节点v检查该集合Uu,v图2-8自裁剪算法基于邻居信息广播方式的优点是无需掌握整个网络的拓扑,只需利用本地有限跳数内的节点信息就可以实现较为有效的冗余数据抑制效果。缺点是需要将邻居节点集封装到数据包中,以此来实现未覆盖邻居节点集的裁剪,不能直接用于广播包长度较小的蓝牙Mesh设备。如果在蓝牙Mesh网络中应用自裁减算法,就需要设计辅助机制来实现邻居信息的交换。1.4应用场景和问题分析1.4.1蓝牙Mesh网络的应用场景和特点在蓝牙Mesh标准规范推出之前,已经有CSRMeshADDINNE.Ref.{B014FED9-565B-42D6-A3EA-BA5472DBEA95}[36]、NordicMeshADDINNE.Ref.{D768B868-8001-4325-B17B-1D4B8322C17C}[37]等私有的蓝牙Mesh协议栈,但协议栈规范不统一,给蓝牙Mesh技术的应用带来了困难。2017年,SIG推出蓝牙Mesh标准规范后,蓝牙Mesh技术的规范得到了统一,同时明确了应用场景。蓝牙Mesh技术典型的应用场景有灯联网、智能建筑、工业物联网等。蓝牙Mesh技术由于其支持网状拓扑、支持接入大量设备、拥有相对较低功耗的特点,十分适用于建筑智能化的应用场景。但智能建筑的应用场景存在着一些特点:(1)节点密度大智能建筑需要很多设备采集和发出各类数据和控制信息,如温湿度传感器、烟雾报警器、气压传感器等各类传感器,以及照明设备、空调等需要控制的设备。在房间内部需要布置大量的节点,室内空间相对室外较小,造成节点密度相对很大。由于管理泛洪算法具有中继功能的节点都会参与转发,因此在短时间内,会带来大量的冗余广播,可能会诱发信道争用,造成数据包冲突的现象。(2)室内环境复杂如果能够对室内设备进行准确定位,不存在干扰,将有利于制定合理的转发决策,降低数据冗余情况。蓝牙Mesh技术基于BLE技术,而BLE中,传统的方式是根据信号强度RSSI,使用路径损耗模型计算两个节点之间的距离。路径损耗可以用于节点的测距,路径损耗关系ADDINNE.Ref.{F0C44ED2-E624-4D5A-8336-413335CB16DD}[38]为:RSSI=A−10nlog这里的A表示发射功率,n表示环境系数,x-m表示接收机和发射机的距离,w表示环境中以高斯分布的障碍物导致的传播信号衰减值。但在智能建筑这样的应用场景中,室内往往存在各类障碍物,w值难以计算,不同房间内w的值也会存在巨大的差异,因此难以计算室内障碍物对BLE的路径损耗的影响,依靠RSSI信息无法获得节点的准确位置。1.4.2管理泛洪算法在高密度场景下的问题分析在前面介绍了管理泛洪算法、经典泛洪优化算法的原理以及本文面向的应用场景特点。本小节将对管理泛洪算法应用在高密度部署的智能建筑场景中面临的问题进行分析。由于由于智能建筑具有节点密度较大的特点,使用管理泛洪算法的蓝牙Mesh网络主要面临两个问题:冗余广播过多的问题以及广播冲突问题。1、冗余广播问题分析在本文的1.2节介绍了蓝牙Mesh网络中采用的管理泛洪算法的基本原理。在采用管理泛洪算法的蓝牙Mesh网络中,所有的中继节点将会对满足以下三个条件的消息进行转发:TTL值大于1。缓存区中不存在该消息副本。本节点非目标节点。但管理泛洪算法中没有考虑到节点间的关系。在智能建筑这样的高密度网络中,由于蓝牙Mesh节点无线电覆盖范围的重合,将会导致非必要的冗余广播。在不考虑广播冲突的前提下,在采用管理泛洪算法的蓝牙Mesh网络中,节点将接收到与邻居节点(位于同一无线电范围的节点)数量一样的多个相同消息副本。对于某个节点,假设其邻居节点数量为Nn,那么对于该节点而言周围的邻居节点就会产生Nn-1条冗余数据。在密度较高的蓝牙Mesh网络中,由于节点的无线电广播范围发生重叠的可能性较大,图2-9一个存在冗余广播的蓝牙Mesh网络图2-9表示一个存在冗余广播的网络。假设节点发射功率相同,且采用了随机转发延迟保证节点2、3、4不在同一时间广播。数字表示蓝牙Mesh节点本身以及节点编号,以数字为圆心的圆形表示该节点的无线电覆盖范围。节点1、2、3、4处于同一无线电范围,也就是说它们能够直接通过广播通信,节点2、3、4、5同样处于同一无线电范围之内,它们也可以通过广播直接通信。假设本网络采用管理泛洪算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论