第4讲:UKF滤波算法

合集下载

扩展Kalman滤波(EKF)和无迹卡尔曼滤波(ukf)

扩展Kalman滤波(EKF)和无迹卡尔曼滤波(ukf)
UKF算法的核心是UT变换,UT是一种计算非线性 变换中的随机变量的统计特征的新方法,是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滤波算法在弹箭落点估计中的应用优先出版

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滤波算法范文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法滤波性能分析

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滤波

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

抗差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自适应滤波算法

水下组合导航UKF/PF自适应滤波算法
第 3 卷 第 6期 2
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滤波算法

第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

ukf滤波算法

ukf滤波算法

ukf滤波算法UKF(Unscented Kalman Filter)滤波算法是一种非线性滤波算法,目的是通过逼近非线性系统的状态和测量值的真实分布来估计系统的状态。

相比于传统的Kalman滤波算法,UKF采用了Sigma点来近似系统状态和测量值的分布,从而可以处理非线性系统。

UKF算法的基本思想是使用一些特定的采样点(称为Sigma点)来近似系统状态和测量值的分布。

通过对这些Sigma点进行传播和更新,可以获得系统的状态估计值。

具体来说,UKF算法包含以下几个步骤:1.初始化:确定系统的状态和观测方程,以及状态协方差矩阵和测量噪声协方差矩阵。

2. Sigma点生成:根据系统状态的均值和协方差矩阵,生成一组代表系统状态的Sigma点。

通常,Sigma点的个数是通过经验确定的,一般取2n+1个,其中n是状态向量的维度。

3. Sigma点传播:根据系统的非线性状态方程,通过将Sigma点传播到下一个时刻,得到预测的Sigma点。

这一步骤的目的是在状态空间中对预测状态进行采样。

4.状态预测:利用预测的Sigma点计算出预测的系统状态的均值和协方差矩阵。

5. Sigma点更新:根据测量模型,通过对预测的Sigma点进行线性变换,得到预测的测量值Sigma点。

这一步骤的目的是在测量空间中对预测状态进行采样。

6.测量预测:利用预测的测量值Sigma点计算出预测的测量值的均值和协方差矩阵。

7.卡尔曼增益计算:根据预测的状态和测量值的均值和协方差矩阵,计算出卡尔曼增益。

8.状态更新:利用测量值对预测的状态进行修正,得到更新后的状态估计值和协方差矩阵。

通过以上步骤,UKF算法可以通过对状态和测量值的Sigma点进行传播和更新,逼近非线性系统的状态和测量值的真实分布,从而得到系统的状态估计值。

UKF算法的优点是可以处理非线性系统,并且不需要对系统进行线性化处理。

相比于传统的扩展卡尔曼滤波(EKF)算法,UKF算法更加精确和鲁棒。

基于UKF的滤波算法设计分析与应用共3篇

基于UKF的滤波算法设计分析与应用共3篇

基于UKF的滤波算法设计分析与应用共3篇基于UKF的滤波算法设计分析与应用1基于UKF的滤波算法设计分析与应用随着科技的发展,各行各业的数据处理越来越重要,滤波算法在这个过程中扮演了重要的角色。

本文将探讨一种基于UKF的滤波算法,包括其设计分析以及应用。

UKF是一种针对非线性系统的滤波算法,其全称为无迹卡尔曼滤波器(Unscented Kalman Filter)。

相比于卡尔曼滤波器,UKF更加适用于非线性、非高斯的系统,并且其运行速度更快、精度更高。

在UKF的运行过程中,需要进行两次变换,分别为sigma点变换和权值变换,其中sigma点变换将高斯分布的均值和协方差矩阵转换为一些离散的点,这些点在系统的非线性关系下具有良好的近似性质,权值变换则是将这些点的权重求出,最终依据这些点和权重来进行滤波。

在实际应用中,UKF滤波算法及其改进算法大量被应用在各种领域,比如机器人控制、导航、雷达信号处理等等。

本文将以信号处理方面为例,探讨在声音信号处理中,UKF滤波算法的设计分析与应用。

在声音信号处理中,我们常常需要对信号进行滤波以去除噪声,但是传统的滤波算法在处理非线性、非高斯信号时,精度不够高。

因此,UKF滤波算法便成了一个较好的选择。

在设计UKF滤波算法时,需要根据实际需求设置相关参数,比如系统的状态变量和测量变量,以及噪声的协方差矩阵。

在应用过程中,需要将待滤波的信号和上一时刻的状态量带入UKF滤波器进行处理,得到一个经过优化的滤波结果。

在实际应用中,UKF滤波算法在音频降噪方面表现突出,其通过取sigma点进行变换,避免了需要用到高斯假设的问题。

在汽车音响中,UKF滤波算法还可以用于提高音频效果,比如降低回声和噪声,提升车内音质。

此外,在语音识别领域中,UKF滤波算法可以有效提高语音识别的准确性,避免非线性噪声的影响。

需要注意的是,UKF滤波算法并不是万能的,其在处理高维系统时会有一定难度,而且高斯分布的假设仍然是不可取的。

基于UKF和线性优化的改进粒子滤波算法

基于UKF和线性优化的改进粒子滤波算法
总第 2 9 0 期 2 1 年第 1 期 01 1
舰 船 电 子 工 程
S i e to i gn e ig hp Elcr Байду номын сангаасcEn ie rn
Vo. 1No 1 13 . 1
57
基 于 UKF和 线 性 优 化 的改 进粒 子滤 波算 法
黄 双 华¨ 白海 东D
Hu n h a g u a gS u n h a Ba ad n ’ i H i o g 。 Ke Bi 。 J a g Ya y n n in n a g
( v lUnv r i fEn ie ig 。W u a 4 0 3 ) W u a d a c C. Ac d m yo ’ Na a ie st o gn en ” y hn 3 0 3 ( h n Or n n eN. 0 a e fPL ,W u a 4 0 7 ) hn 3 0 5
( 海军 工程 大学 武汉 摘 要

斌。 江 艳阳D
4 0 7 ) 海司 四部雷达处。 北京 305( 10 0 ) 00 0
403 ( 3 0 3)武汉军械士 官学 校 武汉
针对标准粒子滤 波算 法存 在的粒子退化 问题 , 提出了一种改进 的粒子滤波算 法 , 该算 法将不敏 卡尔曼滤波算
( eF u t e at n f v o Th o r D p r h me t yC mma d B in 1 0 0 ) o Na n , e i j g 0 0 0
Ab t a t Du o t e d g n r c e i t g i h a tce fl r e c m b n d p r il i e l o i m s p e e t d i s rc e t h e e e a x s i n t e p r il i e ,a n w o i e a tce fl r a g r h i r s n e n n t t t

一类非线性滤波器--UKF综述

一类非线性滤波器--UKF综述

自治机器人定
位 地面车辆导航 和图像跟踪 等 最近在
随机信号处理 语音识别和增强 等方面也有
应用

和目前流行的非线性估计算

方法结合 提出了
算法
在提出
时使用的仿真实
例就是导弹再入问题 用
处理状态方程中的强
非线性

在导弹再入问题中的性能
进行了分析

用于自治机器人定
位 处理定位中的非线性变换问题

处理车辆导航中状态方程的强非线性
阶矩的统计量 求解
得到 的有
效选取为
由于 值可取正值或负值
当 为负时 无法保证式 的半正定性 对式
进行如下修改
单形采样
在对称采样中
点的个数为
在对实时性要求比较高的系统中 要求进一步减少
点的数目 从而降低计算负载 根据文献
的分析 对于一个 维分布状态空间 最少需要
个点才能确定 在单形采样策略中
点的个
数为

具有相同的重要性 而且从
点的分布可以看

点是空间中心对称和轴对称的 对称采样
确保任意分布的近似精度达到
展开式 阶截
断 这种
点选取策略使得高于 阶的 奇次中
心矩为 这一点使其比较吻合高斯分布的特征 对
于高斯分布 可达到
展开式 阶截断 对于
值的选取 应进一步考虑 分布的高阶矩 也就是考
虑代价函数
对于高斯分布 考虑
究 杨峰
男 陕西西安人 博士生 从事多传感信息融合理论 机动目标跟踪等研究
控制与决策
第卷
注 粒子滤波器
使用参考分布 随机产生
大量粒子 然后将这些粒子通过非线性函数变换得

一种基于UKF的天文组合导航滤波算法研究

一种基于UKF的天文组合导航滤波算法研究

一种基于UKF的天文组合导航滤波算法研究摘要:飞机导航系统的设计需要考虑传感器和外部因素不稳定带来的影响,同时在飞行中也面临着导航系统和量测噪声统计不确定问题,因而导致滤波精度低,稳定性差,有可能发散。

为此本文研究了一种基于UKF的自适应卡尔曼滤波算法,能自动平衡状态信息与观测信息在滤波结果中的权比,来实时调整状态向量和观测向量的协方差,从而提高系统的性能。

仿真结果表明该算法定位精度高,稳定性好,具有重要的工程应用价值。

关键词:UKF 自适应滤波组合导航1、引言SINS能完全独立自主的工作,具有短时精度高、输出连续、抗干扰能力强,可同时提供位置、姿态信息等突出优点,但它误差随时间积累,长时间工作的误差很大;CNS精度高、误差不随时间积累,在所有导航设备中航向精度最高,观测目标为天体不可能被人为摧毁,战争时可用性高,但其输出信息不连续,并且在某些情况下会受到外界环境的影响,如在航空中的应用容易受到气候条件的影响[1],目前我国比较先进的星敏感器的输出频率为1Hz,对有高精度要求的军用载体来说是不适用的[2]。

由于两者都存在着自身难以克服的缺点,但两者具有互补的特点,所以,将其组合不仅具有独立系统各自的主要优点,而且随着组合水平的加深,它们之间互相交流、使用信息加强,SINS/天文组合系统的总体性能要优于各自独立系统。

本文研究的自适应UKF卡尔曼滤波算法,在系统噪声统计特性未知时,此算法能自动平衡状态信息与观测信息在滤波结果中的权比,来实时调整状态向量和观测向量的协方差,从而提高系统的性能。

2、星敏感器姿态测量误差分析星敏感器是高精度仪器,但也存在多种误差源,主要包括光学系统成像误差,加工、装配误差,光轴不稳定性,CCD噪声、暗电流、性应不均匀性,电子线路噪声,标定误差等。

因此,星敏感器的姿态确定精度实际上受到诸多因素的影响[3]:2.1 星象提取误差星象提取误差主要来源于星光信号本身,包括恒星的自行、光行差、视差、光线弯曲等误差以及星表误差。

扩展Kalman滤波(EKF)和无迹卡尔曼滤波(ukf)分析

扩展Kalman滤波(EKF)和无迹卡尔曼滤波(ukf)分析

二、扩展Kalman滤波(EKF)算法





vy = vy + (ky*vy^2-g+day*randn(1))*Ts; X(k,:) = [x, vx, y, vy]; end figure(1), hold off, plot(X(:,1),X(:,3),'-b'), grid on % figure(2), plot(X(:,2:2:4)) % 构造量测量 mrad = 0.001; dr = 10; dafa = 10*mrad; % 量测噪声 for k=1:len r = sqrt(X(k,1)^2+X(k,3)^2) + dr*randn(1,1); a = atan(X(k,1)/X(k,3)) + dafa*randn(1,1); Z(k,:) = [r, a]; end
成线性问题。 对于非线性问题线性化常用的两大途径:
(1) 将非线性环节线性化,对高阶项采用忽略或逼近措施;(EKF)
(2)用采样方法近似非线性分布. ( UKF)
二、扩展Kalman滤波(EKF)算法

EKF算法是一种近似方法,它将非线性模型在状态 估计值附近作泰勒级数展开,并在一阶截断,用得 到的一阶近似项作为原状态方程和测量方程近似表 达形式,从而实现线性化同时假定线性化后的状态 依然服从高斯分布,然后对线性化后的系统采用标 准卡尔曼滤波获得状态估计。采用局部线性化技术, 能得到问题局部最优解,但它能否收敛于全局最优 解,取决于函数的非线性强度以及展开点的选择。
二、扩展Kalman滤波(EKF)算法



figure(1), plot(X_est(:,1),X_est(:,3), '+r') xlabel('X'); ylabel('Y'); title('ekf simulation'); legend('real', 'measurement', 'ekf estimated'); %%%%%%%%%%%%%%%%%%%%子程序%%%%%%%%%%%%%%%%%%% function F = JacobianF(X, kx, ky, g) % 系统状态雅可比函数 = X(2); vy = X(4); F = zeros(4,4); F(1, F(2,2) = -2*kx*vx; F(3,4) = 1; F(4,4) = 2*ky*vy; 2) = 1;

无迹卡尔曼滤波 指数模型-概述说明以及解释

无迹卡尔曼滤波 指数模型-概述说明以及解释

无迹卡尔曼滤波指数模型-概述说明以及解释1.引言1.1 概述无迹卡尔曼滤波(UKF)是一种用于非线性系统状态估计的先进滤波算法,通过在高斯分布上取样一些特定点(称为无迹变换),对系统状态的不确定性进行建模。

相比传统的卡尔曼滤波算法,UKF能够更好地处理非线性系统,并且在一些情况下具有更好的性能。

指数模型是一种常见的数学模型,通常用于描述随时间指数增长或减少的趋势。

指数模型在经济学、生物学、工程学等领域中被广泛应用,可以帮助分析和预测未来的趋势变化。

本文将介绍无迹卡尔曼滤波和指数模型的基本原理和应用方法,同时探讨它们在现实生活中的实际应用案例。

通过深入理解这两种模型,我们可以更好地应用它们解决现实世界中的问题,提高系统的状态估计精度和预测准确性。

1.2 文章结构本文主要分为三个部分,即引言、正文和结论。

具体如下:引言部分主要介绍了本文的背景和意义,框定了研究的范围和目的,为读者提供了对整个文章内容的整体认识。

正文部分包括了对无迹卡尔曼滤波和指数模型的介绍,分别讨论了它们的定义、原理和特点,同时给出了相关的数学公式和算法,通过实例分析展示了它们的应用。

结论部分对整篇文章进行了总结,重点强调了无迹卡尔曼滤波和指数模型在实际应用中的价值和意义,并展望了它们的未来发展方向。

同时给出了本文的结论和建议,为读者提供了在相关领域深入研究的参考。

1.3 目的本文旨在探讨无迹卡尔曼滤波和指数模型在数据处理和预测中的应用。

通过分析这两种算法的原理和特点,我们将更深入地了解它们在实际情况下的适用性和效果。

同时,我们也将通过实际案例的介绍来展示这两种算法在不同领域的应用效果,从而为读者提供更多关于无迹卡尔曼滤波和指数模型的了解和应用方法。

我们希望通过本文的阐述,读者能够对这两种算法有一个全面的认识,并在实际工作中灵活运用它们以解决问题和提升工作效率。

2.正文2.1 无迹卡尔曼滤波无迹卡尔曼滤波(UKF)是一种基于传统卡尔曼滤波算法的扩展,旨在解决非线性系统状态估计问题。

不敏卡尔曼滤波UKF介绍

不敏卡尔曼滤波UKF介绍
(c) (i ) T ˆ ˆ Px w ( x )( z z ) i k k / k 1 k k / k 1 k z k i 0 i 0 2n 2n i 0 2 i 0 2n
2n
Simulation of UKF—Nonlinear state equation
(3)求
S ,定义 k
2n (c)
Sk 如下:
(i ) k (i ) T k
Sk wi ( )
i 0
(4)互协方差阵定义如下:
Px ( k z k wi
(c) i 0
2n
(i ) k
T ˆ ˆ xk / k 1 )( zk zk / k 1 )
观测未采用U变换, 用观测值代替采样值均值
Simulation of UKF--With Multiplicative Noise
Simulation of UKF--With Multiplicative Noise
Simulation of UKF--With Multiplicative Noise
Simulation of UKF--With Multiplicative Noise
ˆk / k 1 wi ( m ) k( i ) x ˆk / k 1 )( k(i ) x ˆk / k 1 )T Qk 1 Pk / k 1 wi ( c ) ( k(i ) x Pzk mk Ck Pk / k 1Ck T k Ck S k Ck T Rk S k wi ( c ) k( i ) ( k(i ) )T
Tracking ballistic objects in reentry phase
0 Sk 1 k ( Sk ) G wk g k yk y k ] S k [ xk x k ( S k ) S k Gf k ( S k ) Nonlinear Part g 2 2 S k [2] f k (Sk ) ( S k [3]) S k [2] S k [4] S [4] 2 k

UKF的算法介绍

UKF的算法介绍

UKF的算法介绍——作者,niewei120,nuaa参数说明:其中sigama点的获得方法如下:例外的一种描述方式其滤波算法表示如下:UKF 中各参数的影响:α确定了采样点与均值的远近程度,通常取0 到1 之间的正值,所取值越大则距离平均值越远,当其值为零时,UKF 的滤波效果相当于EKF;UT中的k 为一比例因子,通常取为0,当状态分布可以认为是高斯分布时,可取k = n - 3(n为状态向量x 的维数);β在正态分布时取2。

当Q 和R 过大时,UKF 的状态非常不稳定,有时甚至还会发散。

整个的matlab的程序如下:(1)sigama点的计算,输出为siagma点和权重值,以及sigama点的数量function [xPts, wPts, nPts] = scaledSymmetricSigmaPoints(x,P,alpha,beta,kappa)% % This function returns the scaled symmetric sigma point distribution.%% [xPts, wPts, nPts] = scaledSymmetricSigmaPoints(x,P,alpha,beta,kappa) %% Inputs:% x mean 状态量均值% P covariance 协方差% alpha scaling parameter 1% a决定万周围Sigma点的分布状态,调节其值能够使得高阶项影响最小% beta extra weight on zero'th point% 调节beta的值可以提高方差的精度,对于高斯分布,beta为2是最优的% kappa scaling parameter 2 (usually set to default 0)% 是一个比例因子kappa=alpha^2*(n+kappa)-n%% Outputs:% xPts The sigma points sigma点% wPts The weights on the points 所在点的权重% nPts The number of points sigma点的数目%%%% (C) 2000 Rudolph van der Merwe% (C) 1998-2000 S. J. Julier.% Number of sigma points and scaling terms sigma点的个数n = size(x(:),1);nPts = 2*n+1; % we're using the symmetric SUT 采用的是对称sui,此时的sigma点为2n+1% Recalculate kappa according to scaling parameters 根据标定参数重新计算kappa值kappa = alpha^2*(n+kappa)-n;% Allocate space 分配空间wPts=zeros(1,nPts);xPts=zeros(n,nPts);% Calculate matrix square root of weighted covariance matrix 计算根号下的协方差矩阵Psqrtm=(chol((n+kappa)*P))';% Array of the sigma points sigma点的阵列xPts=[zeros(size(P,1),1) -Psqrtm Psqrtm];% Add mean back inxPts = xPts + repmat(x,1,nPts);% Array of the weights for each sigma point sigma点的权重阵列wPts=[kappa 0.5*ones(1,nPts-1) 0]/(n+kappa);% Now calculate the zero'th covariance term weight 计算0处的协方差权重wPts(nPts+1) = wPts(1) + (1-alpha^2) + beta;(2)ukf滤波算法function[xEst,PEst,xPred,PPred,zPred,inovation,S,K]=ukf(xEst,PEst,U,Q,ffun,z,R,hfun,dt,alpha,beta,kappa) % TITLE : UNSCENTED KALMAN FILTER%% PURPOSE : This function performs one complete step of the unscented Kalman filter.%% SYNTAX : [xEst,PEst,xPred,PPred,zPred,inovation]=ukf(xEst,PEst,U,Q,ffun,z,R,hfun,dt,alpha,beta,kappa)% % INPUTS : - xEst : state mean estimate at time k k时刻卡尔曼状态量均值的预测值% - PEst : state covariance at time k k时刻协方差的预测值% - U : vector of control inputs 输入的控制量% - Q : process noise covariance at time k k时刻的状态噪声%% - z : observation at k+1 k+1时刻的观测量% - R : measurement noise covariance at k+1 k+1的测量噪声的协方差%% - ffun : process model function 状态方程% - hfun : observation model function 观测方程% - dt : time step (passed to ffun/hfun) 时间步长% - alpha (optional) : sigma point scaling parameter. Defaults to% 1.影响sigma向量围绕分布的扩展因子% - beta (optional) : higher order error scaling parameter.% Default to 0. 另一个规模因子% - kappa (optional) : scalar tuning parameter 1. Defaults to% 0. 先验分布的因子%% OUTPUTS : - xEst : updated estimate of state mean at time% k+1 k+1时刻的状态量的更新值% - PEst : updated state covariance at time k+1% k+1时刻的协方差的更新值% - xPred : prediction of state mean at time k+1% k+1时刻的状态量的预测值% - PPred : prediction of state covariance at time% k+1 k+1时刻的协方差预测值% - inovation : innovation vector 更新矢量% NOTES : The process model is of the form, x(k+1) = ffun[x(k),v(k),dt,u(k)]% where v(k) is the process noise vector. The observation model is% of the form, z(k) = hfun[x(k),w(k),dt,u(k)], where w(k) is the% observation noise vector.%% This code was written to be readable. There is significant% scope for optimisation even in Matlab.%% Process defaultsif (nargin < 10)alpha=1;end;if (nargin < 11)beta=0;end;if (nargin < 12)kappa=0;end;% Calculate the dimensions of the problem and a few useful% scalarsstates = size(xEst(:),1);observations = size(z(:),1);vNoise = size(Q,2); %过程噪声wNoise = size(R,2); %观测噪声noises = vNoise+wNoise;% Augment the state vector with the noise vectors.% Note: For simple, additive noise models this part% can be done differently to save on computational cost.% For details, contact Rudolph v.d. Merweif (noises)N=[Q zeros(vNoise,wNoise); zeros(wNoise,vNoise) R];PQ=[PEst zeros(states,noises);zeros(noises,states) N];xQ=[xEst;zeros(noises,1)];elsePQ=PEst;xQ=xEst;end;% Calculate the sigma points and there corresponding weights using the Scaled Unscented% Transformation[xSigmaPts, wSigmaPts, nsp] = scaledSymmetricSigmaPoints(xQ, PQ, alpha, beta, kappa); %计算sigma点的均值、权重和sigma点的数目% Duplicate wSigmaPts into matrix for code speedup 重复wSigmaPts使得矩阵运算速度提升wSigmaPts_xmat = repmat(wSigmaPts(:,2:nsp),states,1);wSigmaPts_zmat = repmat(wSigmaPts(:,2:nsp),observations,1);% Work out the projected sigma points and their means% This routine is fairly generic. The only thing to watch out for are% angular discontinuities. There is a standard trick for doing this -% contact me (Julier) for details!xPredSigmaPts = feval(ffun,xSigmaPts(1:states,:),repmat(U(:),1,nsp),xSigmaPts(states+1:states+vNoise,:),dt);%状态更新zPredSigmaPts = feval(hfun,xPredSigmaPts,repmat(U(:),1,nsp),xSigmaPts(states+vNoise+1:states+noises,:),dt);%观测更新% Calculate the mean. Based on discussions with C. Schaefer, form% is chosen to maximise numerical robustness.% - I vectorized this part of the code for a speed increase : RvdM 2000xPred = sum(wSigmaPts_xmat .* (xPredSigmaPts(:,2:nsp) - repmat(xPredSigmaPts(:,1),1,nsp-1)),2);%状态量的一步预测值zPred = sum(wSigmaPts_zmat .* (zPredSigmaPts(:,2:nsp) - repmat(zPredSigmaPts(:,1),1,nsp-1)),2);%观测量的一步预测值xPred=xPred+xPredSigmaPts(:,1);zPred=zPred+zPredSigmaPts(:,1);% Work out the covariances and the cross correlations. Note that% the weight on the 0th point is different from the mean% calculation due to the scaled unscented algorithm.exSigmaPt = xPredSigmaPts(:,1)-xPred; %sigma点状态值的误差ezSigmaPt = zPredSigmaPts(:,1)-zPred; %sigma点量测值的误差PPred = wSigmaPts(nsp+1)*exSigmaPt*exSigmaPt';%状态量的协方差PxzPred = wSigmaPts(nsp+1)*exSigmaPt*ezSigmaPt';%状态量与观测量的协方差S = wSigmaPts(nsp+1)*ezSigmaPt*ezSigmaPt';%观测量的协方差exSigmaPt = xPredSigmaPts(:,2:nsp) - repmat(xPred,1,nsp-1);%sigma点状态值的误差的更新ezSigmaPt = zPredSigmaPts(:,2:nsp) - repmat(zPred,1,nsp-1);%sigma点量测值的误差的更新PPred = PPred + (wSigmaPts_xmat .* exSigmaPt) * exSigmaPt';%状态量的协方差的更新S = S + (wSigmaPts_zmat .* ezSigmaPt) * ezSigmaPt';%观测量的协方差的更新PxzPred = PxzPred + exSigmaPt * (wSigmaPts_zmat .* ezSigmaPt)';%状态量与观测量的协方差的更新%%%%% MEASUREMENT UPDATE 量测更新% Calculate Kalman gain 计算卡尔曼增益K = PxzPred / S;% Calculate Innovation 计算测量误差inovation = z - zPred;% Update mean 更新状态量均值xEst = xPred + K*inovation;% Update covariance 更新协方差PEst = PPred - K*S*K';。

非线性卡尔曼滤波EKF与UKF

非线性卡尔曼滤波EKF与UKF
达式。 注意我们用 x k 替换 xk 了来表达先验概率 的意思,并且雅可比矩阵A,W,H,V也被加上 了下标,明了它们在不同的时刻具有变化的

值,每次需要被重复计算。
二、扩展卡尔曼滤波器
扩展卡尔曼滤波器时间更新方程
xk f xk 1 , uk 1 ,0



T T P A P A Q k k k 1 k k 1 k 1 k 1
状态
100 80 60 40 20 0
0
50 时间步长
100
150
四、Matlab仿真
由仿真结果可知,UKF有着更高的精度。
UKF是对非线性函数的概率密度分布进行近似,用
一系列确定样本来逼近状态的后验概率密度,而不 是对非线性函数进行近似,不需要求导计算 Jacobian矩阵。 UKF没有线性化忽略高阶项,因此非线性分布统计 量的计算精度较高。
ukf通过引入确定样本的方法用较少的样本点来表示状态的分布这些样本点能够准确地捕获高斯随机变量的均值和协方差矩阵当其通过任意非线性函数时函数输出值能够拟合真实函数值精度可以逼近3阶以上
非线性卡尔曼滤波器
——EKF与UKF
ቤተ መጻሕፍቲ ባይዱ
目录
前言
扩展 卡尔曼滤波
无损 卡尔曼滤波
Matlab仿真
一、前言
• 卡尔曼滤波(Kalman filtering)一种利用线性 系统状态方程,通过系统输入输出观测数据, 对系统状态进行最优估计的算法。 • 适用于线性、离散和有限维系统。
ˆ (k | k 1) W m (k | k 1) Y i i
i 0 2L
三、无损卡尔曼滤波器
测量更新
ˆ ( k | k 1)) (Y ( k | k 1) Y ˆ( k | k 1)) T ] PXY (k | k 1) Wi c [( i (k | k 1) X i

无迹卡尔曼滤波算法

无迹卡尔曼滤波算法

无迹卡尔曼滤波算法
无迹卡尔曼滤波算法(Unscented Kalman Filter,UKF)是一种用于处理非线性系统的非参数滤波算法,它可以从观测和测量数据中推断隐藏状态的值。

UKF的基本思想是基于状态变量的状态和测量变量的观测,使用一系列加权的状态估计来预测未来状态,并通过观测和测量值来校正预测值。

UKF的优点在于它可以处理非线性系统,而不需要对系统进行线性化处理,从而可以更准确地估计隐藏状态变量,准确度比传统卡尔曼滤波算法更高。

UKF是一种经典的非线性滤波算法,它可以利用观测和测量值,以及相关的不确定性信息,以准确的方式估计隐藏状态变量。

它也可以用于自适应控制,机器人移动控制,机器视觉,自动驾驶等领域。

UKF可以用来模拟复杂的物理过程,估计不同的系统参数,以及更准确地预测未来的状态,这在许多领域,如自动驾驶汽车,智能机器人,机器视觉,航空航天,大气科学和精细化工等领域中都很有用。

总之,无迹卡尔曼滤波算法是一种用于处理非线性系统的有效滤波算法,能够从观测和测量数据中推断隐藏状态的值,准确度比传统卡尔曼滤波算法更高,在航空航天,机器人,机器视觉,控制系统,大气科学和精细化工等领域都得到了广泛应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档