This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

State Estimation of Wireless Sensor Networks in the Presence of Data Packet Drops and Non-Gaussian Noise

Jiacheng He, Gang Wang, Xuemei Mao, Song Gao, Bei Peng
Abstract

Distributed Kalman filter approaches based on the maximum correntropy criterion have recently demonstrated superior state estimation performance to that of conventional distributed Kalman filters for wireless sensor networks in the presence of non-Gaussian impulsive noise. However, these algorithms currently fail to take account of data packet drops. The present work addresses this issue by proposing a distributed maximum correntropy Kalman filter that accounts for data packet drops (i.e., the DMCKF-DPD algorithm). The effectiveness and feasibility of the algorithm are verified by simulations conducted in a wireless sensor network with intermittent observations due to data packet drops under a non-Gaussian noise environment. Moreover, the computational complexity of the DMCKF-DPD algorithm is demonstrated to be moderate compared with that of a conventional distributed Kalman filter, and we provide a sufficient condition to ensure the convergence of the proposed algorithm.

Index Terms:
wireless sensor network, maximum correntropy criterion, data packet drops, distributed maximum correntropy Kalman filter.

I Introduction

State estimation in wireless sensor networks (WSNs) has been a subject of considerable interest recently[1, 2, 3], and it has been applied widely, such as in static or dynamic target positioning and tracking[4, 5], indoor positioning[6, 7], vehicle navigation[8, 9], and smart grids[10]. However, a number of challenges affecting the state estimation performance in WSNs remain to be fully addressed, such as those due to data packet drops and non-Gaussian noise [11], which are both very common in practical applications of automatic control and target tracking.

The application of Kalman filters to the state estimation problem in WSNs with intermittent observations due to data packet drops has undergone significant development recently[12, 13, 14, 15, 16]. The development of distributed Kalman filter (DKF) approaches has demonstrated particularly great progress in this regard[1, 17, 18, 19, 20, 21, 22]. In a DKF approach, each sensor in a WSN computes local state estimation based on the information obtained from its own observations and the observations sent from its neighbors. In addition, algorithms based on the consensus approach have been proposed to address random link failure in WSNs due to data packet drops[18]. This issue has also been addressed by developing a novel state estimation algorithm based on a distributed agent dynamical system[20]. Zhou et al.[19] considered the existence of data packet drops when designing a DKF for WSNs, and the performance of a stationary DKF and a Kalman consensus filter (KCF) were also evaluated. However, all of the above-discussed algorithms have accounted for the impact of data packet drops in the state estimation process under a Gaussian noise assumption.

A number of studies have focused on conducting state estimation in WSNs under a non-Gaussian noise environment [23, 24, 25]. For example, cost functions based on information theoretic learning (ITL) have been proposed[9, 26, 27, 28, 29, 30, 31]. In addition, approaches based on the maximum correntropy (MC) criterion have demonstrated superior state estimation performance under conditions of impulsive noise[26, 27, 32, 27]. Moreover, a proposed DFK algorithm based on MC (i.e., the DMCKF algorithm) has been demonstrated to significantly improve the state estimation performance under non-Gaussian noise conditions[33, 34, 35]. However, all of the above-discussed algorithms fail to take account of data packet drops in the state estimation process of WSNs.

The present study addresses the above-discussed issues by proposing a novel DMCKF algorithm accounting for data packet drops (i.e., the DMCKF-DPD algorithm) for conducting state estimation in WSNs. In contrast to conventional DMCKF algorithms, the proposed algorithm is based on a fixed-point iterative algorithm to update the posterior estimates of the WSN node states. The effectiveness and feasibility of the algorithm are verified by simulations conducted in a WSN with intermittent observations due to data packet drops under a non-Gaussian noise environment. Moreover, the computational complexity of the DMCKF-DPD algorithm is demonstrated to be moderate compared with that of a conventional stationary DKF[19], and we provide a sufficient condition to ensure the convergence of the proposed algorithm.

The remainder of this paper is organized as follows. In Section II, the MC criterion and state-space model are briefly reviewed. In Section III, the derivation, computational complexity, and convergence issue of the DMCKF-DPD algorithm are presented. The simulation examples are provided in Section IV, and, finally, the conclusion is given in Section V.

II Preliminaries

II-A Correntropy

The concept of correntropy, first proposed by Principe et al.[26], is a very practical method for evaluating the generalized similarity between random variables X,YR{X,Y\in R} with the same dimensions. Here, correntropy is defined as

V(X,Y)=E[κ(X,Y)]=κ(x,y)dFXY(x,y),\begin{split}\operatorname{V}\left({X,Y}\right)=\operatorname{E}\left[{\kappa\left({X,Y}\right)}\right]=\int{\kappa\left({x,y}\right)}\operatorname{d}{\operatorname{F}_{XY}}\left({x,y}\right),\end{split} (1)

where E[.] is the expectation operator, V(.){\operatorname{V}(.)} represents the information potential, FXY(x,y){{\operatorname{F}_{XY}}(x,y)} represents the probability distribution function (PDF) with respect to variables X{X} and Y{Y}, and κ(,){\kappa\left({\cdot{\rm{}},{\rm{}}\cdot}\right)} is the shift-invariant Mercer kernel. Here, we employ the Gaussian kernel, which is given as

κ(x,y)=Gσ(e)=exp(e22σ2),\begin{split}\kappa\left({x,y}\right)={\operatorname{G}_{\sigma}}\left(e\right)=\exp\left({-\frac{{{e^{2}}}}{{2{\sigma^{2}}}}}\right),\end{split} (2)

where e=xy{e=x-y} represents the error between elements x{x} and y{y}, and σ>0{\sigma>0} represents the kernel bandwidth (or kernel size) of the Gaussian kernel function.

However, only a limited amount of data related to the variables X{X} and Y{Y} can be obtained in realistic scenarios, and the PDF FXY(x,y){{\operatorname{F}_{XY}}(x,y)} is usually unknown. Under these conditions, a sample estimator can be used to calculate the correntropy as follows:

V^(X,Y)=1Ni=1NGσ(ei),\begin{split}\hat{V}\left({X,Y}\right)=\frac{1}{N}\sum\limits_{i=1}^{N}{{\operatorname{G}_{\sigma}}}\left({{e^{i}}}\right),\end{split} (3)

where

ei=xiyi,(xi,yi{xi,yi}i=1N),\begin{split}{e^{i}}={x^{i}}-{y^{i}},\left({{x^{i}},{y^{i}}\in\left\{{{x^{i}},{y^{i}}}\right\}_{i=1}^{N}}\right),\end{split} (4)

and N{N} samples are employed to define FXY(x,y){{\operatorname{F}_{XY}}(x,y)}.

Applying a Taylor expansion to the Gaussian kernel function yields the following:

V^(X,Y)=n=0(1)n2nσ2nn!E[(XY)2n].\begin{split}\hat{V}\left({X,Y}\right)=\sum\limits_{n=0}^{\infty}{\frac{{{{\left({-1}\right)}^{n}}}}{{{2^{n}}{\sigma^{2n}}n!}}\operatorname{E}\left[{{{\left({X-Y}\right)}^{2n}}}\right]}.\end{split} (5)

We can infer from (5) that the correntropy is the weighted sum of all even-order moments of relation XY{X-Y}. Compared with other similarity measurement schemes, such as the mean-square error (MSE) criterion, correntropy contains all even-order moments, and is therefore useful for nonlinear and signal processing applications in non-Gaussian noise environments.

II-B State-space model

The state-space model of the DKF over the nodes of a WSN under conditions of data packet drops is the first problem that must be solved to estimate the state of a target node. Here, we adopt a powerful state-space model [19], which is described as follows.

Consider a WSN with N{N} sensors. The states and observations are as follows:

𝒙k=𝑨k𝒙k1+𝒒k,𝒚ki=𝑪i𝒙ki+𝒗ki, i=1,2,,N,and iΩ,\begin{split}\begin{gathered}{{\boldsymbol{x}}_{k}}={{\boldsymbol{A}}_{k}}{{\boldsymbol{x}}_{k-1}}+{{\boldsymbol{q}}_{k}},\hfill\\ {\boldsymbol{y}}_{k}^{i}={{\boldsymbol{C}}^{i}}{\boldsymbol{x}}_{k}^{i}+{\boldsymbol{v}}_{k}^{i},{\text{ }}i=1,2,\cdots,N,{\text{and }}i\in\Omega,\hfill\\ \end{gathered}\end{split} (6)

where 𝒙k,𝒙k1n×1{{{\boldsymbol{x}}_{k}},{{\boldsymbol{x}}_{k-1}}\in{\mathbb{R}^{n\times 1}}} represent the states of the dynamical system at instants k{k} and k1{k-1}, Ω{\Omega} represents the set of all sensors in the network, 𝒚kimi×1(mi=rank(𝑪i)iΩ){{\boldsymbol{y}}_{k}^{i}\in{\mathbb{R}^{{m_{i}}\times 1}}({m_{i}}=\operatorname{rank}({{\boldsymbol{C}}_{i}})\forall i\in\Omega)} denotes the observations obtained by node i{i} at instant k{k}, 𝑨k{{{\boldsymbol{A}}_{k}}} and 𝑪i{{{\boldsymbol{C}}^{i}}} represent the state transition matrix and observation matrix of the system, respectively, and 𝒒k{{{\boldsymbol{q}}_{k}}} and 𝒗ki{{\boldsymbol{v}}_{k}^{i}} are the mutually uncorrelated process noise and measurement noise, respectively, with means of zero and covariances respectively given as follows:

E[𝒘k𝒘kT]=𝑷, E[𝒗ki(𝒗ki)T]=𝑹i.\begin{split}{\text{E}}\left[{{{\boldsymbol{w}}_{k}}{\boldsymbol{w}}_{k}^{\text{T}}}\right]={\boldsymbol{P}},{\text{ E}}\left[{{\boldsymbol{v}}_{k}^{i}{{({\boldsymbol{v}}_{k}^{i})}^{\text{T}}}}\right]={{\boldsymbol{R}}^{i}}.\end{split} (7)

We then define ΩiΩ{{\Omega_{i}}\subset\Omega} to represent the set of all neighboring sensors of the i{i}th sensor. Therefore, set i=Ωi{i}{{\mho_{i}}={\Omega_{i}}\cup\{i\}} contains node i{i} itself and all its neighboring nodes. According to the properties of a WSN, the process whereby node i{i} receives the observations from its neighboring node j{j} at instant k{k} can be modeled as follows:

𝒔ki,j=γki,j𝒚kj, iΩ, ji.\begin{split}{\boldsymbol{s}}_{k}^{i,j}=\gamma_{k}^{i,j}{\boldsymbol{y}}_{k}^{j},{\text{ }}i\in\Omega,{\text{ }}j\in{\mho_{i}}.\end{split} (8)

Here, the term γki,j{\gamma_{k}^{i,j}} is used to indicate the existence of data packet drops over the WSN. We employ the Bernoulli model for modeling the data packet loss process and assume that the process has independent and identically distributed properties for γki,j{\gamma_{k}^{i,j}} with the probability

P{γki;j=1}=pki;j>0 k0,\begin{split}\operatorname{P}\left\{{\gamma_{k}^{i;j}=1}\right\}=p_{k}^{i;j}>0{\text{ }}\forall k\geqslant 0,\end{split} (9)

and

E[γki;j=1]=pki;j,(μki;j)2=E[(γki;jpki;j)2]=pki;j(pki;j)2.\begin{split}\begin{gathered}\operatorname{E}\left[{\gamma_{k}^{i;j}=1}\right]=p_{k}^{i;j},\hfill\\ {\left({\mu_{k}^{i;j}}\right)^{2}}=\operatorname{E}\left[{{{\left({\gamma_{k}^{i;j}-p_{k}^{i;j}}\right)}^{2}}}\right]=p_{k}^{i;j}-{\left({p_{k}^{i;j}}\right)^{2}}.\hfill\\ \end{gathered}\end{split} (10)

We assume that variables γki,j{\gamma_{k}^{i,j}} and γkj,i{\gamma_{k}^{j,i}} are mutually independent (i.e., ij{\forall i\neq j}), but the condition pi,j=pj,i{{p_{i,j}}={p_{j,i}}} is allowed, and γki,j{\gamma_{k}^{i,j}} is independent of the process noise, measurement noise, and initial state of the dynamical system. According to (8), if sensor i{i} receives the observations from its neighboring node j{j} at instant k{k}, then γki,j=1{\gamma_{k}^{i,j}=1} and γki,j=0{\gamma_{k}^{i,j}=0} when all the components of 𝒚kj{{{\boldsymbol{y}}_{k}^{j}}} are lost. We assume that node i{i} can receive all observations from itself at any time, so γki,j1{\gamma_{k}^{i,j}\equiv 1}.

Based on the above analysis, the various factors of a DKF model that must take data packet drops into account can be expressed as

{𝒚ki=vec{𝒚kj}ji,𝒗ki =vec{𝒗kj}ji,𝒔ki=vec{𝒔kj}ji,𝑪i=col{𝑪j}ji,𝑹i=diag{𝑹j}ji,𝑫γ;ki=diag{γki,j𝑰mj}ji.\begin{split}\left\{\begin{gathered}{\boldsymbol{y}}_{k}^{{\mho_{i}}}={\text{vec}}{\left\{{{\boldsymbol{y}}_{k}^{j}}\right\}_{j\in{\mho_{i}}}}{\text{,}}\hfill\\ {\boldsymbol{v}}_{k}^{{\mho_{i}}}{\text{ }}={\text{vec}}{\left\{{{\boldsymbol{v}}_{k}^{j}}\right\}_{j\in{\mho_{i}}}},\hfill\\ {\boldsymbol{s}}_{k}^{{\mho_{i}}}={\text{vec}}{\left\{{{\boldsymbol{s}}_{k}^{j}}\right\}_{j\in{\mho_{i}}}},\hfill\\ {{\boldsymbol{C}}^{{\mho_{i}}}}={\text{col}}{\left\{{{{\boldsymbol{C}}^{j}}}\right\}_{j\in{\mho_{i}}}},\hfill\\ {{\boldsymbol{R}}^{{\mho_{i}}}}=\operatorname{diag}{\left\{{{{\boldsymbol{R}}^{j}}}\right\}_{j\in{\mho_{i}}}},\hfill\\ {\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}=\operatorname{diag}{\left\{{\gamma_{k}^{i,j}{{\boldsymbol{I}}_{{m_{j}}}}}\right\}_{j\in{\mho_{i}}}}.\hfill\\ \end{gathered}\right.\end{split} (11)

Here, vec{}{{\text{vec}}\left\{\cdot\right\}}, col{}{{\text{col}}\left\{\cdot\right\}}, and diag{}{\operatorname{diag}\left\{\cdot\right\}} denote the vectorization operation, the columnization operation, and the (block) diagonalization operation, respectively, and 𝑰mj(ji){{{\boldsymbol{I}}_{{m_{j}}}}(j\in{\mho_{i}})} represents an identity matrix of dimension mj×mj{{m_{j}}\times{m_{j}}}. According to the above discussion, the state-space model of the i{i}th sensor in the case of data packet drops can be written in a compact form as

𝒙ki=𝑨𝒙k1i+𝒒ki,\begin{split}{\boldsymbol{x}}_{k}^{i}={\boldsymbol{Ax}}_{k-1}^{i}+{\boldsymbol{q}}_{k}^{i},\end{split} (12)
𝒚ki=𝑪i𝒙ki+𝒗ki,\begin{split}{\boldsymbol{y}}_{k}^{{\mho_{i}}}={{\boldsymbol{C}}^{{\mho_{i}}}}{\boldsymbol{x}}_{k}^{i}+{\boldsymbol{v}}_{k}^{{\mho_{i}}},\end{split} (13)
𝒔ki=𝑫kγ;i𝒚ki.\begin{split}{\boldsymbol{s}}_{k}^{{\mho_{i}}}={\boldsymbol{D}}_{k}^{\gamma;{\mho_{i}}}{\boldsymbol{y}}_{k}^{{\mho_{i}}}.\end{split} (14)

In addition, the covariance of 𝒗ki{{\boldsymbol{v}}_{k}^{{\mho_{i}}}} is

𝑹i=diag{𝑹j}ji.\begin{split}{{\boldsymbol{R}}^{{\mho_{i}}}}=\operatorname{diag}{\left\{{{{\boldsymbol{R}}^{j}}}\right\}_{j\in{\mho_{i}}}}.\end{split} (15)

III Proposed DMCKF-DPD algorithm

III-A Algorithm derivation

We first derive the stationary DMCKF in the case of data packet drops based on the model given by (12)-(14). The state prediction error of the algorithm can be written as

𝜺k|k1i=𝒙ki𝒙^k|k1i.\begin{split}{\boldsymbol{\varepsilon}}_{k|k-1}^{i}={\boldsymbol{x}}_{k}^{i}-{\boldsymbol{\hat{x}}}_{k|k-1}^{i}.\end{split} (16)

Combining this with the above state-space model yields the following augmented model:

[𝒙^k|k1i𝒔ki]=[𝑰n𝑫γ;ki𝑪i]𝒙ki + 𝒈ki,\begin{split}\left[{\begin{array}[]{*{20}{c}}{{\boldsymbol{\hat{x}}}_{k|k-1}^{i}}\\ {{\boldsymbol{s}}_{k}^{{\mho_{i}}}}\end{array}}\right]=\left[{\begin{array}[]{*{20}{c}}{{{\boldsymbol{I}}_{n}}}\\ {{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\end{array}}\right]{\boldsymbol{x}}_{k}^{i}{\text{ + }}{\boldsymbol{g}}_{k}^{i},\end{split} (17)

where 𝑰n{{{{\boldsymbol{I}}_{n}}}} represents an n×n{n\times n} identity matrix and 𝒈ki{{\boldsymbol{g}}_{k}^{i}} represents the augmented noise vector containing the state and measurement errors of the dynamical system, which is defined as

𝒈ki=[𝜺k|k1i𝑫γ;ki𝒗ki].\begin{split}{\boldsymbol{g}}_{k}^{i}=\left[{\begin{array}[]{*{20}{c}}{-{\boldsymbol{\varepsilon}}_{k|k-1}^{i}}\\ {{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{\boldsymbol{v}}_{k}^{{\mho_{i}}}}\end{array}}\right].\end{split} (18)

Assuming that the covariance matrix of the augmented vector E[𝒈ki(𝒈ki)T]{{\text{E}}[{\boldsymbol{g}}_{k}^{i}{({\boldsymbol{g}}_{k}^{i})^{\text{T}}}]} is positive definite yields the following:

E[𝒈ki(𝒈ki)T]=[𝑷k|k1i00𝑫p;ki𝑹i𝑫p;ki]=[𝑩P(k|k1)i(𝑩P(k|k1)i)T00𝑩R;ki(𝑩R;ki)T]=𝑩ki(𝑩ki)T,\begin{split}\begin{gathered}{\text{E}}\left[{{\boldsymbol{g}}_{k}^{i}{{\left({{\boldsymbol{g}}_{k}^{i}}\right)}^{\text{T}}}}\right]=\left[{\begin{array}[]{*{20}{c}}{{\boldsymbol{P}}_{k|k-1}^{i}}&0\\ 0&{{\boldsymbol{D}}_{p;k}^{{\mho_{i}}}{{\boldsymbol{R}}^{{\mho_{i}}}}{\boldsymbol{D}}_{p;k}^{{\mho_{i}}}}\end{array}}\right]\hfill\\ =\left[{\begin{array}[]{*{20}{c}}{{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}{{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)}^{\text{T}}}}&0\\ 0&{{\boldsymbol{B}}_{R;k}^{i}{{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)}^{\text{T}}}}\end{array}}\right]\hfill\\ ={\boldsymbol{B}}_{k}^{i}{\left({{\boldsymbol{B}}_{k}^{i}}\right)^{\text{T}}},\hfill\\ \end{gathered}\end{split} (19)

with

E[𝑫γ;ki]=diag{pki;j𝑰mj}ji=𝑫p;ki.\begin{split}{\text{E}}\left[{{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}}\right]=\operatorname{diag}{\left\{{p_{k}^{i;j}{{\boldsymbol{I}}_{{m_{j}}}}}\right\}_{j\in{\mho_{i}}}}={\boldsymbol{D}}_{p;k}^{{\mho_{i}}}.\end{split} (20)

Here, 𝑩ki{{\boldsymbol{B}}_{k}^{i}} and (𝑩ki)T{{({\boldsymbol{B}}_{k}^{i})^{\text{T}}}} can be obtained by the Cholesky decomposition of E[𝒈ki(𝒈ki)T]{{\text{E}}[{\boldsymbol{g}}_{k}^{i}{({\boldsymbol{g}}_{k}^{i})^{\text{T}}}]}, and matrix 𝑫p;ki{{\boldsymbol{D}}_{p;k}^{{\mho_{i}}}} represents the expectation of 𝑫γ;ki{{{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}}}. Left multiplying each term of (17) by (𝑩ki)1{{({\boldsymbol{B}}_{k}^{i})^{-1}}} yields the following:

𝑫ki=𝑾ki𝒙ki+𝒆ki,\begin{split}{\boldsymbol{D}}_{k}^{i}={\boldsymbol{W}}_{k}^{i}{\boldsymbol{x}}_{k}^{i}+{\boldsymbol{e}}_{k}^{i},\end{split} (21)

where

{𝑫ki=(𝑩ki)1[𝒙^k|k1i𝒔ki],𝑾ki=(𝑩ki)1[𝑰𝑫γ;ki𝑪i],𝒆ki=(𝑩ki)1𝒈ki.\begin{split}\left\{{\begin{array}[]{*{20}{l}}{{\boldsymbol{D}}_{k}^{i}={{\left({{\boldsymbol{B}}_{k}^{i}}\right)}^{-1}}\left[{\begin{array}[]{*{20}{c}}{{\boldsymbol{\hat{x}}}_{k|k-1}^{i}}\\ {{\boldsymbol{s}}_{k}^{{\mho_{i}}}}\end{array}}\right],}\\ {{\boldsymbol{W}}_{k}^{i}={{\left({{\boldsymbol{B}}_{k}^{i}}\right)}^{-1}}\left[{\begin{array}[]{*{20}{c}}{\boldsymbol{I}}\\ {{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\end{array}}\right],}\\ {{\boldsymbol{e}}_{k}^{i}={{\left({{\boldsymbol{B}}_{k}^{i}}\right)}^{-1}}{\boldsymbol{g}}_{k}^{i}.}\end{array}}\right.\end{split} (22)

According to the above derivation, we propose the following cost function based on the MC criterion:

JL(xki)=1Lh=1LGσ(dki;h𝒘ki;h𝒙ki),\begin{split}{J_{L}}\left({x_{k}^{i}}\right)=\frac{1}{L}\sum\limits_{h=1}^{L}{{\operatorname{G}_{\sigma}}\left({d_{k}^{i;h}-{\boldsymbol{w}}_{k}^{i;h}{\boldsymbol{x}}_{k}^{i}}\right)},\end{split} (23)

where dki;h{d_{k}^{i;h}} represents the h{h}th element of 𝑫ki{{\boldsymbol{D}}_{k}^{i}}, 𝒘ki;h{{\boldsymbol{w}}_{k}^{i;h}} represents the h{h}th row of 𝑾ki{{\boldsymbol{W}}_{k}^{i}}, and

L=n+mi;a,((mi;a)iΩ=jΩimj)\begin{split}L=n+{m_{i;a}},\left({{{\left({{m_{i;a}}}\right)}_{i\in\Omega}}=\sum\limits_{j\in{\Omega_{i}}}{{m_{j}}}}\right)\end{split} (24)

denotes the number of elements of 𝑫ki{{\boldsymbol{D}}_{k}^{i}}. Then, the objective function of the optimal state estimation 𝒙ki{{\boldsymbol{x}}_{k}^{i}} based on the MC criterion is

𝒙^ki=max𝒙kiJL(𝒙ki)=max𝒙kih=1LGσ(eki;h),\begin{split}{\boldsymbol{\hat{x}}}_{k}^{i}=\mathop{\max}\limits_{{\boldsymbol{x}}_{k}^{i}}{J_{L}}\left({{\boldsymbol{x}}_{k}^{i}}\right)=\mathop{\max}\limits_{{\boldsymbol{x}}_{k}^{i}}\sum\limits_{h=1}^{L}{{\operatorname{G}_{\sigma}}}\left({e_{k}^{i;h}}\right),\end{split} (25)

where eki;h=dki;h𝒘ki;h𝒙ki{e_{k}^{i;h}=d_{k}^{i;h}-{\boldsymbol{w}}_{k}^{i;h}{\boldsymbol{x}}_{k}^{i}} and (h=1,2,L){\left({h=1,2,\cdots L}\right)} is the h{h}th element of eki{e_{k}^{i}}. Finally, the optimal state estimation of 𝒙^ki{{\boldsymbol{\hat{x}}}_{k}^{i}} is achieved by maximizing the information potential V(.){\operatorname{V}(.)}. To that end, we set the gradient of the cost function JL(𝒙ki){{{J_{L}}({\boldsymbol{x}}_{k}^{i})}} regarding 𝒙ki{{{\boldsymbol{x}}_{k}^{i}}} to zero:

JL(𝒙ki)𝒙ki=1σ2h=1LGσ(eki;h)(𝒘ki;h)T(dki;h𝒘ki;h𝒙ki)=0,\begin{split}\begin{gathered}\frac{{\partial{J_{L}}\left({{\boldsymbol{x}}_{k}^{i}}\right)}}{{\partial{\boldsymbol{x}}_{k}^{i}}}\hfill\\ =\frac{1}{{{\sigma^{2}}}}\sum\limits_{h=1}^{L}{{\operatorname{G}_{\sigma}}\left({e_{k}^{i;h}}\right)}{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)^{\text{T}}}\left({d_{k}^{i;h}-{\boldsymbol{w}}_{k}^{i;h}{\boldsymbol{x}}_{k}^{i}}\right)\hfill\\ =0,\hfill\\ \end{gathered}\end{split} (26)

and obtaining the optimal state of 𝒙ki{{{\boldsymbol{x}}_{k}^{i}}} is relatively easy:

𝒙ki=[h=1LGσ(eki;h)(𝒘ki;h)T𝒘ki;h]1×h=1LGσ(eki;h)(𝒘ki;h)Tdki;h.\begin{split}\begin{gathered}{\boldsymbol{x}}_{k}^{i}={\left[{\sum\limits_{h=1}^{L}{{\operatorname{G}_{\sigma}}\left({e_{k}^{i;h}}\right){{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}}{\boldsymbol{w}}_{k}^{i;h}}\right]^{-1}}\times\hfill\\ \sum\limits_{h=1}^{L}{{\operatorname{G}_{\sigma}}\left({e_{k}^{i;h}}\right){{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}}d_{k}^{i;h}.\hfill\\ \end{gathered}\end{split} (27)

Because eki;h=dki;h𝒘ki;h𝒙ki{e_{k}^{i;h}=d_{k}^{i;h}-{\boldsymbol{w}}_{k}^{i;h}{\boldsymbol{x}}_{k}^{i}} is a function of 𝒙ki{{\boldsymbol{x}}_{k}^{i}}, the optimal state estimation in (27) is a fixed-point iterative equation of 𝒙ki{{\boldsymbol{x}}_{k}^{i}}, and can be rewritten in the following form:

𝒙ki=f(𝒙ki),\begin{split}{\boldsymbol{x}}_{k}^{i}=\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right),\end{split} (28)

where

f(𝒙ki)=[h=1LGσ(dki;h𝒘ki;h𝒙ki)(𝒘ki;h)T𝒘ki;h]1h=1LGσ(dki;h𝒘ki;h𝒙ki)(𝒘ki;h)T𝒅ki;h.\begin{split}\begin{gathered}\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right)={\left[{\sum\limits_{h=1}^{L}{{\operatorname{G}_{\sigma}}\left({d_{k}^{i;h}-{\boldsymbol{w}}_{k}^{i;h}{\boldsymbol{x}}_{k}^{i}}\right)}{{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}{\boldsymbol{w}}_{k}^{i;h}}\right]^{-1}}\hfill\\ \sum\limits_{h=1}^{L}{{\operatorname{G}_{\sigma}}\left({d_{k}^{i;h}-{\boldsymbol{w}}_{k}^{i;h}{\boldsymbol{x}}_{k}^{i}}\right)}{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)^{\text{T}}}{\boldsymbol{d}}_{k}^{i;h}.\hfill\\ \end{gathered}\end{split} (29)

According to the above derivation, the iterative equation in (28) can be written as follows:

(𝒙^ki)t+1=f[(𝒙ki)t].\begin{split}{\left({{\boldsymbol{\hat{x}}}_{k}^{i}}\right)_{t+1}}=\operatorname{f}\left[{{{\left({{\boldsymbol{x}}_{k}^{i}}\right)}_{t}}}\right].\end{split} (30)

Here, (𝒙^ki)t+1{{({\boldsymbol{\hat{x}}}_{k}^{i})_{t+1}}} represents the result of 𝒙ki{{\boldsymbol{x}}_{k}^{i}} at the fixed-point iteration t+1{t+1}, and (27) can be further written in the form of matrix multiplication:

𝒙ki=[(𝑾ki)T𝚲ki𝑾ki]1(𝑾ki)T𝚲ki𝑫ki,\begin{split}{\boldsymbol{x}}_{k}^{i}={\left[{{{\left({{\boldsymbol{W}}_{k}^{i}}\right)}^{\text{T}}}{\boldsymbol{\Lambda}}_{k}^{i}{\boldsymbol{W}}_{k}^{i}}\right]^{-1}}{\left({{\boldsymbol{W}}_{k}^{i}}\right)^{\text{T}}}{\boldsymbol{\Lambda}}_{k}^{i}{\boldsymbol{D}}_{k}^{i},\end{split} (31)

where

𝚲ki=[𝚲x;ki00𝚲y;ki],𝚲x;ki=diag[Gσ(eki;1),,Gσ(eki;n)],𝚲y;ki=diag[Gσ(eki;n+1),,Gσ(eki;n+mi;a)].\begin{split}\begin{gathered}{\boldsymbol{\Lambda}}_{k}^{i}=\left[{\begin{array}[]{*{20}{c}}{{\boldsymbol{\Lambda}}_{x;k}^{i}}&0\\ 0&{{\boldsymbol{\Lambda}}_{y;k}^{i}}\end{array}}\right],\hfill\\ {\boldsymbol{\Lambda}}_{x;k}^{i}={\text{diag}}\left[{{\operatorname{G}_{\sigma}}\left({e_{k}^{i;1}}\right),\cdots,{\operatorname{G}_{\sigma}}\left({e_{k}^{i;n}}\right)}\right],\hfill\\ {\boldsymbol{\Lambda}}_{y;k}^{i}={\text{diag}}\left[{{\operatorname{G}_{\sigma}}\left({e_{k}^{i;n+1}}\right),\cdots,{\operatorname{G}_{\sigma}}\left({e_{k}^{i;n+{m_{i;a}}}}\right)}\right].\hfill\\ \end{gathered}\end{split} (32)

According to (22), (31), and (32), we obtain the following:

[(𝑾ki)T𝚲ki𝑾ki]1={[(𝑩P(k|k1)i)1]T𝚲x;ki(𝑩P(k|k1)i)1+(𝑫γ;ki𝑪i)T×[(𝑩R;ki)1]T𝚲y;ki(𝑩R;ki)1(𝑫γ;ki𝑪i)}1.\begin{split}\begin{gathered}{\left[{{{\left({{\boldsymbol{W}}_{k}^{i}}\right)}^{\text{T}}}{\boldsymbol{\Lambda}}_{k}^{i}{\boldsymbol{W}}_{k}^{i}}\right]^{-1}}\hfill\\ ={\left\{\begin{gathered}{\left[{{{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)}^{-1}}}\right]^{\text{T}}}{\boldsymbol{\Lambda}}_{x;k}^{i}{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)^{-1}}\hfill\\ +{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)^{\text{T}}}\times\hfill\\ {\left[{{{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)}^{-1}}}\right]^{\text{T}}}{\boldsymbol{\Lambda}}_{y;k}^{i}{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)^{-1}}\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)\hfill\\ \end{gathered}\right\}^{-1}}.\hfill\\ \end{gathered}\end{split} (33)

We then apply the following matrix inversion lemma [28]

(𝑮+𝑩𝑪𝑫)1=𝑮1𝑮1𝑩(𝑪1+𝑫𝑮1𝑩)1𝑫𝑮1\begin{split}\begin{gathered}{\left({{\boldsymbol{G}}+{\boldsymbol{BCD}}}\right)^{-1}}\hfill\\ ={{\boldsymbol{G}}^{-1}}-{{\boldsymbol{G}}^{-1}}{\boldsymbol{B}}{\left({{{\boldsymbol{C}}^{-1}}+{\boldsymbol{D}}{{\boldsymbol{G}}^{-1}}{\boldsymbol{B}}}\right)^{-1}}{\boldsymbol{D}}{{\boldsymbol{G}}^{-1}}\hfill\\ \end{gathered}\end{split} (34)

with the identifications

{𝑮=[(𝑩P(k|k1)i)1]T𝚲x;ki(𝑩P(k|k1)i)1,𝑩=(𝑫γ;ki𝑪i)T,𝑪=[(𝑩R;ki)1]T𝚲y;ki(𝑩R;ki)1,𝑫=𝑫γ;ki𝑪i,\begin{split}\left\{\begin{gathered}{\boldsymbol{G}}={\left[{{{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)}^{-1}}}\right]^{\text{T}}}{\boldsymbol{\Lambda}}_{x;k}^{i}{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)^{-1}},\hfill\\ {\boldsymbol{B}}={\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)^{\text{T}}},\hfill\\ {\boldsymbol{C}}={\left[{{{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)}^{-1}}}\right]^{\text{T}}}{\boldsymbol{\Lambda}}_{y;k}^{i}{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)^{-1}},\hfill\\ {\boldsymbol{D}}={\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}},\hfill\\ \end{gathered}\right.\end{split} (35)

and obtain the expression (36) given below.

[(𝑾ki)T𝚲ki𝑾ki]1=𝑩P(k|k1)i(𝚲x;ki)1(𝑩P(k|k1)i)T𝑩P(k|k1)i(𝚲x;ki)1(𝑩P(k|k1)i)T(𝑫γ;kiCi)T[𝑩R;ki(𝚲y;ki)1(𝑩R;ki)T+(𝑫γ;ki𝑪i)𝑩P(k|k1)i(𝚲x;ki)1(𝑩P(k|k1)i)T(𝑫γ;kiCi)T]1×(𝑫γ;ki𝑪i)𝑩P(k|k1)i(𝚲x;ki)1(𝑩P(k|k1)i)T\begin{gathered}\begin{gathered}{\left[{{{\left({{\boldsymbol{W}}_{k}^{i}}\right)}^{\text{T}}}{\boldsymbol{\Lambda}}_{k}^{i}{\boldsymbol{W}}_{k}^{i}}\right]^{-1}}={\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}{\left({{\boldsymbol{\Lambda}}_{x;k}^{i}}\right)^{-1}}{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)^{\text{T}}}-{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}{\left({{\boldsymbol{\Lambda}}_{x;k}^{i}}\right)^{-1}}{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)^{\text{T}}}{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{C^{{\mho_{i}}}}}\right)^{\text{T}}}\hfill\\ {\left[{{\boldsymbol{B}}_{R;k}^{i}{{\left({{\boldsymbol{\Lambda}}_{y;k}^{i}}\right)}^{-1}}{{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)}^{\text{T}}}+\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right){\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}{{\left({{\boldsymbol{\Lambda}}_{x;k}^{i}}\right)}^{-1}}{{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)}^{\text{T}}}{{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{C^{{\mho_{i}}}}}\right)}^{\text{T}}}}\right]^{-1}}\hfill\\ \times\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right){\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}{\left({{\boldsymbol{\Lambda}}_{x;k}^{i}}\right)^{-1}}{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)^{\text{T}}}\hfill\\ \end{gathered}\end{gathered} (36)

According to (22), (31), and (32), we obtain the following:

(𝑾ki)T𝚲ki𝑫ki=[(𝑩P(k|k1)i)1]T𝚲x;ki(𝑩P(k|k1)i)1𝒙^k|k1i+(𝑫γ;ki𝑪i)T[(𝑩R;ki)1]T𝚲y;ki(𝑩R;ki)1𝒔ki.\begin{split}\begin{gathered}{\left({{\boldsymbol{W}}_{k}^{i}}\right)^{\text{T}}}{\boldsymbol{\Lambda}}_{k}^{i}{\boldsymbol{D}}_{k}^{i}\hfill\\ ={\left[{{{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)}^{-1}}}\right]^{\text{T}}}{\boldsymbol{\Lambda}}_{x;k}^{i}{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)^{-1}}{\boldsymbol{\hat{x}}}_{k|k-1}^{i}\hfill\\ +{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)^{\text{T}}}{\left[{{{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)}^{-1}}}\right]^{\text{T}}}{\boldsymbol{\Lambda}}_{y;k}^{i}{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)^{-1}}{\boldsymbol{s}}_{k}^{{\mho_{i}}}.\hfill\\ \end{gathered}\end{split} (37)

Substituting formulas (36) and (37) into (31) yields

𝒙^k|ki=𝒙^k|k1i+𝑲¯ki[𝒔ki𝑫γ;ki𝑪i𝒙^k|k1i],\begin{split}{\boldsymbol{\hat{x}}}_{k|k}^{i}={\boldsymbol{\hat{x}}}_{k|k-1}^{i}+{\boldsymbol{\bar{K}}}_{k}^{i}\left[{{\boldsymbol{s}}_{k}^{{\mho_{i}}}-{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}{\boldsymbol{\hat{x}}}_{k|k-1}^{i}}\right],\end{split} (38)

where

{𝑲¯ki=𝑷¯k|k1i(𝑫γ;ki𝑪i)T[𝑫γ;ki𝑪i𝑷¯k|k1i(𝑫γ;ki𝑪i)T+𝑹¯ki],𝑷¯k|k1i=𝑩P(k|k1)i(𝚲x;ki)1(𝑩P(k|k1)i)T,𝑹¯ki=𝑩R;ki(𝚲y;ki)1(𝑩R;ki)T.\begin{split}\left\{\begin{gathered}{\boldsymbol{\bar{K}}}_{k}^{i}={\boldsymbol{\bar{P}}}_{k|k-1}^{i}{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)^{\text{T}}}\hfill\\ \left[{{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}{\boldsymbol{\bar{P}}}_{k|k-1}^{i}{{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)}^{\text{T}}}+{\boldsymbol{\bar{R}}}_{k}^{i}}\right],\hfill\\ {\boldsymbol{\bar{P}}}_{k|k-1}^{i}={\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}{\left({{\boldsymbol{\Lambda}}_{x;k}^{i}}\right)^{-1}}{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)^{\text{T}}},\hfill\\ {\boldsymbol{\bar{R}}}_{k}^{i}={\boldsymbol{B}}_{R;k}^{i}{\left({{\boldsymbol{\Lambda}}_{y;k}^{i}}\right)^{-1}}{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)^{\text{T}}}.\hfill\\ \end{gathered}\right.\end{split} (39)

Remark 1. Equation (38) is the optimal solution of 𝒙ki{{\boldsymbol{x}}_{k}^{i}}, and it depends on the prior estimate 𝒙^k|k1i{{\boldsymbol{\hat{x}}}_{k|k-1}^{i}} and available observation information 𝒔ki{{{\boldsymbol{s}}_{k}^{{\mho_{i}}}}}. The observation information obtainable by the i{i}th node is determined by the matrix 𝑫γ;ki{{{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}}}.

According to the above derivations, we summarize the steps of the proposed DMCKF-DPD algorithm as follows.

  1. 1.

    Initialize the values of the σ{\sigma}, ε{\varepsilon} (a small positive number), 𝒙^0|0i{{\boldsymbol{\hat{x}}}_{0|0}^{i}}, and 𝑷0|0i{{\boldsymbol{P}}_{0|0}^{i}}.

  2. 2.

    Apply (19) to calculate 𝑩ki{{\boldsymbol{B}}_{k}^{i}}, and calculate 𝒙^k|k1i{{\boldsymbol{\hat{x}}}_{k|k-1}^{i}} and 𝑷k|k1i{{\boldsymbol{P}}_{k|k-1}^{i}} as follows:

    𝒙ki=𝑨𝒙k1i,𝑷k|k1i=𝑨𝑷k1|k1i𝑨T+𝑸.\begin{split}\begin{gathered}{\boldsymbol{x}}_{k}^{i}={\boldsymbol{Ax}}_{k-1}^{i},\hfill\\ {\boldsymbol{P}}_{k|k-1}^{i}={\boldsymbol{AP}}_{k-1|k-1}^{i}{{\boldsymbol{A}}^{\text{T}}}+{\boldsymbol{Q}}.\hfill\\ \end{gathered}\end{split} (40)
  3. 3.

    Update the parameters 𝑫ki=𝑾ki𝒙ki+𝒆ki{{\boldsymbol{D}}_{k}^{i}={\boldsymbol{W}}_{k}^{i}{\boldsymbol{x}}_{k}^{i}+{\boldsymbol{e}}_{k}^{i}} in the new system.

  4. 4.

    Utilize the fixed-point iterative algorithm to estimate the state of system as follows:

    (𝒙^k|ki)t+1=𝒙^k|k1i+𝑲¯ki[𝒔ki𝑫γ;ki𝑪i𝒙^k|k1i],\begin{split}\begin{gathered}{\left({{\boldsymbol{\hat{x}}}_{k|k}^{i}}\right)_{t+1}}\hfill\\ ={\boldsymbol{\hat{x}}}_{k|k-1}^{i}+{\boldsymbol{\bar{K}}}_{k}^{i}\left[{{\boldsymbol{s}}_{k}^{{\mho_{i}}}-{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}{\boldsymbol{\hat{x}}}_{k|k-1}^{i}}\right],\hfill\\ \end{gathered}\end{split} (41)

    where

    𝑲~ki=𝑷~k|k1i(𝑪i)T(𝑫γ;ki)T×[𝑫γ;ki𝑪i𝑷¯k|k1i(𝑪i)T(𝑫γ;ki)T+𝑹~ki],\begin{split}\begin{gathered}{\boldsymbol{\tilde{K}}}_{k}^{i}={\boldsymbol{\tilde{P}}}_{k|k-1}^{i}{\left({{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)^{\text{T}}}{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}}\right)^{\text{T}}}\times\hfill\\ \left[{{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}{\boldsymbol{\bar{P}}}_{k|k-1}^{i}{{\left({{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)}^{\text{T}}}{{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}}\right)}^{\text{T}}}+{\boldsymbol{\tilde{R}}}_{k}^{i}}\right],\hfill\\ \end{gathered}\end{split} (42)
    𝑷~k|k1i=𝑩P(k|k1)i(𝚲~x;ki)1(𝑩P(k|k1)i)T,\begin{split}{\boldsymbol{\tilde{P}}}_{k|k-1}^{i}={\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}{\left({{\boldsymbol{\tilde{\Lambda}}}_{x;k}^{i}}\right)^{-1}}{\left({{\boldsymbol{B}}_{P\left({k|k-1}\right)}^{i}}\right)^{\text{T}}},\end{split} (43)
    𝑹~ki=𝑩R;ki(𝚲~y;ki)1(𝑩R;ki)T,\begin{split}{\boldsymbol{\tilde{R}}}_{k}^{i}={\boldsymbol{B}}_{R;k}^{i}{\left({{\boldsymbol{\tilde{\Lambda}}}_{y;k}^{i}}\right)^{-1}}{\left({{\boldsymbol{B}}_{R;k}^{i}}\right)^{\text{T}}},\end{split} (44)
    𝚲~x;ki=diag[Gσ(e~ki;1),,Gσ(e~ki;n)],\begin{split}{\boldsymbol{\tilde{\Lambda}}}_{x;k}^{i}=\operatorname{diag}\left[{{\operatorname{G}_{\sigma}}\left({\tilde{e}_{k}^{i;1}}\right),\cdots,{\operatorname{G}_{\sigma}}\left({\tilde{e}_{k}^{i;n}}\right)}\right],\end{split} (45)
    𝚲~y;ki=diag[Gσ(e~ki;n+1),,Gσ(e~ki;n+mi;a)],\begin{split}{\boldsymbol{\tilde{\Lambda}}}_{y;k}^{i}=\operatorname{diag}\left[{{\operatorname{G}_{\sigma}}\left({\tilde{e}_{k}^{i;n+1}}\right),\cdots,{\operatorname{G}_{\sigma}}\left({\tilde{e}_{k}^{i;n+{m_{i;a}}}}\right)}\right],\end{split} (46)
    e~ki;h=dki;h𝒘ki;h(𝒙^k|ki;h)t.\begin{split}\tilde{e}_{k}^{i;h}=d_{k}^{i;h}-{\boldsymbol{w}}_{k}^{i;h}{\left({{\boldsymbol{\hat{x}}}_{k|k}^{i;h}}\right)_{t}}.\end{split} (47)
  5. 5.

    Compare the state values obtained by the fixed-point iterative algorithm at t{t} and t+1{t+1}. If these two state estimates satisfy the following criterion:

    (𝒙^k|ki)t+1(𝒙^k|ki)t(𝒙^k|ki)tε,\begin{split}\frac{{\left\|{{{\left({{\boldsymbol{\hat{x}}}_{k|k}^{i}}\right)}_{t+1}}-{{\left({{\boldsymbol{\hat{x}}}_{k|k}^{i}}\right)}_{t}}}\right\|}}{{{{\left({{\boldsymbol{\hat{x}}}_{k|k}^{i}}\right)}_{t}}}}\leqslant\varepsilon,\end{split} (48)

    where ε{\varepsilon} is the termination condition of the fixed-point iterative algorithm, set the optimal estimate of 𝒙^k|ki{{\boldsymbol{\hat{x}}}_{k|k}^{i}} equal to (𝒙^k|ki)t+1{{({\boldsymbol{\hat{x}}}_{k|k}^{i})_{t+1}}}, and continue to step 6). Otherwise, set tt+1{t\leftarrow t+1} and return to step 4).

  6. 6.

    Update the covariance matrix as follows:

    𝑷k|ki=(𝑰𝑲~ki𝑫γ;ki𝑪i)𝑷k|k1i[𝑰𝑲~ki(𝑪i)T(𝑫γ;ki)T]+𝑲~ki𝑹ki(𝑲~ki)T,\begin{split}\begin{gathered}{\boldsymbol{P}}_{k|k}^{i}=\left({{\boldsymbol{I}}-{\boldsymbol{\tilde{K}}}_{k}^{i}{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}{{\boldsymbol{C}}^{{\mho_{i}}}}}\right){\boldsymbol{P}}_{k|k-1}^{i}\hfill\\ \left[{{\boldsymbol{I}}-{\boldsymbol{\tilde{K}}}_{k}^{i}{{\left({{{\boldsymbol{C}}^{{\mho_{i}}}}}\right)}^{\text{T}}}{{\left({{\boldsymbol{D}}_{\gamma;k}^{{\mho_{i}}}}\right)}^{\text{T}}}}\right]+{\boldsymbol{\tilde{K}}}_{k}^{i}{\boldsymbol{R}}_{k}^{{\mho_{i}}}{\left({{\boldsymbol{\tilde{K}}}_{k}^{i}}\right)^{\text{T}}},\hfill\\ \end{gathered}\end{split} (49)

    set kk+1{k\leftarrow k+1}, and return to step 2).

Remark 2. The kernel bandwidth σ{\sigma} is an important parameter in the MC criterion. Broadly speaking, the convergence rate of the algorithm increases with increasing σ{\sigma}, but the accuracy of the algorithm decreases with increasing σ{\sigma}.

III-B Computational complexity

The computational complexity of the proposed DMCKF-DPD algorithm can be compared with that of the stationary DKF [19] in terms of the equations and operations employed by the two algorithms, which are listed in Table 1.

The stationary DKF algorithm mainly includes (13), (14), and (40) cited in the present paper, and (5) and (6) cited within[19]. Therefore, we can evaluate the computational complexity of the stationary DKF as

SSDKF=11n3+12mi;a2n+10mi;an2+4mi;a22mi;ann22nmi;a+2O(mi;a3).\begin{split}\begin{gathered}{S_{SDKF}}=11{n^{3}}+12m_{i;a}^{2}n+10{m_{i;a}}{n^{2}}+4m_{i;a}^{2}\hfill\\ -2{m_{i;a}}n-{n^{2}}-2n-{m_{i;a}}+2O(m_{i;a}^{3}).\hfill\\ \end{gathered}\end{split} (50)

The proposed algorithm mainly includes (13) and (14), (40), (2), and (41)-(47). Accordingly, the computational complexity of the DMCKF-DPD algorithm can be defined based on an average number of fixed-point iterative algorithm iterations T{T} as

SSDMCKF = 6Tmi;a3+6Tn3+16Tmi;a2n+10Tmi;an2+(23T)mi;a2+2n2+(23T)mi;an+(6T1)mi;a+(6T1)n+TO(n3)+TO(mi;a3).\begin{split}\begin{gathered}{S_{{\text{SDMCKF}}}}\hfill\\ {\text{ = 6}}Tm_{i;a}^{3}+6T{n^{3}}+{\text{16}}Tm_{i;a}^{2}n+10T{m_{i;a}}{n^{2}}\hfill\\ +(2-3T)m_{i;a}^{2}+2{n^{2}}+(2-3T){m_{i;a}}n+\hfill\\ ({\text{6}}T-1){m_{i;a}}+({\text{6}}T-1)n+T{\text{O(}}{n^{3}}{\text{)}}+T{\text{O(}}m_{i;a}^{3}{\text{)}}.\hfill\\ \end{gathered}\end{split} (51)
TABLE I: Computational complexities of the proposed DMCKF-DPD algorithm and the stationary DKF algorithm[19]
Equation Addition/subtraction Division,
and multiplication matrix inversion,
Cholesky
decomposition,
and exponentiation
(13) 2nmi;a{2n{m_{i;a}}} 0
(14) 2mi;a2mi;a{2m_{i;a}^{2}-{m_{i;a}}} 0
(40) 2n2n{2{n^{2}}-n} 0
(5) in[19] 9n34n2+6mi;an2+4mi;a2n3mi;an+mi;a2{\begin{gathered}9{n^{3}}-4{n^{2}}+6{m_{i;a}}{n^{2}}+\hfill\\ 4m_{i;a}^{2}n-3{m_{i;a}}n+m_{i;a}^{2}\hfill\\ \end{gathered}} O(mi;a3){{\text{O(}}m_{i;a}^{3}{\text{)}}}
(6a) in[19] 2mi;a2n+3mi;ann+2n2{{\text{2}}m_{i;a}^{2}n+3{m_{i;a}}n-n+2{n^{2}}} 0
(6b) in[19] 2n3n2+4mi;an2+6mi;a2n4mi;an+mi;a2{\begin{gathered}{\text{2}}{n^{3}}-{n^{2}}+{\text{4}}{m_{i;a}}{n^{2}}+\hfill\\ {\text{6}}m_{i;a}^{2}n-{\text{4}}{m_{i;a}}n+m_{i;a}^{2}{\text{ }}\hfill\\ \end{gathered}} O(mi;a3){{\text{O(}}m_{i;a}^{3}{\text{)}}}
(2) 2n+4{2n+4} 2
(41) 2mi;a2n+3mi;an{2m_{i;a}^{2}n+{\text{3}}{m_{i;a}}n} 0
(42) 2mi;a3+8mi;a2n+4mi;an25mi;anmi;a2{\begin{gathered}2m_{i;a}^{3}+8m_{i;a}^{2}n+4{m_{i;a}}{n^{2}}-\hfill\\ 5{m_{i;a}}n-m_{i;a}^{2}\hfill\\ \end{gathered}} 0
(43) 4n3+4n{4{n^{3}}+{\text{4}}n} 2n+O(n3){2n+{\text{O}}({n^{3}}){\text{ }}}
(44) 2mi;an+4mi;a+4mi;a32mi;a2{2{m_{i;a}}n+4{m_{i;a}}+4m_{i;a}^{3}-2m_{i;a}^{2}} 2mi;a+O(mi;a3){2{m_{i;a}}+{\text{O}}(m_{i;a}^{3})}
(45) 2n2+4n{2{n^{2}}+{\text{4}}n} 2n{2n}
(46) 2mi;an+4mi;a{2{m_{i;a}}n+{\text{4}}{m_{i;a}}} 2mi;a{2{m_{i;a}}}
(47) 2n{2n{\text{ }}} 0

We can infer from this discussion that the computational complexity of the DMCKF-DPD algorithm is moderate compared with that of the stationary DKF, provided that the value of T{T} is small, which is indeed the case, as will be demonstrated later in Section IV.

III-C Convergence issue

A full analysis of the convergence behavior of the DMCKF-DPD algorithm based on the fixed-point iterative algorithm is very complicated. Therefore, we give only a sufficient condition that ensures the convergence of the fixed-point iterative algorithm. However, a detailed proof process is not presented here because the convergence condition is similar to the analysis presented in an earlier work[28], which can be consulted for additional details.

Theorem 1. First, we assume the conditions βi>ζi=nh=1L(𝒘ki;h)T1|dki;h|λminh=1L(𝒘ki;h)T𝒘ki;h{{\beta_{i}}>{\zeta_{i}}=\frac{{\sqrt{n}\sum\limits_{h=1}^{L}{{{\left\|{{{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}}\right\|}_{1}}\left|{d_{k}^{i;h}}\right|}}}{{{\lambda_{\min}}\sum\limits_{h=1}^{L}{{{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}{\boldsymbol{w}}_{k}^{i;h}}}}} and σimax{σi,σi}{{\sigma_{i}}\geq\max{\rm{\{}}\sigma_{i}^{*},\sigma_{i}^{\diamondsuit}{\rm{\}}}}. Here, σi{\sigma_{i}^{*}} is the optimal result of the equation ϕ(σi)=βi{\phi({\sigma_{i}})={\beta_{i}}}, where

ψ(σi)=nh=1L[(βi𝒘ki;h1+|dki;h|)𝒘ki;h1×(βi(𝒘ki;h)T𝒘ki;h1+(𝒘ki;h)Tdki;h1)]σi2λmin[h=1LGσi(βi𝒘ki;h1+|dki;h|)(𝒘ki;h)T𝒘ki;h],σi(0,)\psi\left({{\sigma_{i}}}\right)=\frac{{\sqrt{n}\sum\limits_{h=1}^{L}{\left[{\left({{\beta_{i}}{{\left\|{{\boldsymbol{w}}_{k}^{i;h}}\right\|}_{1}}+\left|{d_{k}^{i;h}}\right|}\right){{\left\|{{\boldsymbol{w}}_{k}^{i;h}}\right\|}_{1}}\times\left({{\beta_{i}}{{\left\|{{{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}{\boldsymbol{w}}_{k}^{i;h}}\right\|}_{1}}+{{\left\|{{{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}d_{k}^{i;h}}\right\|}_{1}}}\right)}\right]}}}{{\sigma_{i}^{2}{\lambda_{\min}}\left[{\sum\limits_{h=1}^{L}{{\operatorname{G}_{{\sigma_{i}}}}\left({{\beta_{i}}{{\left\|{{\boldsymbol{w}}_{k}^{i;h}}\right\|}_{1}}+\left|{d_{k}^{i;h}}\right|}\right){{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}{\boldsymbol{w}}_{k}^{i;h}}}\right]}},{\sigma_{i}}\in(0,\infty) (52)
ϕ(σi)=nh=1L(𝒘ki;h)T1|dki;h|λmin[h=1LGσi(βi𝒘ki;h1+|dki;h|)(𝒘ki;h)T𝒘ki;h],σi(0,),\begin{split}\begin{gathered}\phi\left({{\sigma_{i}}}\right)=\frac{{\sqrt{n}\sum\limits_{h=1}^{L}{{{\left\|{{{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}}\right\|}_{1}}\left|{d_{k}^{i;h}}\right|}}}{{{\lambda_{\min}}\left[{\sum\limits_{h=1}^{L}{{\operatorname{G}_{{\sigma_{i}}}}\left({{\beta_{i}}{{\left\|{{\boldsymbol{w}}_{k}^{i;h}}\right\|}_{1}}+\left|{d_{k}^{i;h}}\right|}\right){{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}{\boldsymbol{w}}_{k}^{i;h}}}\right]}},\hfill\\ {\sigma_{i}}\in\left({0,\infty}\right),\hfill\\ \end{gathered}\end{split} (53)

and σi{\sigma_{i}^{\diamondsuit}} is the result of the equation ψ(σi)=αi(0<αi<1){\psi({\sigma_{i}})={\alpha_{i}}(0<{\alpha_{i}}<1)}, where ψ(σi){\psi({\sigma_{i}})}is given in (52) below. Accordingly, it holds that f(𝒙ki)1βi{||\operatorname{f}({\boldsymbol{x}}_{k}^{i})|{|_{1}}\leqslant{\beta_{i}}} and 𝒙kif(𝒙ki)1αi{||{\nabla_{{\boldsymbol{x}}_{k}^{i}}}\operatorname{f}({\boldsymbol{x}}_{k}^{i})|{|_{1}}\leqslant{\alpha_{i}}} for all 𝒙ki{𝒙kin:𝒙ki1βi}{{\boldsymbol{x}}_{k}^{i}\in\{{\boldsymbol{x}}_{k}^{i}\in{\mathbb{R}^{n}}:||{\boldsymbol{x}}_{k}^{i}|{|_{1}}\leqslant{\beta_{i}}\}}. Here, the n×n{n\times n} Jacobian matrix f(𝒙ki){\operatorname{f}({\boldsymbol{x}}_{k}^{i})} is given as follows:

𝒙kif(𝒙ki)=[𝒙ki;1f(𝒙ki)𝒙ki;nf(𝒙ki)],\begin{split}{\nabla_{{\boldsymbol{x}}_{k}^{i}}}\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right)=\left[{\frac{\partial}{{\partial{\boldsymbol{x}}_{k}^{i;1}}}\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right)\cdots\frac{\partial}{{\partial{\boldsymbol{x}}_{k}^{i;n}}}\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right)}\right],\end{split} (54)

where the terms are defined in (55) below

𝒙ki;jf(𝒙ki)=𝑻g1σ2i=1L[eki;hwki;h;jGσ(eki)(𝒘ki;h)T𝒘ki;h]f(𝒙ki)+𝑻g1σ2i=1L[eki;hwki;h;jGσ(eki)(𝒘ki;h)Tdki;h]\frac{\partial}{{\partial{\boldsymbol{x}}_{k}^{i;j}}}\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right)=-{{\boldsymbol{T}}_{g}}\frac{1}{{{\sigma^{2}}}}\sum\limits_{i=1}^{L}{\left[{e_{k}^{i;h}w_{k}^{i;h;j}{\operatorname{G}_{\sigma}}\left({e_{k}^{i}}\right){{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}{\boldsymbol{w}}_{k}^{i;h}}\right]}\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right)+{{\boldsymbol{T}}_{g}}\frac{1}{{{\sigma^{2}}}}\sum\limits_{i=1}^{L}{\left[{e_{k}^{i;h}w_{k}^{i;h;j}{\operatorname{G}_{\sigma}}\left({e_{k}^{i}}\right){{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}d_{k}^{i;h}}\right]} (55)

with

𝑻g=[h=1LGσ(dki;h𝒘ki;h𝒙ki)(𝒘ki;h)T𝒘ki;h]1,\begin{split}{{\boldsymbol{T}}_{g}}={\left[{\sum\limits_{h=1}^{L}{{\operatorname{G}_{\sigma}}\left({d_{k}^{i;h}-{\boldsymbol{w}}_{k}^{i;h}{\boldsymbol{x}}_{k}^{i}}\right){{\left({{\boldsymbol{w}}_{k}^{i;h}}\right)}^{\text{T}}}{\boldsymbol{w}}_{k}^{i;h}}}\right]^{-1}},\end{split} (56)

and wki;h;j{{w_{k}^{i;h;j}}} is the j{j}th element of the vector 𝒘ki;h{{{\boldsymbol{w}}_{k}^{i;h}}}.

According to Theorem 1, we obtain the following conditions:

{f(𝒙ki)1β,xkif(𝒙ki)1α<1.\begin{split}\left\{{\begin{array}[]{*{20}{l}}{{{\left\|{\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right)}\right\|}_{1}}\leqslant\beta,}\\ {{{\left\|{{\nabla_{x_{k}^{i}}}\operatorname{f}\left({{\boldsymbol{x}}_{k}^{i}}\right)}\right\|}_{1}}\leqslant\alpha<1.}\end{array}}\right.\end{split} (57)

if the kernel bandwidth σ{\sigma} is sufficiently large (e.g., greater than maxσi,σi{\max{\text{\{ }}\sigma_{i}^{*},\sigma_{i}^{\diamondsuit}{\text{\} }}}). According to the Banach fixed-point theorem the fixed-point iterative algorithm in DMCKF-DPD will surely converge to a unique fixed point in the range 𝒙ki{𝒙kin:𝒙ki1βi}{{\boldsymbol{x}}_{k}^{i}\in\{{\boldsymbol{x}}_{k}^{i}\in{\mathbb{R}^{n}}:||{\boldsymbol{x}}_{k}^{i}|{|_{1}}\leqslant{\beta_{i}}\}} provided that the initial state of the system meets the condition (𝒙ki)0β{||{({\boldsymbol{x}}_{k}^{i})_{0}}||\leqslant\beta} and σ{\sigma} is sufficiently large.

Theorem 1 demonstrates that the kernel bandwidth of the Gaussian kernel function has a important influence on the convergence of the DMCKF-DPD algorithm. Here, reducing the kernel bandwidth can improve the accuracy of state estimation, but this will also decrease the convergence rate of the algorithm or make it diverge. Conversely, increasing the kernel width will increase the convergence rate of the algorithm, but will often yield poor estimation performance under impulsive noise conditions. In practice, the kernel bandwidth can be selected by trial and error in accordance with the desired estimation accuracy and convergence rate of the algorithm.

IV simulations

We compared the state estimation performances obtained by the proposed DMCKF-DPD algorithm and the stationary DKF algorithm[19] when applying them to a classic WSN example [36] under data packet drop and impulsive noise conditions. The network includes 20 sensor nodes (N=20{N=20}), and the nodes and connections are illustrated in Fig. 1. We consider the state estimation problem with the following state and observation equations:

[xk+1i;1xk+1i;2xk+1i;3]=[1ΔTΔT2/201ΔT001][xki;1xki;2xki;3]+𝒒ki,\begin{split}\left[{\begin{array}[]{*{20}{c}}{x_{k+1}^{i;1}}\\ {x_{k+1}^{i;2}}\\ {x_{k+1}^{i;3}}\end{array}}\right]=\left[{\begin{array}[]{*{20}{c}}1&{\Delta T}&{\Delta{T^{2}}/2}\\ 0&1&{\Delta T}\\ 0&0&1\end{array}}\right]\left[{\begin{array}[]{*{20}{c}}{x_{k}^{i;1}}\\ {x_{k}^{i;2}}\\ {x_{k}^{i;3}}\end{array}}\right]+{\boldsymbol{q}}_{k}^{i},\end{split} (58)
𝒚ki=[010][xki;1xki;2xki;3]+𝒗ki.\begin{split}{\boldsymbol{y}}_{k}^{i}=\left[{\begin{array}[]{*{20}{c}}0&1&0\end{array}}\right]\left[{\begin{array}[]{*{20}{c}}{x_{k}^{i;1}}\\ {x_{k}^{i;2}}\\ {x_{k}^{i;3}}\end{array}}\right]+{\boldsymbol{v}}_{k}^{i}.\end{split} (59)

Here, ΔT = 0.1{\Delta T{\text{ = 0}}{\text{.1}}} s represents the measurement time interval, 𝒙ki=[xki;1 xki;2 xki;3]T{{\boldsymbol{x}}_{k}^{i}={[x_{k}^{i;1}{\text{ }}x_{k}^{i;2}{\text{ }}x_{k}^{i;3}]^{\text{T}}}} represent the position, velocity, and acceleration of the target, respectively, and 𝒒ki{{\boldsymbol{q}}_{k}^{i}} and 𝒗ki{{\boldsymbol{v}}_{k}^{i}} respectively represent mutually uncorrelated process noise and measurement noise (impulsive noise) with the following distributions:

𝒒ki;10.9N(0, 0.01)+0.1N(0, 1),𝒒ki;20.9N(0, 0.01)+0.1N(0, 1),𝒒ki;30.9N(0, 0.01)+0.1N(0, 1),𝒗k0.9N(0, 0.01)+0.1N(0, 100).\begin{split}\begin{gathered}{\boldsymbol{q}}_{k}^{i;1}\sim 0.9N(0,{\text{ }}0.01)+0.1N(0,{\text{ }}1),\hfill\\ {\boldsymbol{q}}_{k}^{i;2}\sim 0.9N(0,{\text{ }}0.01)+0.1N(0,{\text{ }}1),\hfill\\ {\boldsymbol{q}}_{k}^{i;3}\sim 0.9N(0,{\text{ }}0.01)+0.1N(0,{\text{ }}1),\hfill\\ {{\boldsymbol{v}}_{k}}\sim 0.9N(0,{\text{ }}0.01)+0.1N(0,{\text{ }}100).\hfill\\ \end{gathered}\end{split} (60)

In the simulations, we assume that only the velocity of the target can be observed. In addition, we set ε=106{\varepsilon={10^{-6}}}, and the initial values of the true state (state of the target), the estimated state, and the covariance matrix are respectively given as follows:

𝒙0i=[001]T,𝒙^0|0i=[001]T+N(0, 0.01)×[111]T,𝑷0|0i=0.01×diag{111}.\begin{split}\begin{gathered}{\boldsymbol{x}}_{0}^{i}={\left[{\begin{array}[]{*{20}{c}}0&0&1\end{array}}\right]^{\text{T}}},\hfill\\ {\boldsymbol{\hat{x}}}_{0|0}^{i}={\left[{\begin{array}[]{*{20}{c}}0&0&1\end{array}}\right]^{\text{T}}}+N(0,{\text{ 0}}{\text{.01}})\times{\left[{\begin{array}[]{*{20}{c}}1&1&1\end{array}}\right]^{\text{T}}},\hfill\\ {\boldsymbol{P}}_{0|0}^{i}=0.01\times\operatorname{diag}\left\{{\begin{array}[]{*{20}{c}}1&1&1\end{array}}\right\}.\hfill\\ \end{gathered}\end{split} (61)

The state estimation performance was measured using the mean square deviation (MSD), which can be defined for node i{i} at instant k{k} as follows:

MSDki:=E{xkix^ki2}.\begin{split}{\text{MSD}}_{k}^{i}:=E\left\{{{{\left\|{x_{k}^{i}-\hat{x}_{k}^{i}}\right\|}^{2}}}\right\}.\end{split} (62)

The results listed in the tables are the averages of 100 independent trials, and each trial consists of 1000 iterations.

Refer to caption

Figure 1: Network topology of the example WSN with N=20{N=20} nodes
TABLE II: Average number of iterations for every time step of the proposed DMCKF-DPD algorithm with different values of σ{\sigma}
Average number pki;j=0.9{p_{k}^{i;j}=0.9} pki;j=0.8{p_{k}^{i;j}=0.8} pki;j=0.7{p_{k}^{i;j}=0.7}
of iterations
σ=0.4{\sigma=0.4} 3.4760 3.9280 4.2500
σ=0.6{\sigma=0.6} 2.3850 2.6710 2.9460
σ=1.0{\sigma=1.0} 1.8620 1.9650 2.1730
σ=4.0{\sigma=4.0} 1.1640 1.2140 1.2480
σ=8.0{\sigma=8.0} 1.0690 1.0870 1.1020
TABLE III: Average MSD values obtained under impulsive noise conditions for the distributed network
Node 16 5 4 2 8 9 7
Number of neighbors 1 2 3 4 5 6 7
Stationary DKF algorithm (σ=2{\sigma=2}) -2.1291 -2.2715 -2.2672 -2.2812 -2.2907 -2.2857 -2.3007
DMCKF-DPD algorithm (σ=2{\sigma=2}) -3.8419 -3.9370 -4.0695 -4.0463 -4.0989 -4.2063 -4.1700
DMCKF-DPD algorithm (σ=5{\sigma=5}) -3.8033 -3.9126 -4.0546 -4.0387 -4.0596 -4.0722 -4.1064
DMCKF-DPD algorithm (σ=10{\sigma=10}) -3.7800 -3.9042 -4.0376 -4.0358 -4.0417 -4.0331 -4.0926

Refer to caption

Figure 2: MSD values obtained by the state estimation algorithms under data packet drop and impulsive noise conditions for the distributed network (σ=2{\sigma=2}).

The MSD values obtained by the two different algorithms with σ=2{\sigma=2} are presented in Fig. 2 as a function of the number of iterations. Here, the labels Stationary DKF (0.8) and Stationary DKF (0.7) correspond to the stationary DKF algorithm with parameters pki;j=0.8{p_{k}^{i;j}=0.8} and pki;j=0.7{p_{k}^{i;j}=0.7}, respectively. Similarly, the labels DMCKF-DPD (0.8) and DMCKF-DPD (0.7) correspond to the proposed algorithm with parameters pki;j=0.8{p_{k}^{i;j}=0.8} and pki;j=0.7{p_{k}^{i;j}=0.7}, respectively. It is obvious that the DMCKF-DPD algorithm outperformed the conventional stationary DKF algorithm by about 1.5 dB when considering data packet drops and impulsive noise.

The average number of iterations required by the proposed DMCKF-DPD algorithm for convergence to an optimal solution at every time step are listed in Table 2 for different values of σ{\sigma}. We note that the convergence to the optimal solution is very fast because the initial value of the fixed-point iterative algorithm is set as ((𝒙^k|ki)0=𝒙^k|k1i{{({\boldsymbol{\hat{x}}}_{k|k}^{i})_{0}}={\boldsymbol{\hat{x}}}_{k|k-1}^{i}}). It is also obvious that the number of iterations required by the fixed-point iterative algorithm decreases with increasing σ{\sigma}, and the convergence rate of the DMCKF-DPD algorithm correspondingly increases.

The average MSD values obtained at select nodes of the distributed system by the DMCKF-DPD and stationary DKF algorithms under impulsive noise conditions (pki;j=0.8{p_{k}^{i;j}=0.8}) are listed in Table 3. The proposed algorithm demonstrates better state estimation performance than the stationary DKF algorithm at all kernel bandwidths considered. We also note that the performance of the proposed algorithm is increasingly superior to that of the conventional algorithm as the number of neighbors for a given node in the network increases.

V Conclusion

This paper presented a novel distributed Kalman filter algorithm for state estimation in WSNs that accounts for data packet drops under non-Gaussian noise conditions. The approach requires each node in the WSN to recursively compute local state estimates in a collaborative manner with its neighboring nodes. The computational complexity of the DMCKF-DPD algorithm was demonstrated to be moderate compared to that of the conventional stationary DKF. In addition, a sufficient condition to ensure the convergence of the fixed-point iterative algorithm was presented. Simulations conducted with a 20-node WSN clearly demonstrated that the DMCKF-DPD algorithm provides significantly more accurate state estimation performance than the stationary DKF, particularly under non-Gaussian noise conditions. As future work, we intend to investigate the state estimation performance of a distributed Kalman filter based on the minimum error entropy (MEE) criterion for WSNs under data packet drop conditions.

References

  • [1] Hongjiu Yang, Hui Li, Yuanqing Xia, and Li Li. Hierarchical fusion estimation for multi-sensor networked systems with transmission delays and packet dropouts. Signal Processing, 156:156–165, 2019.
  • [2] Zhenyu Feng, Gang Wang, Bei Peng, Jiacheng He, and Kun Zhang. Distributed minimum error entropy kalman filter. Information Fusion, 91:556–565, 2023.
  • [3] Dianhao Zheng, Hongbin Zhang, J Andrew Zhang, and Gang Wang. Consensus of multi-agent systems with faults and mismatches under switched topologies using a delta operator method. Neurocomputing, 315:198–209, 2018.
  • [4] M. Vazquez-Olguin, Y. S. Shmaliy, and O. G. Ibarra-Manzano. Distributed ufir filtering over wsns with consensus on estimates. IEEE Transactions on Industrial Informatics, 16(3):1645–1654, 2020.
  • [5] Hongwei Wang, Hongbin Li, Wei Zhang, Junyi Zuo, and Heping Wang. Maximum correntropy derivative-free robust kalman filter and smoother. IEEE Access, 6:70794–70807, 2018.
  • [6] L. Cheng, Y. Li, M. Xue, and Y. Wang. An indoor localization algorithm based on modified joint probabilistic data association for wireless sensor network. IEEE Transactions on Industrial Informatics, 17(1):63–72, 2021.
  • [7] Jiacheng He, Gang Wang, Huijun Yu, JunMing Liu, and Bei Peng. Generalized minimum error entropy kalman filter for non-gaussian noise. ISA transactions, 136:663–675, 2023.
  • [8] A. Gunathillake, H. Huang, and A. V. Savkin. Sensor-network-based navigation of a mobile robot for extremum seeking using a topology map. IEEE Transactions on Industrial Informatics, 15(7):3962–3972, 2019.
  • [9] Gang Wang, Rui Xue, Chao Zhou, and Junjie Gong. Complex-valued adaptive networks based on entropy estimation. Signal Processing, 149:124–134, 2018.
  • [10] M. M. Rana, L. Li, S. W. Su, and W. Xiang. Consensus-based smart grid state estimation algorithm. IEEE Transactions on Industrial Informatics, 14(8):3368–3375, 2018.
  • [11] Wang Hongwei and Wang Heping. A comparison study of advanced tracking differentiator design techniques. Procedia Engineering, 99:1005–1013, 2015.
  • [12] B. Sinopoli, L. Schenato, M. Franceschetti, K. Poolla, M. I. Jordan, and S. S. Sastry. Kalman filtering with intermittent observations. In 42nd IEEE International Conference on Decision and Control (IEEE Cat. No.03CH37475), volume 1, pages 701–708 Vol.1, 2003.
  • [13] B. Sinopoli, L. Schenato, M. Franceschetti, K. Poolla, M. I. Jordan, and S. S. Sastry. Kalman filtering with intermittent observations. IEEE Transactions on Automatic Control, 49(9):1453–1464, 2004.
  • [14] Hazhar Sufi Karimi and Balasubramaniam Natarajan. Kalman filtered compressive sensing with intermittent observations. Signal Processing, 163:49 – 58, 2019.
  • [15] L. Xu, Y. Mo, and L. Xie. Remote state estimation with stochastic event-triggered sensor schedule and packet drops. IEEE Transactions on Automatic Control, 65(11):4981–4988, 2020.
  • [16] E. Kung, J. Wang, J. Wu, D. Shi, and L. Shi. On the nonexistence of event triggers that preserve gaussian state in presence of packet-drop. IEEE Transactions on Automatic Control, 65(10):4302–4307, 2020.
  • [17] Shaocheng Wang, Wei Ren, and Zhongkui Li. Information-driven fully distributed kalman filter for sensor networks in presence of naive nodes. arXiv preprint arXiv:1410.0411, 2014.
  • [18] S. M. S. Alam, B. Natarajan, and A. Pahwa. Agent based optimally weighted kalman consensus filter over a lossy network. In 2015 IEEE Global Communications Conference (GLOBECOM), pages 1–6, 2015.
  • [19] Jianming Zhou, Guoxiang Gu, and Xiang Chen. Distributed kalman filtering over wireless sensor networks in the presence of data packet drops. IEEE Transactions on Automatic Control, 64(4):1603–1610, 2019.
  • [20] SM Shafiul Alam, Balasubramaniam Natarajan, and Anil Pahwa. Distributed agent-based dynamic state estimation over a lossy network. In UBICITEC, pages 1–15, 2014.
  • [21] X. Su, L. Wu, and P. Shi. Sensor networks with random link failures: Distributed filtering for t–s fuzzy systems. IEEE Transactions on Industrial Informatics, 9(3):1739–1750, 2013.
  • [22] Jiacheng He, Gang Wang, Xi Zhang, Hongwei Wang, and Bei Peng. Maximum total generalized correntropy adaptive filtering for parameter estimation. Signal Processing, 203:108787, 2023.
  • [23] Xuxiang Fan, Gang Wang, Jiachen Han, and Yinghui Wang. A background-impulse kalman filter with non-gaussian measurement noises. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 53(4):2434–2443, 2022.
  • [24] Jiacheng He, Gang Wang, Kui Cao, He Diao, Guotai Wang, and Bei Peng. Generalized minimum error entropy for robust learning. Pattern Recognition, 135:109188, 2023.
  • [25] Shan Zhong, Bei Peng, Lingqiang Ouyang, Xinyue Yang, Hongyu Zhang, and Gang Wang. A pseudolinear maximum correntropy kalman filter framework for bearings-only target tracking. IEEE Sensors Journal, 2023.
  • [26] Weifeng Liu, Puskal P Pokharel, and José C Príncipe. Correntropy: Properties and applications in non-gaussian signal processing. IEEE Transactions on Signal Processing, 55(11):5286–5298, 2007.
  • [27] Gang Wang, Rui Xue, and Ji Zhao. Switching criterion for sub-and super-gaussian additive noise in adaptive filtering. Signal Processing, 150:166–170, 2018.
  • [28] Badong Chen, Xi Liu, Haiquan Zhao, and Jose C Principe. Maximum correntropy kalman filter. Automatica, 76:70–77, 2017.
  • [29] S. P. Talebi, S. Werner, and D. P. Mandic. Distributed adaptive filtering of α\alpha -stable signals. IEEE Signal Processing Letters, 25(10):1450–1454, 2018.
  • [30] Guoqing Wang, Ning Li, and Yonggang Zhang. Maximum correntropy unscented kalman and information filters for non-gaussian measurement noise. Journal of the Franklin Institute, 354(18):8659–8677, 2017.
  • [31] Ji Zhao, Hongbin Zhang, and Gang Wang. Projected kernel recursive maximum correntropy. IEEE Transactions on Circuits and Systems II: Express Briefs, 65(7):963–967, 2017.
  • [32] W. Ma, J. Qiu, X. Liu, G. Xiao, J. Duan, and B. Chen. Unscented kalman filter with generalized correntropy loss for robust power system forecasting-aided state estimation. IEEE Transactions on Industrial Informatics, 15(11):6091–6100, 2019.
  • [33] Gang Wang, Rui Xue, and Jinxin Wang. A distributed maximum correntropy kalman filter. Signal Processing, 160:247–251, 2019.
  • [34] Jiacheng He, Gang Wang, Bei Peng, Qi Sun, Zhenyu Feng, and Kun Zhang. Mixture quantized error entropy for recursive least squares adaptive filtering. Journal of the Franklin Institute, 359(3):1362–1381, 2022.
  • [35] YaLan Ye, Phillip C-Y Sheu, JiaZhi Zeng, Gang Wang, and Ke Lu. An efficient semi-blind source extraction algorithm and its applications to biomedical signal extraction. Science in China Series F: Information Sciences, 52(10):1863–1874, 2009.
  • [36] F. S. Cattivelli and A. H. Sayed. Diffusion strategies for distributed kalman filtering and smoothing. IEEE Transactions on Automatic Control, 55(9):2069–2084, 2010.