线性滤波与非线性滤波实验
本文围绕自由落体运动的估计,进行了线性滤波和非线性滤波的实验。下面这张图是源自西安交通大学蔡远利教授的《随即滤波与控制》课程。 该课程主要围绕估计,平滑与预测三方面讲解各类滤波方法。

问题描述
已知一物体作自由落体运动,对其高度进行了20次测量,测量值如下表:
同样考虑自由落体运动的物体,用雷达(和物体在同一水平面)进行测量,如图所示,如果雷达测距和测角的量测噪声为高斯白噪声序列,均值为0,方差阵
,试根据以下测量数据确定物体的高度和下落速度随时间变化的估计值:该下落运动和雷达检测信息如下图所示:
模型介绍
1. 线性估计问题
设在自由落体运动时,物体高度为
由上述状态方程可以解出系统的状态转移函数为:
当步长为 1s 时系统的状态转移函数为:
由此可得,系统的一步预测为:
由于观测是对物体高度的直接测量,并且假设量测误差为均值为0,方差为1的白噪声,则量测方程为:
其中:
本题给出的数据中,量测高度单位为
建立卡尔曼滤波:
2. 非线性估计问题
在第2个问题中,量测与估计值为非线性关系,考虑采用非线性卡尔曼滤波算法对其进行估计,本报告中采用扩展式卡尔曼滤波算法(EKF)。
设测量的斜距为
为便于后续线性化计算,选取系统状态量为:
实验结果
1. 线性滤波问题
根据题中给出的高度观测数据进行线性卡尔曼滤波,计算得到的结果如下:
高度估计数据为:
时间 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
高度 | 1.9943 | 1.9791 | 1.9550 | 1.9211 | 1.8774 | 1.8244 | 1.7605 |
时间 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|
高度 | 1.6870 | 1.6038 | 1.5103 | 1.4075 | 1.2947 | 1.1723 | 1.0400 |
时间 | 15 | 16 | 17 | 18 | 19 | 20 | |
---|---|---|---|---|---|---|---|
高度 | 0.8980 | 0.7460 | 0.5845 | 0.4129 | 0.2317 | 0.0405 |
绘制出高度变化图如下:
下落速度(向下为正)滤波数据如下表所示:
时间 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
下落速度 | 0.0078 | 0.0157 | 0.0247 | 0.0343 | 0.0439 | 0.0536 | 0.0635 |
时间 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|
下落速度 | 0.0733 | 0.0831 | 0.0930 | 0.1028 | 0.1126 | 0.1224 | 0.1322 |
时间 | 15 | 16 | 17 | 18 | 19 | 20 | |
---|---|---|---|---|---|---|---|
下落速度 | 0.1420 | 0.1519 | 0.1616 | 0.1714 | 0.1812 | 0.1911 |
绘制出速度变化图如下:
同时,高度和下落速度的估计方差随时间变化为:
|
|
![]() |
![]() |
从上图中的结果可以看出,卡尔曼滤波对于物体下落高度和速度的估计在新息一开始加入后就迅速减小,之后渐进减小到0附近之后不再有明显下降。物体自由落体的高度变化曲线为抛物线,速度为匀加速变化,符合自由落体的相关物理定律。
2. 非线性估计问题
根据题中给出的量测数据以及上文中提到的非线性滤波模型,滤波估计出下落物体的高度和速度变化如下。
物体高度变化为:
物体下落速度变化为:
物体自由下落高度和速度估计误差为:
|
|
![]() |
![]() |
从上图估计结果可以看出,下落高度随时间呈抛物线变化,下落速度(向下为正)随时间匀速上升,符合自由落体物理规律。
实验过程中的一些发现
在最开始的编程和实验过程中,由于题目给出的量测数据以
在求解第1题过程中,未发现任何异常,然而在求解第二题时,如果未对量测协方差进行单位换算,将其单位当作
|
|
![]() |
![]() |
对比上图中计算结果和实验结果中第二问的计算结果可以看出,相对于线性卡尔曼滤波,非线性卡尔曼滤波在计算时收到量测误差的影响更大。这是由于非线性滤波时量测系数矩阵
附录
常量配置
1 | ''' |
题目1 代码
1 | ''' |
题目2代码
1 | ''' |
预览: