侯睿,王涵,金繼歡,張俊敏
(中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,武漢 430074)
近年來,隨著醫(yī)護(hù)工作要求的不斷提高,醫(yī)療監(jiān)護(hù)網(wǎng)絡(luò)的性能也在不斷提升,相關(guān)研究表明,現(xiàn)在主流的醫(yī)療監(jiān)護(hù)系統(tǒng)存在節(jié)點(diǎn)移動(dòng)不足、網(wǎng)絡(luò)拓?fù)鋸椥暂^低等問題,因此以物聯(lián)網(wǎng)為基礎(chǔ)的醫(yī)療監(jiān)護(hù)網(wǎng)絡(luò)成為主流趨勢(shì).無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)由低成本、具有通信與數(shù)據(jù)處理能力的傳感器節(jié)點(diǎn)組成,節(jié)點(diǎn)根據(jù)分布式協(xié)議以多跳通信方式構(gòu)成無線通信自組織網(wǎng)絡(luò)系統(tǒng),能夠根據(jù)環(huán)境需求完成智能化感知、信息采集等任務(wù)[1-2].
目前,隨著WSNs技術(shù)在醫(yī)療領(lǐng)域的發(fā)展,在復(fù)雜環(huán)境下保證數(shù)據(jù)穩(wěn)定及時(shí)的傳輸至關(guān)重要.而沖突避免的載波偵聽多路訪問(Carrier Sense Multiple Access/Collision Avoidance,CSMA/CA)算 法 作 為WSNs領(lǐng)域廣泛運(yùn)用的受控訪問機(jī)制成為重點(diǎn)研究對(duì)象.
目前國內(nèi)外在CSMA/CA算法研究上取得了一些進(jìn)展:文獻(xiàn)[3]提出一種事件鏈計(jì)算(ECC)方法來對(duì)非時(shí)隙CSMA/CA算法建模,ECC可以生成所有可能的結(jié)果,通過適當(dāng)?shù)拈撝颠x擇,可以降低延遲,而對(duì)準(zhǔn)確性的影響很小.文獻(xiàn)[4]提出一種退避方法(EBA-15.4MAC),該方法能夠降低碰撞概率,同時(shí)提高時(shí)隙CSMA/CA算法的性能,但無法保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性.文獻(xiàn)[5]修正和擴(kuò)展了現(xiàn)有的馬爾可夫模型,比較了MAC層不同參數(shù)對(duì)網(wǎng)絡(luò)數(shù)據(jù)傳輸性能的影響,但該模型沒有考慮物理層傳輸錯(cuò)誤的概率.文獻(xiàn)[6]提出一種基于二維馬爾可夫鏈的分析模型來分析能耗,結(jié)果表明非時(shí)隙CSMA/CA算法優(yōu)于時(shí)隙CSMA/CA算法.文獻(xiàn)[7]提出了一種網(wǎng)絡(luò)性能評(píng)估模型,在不同類別的終端節(jié)點(diǎn)有不同的分組速率的前提下,能夠精確計(jì)算終端節(jié)點(diǎn)在空閑信道評(píng)估過程中信道繁忙的概率.文獻(xiàn)[8]提出一種基于優(yōu)先級(jí)的CSMA/CA算法,該算法根據(jù)網(wǎng)絡(luò)負(fù)荷自適應(yīng)調(diào)整退避指數(shù),以較小的延遲代價(jià)提升了網(wǎng)絡(luò)性能,但該模型沒有考慮重傳機(jī)制.文獻(xiàn)[9]提出一種EIED算法來提高網(wǎng)絡(luò)性能,EIED算法檢測(cè)到信道繁忙或空閑后,皆能夠根據(jù)退避因子來調(diào)整退避值大小,結(jié)果表明EIED算法優(yōu)于標(biāo)準(zhǔn)的CSMA/CA算法.文獻(xiàn)[10]提出一種優(yōu)先協(xié)議,對(duì)數(shù)據(jù)包進(jìn)行優(yōu)先級(jí)排序,確保高優(yōu)先級(jí)節(jié)點(diǎn)的穩(wěn)定可靠通信.文獻(xiàn)[11]提出一種改進(jìn)的CSMA/CA算法,根據(jù)終端節(jié)點(diǎn)到協(xié)調(diào)器節(jié)點(diǎn)的距離進(jìn)行優(yōu)先級(jí)排序,向距離較遠(yuǎn)的終端提供更公平的通信.文獻(xiàn)[12]對(duì)MAC參數(shù)和碰撞概率進(jìn)行了分析,但沒有提出提升網(wǎng)絡(luò)性能的優(yōu)化方法.文獻(xiàn)[13]分析了幾種延遲與能耗之間平衡的方法,但沒有考慮可靠性.因此,以上方法雖然在一定程度上提高了CSMA/CA算法的性能,但在應(yīng)用于醫(yī)療系統(tǒng)需要數(shù)據(jù)傳輸穩(wěn)定、延遲短等方面還存在著局限性.
本文針對(duì)基于醫(yī)療系統(tǒng)的非時(shí)隙CSMA/CA算法,首先設(shè)計(jì)出一套基于ZigBee無線傳感器技術(shù)的醫(yī)療監(jiān)測(cè)系統(tǒng),提出一種改進(jìn)的非時(shí)隙CSMA/CA算法,對(duì)隨機(jī)退避值的選取進(jìn)行優(yōu)化,加入重傳機(jī)制,保證數(shù)據(jù)的穩(wěn)定傳輸,同時(shí)建立了非時(shí)隙CSMA/CA算法的三維馬爾可夫鏈模型,分析了關(guān)鍵參數(shù)對(duì)于可靠性和延遲的影響,將數(shù)據(jù)根據(jù)實(shí)際情況進(jìn)行優(yōu)先級(jí)劃分,保證高優(yōu)先級(jí)數(shù)據(jù)優(yōu)先接入信道,以達(dá)到數(shù)據(jù)穩(wěn)定傳輸?shù)哪康?
本文根據(jù)ZigBee網(wǎng)絡(luò)自組織特點(diǎn),設(shè)計(jì)了一個(gè)單跳星型網(wǎng)絡(luò),其中包含一個(gè)ZigBee協(xié)調(diào)器節(jié)點(diǎn)和N個(gè)ZigBee終端節(jié)點(diǎn),每個(gè)ZigBee終端節(jié)點(diǎn)向ZigBee協(xié)調(diào)器節(jié)點(diǎn)異步發(fā)送數(shù)據(jù)幀.幀傳輸主要受退避次數(shù)(Number of Backoffs,NB)、退 避指數(shù)(Backoff Exponent,BE)以及重傳次數(shù)(Frame Retry,F(xiàn)R)影響.對(duì)于任何準(zhǔn)備傳輸?shù)臄?shù)據(jù)幀,終端節(jié)點(diǎn)需要在規(guī)定范圍內(nèi)隨機(jī)選擇一個(gè)整數(shù)退避周期進(jìn)行退避,當(dāng)退避時(shí)間結(jié)束后,進(jìn)行空閑信道評(píng)估(Clear Channel Assessment,CCA)來感知信道是否空閑,如果信道空閑,終端節(jié)點(diǎn)直接發(fā)送數(shù)據(jù)幀到協(xié)調(diào)器節(jié)點(diǎn);如果信道被占用,則進(jìn)行下一次退避,終端節(jié)點(diǎn)對(duì)新的退避值重新處理.
為了保證數(shù)據(jù)幀傳輸?shù)目煽啃?,設(shè)計(jì)出一種非時(shí)隙CSMA/CA算法重傳機(jī)制,當(dāng)終端節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀后,未在規(guī)定時(shí)間內(nèi)收到協(xié)調(diào)器節(jié)點(diǎn)返回的確認(rèn)幀(ACK),終端節(jié)點(diǎn)將再次訪問信道并重新發(fā)送該數(shù)據(jù)幀,并將FR的值加1,當(dāng)FR達(dá)到最大值后,則傳輸失敗丟棄該數(shù)據(jù)幀.
如圖1所示,模型具有三維狀態(tài){s(t),c(t),r(t)},在t時(shí)刻,s(t)∈(0,m)表示退避階段,c(t)∈(Wi-1,W0-1)代表退避計(jì)數(shù)器的狀態(tài),r(t)∈(0,r)代表重傳次數(shù)的值,m表示退避次數(shù)的最大值,r表示重傳次數(shù)的最大值,Wi表示第i次退避的競(jìng)爭(zhēng)窗口,公式為:
圖1 非時(shí)隙CSMA/CA算法的三維馬爾可夫鏈模型圖Fig.1 3D Markov chain model diagram of unslotted CSMA/CA algorithm
其中初始競(jìng)爭(zhēng)窗口W0=2m0,而mm為BE的最大值,m0為BE的最小值.
將整個(gè)馬爾可夫過程劃分為5個(gè)組件,分別是隨機(jī)退避、信道空閑評(píng)估、數(shù)據(jù)包成功接收、終端節(jié)點(diǎn)未收到確認(rèn)幀以及丟棄數(shù)據(jù)包.根據(jù)馬爾可夫鏈的規(guī)律,節(jié)點(diǎn)所有狀態(tài)和為1,得到如下等式:
根據(jù)馬爾可夫鏈模型圖可以推導(dǎo)出每個(gè)組件的表達(dá)式由b0,0,0表示,如下:
定義Pc為重傳概率,即終端節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀到信道但未收到確認(rèn)幀的概率,造成重傳的原因有兩個(gè):1)碰撞;2)物理層傳輸錯(cuò)誤.設(shè)Pt為物理層傳輸錯(cuò)誤的概率,因此重傳概率Pc為:
其中0≤Pt≤1,N表示終端節(jié)點(diǎn)的個(gè)數(shù).同樣的,為了求得CCA失敗概率α,即進(jìn)行空閑信道評(píng)估發(fā)現(xiàn)信道被占用的概率,可以將CCA失敗概率α分為兩部分:數(shù)據(jù)幀傳輸時(shí)CCA失敗概率αdata和確認(rèn)幀傳輸時(shí)CCA失敗概率αack,因此CCA失敗概率α為:
對(duì)αdata和αack分別進(jìn)行計(jì)算:
由(10)~(12)式可以推導(dǎo)出CCA失敗概率α為:
聯(lián)立(3)~(7)式,代入(2)式,可求出b0,0,0的表達(dá)式,表達(dá)式可以構(gòu)成一個(gè)非線性方程組,用數(shù)值方法求解,可以求出信道感知概率τ、重傳概率Pc以及CCA失敗概率α的值.
利用2.1中提出的三維馬爾可夫鏈模型進(jìn)行可靠性和延遲性能分析.
2.2.1 可靠性分析
在非時(shí)隙CSMA/CA算法中,將可靠性定義為協(xié)調(diào)器節(jié)點(diǎn)成功接收終端節(jié)點(diǎn)發(fā)送的數(shù)據(jù)幀的概率,未成功接收數(shù)據(jù)幀的原因主要有兩個(gè):(1)信道訪問失??;(2)幀傳輸時(shí)超出了重傳限制.因此,可靠性Pr為:
2.2.2 延遲分析
在非時(shí)隙CSMA/CA算法中,將延遲定義為從終端節(jié)點(diǎn)產(chǎn)生數(shù)據(jù)幀到終端節(jié)點(diǎn)接收到確認(rèn)幀之間的時(shí)間間隔,丟棄的包不考慮延遲.將總延遲分為3部分:(1)退避階段的延遲Dbs;(2)數(shù)據(jù)幀成功傳輸時(shí)的延遲Dts;(3)終端節(jié)點(diǎn)未接收到確認(rèn)幀時(shí)重傳過程的延遲Drs,因此,總延遲D為:
當(dāng)終端節(jié)點(diǎn)進(jìn)行空閑信道評(píng)估時(shí),發(fā)現(xiàn)信道繁忙,則進(jìn)入隨機(jī)退避階段,此階段的延遲Dbs[15]為:
由于成功傳輸過程中幀的總長度為La,則Dts=LaT0,T0為時(shí)隙單位,值為320 us.重傳過程的延遲Drs為:
其中Dks表示第k次重傳時(shí),數(shù)據(jù)幀傳輸失敗的延遲.
為了驗(yàn)證所提方法的有效性,本文在OMNET++5.6.2平臺(tái)上進(jìn)行非時(shí)隙CSMA/CA算法仿真實(shí)驗(yàn),本實(shí)驗(yàn)的拓?fù)浣Y(jié)構(gòu)為星型拓?fù)洌鐖D2所示.實(shí)驗(yàn)節(jié)點(diǎn)設(shè)定為1個(gè)協(xié)調(diào)器節(jié)點(diǎn)和12個(gè)終端節(jié)點(diǎn),終端節(jié)點(diǎn)定期向協(xié)調(diào)器節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀.選擇3個(gè)關(guān)鍵的參數(shù)來評(píng)估算法的性能,分別為重傳次數(shù)的最大值r,退避次數(shù)的最大值m,退避指數(shù)的最小值m0.參數(shù)設(shè)置r的取值范圍為[1,7],m的取值范圍為[3,6],m0的取值范圍為[1,6],設(shè)置物理層傳輸錯(cuò)誤概率Pt的值分別為0.05,0.1,0.2三種情況,每個(gè)終端節(jié)點(diǎn)物理層傳輸錯(cuò)誤概率是相同的.另外利用MATLAB中fsolve函數(shù)計(jì)算的性能指標(biāo)與仿真結(jié)果進(jìn)行了比較分析,仿真參數(shù)如表1所示.
圖2 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.2 Network topology structure
表1 實(shí)驗(yàn)參數(shù)Tab.1 Experimental parameters
3.2.1 可靠性分析
為了驗(yàn)證所提出的非時(shí)隙CSMA/CA算法在醫(yī)療監(jiān)測(cè)系統(tǒng)中的效能,本文選擇Biswas模型[6]進(jìn)行比較,Biswas模型是一種IEEE 802.15.4網(wǎng)絡(luò)二維馬爾可夫鏈模型,沒有重傳機(jī)制,因此只對(duì)其可靠性進(jìn)行分析比較.如圖3(a)所示,m0設(shè)置為3,m設(shè)置為4,可靠性隨著r的變大而變大,物理層傳輸錯(cuò)誤概率Pt的值不同,可靠性也不同,當(dāng)Pt較小時(shí),可靠性隨著r的變大而顯著變大,當(dāng)r大于5時(shí),可靠性變大的幅度減小,因?yàn)檫^多的重傳會(huì)增加碰撞概率,從而導(dǎo)致丟包率變大,因此,r并不是越大越好,偏大反而會(huì)增加網(wǎng)絡(luò)開銷.如圖3(b)所示,m0設(shè)置為3,r設(shè)置為3,可以看出m的值對(duì)可靠性沒有顯著的影響.如圖3(c)所示,m設(shè)置為4,r設(shè)置為3,m0會(huì)影響可靠性,因?yàn)閙0決定了初始競(jìng)爭(zhēng)窗口的大小,偏大的m0可以減小碰撞概率.從以上分析可知,影響可靠性最主要的因素是r.仿真結(jié)果與MATLAB求解得出的結(jié)果相比較,誤差率很低,與Biswas模型相比,當(dāng)增加了重傳機(jī)制后,所提出的模型具有更高的可靠性.
圖3 可靠性分析Fig.3 Reliability analysis
3.2.2 延遲分析
同樣,本文分析了3個(gè)關(guān)鍵參數(shù)對(duì)延遲的影響.如圖4(a)所示,當(dāng)Pt較小時(shí),r對(duì)延遲的影響不明顯,然而當(dāng)Pt較大時(shí),延遲隨著r的變大而變大,這是因?yàn)楫?dāng)Pt較小時(shí),大多數(shù)終端節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)幀不需要重傳就能傳輸成功.如圖4(b)所示,只有當(dāng)Pt較大時(shí),延遲會(huì)隨著m的變大而變大.如圖4(c)所示,隨著m0的變大,延遲明顯變大,因?yàn)閙0決定了初始競(jìng)爭(zhēng)窗口,m0越大,接入信道前的等待時(shí)間就越長,因此,影響延遲的主要參數(shù)是m0.仿真結(jié)果與MATLAB求解得出的結(jié)果相比較,誤差率較低.
圖4 延遲分析Fig.4 Delay analysis
由于此非時(shí)隙CSMA/CA算法運(yùn)用于醫(yī)療監(jiān)測(cè)系統(tǒng),為了保證重要的醫(yī)療數(shù)據(jù)能夠優(yōu)先傳輸,該算法會(huì)對(duì)醫(yī)療數(shù)據(jù)進(jìn)行優(yōu)先級(jí)劃分.本文對(duì)醫(yī)療數(shù)據(jù)等級(jí)的評(píng)判主要依照各項(xiàng)身體指標(biāo)在醫(yī)治過程中的重要程度.醫(yī)療領(lǐng)域主要數(shù)據(jù)分為:1)人體的體征數(shù)據(jù),如心率、血壓、血氧等;2)環(huán)境溫度,如溫度、濕度等;3)其他信號(hào),如緊急情況的報(bào)警信號(hào)、患者發(fā)出的求救信號(hào)等.根據(jù)上述醫(yī)療數(shù)據(jù)的重要程度,將人體的體征數(shù)據(jù)以及其他信號(hào)劃分為高優(yōu)先級(jí)數(shù)據(jù),環(huán)境溫度劃分為低優(yōu)先級(jí)數(shù)據(jù).在上文分析中得出,m0是影響延遲的主要參數(shù),為了保證高優(yōu)先級(jí)數(shù)據(jù)優(yōu)先傳輸,因此給高優(yōu)先級(jí)數(shù)據(jù)的m0初始值設(shè)置為2,低優(yōu)先級(jí)數(shù)據(jù)的m0初始值設(shè)置為3,以此讓高優(yōu)先級(jí)數(shù)據(jù)能夠優(yōu)先接入信道,通過仿真實(shí)驗(yàn),如圖5所示,高優(yōu)先級(jí)數(shù)據(jù)比低優(yōu)先級(jí)數(shù)據(jù)接入信道的概率更高,且隨著終端節(jié)點(diǎn)數(shù)量的增加,終端節(jié)點(diǎn)接入信道的概率會(huì)減小.
圖5 不同優(yōu)先級(jí)數(shù)據(jù)信道接入概率Fig.5 Channel access probability of data with different priorities
無線傳感器網(wǎng)絡(luò)應(yīng)用于醫(yī)療領(lǐng)域具有重要的現(xiàn)實(shí)意義,能夠提高醫(yī)院的信息化管理能力以及運(yùn)行效率.本文提出了一種非時(shí)隙CSMA/CA算法,根據(jù)醫(yī)療數(shù)據(jù)的重要程度,將醫(yī)療數(shù)據(jù)進(jìn)行優(yōu)先級(jí)劃分,對(duì)因碰撞等原因?qū)е聛G棄的包進(jìn)行重傳,提高了可靠性,降低了延遲,在醫(yī)療領(lǐng)域具有理論和實(shí)際的參考意義.