资源简介
无损卡尔曼滤波程序,输入参数即可使用,程序注释详细,适合初学者
代码片段和文件信息
function [xP]=ukf(fstatexPhmeaszQR)
% UKF Unscented Kalman Filter for nonlinear dynamic systems
% [x P] = ukf(fxPhzQR) returns state estimate x and state covariance P
% for nonlinear dynamic system (for simplicity noises are assumed as additive):
% x_k+1 = f(x_k) + w_k
% z_k = h(x_k) + v_k
% where w ~ N(0Q) meaning w is gaussian noise with covariance Q
% v ~ N(0R) meaning v is gaussian noise with covariance R
% Inputs: f: function handle for f(x)
% x: “a priori“ state estimate
% P: “a priori“ estimated state covariance
% h: fanction handle for h(x)
% z: current measurement 实际的观测值
% Q: process noise covariance
% R: measurement noise covariance
% Output: x: “a posteriori“ state estimate
% P: “a posteriori“ state covariance
%
% Example: demo.m
%第一步 参数计算;
L=numel(x); %numer of states
m=numel(z); %numer of measurements
alpha=1e-3; %default tunable
ki=0; %default tunable
beta=2; %default tunable
lambda=alpha^2*(L+ki)-L; %scaling factor
c=L+lambda; %scaling factor
Wm=[lambda/c 0.5/c+zeros(12*L)]; %weights for means
Wc=Wm;
Wc(1)=Wc(1)+(1-alpha^2+beta); %weights for covariance
c=sqrt(c);
%第二步 计算Sigma点集X
X=sigmas(xPc); %sigma points around x (共2*3+1个)
%第三步 时间更新:将Sigma点集X经过非线性函数fstate向前一步传播(预测),并计算以下几个值
% x1:预测均值(先验)
% P1:预测方差
% X1: 传播后点集
% X2:X1点集与均值的偏差
[x1X1P1X2]=ut(fstateXWm
- 上一篇:线性系统基于观测器的状态反馈控制的切换控制
- 下一篇:3机9节点潮流计算编程
相关资源
- GPS接受机中的卡尔曼滤波MATLAB代码
- 卡尔曼滤波课程8次matlab仿真作业
- CT模型机动目标圆周运动跟踪
- 卡尔曼滤波(Kalman)Matlab工具箱
- 平方根无迹卡尔曼滤波matlab代码
- 卡尔曼滤波的MATLAB实现
- 卡尔曼滤波-Matlab程序
- 卡尔曼滤波器的实现
- 惯性导航扩展卡尔曼滤波MATLAB
- 卡尔曼滤波matlab
- 基于卡尔曼滤波理论设计的航母甲板
- 经典卡尔曼滤波 目标跟踪 matlab 程序
- 卡尔曼推导流程记录和一个matlab例程
- matlab ar模型卡尔曼滤波代码
- AOA定位的扩展卡尔曼滤波定位算法M
- 卡尔曼滤波EKF UKF PF对比matlab源程序
- matlab 实现语音增强含维纳滤波、谱减
- 基于三阶RC的卡尔曼滤波SOC估算模型
- 基于卡尔曼滤波的soc估计程序
-
扩展卡尔曼滤波SOC算法Simuli
nk模型 - 容积卡尔曼滤波
- GPS精密单点定位
- 用α-β滤波器结合卡尔曼滤波器对相位
- 超宽带TOA定位卡尔曼滤波定位算法m
- 卡尔曼滤波组合导航程序
- matlab采用卡尔曼滤波法进行运动轨迹
- 卡尔曼滤波数据用于处理GPS信号
- 姿态确定的扩展卡尔曼滤波Matlab
- 永磁同步电机扩展卡尔曼滤波器.rar
- [网盘]卡尔曼滤波原理及应用MATLAB仿真
评论
共有 条评论