呼 風,趙菊敏,李燈熬
(太原理工大學 a.信息與計算機學院,b.大數據學院,c.山西省空間信息網絡工程技術研究中心,山西 晉中 030600)
目前射頻識別(radio frequency identification,RFID)技術是物聯網的關鍵技術,已經應用于人們生活中各個方面[1-2]。但是,由于傳統的RFID標簽不具有可計算的能力,無法滿足目前對感知應用的巨大需求,因此研究者提出CRFID技術以滿足目前的感知計算需求,其中CRFID標簽中性能較好的是無源識別和感知平臺(wireless identification and sensing platform,WISP)[3].RFID系統和CRFID系統都遵循EPC通信協議,根據EPC協議規定,閱讀器每次與標簽通信過程中可以向標簽請求上百字節的數據,但實際上,即使是經典的RFID系統也無法實現快速、穩定的數據傳輸。目前針對無源感知系統性能提升的研究有很多,HARMONY采用預計算CRC的方式大大降低了計算延遲,優化了系統性能[4]。STOCK能夠通過Read命令立即確認下行鏈路數據,提升下行鏈路傳輸速度,并且實現了閱讀器與多標簽之間的通信[5]。文獻[6]提出了一種信道監測和預測方案,利用BP神經網絡實現信道實時預測,減少了不斷探測信道的開銷,并提升了系統整體性能。文獻[7]提出了一種快速可靠的突發數據傳輸方法,該方法通過將大數據包分割成多個塊來進行突發數據傳輸,并引入了一種突發傳輸機制,以優化在有突發數據傳輸時通信過程。ORRIS的利用IQ域信號簇分析指標作為通信速率自適應的新指標,提升了系統性能[8]。FlipTracer利用單翻轉圖(One-Flip-Graph,OFG)將信號IQ域中相鄰組合狀態之間的轉換概率映射為對應信號之間的相似性,根據轉換概率判斷信號內容,可以保證進行高效的并行解碼[9]。HUBBLE將二維信號的維度升維,加入時間的維度,進一步加強了對并發數據的解碼能力[10]。但是以上研究均在較為復雜的通信流程中進行,并且未對出錯數據進行處理,因此,通信系統整體性能提升有限。
使用EPC協議通信時,過多的握手次數會導致通信復雜程度增加,通信效率受到影響,較為復雜的通信過程產生更大的能耗,造成通信時能量不足從而導致通信失敗的情況發生。閱讀器接收到標簽感知數據利用循環校驗碼(cyclic redundancy check,CRC)進行校驗,若傳輸信號發生錯誤,則閱讀器會立刻將當前數據整塊丟棄,重新發送Read命令等待標簽數據重傳。這樣進行數據出錯重傳代價較高,并沒有對系統能量合理利用,影響系統性能。為此,本文針對上述通信協議過程復雜和低效率的數據出錯重傳機制,簡化了通信過程,設計了快速響應方案和數據出錯重傳機制,提升了無源感知系統性能。
在標簽與閱讀器通信過程中,有兩個因素影響了標簽快速響應:隨機生成數生成時間過長以及多次的輪詢造成的冗余傳輸。
通信過程中,閱讀器發出Query和ACK命令后,標簽都需要生成不同的16位隨機數,這無疑增加了標簽的能耗與通信過程復雜度。WISP標簽的微控制器是MSP430單片機,其內部具有超低頻振蕩器與數控振蕩器是兩個獨立的時鐘系統,傳統的標簽生成RN16的方法就是利用二者間的計時差生成。但是,由于這個方法需要計算時間較長、能耗更大,不利于標簽及時對閱讀器進行應答。如果CRFID標簽選擇第一個時隙,則導致它無法及時發送RN16,閱讀器在規定的等待時間內未收到標簽回復,致使選擇第一個時隙的標簽通信失敗。針對隨機生成數生成時間過長問題,考慮到CRFID標簽使用射頻前端進行射頻能量收集,將交流信號轉為直流能量給儲能電容充電,標簽電壓會根據充電時間、位置等因素而改變,具有較強的隨機性。因此,本文利用模數轉換器(analog-to-digital converter,ADC)采樣儲能電容兩端電壓值作為隨機數種子,將采樣電壓值輸入隨機函數生成16位隨機數,由于標簽產生的RN16不需要較高的復雜性,因此采用生成復雜度較低的偽隨機數方式。并且,在每輪通信中,用預計算RN16儲存在單片機內存中在下一輪通信中可直接調用,既能保證RN16的隨機性,又可減少單片機生成RN16的能耗,縮短了標簽響應時間。
閱讀器訪問標簽數據時,需要經過4次握手,繁瑣的信息交換過程,會出現標簽能量不足中斷通信的情況,這對系統吞吐量和穩定性都造成了影響。優化通信過程,減少標簽與閱讀器握手次數,可以提升系統通信效率和能量利用率。標簽使用16位隨機數進行反復確認,造成了能量浪費。為了保證標簽的隨機性以及提高能量利用效率,提出將所有標簽的handle固定下來,閱讀器使用固定的handle請求標簽數據,能夠減少標簽生成handle能耗,并且可以根據標簽的能量調整數據收集順序。
如圖1所示,為傳統EPC協議和改進協議通信流程對比。根據上述協議設計,將改進協議分為感知階段和數據傳輸階段。

圖1 傳統EPC協議和改進協議通信流程對比Fig.1 Comparison of traditional EPC protocol and improved protocol communication process
1.1.1handle存儲階段
閱讀器發送第一個Query命令以識別天線讀取范圍內的n個CRFID標簽,當閱讀器從每個CRFID標簽接收到一個handle或在定時器規定時間結束時,完成當前handle存儲階段。利用定時器是為防止閱讀器長時間停留在感知識別階段,影響系統通信效率。因此,在此階段結束時,閱讀器將其天線范圍內的所有標簽的handle全部儲存下來。
1.1.2數據傳輸階段
當閱讀器收集到所有CRFID標簽的RN16之后,開始數據傳輸階段。閱讀器發送連續的Read命令以周期性地從每個標簽讀取一組數據。當閱讀器接收到所需的CRFID標簽傳感器數據后,數據傳輸階段結束。此階段,閱讀器還可以定義讀取標簽數據的次數。可以使用標簽固定的handle進行多次讀取數據,若在讀取數據過程中,標簽出現斷電情況,閱讀器在定時器規定時間內未接收到CRFID的傳感器數據,為避免等待時間過長造成能量浪費,閱讀器放棄當前通信,并開始新一輪數據傳輸。
此外,在大規模部署的CRFID傳感器網絡中,需要傳感器數據的讀取次數越高,產生沖突的可能性就越大。相對于EPC協議,所提出改進協議在防沖突方面有著明顯的改進。在特定的CRFID場景中,當閱讀器使用EPC協議時,標簽的沖突不僅會影響標簽的識別過程,還會影響傳感器數據的讀取過程。因此,任何額外的傳感器數據讀取都有一定概率發生沖突情況。在所提出的協議中,沖突只影響感知階段。一旦識別出標簽,閱讀器就可以連續讀取CRFID傳感器數據,而不會產生標簽沖突。
根據EPC協議,閱讀器每次可以從標簽請求數百字節的數據。實際上,CRFID由于能量不足等問題,會導致隨著數據量的增加傳輸成功率降低[4]。通過實驗驗證可知,當閱讀器向標簽請求不同數量的數據時,數據傳輸成功率是不同的。圖2中顯示,在不同距離下閱讀器請求不同數量數據時的傳輸成功率。當通信過程中,閱讀器請求超過4字節的數據時,在很短的通信距離之內,數據傳輸成功率大幅下降。這是由于標簽傳輸大數據量時,實時計算CRC時計算開銷較大,無法在規定時間內響應閱讀器,導致通信中斷。因此將大數據量進行分組傳輸,有利于降低標簽計算CRC開銷,提高通信成功率和通信可靠性。

圖2 不同數據量傳輸成功率Fig.2 Different data volume transmission success rate
閱讀器接收到標簽感知數據利用CRC進行校驗,若傳輸信號發生錯誤,傳統協議中閱讀器會立刻將當前數據整塊丟棄,等待標簽重新傳輸數據。這樣進行數據出錯重傳代價較高,并沒有對系統能量合理利用,標簽進行重傳時有可能因能量不足導致通信失敗。引入合理的標簽數據分組出錯重傳機制,能夠有效提高系統的性能。EPC協議規定標簽傳輸數據格式如圖3所示,標簽數據量的范圍為16比特至496比特。但是大的數據量意味著更高的誤碼率,更高的CRC計算開銷。所以,選擇一個合適的傳輸數據量或者將大的數據量分為若干小數據量進行傳輸,能夠有效提高數據傳輸成功率和通信可靠性。

圖3 標簽數據傳輸格式Fig.3 Tag data transfer format
傳輸大數據量(大于4字節)時,經常出現通信失敗情況。因此,本設計考慮將大數據量進行分組傳輸,能夠增加數據傳輸成功率、提升通信可靠性。利用改進協議進行數據傳輸時,閱讀器已經收集到標簽handle,可以針對選定標簽進行數據分組請求。由圖2可知,標簽傳輸2字節數據時成功率最高,因此,當閱讀器向標簽請求數據時,標簽將感知數據進行分組,每組2字節進行傳輸。
數據傳輸過程中使用CRC作為檢查數據是否正確,由于計算CRC仍需要較大能耗,并且研究發現計算CRC的開銷呈線性增加,最終會轉化為較大的響應延遲。因此,舍棄實時計算CRC的方式,轉為查表法方式生成CRC.查表法CRC的計算方式是固定的,只要將所傳16比特(2字節)數據內容計算生成對應的CRC表后,將CRC表存入標簽寄存器中,將計算能耗轉變為調用寄存器中的數據,能耗將大大降低,并且降低了生成CRC的時延。
WISP4.1標簽的MCU是MSP430F2132單片機,其具有256字節的信息存儲器,存儲的最小單位為8比特,每8比特數據對應一個存儲地址,其存儲感知數的地址從0x10FFh~0x1000h.根據感知數據的存儲地址進行數據定位,閱讀器通過Read命令規定請求數據的長度和起始地址,標簽收到命令后根據對應信息調取內存中的數據開始數據傳輸。因此,可以考慮將數據和數據地址相結合作為一種新的數據傳輸格式,基于此本文設計了數據出錯重傳機制。由于數據傳輸的最小單位是8比特,可以將閱讀器請求數據分為8比特一組,并將數據和數據地址相組合進行傳輸。

圖4 分組數據格式Fig.4 Packet data format
圖4所示,當閱讀器檢測到標簽傳輸信息錯誤時,通過發送帶有相應出錯數據地址的Read命令給標簽,標簽接收到命令之后,傳輸閱讀器指定存儲地址的數據,達到了數據出錯重傳的目的。圖5是數據傳輸流程圖,圖5(a)表示數據傳輸正確,圖5(b)是傳輸中出現數據錯誤時的表現,其中虛線表示傳輸數據出錯,閱讀器可根據當前出錯數據地址重新請求標簽數據。

圖5 改進數據出錯重傳機制Fig.5 Improved data error retransmission mechanism
實驗設備如圖6所示,實驗使用的是軟件定義無線電USRP N210閱讀器,其具有較好的通信穩定性和靈活性,CRFID標簽使用WISP4.1標簽。

圖6 實驗設備Fig.6 Experimental facilities
實驗所使用的是USRP閱讀器進行仿真實驗,參數設置為:閱讀器編碼方式為脈沖間隔編碼(pulse interval encoding,PIE);下行鏈路調制方式為ASK調制;鏈路頻率設置為256 kHz;反向散射調制方式為FM0;閱讀器發射功率為1 W.
圖7(a)是傳統EPC C1G2協議通信時的數據流,圖7(b)是使用本設計提出改進協議通信數據流的表現。以3個標簽為例,從圖7(b)中可以看出,在閱讀器對標簽進行數據讀取數據時,使用本設計提出的改進協議在相同時間內,讀取數據的次數更多,提升了系統吞吐量。

圖7 不同協議數據流對比Fig.7 Comparison of different protocol data streams
將WISP標簽置于閱讀器的范圍內,距離天線0.1 m.使用USRP閱讀器請求每個標簽的加速度傳感器數據,直到當閱讀器成功接收到3個完整的加速度數據包時,停止數據請求并記錄當前所用時長,計算每秒成功讀取次數,重復測量60次取平均值。并分別使用不同數量的標簽進行數據包數據請求,觀察數據成功讀取次數,結果如圖8所示。

圖8 改進協議和EPC協議不同數量標簽讀取數據性能對比Fig.8 Comparison of the performance of this protocol with that of EPC protocol with different quantities of tag read data
顯然,針對不同數量的3組標簽,本設計提出的改進協議實現了比標準EPC協議更高的數據讀取率。對于這兩種協議,由于標簽沖突,數據讀取率隨標簽數量的增加而減小。本文提出的改進協議的數據讀取率大約提高了50%.
使用本設計提出的數據出錯重傳協議和EPC協議分別加載到WISP4.1版本標簽上,使用單個WISP標簽進行測量吞吐量。首先使用閱讀器對WISP供能并開啟盤存階段。WISP開始預處理傳感器數據,并將緩存數據存儲在非易失性存儲器中等待閱讀器訪問數據。將WISP標簽置于距離閱讀器天線0.1 m的位置,每次將標簽移動0.1 m的距離直到標簽距離閱讀器天線1 m的范圍,分別進行4字節、8字節數據請求,得到如圖9實驗結果。

圖9 使用EPC協議和改進協議的4字節和8字節數據傳輸吞吐量對比Fig.9 Comparison of 4-byte and 8-byte data throughput by using the EPC protocol and the improved protocol
將本文快速響應方案和數據重傳機制相結合,構成對整個無源感知系統性能優化方案。實驗將本設計提出的改進協議同DFCA[11]、LILAC[12]和EPC進行對比。其中,DFCA是一種動態幀長和充電時間自適應方案,該方案通過求解所提出的吞吐量優化問題,根據對系統在特定能量收集和信道條件下的輸出進行了理論分析,得到了使吞吐量最大的最優幀長和充電時間。LILAC提出了一種更合理的時隙映射算法,根據標簽的電壓值主動選擇通信時隙的方式,代替了傳統的隨機選擇時隙的方式,有效增加了標簽響應閱讀器速率,提高了標簽響應的成功率,增加了系統吞吐量。其中DFCA是將傳輸數據切割分組之后進行傳輸,對應本文的數據分組重傳方法;LILAC優化了標簽響應方案,對應本文的標簽快速響應方案。因此將本文提出的協議同二者進行實驗對比。

圖10 不同比特信噪比下各協議吞吐量對比Fig.10 Comparison of throughput of each protocol under different bit SNR
如圖10所示,隨著比特信噪比的增加,改進協議、DFCA、LILAC和EPC均呈現出吞吐量的增加,DFCA在針對信道狀態變化的情況下,能夠較好地完成吞吐量的優化,但是在計算幀長和充電時間過程中能耗較大,LILAC對標簽通信信道性能要求較高,若信道出現變化,系統吞吐量受到影響;本文改進協議針對標簽的快速響應和數據出錯重傳機制均進行了優化,和使用EPC協議相比吞吐量提升100%左右。
根據目前無源CRFID系統所使用的EPC協議中的不足之處,提出了系統性能優化方案,其中包括快速響應方案和數據出錯重傳機制兩部分。在標簽快速響應方案中提出更簡便的RN16生成方式,利用ADC采樣值作為隨機種子生成RN16儲存在寄存器中,用作下一輪通信使用;使用標簽固定handle,閱讀器請求標簽數據時,標簽無需再次生成16位隨機數,降低標簽響應時間。數據出錯重傳機制中,將標簽數據與數據地址相結合的方式改進了數據格式,并采用查表方式調用CRC,降低了大數據量數據傳輸的能耗,提高了數據傳輸速率,最終提升了無源CRIFD系統吞吐量和性能。