【信息融合与状态估计】时滞系统的协方差交叉融合估计研究(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代码实现) 的相关文章

  • 是否有一个函数可以将两个元胞数组“压缩”在一起? [复制]

    这个问题在这里已经有答案了 假设我有一个元胞数组A and B as so A A B C D B 1 2 3 4 我想创建元胞数组C通过将 A 和 B 压缩 在一起 如下所示 C zip A B C A 1 B 2 C 3 D 4 这样的
  • 将 Android 应用程序与服务器上的 Matlab 应用程序连接

    我正在 Android 上开发一个应用程序 它将获取图像输入 并将该输入传递到安装 MATLAB 应用程序的服务器 MATLAB 应用程序将计算结果并将其返回到该 Android 应用程序 我想知道我可以使用哪个服务器 如何将 MATLAB
  • 将 Matlab MEX 文件中的函数直接嵌入到 Python 中

    我正在使用专有的 Matlab MEX 文件在 Matlab 中导入一些仿真结果 当然没有可用的源代码 Matlab 的接口实际上非常简单 因为只有一个函数 返回一个 Matlab 结构体 我想知道是否有任何方法可以直接从Python调用M
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大
  • 将输出从符号数学 (sym) 转换为浮点型

    我的问题类似于这个问题 https stackoverflow com questions 11114101 how to convert mupad symbol i sqrt 1 to i in matlab 11114959 1111
  • 在 Matlab 中对列进行排序

    我有 2 列使用 textscan 导入的数据 数据看起来像这样 其中U is undetect and D is detect mydata 51 U 57 D 48 U 47 D my data 4x1 double 4x1 char
  • 在 MATLAB 中将数据拟合到 B 样条

    我正在尝试估计矩阵形式的时间序列数据中的缺失值 列代表时间点 即现在 我想将矩阵的每一行拟合到 B 样条曲线 并用它来估计缺失值 我可以使用 MATLAB 将数据拟合到普通样条曲线 但我完全陷入尝试找出如何拟合数据以创建 B 样条曲线的困境
  • 如何读取 10 位原始图像?其中包含 RGB-IR 数据

    我想知道如何从我的 10 位原始 它有 rgb ir 图像数据 数据中提取 RGB 图像 如何使用 Python 或 MATLAB 进行阅读 拍摄时的相机分辨率为 1280x720 室内照片图片下载 https drive google c
  • 如何以编程方式指定 MATLAB 编辑器键绑定

    我想将键盘键绑定设置为Windows 默认设置我想在启动时使用startup m因为我希望在大量系统上设置此设置 首选项对话框中的等效设置是 MATLAB gt Keyboard gt Shortcuts gt Active Setting
  • 在 MATLAB 中用两个值替换向量值

    我必须创建一个以向量作为输入的函数v和三个标量a b and c 该函数替换了的每个元素v等于a有一个二元素数组 b c 例如 给定v 1 2 3 4 and a 2 b 5 c 5 输出将是 out 1 5 5 3 4 我的第一次尝试是尝
  • 如何从绘图处理程序中绘图?

    我有绘图的处理程序或图形的处理程序 例子 h plot 1 0 2 10 xx get h xx DisplayName Annotation 1x1 handle Color 0 0 1 LineStyle LineWidth 0 500
  • 频域和空间域的汉明滤波器

    我想通过在 MATLAB 中应用汉明滤波器来消除一维信号中的吉布斯伪影 我所拥有的是k1这是频域中的信号 我可以通过应用 DFT 来获取时域信号k1 s1 ifft ifftshift k1 该信号具有吉布斯伪影 现在 我想通过 A 乘以汉
  • 如何每次使用按钮将数据添加到 MATLAB 中的现有 XLSX 文件?

    我有一个函数可以生成一些变量 例如分数 对 错 未回答 使用按钮调用此功能 问题是如何每次将函数生成的这些值添加 附加到 XLSX 文件中 或者 如何创建 MAT 文件以便可以添加它 可能的解决方案是什么 附加到 xls 文件所涉及的挑战是
  • 在Matlab中选择图像上的像素时,索引指的是什么?

    当在Matlab中查看图像的单个像素时 该索引指的是什么 X Y 指的是像素的坐标 RGB 指的是颜色 但是关于索引是什么有什么想法吗 为了澄清一下 当我在 Matlab 中查看图形并使用数据光标选择一个点时 显示的三行是 X Y 指数 R
  • 从筛查乳腺 X 光检查数字数据库 (DDSM) 获取数据

    我正在尝试以可读格式获取 DDSM 数据集 有谁有 DDSM heathusf 程序的工作版本 可以在 Linux 或 Windows 上正常运行吗 我知道 DDSM 的 jpeg 程序有一个适用于 linux 的工作版本 位于http w
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • 动态调整自定义刻度数

    Taking SO 的一个例子 https stackoverflow com a 7139485 97160 我想根据当前视图调整轴刻度 这是默认行为 除非设置自定义的刻度数 下图展示了由此产生的行为 左侧是默认行为 右侧是带有自定义刻度
  • getappdata 在 MATLAB 中返回空矩阵

    我有一段代码 我在其中使用setappdata然后我使用以下方式调用数据getappdata即使它不为空 它也会返回一个空矩阵 我的一段简化代码如下 function edit1 Callback hObject eventdata han
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja

随机推荐