网站的建设有什么好处,巢湖市重点工程建设管理局网站,上海网站建设培训学校,深圳做微信网站建设卡尔曼滤波实质上就是基于观测值以及估计值二者的数据对真实值进行估计的过程。预测步骤如图1所示#xff1a; 图1 卡尔曼滤波原理流程图
假设我们能够得到被测物体的位置和速度的测量值 #xff0c;在已知上一时刻的最优估计值 以及它的协方差矩阵 的条件下#xff…卡尔曼滤波实质上就是基于观测值以及估计值二者的数据对真实值进行估计的过程。预测步骤如图1所示 图1 卡尔曼滤波原理流程图
假设我们能够得到被测物体的位置和速度的测量值 在已知上一时刻的最优估计值 以及它的协方差矩阵 的条件下初始值可以随意取但协方差矩阵应为非0矩阵则有 即 (1) 而此时 (2)
如果我们加入额外的控制量比如加速度 此时 则此时 (3)
同时我们认为我们对系统的估计值并非完全准确比如运动物体会突然打滑之类的即存在一个协方差为 的噪声干扰。因此我们需要对 加上系统噪声 来保证描述的完备性。综上预测步骤的表达如下所示 (4) (5) 由于误差累积的作用单纯对系统进行估计会导致估计值越来越离谱因此我们以传感器的观测数据对我们的估计进行修正。我们可以用与预测步骤类似的方法将估计值空间映射至观测值空间如下式所示 (6) (7) 我们假设观测值为 。同时由于观测数据同样会存在噪声干扰问题比如传感器噪声等我们将这种噪声的分布用协方差 表示。此时观测值 与估计值 处于相同的状态空间但具有不同的概率分布如图2所示
图2 估计值与观测值概率分布示意图
我们可以认为这两个概率分布的重叠部分会更加趋近系统的真实数据即有更高的置信度比如我们估计汽车速度是5~10km/h传感器反馈的速度是8~12km/h那我们有理由认为汽车的实际速度更趋近于8~10km/h这个区间。
这里将观测值与估计值两个分布的高斯分布相乘其结果的高斯分布描述如下 (8) (9) (10) 式中 描述高斯分布的协方差 表示高斯分布的均值矩阵 称为卡尔曼增益矩阵。 那么将估计值
以及观测值 代入式(8)至式(10)可以得到
式中 称为卡尔曼增益。 将式(11)至式(13)中约去 并化简可得
即为我们所得到的最优估计值同时 为其对应的协方差矩阵。在实际应用中只需要使用式(4)、式(5)以及式(14)至式(16)这5个方程即可实现完整的卡尔曼滤波过程。
在对单一信号源滤波的场合由于测量值与估计值具备几乎完全相同的概率分布为了更好的实现去噪效果在假定被测对象变化不显著的情况下可以将之前1~N个时间节点的测量值随机作为当前时间节点的测量值以实现更好的去噪效果。原则上N取值越大滤波效果越好但也会导致滤波结果滞后越严重。
2. 算法实现
function output kalmanFilter(data, Q, R, N)
if ~exist(Q, var)
Q 0.01;
end
if ~exist(R, var)
R 1;
end
if ~exist(N, var)
N 0;
end
X 0;
P 1;
A 1;
H 1;
output zeros(size(data));
for ii N 1 : length(data)
X_k A * X;
P_k A * P * A Q;
Kg P_k * H / (H * P_k * H R);
z_k data(ii - round(rand() * N));
X X_k Kg * (z_k - H * X_k);
P (1 - Kg*H) * P_k;
output(ii) X;
end
end
3. 算法分析
采用经典卡尔曼滤波对虚拟信号及真实信号进行滤波结果如下图所示 图3 经典卡尔曼滤波对虚拟信号滤波结果 图4 经典卡尔曼滤波对真实信号滤波结果
从滤波结果中可以看出经典卡尔曼对信号的滤波效果较为优秀实时性相对较好计算量需求极小能够有效去除高斯噪声以及非高斯噪声基本不受脉冲信号影响。在对被测系统的建模较为精确的条件下其性能还能够进一步提升。其缺点主要在于需人为给定系统模型当系统模型不精确时滤波效果会有所下降但可以通过增加采样频率解决此问题。
建议应用场合输入信号相对平稳或已知被测系统运动学模型同时要求运算量极小的场合。
作者小石学CS
来源滤波算法经典卡尔曼滤波 - RFASK射频问问
关于RFASK射频问问
射频问问是在微波射频网”系列原创技术专栏基础上升级打造的技术问答学习平台主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域致力于为无线通信、微波射频、天线、雷达等行业的工程师提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问