T=2;
alpha=0.8; % 加权衰减因子
window=1/(1-alpha); % 检测机动的有效窗口长度
dt=100; % dt=dt_x=dt_y=100
Th=25; % 机动检测门限
Ta=9.49; % 退出机动的检测门限
N=800/T; % 采样次数
M=50; % 模拟次数
% 真实轨迹数据
t=2:2:400;
xo0=2000+0*t;
yo0=10000-15*t;
t=402:2:600;
xo1=2000+0.075*((t-400).^2)/2;
yo1=10000-15*400-(15*(t-400)-0.075*((t-400).^2)/2);
t=602:2:610 ;
xo2=xo1(100)+15*(t-600);
yo2=yo1(100)+0*t;
t=612:2:660;
xo3=xo2(5)+(15*(t-610)-0.3*((t-610).^2)/2);
yo3=yo2(5)-0.3*((t-610).^2)/2;
t=662:2:800;
xo4=xo3(25)+0*t;
yo4=yo3(25)-15*(t-660);
x=[xo0,xo1,xo2,xo3,xo4];
y=[yo0,yo1,yo2,yo3,yo4];
e_x1=zeros(1,N);
e_x2=zeros(1,N);
e_y1=zeros(1,N);
e_y2=zeros(1,N);
px=zeros(1,N);
qy=zeros(1,N);
u=zeros(1,N);
u_a=zeros(1,N);
for j=1:M
no1=100*randn(1,N); % 随机白噪
no2=100*randn(1,N);
for i=1:N;
zx(i)=x(i)+no1(i); % 观测数据
zy(i)=y(i)+no2(i);
z(:,i)=[zx(i);zy(i)];
end
%
X_estimate(2,:)=[zx(2),(zx(2)-zx(1))/T,zy(2),(zy(2)-zy(1))/T];
X_est=X_estimate(2,:);
P_estimate=[dt^2,dt^2/T,0,0;dt^2/T,(dt^2)*2/(T^2),0,0;0,0,dt^2,dt^2/T;0,0,dt^2/T,(dt^2)*2/(T^2)];
x1(1)=zx(1); y1(1)=zy(1); x1(2)=X_estimate(2,1); y1(2)=X_estimate(2,3);
u(1)=0; u(2)=0;
u1=u(2);
pp=0;% 0表示非机动,1表示机动
qq=0;
rr=1;
k=3;
while k<=N
if k<=20
z1=z(:,k);
[X_pre,X_est,P_estimate,u1]=kalmanstatic(X_est,P_estimate,z1,k,u1);
X_estimate(k,:)=X_est;
X_predict(k,:)=X_pre;
P(k,:)=[P_estimate(1,1),P_estimate(1,2),P_estimate(2,2),P_estimate(3,3),P_estimate(3,4),P_estimate(4,4)];
x1(k)=X_estimate(k,1);
y1(k)=X_estimate(k,3);
u(k)=u1;
k=k+1;
else
if pp==0 % 进入非机动模型
if rr==window+1 % 由机动进入非机动模型,为防止回朔,至少递推window+1次
u1=0;
else
end
while rr>0
z1=z(:,k);
[X_pre,X_est,P_estimate,u1]=kalmanstatic(X_est,P_estimate,z1,k,u1);
X_estimate(k,:)=X_est;
X_predict(k,:)=X_pre;
P(k,:)=[P_estimate(1,1),P_estimate(1,2),P_estimate(2,2),P_estimate(3,3),P_estimate(3,4),P_estimate(4,4)];
x1(k)=X_estimate(k,1);
y1(k)=X_estimate(k,3);
u(k)=u1;
rr=rr-1;
end
rr=1;
if u(k)>=Th
pp=1;qq=1; % “pp=1,qq=1”表示由非机动进入机动模型
else
end
k=k+1;
else % 机动模型
if qq==1 %由非机动进入机动模型,需要进行修正
k=k-window-1;
Xm_est=[X_estimate(k-1,:),0,0];
Xm_pre=[X_predict(k,:),0,0];
Pm_estimate=zeros(6,6);
P=P(k-1,:);
m=0;
else %在机动模型中进行递推
Xm_est=Xm_estimate(k-1,:);
end
z1=z(:,k);
[Xm_est,Pm_estimate,ua1,qq,m]=kalmandynamic(Xm_pre,Xm_est,Pm_estimate,z1,k,P,qq,m);
Xm_estimate(k,:)=Xm_est;
x1(k)=Xm_estimate(k,1);
y1(k)=Xm_estimate(k,3);
ua(k)=ua1;
if ua1<Ta % 进入非机动模型,降维,标志 pp=0
X_est=Xm_estimate(k,1:4);
P_estimate=Pm_estimate(1:4,1:4);
pp=0;
rr=window+1;
else
end
k=k+1;
end
end
end
for j=1:N
px(1,j)=x1(1,j)+px(1,j); % 迭加每次估计的数据
qy(1,j)=y1(1,j)+qy(1,j);
e_x1(j)=(x1(j)-x(j))+e_x1(j);
e_y1(j)=(y1(j)-y(j))+e_y1(j);
e_x2(j)=((x1(j)-x(j))^2)+e_x2(j);
e_y2(j)=((y1(j)-y(j))^2)+e_y2(j);
end
end
for k=1:N
px(1,k)=px(1,k)/M;
qy(1,k)=qy(1,k)/M;
e_x(k)=e_x1(k)/M;
ex(k)=sqrt(e_x2(k)/M-e_x(k)^2);
e_y(k)=e_y1(k)/M;
ey(k)=sqrt(e_y2(k)/M-e_y(k)^2);
end
figure(1);
plot(x,y);axis([1500 5000 -2000 12000]);
figure(2);
plot(x,y,'b-',zx,zy,'k:',px,qy,'r');
legend('真实轨迹','观测轨迹','50次滤波轨迹');
figure(3);
plot(x,y,'k',x1,y1,'r');
legend('真实轨迹','一次滤波轨迹');
figure(4);
subplot(2,2,1),plot(e_x); title('X坐标 滤波误差均值曲线');
subplot(2,2,2),plot(e_y); title('Y坐标 滤波误差均值曲线');
subplot(2,2,3),plot(ex); title('X坐标 滤波误差标准差曲线');
subplot(2,2,4),plot(ey); title('Y坐标 滤波误差标准差曲线');
阿里matlab建模师
- 粉丝: 4371
- 资源: 2852
最新资源
- Spring学习笔记mysbproject20241227
- GC9005 是一颗专门针对图形显示场景定义的多功能 MPU 集成自研专利高性能3D 图形加速引擎,最高支持 2048x2048 分辨率的高清显示 具有高清视频解码和音频编解码等多媒体功能处理
- 面向物联网机器视觉的目标跟踪方法设计与实现-LW.zip
- 2900区县的相邻矩阵.xlsx
- 料箱输送线程序,有合流和分拣, 精华部分是WCS和PLC的Socket接口和分拣控制程序 提供设备布局图和电气图纸以及博途V16程序 程序源自欧企,无加密,外企程序还是比较美观的,程序仅供学习参考
- 价值8000的H5聊天系统即时通讯,风车IM聊天APP、聊天、交友、客服系统源码
- 足球检测45-YOLO(v5至v9)、COCO、CreateML、TFRecord数据集合集.rar
- 西门子S7-1200 PID温度控制程序,PID参数经过预调节和精确调节之后得出,程序采用博图V15高级版编写,适合用于不带冷却功能的模具加热生产工艺上,项目上运用已稳定工作多时,带详细注释,可进行
- 使用python批量获取纸质发票信息转为excel
- 电动汽车电池管理系统(BMS)的STM32实现及其设计
- 地级市-产业升级、产业结构高级化(2000-2021年).zip
- 基于神经网络的自适应PID控制器 通过将RBF(BP)神经网络和PID控制器相结合,建立了神经网络PID控制器,采用传递函数进行系统建模,通过自动调整PID参数,实现了对方波信号的跟踪 程序有注释
- knn 1.12.0压缩包
- 一个非常优秀的项目源码范例,C#+Visionpro9.0,三相机定位,PLC, 逻辑及代码都非常好,使用过的项目,是学习及项目参考的极佳范例 注:主界面未放出来
- 数字经济对产业结构升级和创业增长的影响(2011-2021年).zip
- YOLO目标检测标注的垃圾识别数据集
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈