林朝陽,周春良
(1.寧波中醫(yī)院,寧波 315010;2.寧波大紅鷹學(xué)院,寧波 315175)
基于OFDM抗干擾技術(shù)的ZigBee網(wǎng)絡(luò)時間同步算法
林朝陽1,周春良2
(1.寧波中醫(yī)院,寧波 315010;2.寧波大紅鷹學(xué)院,寧波 315175)
提出一種OFDM抗干擾技術(shù)的ZigBee網(wǎng)絡(luò)時間同步算法,詳細(xì)描述該算法的步驟,同時分析如何在ZigBee網(wǎng)絡(luò)中實現(xiàn)該算法。研究了基于高速串行的數(shù)據(jù)調(diào)試算法,將它應(yīng)用于并行的正交信道中去,提高了每個子信道的寬帶時延,同時降低碼間干擾對整個系統(tǒng)的影響,能夠有效對抗多徑效應(yīng),克服傳統(tǒng)算法傳輸延遲的問題,最終通過測試平臺上驗證算法的可行性,使得該模型的時間同步算法能夠在ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)上高效運(yùn)行。
ZigBee網(wǎng)絡(luò);OFDM;時間同步;抗干擾
無線傳感器網(wǎng)絡(luò)是一種結(jié)合了微電子機(jī)械技術(shù)、片上系統(tǒng)技術(shù)、無線通信技術(shù)、低成本傳感器技術(shù)的新興網(wǎng)絡(luò)。其中ZigBee技術(shù)是專為低速率傳感器和控制網(wǎng)絡(luò)而設(shè)計的標(biāo)準(zhǔn)無線網(wǎng)絡(luò)協(xié)議。因為這種技術(shù)具備低功耗和低成本的特點(diǎn),已在國內(nèi)許多行業(yè)中應(yīng)用,包括環(huán)境監(jiān)控、醫(yī)療監(jiān)控、交通管理和軍事偵察等行業(yè)。ZigBee網(wǎng)絡(luò)通常是由大量廉價的具有信息獲取能力的節(jié)點(diǎn)組成的自組織無線通信網(wǎng)絡(luò)。對比于普通的分布式系統(tǒng),ZigBee網(wǎng)絡(luò)對于時間同步要求更為高。因此時間同步是ZigBee網(wǎng)絡(luò)的重要技術(shù)之一。現(xiàn)實傳輸環(huán)境復(fù)雜,對數(shù)據(jù)為穩(wěn)定性要求較高,傳統(tǒng)的時間同步算法無法滿足ZigBee網(wǎng)絡(luò)的需要。本研究提出一種基于OFDM算法的抗干擾ZigBee網(wǎng)絡(luò)時間同步算法,并在實際環(huán)境中實現(xiàn)了該算法。
現(xiàn)實中的ZigBee網(wǎng)絡(luò)通信環(huán)境,經(jīng)常會碰到一些非常復(fù)雜的實際環(huán)境。這些應(yīng)用環(huán)境,使得電磁波不能很好地傳播,存在大量的反射、折射及散射路徑,造成嚴(yán)重的多徑傳播。本研究提出的OFDM算法,它將基于高速串行的數(shù)據(jù)調(diào)試算法應(yīng)用到并行正交信道中,降低了子信道的信道時延,同時添加循環(huán)前綴,降低了碼間干擾對整個系統(tǒng)的影響,有效對抗了多徑效應(yīng),克服了傳統(tǒng)算法傳輸延遲的問題,對于提高ZigBee網(wǎng)絡(luò)同步時間精度具有顯著效果。
OFDM技術(shù)是將并行多載技術(shù),應(yīng)用于多個并行正交信道中,延長子信道的信道延時,添加循環(huán)前綴,降低了碼間干擾對整個系統(tǒng)的影響,有效對抗了多徑效應(yīng)。在實際網(wǎng)絡(luò)應(yīng)用中具有顯著效果。OFDM系統(tǒng)同步對ZigBee網(wǎng)絡(luò)的信號進(jìn)行過濾,保留OFDM有效數(shù)據(jù),同時對偏移的數(shù)據(jù)進(jìn)行估計和補(bǔ)償。
設(shè)基帶發(fā)送信號為xn,則接收到的復(fù)基帶信號為:

在上式中,ftx為發(fā)送載波頻率;Ts為采樣周期。兩個重復(fù)符號之間的延時為D個采樣長度,OFDM符號長度為D,則周期中重復(fù)信號的延時相關(guān)和為:


由此可計算出頻率偏差值為:


在傳統(tǒng)方法中,要提高頻率估計精度,需要增加采樣數(shù)量和訓(xùn)練時間,導(dǎo)致系統(tǒng)的容量降低。本研究在未增加訓(xùn)練時間的前提下,對傳統(tǒng)方法進(jìn)行改進(jìn),提高了系統(tǒng)的精度。
本文使用對多個估計結(jié)果進(jìn)行求平均值運(yùn)算,提高了運(yùn)算精度,然后進(jìn)行平移相乘,降低了訓(xùn)練符號資源。以k個訓(xùn)練符號為例,本算法使用了(k-2)D次估算,而普通的求平均值只進(jìn)行了(k-1)次估算。由此可見,對于相同的系統(tǒng)資源,本算法遠(yuǎn)遠(yuǎn)優(yōu)于普通的求解算法,本算法改進(jìn)的具體公式如下:

式中K為算法使用的短訓(xùn)練符號個數(shù),D為每個短訓(xùn)練符號的樣值個數(shù),Ts為采樣周期。K的取值越大,參與運(yùn)算的短訓(xùn)練符號越多,求平均次數(shù)越多,估計越精確。
本研究采用模塊化的編程思想實現(xiàn)OFDM抗干擾同步算法,具體的設(shè)計流程如圖1所示。
數(shù)據(jù)總控模塊(Data_control)的設(shè)計如圖2所示,其主要利用計數(shù)器控制使能來實現(xiàn)。接收數(shù)據(jù)首先被存放在緩存中,此時總控模塊會輸出一個控制信號來控制計數(shù)。計數(shù)控制條件主要設(shè)置為兩個:當(dāng)1< counter<98時,計數(shù)器會發(fā)送控制信號控制緩存輸出短訓(xùn)練符號。在幀同步完全準(zhǔn)確地基礎(chǔ)上,應(yīng)為counter< 96。當(dāng)counter>161時,緩存會將短訓(xùn)練序列以及后面的信號域數(shù)據(jù)域部分輸出。其他情況下,不會有輸出任何數(shù)據(jù)。

圖1 載波同步程序設(shè)計

圖2 數(shù)據(jù)總控模塊設(shè)計
延時相關(guān)模塊(Delay_correlate)的設(shè)計如圖3所示,接收數(shù)據(jù)經(jīng)過數(shù)據(jù)分路模塊分為DateA和DateB兩部分,這兩個部分分別進(jìn)入預(yù)先設(shè)定的緩存中,接著由4個乘法器進(jìn)行相乘運(yùn)算,延時相關(guān)運(yùn)算完成后進(jìn)入相關(guān)累加部分。相關(guān)累加主要通過移位相加來完成,設(shè)置移位級數(shù)為16,每經(jīng)過一個時鐘都會有新的數(shù)據(jù)移入相關(guān)累加器,同時會有一個相差為16個采樣的舊數(shù)據(jù)移出,累加器對所有移位寄存器的數(shù)據(jù)進(jìn)行累加運(yùn)算,完成相關(guān)累加運(yùn)算。
偏差估計模塊(Deviation_estimate)的設(shè)計如圖4所示,首先根據(jù)延時相關(guān)模塊的輸出數(shù)據(jù)數(shù)量,設(shè)置計數(shù)器counter的計數(shù)范圍為64。若counter>63時,由于頻率中的反正切運(yùn)算較難實現(xiàn),無法實現(xiàn)有限信號。在FPGA中,使用CORDIC IP來實現(xiàn),將CORDIC核設(shè)置為Arc Tan模式,對其輸入方式進(jìn)行配置。數(shù)據(jù)的二進(jìn)制編碼累加操作通過計數(shù)器控制器完成。累加后所有的數(shù)據(jù)向右移動6位,完成了除數(shù)的效果。同時這樣操作可以免去除法器的弊端,避免消耗過多的時間。在累積過程中,需要對數(shù)據(jù)進(jìn)行處理,將時延模塊和偏差估計模塊進(jìn)行連接,最終形成了載波頻偏估計模塊。

圖3 延時相關(guān)模塊設(shè)計

圖4 偏差估計模塊設(shè)計
載波頻偏補(bǔ)償模塊(CFO_compensating)的設(shè)計如圖5所示。在進(jìn)行具體設(shè)計之前,需要對改進(jìn)算法補(bǔ)償公式進(jìn)行簡化。補(bǔ)償計算式如下式所示:

從上式中可以看出,補(bǔ)償因子的計算涉及到了指數(shù)運(yùn)算,而指數(shù)運(yùn)算在硬件中實現(xiàn)是很困難的,故此過程依然需要用到IP核。為此,繼續(xù)對上式進(jìn)行化簡,可以得到下式:

通過歐拉公式,上式中指數(shù)形式被化成了正余弦形式,這樣就可以通過CORDIC IP核來實現(xiàn)補(bǔ)償因子的計算過程。

圖5 載波頻偏補(bǔ)償模塊整體設(shè)計
由于載波頻偏補(bǔ)償過程是針對長訓(xùn)練符號及其后續(xù)數(shù)據(jù),故式中n=161,162,163…,但這樣進(jìn)行補(bǔ)償會使補(bǔ)償因子的計算量劇增,會降低計算速度。通過累加器來實現(xiàn)計算變化,能夠避免相差位的出現(xiàn)。
本系統(tǒng)在GAINS-3的ZigBee網(wǎng)絡(luò)平臺上進(jìn)行實現(xiàn)。項目組進(jìn)行了多次反復(fù)測試,且對采集的數(shù)據(jù)進(jìn)行清洗和過濾。本系統(tǒng)使用了ATMega128的自動中斷功能,將所有系統(tǒng)中INT4引腳連接起來,將中斷處理函數(shù)中將計數(shù)器的數(shù)值發(fā)送到串口,通過這個方法能夠采集所有節(jié)點(diǎn)上的計數(shù)值。至此,載波同步的基本運(yùn)由于每個模塊運(yùn)算的時間各不相同,因此如果直接連接會出現(xiàn)運(yùn)算時序錯亂,導(dǎo)致輸出結(jié)果的錯誤。為保證運(yùn)算的準(zhǔn)確以及時序的正確,分別添加了Clk_delay和Compensate_delay兩個延時模塊,分別對各部分中的運(yùn)算做時序匹配。延時中主要用到了使能延時和數(shù)據(jù)延時,使能延時可以通過計數(shù)控制完成,而數(shù)據(jù)延時則是通過多級移位寄存器完成。

圖6 載波同步功能仿真
本文提出了一種基于OFDM模型的時間同步算法,闡述該算法的步驟,同時討論了該算法在測試平臺實現(xiàn)的具體細(xì)節(jié),并給出了相應(yīng)測試平臺的結(jié)果,分析了各個不同因素對該算法的不同影響。根據(jù)實驗結(jié)果,該算法的精確度達(dá)到了毫秒級,對比傳統(tǒng)算法有較大提升。下一步,網(wǎng)絡(luò)拓?fù)鋵Ρ灸P偷挠绊憣⑹俏覀兊年P(guān)注的主要問題。
ZigBee Networks Time Synchronization Algorithm Based on Non-Leaky Pulse-Coupled Oscillators Model
LIN Chao-yang1,ZHOU Chun-liang2
(1.Ningbo Hospital of Traditional Chinese Medicine,Ningbo 315010;2.Ningbo Dahongying University,Ningbo 315175)
Proposes ZigBee networks time synchronization algorithms based on non-leaky pulse-coupled oscillators model.The non-leaky pulsecoupled oscillators model has a linear dynamic,which solves the large computational complexity problem introduced by non-linear dynamic of classical pulse-coupled oscillators model.Therefore,the algorithm can be efficiently implemented on ZigBee nodes.Describes the details of the algorithm,analyzes how to implement the algorithm on ZigBee nodes,and introduces refractory period to eliminate the infinite firing loop problem.Finally,through the implementation on ZigBee nodes experiment,analyzes the factors of the synchronization and validates the feasibility of the algorithm.
ZigBee Networks;Non-Leaky Pulse-Coupled Oscillators Model;Time Synchronization
1007-1423(2016)36-0015-04
10.3969/j.issn.1007-1423.2016.36.003
林朝陽(1982-),男,浙江溫州人,高級工程師,本科,研究方向為數(shù)據(jù)挖掘
2016-10-13
2016-12-10
浙江省教育廳科研項目(No.Y201432666)
周春良(1982-),男,浙江寧波人,講師,碩士,研究方向為數(shù)據(jù)挖掘