我無法估計,我想用它來建立我的卡爾曼濾波器在Matlab我的狀態空間模型的參數:卡爾曼濾波MLE參數估計
S_t = S_(t-1)+e_t
Y_t = B*S_t+v_t
哪裏Y_t
是包含約20時的觀測矩陣系列和S_t
應該是一個標量。我還沒有找到任何示例代碼來估計我的B
參數矩陣,到目前爲止我所有的測試都沒有成功。
我無法估計,我想用它來建立我的卡爾曼濾波器在Matlab我的狀態空間模型的參數:卡爾曼濾波MLE參數估計
S_t = S_(t-1)+e_t
Y_t = B*S_t+v_t
哪裏Y_t
是包含約20時的觀測矩陣系列和S_t
應該是一個標量。我還沒有找到任何示例代碼來估計我的B
參數矩陣,到目前爲止我所有的測試都沒有成功。
我會盡量用簡單的語言來解釋你應該如何處理卡爾曼濾波器。如果您想要更好的建議,請詢問並提供更多信息。
在卡爾曼濾波器中,您嘗試估計動態系統(隨時間變化)的真實狀態。在你的情況下,狀態是S_t
(可能是來自某個系統的電流,GPS位置或任何其他數字或一組數字)。在動態系統中,通常有一個轉換矩陣,告訴你從狀態S_(t-1)
到狀態S_t
的變化。正如你寫的,似乎你的轉換矩陣將等於1.換句話說,你應該期望與以前的值相同的值,只有增加了高斯噪聲。高斯噪聲來自所有不同的來源,這些來源很難建模,與您的狀態無關。
現在您的系統狀態通常由某個傳感器測量,並且您有一個來自傳感器的讀數Y_t
。讀數與B
觀測矩陣的狀態有關。每個傳感器都有其噪音v_t
,它來自傳感器的缺陷。而Y_t
是你想估計的你的狀態的讀數。
在這個你寫的我可以理解你有20個讀數從Y_1
到Y_20
。你想估計20次讀數後動態系統狀態的真實值,比如說20秒。首先,您需要考慮您的轉換矩陣是否爲A = 1,並且S_t=A*S_(t-1)+e_t
與S_t=S_(t-1)+e_t
相同。要模擬A
,您需要了解動力系統的一些知識,通常使用微分方程進行建模。在對系統進行建模之後,請考慮您想要估計的內容與您的測量(傳感器上的內容)之間的關係,這會導致您的B
。
卡爾曼濾波器是一個迭代濾波器,因此您的時間序列Y
可以插入模型並迭代測量。你應該完成估計爲Y-2
,Y_3
,...到Y_20
以及錯誤協方差,它告訴你你的估計有多好。
想想這個程序,如果你想得到任何幫助,請按照評論建議提供更多詳細信息。
祝你好運
嗨。 StackOverflow通常會拒絕不顯示任何努力的答案,因此請顯示迄今爲止所做的工作,並解釋爲什麼它不成功。 – 2013-03-17 11:21:07