藍牙與802.11b干擾問題的解決( 二 )


表1; 主單元信道狀態
表2; 從單元信道狀態
其中Mast-F0~Mast-F78表示藍牙主單元信道,Mast-State[0]~Mast-State[78]表示主單元信道對應狀態;Slave-F0~Slave-F78表示藍牙從單元信道,Slave-State[0]~Slave-State[78]表示從單元信道對應狀態 。
藍牙的數據傳輸是由主單元控制,因此,從單元必須將主單元的最新信道狀態表通知主單元 。為此,我們定義一個新的LMP(鏈路治理協議)PDU,用以攜帶主單元信道狀態 。從單元每隔一定時間(channel-state-update-ininterval)計算一次丟包率、刷新信道狀態表并通過上述PDU發送到主單元 。
2.2自適應包選擇延遲發送機制

;藍牙物理信道是一個時分雙工的跳頻信道,信道之間以彼此近似正交的跳頻序列區分 。信道使用偽隨機跳頻序列表示,頻率在79個射頻信道中隨機跳變 。每個微網使用唯一信道跳頻序列,它是根據主單元藍牙設備地址確定 。信道以時隙為單位傳輸信息,在一個時隙(單時隙分組情況)或多個時隙(多時隙分組情況)內采用一個射頻跳頻點傳輸信息 。頻率跳變速度是1600跳/s 。一個時隙的長度為625微秒 。在時隙中主單元和從單元以時分復用方式,交替傳輸分組 。主單元在偶數時隙開始傳輸分組,從單元僅在奇數時隙開始傳輸分組 。一個分組傳輸時間可以占用一個時隙、三個時隙或五個時隙 。傳輸某個分組期間,跳頻保持不變 。對于傳輸單時隙分組,使用的跳頻由當前藍牙時鐘值導出 。對于傳輸多時隙分組,跳頻根據傳輸首時隙時鐘值導出 。傳輸多時隙分組后,傳輸下一分組的跳頻也根據該分組首時隙時鐘值確定 。根據藍牙標準規定,ACL鏈路可以占用一、三、五時隙傳輸數據,但是,目前在實際使用過程中,占用時隙方式是固定的 。我們提出的這一個算法就是在滿足上面這個條件的基礎上,根據信道的情況采用延遲發送機制 。具體如下:
(1)單時隙包處理機制
在發送該單時隙包之前,主單元先查看一下由信道評估機制產生的master/slave的信道狀態表 。在圖1中,假如?1和?2只要有一個是不良信道,那么主單元就延遲到下一個偶數時隙來接著判定是否可以發送 。只有?1、?2全是優良信道,該數據包才能存該時刻發送 。
圖1; 時隙與信道
(2)三時隙數據包處理機制
在發送這個三時隙包之前,主單元先檢查?k和?k 3是否都是優良信道,只有這兩個頻率都是優良信道,這個包才答應發送;假如?k是不良信道,這個三時隙的數據包就延遲到?k 2進行發送,在發送之前也要經過這樣的判決;假如?k是優良信道,?k 3是不良信道,那么首先判定?k 1是不是優良信道,假如是,那么將數據封裝成單時隙的數據包進行發送,假如不是,那么就延遲到?k 2進行發送判決 。
(3)五時隙數據包處理機制
五時隙包也采用近似的機制,假如?k和?k 5都是優良信道,這個包答應發送;假如?k是不良信道,這個五時隙的數據包就延遲到?k 2進行發送判決;假如?k是優良信道,?k 5是不良信道,那么首先判定?k 3是不是優良信道,假如是,那么將數據封裝成三時隙的數據包進行發送,假如不是,那么就判定?k 1是否是優良信道,假如是,那么封裝成單時隙包進行發送,假如?k 1和?k 3同樣也為不良信道,那么就延遲到?k 2進行上面這種判決機制 。如圖2是此機制的算法流程圖 。
圖2; 算法流程圖
2.3方法比較
以往的OLA方法[3]由于802.11b系統總是在22MHz頻段內通信,所以假定藍牙系統能夠通過檢測識別出802.11b系統占用頻段 。假如某一時刻藍牙主單元預備以跳頻點?2n發送k(k=1、3、5)時隙分組并發現?2n k將落入802.11系統22MHz頻段內,則改以k’時隙(k’=1、3、5,k’≠k)分組發送,使接收頻點成為?2n k’,避免發生頻率沖突;假如某一時刻藍牙主單元將以跳頻點?2n、?2n m(m=2、4、6)連續發送分組并發現?2n m 。將落入802.11系統22MHz頻段內,則要求應答從單元發送(m’-1)時隙(m’=2、4、6,m’≠m)分組,使主單元下一個發送頻點改為?2n m’,避免頻率沖突 。假如所有可供選擇的分組對應傳輸頻點均無法避免頻率沖突,則暫不發送,等待其余恰當跳頻點 。由此可看出自適應包選擇延遲發送方法相對于此OLA方法的優點:(1)此OLA方法沒有考慮當前藍牙主單元發送頻點的信道情況,而自適應包選擇延遲發送方法考慮了,這樣會進一步減小干擾;(2)自適應包選擇延遲發送方法沒有使用時隙覆蓋,節省功率 。

推薦閱讀