卡尔曼粒子滤波

2024-09-13

卡尔曼粒子滤波(精选9篇)

卡尔曼粒子滤波 篇1

0引言

近年来,国家电网公司确定建立以智能化为关键点的新型坚强电网,而低压电力线载波通信技术作为电力公司与终端用户信息交互的最直接方法, 已成为研究热点[1]。针对电力线载波通信技术的研究主要集中在阻抗匹配及耦合电路设计[2]、扩频与正交频分复用技术在电力线上的应用及性能分析[3-4]、电力线通信网络结构及路由算法[5-6]、信道估计与信道模型建立[7]。

信道建模技术是电力线载波通信系统设计和性能评估的关键。目前国内外电力线信道建模主要分为自底向上和自顶向下两类方法。所谓自底向上法是根据电力线网络的实际连接状态,考虑阻抗不匹配引起的反射和衰减特性来建立信道模型,该方法物理概念清晰,对不同的电力线拓扑结构能准确、快速地确定其传递函数,但计算量大,且由于实际的低压配电网阻抗的时变性及拓扑结构的复杂性,其实用性较差[8]。自顶向下法又分为两类:第1类是基于多导线传输理论的建模方法,它利用双端口传输矩阵求解电力线信道传递函数,其应用前提是传输线规格和网络的拓扑结构已知,然而由于低压电力线网络结构的复杂多变,这些参数难以准确获得,因此模型精确度不高[9-10];第2类是文献[11]提出的基于信道测量的多径信道传输模型,通过相应的参数拟合算法确定模型参数,该方法在传输线规格和网络拓扑结构未知的条件下,用少量参数即可描述复杂的电力线网络传输函数,较适用于高噪声、强衰减、阻抗变化范围大、具有频率选择性衰落的电力线信道建模。目前已有研究将人工神经网络[12]和遗传算法[13]等各种参数拟合法,以及改进粒子群优化算法[14]应用于电力线多径传输模型参数辨识。与文献[13]相比,改进粒子群优化算法在实验室环境下可获得较好的参数辨识效果,但其没有考虑复杂多变的电力线噪声特性对模型参数辨识的影响。

对于非线性系统参数估计,无先导卡尔曼滤波(unscented Kalman filter,UKF)算法采用自回归方法,根据观测信息和测量获得最小均方误差意义下的最优估计。应用UKF算法辨识系统模型参数需要解决两个问题:系统噪声协方差矩阵和测量噪声协方差矩阵的选取。前者影响UKF算法的滤波性能及参数估计精度,增大了系统的不确定性;后者取值不当会影响滤波器的修正速度,使滤波过程不稳定甚至发散。蚁群粒子群算法模拟生物进化过程, 可以随机搜索得到全局最优参数。为解决上述问题,本文采用蚁群粒子群算法对UKF噪声矩阵进行优化,从而实现电力线多径传输模型参数的最优估计。

1低压电力线多径传输模型

由于低压配电网存在众多分支和负载阻抗的不匹配,使高频信号在电力线上传输产生频率选择性衰减,引起多径传输。文献[12]把电力线通信通道看做是一个黑匣子,采用传递函数来描述信号传递特性,所提出的多径传输模型幅频特性如下式所示:

式中:N为路径总数;f为信号频率;gl和dl分别为第l条路径的加权因子和路径长度;va为信号传播速度,考虑到国内电力电缆通常所使用的PVC材料介电常数为4,取va=1.5×108m/s;a0和a1为衰减系数;a2为衰减因子,通常为0.5~1之间的常数,由电缆的物理几何特性决定。

实验表明,模型精度随N的增加而提高,但N增加,需要估计的参数也增加。当N=4时,需估计11个参数,当N=12时,需估计27个参数。

2蚁群粒子群优化的UKF参数辨识实现

2.1基于蚁群粒子群优化的UKF结构

基于蚁群粒子群优化的UKF结构如图1所示,其中Q和R分别为系统噪声和测量噪声协方差矩阵。UKF根据系统各时刻的测量值yk、输入值uk及选定的滤波参数值,通过时间更新与量测更新得到系统状态的后验估计w^k;根据各时刻当前的目标函数值和滤波参数值,使用蚁群粒子群算法对滤波参数Q和R进行寻优,将得到的修正值作为UKF的输入参数进行参数估计,直至得到优化的状态估计值w^opt。

2.2蚁群粒子群混合算法

2.2.1粒子群优化算法

粒子群优化算法是模拟鸟群捕食行为过程中通过集体协作,寻求群体最优解的全局优化算法。每个粒子(d维解空间的一个候选解)根据自身和群体经验调整飞行轨迹向最优点靠拢。根据式(2)和式(3),粒子x通过迭代更新自己的速度和位置:

式中:Xxd和vxd分别为粒子x的飞行位置和速度; pbest为粒子x迄今为止搜索到的最好位置;gbest为整个粒子迄今为止搜索到的最好位置;G为迭代次数; ω 为惯性权重;c1和c2为学习因子;r1和r2为0~1之间的随机数。

通过不断学习更新,粒子向个体最优位置和全局最优位置加速运动,最终输出全局最优解。惯性权重ω 使粒子具有扩展搜索空间、保持运动惯性的作用。为使ω 能针对不同的高维、复杂非线性问题自适应选取,将粒子群算法的ω 划分若干子区间离散化取值,并赋予相应的信息素作为蚁群算法的一条路径。根据不同路径上信息素和粒子的空间分布,按概率选择ω 生成新粒子来更新各条路径的信息素。

2.2.2蚁群算法

蚁群算法是意大利学者Dorigo受蚂蚁觅食时路径选择行为启发提出的。蚂蚁通过行走不同的地点(路径)之间转移,t时刻蚂蚁p从位置z向位置δ 的转移概率Mzδp(t)为:

式中:τzδ为t时刻蚂蚁的信息素轨迹强度;ηzδ反映了蚂蚁由位置z转移到位置δ 的启发程度,也称为能见度;s为蚂蚁允许到达的位置;Yp为蚂蚁p下一步可以选择的位置;α和β为调节系数。

由式(4)可知,转移概率与ηzδ和τzδ成正比。一次循环完成后,t+1时刻蚁群在路径(z,δ)的信息量 τzδ(t+1)根据式(5)调整:

式中:Δτzδp(t,t+1)为第p只蚂蚁在本次循环过程中留在路径(z,δ)上的信息素量,路径越短信息素释放就越多;ρ为信息素挥发系数,则1-ρ为信息素残留因子,通常设置0<ρ<1以避免路径上信息量的无限累加。

2.2.3惯性权重参数区间离散化

在蚁群粒子群优化算法中,将划分不同的区间, 惯性权重ω 以截断正态分布概率分别在各子区间取值,如果在进化初期接近最好点,ω 可能随机产生相对小的值,可加快收敛速度;如果在算法初期找不到最好点,ω 的线性递减使算法最终收敛不到此点, 经仿真对比验证,采取ω 随机化就可以克服这个缺点。正态分布曲线是一个中间高、两边低的 “凸字形”曲线,如果ω 选择两边偏平滑的区间,则ω 值在整个迭代过程中变化相对平缓,因此,将ω 的取值限定在中间凸起的部分。ω 取值如式(6)所示:

式中:h为区间个数;l对应不同的路径。

以l对惯性权重进行编码,l值确定则相应的ω 也就确定。各粒子需要从h个区间的l种路径中选择生成ω 的方法。通过对ω 取值区间的离散化,将各个ω 子区间作为蚁群算法的一条路径,根据各条路径上的信息素浓度与粒子的空间分布信息,选择路径(即ω)实现粒子进化搜索,并根据粒子进化信息实现各条路径信息素浓度的更新。

2.3基于蚁群粒子群优化的UKF辨识算法的实现

结合式(1),系统的状态变量为电力线信道模型的待求参数,将UKF滤波参数作为粒子群算法的粒子,根据系统输入频率f和观测信息H (f),对增广状态变量使用UKF技术,递推求出系统状态变量,以获得最优系统噪声和观测噪声矩阵。

系统状态变量根据电力线路径数目不同分为11个(4径)和27个(12径),模型输出变量为1个。 以4径模型为例,系统噪声和观测噪声协方差矩阵分别记为式(7)和式(8)。

为使优化计算简化,令系统噪声矩阵对角元素相等,即q11=q22=…=q1111=q,则待优化的参数矩阵可表示为式(9)。

2.3.1适应度函数的选取

使用蚁群粒子群算法进行参数优化时,需要正确设计适应度函数,否则会发生早熟收敛,只获得局部最优解。本设计中,3种算法优化是以实测数据yk与滤波输出w^(ψ^xk(G))的均方误差最小为目的,即

式中:f(ψ^x(G))为迭代到第G代时第x个个体的测量值与估计值的均方差;M为估计长度;ψ^xk(G)为迭代到第G代时第x个个体的参数辨识值。

2.3.2基于UKF的参数辨识算法流程

1)初始化:

式中:E(·)表示数学期望;w0为初始状态向量;w^0为初始状态向量估计;P0为初始状态误差协方差矩阵。

2)计算采样点χk-1和权值μi:

式中:μim(i=0,1,…,2n)为一阶统计特性加权系数;μic(i=0,1,…,2n)为二阶统计特性加权系数;n为状态向量w的维数;常数ε为采样点的分散程度, 通常取10-4≤ε≤1;λ=ε2(n+k)-n,为一个比例因子;常数ξ的值取决于w的先验分布,高斯分布的ξ 最优值为2。

3)计算预测状态均值w^k|k-1及协方差矩阵Pk|k-1,重新计算采样点:

4)计算预测测量均值y^k、协方差矩阵Pyy,k和状态向量与测量值的协方差矩阵Pwy,k:

5)计算卡尔曼增益矩阵Kk,并更新状态向量w^k及其协方差矩阵Pk:

式中:k即为所求的提取向量。

3基于蚁群粒子群优化的UKF参数辨识算法验证

3.1初始值的确定

电力线信道初始值由多次测量的平均值确定, 分别在哈尔滨某居民小区相距1 000m的实际供电插座之间测量。实验中采用数字存储示波器记录发送及接收信号后,在计算机上通过计算得出信道的幅频和相频响应函数。取4路径和12路径,采用基于蚁群粒子群优化的UKF算法、UKF算法和文献[14]的改进粒子群优化(EPSO)算法进行参数辨识。辨识中衰减和路径参数的选取根据最小二乘法拟合结果得到,路径参数dl的选取以实际载波通信网络的物理长度为依据。 试验中经过反复调解UKF滤波参数,系统噪声qs和观测噪声ro的取值范围分别取[0,0.000 6]和[1,7]较为理想。

3.2仿真与性能分析

运用本文提出的基于蚁群粒子群优化的UKF算法进行电力线多径信道参数辨识,计算该模型的动态响应来拟合实际测量值。参数设置为:粒子数取100,h=10,α=1,β=7,ρ=0.7,c1=c2=1.8,预定迭代次数为300,进行200次运算得出平均结果。 运行本文提出算法,经300次迭代后种群目标函数值分布如图2所示,几种算法目标函数最优解的变化如图3所示。

可见,基于蚁群粒子群优化的UKF算法目标函数的最优解(均方误差)经过约100次迭代后趋于恒定值,比UKF算法的240次快得多,与EPSO算法的82次相当,但性能明显优于EPSO算法。经过120次迭代后,种群中80%的个体目标函数值均在最优解附近,得到了限定范围内的全局最优解。

标准粒子群算法复杂度为O(d′),d′为粒子数量;蚁群算法复杂度为O(l3);UKF算法的复杂度为O(n3)[15]。比较3种算法在首次迭代时的时间复杂度可见,粒子群算法复杂度最低,具有较快的收敛速度,但后期容易陷入局部极值点,导致算法精度降低。本文算法通过蚁群算法选择最优惯性权重,根据粒子群算法找到最优粒子,通过更新的粒子来更新信息素浓度,再利用蚁群粒子群算法对UKF的滤波参数进行寻优,将得到的修正值作为UKF的输入参数,从而在降低系统复杂度的同时,保证了算法求解精度。

3.2.1参数辨识结果

将基于蚁群粒子群优化的UKF算法对仿真所得的数据进行辨识,4径和12径辨识参数分别如表1和表2所示。

注:衰减参数a2=1,a0=0.035,a1=6.78×10-10。

注:衰减参数a2=1,a0=0.001 6,a1=2.26×10-9。

3.2.2比较与分析

几种算法仿真与居民区实测曲线的幅频衰减特性及相位失真特性拟合结果如图4—图7所示。

对比图4—图7中的实测曲线和拟合曲线,可看出其幅频特性和相频特性均得到较好的吻合效果,验证了电力线多径传输模型的可行性。使用基于蚁群粒子群优化的UKF算法的4径拟和精度明显低于12径拟和精度,证明了路径数越多,模型精度越高,但也增加了运算时间,因此,路径数的选择需折中考虑。

分别采用UKF算法、EPSO算法和基于蚁群粒子群优化的UKF算法对低压电力线信道幅值衰减特性进行了200次辨识,路径数分别取4和12,最大迭代次数设为300,所得误差统计特性如表3和表4所示。

由表3和表4可见:虽然4径参数辨识中, UKF算法的精度略高于本文算法,但运算时间远大于本文算法,实际应用中应综合考虑运算精度与运算时间确定最优算法。实验中对4~20径信道模型均进行了仿真,6径以上本文算法的精度均高于UKF算法,运算时间则远低于UKF算法(约为UKF算法的1/2)。本文算法搜索到全局最优附近区间的概率远大于EPSO算法,说明其稳定性明显优于EPSO算法;且本文算法与EPSO算法的平均辨识时间接近,但其平均误差只有EPSO算法的1/2,说明本文算法具有优良的性能。

4结语

低压电力线分布广泛,连接千家万户,使得低压电力线载波通信技术在实现家居防范、家用电器控制和多表集中抄送方面具有得天独厚的优势,但电网环境的污染给可靠通信带来了一些特殊困难。建立一个能够模拟低压电力线信道特性,针对载波通信设备进行实际测试和分析的系统,对低压电力线通信技术的研究具有实际价值。本文对不同电力线通信场景进行测量,通过相应参数拟合算法确定模型参数,构建丰富的模型参数信息库,力求建立一个完善的电力线信道模拟仿真测试分析系统,为载波通信产品开发者提供一个试验平台。

本文提出一种基于蚁群粒子群优化的UKF算法用于多径信道模型参数辨识,通过引入蚁群算法, 并将惯性权重离散化以提高粒子群算法的搜索效率,克服了粒子群算法容易发生早熟收敛的缺点。 针对UKF算法通过试验调节难以取得最佳滤波效果的问题,提出了基于蚁群粒子群算法优化UKF噪声矩阵的方法。取路径数为4和12进行的信道模型参数的辨识,在同等时间内本文算法以更高的全局最优概率求解系统参数,降低了误差。

卡尔曼粒子滤波 篇2

基于集合卡尔曼滤波的土壤水分同化试验

集合卡尔曼滤波是由大气数据同化发展的新的顺序同化算法,它利用蒙特卡罗方法计算背景场的误差协方差矩阵,克服了卡尔曼滤波需要线性化的模型算子和观测算子的.难点.我们发展了一个基于集合卡尔曼滤波和简单生物圈模型(SiB2,Simple Biosphere Model)的单点陆面数据同化方案.利用7月6日至8月9日青藏高原GAME-Tibet实验区MS3608站点的观测数据进行了同化试验.结果表明,利用集合卡尔曼滤波的数据同化方法可以明显地提高表层、根区、深层土壤水分的估算精度.

作 者:黄春林 李新 HUANG Chun-lin LI Xin  作者单位:中国科学院,寒区旱区环境与工程研究所,甘肃,兰州,730000 刊 名:高原气象  ISTIC PKU英文刊名:PLATEAU METEOROLOGY 年,卷(期):2006 25(4) 分类号:P33 关键词:陆面数据同化系统   集合卡尔曼滤波   简单生物圈模型   土壤水分  

扩展容积卡尔曼滤波定位技术研究 篇3

在现代战争实际环境里, 通常测得的目标特征数据是非常有限的, 而目标的方位几乎成了唯一可靠的参数, 因而利用所测得的目标角度信息可以估计目标的运动参数 (位置、速度、加速度等) , 从而对目标实施有效的打击和电子干扰。同时, 多站定位系统通过组合来自多个传感器的数据, 解除了单站观测对传感器运动轨迹的限制, 可以完成单一传感器独自所不能完成的任务, 随着传感器技术和现代网络及通信技术的发展, 站间通信等问题己不再成为制约多站无源定位技术发展的瓶颈, 多站测角传感器被动定位[1,2,3,4]由于它的工程实现简单、测量信息多、作用距离远和定位精度高等特点, 已获得日益广泛的应用, 在侦察、救援、宇航、航空、航海等领域发挥着重要作用。

在现代传感器被动定位研究中, 常常把问题转化为附加噪声的非线性动态系统的滤波问题, 滤波模型可转化为离散时间的一对差分方程[5], 即对目标的状态方程和量测方程。但是, 随着现代传感器被动定位研究的进一步深入, 发现目标跟踪定位的研究经常面临两方面的困难:1) 低运算复杂度下目标跟踪精度提高的问题;2) 未知噪声先验信息下的滤波递推估计问题。

针对第一个问题, 近年来, 学者们提出了多种算法, 如利用一阶Taylor展开进行系统线性化的扩展卡尔曼滤波 (EKF) 算法[6], 基于UT变换的采样 (Sigma) 点的不敏卡尔曼滤波 (UKF) 算法[7]等。其中在运算复杂度相当的前提下, UKF算法的精度要高于EKF算法, 因而成为近年来应用极为广泛的非线性滤波算法。最近, 一种新兴的非线性滤波方法—容积卡尔曼滤波 (CKF) 算法[8]被提出, 它采用一组等权值的容积点集来解决贝叶斯滤波的积分问题, 为非线性估计问题提供了一种新的实现方式。为保证算法的稳定性和正定性, 本文运用CKF的一种鲁棒改进形式—SCKF作为传感器被动定位研究的主要算法。

另外, 在现代战争复杂电磁环境下, 对于传感器噪声的量测往往是非经验的, 如果通过预先假定目标的噪声先验统计信息, 将给实际多站传感器被动定位带来误差。这是因为在先验信息不完全的情况下, 采用与真实值相差较多的噪声统计进行滤波, 将得到不可靠的状态滤波结果。同时, 在实际应用中, 动态系统随时可能受到各种外界干扰, 因此观测噪声的统计特性随时会发生变化, 仅仅依靠有限的先验信息对噪声进行描述是不可靠的, 需要一种能够对噪声进行实时估计的算法。基于这个原因, 本文引入一种经验模态分解 (EMD) 算法[9]对目标噪声的先验统计信息进行实时的估计, 以满足实际传感器被动定位跟踪需要, 同时, 将目标的过程噪声协方差和量测噪声协方差融入到整个循环过程中, 进一步提高了算法精度。

1 贝叶斯滤波过程

对于目标的跟踪其本质是一个贝叶斯滤波循环过程[10], 具体如下图1所示。对于目标的跟踪转化为如何求解目标状态的后验概率密度的问题。为得到时刻k的状态, 用下面的两个基本步骤更新 (k-1) 时刻状态的后验概率密度。

a) 时间更新, 即计算预测概率密度:

这里Dk-1 (28) {u i, zi} (k-1) i (28) 1表示对时刻k-1的输入量测的历史值;p (xkxk-1, uk-1) 表示已知的目标状态转移概率密度;p (xk-1Dk-1) 是时刻k-1的后验概率密度, 由式 (1) 获得。

b) 量测更新, 即计算当前状态的后验概率密度:

使用贝叶斯准则得到:

这里的正态常数ck由下面的式子得到:

建立式 (2) 先验和后验概率的递归关系, 输入需要满足下面的关系:

这里的控制Dk-1要有足够的信息产生输入uk的充分信息。具体的, 输入uk用xˆk|k-1产生。在这种情况下, 可以等价的写出:

因此, 把式 (6) 代入式 (3) 中, 得到:

根据假设

但在实际情况中, 当面对一个非线性滤波问题时, 很难得到贝叶斯后验概率密度的最优解, 因此需要寻求对贝叶斯滤波的次优解。在计算过程中, 对于后验概率密度的次优解可以通过下面两个方法获得:

1) 全局方法, 即利用抽样的方式进行贝叶斯递推。例如, 高斯混合滤波方法, 使用重要性抽样蒙特卡罗运算的粒子滤波[11]等, 都属于这第1) 类的情况, 但是这种全局方法要求的计算量很大。

2) 局部方法。即通过转变后验概率密度形式来达到非线性滤波的目的。例如, 假设它是高斯的非线性滤波方法, 如EKF (扩展卡尔曼滤波) , CDKF (中心差分卡尔曼滤波) [12], UKF (不敏卡尔曼滤波) , 都属于这种类型。对于局部信息的强调使得滤波过程简捷快速。

2 UKF (不敏卡尔曼滤波) 算法

作为局部滤波方法的代表之一, 不敏卡尔曼滤波 (UKF) 是一种建立在高斯域的逼近贝叶斯滤波器, 它的特点是使用一种称为UT变换的方式来进行递推运算, 考虑一个拥有均值为, 协方差为Σ的n维随机变量x, 它的 (2n+1) 个抽样点和权值的集合{i, i}2ni (28) 0, 满足:

在这里, 一个系统分布式点集, 被称为西格码点集, 表述如下:

参数用于尺度化来自先验均值的西格码点, 称为“尺度化参数”。为了紧密获得先验概率密度的峰值, 一般选择 (28) (3-n) 。

随着传感器被动定位方式的广泛应用, 既要实现对目标快速的定位, 又要尽量避免牺牲定位精度, 这就迫切需要挖掘更好的局部滤波方法, 来进行更高精度的传感器被动定位;现今对于UKF技术的研究已经日趋成熟, 人们逐渐把目光转移到追求更高跟踪精度的滤波方法上, 最近新提出的求容积法卡尔曼滤波 (CKF) 作为一种新的滤波方式, 提供了解决问题的新契机。

3 扩展SCKF算法

UKF算法在进行递推运算的过程中可能会面临的一个很大的问题是:如何很好地保持误差协方差以及相关运算的正定性, 同样, 在CKF算法的递推中也会遇到这样的问题, 使用求平方根的形式对CKF算法进行改进, 不但可以进一步提高算法的精度, 而且保证了算法进行过程中的正定性。

EMD (经验模态分解) 算法能够分离信号和噪声, 因此可以用来估计含噪声信号中噪声的标准差。在观测噪声未知的情况下, 可以首先选取一段长度为L的一段信号, 即相当于一个观测区间, 在这个观测区间上进行经验模态分解, 分离出其中的高频噪声, 估算出观测噪声的标准差。

另外, 本文还将状态噪声协方差和量测噪声协方差融入到整个循环过程中, 进一步提高算法准确性。

3.1 时间更新

1) 假设在k-1时刻的后验概率密度函数:p (xk-1Dk-1) (28) N (xk-1k-1, Pk-1k-1) 已知。分解得到:

2) 估计容积点的值 (i (28) , 1, 2, m) :

3) 估计传播的容积点

4) 估计预测状态:

5) 估计预测误差协方差的平方根因子:

其中:Tria () 代表通过QR分解取下三角阵, 这里的SQ, k-1代表Qk-1的一个平方根因子, 这里的Qk-1 (28) SQ, k-1SQT, k-1, 并且权值, 中心 (先验均值被减去) 的矩阵为

3.2 量测更新

1) 估计容积点

2) 估计传播容积点

对量测噪声做EMD估计, 具体步骤如下:

(a) 计算出Zi, k|k-1所有的极值点。

(b) 采用三次样条插值算法[13], 求解所有的极大值点构成的上包络线和所有的极小值点构成的下包络线, 分别记为u1 (t) 和v1 (t) ;为抑制边缘效应, 需使用镜像延拓的方法, 来延拓极值点[14,15]。

(c) 记上、下包络线的均值为

并记信号与上、下包络线的均值之差为

(d) 判断h11 () (t) 是否满足IMF (本征模式函数) 的两条性质。若满足, 则h11 () (t) 为IMF。否则, 记h11 () (t) 为Zi, k|k-1, 重复步骤 (a) 至步骤 (d) , 假定k次筛选后得到的h11 () (t) 满足IMF定义, 则Zi, k|k-1的第一阶IMF分量c1 (t) (28) h1 (1) (t) 。

(e) 记Z1 (t) (28) Zi, k|k-1-c 1 (t) 为新的待分析信号。重复步骤 (a) 至步骤 (e) , 以得到第二个IMF, 记为c2 (t) , 余项Z2 (t) (28) Z1 (t) -c2 (t) 。重复上述步骤, 直至得到的余项为一个单调信号, 分解结束。如此, 可得到余项Zm (t) , Zm (t) 即对量测噪声的观测, 从而确定新的Rk。

3) 估计预测量测

4) 估计更新协方差矩阵的平方根形式:

这里的SR, k表示kR的一个平方根因子, 即Rk (28) SR, kSRT, k, 并且权值, 中心矩阵为

5) 估计互协方差矩阵:

这里的权值, 中心矩阵为

6) 估计卡尔曼增益:

7) 估计更新状态

8) 估计对应的误差协方差的平方根因子:

进一步得到Pk|k (28) Sk|kSTk|k。

9) 将过程噪声协方差和量测噪声协方差纳入到整个循环过程中:

令新的协方差矩阵为重新代入整个循环中, 并将式 (18) 、式 (25) 分别更改为

4 仿真实验

4.1 仿真条件

以三雷达传感器的目标定位为例, 如图2所示, 三个传感器之间可以相互通信并随时获得传感器之间的相对位置。

假设的实验坐标系为直角坐标系, 总的实验时间为800 s, 一共做了5次实验, 目标的初始位置设定在 (120, 100) , 状态噪声设定为均值为0, 方差为0.01的高斯白噪声, 三个传感器的初始位置分别为 (-100, 0) , (0, 0) 和 (100, 0) 。量测噪声设定为高斯白噪声, 均值为0, 方差取10-4~10-6的随机值。

假设初始的系统误差方差阵为

对目标和传感器的运动分别做了两次假设:

1) 目标和传感器都做匀速运动, 目标在x, y轴方向上的速度都为0.3 m/s, 三个传感器速度均为3m/s时的纯角度传感器跟踪;

2) 目标和传感器都做匀速运动, 目标在x, y轴方向上的速度都为3 m/s, 三个传感器速度均为30 m/s时的纯角度传感器跟踪。

4.2 仿真结果

这里只显示传感器对目标x方向速度的跟踪结果, 如下图36所示。

其中, 图3、图4代表按照第1) 种假设所做的目标速度跟踪以及均方差比较仿真;图5、图6代表按照第2) 种假设所做的目标速度跟踪以及均方差比较仿真。

由图3、图4可以看出, UKF和扩展SCKF都能对目标x方向的速度进行跟踪, 但扩展SCKF的跟踪精度明显优于UKF算法。

当目标速度和传感器速度都增大时, 目标跟踪的精度将会受到很大的影响, 如图5、图6所示。

由图5、图6可以看出, 在UKF对目标的跟踪出现滤波发散的情况下, 扩展SCKF算法仍可实现对目标的稳定跟踪。

扩展SCKF算法的运算时间主要消耗在对于量测噪声统计信息的EMD估计中, 图7是对两种算法的运算复杂度的对比, 即对目标定位做100次蒙特卡罗仿真的时间比较, 由图可以看出, 扩展SCKF算法所消耗的运算时间与UKF相当。

5 结论

在多传感器被动定位问题中, 对于目标状态的递推跟踪算法的研究一直是人们观注的热点, 其本质是求解贝叶斯过程的后验概率密度问题。本文以三运动测角传感器的目标跟踪为背景, 提出运用一种新的非线性滤波算法CKF的改进形式扩展容积卡尔曼滤波算法对目标的速度进行递推跟踪, 仿真结果表明, 当目标速度与传感器速度选取不同值时, 相对于传统的UKF算法, 在运算复杂度相当的前提下, 扩展容积卡尔曼滤波算法不仅可以对未知量测噪声的目标进行跟踪, 而且显著提高了目标的跟踪精度。

摘要:为提高被动定位技术的精度与环境适应性, 本文提出运用一种新的非线性滤波方法—扩展容积卡尔曼滤波算法进行多角度传感器目标定位;它首先利用EMD (经验模态分解) 算法对目标的量测噪声协方差矩阵进行估计;然后, 将过程噪声协方差和量测噪声协方差融入循环过程;同时, 为保持算法的稳定性和正定性, 利用求平方根的形式对算法改进。通过对扩展容积卡尔曼滤波与UKF (不敏卡尔曼滤波) 算法跟踪目标的结果进行比较, 在运算复杂度与UKF相当的前提下, 扩展容积卡尔曼滤波算法不仅可以对未知量测噪声情况下的目标进行跟踪, 而且显著提高了被动定位的精度。

卡尔曼粒子滤波 篇4

针对跟踪传感器延迟对伺服系统的精度和稳定性的不利的影响,本文提出了一种补偿方法.根据已延迟的跟踪传感器信号通过卡尔曼预测滤波来计算当前的目标位置和速度信号,并将这两个信号分别作为伺服系统的位置引导信号和速度顺馈信号进行闭环跟踪.理论分析和仿真数据表明,卡尔曼预测滤波能够在几帧内预测得到较准确的`目标位置和速度信号,该补偿方法能够有效地提高伺服系统的跟踪精度和稳定性.

作 者:黄永梅 张桐 唐涛 马佳光 HUANG Yong-mei ZHANG Tong TANG Tao MA Jia-guang 作者单位:黄永梅,张桐,马佳光,HUANG Yong-mei,ZHANG Tong,MA Jia-guang(中国科学院光电技术研究所,四川,成都,610209)

唐涛,TANG Tao(中国科学院光电技术研究所,四川,成都,610209;中国科学院研究生院,北京,100039)

一种改进的扩展卡尔曼滤波 篇5

扩展卡尔曼滤波(Extended Kalman Filter,EKF)主要解决目标跟踪中运动模型是非线性时的问题,通常将非线性系统进行近似线性化后采用标准卡尔曼滤波。当运动模型非线性较强或者运动目标发生状态突变时可能会造成滤波器发散[1]。主要的解决方案有如下两种:

(1)通过调整滤波器增益。如基于新息协方差的自适应卡尔曼滤波[2]、平方根滤波[3]、无迹卡尔曼滤波[4]和基于渐消因子的自适应卡尔曼滤波[5]等;

(2)通过在不同的跟踪滤波器之间切换或增大目标状态维数来调整滤波器的结构。

但这些算法存在计算复杂和延迟等缺点。文献[6] 提出了一种根据新息和量测误差协方差来判断机动目标运动状态是否发生突变和通过调整预测值从而提高滤波精度的算法,此滤波算法取得了很好的效果。在实际工程应用中,雷达的量测精度不太稳定,量测误差不易准确实时的获取。本文在此基础上提出一种根据新息矩阵范数判断滤波是否应该修正,并通过调整预测值来提高滤波精度的算法。这种方法计算简单,能使EKF适应于机动目标跟踪时目标运动状态发生突变和运动模型不匹配的情况。

1目标跟踪建模

状态方程为:

量测方程为:

式中:X(k) 是目标的状态向量;V(k) 是方差为E[V(k)V′( j)] = Q(k)δkj的过程噪声;Z(k) 是k时刻的量测向量;W(k) 是方差为E(W(k)W′( j)] = R(k)δkj的量测噪声;f (k) 为状态转移矩阵;h(k) 为量测矩阵。目标运动模型为Singer模型:

状态方程中函数的一阶展开式为:

扩展卡尔曼滤波过程如下:

状态的一步预测方程为:

协方差的预测方程为:

量测预测方程为:

新息协方差为:

增益为:

状态更新方程为:

协方差更新方程为:

只需要给定状态初始值和滤波估计状态向量的协方差矩阵,算法就可以启动并递推下去[6]。

2改进算法

系统达到稳态后,预测协方差、新息和增益均趋于极小值[6]。若此时目标进行了较强的机动性改变,预测值不再准确,新息变大,但是增益不能随之改变,造成滤波精度下降;建立的运动模型与目标实际的运动模型不匹配是由于预测值的不准确而导致滤波值不准确。由于增益矩阵K的计算量较大,重新计算增益矩阵K会导致实时性降低,所以本文通过一步预测值的改进来提高滤波值的精度。

在滤波趋于稳态后,新息矩阵趋于极小值,可根据新息矩阵的大小判断是否应该调整预测值:

式中:zmax为量测误差矩阵的最大值;为矩阵的F-范数;λ 取值范围为[0.3,0.9] 。当新息矩阵满足式(11) 时,认为滤波正常;当式(11)不成立时,认为目标发生了较强的机动,此时量测值的可靠性较高,一步预测值的可靠性较低,应修正一步预测值。

如果式(11)不满足,表明一步预测值X(k + 1|k) 不准确,修改X(k + 1|k) ,通过重新计算状态更新方程得到新的X(k+ 1|k+ 1) ;具体修正方式如下:

式中:c1是对预测位置的修正;c2是对预测速度的修正, r′(k + 1) 是k+1时刻新息矩阵的距离分量;c1和c2的取值范围是(0,1) ,在工程应用中需要根据实际情况设定。

3仿真

通过设置下列两种实验场景来比较EKF和本文提出的改进算法:

(1)机动目标进行匀速直线运动一段时间(20 s)后进行加速运动,加速运动持续时间为20 s,然后再次进行60 s的匀速运动。

(2)机动目标在不同的时间段进行匀速、转弯和匀速运动,运动持续时间分别为80 s,40 s,40 s。实验结果通过对比目标位置的RMSE来比较两种算法的精度。

3.1仿真1:匀速运动和加速运动

目标起始位置为:

目标运动时间为100 s,采样间隔为2 s;系统的噪声协方差矩阵

;量测噪声的协方差矩阵。

从图1可看出,滤波算法稳定后两种算法的位置RMSE相近;但是目标发生较强的机动变化时,EKF滤波精度大幅降低而本文算法精度较高。由于目标发生较强的机动时,量测值和一步预测值差距突然增加,但是滤波不能随之变化,造成扩展卡尔曼滤波精度较低, 而改进后的滤波算法能实时地根据新息矩阵个范数调整估计值,从而提高了滤波算法的精度。

3.2仿真2:匀速运动和转弯运动

目标起始位置为:

目标运动时间为160 s,采样间隔为2 s。系统噪声协方差

;量测噪声协方差。

由图2可以看出,匀速直线运动时,扩展卡尔曼滤波算法和本文算法精度相差不大,达到稳态所需时间几乎相同。目标发生机动转弯时,一步预测值和量测值相差过大造成EKF算法精度大幅降低,而改进后的算法根据新息矩阵检测出滤波不稳定,通过修改一步预测值提高了滤波精度。以上情况表明,在机动目标发生突变或运动模型建立不准确时,改进后的算法通过修正预测值,提高了滤波算法的精度。

4结语

EKF算法已经广泛用于机动目标跟踪中,并取得了良好的效果。但是在实际工程应用中,机动目标的运动状态不稳定,会进行各种各样的改变。而这种改变会导致滤波精度大幅度的降低。针对这种情况,本文对EKF算法做了深入研究,并通过新息矩阵的范数来判断滤波是否稳定,在不稳定时通过修正预测值来提高滤波值的精度。仿真实验通过对比改进后的算法和EKF算法在不同场景下的精度,表明改进后的算法提高了算法的精度,能够较好地适应于机动目标跟踪过程。

参考文献

[1]何友,修建娟,关欣,等.雷达数据处理及应用[M].北京:电子工业出版社,2013:63-66.

[2]徐定杰,贺瑞,沈锋,等.基于新息协方差的自适应渐消卡尔曼滤波器[J].系统工程与电子技术,2011,33(12):2696-2698.

[3]解春明,赵剡,邓俊云.一种改进的自适应平方根传递对准滤波算法[J].系统工程与电子技术,2011,33(3):622-626.

[4]林瑞阳,杨东升,邱锋.Unscented卡尔曼滤波对目标位置预测[J].现代电子技术,2014,37(1):35-37.

[5]徐景硕,秦永元,彭蓉.自适应卡尔曼滤波器渐消因子选取方法研究[J].系统工程与电子技术,2004,26(11):1552-1554.

[6]杨永建,樊晓光,王晟达,等.基于修正卡尔曼滤波的目标跟踪[J].系统工程与电子技术,2014,36(5):846-848.

[7]巴宏欣,赵宗贵,杨飞,等.机动目标自适应算法[J].系统仿真学报,2002,16(6):1181-1183.

[8]张池平,刘宗尧.一种改进的自适应模糊卡尔曼滤波算法[J].计算机工程与应用,2007,43(28):25-28.

扩展卡尔曼滤波的影响因素分析 篇6

本文介绍了扩展卡尔曼滤波算法,讨论了算法中各因素对于扩展卡尔曼滤波的影响;最后给出其选择原则,旨在全面了解和使用扩展卡尔曼滤波。

1 扩展卡尔曼滤波(EKF)算法

扩展卡尔曼滤波(EKF)是对非线性系统状态方程和量测数据方程进行线性化近似后再采用卡尔曼滤波。通过求过程方程和量测数据方程的偏导数来对量测数据求其线性相近。式(1)表示非线性差分方程和量测数据方程

{xk=f(xk-1,k-1)+wk-1zk=h(xk,k)+vk(1)

算法可以分为预测和更新两个阶段:

预测:

{x^k¯=f(xk-1,uk-1,wk-1)pk¯=AkΡk-1AkΤ+WkQk-1WkΤ(2)

更新:

{Κk=Ρk-ΗkΤ(ΗkΡk¯+VkRkVkΤ)-1x^k=x^k¯-Κk(zk-h(x^k,0))Ρk=(Ι-ΚkΗk)Ρk¯(3)

式中,Ak,Wk分别是fxy求偏导的雅可比矩阵;Hk,Vk分别是对和求偏导的雅可比矩阵;Qk,Rk分别是过程激励噪声和量测数据噪声的协方差矩阵;Kk是卡尔曼滤波增益。扩展卡尔曼滤波算法中Kk表达式中的雅可比矩阵Hk能正确地传递加权量测数据信息中的有用部分。

2 参数分析

由式(3)可以看出,除去一些确定的因素和中间值,影响滤波的主要有5个因素:初始状态X0=[x0vx0y0vy0]Τ、初始状态协方差阵P0、状态转移矩阵A、过程激励噪声协方差阵Q、测量噪声协方差R。下面对影响滤波的5个主要因素进行分析。

首先给出一个用以分析的例子,下面的分析都是建立在此例下:假设一个机动目标的状态变量为Xk=[xkvxkykvyk]Τ,其中第1、3项为k时刻的坐标,第2、4项为k时刻的速度。考虑非线性非高斯系统模型,为简化计算取匀速直线运动模型,即转移矩阵Φ一定;过程噪声和观测噪声都为零均值高斯噪声,物体的状态初始值为X0=[100-5100-5]Τ,即位置坐标为(100,100),速度为-5 m/s。物体以5 m/s的速度做了50个周期的匀速运动,观测间隔为1;观测误差期望为0,方差为5的高斯白噪声。

2.1 初始状态X0

实际工程应用中,目前较为精确的GPS定位精度可达15 m以内,而被动定位精度可能更低;由于无法精确得到目标位置的先验信息,而使滤波初值可能有较大的误差。按照定位精度20 m为参考,则在精度20 m范围内,X0相对误差不超过20%;取选取初始状态的相对误差为变量进行滤波,结果如图1所示。

由图1可以看出:初始状态对滤波效果影响较大,为使滤波得到较低的误差,最好能控制初始状态的相对误差在12%以内。误差小的同时还有利于加快滤波算法的稳定。

2.2 初始状态协方差阵P0

Ρ0=[1000010000100001](4)

协方差是用于衡量两个变量的总体误差;由于定位精度的限制,按照(间隔0.5)选取初始状态协方差,并分析各滤波效果。进行滤波,结果如图2所示。

由图2可以看出:滤波随着协方差的变化很快趋于稳定,所以可以看出初始状态协方差阵对滤波效果影响很小,都能较快收敛,可以任意取一个不为零的矩阵,如取单位对角阵。

2.3 过程激励噪声协方差阵Q

Q=10-3×diag([1]) (5)

过程激励噪声协方差是指用于估计离散时间过程的状态变量。这个离散时间过程中的w被称为过程激励噪声。根据白噪声的假定,Q的非对角线元素均为零;工程上一般通过离线测试来确定对于某过程的最优Q值[3,5]。根据文献可知过程激励噪声协方差一般都较小,所以按照0~1 000(间隔1)选取过程激励噪声协方差阵,并分析各滤波效果,结果如图3所示。

由图3可以看出:滤波结果的误差随着过程激励噪声协方差的增大而增大,且变换较为显著;所以过程激励噪声协方差阵的取值越小越好,可以使用一个非常小但不为零的矩阵,可以取Q=10-3×diag([1])或Q=10-4×diag([1])。

2.4 测量噪声协方差R

测量噪声协方差是滤波过程中的一个重要参数,是滤波中的一个重要输入值。但很多情况下在滤波前未必能够准确获得该值,因此有必要研究R的不同取值对滤波的影响。由于受工程上定位精度的限制,在定位精度范围内,测量噪声协方差一般不会超过30,所以按照0~30(间隔1)选取测量噪声协方差阵,并分析各滤波效果。结果如图4所示。

由图4所示:测量噪声协方差R取值偏小,滤波出现误差突然变大的情况;相反,如果取值偏大那么滤波误差变换较为缓慢。这可能是由于滤波次数的限制导致偏差的R值未能使滤波收敛到有效范围。而随着测量噪声协方差R的变化,滤波误差变化较大;一般工程上是在滤波前先测定噪声协方差,然后再用于后续的滤波。

一般工程上为了简化计算,滤波前都先对测定噪声协方差和过程激励噪声协方差进行估计,然后再用于后续的滤波;而系统的动态噪声和观测噪声为零均值且统计特性已知的白噪声,在复杂的实际工作中未必能够满足,因此可能存在较大误差;为解决上述问题,文献[7]针对传统算法的固定设计在先验信息不充分和动态变化环境中存在的不足,提出了一种基于自适应算法。该算法通过计算各时刻滤波残差的变化,以实时修正过程激励噪声协方差和测量噪声协方差。但这样也会带来算法和时间复杂度的增加,采用何种算法需要按实际情况权衡决定。

3 结束语

根据以上对于滤波参数分析,在有限的滤波次数范围内,可以得出如下结论:

(1)初始状态X0对滤波效果影响较大,为使滤波得到较低的误差,最好能够控制初始状态的误差在12%以内。

(2)滤波随着协方差的变化很快趋于稳定,即初始方差矩阵P0对滤波效果影响很小,都能较快收敛,可以任意取一个不为零的矩阵,如取为单位对角阵。

(3)滤波结果的误差随着过程激励噪声协方差的增大而增大,且变换较为显著,所以过程激励噪声协方差阵的取值越小越好,可以使用一个非常小但不为零的矩阵,可以取Q=10-3×diag([1])或Q=10-4×diag([1])。

(4)测量噪声协方差R的取值变大或变小,其滤波效果不一定好;因此可以在滤波前先测定噪声协方差,用于后续的滤波;带较大偏差的测量噪声协方差将导致算法发散。

摘要:介绍了扩展卡尔曼滤波算法流程,并对影响滤波效果的5个主要参数进行了系统的讨论,最后通过仿真实验方法研究不同的参数变化对于滤波的影响,并给出了参数的选择原则。

关键词:扩展卡尔曼滤波,参数选择,非线性系统状态

参考文献

[1]DAUM F.Nonlinear filters:beyond the Kalman filter[J].IEEE AES Systems Magazine,2005,20(8):57-69.

[2]ZHU Jihua,ZHANG Nanning,YUAN Zejian,et al.A SLAMalgo-rithm based on the central difference Kalman filter[C].Intelligent Vehicles Symposium.IEEE,2009:123-128.

[3]王学斌,徐建宏,张章.卡尔曼滤波器参数分析与应用方法研究[J].计算机应用与软件,2012(6):212-215.

[4]余小琴,沈文苗.扩展卡尔曼滤波算法初值选取方法[J].声学与电子工程,2012(1):12-13.

[5]张谦,景占荣.一种过程噪声自适应调节的卡尔慢滤波算法[J].电子测量技术,2007(5):18-20.

[6]李良群,姬红兵,罗军辉.迭代扩展卡尔曼粒子滤波器[J].西安电子科技大学学报:自然科学版,2007,34(2):233-238.

卡尔曼粒子滤波 篇7

随着科技水平的不断提高, 运用计算机视频帮助并逐渐取代人工监督和分析任务的情景越来越多。由此产生了计算机视觉[4]。计算机视觉主要包括运动目标检测, 目标提取, 目标识别与跟踪几个方面。其中, 最具有挑战的是对运动目标的跟踪, 对运动目标进行跟踪的一些常用方法有:基于子空间的跟踪方法, 基于背景建模的跟踪方法, 基于确定性运动建模的跟踪方法, 基于贝叶斯滤波的跟踪方法, 基于特征匹配的跟踪方法等。

基于子空间的跟踪方法能够在跟踪目标外在特征变化时很好的对目标进行跟踪, 但是, 它需要事先进行训练, 这就局限了它的应用范围。基于背景建模的方法可以处理光照变化和背景中周期性的运动, 该方法的缺点是它需要存储每个样本点, 而且每个样本点都要参加核函数的计算。这就带来了很高的存储开销和计算代价。基于确定性运动建模的跟踪方法具有执行速度快的优点, 然而, 该方法大多是采用局部优化的方法来获得运动参数, 容易陷入局部极小点。基于特征匹配的跟踪方法, 即使当场景中的光照条件, 亮度等不断发生变化时, 目标跟踪仍然不受影响;而且它能利用目标的局部特征来实现目标的跟踪, 就算目标部分被遮挡的情况也能实现目标的跟踪。它的计算量小, 适于对实时性有要求的应用场景。

1 基于卡尔曼滤波与特征匹配的台球跟踪

1.1 基于台球特征匹配的跟踪方法

基于台球特征匹配的跟踪方法是利用台球的特征信息实现其从一帧图象到下一帧图象的匹配。进行图象特征匹配的特征可以是运动目标的形状, 也可以是颜色, 面积, 还可以是位置信息等, 本文中目标的匹配主要是通过台球特征信息的相似性来实现的。根据台球的特殊性, 在此主要选取了台球的位置特征, 面积特征和颜色特征。在对台球的跟踪中, 通过检测台球目标在每帧图像上的位置信息和几何信息, 将相邻两帧图象中同一台球的这些特征对应起来就可以实现对该台球的匹配。为此, 文章选用的视频是每秒25帧, 在相邻帧之间台球的运动比较平缓, 短时间内的位移距离较小, 几何特征信息相近, 因此根据台球目标在相邻两帧图像中几何特征具有很高的相似性就可以实现台球目标的匹配。

1.2 Kalman滤波与特征匹配相结合的台球跟踪

基于区域的目标跟踪是利用相邻帧图象之间目标的特征具有较高的相似性进行匹配, 从而实现目标跟踪, 文章中是对每一帧图象做目标分割、识别、特征提取等处理, 因此, 匹配是以前一帧的目标特征信息为模板, 在当前帧图象的所有候选目标中寻找特征相近的目标即可实现匹配。应用基于Kalman滤波的运动估计的方法能够预测运动目标下一状态的运动信息, 缩小运动目标检测的范围, 如此可以节省对目标的全局搜索处理, 提高搜索的可靠性和实时性。

应用Kalman滤波进行运动估计, 可以有效地减小噪声带来的干扰, 只需要在当前跟踪窗口的范围内进行检测, 这样就大大的减少了计算量。利用当前帧检测到的目标状态信息对下一帧的目标状态信息进行预测, 根据预测的目标信息在下一帧图像中对应出跟踪窗口范围, 在该范围内依据选定的目标特征匹配方法对运动目标进行检测, 此过程反复迭代即实现运动目标的连续跟踪。

最后, 对视频序列实现连续多帧图像中同一目标的匹配跟踪即可获得目标的运动轨迹。

2 Mean Shift与卡尔曼滤波相结合的运动台球跟踪

2.1 Mean Shift与卡尔曼滤波结合算法

Kalman滤波与特征匹配相结合的方法在没有遮挡的情况下具有很好的跟踪效果, 但当目标在运动过程被遮挡的时候, 如被选手遮挡, 在视频中就无法获得目标的质心、面积等特征, 无法对后续帧提供可靠的观测值及匹配特征, 就会导致跟踪失效。因为台球的颜色特征明显, 在遮挡前与重现出现之后的颜色基本不变可以考虑用均值漂移 (Mean Shift) 与卡尔曼滤波想结合的方法来解决目标被遮挡的问题。

卡尔曼滤波器与Mean Shift相结合的算法如下:

⑴根据斯诺克视频中对目标台球的初始化位置, 推算出初始状态向量和其它一些参数。⑵通过卡尔曼滤波器来预测台球在当前帧中的可能位置。⑶把2中预测的台球可能位置作为Mean Shift算法的迭代起点, 开始进行运算, 直到收敛, 得到台球的真实位置。⑷把3中得到的台球真实位置当做卡尔曼滤波器的观测向量, 进而更新卡尔曼滤波器。⑸利用4中的滤波器反复第2步到第4步的过程, 得出下一帧中台球的位置, 如此反复, 就可以完成对台球的跟踪过程。

2.2 目标遮挡情况的跟踪

针对运动台球在台球被大比例遮挡情况下的跟踪问题, 利用Mean Shift与卡尔曼滤波相结合的算法进行跟踪, Mean Shift与卡尔曼滤波相结合的算法可以不用斯诺克视频前一帧中台球的位置初始化迭代起点, 而是利用卡尔曼滤波的预测性预测出下一帧中台球的可能位置, 并把这个位置作为初始化Mean Shift算法的迭代起点, 这样就使得该算法能够更快速的搜索台球的真实位置。

当目标台球被大面积或者是全部遮挡的时候, 根据Bhattacharyya系数可以判断台球是否被严重遮挡, 如果台球被大面积遮挡, 就利用线性估计的方法来估计台球的质心位置, 并把此位置当做卡尔曼滤波的观测值来跟新卡尔曼滤波器来实现对运动台球的跟踪;当运动台球完整出现的时候, 就利用Mean Shift与卡尔曼滤波相结合继续对台球进行跟踪。

3 实验数据与分析

实验通过提取一段斯诺克视频的部分片段来实现跟踪过程, 具体的跟踪结果如下:

如图1所示, a为第61帧刚开始击打台球的匹配跟踪轨迹图, b, c分别为第68帧和第75帧的匹配跟踪轨迹图。

如图2所示, a为跟踪的起始帧第48帧, b为第52帧跟踪轨迹图, 此时台球已被完全遮挡, c为第56帧台球完整重现的跟踪轨迹图。Mean Shift与卡尔曼滤波相结合的方法在目标台球遇到大比例遮挡和重新完整出现时也能很好的跟踪。

4 结语

文章利用卡尔曼滤波对运动状态的预测性, 通过预测出下一帧图象中运动台球的可能位置, 缩小检测与跟踪的范围, 实现对运动台球的快速跟踪。针对运动台球是否被遮挡的情况, 分别提出了Kalman与Mean Shift相结合的算法和Kalman与特征匹配相结合的方法来实现对台球的快速跟踪。实验结果表明在台球比赛中, 这两种方法在运动台球的跟踪上具有良好的效果。

摘要:针对无遮挡情况下的跟踪问题, 利用卡尔曼滤波的预测性与特征匹配相结合的方法对目标台球进行跟踪, 以期提高跟踪的实时性和准确性。针对有遮挡情况下的跟踪问题, 根据运动台球具有明显的颜色特性, 采用卡尔曼滤波与Mean Shift相结合的方法, 实验结果表明该方法具有良好的稳健性和实时性。

关键词:卡尔曼滤波,特征匹配,Mean Shift,实时性

参考文献

[1]Bo-Ru Cheng, Je-Ting Li, Jr-Syu Yang.Design of the Neural-Fuzzy Compensator for a Billiard Robot.Networking, Sensing and Control, 2004 IEEE International Conference on Volume 2, 2004 Page (s) :909-913 Vol.2.

[2]Lin Z.M., Yang J.S., Yang C.Y.Grey decision-making for a billiard robot.Systems, Man and Cybernetics, 2004 IEEE International Conference on Volume 6, 10-13 Oct.2004 Page (s) :5350-5355 vol.6.

[3]Ho K.H.L., Martin T., Baldwin J..Snooker robot player-20 years on Computational Intelligence and Games, 2007.CIG2007.IEEE Symposium on 1-5 April 2007 Page (s) :1-8.

卡尔曼粒子滤波 篇8

在现实的目标运动分析中, 目标运动方程的建立一般都不是线性的, 特别是针对红外寻的制导导弹, 导引头仅能够测量角度或角速度信息, 无法测量出弹目相对距离、相对速度和目标加速度等先进制导律所需要的制导参数问题。尽管有些可以近似看成线性系统, 但是大多数的系统不仅不能用线性微分方程描述, 而且其非线性因素还不能忽略。此外有时为了更加精确地得到滤波结果, 也必须应用反映实际系统的非线性模型, 因此对于非线性系统的滤波是一个必须要解决的问题。

由于一般的非线性系统在理论上难以找到严格的递推滤波公式, 因此目前只能采用近似方法研究, 而线性化是用近似方法来研究非线性滤波问题的重要途径之一, 这就是扩展卡尔曼滤波算法 (EKF) 。但是EKF线性化过程中忽略了二阶以上的分量, 因此在滤波精度上存在着较大误差。为了弥补EKF方法的不足, 人们希望通过对非线性函数的概率密度分布近似, 来代替对非线性函数的近似, 这样就可以利用采样逼近的方法来解决非线性问题。1997年, Juliear S.J.和Uhlman J.K.提出了一种新的非线性滤波方法——Unscented卡尔曼滤波 (UKF) 。UKF不需要对非线性系统的状态方程和观测方程进行线性化, 而是利用Unscented变换 (UT) 方法来近似非线性函数的概率密度分布, 因此UKF方法在计算精度上要高于EKF方法, 并且不需要计算状态转移矩阵的雅可比矩阵, 这使得其应用范围更加广泛。

1 UT

UT是UKF的基础, UT的思想是用固定数量的参数去近似一个高斯分布, 这比近似任意的非线性函数或变换更容易。

UT的具体公式如下:

式中:λ = α 2 ( n + k ) n是一个比例因子。 α 决定x ˉ 周围 χ 点的分布状态, 调节 α 以使高阶项的影响达到最小, 通常选择0 ≤ α ≤1 。对高斯分布的情况, 当状态变量为单变量时, 选择k = 2 ;当状态变量为多变量时, 选择) i是矩阵的第i列 (当P =ATA 时, 取的第i行;当P = AAT的第i列) 。 χ 点的选取就是选取尽可能代表X分布点, 而这些点的分布程度取决于的大小。

y的均值和方差可以通过下述公式获得:

其中Wim和Wip分别对应着计算y的均值和方差的加权系数, 要求

2 UKF滤波算法

设非线性系统的状态方程和观测方程为:

式中:x (k) 为n维状态向量;z (k) 为m维的观测向量; w (k) 为系统噪声, v (k) 为观测噪声, 假设它们是均值为零的高斯白噪声, 且互不相关;φ (⋅) 为n维向量方程, 是x (k) 、w (k) 和k的非线性函数;h (⋅) 为m维向量方程, 是x (k + 1) 、v (k + 1) 和k + 1的非线性函数。具体算法如下:

(1) 设置初值

(2) 当k > 1, 计算2n + 1个 χ点:

(3) 时间更新

(4) 测量更新

扩展卡尔曼滤波是通过对非线性方程进行线性化变化得到线性部分, 经过泰勒展开式可以得出这种方法的精度为一阶水平, 而UKF算法则可以使均值精确到非线性部分泰勒展开式的三阶水平, 方差精确到二阶水平。

3 UKF对目标位置预测的应用

3.1模型

对目标飞机的运动进行建模时, 可以将目标飞机看成一个质点, 由于假设目标作直线运动的论文比较多, 在此本文主要做目标机动的建模仿真。飞机最常见的机动动作是盘旋, 而飞机匀速圆周运动的定常盘旋最具有代表性, 故以此来建模仿真。其速度与过载的关系如下:

式中:VT表示目标飞机速度;θ 表示倾角;ψ 表示偏角; XT, YT, ZT为目标飞机在地面坐标系中的位置。

飞机在遭遇导弹攻击以后, 一般会进行机动飞行来逃避导弹攻击, 下面建立飞机等过载机动模型:

式中:nx表示飞机切向过载;ny, nz表示法向过载在y轴和z轴上的分量。

3.2仿真及结果分析

3.2.1不同过载下目标机动

设目标飞机以0.6 Ma≈200 m/s的速度做nf= 2到nf= 9的盘旋机动, 跟据公式 (12) 计算出匀速状态下飞机各个过载的盘旋半径和周期, 观测噪声的方差矩阵R = [0.01], 滤波误差的协方差初始矩阵为P (0) = [2 500, 0, 0;0, 2 500, 0;0, 0, 0.000 1], 离散时间T = 0.1 s, 分别进行仿真, 仿真结果如图1~ 图7所示。 在UKF中 α = 0.5, β = 2。

从图1, 图2中可以看到使用EKF和UKF都能对目标的位置进行预测, 但是当误差稳定时, UKF的误差要小于EKF的误差, 同时从图2中还能看到UKF的收敛速度要高于EKF。

图3~图6分别是飞机在过载为4和过载为7的盘旋条件下进行的弹目仿真。从图上可以看到随着飞机的过载加大, 飞机的机动性增强, 机动半径减小, 机动时间缩短, 跟踪算法由于目标的机动性增大而相应误差增大, 跟踪时间变长, 但是UKF算法在飞机做大机动的前提下仍优于EKF算法。飞机在不同过载下分别被跟踪的数据见表1。

从表1中可以看到, 随着过载的增大, EKF和UKF的跟踪效果都在降低, 主要原因在于目标机动的过载变大, 时间变短, 机动的半径变得较小, 跟踪误差增大。但是两种算法相比较, UKF仍优于EKF算法。

3.2.2测量干扰较大的目标机动

从上述的实验仿真确定了在相同的条件下UKF算法的精度和收敛速度要高于EKF算法。但是在现实中, 导弹的探测信息中存在多种噪声, 如视线角速度的量测误差, 导引头量测误差, 失调角零位的测量误差等等, 这些因素都会引起信号量测值的波动。因此算法的抗干扰能力对于导弹的跟踪效果显得尤为重要。假设目标以0.6 Ma的速度匀速盘旋, 观测噪声方差阵R =[0.01], 陀螺回转中心与位标器质心不重合引起的漂移服从0.01*N (0, 1) , 滤波误差的协方差初始矩阵P (0) = [2 500, 0, 0;0, 2 500, 0;0, 0, 0.000 1], 离散时间T = 0.1 s, 仿真如图7所示。

从图7中可以看到UKF算法的抗干扰能力更强, 更适合在干扰较强的环境中运用。

4结语

本文介绍了UT和UKF的概念, 并将其应用到飞行目标的跟踪, 在观测值为角度的情况下, 对目标的状态进行了较好的估计, 同时在比较UKF和EKF算法中, 反映出UKF能对所有高斯输入向量的非线性函数进行近似, 均值精确到三阶, 方差精确到二阶, 并且不需要计算雅可比矩阵来对非线性函数作近似变换, 能处理非可导的非线性函数, 计算量与EKF相当。理论分析和仿真结果均表明, UKF算法对于目标方位跟踪领域较其他以往的滤波算法更加稳定, 精度更高。

参考文献

[1]JULIER S J, UHLMANN J K.A new extension of the Kalman filter to nonlinear systems[C]//Proceedings of the 11th International Symposium on Aerospace/Defence Sensing, Simulation and Controls.Orlando, Florida:IEEE, 1997:1-12.

[2]ZHOU Hong-ren, KUMAN K S P.A current statistical model and adaptive algorithm for estimating maneuvering targets AIAA[J].Journal of Guidance, Control and Dynamics, 1984, 7 (5) :596-602.

[3]高磊, 严卫生, 任章, 等.改进型自适应推广卡尔曼滤波器的应用[J].火力与指挥控制, 2000, 25 (3) :13-16.

[4]刘铮.UKF算法及改进算法研究[D].长沙:中南大学, 2009.

[5]张红梅, 邓正隆.UKF方法在陆地车辆组合导航中的应用[J].中国惯性技术学报, 2004, 12 (4) :20-23.

[6]管旭军, 芮国胜.基于UKF的单站无源定位算法[J].电光与控制, 2004, 11 (1) :34-36.

[7]吴玲, 卢发兴, 刘忠.UKF算法及其在目标被动跟踪中的应用[J].系统工程与电子技术, 2005, 27 (1) :49-51.

[8]秦永元, 张洪钺, 汪叔华.卡尔曼滤波与组合导航原理[M].西安:西北工业大学出版社, 1998.

卡尔曼粒子滤波 篇9

随着环境问题的日益突出新能源有了广阔的[1]发展前景,作为新能源重要组成部分的风力发电技术,在中国已有巨大的发展[2]; 风力发电核心技术: 风机控制技术的研究更是相关学者关注的焦点。目前的风机控制技术现场运行比较稳定,但仍存在可优化空间[3]。对风机控制技术的研究,可行的方法是在现行的控制技术基础上合理优化,加入先进的控制理念及控制方法; 而抛弃风机控制多年的研究及实践积累,完全重新开始,以奇特理念为导向的研究必定不会长远。

目前风机转矩控制技术以最优叶尖速比控制配合转矩PI调节完成[4,5],其输入信号为电机转速,而电机受制于风轮巨大惯量,电机转速当前信号与气动转矩变化趋势存在很大滞后,造成控制滞后现象。卡尔曼滤波算法能通过输入值和历史数据动态预测下一时刻输出值[6,7],可有效解决转速滞后于风轮气动转矩问题。

本文基于电机转速的卡尔曼滤波控制进行研究,建立转速预测模型,研究预测转速作为转矩控制输入对风机系统模型的响应改善情况。以C语言为工具,编制并生成基于卡尔曼滤波的风机转矩控制算法dll,在许继综合仿真平台及bladed软件中进行仿真验证。利用有效数据对比来评估引入卡尔曼滤波预测算法的有效性及风场应用可行性。

1 风机转矩转速传递方程建立

为分析主要传动过程动态特性,建立基风机传动链动态模型。传动模型建立时忽略传动过程能量损失及部分风机耦合影响,并做如下计算变换: 将高速轴的刚度、高速轴及电机的转动惯量依据能量守恒原则折合到低速轴进行建模分析。基于此,

其中Taero为风轮气动转矩; Jr为风轮惯量; Jg为折合到低速轴的电机惯量; Tg为折合到低速轴的电机转矩。k为传动轴总刚度; C为传动轴总阻尼; θsh传动轴折合扭转角; Ωr为风轮转速。

扭转角与风轮电机的转速差有如下关系:

当增加一个传动链控振动阻尼项之后,风机的传动控制模型可表示为图1 所示。

为避免与模型物理变量混淆,图1 中控制目标相关变量增加上标ref,控制需求相关增加上标dem,控制给定相关增加上标set。

由模型得扭转加速度传递函数:

其中为气动转矩损失部分,可通过经验公式取值。

2 卡尔曼滤波预测方程建立

卡尔曼滤波器以动态调整滤波器增益系数来实现信号的准确预测。卡尔曼滤波的输入为信号的测量值,输出为相应测量值的预测结果。本系统的输入选择发电机的电磁转矩测量值及电机转速测量值,为区别对待,记为和,本文测量值全部用此法标示,同样为预测

由式( 1) 和式( 5) ,可得增量式方程如下:

式( 6) 式( 7) 式( 8) 确定了卡尔曼滤波的迭代状态方程。其中Kg( i) 为动态预测权系数,Kg( i) 为实时更新的量,其包含了现在时刻与历史数据的协方差信息。

记式( 6) 、式( 7) 、式( 8) 确定的系统状态矩阵为A,状态控制矩阵为B,状态量为X。则状态预测的计算机迭代更新过程可表示为如图2 所示的流程。

图2 所涉及的其它符号意义下文依次说明。

设 ξ( i) 为测量过程的高斯白噪声,其协方差为R1( i) ,协方差值的确定依据传感器的测量精度确定; η( i) 为计算高斯白噪声,计算噪声协方差记为R2(i),计算噪声协方差的确定要依据模型可信度完成。

则系统输出K时刻与K-1时刻的协方差P(K|K-1)可表示为:

其中P( K - 1 | K - 1) 为系统输出X( K - 1 | K - 1) 对应的协方差; A'为系统转置矩阵。

滤波增益Kg( i) 的K时刻更新式可表示为:

其中H为测量系统矩阵,风机转速传感器和转矩测量信号全为正负32 767 转化为相应的测量区间,因此,H矩阵为一个简单的系数矩阵; R1即为测量协方差为R1( i) 的矩阵表示形式。

当前时刻的预测值可以表示为:

其中U( K) 为控制输入量。

对当前状态的估计值可表示为:

对当前状态下协方差的计算更新可由下式完成:

其中I为单位矩阵。

由式(9)至式(13)可知,计算只保留了当前输出的上一时刻数据信息,但系数因子Kg(K)中却包含了所有历史数据信息,卡尔曼滤波简化了ARMA计算过程中利用所有历史数据构建回归系统方程的繁琐计算,简单有效的利用自相关协方差的实时更新,实现了滤波系数的实时更新,顺利的完成了滤波预测的过程。滤波系数更新过程如图3所示。

3 实验验证

3. 1 算法对风机控制的作用及验证

发电机转速的卡尔曼滤波预测,本质上是滤除非吸收风能变化率的高斯噪声干扰,为风机转矩控制器提供较精确的输入参考值。同时,柔性的传动系统模型和有效的传动链扭转角卡尔曼滤波预测,为当前广泛使用的传动链加阻算法的有效应用提供可靠保证。

滤波算法的验证在许继FJK800 风机主控系统综合仿真实验平台上进行,并利用风电行业通用软件bladed软件进行再验证。

首先,确定风机模型参数和传感器测量均方差R2( i) ,本例应用平台现有的2 兆瓦风机参数及传感器数据。

然后,利用C语言实现滤波算法程序化,并套用bladed软件可识别的dll格式,生成相应算法动态链接库进行仿真验证。

3. 2 仿真验证结果

设置仿真风况为12 m/s平均风速,仿真风湍流风种子为相同风种子,以增加可比性。利用经卡尔曼滤波和未经卡尔曼滤波的两种发电机转速的处理结果分别作为转矩控制器的输入,对控制结果做比较。

图4为该风况下电机转矩输出结果。

由结果可知:经卡尔曼滤波的电机转速,能够更好的反馈风机风轮存储能量变化,故此转矩控制器利用此信号作为输入信号减小了转矩的波动幅度,对传动链的疲劳载荷减缓有利。

图5为上述风况下卡尔曼滤前后发电功率的比较,由图可知,电功率在增加卡尔曼滤波算法后较之前平稳度有所增加。

4 结束语

本文建立了风机传动链的柔性动态方程,为电机转速卡尔曼滤波算法实施提供系统矩阵; 在风机柔性传动链模型基础上,推导了传动链卡尔曼滤波更新模型; 依据卡尔曼滤波理论,讨论了系统协方差及测量协方差的取值依据和更新过程,并得到了卡尔曼滤波增益每个计算周期的更新公式,完成了超前预测滤波算法的计算流程。

依托实验平台和bladed软件,对算法进行了仿真验证,验证结果表明,算法能够收窄传动链的扭转振动幅度,减小传动链运行过程中的疲劳载荷,并对发电功率平稳性有利,可以进行风场实际应用。

参考文献

[1]陶学军,卢晓光.基于控制方法的风机塔架减振研究[J].机电工程,2014,31(3):325-329.

[2]金鑫,钟翔,谢双义,等.大型风力发电机转矩LQR控制及载荷优化[J].电力系统保护与控制,2013,41(6):93-98.

[3]秦大同,龙威,杨军,等.变风速运行控制下风电传动系统的动态特性[J].机械工程学报,2012,48(7):1-8.

[4]凌志刚,李含善,高绢绢.并网型双馈风力发电机组的动态模型仿真研究[J].电气技术,2011,12(4):31-34.

[5]田书,王泾良,李凯.基于PSCAD的变速恒频双馈风电系统动态模型仿真[J].河南理工大学学报:自然科学版,2014,33(5):655-659.

[6]何玉林,黄帅,杜静,等.基于前馈的风力发电机组变桨距控制[J].电力系统保护与控制,2012,40(3):15-20.

上一篇:高校财务管理体制下一篇:网络设备实验室

本站热搜