多传感器信息融合的典型应用_多传感器最优信息融合卡尔曼滤波器

摘要:

本文提出了一种新的基于线性最小方差意义的矩阵加权的多传感器最优信息融合准则,它等效于正态分布假设下的最大似然融合准则。基于该最优融合准则,针对具有多个传感器和相关噪声的离散时间线性随机控制系统,给出了一种具有两层融合结构的通用多传感器最优信息融合分散卡尔曼滤波器。第一融合层具有网状平行结构,以在每个时间步长确定每对无故障传感器之间的交叉协方差。第二融合层是确定最佳融合矩阵权重并获得最佳融合滤波器的融合中心。与集中滤波器进行比较,结果表明,在所有传感器均无故障的情况下,融合滤波器的计算量减轻了,融合滤波器的精度也比集中滤波器的精度低;但是当某些传感器出现故障时,融合滤波器具有容错性和鲁棒性。此外,融合滤波器的精度高于每个局部滤波器的精度。将其应用于具有三个传感器的雷达跟踪系统证明了其有效性。

关键词:多传感器信息融合;线性最小方差;最大似然;最优信息融合卡尔曼滤波器;容错能力;雷达追踪系统

Multi-sensor optimal information fusion Kalman filter

Shu-LiSun∗,Zi-LiDeng 2004

Department of Automation, Heilongjiang University

黑龙江大学自动化系

1.简介

信息融合卡尔曼滤波理论已经被研究并广泛应用于飞机,轮船,汽车和机器人等机动目标的集成导航系统中。当多个传感器测量同一随机系统的状态时,通常我们有两种不同类型的方法 处理测量的传感器数据。 第一种方法是集中式过滤器(Willner,Chang,&Dunn,1976),在该过滤器中,所有测得的传感器数据都被传送到中央站点进行处理。 此方法的优点是它所涉及的信息丢失最少。 但是,由于过滤器过载而导致的数据超出其处理能力,可能导致严重的计算开销。因此,当出现严重的数据故障时,整个集中式过滤器可能不可靠或准确性和稳定性较差。第二种方法是分散滤波器,其中来自局部估计器的信息可以根据某些信息融合准则产生全局最优或次优状态估计。该方法的优点在于,融合中心的通信和存储空间的要求得到了拓宽,并且并行结构将导致输入数据速率的提高。此外,分散可轻松实现故障检测和隔离。然而,当没有数据故障时,分散滤波器的精度通常低于集中滤波器的精度。卡尔曼滤波器的各种分散和并行版本及其应用已有报道(Kerr,1987;Hashhmipour,Roy,&Laub,1988),包括卡尔森的联合平方根滤波器(1990)。但是在某种程度上,他的滤波器具有保守性,因为它使用过程噪声方差矩阵的上限而不是过程噪声方差矩阵本身,并且假定初始估计误差是不相关的。Roy and Iltis(1991)给出了线性线性系统的分散静态滤波器,具有相关的测量噪声。Kim(1994)在正态分布的假设下,基于具有多个传感器的系统的最大似然意义,给出了一个最佳融合滤波器,并假设过程噪声与测量噪声无关。 Saha(1996,1998)讨论了稳态融合问题。 Deng和Qi(2000)给出了一个多传感器融合标准,由标量加权。 但是,局部子系统之间的估计误差不相关的假设与一般情况不符。 Qiang和Harris(2001)讨论了两种测量融合方法的功能等效性,其中第二种方法要求测量矩阵的大小相同。

在本文中,由Kim(1994)提出的在正常密度函数下的最大似然融合准则的结果被重新推导为在线性最小方差意义上由矩阵加权的最优信息融合准则。基于融合准则,具有容错性和鲁棒性的最优信息融合分散滤波器可提供具有多个传感器和相关噪声的离散时变线性随机控制系统。它具有两层融合结构。第一融合层具有网状平行结构,以在每个时间步长确定每对无故障传感器之间的交叉协方差。第二融合层是融合中心,其融合所有局部子系统的估计和方差,以及来自第一融合层的局部子系统之间的交叉协方差,以确定最佳矩阵权重并产生最佳融合滤波器。

2.问题公式化

考虑带有l个传感器的离散时变线性随机控制系统

ade02e3a5a2669c5f1450b8096c9238e.png

其中

是状态,
是测量值,
是已知的控制输入,
是白噪声,并且
是时变矩阵,且维数兼容。

在下文中,

表示n×n单位矩阵,0表示具有兼容尺寸的零矩阵。

假设1.

是相关的白噪声,均值为零,且

58e06bc9c9b44142aae02cfded6eac30.png

其中符号E表示数学期望,上标T表示转置,

是克罗内克脉冲函数。

假设2.初始状态

无关,且有

13c7a0ecb040bde142e9c601383cfd1a.png

我们的目标是基于测量

来找到状态
的最优(即线性最小方差)信息融合卡尔曼滤波
,它将满足以下性能:

(a)无偏,即

(b)最优性,即找到最优矩阵权重

以最小化融合滤波误差方差的迹,即tr[Po(t|t)]=min{tr [P(t|t)]},其中符号tr表示矩阵的迹,[Po(t|t)]表示具有矩阵权重的最优融合滤波器的方差,P(t|t)表示具有矩阵权重的任意融合滤波器的方差。

3.线性最小方差意义上的最优信息融合准则

1994年,Kim在标准正态分布的假设下提供了最大似然融合准则。在这里,我们将在线性最小方差意义上得出相同的结果,其中避免了正态分布的限制性假设。为简单起见,在以下推导中将时间t删除。

定理1.

为n维随机向量x的无偏估计量。假设估计误差为
。假设
相关,并且方差和交叉协方差矩阵分别由Pii(即Pi)和Pij表示。然后给出具有矩阵权重的最优融合(即线性最小方差)估计

75eb9a5af87a98047dd4780cfac1ce26.png

这里的最优矩阵权重

计算为

5d38cae44040abfffdf917749cdb414c.png

其中

是nl×nl对称正定矩阵,
都是nl×n矩阵。最优信息融合估计量的相应方差由下式计算:

8bd8e1a30c144dbf6296ba85231a200d.png

我们有结论:

证明:引入综合无偏估计量

a603771b2bfb6c8e3d2fcc86c6b09e0c.png

。。。

。。。

推导结论。

4.具有两层融合结构的最优信息融合分散卡尔曼滤波器

7edde2a8e13327897f126dc1e130c867.png

在假设1和2下,具有多个传感器的系统(1)-(2)的第i个局部传感器子系统具有局部最优卡尔曼滤波器(Anderson&Moore,1979)

0eb19c3e476463cc342af9ba29d4248b.png

87d2cfdad57d25258b18f0e9b0c83b1c.png

这里

。对于第i个传感器子系统,
,
分别是滤波和第一步预测误差方差矩阵,
是滤波增益矩阵,
是新息过程。

由于第i个子系统和第j个子系统的滤波误差是相关的,因此我们有以下定理2。

定理2.在假设1和2下,第i个传感器子系统和第j个传感器子系统之间的局部卡尔曼滤波误差交叉协方差具有以下递归形式:

其中,

是第i个和第j个传感器子系统之间的卡尔曼滤波误差交叉协方差矩阵,以及初始值Pij(0 |0)= P0。

证明:

。。。

。。。

推论1:在定理2中,如果Si(t)= 0,Sij(t)= 0,则交叉协方差Pij(t +1 | t +1)可以简单地由

395384fa2c6fcd58bafe008b490baf5d.png

证明:

。。。

。。。

基于定理1和定理2,可以容易得到下面的推论。

推论2:对于假设1和2下的系统(1)-(2),我们得到最优信息融合分散式卡尔曼滤波器为

9196b7cae6a57ce77cfc6e91cf5f5ef2.png

其中,

由式(17)-(23)计算得到;
由式(6)计算得到;
由式(7)计算得到。局部子系统的滤波误差方差
和交叉协方差
分别由式(22)和(24)计算。

证明:

。。。

。。。

5.仿真示例—最优融合分散卡尔曼跟踪滤波器

考虑具有三个传感器的雷达跟踪系统

943a335270a731fd0957ba120d8c256b.png

其中,T是采样周期。状态为

,其中
分别是目标在时间t的位置,速度和加速度。
是三个传感器的测量信号,
分别是三个传感器的测量噪声,它们与均值为零且方差为
的高斯白噪声w(t)相关。系数
是常数标量,而
是具有均值为零和方差矩阵
的高斯白噪声,并且与w(t)无关。我们的目的是找到最优的信息融合分散卡尔曼滤波器。

在仿真中,设置

初始值
,我们使用300个样例。

对于每个传感器子系统,分别应用(17)-(23),我们可以获得局部最优卡尔曼滤波器

和相应的方差
。在第4节应用两级融合结构,我们有最优的信息融合
和相应的方差
。为了与集中滤波器进行比较,还计算了集中滤波器的方差
。我们选择适当的坐标以清楚地显示它们的差异。从图2中我们可以看到,最佳融合分散滤波器的精度高于每个局部滤波器的精度,但是当所有传感器都完好无损时,其精度低于集中滤波器的精度。尽管局部滤波器1和2的精度较低,但分散式过滤器的精度更高,并且接近集中式过滤器。

为了计算融合滤波器的容错性和鲁棒性,我们假设第一个传感器有故障,以使测量方程式为y1(t)= H1x(t)+ v1(t)+ f(t),其中f(t)满足

;
。f(t)的值表明,第一个传感器出现故障故障值t=100,并在t = 200时恢复。

00a770e3bc0debeec415519e488b5807.png

7d75614bd63fa670da4970cb83f84de1.png

应用第4节中的两层融合结构和WSSR(Willsky,1976)验证,在图3中,融合点用虚线表示,集中点用虚线表示,而实际值则用实线表示。从仿真数据可以看出,由于第一个传感器在

时出现故障,因此集中式滤清器会发散。但是分散的过滤器仍然可以跟踪目标。结果表明,当传感器出现故障时,具有两层融合结构的信息融合分散滤波器具有更好的容错性和鲁棒性。

6.结论

对于Kim(1994)提出的标准正态分布假设下的最大似然融合准则,本文使用拉格朗日乘数法和线性最小方差意义上的新解释给出了新的推导。 基于该融合准则,针对具有多个传感器和相关噪声的离散时变线性随机控制系统,给出了具有两层融合结构的多传感器最优信息融合分散卡尔曼滤波器。 它具有以下属性:

(i)线性最小方差意义上最优融合准则的新推导避免了正态分布的假设(Kim,1994)。

(ii)它可以解决带有多个传感器和相关噪声的系统的最优融合问题。

(iii)对于具有相关噪声的系统,给出了第i个传感器子系统和第j个传感器子系统之间的交叉协方差。

(iv)避免保守地使用过程噪声方差的上限而不是过程噪声方差本身(Carlson,1990)。

(v)当测量矩阵大小不同时,它可以处理融合问题,从而避免将测量矩阵大小限制为相同大小(Qiang&Harris,2001)。

(vi)避免了来自融合中心的反馈信息的交流。

(vii)给出了具有容错性和鲁棒性的两层融合结构。提出了确定每对传感器之间的交叉协方差的网状并行结构。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 卡尔曼滤波算法是一种适用于动态系统的优化算法,常用于多个测量设备的数据融合和噪声滤波。而一维多传感器应用则是指多个传感器同时监测同一物理量,通过卡尔曼滤波算法将多个传感器的数据融合得到更为准确的结果。 在C语言中,可以使用卡尔曼滤波算法对一维多传感器的数据进行处理。首先需要定义多个传感器的测量值、噪声方差等参数,以及初始状态的估计值。然后,使用卡尔曼滤波的基本流程,通过递推计算得到对当前状态的最优估计值。 具体地,C语言程序的实现可以包括以下步骤: 1. 定义多个传感器的数据类型,包括测量值、噪声方差等参数。例如,可以定义一个结构体类型来表示每个传感器的数据: typedef struct { float measurement; // 测量值 float variance; // 噪声方差 } SensorData; 2. 定义卡尔曼滤波算法的基本变量,包括状态矩阵、协方差矩阵、观测矩阵等。例如,可以定义下面的变量: float x; // 状态值 float P; // 状态协方差 float Q; // 系统噪声方差 float R; // 测量噪声方差 float H; // 观测矩阵 3. 初始化卡尔曼滤波算法的状态值和协方差矩阵。例如,可以设置状态值的初始估计值为第一个传感器的测量值: x = sensorData[0].measurement; P = sensorData[0].variance; 4. 对于每个新的传感器数据,使用卡尔曼滤波算法进行数据融合。例如,可以使用以下代码进行计算: for (int i = 1; i < numSensors; i++) { // 预测状态和协方差 x = x; P = P + Q; // 计算卡尔曼增益 float K = P / (P + sensorData[i].variance); // 更新状态和协方差 x = x + K * (sensorData[i].measurement - H * x); P = (1 - K*H) * P; } 5. 最终得到的状态值即为多个传感器数据的融合结果,可以通过输出到终端或者其他处理方式进行进一步分析和应用。 总之,卡尔曼滤波算法在一维多传感器的数据融合中具有广泛的应用,可以提高数据的精度和可靠性。在C语言中,实现卡尔曼滤波算法的过程已经比较成熟和简单,可以借助现有的库和代码进行快速开发和应用。 ### 回答2: 卡尔曼滤波算法是一种用于对有噪声的系统状态进行估计的数学算法。它包含预测和更新两个过程,可以通过融合多个传感器信息来提高系统状态的精确度。在一维多传感器的简单应用中,我们可以通过c语言实现一个基于卡尔曼滤波算法的状态估计器来对一个具有多个传感器的系统状态进行估计,例如温度传感器,压力传感器等等。 在程序实现方面,我们需要定义一组系统状态和观测向量的变量,并预测系统状态和观测向量的时间变化。然后我们需要实现卡尔曼滤波算法的预测步骤和更新步骤,在每个时间步骤中将传感器的观测值合并,得到最终的状态估计值。 卡尔曼滤波算法可以对多传感器的信息进行加权处理,根据不同传感器提供的可靠度进行动态加权,从而提高了系统状态估计的精确度。同时,由于卡尔曼滤波算法完全基于系统状态和观测向量的数学模型,所以我们可以通过简单的修改来适应不同的应用场景,例如降低响应时间或者增加系统状态的维度等等。 ### 回答3: 卡尔曼滤波算法是一种常用的信号处理算法,能够从不完全和有噪声的传感器数据中提取出信号的精确估计值。一维多传感器的简单应用指的是,使用多个传感器来收集同一维度上的数据,并利用卡尔曼滤波算法将它们的数据进行融合,得到一个更加精确的结果。 在C语言中实现一维多传感器的卡尔曼滤波算法,需要引入矩阵计算库,如GNU科学计算库(GSL)。首先,需要利用多个传感器同时采集同一信号的数据,并将这些数据存储在数组中。然后,需要根据信号模型和传感器特性,设计卡尔曼滤波器的状态转移方程和观测方程,并初始化滤波器的状态向量和协方差矩阵。接着,需要对每个传感器得到的数据进行预处理,如平滑滤波、去除噪声和异常值等,以提高滤波器的性能。最后,对每个时间步骤运用卡尔曼滤波算法,将多个传感器的数据进行加权平均得到一个最优估计结果,并更新滤波器的状态向量和协方差矩阵。 总之,卡尔曼滤波算法在一维多传感器信号处理中有着广泛的应用。使用C语言实现卡尔曼滤波算法需要掌握矩阵计算及信号处理相关的知识,同时要注意算法实现的复杂度和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值