前段时间收到私信和email,问我关于Q和R怎么取、如何调。前面说过p0和x0怎么找的问题,Q和R怎么找还没有说过,这里就简单探讨一下。

Q和R的意义

Q值为过程噪声,越小系统越容易收敛,表示对模型预测的值信任度越高;但是太小则容易发散,如果Q为零,那么我们只相信预测值;Q值越大表示对于预测的信任度就越低,而对测量值的信任度就变高;如果Q值无穷大,那么则表示信任测量值。
R值为测量噪声。R太大,滤波的响应(此处响应特指对量测值的响应)会变慢,因为它对新测量的值的信任度降低;越小系统收敛越快,但过小则容易出现震荡。
如果Q和R选择不对,确实很影响滤波效果。可以做这样的实验:把R后面多加几个0,设10000吧,Q设为0,试试看,输出的结果应该跟不加观测量的时候是一样的,这是因为Q=0,R=10000几乎代表只相信系统预测的值,而不相信观测值了。如果系统输入是惯导,现在应该已经发散了。

选取(试错的起点)

Q和R的具体数值应该由过程噪声和测量噪声的外积期望决定,如果我们了解这些噪声的大小,那可以直接把Q和R算出来,做仿真的时候这是完全可以算出来的,算出来按道理就是最优估计了,后面的就不用看了。但实际情况大多是噪声大小知道大概是什么范围,但又不是特别了解,那就选一个心目中觉得最有可能的大小,先算出来一下Q换R,带进去。
这就是是错的起点。

调参

后面就可以慢慢调参了。
以我的经验,当Q过小时,易发散,当R过小时,误差会变大,同时如果搭配观测量同时看,R过小时滤波输出会趋近于观测量。
调试时可以先将Q从小往大调整,将R从大往小调整;先固定一个值去调整另外一个值,看收敛速度与波形输出。
在允许多次尝试时,编过一个程序,用几个for循环嵌套,github的链接:https://github.com/evandworld/findPQ

浅谈滤波中Q和R的调整——KF第三篇笔记相关推荐

  1. 浅谈android中图片处理之色彩特效处理ColorMatrix(三)

    在android开发中对图片处理很是频繁,其中对图片的颜色处理就是很常见的一种.我们经常看到一些类似美图秀秀,美颜相机的app,为什么那么黑的人拍出来是确实那么地白呢?长的那么那个(丑)的人,用美颜相 ...

  2. 浅谈Android中的MVP与动态代理的结合

    浅谈Android中的MVP与动态代理的结合 本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 在Android开发平台上接触MVP足足算起来大概已经有一个年头左右.从最开始到现在经 ...

  3. python的re2和re区别_浅谈Python中re.match()和re.search()的使用及区别

    1.re.match()fvk免费资源网 re.match()的概念是从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None.fvk免费资源网 包含的参数如下: ...

  4. python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式

    本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...

  5. python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题

    浅谈python中拼接路径os.path.join斜杠的问题 调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠 directory1='/opt/apps/upgradePac ...

  6. python 中arange函数_浅谈Python中range与Numpy中arange的比较

    本文先比较range与arange的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明. 1. range与arange的比较 (1)相同点:A.参数的可选性. ...

  7. 浅谈Hibernate中的几个查询

    浅谈Hibernate中的几个查询 一.load和get方法的区别 1.load在查询时,先从一级缓存中寻找与数据索引对应的实体对象,然后构建并返回一个代理对象,当我们真正使用这个代理对象的时候,这时 ...

  8. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

  9. python中gil锁和线程锁_浅谈Python中的全局锁(GIL)问题

    CPU-bound(计算密集型) 和I/O bound(I/O密集型) 计算密集型任务(CPU-bound) 的特点是要进行大量的计算,占据着主要的任务,消耗CPU资源,一直处于满负荷状态.比如复杂的 ...

最新文章

  1. 服务器无法显示大内存的处理办法
  2. ext3文件系统反删除利器-ext3grep
  3. 机器学习(一)梯度下降算法
  4. SQL里的SWITCH分支语句
  5. 适用于Java开发人员的Elasticsearch教程
  6. C++ 函数默认参数和占位参数
  7. java web 三层架构
  8. SQL Server 2014数据访问层
  9. 服装色差的识别成因与预防
  10. 公司mysql数据库设计与优化培训ppt
  11. Coolite Toolkit学习笔记二:服务器端Alert,Confirm,Prompt
  12. 解决IDEA 打开Springboot项目提示 Unmapped Spring configuration files found.
  13. 基于AM437x的FPGA与ARM通信测试
  14. Image Processing in the Spatial Domain 空间域图像处理
  15. 2021最新爬取百度关键词时出现,百度安全验证,解决方法
  16. Python添加下拉菜单
  17. 二、Prometheus TLS加密认证和基于 basic_auth 用户名密码访问
  18. layui中table表格内容过多自动换行
  19. vue -- 初级(二)
  20. 算法图解作者推荐图书(2018版)-刘新宇

热门文章

  1. 【第一阶段:java基础】第7章:面向对象编程中级-2(P307-P318):多态
  2. 什么是GC root ,GC root原理
  3. 戴森:将于2022年内发布“空气净化耳机”
  4. 计算机一级基础题库,2016计算机一级公共基础练习题
  5. 动手练一练,手写一个价格对比、固定表头滚动的表格
  6. IT外企那点儿事(8):又是一年加薪时
  7. 天道酬勤系列之C++ 变量类型介绍
  8. 软件测试无效bug分析,(一)Bug不能重现的原因分析及其对策
  9. C语言学习之假如我国国民生产总值的年增长率为7%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为p=(1+r)ⁿ r为年增长率,n为年数,p为与现在相比的倍数。
  10. Mybatis <choose> <when> <otherwise>