声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1839|回复: 5

[编程技巧] 自适应α-β滤波算法

[复制链接]
发表于 2006-11-27 17:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
想请教高手,我在做利用自适应α-β滤波算法跟踪目标的时候,生成的观测轨迹的方差设置为R,利用附件图片上的方法取得α,β的值。

在程序实现中,前两个点的状态估计是设置为初始的观测值。
从第3个点开始,首先α,β是初始化为1,从第4个点开始,利用前面的3个点的误差均值来估计机动加速度的方差:(1/3)*(观测值-预测值).^2,从而计算α,β的值。但是实验发现我的程序在跟踪匀速运动的目标时,不收敛,而且β的值还出现复数形式。

est_signal(1)=zx(1);
est_signal(2)=zx(2);
for k=3:sample
  Xest=Phi*Xfli; % 更新该时刻的预测值   
   if(k>3)
        delta_v2= (1/3)*((zx(k-1)-est_signal(k-1)).^2+(zx(k-2)-est_signal(k-2)).^2+(zx(k-3)-est_signal(k-3)).^2);
        r= (delta_v2*(Ts^4))/(4*R);
        a(k) = ((r+4*sqrt(r))/2)*sqrt(1+(4/(r+4*sqrt(r)-1)));
        b(k) = 2*(2-a(k))-4*sqrt(1-a(k));
     %%%%%计算自适应α-β滤波增益
        K=[a(k) b(k)]';
        Xfli=Xest+K*(zx(k)-C*Xest);
     .....

    est_signal(k)=Xfli(1,1);
end   


有没有人可以帮我分析一下原因,到底是哪里设置的有误??

自适应取值

自适应取值
回复
分享到:

使用道具 举报

发表于 2006-11-27 19:38 | 显示全部楼层
对α-β滤波不了解
再则你给的代码也非常有限,很难从中看出什么端倪

不过你程序中有一行代码

  1. r= (delta_v2*(Ts^4))/(4*R);
复制代码


不知道其中的R是什么?似乎和你给的公式不是很对应
发表于 2006-11-27 19:39 | 显示全部楼层
另外复数应该是在sqrt中产生的,建议从这里入手查查这个复数是如何产生的
 楼主| 发表于 2006-11-27 20:00 | 显示全部楼层
R是观测误差的方差,就是求r的分母中的值。
根号产生虚数可以看出来的,但是不应该是这样的,不知道为什么书上这样写呢
发表于 2006-11-27 20:23 | 显示全部楼层
这个我就无能为力了,对这个滤波不了解
 楼主| 发表于 2006-11-27 21:29 | 显示全部楼层
虚数的问题解决了,观测误差没有除初始值,上面的公式还有点错误。不过仍然不能收敛。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 05:56 , Processed in 0.059527 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表