多传感器分布式融合算法——加权最小二乘WLS融合/简单凸组合SCC融合

加权最小二乘WLS融合/简单凸组合SCC融合——多传感器分布式融合算法

原创不易,路过的各位大佬请点个赞

主要讲解算法:
         加权最小二乘融合WLS
         简单凸组合融合SCC

应用于: 多传感器网络协同目标跟踪/定位/导航

联系WX: ZB823618313

目录

  • 加权最小二乘WLS融合/简单凸组合SCC融合——多传感器分布式融合算法
    • 1. 分布式航迹融合
    • 2. 加权最小二乘WLS融合
      • 2.1 从分布式融合挑战——到——加权最小二乘WLS融合
      • 2.2 加权最小二乘WLS融合结构
      • 2.3 加权最小二乘WLS融合算法
        • 2.3.1 问题描述:目标运动和量测模型
        • 2.3.2 局部估计(航迹)生成
        • 2.3.3 加权最小二乘WLS融合
      • 2.4 简单凸组合SCC融合算法
    • 3. 实验场景
      • 3.1 算法种类
      • 3.2 参数设置
      • 3.3 实验结果
        • 3.3.1 跟踪轨迹
        • 3.3.2 位置均方误差RMSE
        • 3.3.2 位置均方误差RMSE
    • 4. 部分代码

1. 分布式航迹融合

         根据系统需求(成本、安全性、可维护性等)以及外界环境(自然环境、人为对抗环境),信息融合系统的结构一般可划分为:集中式结构、分布式结构以及混合式结构。

          分布式航迹融合也称为传感器级融合或自主式融合。在这种结构中,每个传感器都有自己的处理器,进行一些预处理,然后把中间结果送到中心节点, 进行融合处理。由于各传感器都具有自己的局部处理器,能够形成局部航迹,所以在融合中心也主要是对局部航迹进行融合,所以这种融合方法通常也称为航迹融合(track fusion)。

这种结构因对信道要求低、系统生命力强、工程上易于实现、且对融合中心的计算能力要求低。

从不同的角度,分布式融合也可以分为不同类型。分布式结构也可以分为三种形式:
1)有融合中心的分布式结构
2)无融合中心,共享航迹的分布式结构
3)无融合中心,共享关联量测的分布式结构。`

笔记:

多传感器分布式融合也是估计融合领域最热门的邻域之一,也是目前两大学者在融合邻域关注的焦点

此外,分布式融合算法种类非常多,研究角度也各不相同。换句话说,分布式融合本身就是一个非常大的方向

本博客主要介绍分布式融合中最常用、最普遍的一种算法:加权最小二乘融合/简单凸组合融合

          分布式航迹融合算法非常众多:

  1. 简单凸组合SCC融合算法
  2. 加权最小二乘WLS融合
  3. 协方差交叉CI融合算法
  4. 分布式信息滤波器算法
  5. Bar-Shalom-Campo融合算法
  6. 联邦卡尔曼滤波器算法

本博客主要讲前两种融合算法。实际上它们可以被认为是一种融合算法的不同叫法。它们的理论是一样的,即、利用局部估计的协方差对局部估计进行加权融合得到全局估计。

下面主要介绍WLS 和SCC融合的优势和缺点,以及它们比较适用的场景。

2. 加权最小二乘WLS融合

加权最小二乘WLS融合是最简单、最容易实现、鲁棒性最高、工程应用最广泛的分布式融合算法之一。

2.1 从分布式融合挑战——到——加权最小二乘WLS融合

          由于航迹融合中各传感器局部估计误差相关、各传感器量测噪声相关、局部动态模型不同以及系统的网络结构和信息模式复杂等因素,导致分布式融合算法的设计和开发变得极为复杂。

          这些因素一般直接影响算法的融合精度、计算效率、融合器的鲁棒性等等。

          是在实际工程中,各个传感器在不同的区域分布。它们相对独立地工作和观测目标,可以忽略各传感器之间噪声的相关性。

          此外,局部估计误差之间的相关性一般是未知的。这些信息在融合过程无法利用。

          从而加权最小二乘WLS融合算法应运而生。它忽略了局部估计误差的相关性和各传感器量测噪声的相关性,得到一种结构简单且计算效率高的解析融合器。

          加权最小二乘WLS融合算法应该是工程中应用最广泛和最成功的融合算法之一。这也是为什么它是最经典的分布式哦

2.2 加权最小二乘WLS融合结构

          下图为加权最小二乘WLS融合算法的结构图。从图中可以看出,各个局部传感器向融合传输局部估计及其协方差。融合中心统一融合处理接受的局部估计及其协方差。

dfsf

图1:加权最小二乘WLS融合结构

\
特点
1)加权最小二乘WLS融合中通信是单向的,即局部传感器向融合中心传输处理后的信息,而融合中心不向局部传感器传输任何信息;

2)各个局部传感器独立工作,无任何协作;

3)融合中心只需要局部估计和它对应的协方差;

4)单个局部传感器的损坏并不影响全局估计的工作;

2.3 加权最小二乘WLS融合算法

2.3.1 问题描述:目标运动和量测模型

         假设有 M M M个传感器用于观测同一个目标, 且目标状态转移方程为

x k = f ( x k − 1 ) + w k − 1 (1) x_k=f(x_{k-1}) +w_{k-1} \tag{1} xk=f(xk1)+wk1(1)

其中 x k x_k xk目标在 k k k时刻的状态, w k − 1 w_{k-1} wk1过程噪声。

         传感器量测方程为

z k i = h ( x k ) + v k i (2) z_k^i=h(x_k)+v_k^i \tag{2} zki=h(xk)+vki(2)

其中 z k i z_k^i zki为第 i i i个传感器在 k k k时刻的量测数据, v k i v_{k}^i vki i i i个传感器的量测噪声。

         一般假设 w k w_k wk v k v_k vk为零均值高斯白噪声,其方差分别为 Q k Q_k Qk R k R_k Rk的高斯白噪声,即 w k ∼ ( 0 , Q k ) w_k\sim(0,Q_k) wk(0,Qk), v k ∼ ( 0 , R k ) v_k\sim(0,R_k) vk(0,Rk),且满足如下关系(线性高斯假设)为:
E [ w i v j ′ ] = 0 E [ w i w j ′ ] = 0 i ≠ j E [ v i v j ′ ] = 0 i ≠ j \begin{aligned} E[w_iv_j'] &=0\\ E[w_iw_j'] &=0\quad i\neq j \\ E[v_iv_j'] &=0\quad i\neq j \end{aligned} E[wivj]E[wiwj]E[vivj]=0=0i=j=0i=j

2.3.2 局部估计(航迹)生成

         每个传感器的利用观测到的数据实现目标状态的估计。定义
x ^ k ∣ k i , P k ∣ k i \hat{x}_{k|k}^i, {P}_{k|k}^i x^kki,Pkki
为传感器 i i i产生的目标的局部估计和协方差。总共有 M M M个传感器,因此就有 M M M个类似的局部估计。这些局部估计都被传送融合中心进行融合处理。

如何产生这些局部航迹,则是一个经典的滤波问题:

  1. 如果(1)和(2)都是线性的,用卡尔曼滤波KF/鲁棒卡尔曼滤波产生
  2. 如果(1)和(2)都是非线性的,用EKF/UKC/CKF/QKF/CDKF/DDF/SRQUKF/PF等
    非线性滤波参见专栏:非线性滤波-目标跟踪应用 //https://blog.csdn.net/weixin_44044161/category_11056621.html
  3. 如果是机动目标跟踪,同交互式多模型IMM等等
    IMM参见专栏:非线性滤波-目标跟踪应用 //https://blog.csdn.net/weixin_44044161/category_10931736.html

2.3.3 加权最小二乘WLS融合

         融合中心利用某种融合算法对接受的 M M M个传感器的局部估计及其协方差进行融合处理,得到最终的全局估计及其协方差。

         加权最小二乘WLS融合算法为:

x ^ k ∣ k = ( ∑ i = 1 M ( P k ∣ k i ) − 1 ) − 1 x ^ k ∣ k i P k ∣ k = ( ∑ i = 1 M ( P k ∣ k i ) − 1 ) − 1 \hat{x}_{k|k}=\Big(\sum_{i=1}^M({P}_{k|k}^i)^{-1}\Big)^{-1} \hat{x}_{k|k}^i\\ {P}_{k|k}=\Big(\sum_{i=1}^M({P}_{k|k}^i)^{-1}\Big)^{-1} x^kk=(i=1M(Pkki)1)1x^kkiPkk=(i=1M(Pkki)1)1

由于简单凸联合融合算法实现起来特别容易,所以它得到了广泛的应用。

然而,当各传感器的局部估计误差相关时,它是次优的。例如,当其中一个航迹是系统航迹,而另一个为传感器航迹时,或者当存在过程噪声时,就是这种情况。

但是,当两条航迹都是传感器航迹并且不存在过程噪声,两个传感器在初始时刻的估计误差也不相关时,简单凸联合融合算法则是最优的。也就是说,它能够得到和中心式融合相同的结果。

加权最小二乘WLS融合 简单吧!!!!!!!!!!!!!!!!!!!!

2.4 简单凸组合SCC融合算法

        实际上,简单凸组合SCC融合和加权最小二乘WLS融合是同一种算法。SCC的原理和WLS的原理一样。好比同一个人有不同的名字。

3. 实验场景

讲了这么多,还不如直接弄一个实例。

既然是第一篇关于分布式融合的博客,实例直接上比较复杂的。哈哈哈哈哈哈

3.1 算法种类

算法:基于简单凸组合SCC的容积卡尔曼滤波CKF

3.2 参数设置

**运动模型:
仅匀转弯CT模型 X = [ x , y , x ˙ , y ˙ , w ] T {X}=[x, y, \dot{x}, \dot{y}, w]^T X=[x,y,x˙,y˙,w]T
X k + 1 = [ 1 sin ⁡ ( ω T ) ω 0 − 1 − cos ⁡ ( ω T ) ω 0 0 cos ⁡ ( ω T ) 0 − sin ⁡ ( ω T ) 0 0 1 − cos ⁡ ( ω T ) ω 1 sin ⁡ ( ω T ) ω 0 0 sin ⁡ ( ω T ) 0 cos ⁡ ( ω T ) 0 0 0 0 0 1 ] X k + W k X_{k+1}=\begin{bmatrix}1&\frac{\sin(\omega T)}{\omega}&0&-\frac{1-\cos(\omega T)}{\omega}&0\\0&\cos(\omega T)&0&-\sin(\omega T)&0\\0&\frac{1-\cos(\omega T)}{\omega}&1&\frac{\sin(\omega T)}{\omega}&0\\0&\sin(\omega T)&0&\cos(\omega T)&0\\0&0&0&0&1\end{bmatrix}X_{k} + W_k Xk+1= 10000ωsin(ωT)cos(ωT)ω1cos(ωT)sin(ωT)000100ω1cos(ωT)sin(ωT)ωsin(ωT)cos(ωT)000001 Xk+Wk
其中 W k W_k Wk为零均值白噪声,其方差为:
Q k = q k 2 [ T 3 / 3 T 2 / 2 0 0 0 T 2 / 2 T 0 0 0 0 0 T 3 / 3 T 2 / 2 0 0 0 T 2 / 2 T 0 0 0 0 0 q w ] Q_k=q_k^2\begin{bmatrix}T^3/3&T^2/2&0&0& 0 \\T^2/2&T&0&0 &0\\0&0&T^3/3&T^2/2 &0 \\0&0& T^2/2&T&0\\0&0&0&0&q_w\end{bmatrix} Qk=qk2 T3/3T2/2000T2/2T00000T3/3T2/2000T2/2T00000qw
或者为(两种形式都可以用,下面一代码形式给出)

传感器: 多个主动雷达
在二维情况下,雷达量测为距离和角度
r k m = r k + r ~ k b k m = b k + b ~ k {r}_k^m=r_k+\tilde{r}_k\\ b^m_k=b_k+\tilde{b}_k rkm=rk+r~kbkm=bk+b~k
其中
r k = ( x k − x 0 ) + ( y k − y 0 ) 2 ) b k = tan ⁡ − 1 y k − y 0 x k − x 0 r_k=\sqrt{(x_k-x_0)^+(y_k-y_0)^2)}\\ b_k=\tan^{-1}{\frac{y_k-y_0}{x_k-x_0}}\\ rk=(xkx0)+(yky0)2) bk=tan1xkx0yky0
[ x 0 , y 0 ] [x_0,y_0] [x0,y0]为雷达坐标,一般情况为0。雷达量测为 z k = [ r k , b k ] ′ z_k=[r_k,b_k]' zk=[rk,bk]。雷达量测方差为
R k = cov ( v k ) = [ σ r 2 0 0 σ b 2 ] R_k=\text{cov}(v_k)=\begin{bmatrix}\sigma_r^2 & 0 \\0 & \sigma_b^2 \end{bmatrix} Rk=cov(vk)=[σr200σb2]

3.3 实验结果

3.3.1 跟踪轨迹

在这里插入图片描述

在这里插入图片描述

3.3.2 位置均方误差RMSE

在这里插入图片描述

3.3.2 位置均方误差RMSE

在这里插入图片描述

4. 部分代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 
% date: 
% 任务:基于分布式融合算法的多雷达目标跟踪
% 一级算法:单雷达CKF
% 二级算法: 简单凸组合SCC融合
% 目标模型:CT
% 性能指标:跟踪轨迹,RMSE均方根误差
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all; 
close all; 
clc;
%% initial parameter
n=4; %dimension of the target ;
T=1; %sample time
M=3; %number of rader
N=150; %the runs atime
MC=50; %Monte Carlo Runs
chan=4; %channel, for the class of fiter
w_mu=[0,0]'; % mean of process noise 
v_mu=[0,0]'; % mean of measurement noise
%% target model
%covariance of process noise
q_x=1; %m/s^2
q_y=q_x;
Qk=diag([q_x^2,q_y^2]); 
% state matrix
T_f=T; %sample time of fusion center
w=-pi/180*2.5;
Fk= [1 sin(w*T_f)/w 0 -(1-cos(w*T_f))/w0 cos(w*T_f)   0 -sin(w*T_f)0 (1-cos(w*T_f))/w 1 sin(w*T_f)/w0  sin(w*T_f) 0 cos(w*T_f) ]; %
Gk= [ T_f^2/2  0T_f     00      T_f^2/20      T_f ]; %
% covariance of measurement noise (radar)% 雷达初始坐标及速度,可以自己设定,
xp(:,1)=[2, 0, 3 ,0 , 4, 0]; % %第一个传感器的位置,可设置[x坐标, 速度, y坐标, 速度,z坐标, 速度],xyz对应传感器三维位置中间的0不能变,只是为了适应维数
xp(:,2)=[4, 0, 7 ,0 , 3, 0];% %2个传感器的位置[x坐标, 0, y坐标, 0,z坐标, 0]
xp(:,3)=[1, 0, 1 ,0 , 1, 0];% %3个传感器的位置[x坐标, 0, y坐标, 0,z坐标, 0]%% define parameter
sV=zeros(n,N,MC,1); % state
eV=zeros(n,N,MC,chan); %estimationfigure
plot(sV(1,:,1,1),sV(3,:,1,1),'-k',eV(1,:,1,1),eV(3,:,1,1),'-r',eV(1,:,1,2),eV(3,:,1,2),'--b',eV(1,:,1,3),eV(3,:,1,3),'--g')
xlabel('m');ylabel('m');
legend('State','CKF-sensor 1 ','CKF-sensor 2','SCC')
title('the compararison in x-y coordinate system')
figure;
ii=1:N;
plot(ii,sV(1,:,1,1),'k',ii,eV(1,:,1,1),'r',ii,eV(1,:,1,2),'--b',ii,eV(1,:,1,3),'--g');
xlabel('time(k)');ylabel('m');%zlabel('m');
legend('State','CKF-sensor 1 ','CKF-sensor 2','SCC')
title('the compararison in x coordinate system')

原创不易,路过的各位大佬请点个赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/101415.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

框架分析(2)-React

框架分析(2)-React 专栏介绍React核心思想关键特性和功能组件化开发单向数据流JSX语法强大的生态系统 优缺点分析优点缺点 专栏介绍 link 主要对目前市面上常见的框架进行分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的…

【数据结构入门指南】二叉树

【数据结构入门指南】二叉树 一、二叉树的概念二、现实中的二叉树三、特殊的二叉树四、二叉树的性质五、二叉树的存储结构5.1 顺序结构5.2 链式结构 一、二叉树的概念 二叉树是一棵特殊的树。一棵二叉树是结点的一个有限集合,该节点: ①:或者…

【Java转Go】快速上手学习笔记(四)之基础篇三

目录 泛型内置泛型的使用切片泛型和泛型函数map泛型泛型约束泛型完整代码 接口反射协程特点WaitGroupgoroutine的调度模型:MPG模型 channel介绍语法:举例:channel遍历基本使用和协程一起使用案例一案例二 select...casemain.go 完整代码 文件…

chapter 3 Free electrons in solid - 3.2 量子自由电子理论对一些现象的解释

3.2 自由电子气的热容 Heat capacity of free electron gas 3.2.1 计算自由电子的热容 Calculation of Heat Capacity of free Electrons T>0K, total energy of free electrons: E ∫ E d N 3 5 N e E F 0 [ 1 5 12 π 2 ( k B T E F 0 ) 2 ] E \int EdN \frac{3}{5}…

econml介绍

EconML简介 EconML: A Python Package for ML-Based Heterogeneous Treatment Effects Estimation EconML是一个通过机器学习方法从观察数据中估计heterogeneous treatment effects的Python包。该软件包是微软研究院ALICE项目的一部分,目的是将最新的机器学习方法…

CAM实现的流程--基于Pytorch实现

CAM实现的流程 CAM类激活映射CAM是什么CAM与CNN CAM类激活映射 CAM是什么 可视化CNN的工具, CAM解释网络特征变化,CAM使得弱监督学习发展成为可能,可以慢慢减少对人工标注的依赖,能降低网络训练的成本。通过可视化,就…

【Axure高保真原型】通过输入框动态控制折线图

今天和大家分享通过输入框动态控制折线图的原型模板,在输入框里维护项目数据,可以自动生成对应的折线图,鼠标移入对应折点,可以查看对应数据。使用也非常方便,只需要修改输入框里的数据,或者复制粘贴文本&a…

泰克MDO3054示波器

MDO3054 泰克MDO3054混合域示波器 优秀的六合一综合示波器,可以全面量身定制,可以全面升级 当今集成设计需要集成度与之相当的示波器,如 MDO3000 混合域示波器 (MDO) 系列。这是一种 6 合 1 示波器之集大成者,集成了一台频谱分…

CentOS Stream 9中安装MySQL的详细步骤

文章目录 卸载MySQL在线安装离线安装忘记密码 卸载MySQL 安装前先卸载系统上旧版本的 MySQL(没有则跳过此步骤) 查看已安装的MySQLrpm -qa | grep mysql卸载查询到的所有安装包rpm -e PackageName # 可批量删除删除my.cnf 查看/etc/my.cnf文件是否还存…

SQL 语句继续学习之记录二

三, 聚合与排序 对表进行聚合查询,即使用聚合函数对表中的列进行合计值或者平均值等合计操作。 通常,聚合函数会对null以外的对象进行合计。但是只有count 函数例外,使用count(*) 可以查出包含null在内的全部数据行数。 使用dis…

网络安全在医疗行业中的重要性

不可否认,现代世界见证了技术和医疗行业的交织,塑造了我们诊断、治疗和管理健康状况的新方式。随着电子健康记录取代纸质文件,远程医疗缩短了患者和医疗服务提供者之间的距离,数字化转型既是福音,也是挑战。最近的全球…

7.elasticsearch同步工具-logstah

1.logstah Logstash 是一个用于数据处理和转换的开源工具,它可以将来自不同源头的数据收集、转换、过滤,并将其发送到不同的目标。Logstash 是 ELK(Elasticsearch、Logstash 和 Kibana)技术栈的一部分,通常与 Elastics…

java版本spring cloud 企业工程系统管理 工程项目管理系统源码em

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff…

Windows快捷键常用介绍,提高工作(摸鱼)效率

一:背景 本文主要是讲解Windows电脑常见的快捷键,包括ctrl快捷键,win快捷键,不管是开发人员还是普通办公人员,都是很方便的。我们平时没事操作都是用鼠标去选择对应的功能,或者在我的电脑--控制面板寻找&a…

k8s service (三)

K8s service (三) LoadBalancer类型的Service LoadBalancer和NodePort其实是同一种方式,目的都是向外暴露一个端口,区别在于LoadBalancer会在集群的外部再来做一个负载均衡设备,而这个设备需要外部环境支持的,外部服务发送到这…

Vue的Ajax请求-axios、前后端分离练习

Vue的Ajax请求 axios简介 ​ Axios,是Web数据交互方式,是一个基于promise [5]的网络请求库,作用于node.js和浏览器中,它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生node.js http模块, 而在…

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

关于模板的大致认识【C++】

文章目录 函数模板函数模板的原理函数模板的实例化模板参数的匹配原则 类模板类模板的定义格式类模板的实例化 非类型模板参数typename 与class模板的特化函数模板特化类模板特化全特化偏特化 模板的分离编译 函数模板 函数模板的原理 template <typename T> //模板参数…

2023年最佳JavaScript框架:React、Vue、Angular和Node.js的比较

文章目录 React&#xff1a;构建用户界面的首选Vue&#xff1a;简单优雅的前端框架Angular&#xff1a;Google支持的全面框架Node.js&#xff1a;服务器端的JavaScript运行环境比较不同框架的优势与劣势React&#xff1a;Vue&#xff1a;Angular&#xff1a;Node.js&#xff1a…

KaiwuDB CTO 魏可伟:回归用户本位,打造“小而全”的数据库

8月16日&#xff0c;KaiwuDB 受邀亮相第十四届中国数据库技术大会 DTCC 2023。KaiwuDB CTO 魏可伟接受大会主办方的采访&#xff0c;双方共同围绕“数据库架构演进、内核引擎设计以及不同技术路线”展开深度探讨。 以下是采访的部分实录 ↓↓↓ 40 多年前&#xff0c;企业的数…