【信息融合与状态估计】时滞系统的协方差交叉融合估计研究(Matlab代码实现)

2024-01-21

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

2.1 改进的CI融合估值器

2.2 基于现代时间序列分析方法,对局部传感器构造ARMA信息模型,利用射影定理和白噪声估值器,得到局部状态估计,然后进行融合

2.3 带相关噪声多传感器时滞系统CI融合估值器

2.4 带有色噪声多传感器时滞系统CI融合估值器

????3 参考文献

????4 Matlab代码实现


????1 概述

文献来源:

基于Kalman滤波和现代时间序列分析方法,我们可以利用多种融合估计技术来实现对状态的融合估计。这些技术包括集中式融合估计、分布式融合估计(按矩阵加权、按对角阵加权、按标量加权)、以及协方差交叉融合等方法。通过这些技术,我们能够更有效地整合不同传感器或数据源提供的信息,以提高状态估计的准确性和鲁棒性。在集中式融合估计中,我们将所有传感器或数据源提供的信息集中到一个中心节点进行融合,以得到全局状态估计。而在分布式融合估计中,我们可以根据不同的权重方案,将各个传感器或数据源提供的信息进行加权融合,从而得到更为灵活和适应性更强的状态估计结果。同时,协方差交叉融合方法可以帮助我们更好地处理不同传感器或数据源之间的协方差关系,进一步提高融合估计的精度和鲁棒性。这些技术的应用将为状态估计和预测提供更加可靠和全面的支持,有助于解决多传感器融合问题中的挑战。

主要是针对多传感器多时滞(包括状态之后和观测滞后)系统,基于 Kalman滤波 现代时间序列分析方法 ,利用 集中式融合估计 分布式融合估计 (按矩阵加权、按对角阵加权、按标量加权)、 协方差交叉融合 等方法实现对状态的融合估计。

针对多传感器多时滞系统,我们可以利用基于Kalman滤波和现代时间序列分析方法的多种融合估计技术来实现对状态的融合估计。这些技术包括集中式融合估计、分布式融合估计(按矩阵加权、按对角阵加权、按标量加权)、以及协方差交叉融合等方法。

具体来说,我们可以采用SCI Fusion Kalman Filter for Multi-Sensor Systems with Multiple Time Delayed Measurements,这一方法利用斜方差交叉(CI)融合方法进行状态估计,适用于处理多传感器系统的多时滞情况。另外,Improved covariance intersection fusion Kalman filter for multi-sensor systems with multiple time delayed measurements则利用改进后的协方差交叉融合(ICI)方法实现对状态的估计,相较于原来的CI融合算法,可以提高精度。

此外,Modern Time Series Analysis Method for Multi-Sensor Systems with Time Delayed Measurements则基于现代时间序列分析方法,对局部传感器构造ARMA信息模型,利用射影定理和白噪声估值器,得到局部状态估计,然后进行融合。而SCI Fusion Estimations for Multi-Sensor Time-Delay Systems with Correlated Noise则为了避免噪声相关带来的推导上的复杂性,先将带相关噪声的系统转化为带不相关白噪声的系统,然后再进行融合。

最后,Sequential Covariance Intersection Fusion Kalman Filter for Multiple Time-delay Sensor Network Systems with Colored Noise则将带有色噪声的系统转化为带相关噪声的系统,然后再进行融合。这些方法的应用将为多传感器多时滞系统的状态估计提供更为精确和鲁棒的支持,有助于解决复杂系统中的状态融合问题。

内容包括:

  1. Improved covariance intersection fusion Kalman filter for multi-sensor systems with multiple time delayed measurements(带观测滞后多传感器系统的改进协方差交叉融合Kalman滤波器) 利用改进后的协方差交叉融合(ICI)方法实现对状态的估计,相较于原来的CI融合算法,可以提高精度。

  2. Modern Time Series Analysis Method for Multi-Sensor Systems with Time Delayed Measurements 基于现代时间序列分析方法,对局部传感器构造ARMA信息模型,利用射影定理和白噪声估值器,得到局部状态估计,然后进行融合。

  3. SCI Fusion Estimations for Multi-Sensor Time-Delay Systems with Correlated Noise(带相关噪声多传感器多时滞系统的SCI融合估值器) 为了避免噪声相关带来的推导上的复杂性,先将带相关噪声的系统转化为带不相关白噪声的系统,然后再进行融合。

  4. Sequential Covariance Intersection Fusion Kalman Filter for Multiple Time-delay Sensor Network Systems with Colored Noise(带有色噪声多重时滞传感网络系统的序贯协方差交叉融合Kalman滤波器) 将带有色噪声的系统转化为带相关噪声的系统,然后再进行融合。

???? 2 运行结果

2.1 改进的CI融合估值器

带观测滞后多传感器系统的改进协方差交叉融合Kalman滤波器) 利用改进后的协方差交叉融合(ICI)方法实现对状态的估计,相较于原来的CI融合算法,可以提高精度

2.2 基于现代时间序列分析方法,对局部传感器构造ARMA信息模型,利用射影定理和白噪声估值器,得到局部状态估计,然后进行融合

2.3 带相关噪声多传感器时滞系统CI融合估值器

(带相关噪声多传感器多时滞系统的CI融合估值器) 为了避免噪声相关带来的推导上的复杂性,先将带相关噪声的系统转化为带不相关白噪声的系统,然后再进行融合

2.4 带有色噪声多传感器时滞系统CI融合估值器

(带有色噪声多重时滞传感网络系统的序贯协方差交叉融合Kalman滤波器) 将带有色噪声的系统转化为带相关噪声的系统,然后再进行融合

部分代码:

%-----------------滤波误差互协方差阵----------------%
P13(:,:,1)=eye(2);
for i=1:Bushu
PP13(:,:,i+1)=fai* P13(:,:,i)*fai'+gama*Qw*gama';%预报误差互协方差阵
%---滤波误差互协方差阵----%
P13(:,:,i+1)=[eye(2)-k1(:,i+1)*H01]*PP13(:,:,i+1)*[eye(2)-k3(:,i+1)*H03]'-[eye(2)-k1(:,i+1)*H01]*fai*P13(:,:,i)*H13'*k3(:,i+1)';P31(:,:,i+1)=P13(:,:,i+1)';
end
%-----------------按矩阵加权---------------%
for i=1:Bushu
Psigma(:,:,i)=[P1(:,:,i),P13(:,:,i);
P13(:,:,i)',P3(:,:,i)];
end
e=[eye(2),eye(2)]';
for i=1:Bushu
A(:,:,i)=inv(Psigma(:,:,i))*e*inv(e'*inv(Psigma(:,:,i))*e);
Pm(:,:,i)=inv(e'*inv(Psigma(:,:,i))*e);%误差方差阵
xmjian(:,i)=A(1:2,:,i)'*x1jian(:,i)+A(3:4,:,i)'*x3jian(:,i);
end
% t=1:Bushu;
% figure
% subplot(2,2,1);plot(t,x(1,t),'b',t,xmjian(1,t),'r:');
% subplot(2,2,2);plot(t,x(2,t),'b',t,xmjian(2,t),'r:');
%-----------------SCI----------------%
deta=0.0001;pp1=P1(:,:,Bushu);pp3=P3(:,:,Bushu);
[w13,Pci13]=y13_0618(deta,pp1,pp3)%pp1和pp3形成pci1

Pci13_=Pci13*(w13*w13*inv(pp1)*pp1*inv(pp1)+w13*(1-w13)*inv(pp1)*P13(:,:,Bushu)*inv(pp3)+...
w13*(1-w13)*inv(pp3)*P31(:,:,Bushu)*inv(pp1)+(1-w13)*(1-w13)*inv(pp3)*pp3*inv(pp3))*Pci13;

% P_13=[0.15 0.15;0.3 1];P_31=P_13';
rho=0.7;
P_13=rho*chol(pp1)'*chol(pp3);P_31=P_13';
Pcic13=Pci13*(w13*w13*inv(pp1)*pp1*inv(pp1)+w13*(1-w13)*inv(pp1)*P_13*inv(pp3)+...
w13*(1-w13)*inv(pp3)*P_31*inv(pp1)+(1-w13)*(1-w13)*inv(pp3)*pp3*inv(pp3))*Pci13;

for i=1:Bushu
xci13(:,i)=Pci13*(w13*inv(pp1)*x1jian(:,i)+(1-w13)*inv(pp3)*x3jian(:,i));
end
t=1:Bushu;
figure
subplot(2,2,1);plot(t,x(1,t),'b',t,xci13(1,t),'r:');
subplot(2,2,2);plot(t,x(2,t),'b',t,xci13(2,t),'r:');axis([0,Bushu,-45,20]);
%-----------------椭圆半径----------------%
P1_ni=inv(P1(:,:,Bushu));P3_ni=inv(P3(:,:,Bushu));
Pm_ni=inv(Pm(:,:,Bushu));
Pci13_ni=inv(Pci13);Pci13__ni=inv(Pci13_);
Pcic13_ni=inv(Pcic13);
theta=0:pi/100:2*pi;
r1=1./sqrt(P1_ni(1,1)*cos(theta).^2+(P1_ni(1,2)+P1_ni(2,1))*cos(theta).*sin(theta)+P1_ni(2,2)*sin(theta).^2);
r3=1./sqrt(P3_ni(1,1)*cos(theta).^2+(P3_ni(1,2)+P3_ni(2,1))*cos(theta).*sin(theta)+P3_ni(2,2)*sin(theta).^2);

rm=1./sqrt(Pm_ni(1,1)*cos(theta).^2+(Pm_ni(1,2)+Pm_ni(2,1))*cos(theta).*sin(theta)+Pm_ni(2,2)*sin(theta).^2);
rci13=1./sqrt(Pci13_ni(1,1)*cos(theta).^2+(Pci13_ni(1,2)+Pci13_ni(2,1))*cos(theta).*sin(theta)+Pci13_ni(2,2)*sin(theta).^2);
rci13_=1./sqrt(Pci13__ni(1,1)*cos(theta).^2+(Pci13__ni(1,2)+Pci13__ni(2,1))*cos(theta).*sin(theta)+Pci13__ni(2,2)*sin(theta).^2);
rcic13=1./sqrt(Pcic13_ni(1,1)*cos(theta).^2+(Pcic13_ni(1,2)+Pcic13_ni(2,1))*cos(theta).*sin(theta)+Pcic13_ni(2,2)*sin(theta).^2);
%--------------作图----------------%
t=1:Bushu;
figure
hold on;
polar(theta,r1,'b');
polar(theta,r3,'b-.');
polar(theta,rm,'r');
polar(theta,rci13,'k');
polar(theta,rci13_,'k-.');
polar(theta,rcic13,'m');

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]王军.时滞系统的协方差交叉融合估计[D].黑龙江大学,2017.

???? 4 Matlab代码 实现

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【信息融合与状态估计】时滞系统的协方差交叉融合估计研究(Matlab代码实现) 的相关文章

  • MATLAB中如何画水平线和垂直线?

    我目前正在尝试在 MATLAB 中绘制简单的垂直线和水平线 例如 我想绘制线 y 245 我该怎么做呢 MATLAB 根据您提供的向量逐点进行绘图 因此 要创建一条水平线 您需要改变x同时保持y对于垂直线恒定 反之亦然 xh 0 10 yh
  • MATLAB 中时间戳过滤器的优化 - 处理非常大的数据集

    我正在 MATLAB 中编写一个程序 必须使用 MATLAB 并且不能真正使用 MEX 来过滤大量数据 我需要实现的过滤器之一要求我将时间戳向量与其他时间戳不会出现的已知 不良 时间列表进行比较 一个典型的时间戳向量有大约 2 000 00
  • Matlab Mex文件编译

    我正在尝试编译一个 mex 文件以在 matlab 中使用套接字连接 问题是它总是说我没有安装sdk或编译器 但我已经安装了 Visual Studio 2010 Express Visual Studio 2012 Express Vis
  • Matlab中转换数据类型的有效方法(double vs. im2double)

    我想将真彩色图像转换为双精度 据我所知有两种方法可以做到这一点 double rgb img im2double rgb img 哪一种效率更高 谢谢 他们都是不同的 im2double将图像的范围转换为0 1如果数据类型是uint8 or
  • 使用mat2cell将MxN的矩阵划分为1xN大小的M矩阵

    我有一个大小为 MxN 的矩阵 比方说 1867x3 1867 行和 3 列 我想将其分成 1867 个大小为 1x3 的单元格 我使用了mat2cell X 1 1866 这里X是矩阵 1867x3 结果给出了两个单元格 一个单元格的大小
  • 句柄类和值类的区别

    我有一些 C 背景 想使用 Matlab 中的类 句柄和值类有什么区别 我知道如果我想定义一个带有重载运算符 例如 和 的矩阵类 我会使用值类 然而 有时 当我选择一个手柄类时 事情似乎只对我有用 MathWorks 提供了一些有关其用途的
  • Matlab 字段名索引[重复]

    这个问题在这里已经有答案了 所以我有一个包含多个表的元胞数组 我试图访问表的第一个列名称 c table1 table2 table3 以下两行都给了我错误 fieldnames c 1 1 fieldnames c 1 1 Error i
  • Matlab:如何更改矩阵的存储方式?从 1x1x3 到 1x3?

    我目前有 val 1 0 7216 val 2 0 7216 val 3 0 7216 但我想要 0 7216 0 716 0 721 我可以做什么样的操作来做到这一点 The reshape函数将在这里解决问题 Arrange the e
  • 使用符号求解器仅求解某些变量

    我正在尝试在 MATLAB 中求解包含 3 个变量和 5 个常量的方程组 是否可以使用solve求解三个变量 同时保持常量为符号而不用数值替换它们 当您使用SOLVE http www mathworks com access helpde
  • 括号中的波形符字符

    在 MATLAB 中 以下代码执行什么操作 m func returning matrix 波浪号运算符 的作用是什么 在 Matlab 中 这意味着不要将函数中相应的输出参数分配到赋值的右侧 因此 如果func returning mat
  • 在 Matlab 中高效获取像素坐标

    我想在 Matlab 中创建一个函数 给定一个图像 该函数将允许人们通过单击图像中的像素来选择该像素并返回该像素的坐标 理想情况下 人们能够连续单击图像中的多个像素 并且该函数会将所有相应的坐标存储在一个矩阵中 有没有办法在Matlab中做
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • 如何在文本集中创建所有字符组合?

    例如 我有这样的文本集 第 1 栏 a b 第 2 栏 l m n 第 3 栏 v w x y 我想将它们组合起来以获得如下输出 alv alw alx aly amv amw amx amy 这将输出 24 种文本组合 如果我只使用前两列
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • Matlab 的 imresize 函数中用于插值的算法是什么?

    我正在使用 Matlab Octaveimresize 对给定的二维数组重新采样的函数 我想了解如何使用特定的插值算法imresize works 我在Windows上使用八度 e g A 1 2 3 4 是一个二维数组 然后我使用命令 b
  • 检测数据集中线性行为的算法

    我已经发布了一个关于对数据集的一部分进行多项式拟合的算法 https stackoverflow com q 17595932 2320757前一段时间收到一些建议去做我想做的事 但我现在面临另一个问题 我尝试应用答案中建议的想法 我的目标
  • 快速有效地计算已知特征值的特征向量

    我的问题的简短版本 计算矩阵特征向量的最佳方法是什么A 如果我们已经知道属于特征向量的特征值呢 更长的解释 我有一个很大的随机矩阵A由于它是随机的 因此具有非负左特征向量x 这样A Tx x 我正在寻找快速有效的方法来数值计算这个向量 最好
  • matlab中求和函数句柄

    Hi我试图对两个函数句柄求和 但它不起作用 例如 y1 x x x y2 x x x 3 x y3 y1 y2 我收到的错误是 对于 function handle 类型的输入参数 未定义函数或方法 plus 这只是一个小例子 实际上我实际
  • 检测分段常数信号中的阶跃

    我有一个分段恒定信号 如下所示 我想检测步骤转换的位置 标记为红色 我目前的做法 使用移动平均滤波器平滑信号 http www mathworks com help signal examples signal smoothing html
  • 如何使用SIFT算法计算两幅图像的相似度?

    我已经用过SIFT http en wikipedia org wiki Scale invariant feature transform实施安德里亚 维达尔迪 http www vlfeat org overview sift html

随机推荐