張芳園,單輝宇
(哈爾濱工程大學(xué)信息與通信工程學(xué)院,哈爾濱150001)
卡爾曼濾波算法與Bootstrap算法比較
張芳園,單輝宇
(哈爾濱工程大學(xué)信息與通信工程學(xué)院,哈爾濱150001)
在信息化時(shí)代,人們對(duì)時(shí)間同步的精度要求越來越高.從時(shí)鐘根據(jù)它和主時(shí)鐘的偏差進(jìn)行估計(jì)和調(diào)整,從而實(shí)現(xiàn)同步.在多個(gè)晶振的條件下,可以通過卡爾曼方法實(shí)現(xiàn)數(shù)據(jù)融合,通過卡爾曼濾波算法和Bootstrap算法對(duì)時(shí)鐘進(jìn)行校正,對(duì)偏差進(jìn)行估計(jì).該方法可以提高本地時(shí)間穩(wěn)定性和準(zhǔn)確性.關(guān)鍵詞:時(shí)鐘同步;卡爾曼濾波算法;Bootstrap算法
網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都擁有獨(dú)立的晶振,輸出的時(shí)間是由輸出的脈沖個(gè)數(shù)來計(jì)算.時(shí)間的精度是由晶振的精度決定,每個(gè)晶振的性能指標(biāo)不可能完全一樣,且每個(gè)晶振的運(yùn)行環(huán)境中的溫度、濕度等因素的也會(huì)對(duì)晶振的精度產(chǎn)生影響.隨著時(shí)間的推移晶振會(huì)產(chǎn)生相應(yīng)的頻偏和時(shí)偏,使得晶振的穩(wěn)定度變差,在晶振運(yùn)行過程中為了維持晶振的穩(wěn)定度,通常采用卡爾曼等方法對(duì)其精度進(jìn)行校正.但卡爾曼濾波在對(duì)晶振的頻偏和時(shí)偏進(jìn)行校正的過程中需要系統(tǒng)的狀態(tài)矩陣、協(xié)方差、噪聲方差等,計(jì)算過于復(fù)雜.Bootstrap方法只需利用計(jì)算機(jī)對(duì)測(cè)量數(shù)值進(jìn)行重采樣,從而對(duì)晶振的頻偏和時(shí)偏進(jìn)行校正雖計(jì)算量大,但計(jì)算簡(jiǎn)單.
IEEE 1588協(xié)議是在建立硬件時(shí)間戳的條件下,通過主時(shí)鐘和從時(shí)鐘交換時(shí)間戳信息而實(shí)現(xiàn)時(shí)間得高精度同步[1].協(xié)議將時(shí)間同步過程分為偏移測(cè)量階段和延遲測(cè)量階段兩個(gè)部分.它的時(shí)間同步過程如圖1所示[2].
圖1 主從時(shí)鐘之間的交互過程
在本文中假設(shè)往返路徑對(duì)稱即數(shù)據(jù)包在傳播時(shí)它們的時(shí)延相等,則可以得到以下的計(jì)算公式:
2.1卡爾曼濾波的基本原理
卡爾曼濾波器要求信號(hào)和噪聲的統(tǒng)計(jì)特性得先驗(yàn)條件已知,在此基礎(chǔ)上采用高效率遞歸方式獲得最小方差的最優(yōu)估計(jì)濾波器.在本文中,由主節(jié)點(diǎn)和從節(jié)點(diǎn)之間實(shí)現(xiàn)時(shí)間同步從而獲得整個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)的時(shí)間同步.節(jié)點(diǎn)間的時(shí)間同步是通過計(jì)算從節(jié)點(diǎn)與主節(jié)點(diǎn)之間的時(shí)間偏差與頻率偏差并對(duì)本地時(shí)間的絕對(duì)時(shí)間和頻率進(jìn)行調(diào)整而實(shí)現(xiàn)的.相對(duì)準(zhǔn)確的時(shí)偏和頻偏的估計(jì)有利于提升網(wǎng)絡(luò)時(shí)間的準(zhǔn)確度.在本小節(jié)采用了卡爾曼法去實(shí)現(xiàn)對(duì)時(shí)偏和頻偏的準(zhǔn)確估計(jì),并對(duì)該過程進(jìn)行了仿真分析[3].
2.2卡爾曼濾波對(duì)時(shí)間偏差和頻偏的估計(jì)
在本節(jié)中,采用卡爾曼濾波方法對(duì)上節(jié)提到協(xié)議的實(shí)現(xiàn)時(shí)間同步方式進(jìn)行濾波估計(jì),校正頻偏和時(shí)偏,提高同步精確性.同時(shí)在這里認(rèn)為時(shí)間偏差的測(cè)量誤差為0,則可以得到從時(shí)鐘的時(shí)間偏差和頻率偏差的關(guān)系式:
設(shè)Z(k)=[θ[k],s[k]]T為卡爾曼濾波器的當(dāng)前狀態(tài)向量,而Y[k]=[θ^[k],s^[k]]T為在k時(shí)刻的時(shí)鐘時(shí)間和頻率的校正值.在一定的時(shí)間間隔內(nèi),時(shí)鐘的頻偏變化緩慢,所以在這里假設(shè)頻偏的變化率保持不變,因此可以根據(jù)前一時(shí)刻的頻偏去計(jì)算現(xiàn)在時(shí)刻的時(shí)偏.卡爾曼濾波的狀態(tài)方程和測(cè)量方程分別為式(5)、(6).
通過上述過程,可以消除相關(guān)噪聲,提高時(shí)鐘的同步精度,保持時(shí)鐘的穩(wěn)定度.
2.3仿真結(jié)果分析
我們采用Matlab進(jìn)行仿真,本文中的頻偏表示晶振的實(shí)際頻率與標(biāo)準(zhǔn)頻率在每秒產(chǎn)生的偏差值,在2維的情況下利用數(shù)據(jù)融合[4]的方法對(duì)2個(gè)時(shí)鐘的狀態(tài)估計(jì)值進(jìn)行融合,從而對(duì)整個(gè)系統(tǒng)時(shí)鐘的頻偏和時(shí)偏進(jìn)行校正,提高本地時(shí)鐘的穩(wěn)定性和準(zhǔn)確性.
圖2為在只有1個(gè)時(shí)鐘的情況下的頻偏和時(shí)偏修正值.圖3為在只有1個(gè)時(shí)鐘條件下的頻偏和時(shí)偏狀態(tài)估計(jì)值.圖4為在2個(gè)時(shí)鐘的條件下的,它們各自的時(shí)偏和頻偏的修正值.圖5為在2個(gè)時(shí)鐘的條件下的,它們各自的時(shí)偏和頻偏的狀態(tài)估計(jì)值以及經(jīng)過數(shù)據(jù)融合后得到的晶振時(shí)偏和頻偏的估計(jì)值.
圖2 A時(shí)鐘頻偏和時(shí)偏修正值
圖3 A時(shí)鐘頻偏和時(shí)偏狀態(tài)值估計(jì)
圖4 時(shí)鐘A和B頻偏和時(shí)偏修正值
圖5 時(shí)鐘A,B及融合后的頻偏和時(shí)偏狀態(tài)值估計(jì)
3.1Bootstrap方法基本原則
Bootstrap方法是一種基于計(jì)算機(jī)模擬的統(tǒng)計(jì)推斷方法,它不需要對(duì)未知總體分布作任何假定,而是通過對(duì)已有樣本進(jìn)行有放回地隨機(jī)抽樣(每個(gè)樣本被抽到的概率相同)來產(chǎn)生“偽”隨機(jī)數(shù),從而判斷總體分布的統(tǒng)計(jì)特性[5].
常見的Bootstrap有殘差Bootstrap方法、參數(shù)Bootstrap方法、Wild Bootstrap方法、Pairs Bootstrap方法和Block Bootstrap方法.本文中采用殘差Bootstrap方法.
3.2殘差Bootstrap方法
殘差Bootstrap是通過對(duì)模型的殘差進(jìn)行有放回地隨機(jī)抽樣而獲得所需數(shù)據(jù)的一種方法.它有兩個(gè)使用條件:1)誤差與變量之間相互獨(dú)立;2)誤差服從獨(dú)立同分布.表達(dá)式為式(7).
E(εi|Xi)=0,εiIID(0,σ) (i=1,2,…,N)
殘差Bootstrap的執(zhí)行步驟如下:
1)利用最小二乘(OLS)或其他方法對(duì)式(3-1)進(jìn)行估計(jì),得到β的估計(jì)值和殘差向量e.其中,e=y-
2)對(duì)殘差e進(jìn)行尺度變化和中心化.
4)由以上可以得到一個(gè)Bootstrap樣本(y*,X),其中y*=Xβ+e*.
重復(fù)第3步和第4步共B次,可以得到一組Bootstrap樣本.
3.3殘差Bootstrap仿真結(jié)果
對(duì)由信號(hào)源所產(chǎn)生的測(cè)量值隨機(jī)采樣或得10個(gè)數(shù)據(jù),利用Bootstrap方法對(duì)這10個(gè)數(shù)據(jù)進(jìn)行重采樣,得到一個(gè)狀態(tài)值樣本和修正值的樣本,將上述過程重復(fù)2 000次得到1組Bootstrap樣本,利用Matlab對(duì)該過程進(jìn)行仿真分析.圖6為在1維情況下利用Bootstrap方法對(duì)晶振的頻偏和時(shí)偏進(jìn)行測(cè)量及估計(jì)仿真圖.圖7是在2維條件下,利用數(shù)據(jù)融合方法得到的時(shí)鐘的頻偏和時(shí)偏進(jìn)行測(cè)量及估計(jì)仿真圖.
圖6 頻偏和時(shí)偏狀態(tài)估計(jì)值和修正值
圖7 融合后的頻偏和時(shí)偏狀態(tài)估計(jì)值和修正值
利用卡爾曼濾波法和Bootstrap方法均可以對(duì)時(shí)鐘的時(shí)間偏差和頻率偏差進(jìn)行校正,且兩種方法對(duì)時(shí)鐘的噪聲干擾和影響進(jìn)行消除的結(jié)果接近一致,但是在運(yùn)算過程中,卡爾曼濾波方法需要對(duì)系統(tǒng)進(jìn)行建模,需要系統(tǒng)各種的狀態(tài)矩陣、協(xié)方差、噪聲方差等參數(shù)以及系統(tǒng)的初始狀態(tài)值和初始測(cè)量值,在實(shí)際運(yùn)算過程中會(huì)使計(jì)算過程較為復(fù)雜,而Bootstrap方法需要的樣本個(gè)數(shù)少,在重采樣的過程中雖然會(huì)產(chǎn)生大量的數(shù)據(jù)值,但是在計(jì)算機(jī)運(yùn)行中不會(huì)給運(yùn)算過程帶來不便,計(jì)算簡(jiǎn)單,不需要大量的系統(tǒng)值和任何的先驗(yàn)概率,后驗(yàn)概率,簡(jiǎn)化了系統(tǒng)計(jì)算.所以在應(yīng)用中可以用Bootstrap方法替代卡爾曼濾波方法,且簡(jiǎn)化計(jì)算過程.
[1]李曉珍.基于IEEE 1588的網(wǎng)絡(luò)時(shí)間同步系統(tǒng)研究[D].西安:中國(guó)科學(xué)院研究生院,2011.
[2]LEE S.An enhanced IEEE 1588 time synchronization algorithm for asymmetric communication link using block burst transmission [J].IEEE Communications Letters,2008,12(9):687-689.
[3]周思捷.基于IEEE 1588無線網(wǎng)絡(luò)時(shí)間同步技術(shù)研究[D].上海:上海交通大學(xué),2013.
[4]李海艷,李維嘉,黃運(yùn)保.基于卡爾曼濾波的多傳感器測(cè)量數(shù)據(jù)融合[J].武漢大學(xué)學(xué)報(bào),2011,44(4):521-525.
[5]馮計(jì)才,劉力維,常寶嫻,等.Bootstrap方法的仿真實(shí)現(xiàn)及其在系統(tǒng)偏差估[J].南京理工學(xué)學(xué)報(bào),2007,31(3):400 -402.
Comparison of Bootstrap algorithm and Kalman filtering algorithm
ZHANG Fang-yuan,SHAN Hui-yu
(School of Information and Communication Engineering,Harbin Engineering University,Harbin 150001,China)
In the information age,the users has higher requirement for the accuracy of time synchronization.The slave clock achieves clock synchronization according to the offset of the slave clock and themaster clock to estimate and adjust the offset.Under the condition ofmultiple crystal scillator,data fusion can be realized through Kalman filteringmethod.The clock correction and the deviation estimation were performed through Kalman filter algorithm and the Bootstrap algorithm.Thismethod can improve the local time’s stability and accuracy.
wireless synchronization;Bootstrap algorithm;Kalman filtering algorithm
TN972
A
1672-0946(2016)02-0200-03
2015-07-15.
中央高校基本科研費(fèi)專項(xiàng)基金(HEUCF140803).
張芳園(1991-),女,碩士,研究方向:寬帶信號(hào)的檢測(cè)與識(shí)別.