李宗娜
(青海建筑職業技術學院,青海 西寧 810012)
由于物聯網的廣泛應用,到2020年,我國無線網絡設備的數目將達到2×1010以上。但是大量無線技術的并存會造成不同網絡之間的信號干擾,從而影響通信質量與用戶體驗。目前,大多數的跨網絡通信技術多采用調制方式來實現信息和數據交換的目的,當出現信號干擾情況時,亟需一種有效的編碼方式,以解決信號傳輸過程中誤碼率高及傳輸效率低下的問題[1]。
早期的跨網絡通信技術要求傳輸虛擬數據包,但由于傳輸虛擬數據包會占用網絡資源,造成傳輸效率下降。跨網絡通信技術中,包級調制方式可實現數據包的傳輸,然后由接收機來接收和譯碼,但當網絡情況較復雜時,單次發送幀接收率往往無法滿足需求[2]。國內研究人員利用低功耗ZigBee的無線信號來激活WiFi AP設備,在實現跨網通信的同時,大大降低了裝置的待機能耗。國外研究者Kim等提出了一種叫做FreeBee的跨網式通信技術,這種技術可以通過調節WiFi幀間隔來實現傳輸數據的高質量傳輸。另有國外研究者Z Yin利用一組不同長度的WiFi數據包分組構成Morse碼,然后利用接收信號強度指示(Received Signal Strength Indication,RSSI)感應譯碼在接收機上實現了跨網絡通信。
WeBee是首個在物理層面上實現的跨網絡通信技術,它可以在網絡環境噪聲較大的情況下,通過重新傳輸,使WiFi與ZigBee之間的通信安全與數據完整性達到99%,從而滿足復雜網絡間的跨網絡通信。盡管WeBee可以實現WiFi與ZigBee的直接通信,但它仍然有一些缺點,即單次發送下幀率低、數據包錯誤率高等。對此,可以根據現有網絡的具體情況,通過優化編碼算法來解決誤碼率高的問題[3]。
介紹一種跨網絡通信的交叉譯碼方法,對WeBee的缺點進行了分析,給出了一個基于WeBee的優化系統及其工作流程,并給出了基于循環前綴的代碼分解優化算法。試驗結果表明,該方案在單次傳輸時可以達到65幀的接收速率,單次發送的碼元誤差率為2.2%。
本文在以下幾個方面進行闡述。首先,對WeBee技術進行了概要性說明,對其優缺點進行了著重分析,并對其不足之處給出了解決思路。其次,根據ZigBee的數據特性對編碼方式的優化方案進行闡述,結合循環前綴的特性,介紹一種基于循環前綴的編碼拆分算法。與原算法進行比較,優化后的系統能有效地改善幀接收率、吞吐量以及碼元誤差率。最后,對實驗結果進行分析,采用裝有Atheros AR2425無線網卡的工作站設備,通過在通道內改變各種參數進行比較試驗,從不同的角度來檢驗優化后的系統性能。
WeBee系統可以實現與ZigBee無線網絡的直接通信,但存在著一定的局限性。它所生成的模擬ZigBee數據有兩種主要的錯誤模式,即正交振幅調制(Quadrature Amplitude Modulation,QAM)模擬誤差問題以及循環前綴不正確。
在構建ZigBee的仿真數據時,必須把ZigBee的時域信號與QAM的星座點進行一一對應。然而,由于QAM的預設位置是有限和離散的,ZigBee的時域信號不能很好地與預先設定的QAM星座點準確映射。在對模擬信號進行解調時,ZigBee接收機會產生一定的量化錯誤,從而影響了數據解碼性能。
WiFi通信要求有一個循環的前綴,而ZigBee通信則不需要。采用循環前綴會造成模擬信號前端的冗余,因為信號是預先設定的,且WiFi傳送是固定的,故上述錯誤不可避免。針對循環前綴的缺點,可以采用一種基于循環前綴的代碼分解算法,以提高系統的運行效率,后文將給出具體優化措施。
該優化方案采用WiFi信號,利用模擬ZigBee的時域波形,將傳輸數據通過WiFi傳輸給ZigBee網絡接收端,再由ZigBee將其解碼,從而獲得正確的網絡數據。按照以下步驟來構建WiFi數據,其中WiFi數據具有模擬ZigBee信號[3]。
(1)將ZigBee數據包裝為時域波形,該波形可由ZigBee裝置識別;(2)利用基于循環前綴的分解優化方法獲得最佳的同步編碼序列時域波形;(3)通過快速傅里葉逆變換(Inverse Fast Fourier Transform,IFFT)對時域波形進行量化,將時域波形映射成一組星座點;(4)將IFFT處理后的星位點與預先設定的星位點進行對比和篩選,選取歐幾里得距離最短的星座點,以獲得對應的ZigBee數據;(5)利用星座點生成對應的編碼比特位,通過對比特位映射進行相應的編碼操作,隨即可以獲得對應的WiFi數據,該數據具有模擬ZigBee信號。
在ZigBee通信中,必須先用前導碼來持續監測ZigBee的數據。前導碼往往是一組0 bit、6 bit的同步碼,為了提高檢測準確率,必須采用ZigBee同步碼的方式。如果ZigBee的同步碼序列為001111,則利用循環前綴使該序列變為111111,從而存在兩個誤差碼。
本文介紹一種基于ZigBee網絡的編碼拆分算法。假定該同步代碼的初始序列是001111,則其可以分為兩個組成部分,即0011和11,被重組為序列110011。當執行循環前綴運算時,這個序列的前綴和后綴是一樣的,所以這個錯誤可以被原序列001111完全避免[3]。
盡管并非所有的同步碼都能找出合適的組合序列來消除循環前綴錯誤,但可以在有限的同步代碼拆分組合中尋找出最好的組合。利用貪婪算法,搜索出最優的一種序列組合,該組合的選取原則是在最小誤差和最大功率的情況下進行優化,具體如下。
首先,將ZigBee數據包裝為時域波形,該時間域波形可由ZigBee裝置進行識別。通過對ZigBee數據的前置碼進行檢測,以獲得相應的同步編碼[4,5]。其次,分解所得的數據同步代碼,通過枚舉方式記錄所有可能發生的序列形式。再次,對由全部序列構成的有限同步代碼進行編碼,利用貪婪算法對所有組合中的最佳序列進行篩選[6]。先將各序列執行CP處理,以獲得處理序列和相應功率。然后與起始同步代碼相比較,得到處理后的順序CP誤差序列和功率差序列,選擇最小的序列,以盡量少的序列進行傳輸。最后,基于編碼表,ZigBee接收機對同步代碼進行恢復,并對其進行譯碼,以獲得原ZigBee數據幀[7]。
在前文優化算法基礎上,采用帶有Atheros AR2425無線網卡的工作站設備和RF-CC2430節點為網絡數據接收端,應用優化算法,通過實驗驗證了該優化系統的可行性及性能。為確保試驗的正確進行,選取12個試驗的平均數作為試驗結果,每一次試驗總共傳送200個數據,并將其與FreeBee的跨網絡通信技術進行綜合比較。試驗中,主要測試了錯誤拒絕率(False Rejection Rate,FRR)和誤符號率(Symbol Error Ratio,SER),并且對相應的測試結果進行了分析,具體如下[8]。
在同一情況下,優化后的系統比WEBee系統具有更好的性能,單次傳輸時,FRR比在WeBee系統中增加了9%,SER降低了8.4%。通過試驗結果還可以看出,該優化方案的性能相比FreeBee有了很大的改善。
對于單次信道的數據傳輸而言,在不同的傳輸距離下,本次試驗測量了FRR和SER,并給出了相應的試驗結果,分別如圖1和圖2所示。可以看出,在2~10 m的傳輸范圍內,最優的系統可以達到57以上,FRR小于2.7%,SER值為6%,相比WeBee和FreeBee在同等情況下都有明顯的提高[9]。

圖2 單次傳輸系統SER
在上述試驗中,所有的試驗環境都是靜態的情況。為確保試驗精度與可靠性,本文采用固定接收端位置,即不改變收發端間距,改變發送端運動速率等方法,實現了在動態環境下對系統單路傳輸FRR的測量。從圖3中可以看出,在不同的位移速度變化情況下,FRR值幾乎沒有明顯變化。

圖3 不同速率下單次傳輸系統FRR對比
由于跨網對通信的影響,在不改變傳輸距離的前提下,利用發送端和接收端的位移次數來衡量多路徑效應的強度,并對單次傳輸條件下通道環境中的FRR和SER進行了測試。在同樣的情況下,通過試驗驗證了該系統在更多路徑的情況下仍然可以很好地工作,并且性能也在一定程度上有所提高[10]。
本文對WeBee系統中存在的問題進行了具體分析,介紹了一種基于循環前綴的代碼拆分算法,對該算法進行了詳細闡述,并進行了有效性驗證。試驗結果表明,優化方案能有效地改善碼元接收速率,有效降低碼元誤碼率。與WeBee網絡系統及FreeBee系統相比,該系統的單幀接收速率提升效果明顯,單次發送的碼元誤差率有所降低。在不同的傳輸距離和多徑情況下,對動態傳輸進行模擬測試,優化后的系統比WeBee系統具有更好的性能,符合實驗預期。