基于协方差交叉(CI)的多传感器融合算法matlab仿真,对比单传感器和SCC融合
目录
1.程序功能描述
2.测试软件版本以及运行结果展示
3.核心程序
4.本算法原理
5.完整程序
1.程序功能描述
基于协方差交叉(CI)的多传感器融合算法matlab仿真,对比单传感器和SCC融合。对比速度估计误差RMSE指标,位置估计误差RMSE指标,等概率密度椭圆。
2.测试软件版本以及运行结果展示
MATLAB2022A版本运行
3.核心程序
....................................................................
STEPS=1;
figure;
plot(xy1(1:STEPS:end,1),xy1(1:STEPS:end,2),'-g',...
'LineWidth',2);
hold on
plot(xy2(1:STEPS:end,1),xy2(1:STEPS:end,2),'-m',...
'LineWidth',2);
hold on
plot(xy3(1:STEPS:end,1),xy3(1:STEPS:end,2),'-b',...
'LineWidth',2);
hold on
plot(xy4(1:STEPS:end,1),xy4(1:STEPS:end,2),'-r',...
'LineWidth',2);
hold on
legend('传感器1','传感器2','SCC','CI');
STEPS=2;
figure
k=1:nums;
% 绘制位置估计误差的均方根误差图
plot(k(1:STEPS:end),Perr1(1:STEPS:end),'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
plot(k(1:STEPS:end),Perr2(1:STEPS:end),'-mo',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.5,0.9,0.0]);
hold on
plot(k(1:STEPS:end),Perr_scc(1:STEPS:end),'-b^',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.2,0.9,0.5]);
hold on
plot(k(1:STEPS:end),Perr_ci(1:STEPS:end),'-r>',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.9,0.0]);
hold on
legend('传感器1','传感器2','SCC','CI');
ylabel({'位置 RMSE'} );
title('位置 RMSE');
figure
k=1:nums;
% 绘制速度估计误差的均方根误差图
plot(k(1:STEPS:end),Verr1(1:STEPS:end),'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
plot(k(1:STEPS:end),Verr2(1:STEPS:end),'-mo',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.5,0.9,0.0]);
hold on
plot(k(1:STEPS:end),Verr_scc(1:STEPS:end),'-b^',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.2,0.9,0.5]);
hold on
plot(k(1:STEPS:end),Verr_ci(1:STEPS:end),'-r>',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.9,0.0]);
hold on
legend('传感器1','传感器2','SCC','CI');
ylabel({'速度 RMSE'} )
title('速度 RMSE');
91
4.本算法原理
在多源信息处理领域,为获取更精确可靠的估计结果,常需融合多个传感器数据。协方差交叉(CI)算法作为一种重要的融合方法,在无需精确知晓传感器间相关性信息时,就能有效融合多传感器估计值,具备良好的鲁棒性。
CI算法基于这样的理念,即融合后的估计协方差应小于等于各传感器估计协方差的加权和。
在多传感器数据融合中,每个传感器的观测数据可看作位于某个子空间内。SCC 算法旨在找到不同传感器数据子空间之间的一致性关系。
单传感器:由于信息来源单一,其估计的准确性和可靠性受传感器自身性能限制。在面对复杂环境或存在噪声干扰时,估计误差较大。例如,在多径效应严重的环境中,基于单一雷达传感器的目标定位误差会显著增大。
CI 融合:CI 算法能够有效融合多个传感器信息,在一定程度上减小估计误差。由于其对传感器间相关性要求不高,在实际应用中具有较强的鲁棒性。但当传感器数量过多或传感器数据存在较大冲突时,融合效果可能会受到影响。
SCC 融合:SCC 融合通过挖掘传感器数据子空间的一致性,在处理具有相似特征的数据时表现较好。然而,其性能高度依赖于特征提取和聚类算法的准确性。如果特征提取不准确或聚类参数设置不当,可能导致错误的融合结果。
5.完整程序
VVV