文獻標識碼: A
文章編號: 0258-7998(2010)12-0099-04
Zigbee是近年來興起的一種無線通信協議,其MAC/PHY由IEEE802.15.4協議[1](以下簡稱協議)所定義,是一種低數據率的短距離無線通信解決方案,特別適合智能家居[2]、傳感器網絡等方面的應用。該協議主要面向低成本應用,因此很多文獻研究了協議解調算法的簡化設計,但是大部分性能犧牲較大。本文從信號最大似然估計的角度出發,導出了兩種高效的解調算法,并完成了電路設計。電路仿真表明,在高斯白噪聲信道中,該算法在電路規模接近其他非相干解調算法的情況下,性能有5.1 dB的提升。
1 解調方案分析與設計
協議的基帶調制方式為:對發送數據進行4 bit符號(Symbol)到32 bit碼片(Chip)的直接序列擴頻,然后采用半正弦成型的O-QPSK對擴頻碼片進行調制,流程如圖 1所示。
該信號等價于MSK(最小移頻鍵控)信號,其星座圖如圖 2,發送1時候,信號相位在一個碼片周期中沿單位元逆時針旋轉90°,發送0則順時針旋轉90°。每個碼片是MSK的一個符號,碼片速率2 Mchip/s。按照MSK進行解調的擴頻碼如表 1(由于O-QPSK“偏移”特性,“X”表示該碼片需要和下一個符號共同確定)。
協議對于接收機性能的規定是:“在輸入信號功率-85 dBm,包長20 B情況下,誤包率低于1%”。傳統相干解調需要進行頻偏的估計和恢復,電路較為復雜;而在常見的信號的非相干解調方案中,過零檢測[3]等方案討論較多,但是算法性能受到頻偏影響較為明顯。此外,部分文獻給出了角度解調的算法,思路是將輸入復信號求輻角,對角度進行解調。上述兩種算法和無頻偏的相干解調相比,有約9 dB(相同誤碼率所需的信噪比)性能的差距。
對于直接序列擴頻信號,傳統的解調方法是逐碼片解調,然后進行解擴。本文采用不同的思路,直接對擴頻的符號進行最大似然估計和解調。帶有噪聲、頻偏的協議信號采樣點復數表達式為:
2 算法MATLAB仿真
使用MATLAB對于給出的兩種算法進行仿真。首先設置兩種參照算法:T1使用頻偏估計的MCBR(修正的克拉美羅界,估計方差的一個下界)為方差的正態分布來模擬補償后殘留頻偏,然后對補償后信號相干解調;T2算法使用參考文獻[5]頻偏補償后相干解調。
仿真設置:使用MATLAB生成2×106個符號的數據,信道模型采用AWGN模型。
在無頻偏情況下,不同算法誤碼率如圖3所示。
可以看到,L1和L2的算法性能優于“進行頻偏補償相干解調”的算法(主要原因是使用一個符號的數據進行頻偏估計性能較差)。而在沒有頻偏情況下同階的L1算法性能優于L2算法。
協議規定最大頻偏200 kHz,此時誤碼率如圖4。
可以看到大頻偏下L1算法差于L2。對比兩個圖可以看到L2算法性能受到頻偏影響不大。
在頻偏均勻分布的情況下,L1算法性能介于一階和二階L2算法之間。均勻分布隨機頻偏下不同算法性能如圖5所示。
總結仿真結果:L1性能隨著頻偏的增大而下降;L2算法對于頻偏不敏感。因此在小頻偏情況下適合選擇L1算法,而頻偏可能值較大時,應選擇L2算法。階數的增加,增大了解調算法的性能,但同時使L1對頻偏敏感度增加;而L2算法階數提高使得性能有明顯提高。電路設計可據此選擇算法。
3.1 電路設計
實現解調算法的電路框圖如圖 6所示。這里以一階(Nr=d=1)為例,二階類似。
上述相關器的因子為±j,無需使用乘法器,只需將數據進行實部和虛部的交換以及符號變化。相關器輸出根據上面討論的兩種算法,進行取實部(對L1)或者取模(對L2)。具體工作原理如下:
擴頻信號的解碼首先要進行擴頻碼的同步,查找擴頻碼的頭。協議幀的預同步序列是8個符號0。擴頻碼具有良好的自相關特性,利用這一點進行同步:A工作在移位狀態,B工作在數據載入狀態。當一個符號0符號數據載入上述鏈B中時(如圖中的r0* r1到r30* r31為一個符號的樣點的自相關),相關器的輸出將超過一定的閾值;該點即為同步點。解調器進入同步狀態。
進入同步狀態以后,獲得了擴頻碼的邊界,每當A中移入一個完整的擴頻碼數據時,B載入一次,移位計數器清零;其他時間B處于循環移位狀態。這樣在一個新的符號移入A時,B中上一個符號的數據進行循環移位,并計算每一次移位后的相關。根據擴頻碼的循環特性,記錄B在移位過程中相關器輸出的絕對值最大時的移位計數器的值,即可得到解調的符號。例如相關輸出的絕對值最大在計數0出現,表示解調的符號為0或8;如果移位4位以后出現,表示解調的符號是1或9,以此類推;當相關輸出的實部的符號為正則解調符號在0~7內,為負則在8~15內。如果出現最大值位置不是4的整數倍,則根據就近原則確定,以減小同步錯誤對解調的影響。上述過程介紹中輸入信號是一倍采樣的,實際接收機中需要對信號進行過采樣,則在上述電路中進行修改:假設過采樣率Ns,則A和B長度增加為31·Ns,而并行相關器對于寄存器鏈B將每Ns個數據取一個進行相關運算。其余工作流程類似。
3.2 電路仿真
在兩種算法以及解調器結構的基礎上本文完成了硬件電路的Verilog設計和FPGA驗證。以L2為例,使用MATLAB產生測試數據,在0 dB信噪比下,過采樣率Ns=4,仿真表明,在低信噪比情況下,相關器仍然具有較明顯的輸出峰值,可以很好解調。用6 bit的量化數據進行2 000幀(幀的長度為20 B,即40個符號)數據的電路仿真(AWGN信道,使用Synopsys VCS仿真器),模擬完整的幀接收過程,不同頻偏下結果如圖7,可以看到性能隨著頻偏變化不大;仿真表明實現1%誤包率所需要的信噪比約為2.9 dB。
4 性能總結與比較
簡單對比主要的參考文獻中給出的協議基帶解調算法以及硬件的性能和門數(包括調制和解調),其中“性能”表示實現1%誤包率所需要的信噪比,對比如表2。門數中括號中的數據是解調器的門數(0.18 μm工藝)。
可以看到,本文的工作在硬件規模上與簡單的非相干解調算法類似,而在總體的性能上好于傳統非相干解調算法約5.1 dB以上(L2算法)。
本文給出了用于Zigbee解調的簡單高效的算法,并完成了硬件設計。仿真表明,相比于傳統的非相干解調算法,該算法性能提高5.1 dB,同時硬件規模接近。該電路在硬件結構簡化的同時保持了較好的性能,降低了模擬前端電路的要求,對于Zigbee接收機設計有著很好的借鑒意義。
參考文獻
[1] IEEE Standard for Information Technology-Telecommunications and Information Exchange Between Systems-Local and Metropolitan Area Networks-Specific Requirements Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (WPANs)[S]. 2006.
[2] 周游,方濱,王普.基于ZigBee技術的智能家居無線網絡系統[J].電子技術應用,2005,31(9):1-3.
[3] YU Yun Feng. A new low-cos demodulator for 2.4 GHz zigbee receivers[J]. 電子學報, 2009(02):252-257.
[4] CHOI Z Y, LEE Y H. On the use of double correlation for frame synchronization in the presence of frequency offset[C]. IEEE International Conference on Communications,1999(2):958-962.
[5] LI En Zheng. Joint frequency offset estimation and timing synchronization for DSSS MSK receiver[C]. Asia-Pacific Conference on Communications,2005:358-361.
[6] 陳培仁.IEEE 802.15.42.4GHz無線個人網實體層之ASIC設計[D].臺灣:國立中正大學電機工程研究所碩
士論文,2006.