Kalman滤波器参数

结合自己平时处理的数据,简单分析下kalman滤波器中参数对于滤波效果的影响。

Kalman滤波参数影响总结

Predict中给出的方程:

其中Pz,vz,bz分别代表z轴方向的位置、速度和加速度;u为输入,r为扰动,Q为过程噪声;

由于在kalman滤波中应用的都是x(k)=A*x(k-1)+B*u(k-1)+Q;此处求解的为下一时刻的状态量。由于上面公式求解的为状态的导数。故转化为:

系统的kalman的simulink图为

其中x(k)=x(k-1)+dx*delta_t 其中delta_t是由.m文件中程序设定累加的时间间隔,x(k)-->x(k-1)是由MATLAB的延迟模块1/z获得。Delta_t决定了采样的时间点的选取,越小说明采样越密集,精确度越高;1/Z模块是根据当前状态延迟一个时刻,得到前一个状态。状态中两者相互影响。

[u+r]为加速度和扰动的输入,即系统的可靠性。这里的加速度u=0,扰动r为白噪声,在.m文件中输入。

方差P的计算同上。

观测信号为常数为10,加上均值为0,方差为1的离散高斯噪声。

仿真结果:

t=t*dt;dt=0.1; 画出的图形采样点缩小了10倍;

a: 

过程噪声:Q取值越小越好,不能过小,容易发散。Q1=diag[0.5^2  0.2^2  0.3^2]

Q的比较图如下:

Q=0.01*Q1 随着Q的增加,越发散,如下图:

Q=0.01*Q1;由图可以看出,过程噪声越小,越收敛。当Q<0.01*Q1时,收敛改善的空间比较小。

最佳状态选取Q=0.01*Q1;

Q值越小,收敛越强;随着时间点的增长,Q过于小,完全发散,如下图

b:  P0:方差的初始值,值越大,刚开始收敛越慢,越震荡;选取合适的P0,使得初始时刻避免震荡。

结合下图,P0的最佳选择为:P0=0;

c:  R 为测量噪声,R<1 容易震荡,R=6 系统比较稳定,R增加,效果改变不明显。(为了便于观察,图中选取1000个点)。

R的最佳取值在5附近,增加过多,效果不明显。如下图:

d:   delta_t 的选择:

delta_t决定系统的采样时间,x(k)=x(k-1)+x(k-1)*delta_t; delta_t的选取值越小,计算越精确。

e:  系统的最佳状态:R=5;Q=0.01*Q1;P0=0;如下图

选取一段观察:

如图可以看出,选取适当的P0,R, Q ,使得经过kalman滤波输出的值接近于真实值,并且不发散。本系统选取P0=0,R=5,Q=0.01*diag(0.5^2  0.2^2  0.3^2); delta-t=0.0001;

总结:

过程噪声:Q取值越小越好,不能过小,容易发散。此处选取Q=0.001;

P0:方差的初始值,值越大,刚开始收敛越慢,越震荡;选取合适的P0,使得初始时刻避免震荡。选取P0=0;

R 为测量噪声,R<1 容易震荡,R=6 系统比较稳定,R增加,效果改变不明显。此处选取R=6;

Kalman滤波器参数分析相关推荐

  1. Kalman滤波器从原理到实现

    转载请注明出处:http://xiahouzuoxin.github.io/notes Kalman滤波器的历史渊源 We are like dwarfs on the shoulders of gi ...

  2. matlab与卡尔曼滤波pdf,Kalman滤波器理论与应用:基于MATLAB实现 完整pdf高清版[3MB]...

    <Kalman滤波器理论与应用:基于MATLAB实现>以Kalman滤波器为主要介绍对象,包含基本原理.推导方法及其在跟踪系统中的应用,同时配套MATLAB源程序.具体内容包括Kalman ...

  3. Kalman滤波器从原理到实现 github收藏

    Kalman滤波器的历史渊源 We are like dwarfs on the shoulders of giants, by whose grace we see farther than the ...

  4. ADC的参数分析以及采样分析

    A/D变换器的性能参数 2.1 采样速率与分辨率 采样速率指模数变换的速率,而分辨率表示变换输出数字数据的比特数.这2个参数很重要,因为较高的采样速率与分辨率对应了高信噪比和较宽的信号输入带宽.近几年 ...

  5. AI:IPPR的数学表示-CNN结构/参数分析

    前言:CNN迎接多类的挑战 特定类型的传统PR方法特征提取的方法是固定的,模式函数的形式是固定的,在理论上产生了特定的"局限性" 的,分类准确度可以使用PAC学习理论的方法计算出来 ...

  6. OpenCV3学习(12.3) kalman滤波器

    卡尔曼滤波器: 卡尔曼滤波是一种递归的估计,即只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值,因此不需要记录观测或者估计的历史信息.卡尔曼滤波器与大多数滤波器不同之处,在 ...

  7. α-β滤波器(一种1维稳态Kalman滤波器)详解

    α−β\alpha-\betaα−β滤波器 文章目录 α−β\alpha-\betaα−β滤波器 状态方程和观测方程 α−β\alpha-\betaα−β滤波器最终形式 α−β\alpha-\beta ...

  8. 基于Matlab中Simulink生成FPGA-Verilog语言及联合Vivado的仿真(以卡尔曼-Kalman滤波器为例)

    目录 一.简介 二.在Simulink中生成Verilog语言 1.在Simulink中建立Kalman滤波器仿真 2.将Kalman滤波器部分打包 3.生成Verilog程序 3.1.参数配置 3. ...

  9. Kalman滤波器初学者入门

    书评:<卡尔曼滤波原理及应用--MATLAB仿真> <卡尔曼滤波原理及应用--MATLAB仿真>(简称<卡>).<粒子滤波原理及应用--MATLAB仿真> ...

  10. Chart.js-极区图分析(参数分析+例图)

    Chart.js-极区图分析(参数分析+例图) 极区图样式总览 基本写法 参数解析 极区图1 - 普通极区图 极区图样式总览 基本写法 首先在< script >标签里面引入chart.j ...

最新文章

  1. bugzilla dbd-mysql_在Red Hat Linux下安装配置Bugzilla
  2. 军队文职计算机考试题,2020军队文职计算机知识:计算机考试练习题(6)
  3. 按一个按钮会随机死人_《饥荒》那些年坑爹的随机地图,最后一个简直笑死人...
  4. 导出Oracle数据库字典
  5. PHP curl 使用代码
  6. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)
  7. vscode制表位_vscode 常用配置
  8. perf-perf stat用户层代码分析
  9. 高考进行时,AI 监考老师已就位!
  10. Cannot uninstall ‘requests’. It is a distutils installed project and thus we cannot accurately deter
  11. bochs运行xp_bochs xp镜像
  12. 重建同义词+oracle,Oracle中创建,删除同义词 Synonym
  13. 从零开始学习CANoe(六)—— CAPL 测试节点
  14. 机器学习:蒙特卡罗方法
  15. 形式语言与自动机 第4章 正规文法和正规集的性质
  16. javaWeb10(ckeditorsmartupload)
  17. 【毕业设计】基于Stm32的便携体测仪(心率 体温) - 单片机 嵌入式 物联网
  18. java的Intersect用法_intersect、minus的用法
  19. Django的MVT的思路
  20. 复旦大学日月光华BBS进站画面和壁纸

热门文章

  1. android 亮屏 激活自动亮度调节,Android 屏幕亮度调节(2.0以后出现亮度自动调节)如何开启、关闭亮度自动调节...
  2. HSSFWorkbook 锁定部分单元格,或者锁定一个单元格
  3. linux修改中国时区
  4. 我做过的最好的$ 4.90
  5. CPU卡一卡通解决方案
  6. pycharm中的Run with Python console功能是什么意思?
  7. win11在计算机管理中添加用户发现没有本地用户和组,命令方式添加用户以及查看用户
  8. Flutter 2.8 更新详解
  9. 19个免费的UI界面设计工具及资源
  10. 女性电子商务服装评论