智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1426|回复: 2
打印 上一主题 下一主题

[软件类] 卡尔曼滤波。。。求大神们帮忙解答解答...

[复制链接]

5

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
655
威望
403
贡献
106
兑换币
10
注册时间
2010-12-6
在线时间
73 小时
跳转到指定楼层
1#
发表于 2012-5-13 19:56:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
clear;
FS=100;
T=1/FS;
t=0:T:5;
wv=randn(1,(5-0)/T+1)*0.2;%产生均值为1.均方差为sqrt(5)正态分布的随机数
wa=randn(1,(5-0)/T+1);
vi=sin(5*t)+wv;           %加速度信号产生的角度????
ai=cos(5*t)-10+wa;        %陀螺仪产生的角速度?????
A=[1,-T;0,1];
B=[T;0];
H=[1,0];
Q=[0.0001,0;0,0];
R=[0.04];
I=[1,0;0,1];
kg=[0;0];
x=[0;0];
p=[1,0;0,1];
xx=[0;0];
pp=[0,0;0,0];
for k=2:501
    xx=A*x+B*ai(k-1);      %X(k|k-1)=A X(k-1|k-1)+B U(k)
    pp=A*p*A'+Q;           %P(k|k-1)=A P(k-1|k-1) A’+Q
    kg=pp*H'/(H*pp*H'+R);  %Kg(k)= P(k|k-1) H’ / (H P(k|k-1) H’ + R)
    x=xx+kg*(vi(k)-H*xx);  %X(k|k)= X(k|k-1)+Kg(k) (Z(k)-H X(k|k-1))
    p=(I-kg*H)*pp;         %P(k|k)=(I-Kg(k) H)P(k|k-1)
    vo(k)=x(1)-5;          %x(1)即x的横坐标代表什么?为什么要减去5?不减5为什么会变成一条直线?
    b(k)=x(2);             %x(2)是什么??
end
subplot(3,1,1);plot(t,wv,'r',t,wa)
subplot(3,1,2);plot(t,vi,'r',t,ai,'b')
subplot(3,1,3);plot(t,vo,'b',t,b,'y');

4

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
615
威望
331
贡献
130
兑换币
0
注册时间
2012-3-27
在线时间
77 小时
2#
发表于 2012-5-13 19:58:55 | 只看该作者
卡尔曼滤波的全部程序?
回复 支持 反对

使用道具 举报

5

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
655
威望
403
贡献
106
兑换币
10
注册时间
2010-12-6
在线时间
73 小时
3#
 楼主| 发表于 2012-5-15 15:18:18 | 只看该作者
幻天者 发表于 2012-5-13 19:58
卡尔曼滤波的全部程序?

是的,matlab实现
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-5-15 18:40 , Processed in 0.040870 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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