**滾動時域估計**（Moving horizon estimation、MHE）是一種利用一連串量測的信號進行最优化的作法，量測的信號中包括雜訊（英语：）（隨機變異）以及其他的不準確性，根據這些信號產生未知參數或是變數的估計值。滾動時域估計和確定性的作法不同，滾動時域估計需要遞迴式的求解法，利用线性规划或非线性规划來找到對應的解。

若在一些可以簡化的條件下，滾動時域估計可以簡化成卡尔曼滤波。在針對擴展卡爾曼濾波器（英语：）及滾動時域估計的評估中，發現滾動時域估計的性能有所提昇，唯一需要付出的代價是其計算成本。因為滾動時域估計在計算上的成本較高，因此一般會應用在運算資源較充裕的系統，而且是反應較慢的系統。不過在文獻中已有不少加速的方法。

簡介
--

滾動時域估計一般會用在动力系统中，估計一些有量測或是無法量測的狀態。會透過滾動時域估計來調整模型的初始狀態以及參數，讓估計結果接近量測結果。滾動時域估計是以在有限時間區間內，對程序模型及量測的最佳化為基礎。在時間t時，針對當前程序狀態進行取樣，再針對包括過去在內，較短的時間區間 {\displaystyle [t-T,t]}計算可以最小化策略（會使用數值的最小化）。滾動時域估計會用即時運算（透過歐拉-拉格朗日方程）來找到在時間t之間可以讓目標函數最小化的策略。但只有估計策略中的最後一步會用到，之後再針對滾動後的時域重新對程序數據取樣，再進行計算，得到新的狀態路徑以及估測參數。因為估計的時間區間會一直往前移動，因此此法會稱為**滾動時域估計**。此作法不一定是最佳的，但在實務上和卡尔曼滤波及其他估計策略比較，有不錯的結果。

### 原理

滾動時域估計是多變數的估計演算法，會用到

* 程序的內在動態模型
* 過去量測值的歷史
* 在估計時間區間內的最佳化費用函數

來計算最佳的狀態及參數

滾動時域估計的架構
其最佳化估計函數為

{\displaystyle J=\sum \_{i=1}^{N}w\_{y}(x\_{i}-y\_{i})^{2}+\sum \_{i=1}^{N}w\_{\hat {x}}(x\_{i}-{\hat {x\_{i}}})^{2}+\sum \_{i=1}^{N}w\_{p\_{i}}{\Delta p\_{i}}^{2}}

並且沒有違反狀態或是參數的限制條件（例如上下限）

其中

x\_{i} = 第*i*個模型估計變數（例如估計溫度）

y\_{i} = 第*i*個量測變數（例如實測估計溫度）

p\_{i} = 第*i*個估計參數（例如熱傳係數）

{\displaystyle w\_{y}} = 加權係數，反應量測值y\_{i}的相對重要性

{\displaystyle w\_{\hat {x\_{i}}}} = 加權係數，反應之前模型預測{\displaystyle {\hat {x\_{i}}}}的相對重要性

{\displaystyle w\_{p\_{i}}} = 加權係數，避免p\_{i}的大幅變化

滾動時域估計使用滾動的時間區間。在每一次取樣時，時間區間會往前前進一個時間間隔，會分析量測的輸出信號以及最近的輸出信號，來估測目前時間區間的狀態。

應用
--

* MATLAB、Python及Simulink都已有滾動時域估計的程式碼
* 監控工業製程的污染
* 石油及天然氣產業
* 聚合物製造
* 無人航空系統

相關條目
----

* Alpha beta濾波器（英语：）
* 数据同化
* 集合卡爾曼濾波器（英语：）
* 擴展卡爾曼濾波器（英语：）
* 不變擴展卡爾曼濾波器（英语：）
* 快速卡爾曼濾波（英语：）
* 濾波問題
* 核自适应滤波器（英语：）
* 非線性濾波器（英语：）
* 粒子濾波器
* 預測子-修正子法（英语：）
* 遞迴最小平方法（英语：）
* 施密特–卡尔曼滤波器
* 滑動模式控制
* 维纳滤波

參考資料
----

1. ↑  J.D. Hedengren; R. Asgharzadeh Shishavan; K.M. Powell; T.F. Edgar.. Computers & Chemical Engineering. 2014, **70** (5): 133–148. doi:10.1016/j.compchemeng.2014.04.013.
2. ↑  Rao, C.V.; Rawlings, J.B.; Maynes, D.Q.. IEEE Transactions on Automatic Control. 2003, **48** (2): 246–258. doi:10.1109/tac.2002.808470.
3. ↑  Haseltine, E.J.; Rawlings, J.B.. Ind. Eng. Chem. Res. 2005, **44** (8): 2451–2460  [2018-12-24]. doi:10.1021/ie034308l. （原始内容存档于2008-10-05）.
4. 1 2  Hashemian, N.; Armaou, A.. Proceedings of the American Control Conference. 2015: 3379–3385. doi:10.1109/ACC.2015.7171854.
5. ↑  Hashemian, N.; Armaou, A.. AIChE Journal. 2016, **62**: 1557–1567  [2018-12-24]. doi:10.1002/aic.15146. （原始内容存档于2016-08-17）.
6. ↑ .  [2018-12-24]. （原始内容存档于2015-04-11）.
7. ↑  Spivey, B.; Hedengren, J. D.; Edgar, T. F.. Industrial & Engineering Chemistry Research. 2010, **49** (17): 7824–7831  [2018-12-24]. doi:10.1021/ie9018116. （原始内容存档于2019-04-10）.
8. ↑  Hedengren, J.D. Kevin C. Furman, Jin-Hwa Song, Amr El-Bakry , 编.  (PDF). Springer’s International Series in Operations Research and Management Science. 2012  [2018-12-24]. （原始内容 (PDF)存档于2016-03-04）.
9. ↑  Ramlal, J.  (PDF). IFAC Symposium on Nonlinear Control Systems Design (NOLCOS). 2007. （原始内容 (PDF)存档于2009-09-20）.
10. ↑  Sun, L.  (PDF). Journal of Guidance, Control, and Dynamics. 2013  [2018-12-24]. （原始内容存档 (PDF)于2014-03-03）.
11. ↑  Sun, L.  (PDF). IEEE Transactions on Aerospace and Electronic Systems. 2015  [2018-12-24]. （原始内容存档 (PDF)于2015-06-10）.

延伸閱讀
----

* Rawlings, James B.. Mathematics in Science and Engineering. Madison, WI: [Nob Hill Publishing, LLC. 2009: 576. ISBN 978-0-9759377-0-9.

外部連結
----

* MHE Tutorial in Simulink and MATLAB （页面存档备份，存于）
* MHE lecture material （页面存档备份，存于）
* Online Course: （页面存档备份，存于） MHE in Simulink, MATLAB and Python