示例6–估計儲罐中液體的溫度
我們想估計儲罐中液體的溫度:
我們假設在穩定狀態下,液體溫度是恒定的,然而,真實液體溫度是存在一些波動的,我們可以用以下方程描述該動態系統狀態:
xn=T+wn
T是恒定溫度wn是具有方差q的隨機過程噪聲
數值示例:
假設真實溫度為50攝氏度我們假設模型是準確的,因此,我們將過程噪聲方差(q)設置為0.0001測量誤差(標準偏差)為0.1攝氏度。每5秒測量一次。每個測量點對應的真實液體溫度值為:49.979℃、50.025℃、50℃、50.003℃、49.994℃、50.002℃、4.9.999℃、50.006℃、49.998℃和49.991℃。測量值為:49.95℃、49.967℃、50.1℃、50.106℃、49992℃、49.819℃、49933℃、50.007℃、50.023℃和49.99℃。下表對真實液體溫度和測量值進行了比較:
迭代0
在第一次迭代之前,我們必須初始化卡爾曼濾波器并預測下一個狀態(即第一個狀態)。
初始化
我們不知道儲罐中液體的真實溫度,我們的猜測是10℃
=10
℃我們的猜測很不精確,因此我們將初始化估計誤差σ設置為100,初始化的估計不確定度是誤差方差(σ2):
p0,0=1002=10,000
方差非常大,如果我們用一個更有意義的初始化值,我們能夠讓卡爾曼濾波器更快地收斂。
預測
現在,我們將根據初始化值預測下一個狀態,由于我們的模型是恒定的,預測的估計值等于當前的估計值:
=10
℃推導估計不確定度(方差):
p1,0=p0,0+q=10000+0.0001=10000.0001
迭代1步驟1-測量測量值是:
z1= 49.95
℃由于測量誤差為0.1(σ),方差(σ2)為0.01;因此,測量不確定度為:
r1=0.01
步驟2-更新
計算卡曼增益:
卡爾曼增益幾乎為1,即我們的估計誤差遠大于測量誤差,因此,估計的權重可以忽略不計,而測量權重幾乎為1。估計當前狀態:
更新當前估計的不確定度:
步驟3-預測
由于我們系統是恒定的,即液體溫度不變:
℃推導估計不確定值(方差)為:
p2,1=p1,1+q=0.01+0.0001=0.0101
迭代2步驟1-測量
測量值:
z2= 49.967
℃由于測量誤差為0.1(σ),方差(σ2)為0.01;因此,測量不確定度為:
r2=0.01
步驟2-更新
計算卡曼增益:
卡爾曼增益為0.5,即,估計權重和測量權重相等。估計當前狀態:
更新當前估計的不確定性:
步驟3-預測
由于我們系統是恒定的,即液體溫度不變:
℃推導估計不確定度(方差)為:
P3,3=p2,2+q= 0.005+0.0001=0.0051
迭代3-10
下表總結了連續迭代的計算:
下表對真實值、測量值和估計值進行了比較:
如圖所見,估計值向真實值收斂,下表顯示了估計的不確定性:
估計的不確定度迅速下降,10次測量后,估計不確定度(σ2)為0.0013,即估計誤差標準偏差為:σ=0.036℃。因此,我們可以說液體溫度估計值為:49.988±0.036℃
正如你所看到的,卡爾曼增益正在逐步下降,使得測量重量越來越小。
總結:
在本例中,我們使用一維卡爾曼濾波器測量液體溫度,盡管系統包括隨機過程噪聲,但卡爾曼濾波器可以提供良好的估計。
-
卡爾曼濾波器
+關注
關注
0文章
54瀏覽量
12178
發布評論請先 登錄
相關推薦
評論