国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向BLE Audio的改進(jìn)DSDV路由算法*

2023-10-10 05:21:22陸晗夏瑋瑋何光櫟
移動(dòng)通信 2023年10期
關(guān)鍵詞:路由表藍(lán)牙時(shí)延

陸晗,夏瑋瑋,何光櫟

(東南大學(xué)移動(dòng)通信國(guó)家重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210096)

0 引言

藍(lán)牙(Bluetooth)是由“ 藍(lán)牙特別興趣小組”(Bluetooth Special Interest Group,BSIG)宣布的一種小范圍無(wú)線(xiàn)通信技術(shù)[1]。它是以低成本的近距離無(wú)線(xiàn)連接為基礎(chǔ),為固定和移動(dòng)設(shè)備建立通信環(huán)境的一種特殊的近距離無(wú)線(xiàn)技術(shù)連接[2]。在藍(lán)牙技術(shù)被提出后的十幾年內(nèi),BSIG 先后發(fā)布了很多版藍(lán)牙核心規(guī)范,在低功耗藍(lán)牙(Bluetooth Low Energy,BLE)技術(shù)誕生之前,藍(lán)牙就已經(jīng)從1.1 版本逐步過(guò)渡到了3.0 版本。這些傳統(tǒng)藍(lán)牙技術(shù)存在耗電高,產(chǎn)品持續(xù)工作時(shí)間短、性能較差的嚴(yán)重缺陷,用戶(hù)的實(shí)際體驗(yàn)不佳[3-4]。因此在藍(lán)牙核心規(guī)范V4.0 中,增加了低功耗功能,并提出了三種藍(lán)牙模式:經(jīng)典藍(lán)牙、低功耗藍(lán)牙和高速藍(lán)牙[5]。2016 年BSIG 發(fā)布了藍(lán)牙核心規(guī)范V5.0,其針對(duì)低功耗設(shè)備有著更廣的覆蓋范圍并增加了Mesh 組網(wǎng)功能[6]。2019 年BSIG 發(fā)布了藍(lán)牙核心規(guī)范V5.1 和V5.2。在規(guī)范V5.1 中,增強(qiáng)了對(duì)通用屬性配置文件(Generic Attribute Profile,GATT)緩存的改進(jìn),可以在服務(wù)器和客戶(hù)端之間實(shí)現(xiàn)更快、更節(jié)能的連接[7]。

為了實(shí)現(xiàn)對(duì)低時(shí)延同步音頻傳輸?shù)闹С?,在?guī)范V5.2 中,加入了增強(qiáng)型ATT 協(xié)議(Enhanced ATT)、LE 功率控制(LE Power Control)和LE 同步信道(LE Isochronous Channels)等功能,提出了低復(fù)雜度通信編解碼器(Low Complexity Communication Codec,LC3)編解碼方式,低功耗藍(lán)牙音頻(Bluetooth Low Energy,BLE Audio)正式出現(xiàn)[8]。與經(jīng)典藍(lán)牙相比,BLE Audio有著更快的配對(duì)速率和更高效的媒體控制,并啟用定位功能來(lái)跟蹤耳機(jī)。并且,BLE Audio 還改善了音頻質(zhì)量,降低了功耗,改進(jìn)了互動(dòng)操作功能,引進(jìn)了新的音頻設(shè)備類(lèi)型。與經(jīng)典藍(lán)牙音頻的“單一流”相比,BLE Audio 提出了多流音頻的概念,它允許建立多個(gè)音頻流,使得原設(shè)備能夠獨(dú)立地向左右耳機(jī)發(fā)送同步音頻流[9]。通過(guò)這一功能,用戶(hù)可以有更好的立體聲成像體驗(yàn),能夠享受更無(wú)縫的語(yǔ)音控制服務(wù)以及更流暢地在多個(gè)音頻設(shè)備之間進(jìn)行切換[10]。因?yàn)锽LE Audio 設(shè)計(jì)理念的優(yōu)越性,在未來(lái)幾年,支持BLE Audio 的設(shè)備和技術(shù)都將成為藍(lán)牙連接的核心[11]。

自藍(lán)牙協(xié)議提出以來(lái),許多專(zhuān)家學(xué)者以及企業(yè)單位圍繞藍(lán)牙技術(shù)提出了許多路由協(xié)議方案。盡管自藍(lán)牙核心規(guī)范V4.0 推出BLE 概念后,許多學(xué)者提出了許多針對(duì)BLE 的路由機(jī)制[12-16],但其中大部分都是針對(duì)藍(lán)牙低功耗網(wǎng)格網(wǎng)絡(luò)技術(shù)(Bluetooth Low Energy Mesh,BLE Mesh)的路由協(xié)議,針對(duì)BLE Audio 路由的研究寥寥無(wú)幾。在藍(lán)牙核心規(guī)范V4.0 中,BLE Mesh 網(wǎng)絡(luò)通過(guò)受控式洪泛機(jī)制來(lái)進(jìn)行信息傳輸和尋找路由并更新網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)[17]。洪泛雖然模式簡(jiǎn)單且易于實(shí)現(xiàn),但也會(huì)引起網(wǎng)絡(luò)擁塞和數(shù)據(jù)沖突,尤其是在大規(guī)模的網(wǎng)絡(luò)中極大地降低網(wǎng)絡(luò)資源利用率。為了解決這一問(wèn)題,可以采用基于目的節(jié)點(diǎn)序列距離矢量(Destination Sequenced Distance Vector,DSDV)路由的靶向洪泛,通過(guò)只洪泛控制報(bào)文來(lái)降低網(wǎng)絡(luò)開(kāi)銷(xiāo)。有學(xué)者提出了一種基于無(wú)線(xiàn)自組網(wǎng)按需平面距離向量(Ad hoc on-Demand Distance Vector,AODV)路由算法來(lái)適應(yīng)動(dòng)態(tài)的網(wǎng)絡(luò)需求,從而允許消息直接路由到目的地而不發(fā)生洪泛[18]。該算法使用中間跳數(shù)和RSSI 的組合作為度量來(lái)選擇中繼節(jié)點(diǎn)。通過(guò)增加路由維護(hù)和路由中斷檢測(cè)功能,來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)之間高效可靠的雙向路徑。這種路由算法通過(guò)減少大規(guī)模網(wǎng)絡(luò)的流量、能耗和分組丟失來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)資源的有效利用。但由于連接請(qǐng)求包需要很多字段來(lái)攜帶控制信息且節(jié)點(diǎn)要發(fā)送數(shù)據(jù)包時(shí)往往要先尋路,又引入了較高的數(shù)據(jù)包傳輸時(shí)延。

作為移動(dòng)自組織網(wǎng)絡(luò)中表驅(qū)動(dòng)式路由和按需路由這兩類(lèi)主流路由協(xié)議的代表算法[19-20],DSDV 路由算法和AODV 路由算法各有優(yōu)劣。AODV 在尋路階段占用的網(wǎng)絡(luò)資源少于DSDV,其網(wǎng)絡(luò)開(kāi)銷(xiāo)更小,帶寬利用率更高。然而AODV 廣播包的開(kāi)銷(xiāo)(需要攜帶的信息)要遠(yuǎn)大于DSDV,節(jié)點(diǎn)發(fā)送和處理這些尋路信息需要花費(fèi)更多的時(shí)間,這里引入了更高的處理時(shí)延;而且每次需要在發(fā)送數(shù)據(jù)之前再進(jìn)行尋路,而DSDV 往往在節(jié)點(diǎn)要發(fā)送數(shù)據(jù)時(shí)就已經(jīng)有現(xiàn)成的路由[21],可以直接轉(zhuǎn)發(fā)數(shù)據(jù)。因此在時(shí)延表現(xiàn)上,DSDV 要明顯優(yōu)于AODV。同時(shí)就路由尋找機(jī)制的復(fù)雜度而言,DSDV 的復(fù)雜度明顯低于AODV,在可實(shí)現(xiàn)性上優(yōu)于AODV 協(xié)議。

本文考慮支持音頻業(yè)務(wù)傳輸?shù)乃{(lán)牙網(wǎng)絡(luò),將BLE Audio 的同步傳輸鏈路引入DSDV 路由算法,來(lái)實(shí)現(xiàn)任意節(jié)點(diǎn)的點(diǎn)對(duì)點(diǎn)音頻傳輸。同時(shí)為了降低節(jié)點(diǎn)功耗,設(shè)計(jì)了一種根據(jù)節(jié)點(diǎn)狀態(tài)自適應(yīng)修改節(jié)點(diǎn)廣播周期的機(jī)制。最后基于BLE Audio 硬件平臺(tái)針對(duì)功耗和時(shí)延對(duì)提出的算法進(jìn)行了驗(yàn)證。

1 應(yīng)用場(chǎng)景與問(wèn)題分析

考慮在單個(gè)藍(lán)牙節(jié)點(diǎn)通信范圍無(wú)法全部覆蓋的面積很大的區(qū)域內(nèi),通過(guò)布置在該區(qū)域內(nèi)的大規(guī)模藍(lán)牙網(wǎng)絡(luò),能夠?qū)崿F(xiàn)任意節(jié)點(diǎn)的點(diǎn)對(duì)點(diǎn)同步音頻傳輸。該場(chǎng)景中的點(diǎn)對(duì)點(diǎn)音頻傳輸就是任意兩個(gè)藍(lán)牙節(jié)點(diǎn)分別作為音頻源(音頻發(fā)送端)和播放器(音頻接收端),從而使得用戶(hù)能夠通過(guò)這兩個(gè)藍(lán)牙節(jié)點(diǎn)同步收聽(tīng)到相同的音頻。如圖1 所示。

圖1 點(diǎn)對(duì)點(diǎn)同步音頻傳輸示例

音頻傳輸業(yè)務(wù)對(duì)節(jié)點(diǎn)間的傳輸時(shí)延有著極高的要求。例如在電影院里,不同國(guó)家的觀眾通過(guò)藍(lán)牙耳機(jī)同步地收聽(tīng)不同語(yǔ)種的配音,這就要求從音頻源到藍(lán)牙耳機(jī)的時(shí)延要很低。同時(shí),由于藍(lán)牙設(shè)備的尺寸限制,其電池容量十分有限,這就要求在保證音頻包在各節(jié)點(diǎn)間低時(shí)延傳輸?shù)耐瑫r(shí)盡可能地降低節(jié)點(diǎn)的功耗。

因此,為了實(shí)現(xiàn)上述應(yīng)用場(chǎng)景的需求,本文基于DSDV 路由算法,將音頻包傳輸方式從節(jié)點(diǎn)查找路由表轉(zhuǎn)發(fā)替換成在BLE Audio 的同步傳輸鏈路上傳輸,提出了一種面向BLE Audio 的改進(jìn)DSDV 路由算法。同時(shí)為了降低節(jié)點(diǎn)的功耗,引入了依據(jù)節(jié)點(diǎn)狀態(tài)自適應(yīng)修改節(jié)點(diǎn)廣播周期的機(jī)制。根據(jù)上述思路首先定義了3 種類(lèi)型的廣播包,并定義了每個(gè)廣播包的廣播內(nèi)容字段。接著將面向BLE Audio 的改進(jìn)DSDV 路由算法分為3 個(gè)模塊來(lái)實(shí)現(xiàn):節(jié)點(diǎn)路由表更新模塊、同步鏈路音頻包傳輸模塊和自適應(yīng)廣播周期模塊。

2 路由機(jī)制的實(shí)現(xiàn)

本節(jié)將具體介紹面向BLE Audio 的改進(jìn)DSDV 路由機(jī)制的具體實(shí)現(xiàn)過(guò)程,將對(duì)周期性廣播包的設(shè)計(jì)以及路由機(jī)制的3 個(gè)模塊的設(shè)計(jì)進(jìn)行闡述。該路由機(jī)制的整體結(jié)構(gòu)如圖2 所示。

圖2 所提路由機(jī)制的整體結(jié)構(gòu)框圖

本文提出的面向BLE Audio 的改進(jìn)DSDV 路由機(jī)制的核心在于,設(shè)計(jì)了一種自適應(yīng)改變發(fā)送廣播包的周期的機(jī)制,通過(guò)周期性地檢測(cè)節(jié)點(diǎn)狀態(tài)來(lái)自適應(yīng)地改變發(fā)送廣播包的周期,從而降低協(xié)議開(kāi)銷(xiāo),降低節(jié)點(diǎn)的能耗。同時(shí),設(shè)計(jì)了一種基于BLE Audio 同步鏈路的數(shù)據(jù)包轉(zhuǎn)發(fā)機(jī)制,當(dāng)有業(yè)務(wù)到達(dá)時(shí),源節(jié)點(diǎn)先通過(guò)路由表打通一條到達(dá)目的節(jié)點(diǎn)的同步鏈路,即建立起多跳的同步傳輸通道,接著再通過(guò)這條同步傳輸通道定向發(fā)送音頻數(shù)據(jù)包。這樣就只需在一開(kāi)始在每個(gè)節(jié)點(diǎn)查詢(xún)一次路由表,后續(xù)的音頻數(shù)據(jù)包轉(zhuǎn)發(fā)就不必在查詢(xún)路由,大大降低了節(jié)點(diǎn)的數(shù)據(jù)包處理時(shí)延。

節(jié)點(diǎn)路由表更新模塊是為了在進(jìn)行音頻傳輸前,讓各節(jié)點(diǎn)建立起擁有到網(wǎng)絡(luò)中其他節(jié)點(diǎn)路由的路由表;同步鏈路音頻包傳輸模塊是為了實(shí)現(xiàn)低時(shí)延的點(diǎn)對(duì)點(diǎn)音頻傳輸功能;自適應(yīng)廣播周期模塊是為了降低節(jié)點(diǎn)在進(jìn)行音頻傳輸業(yè)務(wù)時(shí)的功耗。

2.1 周期性廣播包

該路由機(jī)制的廣播包使用BLE 協(xié)議中的擴(kuò)展廣播包結(jié)構(gòu),其數(shù)據(jù)結(jié)構(gòu)如圖3 所示。該算法將需要傳輸?shù)目刂菩畔⒋娣旁谪?fù)載的廣播數(shù)據(jù)(AdvData)字段。所有廣播包的AdvData 字段都可以分為2 個(gè)部分:場(chǎng)景標(biāo)識(shí)和廣播內(nèi)容。

圖3 擴(kuò)展廣播包結(jié)構(gòu)

對(duì)于不同的機(jī)制,節(jié)點(diǎn)執(zhí)行的操作、節(jié)點(diǎn)間需要交互的信息不完全一致,該算法將廣播包類(lèi)型分為三類(lèi):BLE同步建鏈廣播包、路由廣播包和預(yù)建鏈廣播包,如表1 所示。

表1 廣播包類(lèi)型定義

2.2 節(jié)點(diǎn)路由表更新模塊

每個(gè)節(jié)點(diǎn)都需要維護(hù)一張路由表,表中的每一條路由都由4 部分組成:下一跳節(jié)點(diǎn)地址S0、目的節(jié)點(diǎn)地址S1、跳數(shù)H 和目的節(jié)點(diǎn)序列號(hào)N。每個(gè)節(jié)點(diǎn)自身地址為D。同時(shí)每個(gè)節(jié)點(diǎn)都有其CPU,因此所有節(jié)點(diǎn)都有一個(gè)工作周期Tc。為了實(shí)現(xiàn)路由表的更新,在每個(gè)時(shí)鐘周期內(nèi),節(jié)點(diǎn)需要完成兩件事:發(fā)送廣播包與掃描處理廣播包。

(1)發(fā)送廣播包

這里發(fā)送的廣播包為路由廣播包,其目的是:向網(wǎng)絡(luò)中的其他節(jié)點(diǎn)告知本地節(jié)點(diǎn)的信息以及向其他節(jié)點(diǎn)轉(zhuǎn)發(fā)本地路由表在上一個(gè)Tc更新的路由信息。在表1 中定義了路由廣播包的廣播內(nèi)容,該算法規(guī)定路由廣播包需要攜帶自身節(jié)點(diǎn)地址S0、目的節(jié)點(diǎn)地址S1、跳數(shù)H以及目的節(jié)點(diǎn)序列號(hào)N這四個(gè)信息[22]。當(dāng)節(jié)點(diǎn)發(fā)送的路由廣播包是用來(lái)告知其他節(jié)點(diǎn)本地節(jié)點(diǎn)的信息時(shí),廣播內(nèi)容的S0和S1賦值為本地節(jié)點(diǎn)地址D,H和N均賦值為0。

(2)掃描處理廣播包

在節(jié)點(diǎn)發(fā)送完廣播包后,就要開(kāi)始接收其他節(jié)點(diǎn)發(fā)送的廣播包并進(jìn)行相應(yīng)的處理。當(dāng)節(jié)點(diǎn)掃描到一個(gè)廣播包時(shí),首先要判斷廣播包中的S1與本地節(jié)點(diǎn)地址D是否一致。若一致則丟棄廣播包;若不一致則在路由表中查找是否存在S1與廣播包中的S1一致的路由,若不存在則在路由表中添加新的路由,新路由的S0賦值為S0、S1賦值為S1、H 賦值為H+1、N 賦值為N+2,同時(shí)準(zhǔn)備好下個(gè)周期要發(fā)送的路由廣播包的廣播內(nèi)容,其S0賦值為D、S1賦值為新路由的S1、H賦值為新路由的H、N賦值為新路由的N;若存在則判斷廣播包中的N與路由的N 是否一致。若N<N 則丟棄廣播包;若N>N 則進(jìn)行上述更新路由表路由的操作并預(yù)置下個(gè)周期要發(fā)送的路由廣播包;若N=N 則判斷廣播包中的H是否小于路由的H。若H≥H 則丟棄廣播包;若H<H 則進(jìn)行上述更新路由表路由的操作并預(yù)置下個(gè)周期要發(fā)送的路由廣播包。以上就是節(jié)點(diǎn)處理廣播包的具體流程。

節(jié)點(diǎn)路由表更新模塊的流程圖如圖4 所示。

圖4 掃描處理廣播包流程圖

2.3 同步鏈路音頻包轉(zhuǎn)發(fā)模塊

當(dāng)網(wǎng)絡(luò)中各節(jié)點(diǎn)的路由表建立完成后,節(jié)點(diǎn)間需要進(jìn)行點(diǎn)對(duì)點(diǎn)音頻傳輸,由于音頻傳輸業(yè)務(wù)要傳輸大量的連續(xù)的數(shù)據(jù)包,傳統(tǒng)的DSDV 路由數(shù)據(jù)包轉(zhuǎn)發(fā)機(jī)制在保證音頻在接收方穩(wěn)定播放的情況下會(huì)引入大量的時(shí)延。因此所提出算法引入了BLE Audio 的同步傳輸鏈路機(jī)制,讓音頻在同步傳輸鏈路上進(jìn)行傳輸。

首先,源節(jié)點(diǎn)發(fā)起音頻傳輸請(qǐng)求,開(kāi)始周期性廣播預(yù)建鏈廣播包,表1 中定義了它的廣播內(nèi)容:自身節(jié)點(diǎn)地址、目的節(jié)點(diǎn)地址和下一跳節(jié)點(diǎn)地址。該預(yù)建鏈廣播包采用傳統(tǒng)DSDV 路由數(shù)據(jù)包的轉(zhuǎn)發(fā)機(jī)制,逐跳查表到達(dá)目的節(jié)點(diǎn)。在預(yù)建鏈廣播包的轉(zhuǎn)發(fā)過(guò)程中,途徑節(jié)點(diǎn)均會(huì)保存其上一跳節(jié)點(diǎn)的地址。

接著目的節(jié)點(diǎn)發(fā)送預(yù)建鏈完成應(yīng)答消息逐步轉(zhuǎn)發(fā)回源節(jié)點(diǎn)。源節(jié)點(diǎn)接收到應(yīng)答后發(fā)送BLE 建鏈廣播包,該廣播包會(huì)使得這條路徑上的所有相鄰節(jié)點(diǎn)建立起同步傳輸鏈路。本算法采用BLE Audio 中基于單播的面向連接的同步組(Connected Isochronous Group,CIG),每個(gè)同步組由多個(gè)基于單播的面向連接的同步流(Connected Isochronous Streams,CIS)構(gòu)成。同一個(gè)CIG 內(nèi)的CIS具有相同的時(shí)間戳,以確保同一個(gè)小組的CIG 的數(shù)據(jù)是同步的。在一個(gè)小組內(nèi),對(duì)于每個(gè)CIS,都有一個(gè)時(shí)間表發(fā)送和接收時(shí)隙,它們稱(chēng)為事件和子事件。每個(gè)事件的發(fā)生間隔,稱(chēng)為一個(gè)ISO 間隔,時(shí)間范圍規(guī)定在5 ms 至4 s(為1.25 ms 的倍數(shù)),每個(gè)事件被劃分成一個(gè)或多個(gè)子事件。在子事件期間,主設(shè)備傳輸一次,從設(shè)備就響應(yīng)一次。事件從CIS 的錨點(diǎn)開(kāi)始,并在主設(shè)備接收到來(lái)自從設(shè)備的最后一個(gè)比特時(shí)結(jié)束[8]。CIS 的事件和子事件如圖5 所示。

圖5 CIS的事件和子事件

通過(guò)在同步傳輸鏈路上進(jìn)行音頻傳輸,音頻包到達(dá)每個(gè)節(jié)點(diǎn)時(shí)不必再專(zhuān)門(mén)地查找路由表,從而極大地降低了音頻傳輸時(shí)延。同步鏈路音頻包轉(zhuǎn)發(fā)模塊如圖6 所示。

圖6 同步鏈路音頻包轉(zhuǎn)發(fā)模塊

2.4 自適應(yīng)調(diào)節(jié)廣播周期模塊

在傳統(tǒng)的DSDV 路由協(xié)議中,節(jié)點(diǎn)發(fā)送廣播包的周期是固定的,該算法將節(jié)點(diǎn)發(fā)送廣播包的周期依據(jù)節(jié)點(diǎn)狀態(tài)進(jìn)行自適應(yīng)修改。當(dāng)節(jié)點(diǎn)在沒(méi)有業(yè)務(wù)到達(dá)時(shí),即沒(méi)有建立點(diǎn)對(duì)點(diǎn)通信的需求時(shí),降低廣播包發(fā)送的頻率,當(dāng)有業(yè)務(wù)到達(dá)時(shí),再提高廣播包發(fā)送的頻率,這樣就能在保證路由更新和數(shù)據(jù)轉(zhuǎn)發(fā)性能的前提下,通過(guò)節(jié)點(diǎn)空閑時(shí)降低路由廣播包發(fā)送的頻率來(lái)降低節(jié)點(diǎn)開(kāi)銷(xiāo),并降低廣播包對(duì)網(wǎng)絡(luò)信道的占用,從而降低節(jié)點(diǎn)的功耗。

當(dāng)節(jié)點(diǎn)在一個(gè)工作周期中,如果接收到了預(yù)建鏈定向廣播包,或節(jié)點(diǎn)主動(dòng)地發(fā)起與目的節(jié)點(diǎn)的通信請(qǐng)求時(shí),節(jié)點(diǎn)就會(huì)主動(dòng)修改廣播發(fā)送的周期,將發(fā)送廣播周期降低α倍,并在這個(gè)工作周期結(jié)束后切換成更新后的Tc/α周期發(fā)送廣播包,在處理業(yè)務(wù)的這段時(shí)間內(nèi),都以該周期使用的時(shí)鐘作為廣播包發(fā)送的時(shí)鐘。

當(dāng)節(jié)點(diǎn)處理完業(yè)務(wù)時(shí),即節(jié)點(diǎn)檢測(cè)到BLE 鏈路斷開(kāi)(代表點(diǎn)對(duì)點(diǎn)音頻傳輸結(jié)束),節(jié)點(diǎn)再將廣播發(fā)送周期修改回空閑狀態(tài)的,也就是修改回Tc,并在當(dāng)前工作周期結(jié)束后生效。自適應(yīng)調(diào)節(jié)廣播周期模塊如圖7 所示。

圖7 自適應(yīng)調(diào)節(jié)廣播周期模塊

3 驗(yàn)證結(jié)果

為了驗(yàn)證本文所提算法的可行性,通過(guò)C 語(yǔ)言編程并通過(guò)編譯軟件將編譯后的二進(jìn)制文件燒錄至可實(shí)現(xiàn)BLE Audio 協(xié)議的硬件平臺(tái)上調(diào)試,實(shí)現(xiàn)了上述算法的各個(gè)模塊功能,并在可實(shí)現(xiàn)BLE Audio 協(xié)議的硬件平臺(tái)上進(jìn)行了算法性能測(cè)試。通過(guò)C 語(yǔ)言工程編輯軟件編寫(xiě)代碼,在編譯軟件中編譯得到二進(jìn)制文件,將串口數(shù)據(jù)線(xiàn)從電腦連接至該可實(shí)現(xiàn)BLE Audio 協(xié)議的硬件平臺(tái),通過(guò)燒錄軟件進(jìn)行二進(jìn)制文件的燒錄。所用的硬件平臺(tái)是一個(gè)承載著兩個(gè)藍(lán)牙芯片的硬件電路板,高電平連接時(shí)燒錄文件、低電平連接時(shí)進(jìn)行功能調(diào)試,通過(guò)在代碼中對(duì)相應(yīng)按鍵的觸發(fā)函數(shù)進(jìn)行定義,在測(cè)試中通過(guò)操作按鍵來(lái)模擬藍(lán)牙的廣播包發(fā)送、掃描功能以及音頻包傳輸?shù)拈_(kāi)啟和關(guān)閉。每個(gè)節(jié)點(diǎn)由兩個(gè)藍(lán)牙模塊構(gòu)成,其中一個(gè)作為發(fā)送端、另一個(gè)作為接收端,發(fā)送端用來(lái)發(fā)送廣播包、接收端用來(lái)掃描處理廣播包。

實(shí)驗(yàn)采用四節(jié)點(diǎn)的鏈?zhǔn)侥P?,如圖8 所示。分別編號(hào)為節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)3、節(jié)點(diǎn)4。每個(gè)節(jié)點(diǎn)的物理結(jié)構(gòu)和工作性能是一致的。節(jié)點(diǎn)2 只能與節(jié)點(diǎn)1、節(jié)點(diǎn)3 通信,節(jié)點(diǎn)3 只能與節(jié)點(diǎn)2、節(jié)點(diǎn)4 通信,節(jié)點(diǎn)1 與節(jié)點(diǎn)4 不能通信。測(cè)試了4 個(gè)節(jié)點(diǎn)的路由建立流程,接著,以節(jié)點(diǎn)1為源節(jié)點(diǎn),以節(jié)點(diǎn)4 為目的節(jié)點(diǎn)進(jìn)行了音頻傳輸。設(shè)定廣播周期Tc=200 ms,周期修改倍數(shù)α =2,節(jié)點(diǎn)間同步傳輸鏈路采用CIG 鏈路,分別測(cè)試了使用傳統(tǒng)DSDV 路由算法和使用本文提出的面向BLE Audio 的改進(jìn)DSDV路由算法的節(jié)點(diǎn)電流值和端到端音頻包傳輸時(shí)延。

圖8 測(cè)試節(jié)點(diǎn)模型

表2 和表3 分別為不同藍(lán)牙模塊的使用不同路由算法的電流值和音頻傳輸時(shí)延統(tǒng)計(jì)表。

表2 兩種路由算法的節(jié)點(diǎn)電流 mA

表3 兩種路由算法的音頻傳輸時(shí)延 ms

從表2 可以看出,同一個(gè)節(jié)點(diǎn)上藍(lán)牙接收模塊的電流值要低于發(fā)送模塊的電流值。根據(jù)電流與功耗的關(guān)系式P=I2Z,(P為功率,I為電流,Z為阻抗)。由于每個(gè)節(jié)點(diǎn)的物理結(jié)構(gòu)基本一致,因此各節(jié)點(diǎn)(BLE Audio 硬件平臺(tái))的阻抗值幾乎相同,可以得到功耗與電流是呈正相關(guān)關(guān)系。所以同一個(gè)節(jié)點(diǎn)上藍(lán)牙接收模塊的功耗要低于發(fā)送模塊的功耗。由于節(jié)點(diǎn)的藍(lán)牙發(fā)射功率等級(jí)恒定,不同節(jié)點(diǎn)間距離對(duì)電流值的影響不大。同時(shí)對(duì)于使用本文提出的路由算法(有自適應(yīng)廣播周期機(jī)制)的節(jié)點(diǎn)接收模塊平均電流為85.50 mA,小于使用傳統(tǒng)DSDV 路由算法(沒(méi)有自適應(yīng)廣播周期機(jī)制)的節(jié)點(diǎn)接收模塊平均電流86.16 mA,通過(guò)使用本文提出的路由算法,節(jié)點(diǎn)接收模塊平均功耗降低了1.53%;對(duì)于使用本文提出的路由算法的節(jié)點(diǎn)發(fā)送模塊平均電流為92.02 mA,小于使用傳統(tǒng)DSDV 路由算法(沒(méi)有自適應(yīng)廣播周期機(jī)制)的節(jié)點(diǎn)發(fā)送模塊平均電流93.21 mA,通過(guò)使用本文提出的路由算法,節(jié)點(diǎn)發(fā)送模塊平均功耗降低了2.54%。

根據(jù)表3 的數(shù)據(jù)進(jìn)行繪圖得到兩種路由算法的音頻傳輸時(shí)延折線(xiàn)圖,如圖9。結(jié)果表明隨著距離逐漸變遠(yuǎn),從音頻源至各節(jié)點(diǎn)的音頻傳輸時(shí)延略微增加,但對(duì)單跳傳輸時(shí)延影響不大。單跳音頻傳輸?shù)臅r(shí)延為音頻包從音頻源至兩個(gè)相鄰節(jié)點(diǎn)的平均時(shí)延之差。通過(guò)計(jì)算,當(dāng)節(jié)點(diǎn)間距離為10 m 時(shí),使用傳統(tǒng)DSDV 算法的平均單跳傳輸時(shí)延為101.8 ms,而使用本文提出的路由算法的平均單跳音頻傳輸時(shí)延為36.3 ms,比傳統(tǒng)DSDV 算法的平均單跳傳輸時(shí)延降低了64.34%。而對(duì)使用本文提出的路由算法的情況下,當(dāng)節(jié)點(diǎn)間距離為10 m 時(shí),節(jié)點(diǎn)1 至節(jié)點(diǎn)2 的傳輸時(shí)延為37.7 ms,節(jié)點(diǎn)2 至節(jié)點(diǎn)3 的傳輸時(shí)延為37.3 ms,節(jié)點(diǎn)3 至節(jié)點(diǎn)4 的傳輸時(shí)延為33.9 ms,3 個(gè)單跳音頻傳輸時(shí)延的方差為4.4,遠(yuǎn)小于其均值36.3,因此隨著跳數(shù)的提高,從源節(jié)點(diǎn)至目的節(jié)點(diǎn)傳輸時(shí)延會(huì)隨之線(xiàn)性提高。

圖9 兩種路由算法的音頻傳輸時(shí)延折線(xiàn)圖

4 結(jié)束語(yǔ)

在需要進(jìn)行點(diǎn)對(duì)點(diǎn)音頻傳輸?shù)乃{(lán)牙網(wǎng)絡(luò)中,以不損失音頻播放質(zhì)量為前提,為了降低節(jié)點(diǎn)功耗和音頻傳輸時(shí)延,將BLE Audio 的同步傳輸鏈路引入傳統(tǒng)的DSDV路由算法中,并加入根據(jù)節(jié)點(diǎn)狀態(tài)自適應(yīng)修改廣播周期的機(jī)制,提出了一種面向BLE Audio 的改進(jìn)DSDV 路由算法。實(shí)驗(yàn)結(jié)果表明,使用改進(jìn)DSDV 路由算法不僅能夠降低節(jié)點(diǎn)功耗,同時(shí)極大地降低了節(jié)點(diǎn)間單跳的音頻傳輸時(shí)延。因此,采用本文提出的改進(jìn)DSDV 路由算法能夠提高藍(lán)牙網(wǎng)絡(luò)性能,實(shí)現(xiàn)低時(shí)延的點(diǎn)對(duì)點(diǎn)音頻傳輸。

猜你喜歡
路由表藍(lán)牙時(shí)延
藍(lán)牙音箱的直線(xiàn)之美
基于OSPF特殊區(qū)域和LSA的教學(xué)設(shè)計(jì)與實(shí)踐
基于GCC-nearest時(shí)延估計(jì)的室內(nèi)聲源定位
電子制作(2019年23期)2019-02-23 13:21:12
基于改進(jìn)二次相關(guān)算法的TDOA時(shí)延估計(jì)
簡(jiǎn)單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
組播狀態(tài)異常導(dǎo)致故障
緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
玩具世界(2017年8期)2017-02-06 03:01:38
FRFT在水聲信道時(shí)延頻移聯(lián)合估計(jì)中的應(yīng)用
基于分段CEEMD降噪的時(shí)延估計(jì)研究
盖州市| 嘉义县| 七台河市| 突泉县| 昌吉市| 资阳市| 塘沽区| 安丘市| 新宁县| 疏附县| 桐庐县| 内黄县| 临沭县| 偃师市| 烟台市| 繁昌县| 兴安盟| 介休市| 桃园市| 申扎县| 会昌县| 深水埗区| 墨竹工卡县| 镇沅| 宜州市| 吴江市| 西昌市| 肃宁县| 乐平市| 察雅县| 科技| 永丰县| 衡东县| 南投县| 辽中县| 潞城市| 栖霞市| 石狮市| 永登县| 电白县| 上蔡县|