第4讲:UKF滤波算法
扩展Kalman滤波(EKF)和无迹卡尔曼滤波(ukf)

三、无迹卡尔曼滤波算法(UKF)
假设n维随机向量x : N(x, Px) ,x通过非线性函数y=f(x) 变换后得到n维的随机变量y。通过UT变换可以以较 高的精度和较低的计算复杂度求得y的均值 y 和方 差 Px 。UT的具体过程可描述如下:
三、无迹卡尔曼滤波算法(UKF)
UKF是用确定的采样来近似状态的后验PDF,可以 有效解决由系统非线性的加剧而引起的滤波发散问 题,但UKF仍是用高斯分布来逼近系统状态的后验概 率密度,所以在系统状态的后验概率密度是非高斯 的情况下,滤波结果将有极大的误差。
三、无迹卡尔曼滤波算法(UKF)
: Matlab程序
dax = 1.5; day = 1.5; % 系统噪声
X = zeros(len,4); X(1,:) = [0, 50, 500, 0]; % 状态模拟的初值
for k=2:len
x = X(k-1,1); vx = X(k-1,2); y = X(k-1,3); vy = X(k-1,4);
F(3,4) = 1;
F(4,4) = 2*ky*vy;
2) = 1;
二、扩展Kalman滤波(EKF)算法
function H = JacobianH(X) % 量测雅可比函数
x = X(1); y = X(3);
H = zeros(2,4);
r = sqrt(x^2+y^2);
二、扩展Kalman滤波(EKF)算法
EKF算法是一种近似方法,它将非线性模型在状态 估计值附近作泰勒级数展开,并在一阶截断,用得 到的一阶近似项作为原状态方程和测量方程近似表 达形式,从而实现线性化同时假定线性化后的状态 依然服从高斯分布,然后对线性化后的系统采用标 准卡尔曼滤波获得状态估计。采用局部线性化技术, 能得到问题局部最优解,但它能否收敛于全局最优 解,取决于函数的非线性强度以及展开点的选择。
UKF滤波算法在弹箭落点估计中的应用优先出版

弹箭与制导学报Journal of Projectiles, Rockets, Missiles and Guidance收稿日期:UKF滤波算法在弹箭落点估计中的应用曾凡桥1,陈国光1,高小东2,刘霖1(1中北大学机电工程学院,太原 030051;2豫西工业集团军品研发中心,河南南阳 473000)摘要:依据部分弹道的弹道轨迹测量数据,准确地预报弹道落点,是弹道修正弹药智能化的关键技术。
综合考虑滤波精度和算法复杂度,本文采用质点弹道模型和无迹卡尔曼滤波(Unscented Kalman Filter)方法,建立了弹道滤波模型和外推弹道模型。
通过对雷达测量数据的处理结果表明,UKF弹道滤波模型和质点外推模型有较高的精度。
关键词:UKF;弹道落点;雷达;弹道滤波中图分类号:TJ410.1 文献标志码:AApplication of Unscented Kalman Filter In Estimationof Projectile Falling PointZENG Fanqiao1,CHEN Guoguang1,GAO Xiaodong2,LIU Lin1(1 College of Mechatronic Engineering,North University of China,Taiyuan 030051,China;2Yuxi Industries Group Co.Ltd,Henan Nanyang 473000,China)Abstract: According to the measured data of part of ballistic trajectory to accurately predict the trajectory falling point ,it is the key technology of the intelligence of trajectory correction ammunition. Considering the filtering accuracy and complexity of algorithms , the ballistic model of filtering and the ballistic model of extrapolating were established by using particle trajectory equations and Unscented Kalman Filter method in this paper. The processing results of the measured data obtained by radar show that the ballistic model of UKF filtering and the particle ballistic model of extrapolating have higher accuracy.Keywords:Unscented Kalman Filter;trajectory falling point;radar;trajectory filtering0 引言在现代战争中,为减少不必要的附加损伤,要求弹箭具有精确的点目标打击能力,弹道修正弹就是诸多新型弹药中低成本、高精度的炮兵常规弹药之一。
ukf滤波算法范文

ukf滤波算法范文UKF(Unscented Kalman Filter)是一种基于卡尔曼滤波的非线性滤波算法。
相比于传统的扩展卡尔曼滤波(EKF),UKF通过一种更好的方法来近似非线性系统的概率分布,从而提高了非线性滤波的精确度和鲁棒性。
UKF通过一种称为“无气味变换(unscented transform)”的方法来处理非线性函数。
该方法基于对概率分布的均值和协方差进行一系列的采样点选择,然后通过变换这些采样点来近似非线性函数的传播。
这些采样点被称为“Sigma点”,可以看作是真实系统状态在均值周围的一系列假设状态。
UKF的基本步骤如下:1.初始化:初始化系统状态和协方差矩阵。
2. 预测步骤(Prediction):- 通过生成Sigma点来近似系统状态的概率分布。
- 将Sigma点通过非线性函数进行变换,得到预测状态和预测协方差矩阵。
-计算预测状态的均值和协方差。
3. 更新步骤(Update):- 通过生成Sigma点来近似测量函数的概率分布。
- 将预测状态的Sigma点通过测量函数进行变换,得到预测测量和预测测量协方差矩阵。
-计算预测测量的均值和协方差。
-根据实际测量值和预测测量的概率分布,计算卡尔曼增益。
-更新预测状态和协方差。
UKF相比于EKF具有以下优势:1.不需要对非线性函数进行线性化。
EKF通过一阶泰勒展开来线性化非线性函数,这可能导致误差积累和不稳定性。
UKF通过采样点直接逼近非线性函数,避免了这个问题。
2.更好的估计准确度和收敛性。
UKF通过采样点的选择更好地逼近了真实概率分布,提高了滤波的准确度和收敛性。
3.适用于高维状态空间。
EKF在高维状态空间中存在计算复杂度高和数值不稳定的问题,而UKF则通过更好的采样点选择来解决了这个问题。
4.对初始条件不敏感。
UKF对初始条件的选择不太敏感,可以在一定程度上避免初始条件选择不当导致的滤波失效问题。
尽管UKF相比于EKF有许多优势,但它也存在一些缺点。
UKF法滤波性能分析

UKF 算法滤波性能分析高海南 3110038011一、仿真问题描述考虑一个在二维平面x-y 内运动的质点M ,其在某一时刻k 的位置、速度和M 在水平方向(x )作近似匀加速直线运动,垂直方向(y )上亦作近似匀加速直线运动。
两方向上运动具其中假设一坐标位置为(0,0)的雷达对M显然在笛卡尔坐标系下,该模型运动观测方程为非线性的。
我们根据雷达测量值使用UKF 算法对目标进行跟踪,并与EKF 算法结果进行比较。
二、问题分析1. UKF 滤波跟踪有协方差阵k R 。
ukf 算法步骤如下: (1) 计算σ点1|1i k k --ξ,依据1|1k k --x 和1|1k k --p 生成2n+1个σ点1|1i k k --ξ,0,1,2,2i n =。
在UT 变换时,取尺度参数01.0=α,0=κ,2=β。
(2) 计算σ点|ik k ξ,即()()|1|12|1|02|1||1||110(),0,1,2,2ˆˆˆi i k kk k k nm i k k i k k i n T c i ik k i k k k k k k k k k i i n ωωω---=----=⎧⎪==⎪⎪=⎨⎪⎪=--+⎪⎩∑∑ξf ξxξp ξx ξx Q (3) 计算σ点|1ˆk k -x|1k k -p 通过量测方程对k x 的传播,即(4) 计算输出的一步提前预测,即(5) 获得新的量测后,进行滤波更新:2. 扩展卡尔曼滤波算法分析(1)()()()(())()k k k k k k k k +=+⎧⎨=+⎩x f x w z h x v 的,定义k |1k ˆ=()k k k k-∂=∂x x xf x f xEKF 算法步骤如下:k 时刻的一步提前预测状态预测误差协方差阵为卡尔曼滤波增益为在k 时刻得到新的量测后,状态滤波的更新公式为状态滤波协方差矩阵为三、实验仿真与结果分析N=50,采样时间为t=0.5。
迹如图1所示。
UKF滤波

7.3 UKF 滤波UKF 滤波,仍然采用高斯分布代替状态量的分布,不同的是,通过特别挑选的样本点来表示状态量。
这些样本点完全可以表示出GRV (高斯随机变量)的均值和方差。
即使经过非线性变换(任何非线性变换)后,也能逼近变换后的均值和方差,逼近精度可以达到二阶泰勒展开后的精度。
下面开始介绍UT 变换。
UT 变换:UT 变换是计算随机变量经过非线性变换后的统计特征的一种方法。
考虑非线性函数:(x)y f =,记x 的均值和方差为,x x P 。
现在需要计算y 的统计特性,即ˆ,y yP 。
可以采用下面的方法,构造一个矩阵,矩阵中包含21L +个simga 向量:0 1,,, 1,,2,i i i i L xx i L x i L L -ℵ=ℵ=+=ℵ=-=+ (1)其中:2()L L λακ=+-——为尺度参数;α——确定sigma 点在x 周围的分布范围,4101α-≤≤; κ——尺度参数,其值通常为3L -β——x 分布合作参数,x 分布若为高斯分布,则2β=为最优值。
i 列向量。
(矩阵均方根值可以通过进行柯西因式分解得到)构造x 的样本后,则对应于x 的每个样本点,可以计算对应的y 样本:i ()i y f =ℵ(2)通过y 样本,可以计算,y y P2(m)02(c)0()()Li ii LTy i i i i y W y P W y y y y ==≈≈--∑∑ (3)其中,权重系数i W 可以由下式确定:(m)0()20(m)()11,1,,22()c c i i W L W L W W i LL λλλαβλλ=+=+-++===+ (4)UT 变换不同于蒙特卡洛法,蒙特卡洛法需要产生大量的样本点,而UT 变换不需要。
UT 变换计算非线性函数的统计特性,对于输入为高斯输入的非线性系统,计算精度至少为3阶,对于输入不是高斯输入的非线性系统,计算精度至少可以达到2阶,如果适当选择,αβ 的值,计算精度可以达到3阶或以上。
抗差UKF

最早提出的自适应滤波算法称为Sage-Husa自适应滤
波算法fuel,它是在利用观测数据进行递推滤波的同 时,通过时变噪声统计估值器,实时估计和修正系统 噪声和观测噪声的统计特性,从而达到降低模型误差、 抑制滤波发散,提高滤波精度的目的。 后续提出的自适应UKF滤波算法也是在此算法的基础 上进行改进和完善的。
着目标的机动,实时根据滤波残差的变化改变过程噪声值来跟踪机动目标。它不需 要具备目标运动的先验信息,可跟踪大范围内机动的目标。但是由于目标机动时在 三维笛卡尔坐标各方向的加速度是不同的,各方向过程噪声的变化应该不一致,而文 献[[101,102]中各方向过程噪声的变化是一致的,与实际情况有些不符,影响了跟踪性 能同时文献[101,102]中的自适应Kalman滤波器如要用在非线性系统,只能用扩展 Kalman滤波器(EKF),而扩展Kalman滤波器有易发散的缺点。 近年来出现了应用于非线性系统的UKF滤波器,与EKF滤波相比具有精度高, 不易发散的优点。但在非线性系统中,标准UKF滤波器无法直接依据滤波残差变化 改变过程噪声,来达到自适应滤波的目的。本章节在标准UKF滤波器的基础上,利 用无迹变换(Unscented Transformation,UT ) }IO3}解决滤波残差统计特性从量测空间到 三维坐标空间的非线性转换问题,根据滤波残差在三维空间的变化相应改变过程噪 声协方差矩阵的大小,实现了自适应滤波。
抗差自适应UKF
利用等价权原理,设计抗差UKF,由于等价权是残
差的函数,为了获得更加准确的等价权,要进行迭代 运算。
为了适应高动态的导航系统,观测噪声,系统噪声不
明的情况,引入自适应因子,不断调节观测噪声的模 型以适应高动态的运动 将抗差模型与自适应相结合的改进算法性能更加完善
水下组合导航UKF/PF自适应滤波算法

20 年 1 08 2月
武汉理工大 学学报鸯 鍪 ) ( 差
J u n l fW u a nv r i fTe h oo y o r a h nU ie st o c n l g o y
( rn p r t n S i c T a s o t i c n e& E gn e i ) a0 e n ie r g n
器 的设 计.
UKF状 态估 计 为P F确定 一种 重要性 函数 ;2 将 ()
P F的所 有 粒 子分 为 随机 性 粒 子 和确定 性 粒 子 两
部分 , 传统 P 与 F滤波方 法 一样 , 随机 粒子 都 从 重
1 UKF P 混合 滤 波 算 法 /F
在 实 际 应用 的情 况 下 , 噪声 并 不 满足 高 斯 分 布 , 统 也是 非 线 性 的. 此 , 为 非 高斯 非 线性 系 因 作 的 滤波 方 法 , 子 滤 波 ( F) 有 广 泛 的适 用 性 . 粒 P 具 国内外 研究 表 明 , 如何 选 取 合理 粒 子 滤波 重要 性
必 备 信息. 于在水 下无 法接 收G S 北斗 、 由 P、 罗兰C
观且 易 于 实现 , 是没 有 利用 最 新 的 观测 信息 进 但
行粒 子采样 , 波精度 因此受 到 限制. 合考 虑先 滤 综
等 外 部导 航 信 息 , 艇处 于潜 航状 态 时 只能 依靠 潜
自主式 导航 系统 . 舰位 推 算 ( DR) 和惯性 导航 系统 (NS 是最 常见 的 2种 自主式 导航 方式 . R 利用 I ) D 航 向 信息和 速度 信息 迭代 推算 载体 的各 时刻位置
UK / F混 合 滤 波 算 法 用 于 D I FP R/NS组 合 滤 波 器 设计 的 有 效 性 . 关 键 词 : 色 卡尔 曼 滤 波 ; 子 滤 波 ; 合 导 航 ; 位 推 算 无 粒 组 舰
第4讲:UKF滤波算法

wk ~ N (0, Qk )
v k ~ N (0, Rk )
(1)初始化
ˆ x0 = E [x0 ]
ˆ ˆ P0 = E (x0 − x0 )(x0 − x0 )
[
Tቤተ መጻሕፍቲ ባይዱ
]
(2)状态估计
1.计算Sigma点
ˆ χ k0−1 = xk −1 ˆ χ ki −1 = xk −1 ˆ χ ki −1 = xk −1 +
0⎤ Q 0⎥ ⎥ 0 R⎥ ⎦ 0
(2)状态估计
1.计算Sigma点
ˆ 根据 x a , k −1 和 Pa , k −1 ,构造增广Sigma点
0 ˆ χ a ,k −1 = xa ,k −1
i ˆ χ a ,k −1 = xa ,k −1 + i ˆ χ a ,k −1 = xa ,k −1
− k
− k
计算量
与 EKF 的计算量在同一个数量阶,对于 n 维 系统,为 O(n3)。 UKF 和 EKF 的计算量之比大致为: UKF : EKF= 3 : 1 UKF 的主要计算量在于选取 Sigma 点时的方 根分解运算 Pk −1 。所以优化计算可以从分解方 式入手,好的分解方式可以减小计算量。
增广状态的方差为
⎡ Px ,k ⎢ 0 =⎢ ⎢ 0 ⎣ 0⎤ ⎥ Q 0⎥ 0 R⎥ ⎦ 0
Pa ,k
(1)初始化
ˆ x0 = E [x0 ]
ˆ ˆ Px ,0 = E ( x0 − x0 )( x0 − x0 )
ˆ xa , 0 = E x
[
T
]
[
T 0
0
T m×1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
− k
− k
计算量
与 EKF 的计算量在同一个数量阶,对于 n 维 系统,为 O(n3)。 UKF 和 EKF 的计算量之比大致为: UKF : EKF= 3 : 1 UKF 的主要计算量在于选取 Sigma 点时的方 根分解运算 Pk −1 。所以优化计算可以从分解方 式入手,好的分解方式可以减小计算量。
(1)加性噪声
x k +1 = f ( x k ) + wk
y k = h( x k ) + v k
(2)噪声隐含
x k +1 = f ( x k , wk )
y k = h( x k , v k )
简化UKF滤波算法 (加性噪声)
对于非线性系统
x k +1 = f ( x k ) + wk
y k = h( x k ) + v k
2n
γ ki |k −1 = h(χ ki |k −1 )
i ˆ− y k = ∑ Wi ( m )γ k |k −1 i =0 2n
3.测量更新方程
i ˆ− i ˆ− Py , k = ∑ Wi ( c ) [γ k |k −1 − y k ][γ k |k −1 − y k ]T + Rk i =0
假定状态为高斯随机矢量;过程噪声与测量噪 声的统计特性为
wk ~ N (0, Qk )
v k ~ N (0, Rk )
(1)初始化
ˆ x0 = E [x0 ]
ˆ ˆ P0 = E (x0 − x0 )(x0 − x0 )
[
T
]
(2)状态估计
1.计算Sigma点
ˆ χ k0−1 = xk −1 ˆ χ ki −1 = xk −1 ˆ χ ki −1 = xk −1 +
i ˆ− yk = ∑ Wi (m )γ k |k −1 i =0 2N
3.测量更新方程
Py ,k = ∑ Wi
i =0 2N 2N
(c )
[γ
ቤተ መጻሕፍቲ ባይዱi k |k −1
ˆ −y γ
− k − k
][
i k |k −1
ˆ −y
− T k
]
Pxy ,k = ∑ Wi
i =0
(c )
[χ
i x , k |k −1
(1)对非线性函数的概率密度分布进行近似, 而不是对非线性函数进行近似,即使系统的模 型复杂,也不增加算法实现的难度。 (2)所得到的非线性函数的统计量的准确性 可以达到三阶(泰勒展开)。 (3)不需要计算Jacobi矩阵,可以处理不可导 非线性函数。
UKF滤波算法
UKF实现思想
UKF=Unscented transform + Kalman Filter
UKF滤波
以UT变换为基础,采用卡尔曼滤波器框架, 采样形式为确定性采样。在减少采样粒子点数 的同时保证逼近精度。
Unscented变换 (Unscented Transformation)
Unscented变换
(1)构造Sigma点 根据随机向量 x 的统计量 x 和 Px Sigma点集
⎧x + ⎪ ⎪ χ i = ⎨x − ⎪ ⎪x ⎩
,构造
( (
(n + κ )Px )i (n + κ )Px )i
, i = 1,..., n , i = n + 1,...,2n , i=0
用这组采样点 χ i 可以近似表示状态 x 的高斯分 布。
κ 为尺度参数,调整它可以提高逼近精度。
(2)对Sigma点进行非线性变换 对所构造的点集 {χ i } 进行 f (⋅) 非线性变换, 得到变换后的Sigma点集
UKF的优点
不必计算 Jacobi 矩阵,不必对非线性系统函 数 f (x) 进行任何形式的逼近; 预测阶段只是标准的线性代数运算(矩阵方根 分解,外积,矩阵和向量求和); 系统函数可以不连续; 随机状态可以不是高斯的; 计算量和 EKF 同阶。
扩维UKF滤波算法 (噪声隐含)
若过程噪声与测量噪声是隐含在系统中的,即 系统方程为
0⎤ Q 0⎥ ⎥ 0 R⎥ ⎦ 0
(2)状态估计
1.计算Sigma点
ˆ 根据 x a , k −1 和 Pa , k −1 ,构造增广Sigma点
0 ˆ χ a ,k −1 = xa ,k −1
i ˆ χ a ,k −1 = xa ,k −1 + i ˆ χ a ,k −1 = xa ,k −1
ˆ −x γ
][
i k |k −1
ˆ −y
− T k
]
K = Pxy, k Py−,1k
ˆ ˆ ˆ xk = x + K ( y k − y )
Px , k = Px− k − KPy , k K T ,
− k
− k
两类UKF算法的比较
处理加性噪声的简化UKF的Sigma点较处理隐 含噪声的扩维UKF要少许多。 简化UKF的Sigma点数:2n+1 扩维UKF的Sigma点数:2N+1=2(n+m+l)+1 由此,简化UKF的计算量较之扩维UKF大大降 低。
即 UKF 可以看作是基于 UT 技术的卡尔曼滤 波器。在卡尔曼滤波算法中,对于一步预测 方程,使用UT变换来处理均值和协方差的非 线性传递,就成为UKF算法。
状态的时间更新:
选定状态的 2n+1 个 Sigma点(n 为状态维数); 利用 UT 技术计算状态的后验均值和方差。
状态的测量更新:
利用标准的 Kalman 滤波的测量更新,但使用 的公式有所不同。
增广状态的方差为
⎡ Px ,k ⎢ 0 =⎢ ⎢ 0 ⎣ 0⎤ ⎥ Q 0⎥ 0 R⎥ ⎦ 0
Pa ,k
(1)初始化
ˆ x0 = E [x0 ]
ˆ ˆ Px ,0 = E ( x0 − x0 )( x0 − x0 )
ˆ xa , 0 = E x
[
T
]
[
T 0
0
T m×1
0l×1
T
]
T
Pa , 0
⎡ Px , 0 =⎢ 0 ⎢ ⎢ 0 ⎣
以提高方差的精度。
Unscented变换原理图
Wi (m )
Weighted Sample Mean
x
+ −
y
a
Px
f( )
Yi
Weighted Sample Covariance
n +κ
{χ i } = [ x x + a Px
Wi
(c )
Py
x − a Px ]
UT 示意图
UT UT
Uscented变换的特点
2n
2n
i ˆ− i ˆ− Pxy, k = ∑ Wi ( c ) [ χ k |k −1 − x k ][γ k |k −1 − y k ]T i =0
K = Pxy, k Py−,1k
ˆ ˆ ˆ xk = x + K ( y k − y )
Px , k = Px− k − KPy , k K T ,
Yi = f (χ i )
i = 0,1,...,2n
变换后的Sigma点集 {Yi }即可近似地表示 y = f ( x ) 的分布。
(3)计算 y 的均值和方差 对变换后的Sigma点集 {Yi } 进行加权处理, 从而得到输出量 y 的均值和方差
y ≈ ∑ Wi Yi
(m )
i =0
2n
2n
Py ≈ ∑ Wi
i =0
(c )
(Yi − y )(Yi − y )
T
(m ) W i 和 Wi (c )分别为计算 y 的均值和方差所用加权
W0
(c )
(m )
= κ (n + κ )
W0 = κ (n + κ ) + 1 − α + β
2
(
)
Wi (m ) = Wi (c ) = κ [2(n + κ )]
其中:
, i = 1,...,2n
κ = α 2 (n + λ ) − n
在均值和方差加权中需要确定 α 、λ 和 β 共3个参 数,它们的取值范围分别为: 确定 x 周围Sigma点的分布,通常设为一个较小 α 的正数(1 > α ≥ 1e −4 );
λ 为第二个尺度参数,通常设置为0或3-n; 为状态分布参数,对于高斯分布 β = 2 是最优的, β 如果状态变量是单变量,则最佳的选择是 β = 0 。 适当调节 α 、 可以提高估计均值的精度;调节 β 可 λ
ˆ xk = E xk Y k = xk + K k [yk − yk ]
{
}
K k = Pxy (k )Py−1 (k )
y k = E y k Y k −1
{
Py (k ) = E [ y k − h( x k )][ y k − h( x k )] Y k −1
T
Pxy (k ) = E [x k − x k ][ y k − h( x k )] Y k −1
一步预测
根据所有过去时刻的测量信息对状态作最 小方差估计 x k = E x k Y k −1
{
}
状态估计质量的优劣利用一步预测误差 协方差矩阵描述
Pk = E ( x k − x k )( x k − x k ) Y k −1
T
{
}
测量修正
获得当前时刻的测量信息后,对状态预测 估值进行修正,得到状态的最优估计值
i ˆ xk− = ∑ Wi (m ) χ x ,k |k −1 i =0 2N