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