卡尔曼滤波(Kalman Filtering)
什么是卡尔曼滤波
......
最佳线性滤波理论起因为40年代美国科学家Wiener和前苏联科学家Kолмогоров等人的研究工作,后人统称为维纳滤波理论。从理论上表达,维纳滤波的最大缺点是务必用到无限以往的报告,不适用于实时处理。为了克服这一缺点,60年代Kalman把状态空间模型引入滤波理论,并导出了一套递推预期算法,后人称之为卡尔曼滤波理论。卡尔曼滤波是以最小均方误差为预期的最佳准则,来谋求一套递推预期的算法,其基本思想是:采取信号与噪声的状态空间模型,利用前一时刻地预期值和现时刻的观测值来更新对状态变量的预期,求显现时刻的预期值。它适合于实时处理和计算机运算。
卡尔曼滤波的实质是由量测值重构系统的状态向量。它以“预期—实测—修正”的顺序递推,依据系统的量测值来清除随机干扰,再现系统的状态,或依据系统的量测值从被污染的系统中复苏系统的本来面目。
卡尔曼滤波的形式
1、模型要求
卡尔曼滤波要求模型已知。即模型的结构与参数已知,且随机向量的统计特质已知。
2、卡尔曼滤波分类
记Yj的向量函数:
![hat{X}(k/j)=E[X(k)/Y^j]](https://www.fx112n.com/uploads/200412/20100410020709354.png)
为状态X(k)的预期量,分三种情形:
当k>j时,称为预期; 当k=j时,称为滤波; 当k>j时,称为平滑。卡尔曼滤波特点
卡尔曼滤波是处理状态空间模型预期与预期的有力工具之一,它不需存储历史报告,且可以同过计算机程序到达对状态空间模型的优化拟合。
卡尔曼滤波案例分析 案例一:基于卡尔曼滤波方法的时用水量预期[1]
一、基于卡尔曼滤波方法的时用水量预期
在20世纪60年代以后,数学家卡尔曼提出了用一个状态方程和一个量测方程来完整描述线性动态过程,进而形成了一种递推滤波算法,卡尔曼滤波不要求保留运用过的观测报告,当测得新的运用报告,可依照一套递推公式算出新的预期量,不必从新计算,另外,他还打破了对稳定过程的制约,可用于对时变随机信号的滤波,卡尔曼滤波是一套基本的公式,可用于预期修正的评估,在最小化协方差预期误差方面表现出众。
一个动态系统的状态改变,在没有外部干扰时,系统的将来状态可以依据现时状态从已知的运动方程中确定出来,但是,遗憾的是总是存在各种外部干扰,同期民众对运动方程的描述不或许十分精确,比如方程的建立过程中忽视影响小的量或者将非线性形式简化为线性形式,变参数近似表明成常参数等等[2]。当线性方程的描述在民众所需规模内充足精准时,可以觉得该线性系统的举动看作两部分构成。一部分是由已知的运动方程正确的预期出来,另一部分是值得看作均值为零的随机分量[3]
[4]。设每小时用水量为x(k)。对于不同期间值k,均有一值x(k)与之对应,当取样时刻改变时,就得到一时用水量序列{x(k)},用水量预期序列{x(k)}为白噪声序列{x(k)}驱使的一阶递归模型,状态方程如下:
x(k) = φ(k)x(k − 1) + ω(k − 1)(1)
西(_|})为七一1时刻和居时刻时用水量之间的有关系数,本文中采取了时变模型,觉得F是一个随时间改变的系数埘为表明过程噪声。
测量方程如下:y(k)=Hx(k)+v(k)(2)
y(k)为k时刻用水量的量测值;
日为量测参数,它由测量系统和测量方法所确定。不随时间改变的一个常量,取为1;v(k)为量测噪声。
均方预期误差为p(k) = E[x(k) − x(k)]2,在均方预期误差为最小的准则下加以推导,可以得出一套递推公式如下:
预期预期方程:
x(k + 1 | k) = F(k)x(k | k − 1) + b(k)[y(k) − Hx(k | k − 1)](3)
预期增益方程:
(4)
均方预期误差方程:
p(k | k + 1) = F(k)2p(k | k − 1) − F(k)Hb(k)p(k | k − 1) + Q
式中: x(k+1|k)于后时刻的k+1时刻时用水量基础的预期值;R为量测噪声的方差,
;Q为过程噪声的方差,
。
卡尔曼滤波是以预期加修正来达到其滤波递推的,卡尔曼滤波的这个性质致使我们很容易用计算机来达到,进而完成我们对时用水量的预期。
二、基于卡尔曼滤波方法的季节预期模型
为了提升预期精度,引进了2个参数的预期采取如下状态方程和量测方程:
x(k) = φ1(k)x(k − 1) + φ2(k)x(k − 2) + ω(k)x(k − 1)
y(k)=Hx(k)+v(k)(6)
以矩阵的形式表明如下:。
(7)
在最小均方差准则[5](即p(k|k+1)=E[x(k+1)-x(k+1|k)]^2为最小)下得如下递推公式。
预期预期方程:
x(k+1|k)=Ax(k|k-1)+G(k)[(k)-CX(k|k-1)](8)
预期增益方程:
G(k) = AP(k | k − 1)HT[HP(k | k − 1)HT + R(k)1(9)
预期协方差方程
P(k+1|k)=[A-G(k)H]P(k|k-1)A^T+Q(k)(10)
其中A为[F(k)1F(k)2],X(K | k − 1)为
,Y(k)为
受于每天用水量呈现适当的周期 ,现以以往一天同一时刻的时用水量作为打击序列[6],对 k 时刻时用水量作出修正,所以在 2个参数的基础上加入季节模型。
状态方程和量测方程如下:
x(k) = φ1(k)x(k − 1) + φ2(k)u(k) + w(k − 1)
y(k)=Hx(k)+v(k)
其中u(k)=x(k-24)
马上第2个参数x提早24h ,从新统计出由F1和F2组成的A矩阵 ,执行相应的卡尔曼滤波预期。从新构建的模型称为卡尔曼滤波季节预期模型。
三、工程实例
杭州位于钱塘江畔,是一个人口密集城市,其设计供水量能力为140万t/d。本文以杭州市的时用水量为例,分别采取卡尔曼滤波模型以及卡尔曼滤波季节模型执行预期,对结果执行比较分析(见二图),研究上述2种方法的利弊。


从图中可以看出,对于1h预期,非季节模型误差有较大波动,改进后的模型,即卡尔曼滤波季节模型相对较为稳定。
总的来看季节模型预期精度相对较高。
评价模型预期精度,仍需查看其预期误差分布特质[7]。
图3为卡尔曼滤波常范围型与季节模型预期误差分布比较,采取了1个月报告,用2种方法执行了预期,从图中可以看出,2种方法误差都首要汇聚在-0.1到0.1区域,呈对称分布。从1个月所有报告来说,误差大差不差呈正态分布,季节模型较常范围型趋势图更为尖锐,显示季节模型比常范围型预期效果更为理想。综合上图和下图,比较得出,卡尔曼滤波季节模型具有更高的预期精度。

采取基于卡尔曼滤波方法预期模型,执行时用水量预期。由于城市时用水量具有周期性、趋势性及随机扰动性,引入季节因子,形成卡尔曼滤波方法季节模型。以杭州市实测报告为例,分别采取卡尔曼滤波模型和卡尔曼滤波季节模型分别对该市时用水量执行预期,预期结果显示,卡尔曼滤波方法季节预期模型精度相对较高。从计算模型看,季节预期模型要求低,但预期精度较高,具有一定实用性,能够满足供水系统优化调度的要求。