摘 要: 分析了藍(lán)牙微微網(wǎng)" title="微微網(wǎng)">微微網(wǎng)間不同跳頻" title="跳頻">跳頻區(qū)段工作原理,,以及不同區(qū)段跳頻碰撞數(shù)對(duì)實(shí)際吞吐量的影響,,提出了不同微微網(wǎng)間跳頻區(qū)段重疊數(shù)的推算方法及網(wǎng)絡(luò)吞吐量計(jì)算公式。仿真結(jié)果表明微微網(wǎng)區(qū)段重疊數(shù)是影響吞吐量的主要因素。
關(guān)鍵詞: 藍(lán)牙 微微網(wǎng) 吞吐量 跳頻碰撞
藍(lán)牙(Bluetooth)無(wú)線通信技術(shù)為各種通信設(shè)備和計(jì)算機(jī)外設(shè)提供了短距離、低代價(jià)、低功耗的無(wú)線解決方案。藍(lán)牙網(wǎng)絡(luò)是一種多信道模式的拓?fù)渚W(wǎng)絡(luò)。藍(lán)牙裝置彼此之間能夠在通信范圍內(nèi)建立點(diǎn)對(duì)點(diǎn)連接,,也可共享信道而形成微微網(wǎng)(Piconet)[1~2],還可以同時(shí)加入多個(gè)Piconet,,連成散射網(wǎng)(Scatternet),。每個(gè)Piconet都使用獨(dú)立的跳頻序列,Piconet內(nèi)部設(shè)備的跳頻序列是正交的,,不會(huì)產(chǎn)生干擾,。但不同Piconet間會(huì)因頻率重疊而產(chǎn)生跳頻碰撞(Hopping collision)干擾,導(dǎo)致傳送信息包" title="信息包">信息包的遺失,,進(jìn)而降低網(wǎng)絡(luò)的吞吐量,。而這種碰撞會(huì)隨著Piconet數(shù)量的增加而增加。Piconet中設(shè)備可分為主設(shè)備(Master)和從設(shè)備(Slave),。Master在偶數(shù)的時(shí)隙" title="時(shí)隙">時(shí)隙(Slot)開始傳送信息包給Slave,,而Slave則在奇數(shù)時(shí)隙回傳信息包給Master。每個(gè)Piconet最多由8個(gè)活動(dòng)設(shè)備(Active device)組成,。在任一時(shí)段,,只能有一個(gè)設(shè)備作為Master,其余的設(shè)備當(dāng)作Slave,。Master與Slave之間的角色能夠彼此互換[3],。Bluetooth跳頻碰撞是由跳頻區(qū)段的重疊造成,文獻(xiàn)[4]給出了一個(gè)Piconet間干擾分析模型,。文獻(xiàn)[5]用概率分析方法提出了藍(lán)牙網(wǎng)絡(luò)的同信道碰撞包錯(cuò)誤概率上界和吞吐量下界。本文基于藍(lán)牙跳頻原理,,構(gòu)建了藍(lán)牙跳頻仿真平臺(tái),,分別就不同信息包長(zhǎng)度和不同的Piconet的組合,以及Piconet間跳頻區(qū)段重疊數(shù)進(jìn)行了吞吐量分析,。證實(shí)了吞吐量下降是由Piconet間跳頻區(qū)段重疊造成的,,但時(shí)隙長(zhǎng)度對(duì)吞吐量的影響較小,,當(dāng)微微網(wǎng)數(shù)大于10時(shí),頻率利用率低于50%,。本研究對(duì)構(gòu)建低碰撞,、高吞吐量的藍(lán)牙Scatternet提供了重要研究?jī)r(jià)值。根據(jù)分析結(jié)果研究低碰撞Piconet網(wǎng)絡(luò)選擇算法,。
1 藍(lán)牙跳頻原理與碰撞分析
1.1 頻率選擇原理
Bluetooth有五種型態(tài)的跳頻序列(Hopping sequence),,包括:尋呼跳頻序列(Page hopping sequence)、尋呼響應(yīng)序列(Page response sequence),、詢問(wèn)序列(Inquiry sequence),、詢問(wèn)響應(yīng)序列(Inquiry response sequence)和信道跳頻序列(Channel hopping sequence)。其中前四項(xiàng)主要用于Bluetooth設(shè)備間如何建立聯(lián)機(jī)的階段,,而信道跳頻序列則是用于Bluetooth設(shè)備間聯(lián)機(jī)后的操作狀態(tài),。
跳頻選擇原理的框圖如圖1所示。該選擇過(guò)程由二個(gè)程序來(lái)完成:首先選擇一個(gè)序列,,再將該序列對(duì)應(yīng)(Mapping)到跳頻索引,。而Master的藍(lán)牙設(shè)備地址(BD_ADDR)用于決定跳頻序列,Master的CLK用于決定跳頻序列的相位(Phase),,再將序列的跳頻序號(hào)對(duì)應(yīng)到79-hops寄存器的通道,。在聯(lián)機(jī)的操作狀態(tài)下,跳頻選擇的原理具體過(guò)程是:先決定目前跳頻的區(qū)段,,每個(gè)區(qū)段中有32個(gè)連續(xù)的信道,,而以不同的信道為此區(qū)段的起始信道,共可分為79個(gè)跳頻系統(tǒng)區(qū)段,;將該區(qū)段中的32個(gè)信道重新安排,,形成一個(gè)跳頻的序列。每32個(gè)Master時(shí)隙后,,會(huì)跳到下一個(gè)區(qū)段,,而連續(xù)兩個(gè)區(qū)段間則位移16個(gè)信道,也就是前一個(gè)區(qū)段之后16個(gè)信道與下一個(gè)區(qū)段之前16個(gè)信道是重疊的,。而在同一時(shí)隙內(nèi),,Master與Slave傳送所使用的區(qū)段則位移32個(gè)信道,亦即Master與Slave傳送所使用的區(qū)段是沒(méi)有重疊的,。重復(fù)如此的位移,,經(jīng)過(guò)79次的位移,亦即經(jīng)過(guò)79×32 Master時(shí)隙后又回到原先的跳頻區(qū)段,。
1.2 藍(lán)牙跳頻碰撞分析
1.2.1 跳頻碰撞重疊數(shù)算法
在Bluetooth網(wǎng)絡(luò)內(nèi),,可以同時(shí)有兩個(gè)以上Piconet存在。由于每個(gè)Piconet有自己的跳頻區(qū)段,且其跳頻序列是獨(dú)立的,,所以Piconet內(nèi)部設(shè)備不會(huì)發(fā)生碰撞,。但Piconet都使用相同的頻率范圍,當(dāng)兩個(gè)Piconet跳到相同的跳頻序號(hào)時(shí),,跳頻頻率就會(huì)碰撞而產(chǎn)生干擾,。Piconet間區(qū)段重疊示意圖如圖2所示。兩個(gè)Piconet之間的跳頻區(qū)段重疊數(shù)越大,,其相互之間的碰撞干擾次數(shù)的概率越大,;反之,如果跳頻區(qū)段沒(méi)有重疊時(shí),,則不會(huì)發(fā)生跳頻碰撞,。
設(shè)d表示區(qū)段位移距離,IA表示Piconet A的起始索引號(hào),,IB表示Piconet B的起始索引號(hào),,Os表示2個(gè)Piconet間重疊數(shù),mod M表示模M運(yùn)算,。則兩個(gè)Piconet間跳頻區(qū)段的重迭數(shù)的計(jì)算方法為:
(1)d=|IA-IB|mod 79,;
(2)當(dāng)0≤d<32時(shí),Os=32-d,;
(3)當(dāng)47<d≤78時(shí),,Os=d-47;
(4)其他情況,,即32≤d≤47時(shí),,區(qū)段的重疊數(shù)為0。
1.2.2 跳頻區(qū)段總重疊數(shù)算法
(1)跳頻區(qū)段最大" title="最大">最大總重疊數(shù)算法
設(shè)n個(gè)設(shè)備間的兩兩重疊組合數(shù)為:Cn2=n(n-1)/2,。而兩個(gè)設(shè)備間的跳頻區(qū)段重疊數(shù)最大為32,,因此,n個(gè)設(shè)備的最大總重疊數(shù)為32Cn2,。
(2)3個(gè)以上設(shè)備間跳頻區(qū)段最小重疊數(shù)算法
由于每個(gè)跳頻區(qū)段有32個(gè)信道,,因此n個(gè)設(shè)備總信道數(shù)為32n,跳頻總信道數(shù)為79,。令Rn=32n mod 79,,Yn=|32n/79| ,|x|表示對(duì)x取整運(yùn)算,。則n個(gè)設(shè)備最小總重疊數(shù)為:
2 藍(lán)牙跳頻網(wǎng)絡(luò)吞吐量算法
當(dāng)產(chǎn)生跳頻頻率碰撞時(shí),,將發(fā)生時(shí)隙損失,從而造成吞吐量下降,。設(shè)mct表示Master時(shí)隙碰撞次數(shù),;sct表示Slave時(shí)隙碰撞次數(shù);K(i)表示設(shè)備數(shù);M表示跳頻執(zhí)行次數(shù),;Slotn表示藍(lán)牙包占用時(shí)隙長(zhǎng)度,則:
3 仿真實(shí)驗(yàn)與分析
使用Simulink構(gòu)造仿真平臺(tái),,假設(shè)整個(gè)藍(lán)牙網(wǎng)絡(luò)是同步的,,對(duì)每個(gè)重疊數(shù)做100種組合仿真,每種組合跳頻執(zhí)行2×106時(shí)隙,。圖3給出了2個(gè)設(shè)備跳頻區(qū)段重疊數(shù)是0~32時(shí),,碰撞次數(shù)與吞吐量的關(guān)系。圖4給出了3個(gè)設(shè)備且重疊數(shù)為17~96時(shí)碰撞數(shù)與吞吐量關(guān)系,。兩者都說(shuō)明Piconets間跳頻區(qū)段重疊數(shù)越大,,跳頻碰撞次數(shù)也越多,網(wǎng)絡(luò)系統(tǒng)的吞吐量也隨之下降,。
圖5給出了信息包長(zhǎng)度分別為1 slot,、3 slots、5 slots,,在最小跳頻區(qū)段重疊數(shù)和最大跳頻區(qū)段重疊數(shù)時(shí),,Piconet數(shù)和吞吐量的仿真曲線圖。結(jié)果表明:(1)在同樣的信息包長(zhǎng)度下,,最小重疊數(shù)的吞吐量要大于最大重疊數(shù)的吞吐量,,且隨著Piconet的增多,表現(xiàn)更為明顯,;(2)Piconet數(shù)越少,,吞吐量越高;(3)最小跳頻區(qū)段重疊或最大跳頻區(qū)段重疊時(shí)的系統(tǒng)吞吐量與信息包長(zhǎng)度幾乎無(wú)關(guān),。此外,,可以看出當(dāng)Piconet數(shù)在10以內(nèi)時(shí),Scatternet網(wǎng)絡(luò)頻寬有效利用率達(dá)到50%以上,,但在最小重疊區(qū)段時(shí),,網(wǎng)絡(luò)吞吐量可達(dá)80%以上。
本文分析了藍(lán)牙跳頻微網(wǎng)間碰撞和區(qū)段選擇原理,,發(fā)現(xiàn)當(dāng)2個(gè)Piconets的區(qū)段有重疊時(shí),,將可能產(chǎn)生跳頻頻率碰撞。而跳頻碰撞與跳頻區(qū)段重疊數(shù)大小有關(guān),,跳頻區(qū)段重疊數(shù)愈大,,Bluetooth跳頻碰撞的概率越高,網(wǎng)絡(luò)吞吐量越小,,但信息包大小對(duì)吞吐量貢獻(xiàn)較小,。要提高藍(lán)牙網(wǎng)絡(luò)吞吐量必須減少跳頻區(qū)段的重疊數(shù)。所以,當(dāng)Bluetooth網(wǎng)絡(luò)設(shè)備數(shù)增加時(shí),,必須采用合適的區(qū)段重疊選擇算法,,以減少區(qū)段重疊數(shù),提高網(wǎng)絡(luò)吞吐量,。
參考文獻(xiàn)
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 朱剛.藍(lán)牙技術(shù)原理與協(xié)議[M].北京:清華大學(xué)出版社,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