方安成,羅正華
(1.電信科學(xué)技術(shù)第五研究所,四川 成都 610062; 2.成都大學(xué) 信息科學(xué)與工程學(xué)院,四川 成都 610106)
時(shí)間作為服從線性變化的狀態(tài)變量,而無(wú)線信道呈現(xiàn)非線性的系統(tǒng)模型,同時(shí)信號(hào)在近地傳播不考慮電離層誤差,那么選取合適的濾波算法對(duì)授時(shí)數(shù)據(jù)進(jìn)行濾波處理將會(huì)極大地提高授時(shí)信號(hào)的穩(wěn)定性及精度[1].對(duì)此,本研究通過(guò)選取某種濾波算法來(lái)完成對(duì)于授時(shí)信號(hào)的平滑濾波,使授時(shí)信號(hào)變得平滑且可靠,在深入探討無(wú)線信道的特性及授時(shí)信號(hào)的特點(diǎn)后,對(duì)比了卡爾曼濾波算法和粒子濾波算法,并根據(jù)信道和信號(hào)特征選擇了粒子濾波算法.通過(guò)仿真比較2種算法對(duì)于接收到的授時(shí)信號(hào)的優(yōu)化效果,結(jié)果發(fā)現(xiàn),非線性粒子濾波算法在本研究的無(wú)線時(shí)間同步系統(tǒng)中顯明的效果優(yōu)于卡爾曼濾波算法.
本研究選取了GPS接收機(jī)的信號(hào)作為參考.GPS授時(shí)信號(hào)由每顆衛(wèi)星每秒發(fā)送1次,樣本采集34 min的數(shù)據(jù)共計(jì)2 000個(gè)有效樣本點(diǎn),如圖1所示.
圖1中,橫坐標(biāo)為樣本點(diǎn)排序,縱坐標(biāo)為每個(gè)樣本點(diǎn)偏離本地時(shí)鐘的大小,單位為ns.盡管高精度GPS接收機(jī)對(duì)于衛(wèi)星授時(shí)信號(hào)中包含的衛(wèi)星鐘差、電離層噪聲、平流層噪聲與相對(duì)論效應(yīng)所產(chǎn)生的噪聲等已經(jīng)有了有效處理,但根據(jù)圖像不難發(fā)現(xiàn),授時(shí)信號(hào)仍然有較大的抖動(dòng)和偏差.同時(shí),一臺(tái)高精度的GPS接收機(jī)十分昂貴且對(duì)使用環(huán)境有著高要求[2],所以對(duì)于近地面環(huán)境下的高精度無(wú)線時(shí)間同步,使用濾波算法對(duì)數(shù)據(jù)進(jìn)行處理是十分必要的.
圖1 GPS接收機(jī)數(shù)據(jù)
時(shí)間同步系統(tǒng)中,卡爾曼濾波器的濾波方程[3]如下:
1)狀態(tài)一步預(yù)測(cè).
(1)
2)狀態(tài)估計(jì).
(2)
3)濾波增益.
(3)
4)一步預(yù)測(cè)誤差.
(4)
5)估計(jì)均方誤差,
(5)
由于許多現(xiàn)實(shí)問(wèn)題都呈現(xiàn)非線性特性,即用來(lái)描述系統(tǒng)的狀態(tài)方程并不符合高斯線性模型[5],故需要對(duì)系統(tǒng)狀態(tài)方程進(jìn)行變換.
假設(shè)非線性動(dòng)態(tài)系統(tǒng)的狀態(tài)空間模型[6]為,
xk=fk(xk-1,vk-1)
(6)
zk=hk(xk,uk)
(7)
式中,xk是系統(tǒng)在k時(shí)刻的狀態(tài),zk是系統(tǒng)在k時(shí)刻的觀測(cè)量,fk是系統(tǒng)的狀態(tài)轉(zhuǎn)移函數(shù),hk是系統(tǒng)的測(cè)量函數(shù),vk和uk分別是系統(tǒng)的過(guò)程噪聲和觀測(cè)噪聲.
設(shè)系統(tǒng)過(guò)程是一個(gè)m階馬爾科夫過(guò)程.根據(jù)對(duì)非線性濾波問(wèn)題的理解,濾波系統(tǒng)的目的是利用夾雜有噪聲的觀測(cè)值來(lái)遞歸估計(jì)這個(gè)非線性系統(tǒng)狀態(tài)的后驗(yàn)概率密度.序列P(x0:k|z1:k)X0:k={X0,X1,X2,…,Xk},表示系統(tǒng)到k時(shí)刻所產(chǎn)生的狀態(tài);序列Z1:k={Z1,Z2,Z3,…,Zk},表示系統(tǒng)的觀測(cè)值序列.
在馬爾科夫假設(shè)下,后驗(yàn)概率密度函數(shù)的更新遞推式如下,
P(x0:k|z1:k)
P(zk|x0:k,z1:(k-1))P(xk|x0:k,z1:(k-1))
P(x0:(k-1)|z1:(k-1))
=P(zk|xk)P(xk|x(k-m):(k-1),z1:(k-1))
P(x0:(k-1)|z1:(k-1))
(8)
粒子濾波算法中十分關(guān)鍵的問(wèn)題是如何防止粒子的退化現(xiàn)象[7-8].為了使算法不出現(xiàn)退化現(xiàn)象,本研究使用重采樣方法,在每次迭代過(guò)程中將權(quán)重小的粒子舍棄掉,保留權(quán)重較大的粒子且繼續(xù)利用重要性采樣方法使其產(chǎn)生更多的粒子.
2.2.1 重要性采樣密度函數(shù).
本研究利用擴(kuò)展卡爾曼濾波(Extended Kalman filter,EKF)算法對(duì)粒子退化問(wèn)題進(jìn)行優(yōu)化.EKF是局部線性化算法,其利用系統(tǒng)方程的一階泰勒展開(kāi),對(duì)所有的隨機(jī)變量都進(jìn)行高斯假設(shè),將系統(tǒng)狀態(tài)的后驗(yàn)概率近似為完美的高斯分布.
(9)
在粒子濾波的基礎(chǔ)框架內(nèi),使用EKF作為重要性采樣方法,給每個(gè)粒子都分配1個(gè)高斯分布,即,
2.2.2 重采樣.
重采樣的目的是為下次迭代重新選擇粒子,將權(quán)值小的粒子淘汰,保留并再生權(quán)值較大的粒子.該方法可以明顯降低濾波中出現(xiàn)的粒子退化現(xiàn)象.重采樣后每個(gè)粒子的權(quán)值均為1/N.
算法步驟如下所述:
2)計(jì)算粒子的權(quán)值;
4)重采樣得到新粒子集合;
5)k=k-1,繼續(xù)算法迭代.
本研究利用MATLAB仿真軟件中的Simulink工具生成本地時(shí)鐘,同時(shí)加入信道中的噪聲及時(shí)鐘本身的抖動(dòng)作為授時(shí)信號(hào)的傳遞源,然后由濾波器作為接收授時(shí)的一方來(lái)驗(yàn)證算法的有效性.未經(jīng)處理的原仿真數(shù)據(jù)如圖2所示.
圖2原仿真數(shù)據(jù)
卡爾曼濾波算法的流程圖如圖3所示.
由圖3可知,設(shè)定好濾波初值(一般設(shè)定為初始流入濾波器的數(shù)據(jù))后,授時(shí)數(shù)據(jù)進(jìn)入一步狀態(tài)預(yù)測(cè)方程,求解濾波增益,然后送入狀態(tài)更新方程,得出的結(jié)果作為對(duì)狀態(tài)值的預(yù)測(cè)送入之前的一步狀態(tài)預(yù)測(cè),作為后續(xù)數(shù)據(jù)的預(yù)測(cè)值.經(jīng)過(guò)卡爾曼濾波器后的仿真結(jié)果如圖4所示.
圖3卡爾曼濾波算法流程圖
圖4卡爾曼濾波仿真結(jié)果
圖4中的數(shù)據(jù)隨著時(shí)間的變化而呈現(xiàn)出無(wú)規(guī)律的發(fā)散狀態(tài).根據(jù)卡爾曼濾波的原理可知,卡爾曼濾波將整個(gè)系統(tǒng)作為一個(gè)線性系統(tǒng),把信號(hào)視為在白噪聲作用下的線性系統(tǒng)的輸入,通過(guò)描述系統(tǒng)的狀態(tài)方程使其聯(lián)系起來(lái).但是,無(wú)線信道中隨各種因素變化的噪聲不能簡(jiǎn)單地用線性方程來(lái)描述,因而將非線性系統(tǒng)的動(dòng)態(tài)變化的值輸入線性方程中求解,就將導(dǎo)致最終濾波結(jié)果的發(fā)散.
粒子濾波算法流程圖如圖5所示.
由圖5可知,各個(gè)時(shí)刻的觀測(cè)值在粒子采樣后進(jìn)入權(quán)值計(jì)算,對(duì)于重要的粒子則賦予高權(quán)值,其他粒子則賦予較低的權(quán)值.當(dāng)輸入新的觀測(cè)值時(shí),算法根據(jù)上個(gè)時(shí)刻的粒子狀態(tài)對(duì)本時(shí)刻的系統(tǒng)狀態(tài)進(jìn)行估計(jì).為防止粒子退化,每次迭代都要對(duì)其進(jìn)行重采樣,取新的采樣值輸出狀態(tài)及提供給下次觀測(cè)的狀態(tài)估計(jì).算法如此循環(huán)迭代運(yùn)行.粒子濾波算法仿真結(jié)果如圖6所示.
圖5粒子濾波算法流程圖
圖6粒子濾波仿真結(jié)果
從圖6中可知,初始時(shí),存在一些變化量非常巨大的數(shù)據(jù)點(diǎn),但經(jīng)過(guò)了粒子濾波的重要性采樣和重采樣處理后,這些點(diǎn)的權(quán)值會(huì)隨著其后驗(yàn)概率函數(shù)的變小而逐漸變小,進(jìn)而數(shù)據(jù)點(diǎn)被舍棄.后續(xù)的濾波數(shù)據(jù)由于粒子濾波根據(jù)觀察值的后驗(yàn)概率分布對(duì)其估計(jì)計(jì)算,會(huì)隨著處理過(guò)程的進(jìn)行而在直線t1=t2附近波動(dòng),整體來(lái)說(shuō)處于時(shí)鐘調(diào)整的理想范圍內(nèi).
由仿真結(jié)果可知,對(duì)于無(wú)線授時(shí)系統(tǒng)來(lái)說(shuō),系統(tǒng)由于信道中噪聲的不可控性而整體處于非線性的變化中,若使用經(jīng)典的線性濾波算法處理,則會(huì)造成濾波結(jié)果的發(fā)散,那么時(shí)間同步也就無(wú)從談起.然而當(dāng)使用非線性濾波算法——粒子濾波算法對(duì)其進(jìn)行處理時(shí),其非線性的系統(tǒng)方程的設(shè)定結(jié)合其優(yōu)秀的后驗(yàn)概率特性和重要性采樣思路,對(duì)授時(shí)數(shù)據(jù)的平滑和去噪有明顯的效果.
本研究經(jīng)過(guò)對(duì)線性濾波算法——卡爾曼濾波算法和非線性濾波算法——粒子濾波算法的探討,結(jié)合系統(tǒng)方程,分析了各自的特點(diǎn),同時(shí)根據(jù)無(wú)線授時(shí)系統(tǒng)自身的需求和特點(diǎn)及無(wú)線信道的特性,對(duì)2種算法進(jìn)行了仿真比較.結(jié)果證明,非線性算法在系統(tǒng)中有非常明顯的效果.然而,在實(shí)際授時(shí)和被授時(shí)過(guò)程中,接收端時(shí)鐘的比對(duì)和調(diào)整、發(fā)送端自身時(shí)鐘的抖動(dòng)等皆會(huì)影響授時(shí)的精度.后續(xù)的研究會(huì)進(jìn)一步完善授時(shí)系統(tǒng)的模型并將全面分析對(duì)授時(shí)精度產(chǎn)生影響的各種因素.