劉瓊瓊 張洪勝
(周口市規(guī)劃建筑勘測設(shè)計院,河南 周口 466000)
20世紀(jì)60年代,美籍匈牙利數(shù)學(xué)家卡爾曼首先提出了用一個狀態(tài)方程和一個量測方程來完整描述線性動態(tài)方程,即卡爾曼濾波方程,采用時域法及狀態(tài)方程為其數(shù)學(xué)工具,以多變量控制、最優(yōu)控制與估計以及自適應(yīng)為主要內(nèi)容。這是一種動態(tài)進(jìn)行實時數(shù)據(jù)處理的有效方法,無需存儲不同時刻的觀測數(shù)據(jù)。在實際應(yīng)用中,如何選擇濾波模型,選擇濾波初值、精度評定,本文將進(jìn)行介紹,并結(jié)合應(yīng)用實例說明。
卡爾曼濾波屬于軟件濾波方法,是以最小均方誤差為最佳估計準(zhǔn)則,采用信號與噪聲的狀態(tài)空間模型,利用前一時刻的估計值和當(dāng)前時刻的觀測值來更新對狀態(tài)變量的估計,求出當(dāng)前時刻的估計值,根據(jù)建立的系統(tǒng)方程和觀測方程對需要處理的信號做出滿足最小均方誤差的估計[1]。最初的卡爾曼濾波算法適用于解決隨機線性離散系統(tǒng)的狀態(tài)或參數(shù)估計問題。
在實際應(yīng)用中,可以將物理系統(tǒng)的運行過程看成一個狀態(tài)轉(zhuǎn)換過程,卡爾曼濾波將狀態(tài)空間理論引入物理系統(tǒng)的數(shù)學(xué)建模中,其假設(shè)系統(tǒng)狀態(tài)可以用n維空間的一個向量X∈Rn來表示。為了描述方便,可以作以下假設(shè):物理系統(tǒng)的狀態(tài)轉(zhuǎn)換過程,描述為一個離散時間的隨機過程。系統(tǒng)狀態(tài)受控制輸入影響;系統(tǒng)狀態(tài)及觀測過程受噪聲影響;對系統(tǒng)狀態(tài)是非直接可觀測的[2]。在假設(shè)前提下,定義系統(tǒng)狀態(tài)變量為X∈Rn,系統(tǒng)控制輸入為UK,系統(tǒng)過程激勵噪聲為WK,得出系統(tǒng)的狀態(tài)隨機差分方程:
定義觀測變量Zk∈Rm,觀測噪聲為Vk,得到量測方程::
假設(shè)Wk、Vk為相互獨立,正態(tài)分布的白色噪聲,過程激勵噪聲協(xié)方差矩陣為Q,觀測噪聲協(xié)方差矩陣為R。A、B、H統(tǒng)稱為狀態(tài)變換矩陣,是狀態(tài)變換過程中的調(diào)整系數(shù),是從建立的系統(tǒng)數(shù)學(xué)模型中導(dǎo)出來的,假設(shè)它們是常數(shù),得出卡爾曼濾波迭代的五個公式如下:
時間更新方程:
狀態(tài)更新方程:
式中, A是作用在Xk-1上面的n×n狀態(tài)變換矩陣;B是作用在控制向量Uk-1上的n×1輸入控制矩陣;H是m×n觀測模型矩陣,把真實狀態(tài)空間映射成觀測空間;為n×n先驗估計誤差協(xié)方差矩陣;Pk為n×n后驗估計誤差協(xié)方差矩陣;Q是n×n過程噪聲協(xié)方差矩陣;R是m×m過程噪聲協(xié)方差矩陣;I是n×n階單位矩陣;Kk是n×m階矩陣,稱為卡爾曼增益或混合因數(shù),可使后驗估計誤差協(xié)方差最小。
上述給出的是離散卡爾曼濾波的時間更新方程和狀態(tài)更新方程(-代表先驗,代表估計)??柭鼮V波主要分兩步進(jìn)行,先預(yù)測后修正,對應(yīng)兩個方程,預(yù)測方程(1)和修正方程(2)。預(yù)測方程功能:由系統(tǒng)上一狀態(tài)最優(yōu)估計狀態(tài)推算出系統(tǒng)當(dāng)前狀態(tài),即當(dāng)前狀態(tài)預(yù)測值=系統(tǒng)狀態(tài)轉(zhuǎn)移系數(shù)(A)×系統(tǒng)上一狀態(tài)的最優(yōu)估計值+狀態(tài)估計噪聲。修正方程功能:由系統(tǒng)當(dāng)前狀態(tài)的預(yù)測狀態(tài)和實際觀測值求取當(dāng)前狀態(tài)的最優(yōu)估計狀態(tài),即系統(tǒng)當(dāng)前狀態(tài)的最優(yōu)值=當(dāng)前狀態(tài)預(yù)測值+修正系數(shù)(K)×(實際觀測量-當(dāng)前狀態(tài)預(yù)測值)。這個過程是預(yù)估-校正過程,對應(yīng)的這種估計稱為預(yù)估-校正算法。
卡爾曼濾波模型誤差的影響是卡爾曼濾波發(fā)散的重要原因之一。為了避免模型誤差造成的不良影響,測量工作者要嚴(yán)格按照規(guī)定進(jìn)行觀測,保證觀測過程的合理性和準(zhǔn)確性,盡量給出接近實際的模型[3]。
在變形測量實時監(jiān)測項目中,常用的卡爾曼濾波模型為位置、速度模型和位置、速度、加速度模型,這些是將監(jiān)測點的變形位移看成一個隨機過程。位置速度濾波模型認(rèn)為在變形測量中,監(jiān)測點位移速度的均值不變,在濾波中將監(jiān)測點的位置、移速度作為狀態(tài)量,將位移加速度視作動態(tài)噪聲,其狀態(tài)方程為:
位置、速度、加速度濾波模型認(rèn)為在變形測量中,監(jiān)測點位移加速度的均值不變,濾波中將監(jiān)測點的位置、移速度和加速度都作為狀態(tài)量,將加速度變化率視作動態(tài)噪聲,,其狀態(tài)方程為:
式中 xk、、分別為監(jiān)測點的坐標(biāo)、位移速度和加速度,Ωk-1為動態(tài)噪聲,t表示時間。
觀測噪聲通過模擬觀測實驗獲得。取若干期監(jiān)測數(shù)據(jù),計算監(jiān)測點各期坐標(biāo)及對應(yīng)的速度、加速度,對速度和加速度作圖分析。當(dāng)各期速度在其平均速度的兩側(cè)波動變化,無明顯增、減速跡象時,采用位置、速度模型;當(dāng)各期速度有增、減速跡象,而其加速度無明顯增、減速跡象時,采用位置、速度、加速度模型,最后根據(jù)各期加速度的變化率估算狀態(tài)方程的動態(tài)噪聲的方差。
當(dāng)精確已知觀測噪聲和動態(tài)噪聲的隨機模型時,不需要專門進(jìn)行精度評定,但實際應(yīng)用中,所采用的先驗系統(tǒng)狀態(tài)誤差協(xié)方差陣Q和量測誤差協(xié)方差陣R與其實際值可能不完全一致,這時Q和R的含義與其說是協(xié)方差矩陣不如說是權(quán)逆矩陣更適當(dāng),式(7)中的Pk就是系統(tǒng)狀態(tài)量的權(quán)逆矩陣,因此要計算單位權(quán)方差的估計值,以獲得狀態(tài)參數(shù)估計的協(xié)方差矩陣[4]。
對于第k期濾波,單位權(quán)方差σ2,可按照下式估計:
式中,nk為第k期濾波觀測值的個數(shù),為ξk預(yù)測殘差向量的權(quán)逆矩陣,這時狀態(tài)參數(shù)向量濾波值得協(xié)方差:
在施工變形測量中,nk往往較小,這時按式(10)求得的可能不穩(wěn)定。理想方法是通過平滑的各期狀態(tài)參數(shù)向量的平滑值,根據(jù)平滑后的殘差向量來估計,但平滑計算較復(fù)雜,計算量也很大。為了化簡計算,同時消除值的不穩(wěn)定性,可將式(10)計算的各期值,按權(quán)(各期觀測值的個數(shù))取平均值近似地計算的估值,若以Nk表示第k期以前(包括第k期)各期觀測個數(shù)之和,Wk表示第k期以前(包括第k期)各期之和,經(jīng)推導(dǎo)可得下列公式:
用卡爾曼濾波法處理數(shù)據(jù)的一般步驟是:首先,獲取部分對象的監(jiān)測數(shù)據(jù)來確定系統(tǒng)狀態(tài)量模型。其次,提取建立卡爾曼濾波模型所需的預(yù)測噪聲量和量測噪聲量,確定系統(tǒng)狀態(tài)量初值。再次,建立系統(tǒng)卡爾曼濾波模型,處理觀測數(shù)據(jù)[5]。其中,根據(jù)對監(jiān)測數(shù)據(jù)的分析選擇合適模型,提取相應(yīng)的預(yù)測噪聲量和量測噪聲量是關(guān)鍵,需要根據(jù)具體工程數(shù)據(jù)分析獲得。
以濱州大橋運行監(jiān)測項目為例。獲得采用動態(tài)RTK模式解算的大橋監(jiān)測三維坐標(biāo)數(shù)據(jù),經(jīng)過統(tǒng)計分析,此處采用位置、速度、加速度模型,設(shè)t為監(jiān)測周期,設(shè)某時刻觀測點的位置為Xk,其瞬時速率為,瞬時加速度為,將加速度的瞬時變化看作隨機干擾(動態(tài)噪聲)。記此點的狀態(tài)向量為:為9×1的矩陣,I為3×3的單位陣,系統(tǒng)狀態(tài)方程為:
可得系統(tǒng)狀態(tài)方程:
Lk+1為3×1觀測值矩陣,Bk+1為3×9觀測模型矩陣,為觀測噪聲,可得卡爾曼濾波迭代的五個公式:
三維坐標(biāo)數(shù)據(jù)處理采用卡爾曼濾波處理結(jié)果(如圖1所示),綠色曲線為濾波后結(jié)果,紅色曲線為實測數(shù)據(jù),濾波效果明顯,數(shù)據(jù)波動符合實際監(jiān)控情況。
圖1 觀測數(shù)據(jù)濾波效果
濾波數(shù)據(jù)單位權(quán)中誤差會發(fā)生變化,濾波值的中誤差越來越小,精度逐步提高,趨于穩(wěn)定值。有關(guān)結(jié)果如表1所示(這里僅列出10組數(shù)據(jù))。
由表1看出,監(jiān)測值與濾波值之間殘差的最大值為-4.588mm,最小值為0.377mm,殘差有正有負(fù),有很強的隨機性,預(yù)測誤差為1.08cm,對采用動態(tài)RTK模式解算數(shù)據(jù)而言,預(yù)測效果較好。
表1 變形監(jiān)測值與相應(yīng)的濾波值
本文詳細(xì)探討了卡爾曼濾波在監(jiān)測應(yīng)用中如濾波模型的選擇,模型初值的設(shè)定和精度評價方法,并結(jié)合具體的工程實例,論證了該方法在動態(tài)變形監(jiān)測中的可行性,濾波解算結(jié)果具有較高的精度。卡爾曼濾波適合估計線性隨機差分方程描述的隨機過程的狀態(tài)變量,在變形監(jiān)測工程領(lǐng)域有廣泛的應(yīng)用前景。