1,、引言
目前,已研究提出的克服藍(lán)牙與802.11b干擾,,實(shí)現(xiàn)共存的機(jī)制,,根據(jù)兩系統(tǒng)是否能夠交換信息而分為合作方式(collaborative coexistence)與非合作方式(noncollaborative coexistence)兩類,其中包括:法規(guī)和標(biāo)準(zhǔn),、使用方式,、技術(shù)方法等方面。就技術(shù)方法而言,,現(xiàn)在較受關(guān)注的有兩種,,都屬于非合作共存方式,,一種是自適應(yīng)跳頻(AFH:Adaptive Frequency Hopping)[1,2],,此方法受到法規(guī),、接收靈敏度等限制,,且只適用于未來使用新標(biāo)準(zhǔn)后生產(chǎn)的藍(lán)牙設(shè)備,,仍然無法解決目前藍(lán)牙設(shè)備和802.11b之間的干擾問題;另一種方法在假定可以通過其他技術(shù)檢測干擾規(guī)律基礎(chǔ)上,,通過流量調(diào)度,,“減少因使用相同頻率同時發(fā)送分組而引起的碰撞”(OLA:OverLap Avoidance),降低同頻干擾[3],,取得較好效果,,成為比較典型的方法。這種方法屬于MAC層技術(shù),,而MAC層技術(shù)包含硬件和軟件,,解決干擾問題代價(jià)相對較小。本文提出自適應(yīng)包選擇延遲發(fā)送機(jī)制,。此機(jī)制屬于OLA方法,,但與以往提出的躲避分組碰撞的方法有區(qū)別。此機(jī)制解決藍(lán)牙ACL鏈路與802.11b的干擾問題更有效,,且易于實(shí)現(xiàn),。
2、自適應(yīng)包選擇延遲發(fā)送方法
藍(lán)牙標(biāo)準(zhǔn)為了滿足不同的應(yīng)用需要,,定義了不同類型信息包,。信息包包括話音包和數(shù)據(jù)包。其中數(shù)據(jù)包長度分為一個時隙,、三個時隙和五個時隙三種類型,。一般來講,如果藍(lán)牙自適應(yīng)層能夠基于應(yīng)用的需要和無線信道情況,,選擇不同類型數(shù)據(jù)包進(jìn)行傳輸,,則可以達(dá)到最佳傳輸效果。目前已經(jīng)研究了根據(jù)不同應(yīng)用選擇不同類型的包[4],。此外,,也研究了根據(jù)無線信道的狀況(主要基于誤碼率或者丟包率等評估手段)選擇不同類型的包[5,6],,信道傳輸質(zhì)量較差時選擇短包傳輸,,以減小信道同頻干擾對信息傳輸?shù)挠绊懀诺纻鬏斮|(zhì)量較好時,,選擇長包傳輸,,以提高傳輸效率,,增加網(wǎng)絡(luò)的吞吐量。但是,,這種通過選擇不同長度類型傳輸分組克服相互干擾方法,,沒有從根本上解決引起干擾的碰撞問題,效果不明顯,。這種包選擇機(jī)制并不能完全消除干擾,。因此,本文提出自適應(yīng)包選擇延遲發(fā)送方法,。藍(lán)牙單元在一段時間內(nèi)對信道進(jìn)行評估,,然后根據(jù)信道質(zhì)量好壞自適應(yīng)地選擇發(fā)送時間和包的大小,從而最大程度地避免了碰撞,,理論上能夠消除干擾影響,。該方法適用于ACL鏈路(就是說藍(lán)牙主從單元之間沒有語音的傳輸)。自適應(yīng)包選擇延遲發(fā)送方法主要由兩部分功能塊組成:(1)信道評估,,(2)自適應(yīng)包選擇延遲發(fā)送機(jī)制,。
2.1 信道評估
以往的研究工作[7]表明,對于很多減小干擾影響的機(jī)制來說,,信道評估都是必不可少的一部分(比如說自適應(yīng)跳頻),。我們將根據(jù)藍(lán)牙發(fā)送單元的丟包率對信道進(jìn)行評估。發(fā)送單元的丟包率在接收單元端計(jì)算,,并且與跳頻點(diǎn)有關(guān),。因此,定義跳頻點(diǎn)相關(guān)的丟包率Fi-packet loss(其中0≤i≤78)計(jì)算公式為:

其中,,F(xiàn)i-number of lost packet為一段時間內(nèi)(channel-state-update-ininterval)在該跳頻點(diǎn)上傳輸信息時丟掉的包數(shù),,F(xiàn)i-number of received packet為成功接收的包數(shù)。設(shè)定丟包率門限值為gpacket loss gate,。當(dāng)丟包率大于門限時,,認(rèn)為信道是不良信道,否則,,認(rèn)定為良好信道,,由此可以得出信道狀態(tài)表如下:


其中Mast-F0~Mast-F78表示藍(lán)牙主單元信道,Mast-State[0]~Mast-State[78]表示主單元信道對應(yīng)狀態(tài),;Slave-F0~Slave-F78表示藍(lán)牙從單元信道,,Slave-State[0]~Slave-State[78]表示從單元信道對應(yīng)狀態(tài)。
藍(lán)牙的數(shù)據(jù)傳輸是由主單元控制,,因此,,從單元必須將主單元的最新信道狀態(tài)表通知主單元。為此,我們定義一個新的LMP(鏈路管理協(xié)議)PDU,,用以攜帶主單元信道狀態(tài),。從單元每隔一定時間(channel-state-update-ininterval)計(jì)算一次丟包率、刷新信道狀態(tài)表并通過上述PDU發(fā)送到主單元,。
2.2 自適應(yīng)包選擇延遲發(fā)送機(jī)制
藍(lán)牙物理信道是一個時分雙工的跳頻信道,,信道之間以彼此近似正交的跳頻序列區(qū)分。信道使用偽隨機(jī)跳頻序列表示,,頻率在79個射頻信道中隨機(jī)跳變,。每個微網(wǎng)使用唯一信道跳頻序列,它是根據(jù)主單元藍(lán)牙設(shè)備地址確定,。信道以時隙為單位傳輸信息,,在一個時隙(單時隙分組情況)或多個時隙(多時隙分組情況)內(nèi)采用一個射頻跳頻點(diǎn)傳輸信息,。頻率跳變速度是1600跳/s,。一個時隙的長度為625微秒。在時隙中主單元和從單元以時分復(fù)用方式,,交替?zhèn)鬏敺纸M,。主單元在偶數(shù)時隙開始傳輸分組,從單元僅在奇數(shù)時隙開始傳輸分組,。一個分組傳輸時間可以占用一個時隙,、三個時隙或五個時隙。傳輸某個分組期間,,跳頻保持不變,。對于傳輸單時隙分組,使用的跳頻由當(dāng)前藍(lán)牙時鐘值導(dǎo)出,。對于傳輸多時隙分組,,跳頻根據(jù)傳輸首時隙時鐘值導(dǎo)出。傳輸多時隙分組后,,傳輸下一分組的跳頻也根據(jù)該分組首時隙時鐘值確定,。根據(jù)藍(lán)牙標(biāo)準(zhǔn)規(guī)定,ACL鏈路可以占用一,、三,、五時隙傳輸數(shù)據(jù),但是,,目前在實(shí)際使用過程中,,占用時隙方式是固定的。我們提出的這一個算法就是在滿足上面這個條件的基礎(chǔ)上,,根據(jù)信道的情況采用延遲發(fā)送機(jī)制,。具體如下:
(1)單時隙包處理機(jī)制
在發(fā)送該單時隙包之前,主單元先查看一下由信道評估機(jī)制產(chǎn)生的master/slave的信道狀態(tài)表,。在圖1中,,如果ƒ1和ƒ2只要有一個是不良信道,,那么主單元就延遲到下一個偶數(shù)時隙來接著判斷是否可以發(fā)送。只有ƒ1,、ƒ2全是優(yōu)良信道,,該數(shù)據(jù)包才能存該時刻發(fā)送。

(2)三時隙數(shù)據(jù)包處理機(jī)制
在發(fā)送這個三時隙包之前,,主單元先檢查ƒk和ƒk+3是否都是優(yōu)良信道,,只有這兩個頻率都是優(yōu)良信道,這個包才允許發(fā)送,;如果ƒk是不良信道,,這個三時隙的數(shù)據(jù)包就延遲到ƒk+2進(jìn)行發(fā)送,在發(fā)送之前也要經(jīng)過這樣的判決,;如果ƒk是優(yōu)良信道,,ƒk+3是不良信道,那么首先判斷ƒk+1是不是優(yōu)良信道,,如果是,,那么將數(shù)據(jù)封裝成單時隙的數(shù)據(jù)包進(jìn)行發(fā)送,如果不是,,那么就延遲到ƒk+2進(jìn)行發(fā)送判決,。
(3)五時隙數(shù)據(jù)包處理機(jī)制
五時隙包也采用近似的機(jī)制,如果ƒk和ƒk+5都是優(yōu)良信道,,這個包允許發(fā)送,;如果ƒk是不良信道,這個五時隙的數(shù)據(jù)包就延遲到ƒk+2進(jìn)行發(fā)送判決,;如果ƒk是優(yōu)良信道,,ƒk+5是不良信道,那么首先判斷ƒk+3是不是優(yōu)良信道,,如果是,,那么將數(shù)據(jù)封裝成三時隙的數(shù)據(jù)包進(jìn)行發(fā)送,如果不是,,那么就判斷ƒk+1是否是優(yōu)良信道,,如果是,那么封裝成單時隙包進(jìn)行發(fā)送,,如果ƒk+1和ƒk+3同樣也為不良信道,,那么就延遲到ƒk+2進(jìn)行上面這種判決機(jī)制。如圖2是此機(jī)制的算法流程圖,。

2.3 方法比較
以往的OLA方法[3]由于802.11b系統(tǒng)總是在22MHz頻段內(nèi)通信,,所以假定藍(lán)牙系統(tǒng)能夠通過檢測識別出802.11b系統(tǒng)占用頻段。如果某一時刻藍(lán)牙主單元準(zhǔn)備以跳頻點(diǎn)ƒ2n發(fā)送k(k=1、3,、5)時隙分組并發(fā)現(xiàn)ƒ2n+k將落入802.11系統(tǒng)22MHz頻段內(nèi),,則改以k’時隙(k’=1、3,、5,,k’≠k)分組發(fā)送,使接收頻點(diǎn)成為ƒ2n+k’,,避免發(fā)生頻率沖突,;如果某一時刻藍(lán)牙主單元將以跳頻點(diǎn)ƒ2n、ƒ2n+m(m=2,、4,、6)連續(xù)發(fā)送分組并發(fā)現(xiàn)ƒ2n+m。將落入802.11系統(tǒng)22MHz頻段內(nèi),,則要求應(yīng)答從單元發(fā)送(m’-1)時隙(m’=2,、4、6,,m’≠m)分組,,使主單元下一個發(fā)送頻點(diǎn)改為ƒ2n+m’,,避免頻率沖突,。如果所有可供選擇的分組對應(yīng)傳輸頻點(diǎn)均無法避免頻率沖突,則暫不發(fā)送,,等待其余恰當(dāng)跳頻點(diǎn),。由此可看出自適應(yīng)包選擇延遲發(fā)送方法相對于此OLA方法的優(yōu)點(diǎn):(1)此OLA方法沒有考慮當(dāng)前藍(lán)牙主單元發(fā)送頻點(diǎn)的信道情況,而自適應(yīng)包選擇延遲發(fā)送方法考慮了,,這樣會進(jìn)一步減小干擾,;(2)自適應(yīng)包選擇延遲發(fā)送方法沒有使用時隙覆蓋,節(jié)省功率,。
3,、仿真分析
3.1 仿真參數(shù)設(shè)定
我們使用一個4節(jié)點(diǎn)的拓?fù)洌喊▋蓚€藍(lán)牙節(jié)點(diǎn)(1個master和1個slave),兩個802.11b設(shè)備(1個AP和1個移動節(jié)點(diǎn)),。無線局域網(wǎng)AP與藍(lán)牙節(jié)點(diǎn)在距離兩米的范圍內(nèi),。我們設(shè)定802.11b采用CCK調(diào)制方式,速率為11Mbit/s,,移動節(jié)點(diǎn)向AP發(fā)送數(shù)據(jù),,AP只是發(fā)送ACK消息。802.11b的包長設(shè)定為8000bits,,包與包之間的間隔服從指數(shù)分布,,均值為1.86ms。藍(lán)牙設(shè)定MAC層接收的上層消息長度為500bits,消息間隔時間滿足指數(shù)分布,,均值為O.92ms,。藍(lán)牙和802.11b的發(fā)射功率分別為1mW和25mW。
3.2 結(jié)果與分析
通過仿真,,我們來看一下采用自適應(yīng)包選擇延遲發(fā)送機(jī)制與不采用此機(jī)制對丟包率,、網(wǎng)絡(luò)通過率以及網(wǎng)絡(luò)時延的影響。
圖3~圖5給出了使用和不使用此機(jī)制時WLAN,、藍(lán)牙主單元,、藍(lán)牙從單元的丟包率。我們定義此處的丟包率Ppacket loss為從傳輸數(shù)據(jù)開始到現(xiàn)在時間內(nèi)丟掉的包數(shù)nnumber of lost packet除以丟掉的包數(shù)nnumber of lost packet與成功接收的包數(shù)nnumber of received packet之和,,即:

從圖3~圖5中可發(fā)現(xiàn)使用此機(jī)制使丟包率明顯減小,。實(shí)際上,在對信道進(jìn)行一段時間的評估之后,,各單元幾乎不再丟包,,即nnumber of lost packet不再明顯增長,而相反nnumber of received packet在逐漸增長,,故曲線急劇下降,,直至丟包率接近為零。我們來看一下此機(jī)制對于提高wlan的網(wǎng)絡(luò)吞吐量的影響,,如圖6所示,,從圖中看出使用此機(jī)制比不使用此機(jī)制wlan的網(wǎng)絡(luò)通過率約提高了30%。此機(jī)制對網(wǎng)絡(luò)時延的影響如圖7,,從圖中可看出使用此機(jī)制并沒有使時延明顯增大,。





4、結(jié)語
總體來說,,該機(jī)制在減小丟包率和提高網(wǎng)絡(luò)吞吐量方面非常有效,,此機(jī)制并沒有使網(wǎng)絡(luò)時延明顯增大,另外還有一個好處就是當(dāng)信道不良時不發(fā)送信號能夠節(jié)省發(fā)射功率,。最重要的就是我們消除了藍(lán)牙和802.11b之間的干擾,。該機(jī)制的不足之處是針對ACL鏈路,對于SCO鏈路還需要進(jìn)一步的研究,。