舒 帥,湯寶平,黃 藝,趙春華,付 豪
(重慶大學(xué) 機(jī)械傳動(dòng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,重慶 400044)
將無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor network, WSN)應(yīng)用于機(jī)械設(shè)備狀態(tài)監(jiān)測(cè)中可以彌補(bǔ)傳統(tǒng)有線監(jiān)測(cè)系統(tǒng)的某些不足[1-3]。機(jī)械振動(dòng)監(jiān)測(cè)的高采樣率將在短時(shí)間內(nèi)產(chǎn)生大量原始數(shù)據(jù)[4-5],其中采集和傳輸過(guò)程消耗了節(jié)點(diǎn)的絕大部分能量。針對(duì)傳輸過(guò)程,現(xiàn)有無(wú)線傳感器網(wǎng)絡(luò)多采用基于確認(rèn)幀(acknowledgement,ACK)的丟包檢測(cè)與重傳機(jī)制來(lái)保證數(shù)據(jù)的可靠[6],但ACK幀將引起額外的時(shí)延和能耗,在傳輸大量原始數(shù)據(jù)時(shí)更為嚴(yán)重。NACK(negative acknowledgement)方式是一種針對(duì)少量丟失包重傳通知的丟包反饋方法,可以有效降低ACK幀帶來(lái)的傳輸時(shí)延與能耗,但是某些情況無(wú)法保證數(shù)據(jù)的可靠傳輸[7]。因此,如何在保證大量機(jī)械振動(dòng)數(shù)據(jù)可靠傳輸?shù)那疤嵯陆档蛡鬏斈芎氖秦酱鉀Q的難題。
針對(duì)可靠傳輸與能耗優(yōu)化方法,國(guó)內(nèi)外學(xué)者進(jìn)行了相關(guān)的研究[8-10]。Barroca等[11]提出了一種BACK(block acknowledgement)機(jī)制來(lái)優(yōu)化信道使用率,可以有效提高網(wǎng)絡(luò)吞吐量并降低節(jié)點(diǎn)能耗,但是發(fā)送節(jié)點(diǎn)在每個(gè)塊發(fā)送結(jié)束后需要請(qǐng)求塊反饋信息包,在信道良好情況下將產(chǎn)生不必要的傳輸能耗。Zhang等[12]提出了一種能源感知混合自動(dòng)重傳請(qǐng)求方法,在以一定窗口大小的數(shù)據(jù)包傳輸過(guò)程中,通過(guò)復(fù)制ACK幀來(lái)避免ACK幀丟失引起的數(shù)據(jù)包重傳,該方法在一定條件下可以有效降低節(jié)點(diǎn)能耗。Liu等[13]提出一種“發(fā)送一個(gè)數(shù)據(jù)幀等待多個(gè)ACK幀(send and wait automatic repeat-request, SW-ODMA)”協(xié)議,通過(guò)增加ACK幀數(shù)量保證數(shù)據(jù)傳輸可靠性,該方法在保證大量數(shù)據(jù)可靠傳輸時(shí)增加了數(shù)據(jù)傳輸能耗。
針對(duì)目前無(wú)線傳感器網(wǎng)絡(luò)在傳輸大量數(shù)據(jù)時(shí)ACK幀導(dǎo)致額外的傳輸能耗,本文提出一種機(jī)械振動(dòng)WSN自適應(yīng)傳輸控制方法,結(jié)合ACK與NACK傳輸方法的優(yōu)點(diǎn),并通過(guò)數(shù)據(jù)分組檢測(cè)、低開銷丟包狀態(tài)通知以及根據(jù)傳輸鏈路質(zhì)量自適應(yīng)選擇最佳傳輸模式等方式,在保證數(shù)據(jù)可靠傳輸?shù)那疤嵯拢档蜋C(jī)械振動(dòng)無(wú)線傳感網(wǎng)絡(luò)傳輸大量數(shù)據(jù)時(shí)的傳輸能耗。
丟包恢復(fù)是無(wú)線通信中保證數(shù)據(jù)可靠傳輸?shù)囊环N有效方法,IEEE 802.15.4標(biāo)準(zhǔn)定義了數(shù)據(jù)幀通過(guò)方式進(jìn)行丟包檢測(cè)和反饋,即接收節(jié)點(diǎn)在接收到數(shù)據(jù)幀后發(fā)送一個(gè)ACK幀以確認(rèn)數(shù)據(jù)接收完成,發(fā)送節(jié)點(diǎn)在傳輸一個(gè)數(shù)據(jù)幀后初始化一個(gè)定時(shí)器,等待接收節(jié)點(diǎn)發(fā)送的ACK幀,在定時(shí)結(jié)束前成功接收到該數(shù)據(jù)包對(duì)應(yīng)的ACK幀則表示數(shù)據(jù)傳輸成功,超時(shí)則重傳該數(shù)據(jù)包。
ACK方式能夠很大程度地確保數(shù)據(jù)可靠傳輸,但這種傳輸方式會(huì)消耗額外的能量和帶寬,如圖1所示,接收節(jié)點(diǎn)在接收到數(shù)據(jù)幀后經(jīng)過(guò)仲裁幀間間隔(arbitration interframe space,AIFS)后發(fā)送ACK幀,發(fā)送節(jié)點(diǎn)在發(fā)送數(shù)據(jù)幀后打開接收器偵聽信道并維護(hù)一個(gè)定時(shí)器,直到偵聽到ACK幀或者定時(shí)結(jié)束。在此過(guò)程中,接收節(jié)點(diǎn)需要對(duì)接收的每一個(gè)數(shù)據(jù)包反饋一個(gè)ACK幀,發(fā)送節(jié)點(diǎn)也需要在傳輸完一個(gè)數(shù)據(jù)包后偵聽ACK幀,收發(fā)節(jié)點(diǎn)雙方都將產(chǎn)生額外能耗,在傳輸大量數(shù)據(jù)時(shí)由ACK幀帶來(lái)的累積能耗不容小覷。

圖1 ACK方式數(shù)據(jù)幀時(shí)隙Fig.1 Data frame time slot in ACK mode
NACK是一種只需要針對(duì)少量丟失包的丟包恢復(fù)機(jī)制,發(fā)送節(jié)點(diǎn)順序發(fā)送數(shù)據(jù)包,接收節(jié)點(diǎn)通過(guò)檢測(cè)包序號(hào)連續(xù)性判斷數(shù)據(jù)包丟失情況,并在檢測(cè)到丟包時(shí)向源節(jié)點(diǎn)發(fā)送一個(gè)包含丟失包包序號(hào)的反饋信息包(NACK包),要求發(fā)送節(jié)點(diǎn)重新傳輸丟失的數(shù)據(jù)包。使用NACK方式可以在信道狀態(tài)良好的情況下實(shí)現(xiàn)數(shù)據(jù)幀的順序傳輸,減少ACK幀的開銷。
但是,NACK機(jī)制也有不足之處:首先,若首尾數(shù)據(jù)包丟失,接收節(jié)點(diǎn)將無(wú)法檢測(cè)丟包情況并反饋,且信道質(zhì)量較差時(shí),NACK包數(shù)量將不可控增加,加重信道負(fù)載并增加節(jié)點(diǎn)傳輸能耗,并且NACK包的丟失將引起傳輸?shù)牟豢煽俊F浯危l(fā)送節(jié)點(diǎn)需要緩存所有數(shù)據(jù)以便在數(shù)據(jù)包丟失時(shí)重傳,這極大浪費(fèi)了節(jié)點(diǎn)有限的存儲(chǔ)資源;最后,發(fā)送節(jié)點(diǎn)由于無(wú)法得知丟包情況,在收到NACK包前將保持發(fā)送狀態(tài),若此時(shí)接收節(jié)點(diǎn)發(fā)送NACK包則會(huì)與發(fā)送節(jié)點(diǎn)產(chǎn)生沖突,極易發(fā)生NACK包丟失的情況,如圖2所示。另外,機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)常使用簇狀網(wǎng)絡(luò)結(jié)構(gòu),作為接收節(jié)點(diǎn)的網(wǎng)關(guān)或路由通常擁有多個(gè)子節(jié)點(diǎn),IEEE 802.15.4中使用沖突避免的載波偵聽多路訪問(wèn)(carrier sense multiple access with collision avoid, CSMA/CA)機(jī)制來(lái)協(xié)調(diào)多節(jié)點(diǎn)傳輸,接收節(jié)點(diǎn)發(fā)送NACK包時(shí)需要和其他節(jié)點(diǎn)共同競(jìng)爭(zhēng)信道,易導(dǎo)致NACK包的傳輸滯后,進(jìn)而使得發(fā)生丟包的發(fā)送節(jié)點(diǎn)無(wú)法及時(shí)重傳丟失的數(shù)據(jù)包。

圖2 NACK包與數(shù)據(jù)包的沖突Fig.2 Conflict between NACK packet and data packet
機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)對(duì)數(shù)據(jù)傳輸具有高可靠性的要求,采用ACK方式傳輸數(shù)據(jù)可以很好地保證數(shù)據(jù)可靠性,但傳輸大量數(shù)據(jù)時(shí)具有較高能耗,NACK傳輸方式可以降低傳輸能耗,但在信道條件較差的情況下難以保證數(shù)據(jù)傳輸可靠。本文提出機(jī)械振動(dòng)WSN大量數(shù)據(jù)自適應(yīng)傳輸控制方法,如圖3所示。
IEEE 802.15.4標(biāo)準(zhǔn)中定義了鏈路質(zhì)量指示(link quality indicator, LQI)來(lái)表示通信鏈路質(zhì)量,通信鏈路質(zhì)量越好則LQI值越大。當(dāng)網(wǎng)關(guān)下發(fā)傳輸原始數(shù)據(jù)命令后,發(fā)送節(jié)點(diǎn)檢測(cè)通信鏈路質(zhì)量并根據(jù)當(dāng)前鏈路條件選擇合適的傳輸方式,若當(dāng)前信道的鏈路質(zhì)量指示值高于本文設(shè)定的閾值Lm,采用混合ACK/NACK方式傳輸原始數(shù)據(jù),否則采用ACK方式。ACK方式下,發(fā)送節(jié)點(diǎn)每次發(fā)送數(shù)據(jù)包均需在規(guī)定時(shí)間內(nèi)收到確認(rèn)幀,否則將重復(fù)發(fā)送該數(shù)據(jù)包。混合ACK/NACK方式下,數(shù)據(jù)包將分組進(jìn)行傳輸,接收節(jié)點(diǎn)在收到分組最后一個(gè)數(shù)據(jù)包后檢測(cè)丟包信息并通知發(fā)送節(jié)點(diǎn),若存在丟包則立即將包含丟包序號(hào)的NACK包下發(fā)至發(fā)送節(jié)點(diǎn),發(fā)送節(jié)點(diǎn)采用ACK方式重傳丟失的數(shù)據(jù)包。當(dāng)前分組中所有數(shù)據(jù)包均傳輸成功后進(jìn)入下一分組傳輸,直至所有數(shù)據(jù)傳輸完成。

圖3 自適應(yīng)傳輸控制方法流程Fig.3 Adaptive transmission control method flow
NACK方式的丟包檢測(cè)方式是通過(guò)判斷包序號(hào)連續(xù)性,在傳輸鏈路質(zhì)量較差時(shí)可能會(huì)頻繁丟包,導(dǎo)致NACK包不可控增加,本文采用數(shù)據(jù)分組檢測(cè)的方式來(lái)避免該問(wèn)題。首先,對(duì)每次傳輸?shù)氖啄?shù)據(jù)包均采用ACK方式傳輸,以保證接收節(jié)點(diǎn)根據(jù)包序號(hào)連續(xù)性進(jìn)行丟包檢測(cè)的可靠性;其次,將要發(fā)送的數(shù)據(jù)包每N個(gè)設(shè)為一組,分組的最后一個(gè)數(shù)據(jù)包采用ACK方式傳輸,以確保該數(shù)據(jù)包傳輸成功。接收節(jié)點(diǎn)在接收到分組的最后一個(gè)數(shù)據(jù)包時(shí)檢測(cè)該組丟包情況,并在發(fā)生丟包時(shí)反饋一個(gè)NACK包。對(duì)于傳輸過(guò)程來(lái)說(shuō),分組數(shù)量越大,ACK幀傳輸?shù)臄?shù)量越少,理論能耗優(yōu)化值越大。但分組數(shù)量越大,接收節(jié)點(diǎn)需要緩存空間越大,這對(duì)擁有多個(gè)子節(jié)點(diǎn)的中間節(jié)點(diǎn)有限的存儲(chǔ)資源是一個(gè)很大的挑戰(zhàn)。因此,分組的數(shù)量應(yīng)選擇一個(gè)合理的數(shù)值。
對(duì)于節(jié)點(diǎn)數(shù)據(jù)傳輸耗能過(guò)程,主要可分為偵聽耗能以及發(fā)送耗能,偵聽過(guò)程中其功率近似恒定,針對(duì)發(fā)射功率的優(yōu)化課題組前期作了相應(yīng)研究[14],本文設(shè)定節(jié)點(diǎn)傳輸數(shù)據(jù)時(shí)傳輸功率不變。因此,由ACK幀引起的額外能耗可由式(1)得到
EACK=P·TACK
(1)
式中:EACK為發(fā)送/偵聽ACK幀的能耗;P為節(jié)點(diǎn)發(fā)射/偵聽功率;TACK為因傳輸ACK幀導(dǎo)致的額外時(shí)間。顯然,ACK幀傳輸能耗與傳輸時(shí)間而呈線性關(guān)系,對(duì)于傳輸過(guò)程而言,減少的ACK幀傳輸時(shí)間與優(yōu)化的傳輸能耗呈現(xiàn)線性關(guān)系,在發(fā)送一定數(shù)量的數(shù)據(jù)包時(shí),傳輸時(shí)間越短,傳輸速率越高。因此,可通過(guò)探究不同分組數(shù)量與傳輸速率的關(guān)系來(lái)反映數(shù)據(jù)分組數(shù)量對(duì)能耗影響。
根據(jù)前述分析,采用CC2530傳輸模塊并搭載TIMAC協(xié)議棧進(jìn)行振動(dòng)數(shù)據(jù)傳輸試驗(yàn):逐漸增加數(shù)據(jù)分組數(shù)量,每個(gè)分組數(shù)量傳輸500個(gè)大小相同的數(shù)據(jù)包,根據(jù)實(shí)驗(yàn)室前期研究,原始振動(dòng)數(shù)據(jù)單次傳輸?shù)淖顑?yōu)數(shù)據(jù)包大小為100 B[15],本文所有試驗(yàn)單次傳輸?shù)臄?shù)據(jù)包大小均與最優(yōu)數(shù)據(jù)包大小保持一致。每個(gè)分組數(shù)量下的試驗(yàn)重復(fù)10次并取平均值,記錄不同分組數(shù)量下的數(shù)據(jù)傳輸速率,得到分組數(shù)量N與數(shù)據(jù)傳輸速率的關(guān)系如圖4所示。

圖4 不同分組數(shù)量與傳輸速率的關(guān)系Fig.4 The relationship between the number of different packets and the transmission rate
由試驗(yàn)結(jié)果可以看出,當(dāng)分組數(shù)量N=1即采用ACK確認(rèn)機(jī)制傳輸時(shí),其數(shù)據(jù)傳輸速率最低;當(dāng)N<10時(shí),隨著分組數(shù)量N的增大,數(shù)據(jù)傳輸速率明顯增大;當(dāng)N>10后,數(shù)據(jù)傳輸速率趨于平緩。即當(dāng)分組數(shù)量超過(guò)10后,分組數(shù)量的增大對(duì)傳輸過(guò)程已無(wú)明顯的優(yōu)化效果。因此,本文混合ACK/NACK方式的分組數(shù)量設(shè)置為10。
NACK方式下NACK包的下發(fā)不僅極易與丟包節(jié)點(diǎn)產(chǎn)生沖突,在多個(gè)節(jié)點(diǎn)傳輸數(shù)據(jù)時(shí)還會(huì)引起NACK包傳輸不及時(shí),致丟包節(jié)點(diǎn)偵聽NACK包時(shí)間過(guò)長(zhǎng)而引起額外能耗。為解決NACK包下發(fā)時(shí)易丟失的問(wèn)題,引入丟包狀態(tài)通知機(jī)制。根據(jù)IEEE 802.15.4標(biāo)準(zhǔn)規(guī)范,一個(gè)完整的MAC幀包含了幀頭(MAC header, MHR)、幀負(fù)載(MAC payload)與幀尾(MAC footer, MFR),幀控制域(frame control field,F(xiàn)CF) 是MHR中的一個(gè)字段,長(zhǎng)度為兩個(gè)字節(jié),其格式如圖5所示,幀控制域中的幀掛起位(frame pending)用于標(biāo)識(shí)連續(xù)發(fā)送多個(gè)數(shù)據(jù)幀,默認(rèn)值為0。利用該位可以實(shí)現(xiàn)丟包狀態(tài)的低開銷通知:接收節(jié)點(diǎn)在收到分組的最后一個(gè)數(shù)據(jù)包后檢測(cè)丟包情況,若該分組丟失了數(shù)據(jù)包,則將反饋ACK幀中的幀掛起位置1,告知發(fā)送節(jié)點(diǎn)發(fā)生了丟包情況,接下來(lái)將傳輸NACK包至該節(jié)點(diǎn);若該分組數(shù)據(jù)全部傳輸成功則該標(biāo)志位使用默認(rèn)值0。發(fā)送節(jié)點(diǎn)在收到ACK幀時(shí)檢查其幀控制域中的幀掛起位,若該位為1則暫停發(fā)送數(shù)據(jù),開啟偵聽等待接收節(jié)點(diǎn)發(fā)送NACK包;若該位為0,則說(shuō)明該分組傳輸成功,發(fā)送節(jié)點(diǎn)將繼續(xù)發(fā)送下一分組數(shù)據(jù)。

圖5 IEEE 802.15.4—2015標(biāo)準(zhǔn)中的幀控制域格式Fig.5 Frame control field format in IEEE 802.15.4—2015 standard
為避免在多個(gè)節(jié)點(diǎn)傳輸數(shù)據(jù)時(shí)NACK包下發(fā)延遲過(guò)大,需要對(duì)NACK包的發(fā)送過(guò)程進(jìn)行優(yōu)化。IEEE 802.15.4—2015[16]標(biāo)準(zhǔn)的信標(biāo)網(wǎng)絡(luò)中的CSMA/CA退避算法,流程如圖6所示。

圖6 信標(biāo)網(wǎng)絡(luò)下CSMA/CA算法Fig.6 CSMA/CA algorithm flow under beacon network
數(shù)據(jù)幀在發(fā)送前需初始化相應(yīng)參數(shù),其中CW為競(jìng)爭(zhēng)窗口長(zhǎng)度,若檢測(cè)到信道空閑則該值減1,CW從初始值CW0降至0則發(fā)送數(shù)據(jù)幀,期間若檢測(cè)到信道繁忙則退避一次,CW重置為CW0;退避次數(shù)NB表示當(dāng)前數(shù)據(jù)幀發(fā)送的沖突次數(shù),每退避一次NB值增加1,若NB大于最大退避次數(shù)macMAXCsmaBackoffs則該數(shù)據(jù)幀發(fā)送失敗;BE為退避指數(shù),用以計(jì)算節(jié)點(diǎn)單次退避時(shí)間,初始值為最小退避指數(shù)macMinBe,每次退避該值增加1,最大不超過(guò)最大退避指數(shù)macMaxBe,退避時(shí)間計(jì)算公式為
BackoffTime=random(2BE-1)·aUnitBackoffPeriod
(2)
式中:random(x)為產(chǎn)生一個(gè)在0~x的隨機(jī)整數(shù);aUnitBackoffPeriod為單位退避時(shí)間。對(duì)于NACK包的傳輸,可將其發(fā)送時(shí)的退避指數(shù)BE初始化為0,即NACK包首次傳輸時(shí)退避時(shí)間為0,其他數(shù)據(jù)包根據(jù)退避算法隨機(jī)退避,則NACK包的傳輸相較于其他數(shù)據(jù)包具有更高優(yōu)先級(jí),從而使NACK包及時(shí)下發(fā)至丟包節(jié)點(diǎn)。丟包節(jié)點(diǎn)收到接收節(jié)點(diǎn)反饋的NACK包后,采用ACK方式重傳丟失的數(shù)據(jù)包直至發(fā)送成功,確保丟失數(shù)據(jù)包的可靠重傳。
綜合以上優(yōu)化方法,混合ACK/NACK方式傳輸時(shí)序如圖7所示,為便于描述,在當(dāng)前圖例中將分組數(shù)量設(shè)為4。其中ACK(0)和ACK(1)分別表示ACK幀幀控制域中幀掛起位為0和1的情況。

圖7 混合ACK/NACK方式傳輸時(shí)序Fig.7 Hybrid ACK/NACK method transmission timing
在機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)與其父節(jié)點(diǎn)的通信鏈路質(zhì)量與傳感器節(jié)點(diǎn)部署的位置和環(huán)境干擾情況密切相關(guān),為避免節(jié)點(diǎn)在鏈路質(zhì)量較差的情況下使用混合ACK/NACK方式導(dǎo)致數(shù)據(jù)包丟失,需要節(jié)點(diǎn)根據(jù)當(dāng)前通信鏈路質(zhì)量情況選擇合適的丟包檢測(cè)與重傳策略。本文節(jié)點(diǎn)的通信軟件采用TI公司基于IEEE 802.15.4—2015標(biāo)準(zhǔn)開發(fā)的TIMAC協(xié)議棧,每個(gè)幀均可以在接收方直接獲取其LQI值。丟包率(packet loss rate,PLR)是指?jìng)鬏斶^(guò)程中丟包數(shù)量占傳輸總數(shù)量的比率,數(shù)據(jù)傳輸測(cè)試中丟包率足夠小時(shí)可認(rèn)為傳輸可靠。
為避免在信道條件差的情況下使用混合ACK/NACK方式傳輸數(shù)據(jù)導(dǎo)致丟包,需探究混合ACK/NACK方式下丟包率與鏈路質(zhì)量指示之間的關(guān)系,確定混合ACK/NACK方式適用的鏈路質(zhì)量條件。通過(guò)改變采集節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)之間的距離以及增加阻擋物的方式來(lái)改變節(jié)點(diǎn)間的通信鏈路質(zhì)量,采集節(jié)點(diǎn)每次發(fā)送200個(gè)數(shù)據(jù)包,固定數(shù)據(jù)包長(zhǎng)度與原始振動(dòng)數(shù)據(jù)包長(zhǎng)度相同,共發(fā)送200次。網(wǎng)關(guān)記錄下接收到的數(shù)據(jù)包的LQI值,并取平均值作為該次傳輸?shù)逆溌焚|(zhì)量指示值。網(wǎng)關(guān)還需記錄發(fā)送200個(gè)包的丟包數(shù)量并計(jì)算丟包率,從而得到鏈路質(zhì)量指示LQI和對(duì)應(yīng)丟包率的離散數(shù)據(jù),如圖8所示。

圖8 混合ACK/NACK方式下丟包率與LQI的關(guān)系Fig.8 The relationship between the packet loss rate and LQI in the hybrid ACK/NACK mode
由對(duì)LQI和丟包率離散數(shù)據(jù)的分析可得,當(dāng)LQI>15時(shí),丟包率很小且變化緩慢,當(dāng)LQI<15時(shí),丟包率隨LQI的減小而急劇增大,故可采用指數(shù)函數(shù)擬合LQI與丟包率的關(guān)系
Pr=a·eb·L
(3)
式中:Pr為混合ACK/NACK傳輸方式下的丟包率;L為L(zhǎng)QI;a,b為待擬合參數(shù);e為自然對(duì)數(shù),取值2.718。為簡(jiǎn)化計(jì)算,將表達(dá)式兩邊取對(duì)數(shù),得到
lnPr=b·L+lna
(4)
將lnPr和L的離散數(shù)據(jù)代入式(4),采用最小二乘法進(jìn)行線性擬合,得到a=130,b=-0.3。故可以得到混合ACK/NACK傳輸方式下丟包率與鏈路質(zhì)量指示的關(guān)系式為
Pr=130·e-0.3L
(5)
本文認(rèn)定當(dāng)丟包率小于萬(wàn)分之一的時(shí)候,混合ACK/NACK傳輸方式可靠,將臨界值Pr=10-4代入式(5)計(jì)算可得到鏈路質(zhì)量指示臨界值Lm=46.9,取整得Lm=47。即在鏈路質(zhì)量指示高于閾值Lm時(shí),節(jié)點(diǎn)將采用混合ACK/NACK方式傳輸,保證數(shù)據(jù)可靠傳輸?shù)耐瑫r(shí)減少ACK幀導(dǎo)致的額外能耗,當(dāng)鏈路質(zhì)量指示低于Lm時(shí),節(jié)點(diǎn)將選擇ACK方式傳輸,且在發(fā)生丟包時(shí)重復(fù)發(fā)送該數(shù)據(jù)包直至成功,以保證數(shù)據(jù)可靠傳輸。節(jié)點(diǎn)在傳輸數(shù)據(jù)前先傳輸少量數(shù)據(jù)包確定當(dāng)前傳輸鏈路質(zhì)量,并根據(jù)鏈路質(zhì)量自適應(yīng)選擇最佳的傳輸模式。
為了驗(yàn)證本文所提出的大量數(shù)據(jù)自適應(yīng)傳輸控制方法的性能,采用課題組自研機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)WSN-G5進(jìn)行性能測(cè)試。WSN-G5采集節(jié)點(diǎn)采用雙處理器核心架構(gòu),由ARM Cortex M4內(nèi)核的STM32F405RG和TI公司的無(wú)線通信模塊CC2530組成,CC2530是節(jié)點(diǎn)無(wú)線數(shù)據(jù)傳輸?shù)目刂坪诵模杉?jié)點(diǎn)采用兩節(jié)3.7 V、1 200 mAh的可充電鋰電池供電,支持IEPE傳感器輸入并采用24位高精度ADC進(jìn)行模數(shù)轉(zhuǎn)換,最高采用頻率可達(dá)50 kHz,并配有8 GB大容量Micro SD卡來(lái)存儲(chǔ)機(jī)械設(shè)備振動(dòng)監(jiān)測(cè)中產(chǎn)生的大量振動(dòng)數(shù)據(jù)。性能測(cè)試試驗(yàn)在動(dòng)力傳動(dòng)故障診斷綜合試驗(yàn)臺(tái)上進(jìn)行,如圖9所示,將采集節(jié)點(diǎn)與網(wǎng)關(guān)組成單跳星形網(wǎng)絡(luò),采集節(jié)點(diǎn)對(duì)二級(jí)平行齒輪箱的中間軸和輸出軸軸承座的振動(dòng)信號(hào)進(jìn)行采樣,并用ACK傳輸方法、NACK傳輸方法和本文所提自適應(yīng)傳輸控制方法分別將原始數(shù)據(jù)傳輸至上位機(jī),對(duì)節(jié)點(diǎn)的傳輸速率、可靠性和傳輸能耗進(jìn)行性能測(cè)試。

圖9 性能測(cè)試試驗(yàn)平臺(tái)Fig.9 Picture of the performance test experimental platform
在由單個(gè)節(jié)點(diǎn)組成單跳網(wǎng)絡(luò)的傳輸速率測(cè)試中,采用ACK方式的傳輸速率為101.6 kB/s,本文方法的傳輸速率為112.4 kB/s,在NACK方式下單點(diǎn)傳輸速率經(jīng)試驗(yàn)測(cè)試為113.7 kB/s。另外,為測(cè)試本文傳輸方法在多個(gè)節(jié)點(diǎn)組成的單跳網(wǎng)絡(luò)中的傳輸速率,將組成網(wǎng)絡(luò)的采集節(jié)點(diǎn)數(shù)量由2個(gè)逐漸增加至4個(gè),且為保證所有傳輸方法均可靠傳輸相同量的數(shù)據(jù),試驗(yàn)在信道條件較好情況下進(jìn)行,并對(duì)比三種傳輸方式在不同數(shù)量網(wǎng)絡(luò)節(jié)點(diǎn)的傳輸速率,結(jié)果如圖10所示。
由試驗(yàn)結(jié)果可知,節(jié)點(diǎn)的傳輸速率隨著加入網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)量增加而下降,這是因?yàn)樾切尉W(wǎng)絡(luò)使用單信道傳輸,并采用CSMA/CA機(jī)制協(xié)調(diào)多節(jié)點(diǎn)傳輸,傳輸數(shù)據(jù)的節(jié)點(diǎn)數(shù)量越多,節(jié)點(diǎn)傳輸速率越低。在傳輸數(shù)據(jù)的節(jié)點(diǎn)數(shù)量相同的情況下,NACK傳輸方法的傳輸速率高于本文方法與ACK方式,這是由于NACK傳輸方式相對(duì)其他兩種方法減少了確認(rèn)機(jī)制帶來(lái)的額外時(shí)間,本文方法的傳輸速率均高于ACK方式下的傳輸速率,說(shuō)明本文提出自適應(yīng)傳輸控制方法在傳輸速率上具有一定的優(yōu)勢(shì)。

圖10 本文傳輸方法與ACK、NACK方式傳輸速率對(duì)比Fig.10 Comparison of transmission rate between method of this article and ACK mode,NACK mode
在機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)中,數(shù)據(jù)的可靠傳輸是后續(xù)設(shè)備狀態(tài)分析處理準(zhǔn)確性的前提,為驗(yàn)證三種傳輸方法在不同鏈路條件下的傳輸可靠性,由1個(gè)網(wǎng)關(guān)和4個(gè)采集節(jié)點(diǎn)組成單跳星形網(wǎng)絡(luò),分別采用三種傳輸方式傳輸10 kB,20 kB和30 kB數(shù)據(jù),節(jié)點(diǎn)1~節(jié)點(diǎn)4通信條件如表1所示,試驗(yàn)結(jié)果如表2所示。

表1 節(jié)點(diǎn)1~節(jié)點(diǎn)4通信條件Tab.1 Communication conditions of nodes 1-4

表2 節(jié)點(diǎn)1~節(jié)點(diǎn)4在不同方法下的丟包率Tab.2 Packet loss rates of nodes 1-4 under different transmission methods
根據(jù)表2的試驗(yàn)結(jié)果可以看出,在不同的鏈路條件下,本文方法與ACK方式傳輸數(shù)據(jù)的丟包率均為0,即本文方法與ACK傳輸方式均具有較高可靠性。NCAK傳輸方式在鏈路質(zhì)量較差時(shí)丟包率較大,這對(duì)可靠性有著高要求的機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)來(lái)說(shuō)不可接受,因此NACK方式并不適合應(yīng)用于機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò),其傳輸能耗本文也將不作試驗(yàn)探究。
為驗(yàn)證本文方法對(duì)傳輸能耗優(yōu)化的效果,采用一個(gè)網(wǎng)關(guān)和2個(gè)WSN-G5采集節(jié)點(diǎn)組成星形網(wǎng)絡(luò),標(biāo)記中間軸處采集節(jié)點(diǎn)為節(jié)點(diǎn)1,輸出軸處采集節(jié)點(diǎn)為節(jié)點(diǎn)2,測(cè)試采集節(jié)點(diǎn)在數(shù)據(jù)傳輸過(guò)程中傳輸能耗的情況,傳輸能耗測(cè)試方法參考朱亮亮等的研究。節(jié)點(diǎn)傳輸數(shù)據(jù)量從10 kB逐步增加至60 kB,記錄節(jié)點(diǎn)在ACK方式和本文方法下的傳輸能耗,節(jié)點(diǎn)1傳輸能耗如表3所示,節(jié)點(diǎn)2傳輸能耗如表4所示。節(jié)點(diǎn)1、節(jié)點(diǎn)2的傳輸能耗優(yōu)化值隨長(zhǎng)度變化的關(guān)系如圖11所示。

表3 節(jié)點(diǎn)1傳輸能耗Tab.3 Transmission energy consumption of node 1

表4 節(jié)點(diǎn)2傳輸能耗Tab.4 Transmission energy consumption of node 2

圖11 能耗優(yōu)化值與傳輸數(shù)據(jù)長(zhǎng)度的關(guān)系Fig.11 The relationship between energy consumption optimization value and transmission data length
由傳輸能耗試驗(yàn)結(jié)果可知,在傳輸?shù)脑紨?shù)據(jù)量相同情況下,節(jié)點(diǎn)2的傳輸能耗均高于節(jié)點(diǎn)1,這是由于節(jié)點(diǎn)2與網(wǎng)關(guān)傳輸距離較遠(yuǎn)且有機(jī)械設(shè)備阻擋,傳輸信道條件較差,導(dǎo)致有較多丟包重傳情況發(fā)生,從而有更高的傳輸能耗;在傳輸不同長(zhǎng)度的原始數(shù)據(jù)下,節(jié)點(diǎn)1、節(jié)點(diǎn)2的傳輸能耗均隨著數(shù)據(jù)長(zhǎng)度的增大而增大,但相較于使用ACK傳輸方法,本文提出的自適應(yīng)傳輸控制方法具有更低的傳輸能耗,且能耗優(yōu)化值隨著數(shù)據(jù)長(zhǎng)度的增加而增加,充分說(shuō)明了本文提出的自適應(yīng)傳輸控制方法在傳輸能耗優(yōu)化上的有效性。
針對(duì)機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)以ACK方式傳輸大量數(shù)據(jù)時(shí)存在高能耗、低速率的問(wèn)題,本文提出了一種機(jī)械振動(dòng)WSN大量數(shù)據(jù)自適應(yīng)傳輸控制方法,根據(jù)傳輸鏈路質(zhì)量自適應(yīng)選擇最佳傳輸模式,并通過(guò)最優(yōu)數(shù)據(jù)分組機(jī)制、丟包狀態(tài)通知與傳輸參數(shù)優(yōu)化等措施來(lái)減少ACK幀導(dǎo)致的額外傳輸能耗和傳輸時(shí)間。試驗(yàn)結(jié)果表明,本文方法能夠在保證數(shù)據(jù)可靠傳輸前提下,提高了大量振動(dòng)數(shù)據(jù)的傳輸效率,同時(shí)降低了機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)的傳輸能耗,且傳輸能耗優(yōu)化值隨傳輸數(shù)據(jù)量的增加而增加,可有效延長(zhǎng)能量受限的機(jī)械振動(dòng)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)壽命。