林朝陽(yáng),周春良
(1.寧波中醫(yī)院,寧波 315010;2.寧波大紅鷹學(xué)院,寧波 315175)
基于OFDM抗干擾技術(shù)的ZigBee網(wǎng)絡(luò)時(shí)間同步算法
林朝陽(yáng)1,周春良2
(1.寧波中醫(yī)院,寧波 315010;2.寧波大紅鷹學(xué)院,寧波 315175)
提出一種OFDM抗干擾技術(shù)的ZigBee網(wǎng)絡(luò)時(shí)間同步算法,詳細(xì)描述該算法的步驟,同時(shí)分析如何在ZigBee網(wǎng)絡(luò)中實(shí)現(xiàn)該算法。研究了基于高速串行的數(shù)據(jù)調(diào)試算法,將它應(yīng)用于并行的正交信道中去,提高了每個(gè)子信道的寬帶時(shí)延,同時(shí)降低碼間干擾對(duì)整個(gè)系統(tǒng)的影響,能夠有效對(duì)抗多徑效應(yīng),克服傳統(tǒng)算法傳輸延遲的問(wèn)題,最終通過(guò)測(cè)試平臺(tái)上驗(yàn)證算法的可行性,使得該模型的時(shí)間同步算法能夠在ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)上高效運(yùn)行。
ZigBee網(wǎng)絡(luò);OFDM;時(shí)間同步;抗干擾
無(wú)線傳感器網(wǎng)絡(luò)是一種結(jié)合了微電子機(jī)械技術(shù)、片上系統(tǒng)技術(shù)、無(wú)線通信技術(shù)、低成本傳感器技術(shù)的新興網(wǎng)絡(luò)。其中ZigBee技術(shù)是專(zhuān)為低速率傳感器和控制網(wǎng)絡(luò)而設(shè)計(jì)的標(biāo)準(zhǔn)無(wú)線網(wǎng)絡(luò)協(xié)議。因?yàn)檫@種技術(shù)具備低功耗和低成本的特點(diǎn),已在國(guó)內(nèi)許多行業(yè)中應(yīng)用,包括環(huán)境監(jiān)控、醫(yī)療監(jiān)控、交通管理和軍事偵察等行業(yè)。ZigBee網(wǎng)絡(luò)通常是由大量廉價(jià)的具有信息獲取能力的節(jié)點(diǎn)組成的自組織無(wú)線通信網(wǎng)絡(luò)。對(duì)比于普通的分布式系統(tǒng),ZigBee網(wǎng)絡(luò)對(duì)于時(shí)間同步要求更為高。因此時(shí)間同步是ZigBee網(wǎng)絡(luò)的重要技術(shù)之一?,F(xiàn)實(shí)傳輸環(huán)境復(fù)雜,對(duì)數(shù)據(jù)為穩(wěn)定性要求較高,傳統(tǒng)的時(shí)間同步算法無(wú)法滿足ZigBee網(wǎng)絡(luò)的需要。本研究提出一種基于OFDM算法的抗干擾ZigBee網(wǎng)絡(luò)時(shí)間同步算法,并在實(shí)際環(huán)境中實(shí)現(xiàn)了該算法。
現(xiàn)實(shí)中的ZigBee網(wǎng)絡(luò)通信環(huán)境,經(jīng)常會(huì)碰到一些非常復(fù)雜的實(shí)際環(huán)境。這些應(yīng)用環(huán)境,使得電磁波不能很好地傳播,存在大量的反射、折射及散射路徑,造成嚴(yán)重的多徑傳播。本研究提出的OFDM算法,它將基于高速串行的數(shù)據(jù)調(diào)試算法應(yīng)用到并行正交信道中,降低了子信道的信道時(shí)延,同時(shí)添加循環(huán)前綴,降低了碼間干擾對(duì)整個(gè)系統(tǒng)的影響,有效對(duì)抗了多徑效應(yīng),克服了傳統(tǒng)算法傳輸延遲的問(wèn)題,對(duì)于提高ZigBee網(wǎng)絡(luò)同步時(shí)間精度具有顯著效果。
OFDM技術(shù)是將并行多載技術(shù),應(yīng)用于多個(gè)并行正交信道中,延長(zhǎng)子信道的信道延時(shí),添加循環(huán)前綴,降低了碼間干擾對(duì)整個(gè)系統(tǒng)的影響,有效對(duì)抗了多徑效應(yīng)。在實(shí)際網(wǎng)絡(luò)應(yīng)用中具有顯著效果。OFDM系統(tǒng)同步對(duì)ZigBee網(wǎng)絡(luò)的信號(hào)進(jìn)行過(guò)濾,保留OFDM有效數(shù)據(jù),同時(shí)對(duì)偏移的數(shù)據(jù)進(jìn)行估計(jì)和補(bǔ)償。
設(shè)基帶發(fā)送信號(hào)為xn,則接收到的復(fù)基帶信號(hào)為:
在上式中,ftx為發(fā)送載波頻率;Ts為采樣周期。兩個(gè)重復(fù)符號(hào)之間的延時(shí)為D個(gè)采樣長(zhǎng)度,OFDM符號(hào)長(zhǎng)度為D,則周期中重復(fù)信號(hào)的延時(shí)相關(guān)和為:
由此可計(jì)算出頻率偏差值為:
在傳統(tǒng)方法中,要提高頻率估計(jì)精度,需要增加采樣數(shù)量和訓(xùn)練時(shí)間,導(dǎo)致系統(tǒng)的容量降低。本研究在未增加訓(xùn)練時(shí)間的前提下,對(duì)傳統(tǒng)方法進(jìn)行改進(jìn),提高了系統(tǒng)的精度。
本文使用對(duì)多個(gè)估計(jì)結(jié)果進(jìn)行求平均值運(yùn)算,提高了運(yùn)算精度,然后進(jìn)行平移相乘,降低了訓(xùn)練符號(hào)資源。以k個(gè)訓(xùn)練符號(hào)為例,本算法使用了(k-2)D次估算,而普通的求平均值只進(jìn)行了(k-1)次估算。由此可見(jiàn),對(duì)于相同的系統(tǒng)資源,本算法遠(yuǎn)遠(yuǎn)優(yōu)于普通的求解算法,本算法改進(jìn)的具體公式如下:
式中K為算法使用的短訓(xùn)練符號(hào)個(gè)數(shù),D為每個(gè)短訓(xùn)練符號(hào)的樣值個(gè)數(shù),Ts為采樣周期。K的取值越大,參與運(yùn)算的短訓(xùn)練符號(hào)越多,求平均次數(shù)越多,估計(jì)越精確。
本研究采用模塊化的編程思想實(shí)現(xiàn)OFDM抗干擾同步算法,具體的設(shè)計(jì)流程如圖1所示。
數(shù)據(jù)總控模塊(Data_control)的設(shè)計(jì)如圖2所示,其主要利用計(jì)數(shù)器控制使能來(lái)實(shí)現(xiàn)。接收數(shù)據(jù)首先被存放在緩存中,此時(shí)總控模塊會(huì)輸出一個(gè)控制信號(hào)來(lái)控制計(jì)數(shù)。計(jì)數(shù)控制條件主要設(shè)置為兩個(gè):當(dāng)1< counter<98時(shí),計(jì)數(shù)器會(huì)發(fā)送控制信號(hào)控制緩存輸出短訓(xùn)練符號(hào)。在幀同步完全準(zhǔn)確地基礎(chǔ)上,應(yīng)為counter< 96。當(dāng)counter>161時(shí),緩存會(huì)將短訓(xùn)練序列以及后面的信號(hào)域數(shù)據(jù)域部分輸出。其他情況下,不會(huì)有輸出任何數(shù)據(jù)。
圖1 載波同步程序設(shè)計(jì)
圖2 數(shù)據(jù)總控模塊設(shè)計(jì)
延時(shí)相關(guān)模塊(Delay_correlate)的設(shè)計(jì)如圖3所示,接收數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)分路模塊分為DateA和DateB兩部分,這兩個(gè)部分分別進(jìn)入預(yù)先設(shè)定的緩存中,接著由4個(gè)乘法器進(jìn)行相乘運(yùn)算,延時(shí)相關(guān)運(yùn)算完成后進(jìn)入相關(guān)累加部分。相關(guān)累加主要通過(guò)移位相加來(lái)完成,設(shè)置移位級(jí)數(shù)為16,每經(jīng)過(guò)一個(gè)時(shí)鐘都會(huì)有新的數(shù)據(jù)移入相關(guān)累加器,同時(shí)會(huì)有一個(gè)相差為16個(gè)采樣的舊數(shù)據(jù)移出,累加器對(duì)所有移位寄存器的數(shù)據(jù)進(jìn)行累加運(yùn)算,完成相關(guān)累加運(yùn)算。
偏差估計(jì)模塊(Deviation_estimate)的設(shè)計(jì)如圖4所示,首先根據(jù)延時(shí)相關(guān)模塊的輸出數(shù)據(jù)數(shù)量,設(shè)置計(jì)數(shù)器counter的計(jì)數(shù)范圍為64。若counter>63時(shí),由于頻率中的反正切運(yùn)算較難實(shí)現(xiàn),無(wú)法實(shí)現(xiàn)有限信號(hào)。在FPGA中,使用CORDIC IP來(lái)實(shí)現(xiàn),將CORDIC核設(shè)置為Arc Tan模式,對(duì)其輸入方式進(jìn)行配置。數(shù)據(jù)的二進(jìn)制編碼累加操作通過(guò)計(jì)數(shù)器控制器完成。累加后所有的數(shù)據(jù)向右移動(dòng)6位,完成了除數(shù)的效果。同時(shí)這樣操作可以免去除法器的弊端,避免消耗過(guò)多的時(shí)間。在累積過(guò)程中,需要對(duì)數(shù)據(jù)進(jìn)行處理,將時(shí)延模塊和偏差估計(jì)模塊進(jìn)行連接,最終形成了載波頻偏估計(jì)模塊。
圖3 延時(shí)相關(guān)模塊設(shè)計(jì)
圖4 偏差估計(jì)模塊設(shè)計(jì)
載波頻偏補(bǔ)償模塊(CFO_compensating)的設(shè)計(jì)如圖5所示。在進(jìn)行具體設(shè)計(jì)之前,需要對(duì)改進(jìn)算法補(bǔ)償公式進(jìn)行簡(jiǎn)化。補(bǔ)償計(jì)算式如下式所示:
從上式中可以看出,補(bǔ)償因子的計(jì)算涉及到了指數(shù)運(yùn)算,而指數(shù)運(yùn)算在硬件中實(shí)現(xiàn)是很困難的,故此過(guò)程依然需要用到IP核。為此,繼續(xù)對(duì)上式進(jìn)行化簡(jiǎn),可以得到下式:
通過(guò)歐拉公式,上式中指數(shù)形式被化成了正余弦形式,這樣就可以通過(guò)CORDIC IP核來(lái)實(shí)現(xiàn)補(bǔ)償因子的計(jì)算過(guò)程。
圖5 載波頻偏補(bǔ)償模塊整體設(shè)計(jì)
由于載波頻偏補(bǔ)償過(guò)程是針對(duì)長(zhǎng)訓(xùn)練符號(hào)及其后續(xù)數(shù)據(jù),故式中n=161,162,163…,但這樣進(jìn)行補(bǔ)償會(huì)使補(bǔ)償因子的計(jì)算量劇增,會(huì)降低計(jì)算速度。通過(guò)累加器來(lái)實(shí)現(xiàn)計(jì)算變化,能夠避免相差位的出現(xiàn)。
本系統(tǒng)在GAINS-3的ZigBee網(wǎng)絡(luò)平臺(tái)上進(jìn)行實(shí)現(xiàn)。項(xiàng)目組進(jìn)行了多次反復(fù)測(cè)試,且對(duì)采集的數(shù)據(jù)進(jìn)行清洗和過(guò)濾。本系統(tǒng)使用了ATMega128的自動(dòng)中斷功能,將所有系統(tǒng)中INT4引腳連接起來(lái),將中斷處理函數(shù)中將計(jì)數(shù)器的數(shù)值發(fā)送到串口,通過(guò)這個(gè)方法能夠采集所有節(jié)點(diǎn)上的計(jì)數(shù)值。至此,載波同步的基本運(yùn)由于每個(gè)模塊運(yùn)算的時(shí)間各不相同,因此如果直接連接會(huì)出現(xiàn)運(yùn)算時(shí)序錯(cuò)亂,導(dǎo)致輸出結(jié)果的錯(cuò)誤。為保證運(yùn)算的準(zhǔn)確以及時(shí)序的正確,分別添加了Clk_delay和Compensate_delay兩個(gè)延時(shí)模塊,分別對(duì)各部分中的運(yùn)算做時(shí)序匹配。延時(shí)中主要用到了使能延時(shí)和數(shù)據(jù)延時(shí),使能延時(shí)可以通過(guò)計(jì)數(shù)控制完成,而數(shù)據(jù)延時(shí)則是通過(guò)多級(jí)移位寄存器完成。
圖6 載波同步功能仿真
本文提出了一種基于OFDM模型的時(shí)間同步算法,闡述該算法的步驟,同時(shí)討論了該算法在測(cè)試平臺(tái)實(shí)現(xiàn)的具體細(xì)節(jié),并給出了相應(yīng)測(cè)試平臺(tái)的結(jié)果,分析了各個(gè)不同因素對(duì)該算法的不同影響。根據(jù)實(shí)驗(yàn)結(jié)果,該算法的精確度達(dá)到了毫秒級(jí),對(duì)比傳統(tǒng)算法有較大提升。下一步,網(wǎng)絡(luò)拓?fù)鋵?duì)本模型的影響將是我們的關(guān)注的主要問(wè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
林朝陽(yáng)(1982-),男,浙江溫州人,高級(jí)工程師,本科,研究方向?yàn)閿?shù)據(jù)挖掘
2016-10-13
2016-12-10
浙江省教育廳科研項(xiàng)目(No.Y201432666)
周春良(1982-),男,浙江寧波人,講師,碩士,研究方向?yàn)閿?shù)據(jù)挖掘