RTS:劳赫–唐–斯特里贝尔
RTS(Rauch-Tung-Striebel)平滑器是一种用于提高动态系统状态估计精度的数学算法。 它属于平滑算法家族,并扩展了卡尔曼滤波器的功能——后者用于实时估计系统的状态。卡尔曼滤波器按顺序处理数据,并仅基于过去和当前的测量值来估计当前状态;而RTS平滑器则更进一步,通过同时利用过去和未来的测量值,对状态估计进行回顾性优化。这一过程使得状态估计的精度显著提高,特别是在涉及数据后处理的应用中。
RTS 是如何工作的?
RTS(Rauch-Tung-Striebel)平滑器或RTS平滑器主要分两个阶段运行:前向传递和后向传递。在前向传递阶段,算法通过数据运行标准卡尔曼滤波器,在每个时间步收集状态估计值和相关的误差协方差。该阶段通过提供初始状态估计值和不确定性度量奠定了基础,这些估计值和度量仅基于截至每个时间点的历史数据。
前向传递完成后,后向传递开始。算法从最终状态估计值向初始状态估计值反向运行。在每个时间步,RTS(Rauch-Tung-Striebel)通过整合来自未来时间步的信息来修正状态估计值——这些信息在前向滤波过程中是不可用的。它利用前向传递中计算出的卡尔曼增益、转移矩阵和协方差来计算一个平滑估计值,该估计值平衡了过去和未来的观测值。这种后向递归修正了滤波后的估计值,减少了总体估计误差,并产生了更一致、更准确的系统状态轨迹。
从数学角度来看,平滑器应用了一个校正步骤,该步骤利用了连续估计值之间误差的相关性。通过线性高斯过程对系统演化进行建模,RTS平滑器假定与卡尔曼滤波器中使用的动力学和测量模型相同。它在每个步骤计算一个平滑增益,该增益决定了未来估计值应在多大程度上用于调整当前估计值。该增益取决于滤波估计值的协方差矩阵和预测状态。
RTS(Rauch-Tung-Striebel)的优势
RTS 平滑器为整个系统状态序列生成全局最优估计。它假设模型是线性的且符合高斯分布。滤波仅估计当前状态。平滑利用所有可用数据重建最好的过去状态估计。这使得平滑对于离线应用尤为有价值。
RTS 平滑器在航空航天导航、信号处理、金融和机器人等各个领域都有应用。例如,在惯性导航系统 (INS) 中,它通常用于对轨迹数据进行后处理,以减少漂移和噪声。类似地,时间序列分析或对象追踪利用它来精炼实时估计并恢复准确的路径或趋势。
RTS 平滑器具有诸多优势,但也需要访问完整的数据集,并且对于长或复杂的数据会变得计算密集。它还高度依赖于线性动力学和高斯噪声的假设。当系统为非线性或噪声为非高斯时,请使用扩展或无迹 RTS 平滑器。这些变体使该方法适应了非线性滤波器,例如扩展卡尔曼滤波 (EKF) 或无迹卡尔曼滤波 (UKF)。
RTS 平滑器通过使用未来数据来更新过去的估计值,从而改进了卡尔曼滤波,提高了准确性和稳定性。它构成了状态估计的基础,并能够使用后处理数据精确重建动态系统。