-------------------------------
radar:
引用:
[parse]yhvhkid wrote:[/parse]
对于K-L展开我用过,但利用它推导Kalman滤波的资料我手头还没有,能否介绍点参考资料,先谢谢了!
有关资料你可以参阅国防科技大学刘福声教授和罗鹏飞副教授编著的《统计信号处理》。不过那本书写得不太好,印刷错误比较多,你可以追溯原始文献。
应该说你对Kalman滤波的研究比我深。Kalman滤波的系统建模,特别是噪声统计特性的估计关系到整个滤波性能的好坏,在长时间不间断运行的控制系统中尤其如此。按我的理解,
为了保证Kalman滤波在长时间工作的控制系统中不发散,可能采取的措施有两种:对于工作状态比较稳定的系统,可以根据长时间对系统的观测对噪声的统计特性进行估计;对工作状态不太稳定的系统,可能必须对系统噪声和状态噪声的统计特性进行动态估计,并在滤波过程中采取措施,舍弃离当前估计时刻时间过长的数据(即加权)。在导弹末制导中,由于系统仅需要工作很短的一段时间,Kalman滤波只要保证在这样较短的时间内不发散,或者即使当时间趋于无穷大时是发散的,只要在末制导时间内滤波的均方误差满足导弹制导精度就可以了。
----------------------------------
yhvhkid:
引用:
[parse]wfsun wrote:[/parse]
按我的理解,为了保证Kalman滤波在长时间工作的控制系统中不发散,可能采取的措施有两种:对于工作状态比较稳定的系统,可以根据长时间对系统的观测对噪声的统计特性进行估计;对工作状态不太稳定的系统,可能必须对系统噪声和状态噪声的统计特性进行动态估计,并在滤波过程中采取措施,舍弃离当前估计时刻时间过长的数据(即加权)。在导弹末制导中,由于系统仅需要工作很短的一段时间,Kalman滤波只要保证在这样较短的时间内不发散,或者即使当时间趋于无穷大时是发散的,只要在末制导时间内滤波的均方误差满足导弹制导精度就可以了。
以前没人可以交流,不能确定自己的做法是否正确,毕竟不想玩数字游戏,蒙混过关。现在我的疑虑已经打消,受益匪浅,非常感谢!
-----------------------------------
radar:
引用:
[parse]flzt wrote:[/parse]
哦,对一时间离散信号序列(含噪声),想用kalman对其进行滤波是先建模,然后才滤波?
是必须先建模后滤波,也就是要事先知道序列随时间变化(即状态转移)的规律。不过要注意
,如果你的序列是固定长度的时间序列,则属于静态信号的参数估计问题,可以用Bayes估计、线性最小均方误差估计或最小二乘估计(三种估计要求的信号与噪声的统计特性不一样,详见《统计信号处理》教材),而不必用Kalman滤波。
-----------------------------------
acillies:
小弟初做卡尔曼滤波,在用matlab仿真过程中,滤波结果与预期值总是存在稳态误差,不知道如何解决,希望各位学长不吝赐教,谢谢
----------------------------------
radar:
引用:
[parse]acillies wrote:[/parse]
小弟初做卡尔曼滤波,在用matlab仿真过程中,滤波结果与预期值总是存在稳态误差,不知道如何解决,希望各位学长不吝赐教,谢谢先
计算机使用数字信号,存在量化误差,当滤波的迭代次数很大时,这种误差会积累到比较大的程度,最终可能导致Kalman滤波发散,这是最可能产生稳态误差的原因之一。此外,仿真时Matlab语言产生的随机序列不是真正意义上的随机序列,而是伪随机序列,它也有可能产生滤波误差。从这一点可以充分看出计算机仿真的局限性,理论推导是最有说服力的。我虽然在理论上知道这种误差来源,但在实践中没有碰到过,不知道具体如何解决,对不起!你可以查找有关书籍的。
-----------------------------------
blackdot:
kalman滤波与时间序列的处理方法(如ARMA),我感觉也存在其局限性。例如对于不平稳的随机信号就不能够处理了。这是因为方法假设的前提是平稳的白噪声,拥有统计特征,但不平稳随机激励的统计特征量应该随时间变化。对于这种环境随机信号的研究应该是有意义的。例如,这种不平稳随机信号的模拟,好像上述的方法就派不上用处了。处理这种信号,寻求其数学上的描述方式,混沌与分形似乎可以试一试。
-----------------------------------
关于kalman filter我有很多话要说,但是时间确实紧张,没时间写那么多,等这阵忙完了我专开个帖子写一下。
现在,只能给有志于此的同志们开个书单,有兴趣的可以去看看。
1.kalman filtering :theory and practice in matlab.
2.applied optimal estimation.
3.fundmentals of kalman filtering:a practical approach.
4.factoraztion methods for discrete sequential estimation
关于中文的写Kalman的书,大多只是介绍性的,离工程应用有相当大的距离。
---------------------------------
引用:
[parse]胖胖狼 wrote:[/parse]
有朋友问我这样一个问题,我不知如何解决:
有这样一组数据3 4 4 2 3 3 2 2 1 2 1 1 1 2 1 1 1 1 1 1 2 2 5 1 1 1 2 1 1 1 1 1 1 2 2 1 2 2 3 3 1 2 2 1 2 2 1 2 1 2 1 1 2 3 2 5 6 3 4 3 1
要我用kalman滤波器滤波,告诉他结果!
搞得我一头雾水!
这太扯了,kalman filter不是滤波器,是估计器,需要系统模型的,这个跟股票似的。
Kalman filter is in indeed a filter. The reason is that the input to it is noisy measurement, and the output is filtered state estimate. You can call it estimator or filter, just as you like.
Kalman filter is really model-based. Before using it, you need to know the state equation which model the evolution of the process, the sensor measurement model and the associated statistics. Only when all these conditions are satisfied, the output of Kalman filter is optimal.
So for the above problem, modeling is the first thing you should do.
---------------------------------------
dddraco:
引用:
[parse]yhvhkid wrote:[/parse]
以前没人可以交流,不能确定自己的做法是否正确,毕竟不想玩数字游戏,蒙混过关。现在我的疑虑已经打消,受益匪浅,非常感谢!
两位高手前辈交流让我受益匪浅啊
第一次被推荐来这个论坛就看到这样的好帖,太赞了!
我最近正在研究滤波发散的问题
有一些疑问想咨询
滤波发散一般是两个原因造成的:
1、模型估计不准确
2、字长的舍入误差造成相关矩阵失去正定性
这里就应用到平方根滤波等方法。但似乎总是没有确定的,比较广泛适用的经典
有一个办法就是用最小二乘的方法来监测Kalman是否发散,如果发散,则用最小二乘的解来替代Kalman。这个不知道有没有人做过,效果如何
另外
我最近正在看《kalman滤波理论及其在导航系统中的应用》,科学出版社,付梦印,邓志红,张继伟 编著。因为功力不够,很多东西还一知半解。但是根据框架来看,是很好的系统介绍kalman的书籍。推荐的说
----------------------------------
xiaolongyuan:
我正用kalman filter进行再入弹道轨迹估计,感觉和各位一样
1. 系统模型一定要准确,否则怎么修正滤波方法都无济于事
2. 模型噪声和测量噪声的自适应估计方法并不是越精确越好,比如sage-husa算法,虽然有严格的证明推导,但是实际使用也许会发散
----------------------------------
我在学习EKF算法,做单站目标定位,EKF会发散,查了一下资料,说是用修正极座标下的EKF,会避免发散,还有一个UKF(是不是该翻译成无味卡尔曼,哈哈有些怪怪的)算法,据说也不错,不知道哪位高手做过这两个算法,能否给提供一下源码思路?谢谢啦!!
--------------------
我是做定位估计的用的EKF,如果测量误差和状态误差是零均值白高斯误差,效果很好,即使是非白高斯零均值误差效果也挺好,但实际情况是非零均值的误差,而且有每一次实例中都有均值都不同,必须在状态估计中找到偏差或者设法避免偏差的影响。我不知道该如何做,有没有有经验的师兄弟说说你们是如何做的。
文章评论(0条评论)
登录后参与讨论