文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)12-0099-04
Zigbee是近年來(lái)興起的一種無(wú)線通信協(xié)議,其MAC/PHY由IEEE802.15.4協(xié)議[1](以下簡(jiǎn)稱協(xié)議)所定義,是一種低數(shù)據(jù)率的短距離無(wú)線通信解決方案,特別適合智能家居[2]、傳感器網(wǎng)絡(luò)等方面的應(yīng)用。該協(xié)議主要面向低成本應(yīng)用,因此很多文獻(xiàn)研究了協(xié)議解調(diào)算法的簡(jiǎn)化設(shè)計(jì),但是大部分性能犧牲較大。本文從信號(hào)最大似然估計(jì)的角度出發(fā),導(dǎo)出了兩種高效的解調(diào)算法,并完成了電路設(shè)計(jì)。電路仿真表明,在高斯白噪聲信道中,該算法在電路規(guī)模接近其他非相干解調(diào)算法的情況下,性能有5.1 dB的提升。
1 解調(diào)方案分析與設(shè)計(jì)
協(xié)議的基帶調(diào)制方式為:對(duì)發(fā)送數(shù)據(jù)進(jìn)行4 bit符號(hào)(Symbol)到32 bit碼片(Chip)的直接序列擴(kuò)頻,然后采用半正弦成型的O-QPSK對(duì)擴(kuò)頻碼片進(jìn)行調(diào)制,流程如圖 1所示。
該信號(hào)等價(jià)于MSK(最小移頻鍵控)信號(hào),其星座圖如圖 2,發(fā)送1時(shí)候,信號(hào)相位在一個(gè)碼片周期中沿單位元逆時(shí)針旋轉(zhuǎn)90°,發(fā)送0則順時(shí)針旋轉(zhuǎn)90°。每個(gè)碼片是MSK的一個(gè)符號(hào),碼片速率2 Mchip/s。按照MSK進(jìn)行解調(diào)的擴(kuò)頻碼如表 1(由于O-QPSK“偏移”特性,“X”表示該碼片需要和下一個(gè)符號(hào)共同確定)。
協(xié)議對(duì)于接收機(jī)性能的規(guī)定是:“在輸入信號(hào)功率-85 dBm,包長(zhǎng)20 B情況下,誤包率低于1%”。傳統(tǒng)相干解調(diào)需要進(jìn)行頻偏的估計(jì)和恢復(fù),電路較為復(fù)雜;而在常見(jiàn)的信號(hào)的非相干解調(diào)方案中,過(guò)零檢測(cè)[3]等方案討論較多,但是算法性能受到頻偏影響較為明顯。此外,部分文獻(xiàn)給出了角度解調(diào)的算法,思路是將輸入復(fù)信號(hào)求輻角,對(duì)角度進(jìn)行解調(diào)。上述兩種算法和無(wú)頻偏的相干解調(diào)相比,有約9 dB(相同誤碼率所需的信噪比)性能的差距。
對(duì)于直接序列擴(kuò)頻信號(hào),傳統(tǒng)的解調(diào)方法是逐碼片解調(diào),然后進(jìn)行解擴(kuò)。本文采用不同的思路,直接對(duì)擴(kuò)頻的符號(hào)進(jìn)行最大似然估計(jì)和解調(diào)。帶有噪聲、頻偏的協(xié)議信號(hào)采樣點(diǎn)復(fù)數(shù)表達(dá)式為:
2 算法MATLAB仿真
使用MATLAB對(duì)于給出的兩種算法進(jìn)行仿真。首先設(shè)置兩種參照算法:T1使用頻偏估計(jì)的MCBR(修正的克拉美羅界,估計(jì)方差的一個(gè)下界)為方差的正態(tài)分布來(lái)模擬補(bǔ)償后殘留頻偏,然后對(duì)補(bǔ)償后信號(hào)相干解調(diào);T2算法使用參考文獻(xiàn)[5]頻偏補(bǔ)償后相干解調(diào)。
仿真設(shè)置:使用MATLAB生成2×106個(gè)符號(hào)的數(shù)據(jù),信道模型采用AWGN模型。
在無(wú)頻偏情況下,不同算法誤碼率如圖3所示。
可以看到,L1和L2的算法性能優(yōu)于“進(jìn)行頻偏補(bǔ)償相干解調(diào)”的算法(主要原因是使用一個(gè)符號(hào)的數(shù)據(jù)進(jìn)行頻偏估計(jì)性能較差)。而在沒(méi)有頻偏情況下同階的L1算法性能優(yōu)于L2算法。
協(xié)議規(guī)定最大頻偏200 kHz,此時(shí)誤碼率如圖4。
可以看到大頻偏下L1算法差于L2。對(duì)比兩個(gè)圖可以看到L2算法性能受到頻偏影響不大。
在頻偏均勻分布的情況下,L1算法性能介于一階和二階L2算法之間。均勻分布隨機(jī)頻偏下不同算法性能如圖5所示。
總結(jié)仿真結(jié)果:L1性能隨著頻偏的增大而下降;L2算法對(duì)于頻偏不敏感。因此在小頻偏情況下適合選擇L1算法,而頻偏可能值較大時(shí),應(yīng)選擇L2算法。階數(shù)的增加,增大了解調(diào)算法的性能,但同時(shí)使L1對(duì)頻偏敏感度增加;而L2算法階數(shù)提高使得性能有明顯提高。電路設(shè)計(jì)可據(jù)此選擇算法。
3.1 電路設(shè)計(jì)
實(shí)現(xiàn)解調(diào)算法的電路框圖如圖 6所示。這里以一階(Nr=d=1)為例,二階類似。
上述相關(guān)器的因子為±j,無(wú)需使用乘法器,只需將數(shù)據(jù)進(jìn)行實(shí)部和虛部的交換以及符號(hào)變化。相關(guān)器輸出根據(jù)上面討論的兩種算法,進(jìn)行取實(shí)部(對(duì)L1)或者取模(對(duì)L2)。具體工作原理如下:
擴(kuò)頻信號(hào)的解碼首先要進(jìn)行擴(kuò)頻碼的同步,查找擴(kuò)頻碼的頭。協(xié)議幀的預(yù)同步序列是8個(gè)符號(hào)0。擴(kuò)頻碼具有良好的自相關(guān)特性,利用這一點(diǎn)進(jìn)行同步:A工作在移位狀態(tài),B工作在數(shù)據(jù)載入狀態(tài)。當(dāng)一個(gè)符號(hào)0符號(hào)數(shù)據(jù)載入上述鏈B中時(shí)(如圖中的r0* r1到r30* r31為一個(gè)符號(hào)的樣點(diǎn)的自相關(guān)),相關(guān)器的輸出將超過(guò)一定的閾值;該點(diǎn)即為同步點(diǎn)。解調(diào)器進(jìn)入同步狀態(tài)。
進(jìn)入同步狀態(tài)以后,獲得了擴(kuò)頻碼的邊界,每當(dāng)A中移入一個(gè)完整的擴(kuò)頻碼數(shù)據(jù)時(shí),B載入一次,移位計(jì)數(shù)器清零;其他時(shí)間B處于循環(huán)移位狀態(tài)。這樣在一個(gè)新的符號(hào)移入A時(shí),B中上一個(gè)符號(hào)的數(shù)據(jù)進(jìn)行循環(huán)移位,并計(jì)算每一次移位后的相關(guān)。根據(jù)擴(kuò)頻碼的循環(huán)特性,記錄B在移位過(guò)程中相關(guān)器輸出的絕對(duì)值最大時(shí)的移位計(jì)數(shù)器的值,即可得到解調(diào)的符號(hào)。例如相關(guān)輸出的絕對(duì)值最大在計(jì)數(shù)0出現(xiàn),表示解調(diào)的符號(hào)為0或8;如果移位4位以后出現(xiàn),表示解調(diào)的符號(hào)是1或9,以此類推;當(dāng)相關(guān)輸出的實(shí)部的符號(hào)為正則解調(diào)符號(hào)在0~7內(nèi),為負(fù)則在8~15內(nèi)。如果出現(xiàn)最大值位置不是4的整數(shù)倍,則根據(jù)就近原則確定,以減小同步錯(cuò)誤對(duì)解調(diào)的影響。上述過(guò)程介紹中輸入信號(hào)是一倍采樣的,實(shí)際接收機(jī)中需要對(duì)信號(hào)進(jìn)行過(guò)采樣,則在上述電路中進(jìn)行修改:假設(shè)過(guò)采樣率Ns,則A和B長(zhǎng)度增加為31·Ns,而并行相關(guān)器對(duì)于寄存器鏈B將每Ns個(gè)數(shù)據(jù)取一個(gè)進(jìn)行相關(guān)運(yùn)算。其余工作流程類似。
3.2 電路仿真
在兩種算法以及解調(diào)器結(jié)構(gòu)的基礎(chǔ)上本文完成了硬件電路的Verilog設(shè)計(jì)和FPGA驗(yàn)證。以L2為例,使用MATLAB產(chǎn)生測(cè)試數(shù)據(jù),在0 dB信噪比下,過(guò)采樣率Ns=4,仿真表明,在低信噪比情況下,相關(guān)器仍然具有較明顯的輸出峰值,可以很好解調(diào)。用6 bit的量化數(shù)據(jù)進(jìn)行2 000幀(幀的長(zhǎng)度為20 B,即40個(gè)符號(hào))數(shù)據(jù)的電路仿真(AWGN信道,使用Synopsys VCS仿真器),模擬完整的幀接收過(guò)程,不同頻偏下結(jié)果如圖7,可以看到性能隨著頻偏變化不大;仿真表明實(shí)現(xiàn)1%誤包率所需要的信噪比約為2.9 dB。
4 性能總結(jié)與比較
簡(jiǎn)單對(duì)比主要的參考文獻(xiàn)中給出的協(xié)議基帶解調(diào)算法以及硬件的性能和門數(shù)(包括調(diào)制和解調(diào)),其中“性能”表示實(shí)現(xiàn)1%誤包率所需要的信噪比,對(duì)比如表2。門數(shù)中括號(hào)中的數(shù)據(jù)是解調(diào)器的門數(shù)(0.18 μm工藝)。
可以看到,本文的工作在硬件規(guī)模上與簡(jiǎn)單的非相干解調(diào)算法類似,而在總體的性能上好于傳統(tǒng)非相干解調(diào)算法約5.1 dB以上(L2算法)。
本文給出了用于Zigbee解調(diào)的簡(jiǎn)單高效的算法,并完成了硬件設(shè)計(jì)。仿真表明,相比于傳統(tǒng)的非相干解調(diào)算法,該算法性能提高5.1 dB,同時(shí)硬件規(guī)模接近。該電路在硬件結(jié)構(gòu)簡(jiǎn)化的同時(shí)保持了較好的性能,降低了模擬前端電路的要求,對(duì)于Zigbee接收機(jī)設(shè)計(jì)有著很好的借鑒意義。
參考文獻(xiàn)
[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技術(shù)的智能家居無(wú)線網(wǎng)絡(luò)系統(tǒng)[J].電子技術(shù)應(yīng)用,2005,31(9):1-3.
[3] YU Yun Feng. A new low-cos demodulator for 2.4 GHz zigbee receivers[J]. 電子學(xué)報(bào), 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無(wú)線個(gè)人網(wǎng)實(shí)體層之ASIC設(shè)計(jì)[D].臺(tái)灣:國(guó)立中正大學(xué)電機(jī)工程研究所碩
士論文,2006.