滾動時域估計(Moving horizon estimation、MHE)是一種利用一連串量測的信號進行最优化的作法,量測的信號中包括(隨機變異)以及其他的不準確性,根據這些信號產生未知參數或是變數的估計值。滾動時域估計和確定性的作法不同,滾動時域估計需要遞迴式的求解法,利用线性规划或非线性规划來找到對應的解。
若在一些可以簡化的條件下,滾動時域估計可以簡化成卡尔曼滤波。在針對擴展卡爾曼濾波器及滾動時域估計的評估中,發現滾動時域估計的性能有所提昇,唯一需要付出的代價是其計算成本。因為滾動時域估計在計算上的成本較高,因此一般會應用在運算資源較充裕的系統,而且是反應較慢的系統。不過在文獻中已有不少加速的方法。
簡介
滾動時域估計一般會用在动力系统中,估計一些有量測或是無法量測的狀態。會透過滾動時域估計來調整模型的初始狀態以及參數,讓估計結果接近量測結果。滾動時域估計是以在有限時間區間內,對程序模型及量測的最佳化為基礎。在時間時,針對當前程序狀態進行取樣,再針對包括過去在內,較短的時間區間 [t-T,t]計算可以最小化策略(會使用數值的最小化)。滾動時域估計會用即時運算(透過歐拉-拉格朗日方程)來找到在時間t之間可以讓目標函數最小化的策略。但只有估計策略中的最後一步會用到,之後再針對滾動後的時域重新對程序數據取樣,再進行計算,得到新的狀態路徑以及估測參數。因為估計的時間區間會一直往前移動,因此此法會稱為滾動時域估計。此作法不一定是最佳的,但在實務上和卡尔曼滤波及其他估計策略比較,有不錯的結果。
原理
滾動時域估計是多變數的估計演算法,會用到
- 程序的內在動態模型
- 過去量測值的歷史
- 在估計時間區間內的最佳化費用函數
來計算最佳的狀態及參數
*
- 擴展卡爾曼濾波器
*
*
- 濾波問題
*
- 非線性濾波器
- 粒子濾波器
*
*
- 施密特–卡尔曼滤波器
- 滑動模式控制
- 维纳滤波
參考資料
延伸閱讀
*
外部連結
- [http://apmonitor.com/wiki/index.php/Main/Estimation MHE Tutorial in Simulink and MATLAB]
- [https://www.cds.caltech.edu/~murray/wiki/NCS:_Moving_Horizon_Estimation MHE lecture material]
- [http://apmonitor.com/do/index.php/Main/MovingHorizonEstimation Online Course:] MHE in Simulink, MATLAB and Python
评论 (0)