Bluetooth跳频网络Piconet间干扰分析研究
2008-06-05
作者:刘传清
摘 要: 分析了蓝牙微微网" title="微微网">微微网间不同跳频" title="跳频">跳频区段工作原理,以及不同区段跳频碰撞数对实际吞吐量的影响,提出了不同微微网间跳频区段重叠数的推算方法及网络吞吐量计算公式。仿真结果表明微微网区段重叠数是影响吞吐量的主要因素。
关键词: 蓝牙 微微网 吞吐量 跳频碰撞
蓝牙(Bluetooth)无线通信技术为各种通信设备和计算机外设提供了短距离、低代价、低功耗的无线解决方案。蓝牙网络是一种多信道模式的拓扑网络。蓝牙装置彼此之间能够在通信范围内建立点对点连接,也可共享信道而形成微微网(Piconet)[1~2],还可以同时加入多个Piconet,连成散射网(Scatternet)。每个Piconet都使用独立的跳频序列,Piconet内部设备的跳频序列是正交的,不会产生干扰。但不同Piconet间会因频率重叠而产生跳频碰撞(Hopping collision)干扰,导致传送信息包" title="信息包">信息包的遗失,进而降低网络的吞吐量。而这种碰撞会随着Piconet数量的增加而增加。Piconet中设备可分为主设备(Master)和从设备(Slave)。Master在偶数的时隙" title="时隙">时隙(Slot)开始传送信息包给Slave,而Slave则在奇数时隙回传信息包给Master。每个Piconet最多由8个活动设备(Active device)组成。在任一时段,只能有一个设备作为Master,其余的设备当作Slave。Master与Slave之间的角色能够彼此互换[3]。Bluetooth跳频碰撞是由跳频区段的重叠造成,文献[4]给出了一个Piconet间干扰分析模型。文献[5]用概率分析方法提出了蓝牙网络的同信道碰撞包错误概率上界和吞吐量下界。本文基于蓝牙跳频原理,构建了蓝牙跳频仿真平台,分别就不同信息包长度和不同的Piconet的组合,以及Piconet间跳频区段重叠数进行了吞吐量分析。证实了吞吐量下降是由Piconet间跳频区段重叠造成的,但时隙长度对吞吐量的影响较小,当微微网数大于10时,频率利用率低于50%。本研究对构建低碰撞、高吞吐量的蓝牙Scatternet提供了重要研究价值。根据分析结果研究低碰撞Piconet网络选择算法。
1 蓝牙跳频原理与碰撞分析
1.1 频率选择原理
Bluetooth有五种型态的跳频序列(Hopping sequence),包括:寻呼跳频序列(Page hopping sequence)、寻呼响应序列(Page response sequence)、询问序列(Inquiry sequence)、询问响应序列(Inquiry response sequence)和信道跳频序列(Channel hopping sequence)。其中前四项主要用于Bluetooth设备间如何建立联机的阶段,而信道跳频序列则是用于Bluetooth设备间联机后的操作状态。
跳频选择原理的框图如图1所示。该选择过程由二个程序来完成:首先选择一个序列,再将该序列对应(Mapping)到跳频索引。而Master的蓝牙设备地址(BD_ADDR)用于决定跳频序列,Master的CLK用于决定跳频序列的相位(Phase),再将序列的跳频序号对应到79-hops寄存器的通道。在联机的操作状态下,跳频选择的原理具体过程是:先决定目前跳频的区段,每个区段中有32个连续的信道,而以不同的信道为此区段的起始信道,共可分为79个跳频系统区段;将该区段中的32个信道重新安排,形成一个跳频的序列。每32个Master时隙后,会跳到下一个区段,而连续两个区段间则位移16个信道,也就是前一个区段之后16个信道与下一个区段之前16个信道是重叠的。而在同一时隙内,Master与Slave传送所使用的区段则位移32个信道,亦即Master与Slave传送所使用的区段是没有重叠的。重复如此的位移,经过79次的位移,亦即经过79×32 Master时隙后又回到原先的跳频区段。
1.2 蓝牙跳频碰撞分析
1.2.1 跳频碰撞重叠数算法
在Bluetooth网络内,可以同时有两个以上Piconet存在。由于每个Piconet有自己的跳频区段,且其跳频序列是独立的,所以Piconet内部设备不会发生碰撞。但Piconet都使用相同的频率范围,当两个Piconet跳到相同的跳频序号时,跳频频率就会碰撞而产生干扰。Piconet间区段重叠示意图如图2所示。两个Piconet之间的跳频区段重叠数越大,其相互之间的碰撞干扰次数的概率越大;反之,如果跳频区段没有重叠时,则不会发生跳频碰撞。
设d表示区段位移距离,IA表示Piconet A的起始索引号,IB表示Piconet B的起始索引号,Os表示2个Piconet间重叠数,mod M表示模M运算。则两个Piconet间跳频区段的重迭数的计算方法为:
(1)d=|IA-IB|mod 79;
(2)当0≤d<32时,Os=32-d;
(3)当47<d≤78时,Os=d-47;
(4)其他情况,即32≤d≤47时,区段的重叠数为0。
1.2.2 跳频区段总重叠数算法
(1)跳频区段最大" title="最大">最大总重叠数算法
设n个设备间的两两重叠组合数为:Cn2=n(n-1)/2。而两个设备间的跳频区段重叠数最大为32,因此,n个设备的最大总重叠数为32Cn2。
(2)3个以上设备间跳频区段最小重叠数算法
由于每个跳频区段有32个信道,因此n个设备总信道数为32n,跳频总信道数为79。令Rn=32n mod 79,Yn=|32n/79| ,|x|表示对x取整运算。则n个设备最小总重叠数为:
2 蓝牙跳频网络吞吐量算法
当产生跳频频率碰撞时,将发生时隙损失,从而造成吞吐量下降。设mct表示Master时隙碰撞次数;sct表示Slave时隙碰撞次数;K(i)表示设备数;M表示跳频执行次数;Slotn表示蓝牙包占用时隙长度,则:
3 仿真实验与分析
使用Simulink构造仿真平台,假设整个蓝牙网络是同步的,对每个重叠数做100种组合仿真,每种组合跳频执行2×106时隙。图3给出了2个设备跳频区段重叠数是0~32时,碰撞次数与吞吐量的关系。图4给出了3个设备且重叠数为17~96时碰撞数与吞吐量关系。两者都说明Piconets间跳频区段重叠数越大,跳频碰撞次数也越多,网络系统的吞吐量也随之下降。
图5给出了信息包长度分别为1 slot、3 slots、5 slots,在最小跳频区段重叠数和最大跳频区段重叠数时,Piconet数和吞吐量的仿真曲线图。结果表明:(1)在同样的信息包长度下,最小重叠数的吞吐量要大于最大重叠数的吞吐量,且随着Piconet的增多,表现更为明显;(2)Piconet数越少,吞吐量越高;(3)最小跳频区段重叠或最大跳频区段重叠时的系统吞吐量与信息包长度几乎无关。此外,可以看出当Piconet数在10以内时,Scatternet网络频宽有效利用率达到50%以上,但在最小重叠区段时,网络吞吐量可达80%以上。
本文分析了蓝牙跳频微网间碰撞和区段选择原理,发现当2个Piconets的区段有重叠时,将可能产生跳频频率碰撞。而跳频碰撞与跳频区段重叠数大小有关,跳频区段重叠数愈大,Bluetooth跳频碰撞的概率越高,网络吞吐量越小,但信息包大小对吞吐量贡献较小。要提高蓝牙网络吞吐量必须减少跳频区段的重叠数。所以,当Bluetooth网络设备数增加时,必须采用合适的区段重叠选择算法,以减少区段重叠数,提高网络吞吐量。
参考文献
1 Haartsen J C.The Bluetooth radio system[J].IEEE Pers Com-mun,2000;(7):28~36
2 Johansson P.Bluetooth:An enabler for personal area network-ing[J].Network IEEE,2001;15(5):28~37
3 朱刚.蓝牙技术原理与协议[M].北京:清华大学出版社,2002
4 Howitt I.Mutual interference between independent bluetooth piconets[J].IEEE Transactions On Vehicular Technology,2003;52(3):708~718
5 Hoiydi A E.Interference between bluetooth networks-upper bound on the packet error rate[J].IEEE Communications Letters,2001;5(6):245~247