State estimator unaffected by sensor outliers: MCV approach

This blog is about state estimation method unaffected by sensor outliers. Explanation of state observer in the below. The state estimation problem for systems where observation outputs include outliers is addressed herein. When the observation output has outliers, the accuracy of the state estimation is dramatically worse. To overcome this problem, a novel observer structure using multiple candidates of the estimated state is proposed in the following paper. 

 

[link] H. Okajima, Y. Kaneda and N. Matsunaga: Full article: State estimation method using median of multiple candidates for observation signals including outliers (tandfonline.com) SICE JCMSI (2021)

 

This paper is co-work with Prof. Nobutomo Matsunaga and Dr. Yasuaki Kaneda

The following figure shows an example of sense output with outliers. 

Sensor output with outliers

Sensor outputs with outliers

By applying a traditional state estimator (state observer) for the outputs with outliers, the state estimation performance is bad (Figure 2). On the other hand, by our proposed observer, the state estimation performance is good (Figure 3). The details are shown below. 

Estimated state by traditional observer

Figure 2: Estimated state by traditional observer

Estimated state by proposed observer (MCV observer)

Figure 3: Estimated state by proposed observer (MCV observer)

 

 

Problem formulation

This study addressed a discrete-time linear time-invariant system. The current time is taken as  k, and the dynamic characteristics of a plant are given by the state equation as follows: 

 x_p(k+1) = A x_p(k)+B_u u(k) +B_d d(k)
 y(k) = Cx_p(k)+Dw(k)+y_{out}(k)

Matrices  A,  B_u,  B_d,  C, and  D are suitably defined matrices that correspond to the square matrix and the inputs and outputs expressing the dynamic characteristics of plant, and the order of the plant is  m.

The term  y_{out}(k) characterizes the outliers. The term  y_{out}(k) = 0 holds in ordinary times. When an outlier occurs at  k = k_1,  y_{out}(k_1) \neq 0 holds, and the magnitude of  |y_{out}(k_1)| has no size limit. It is considered that the outlier values are drastically larger than the noise. In particular, if  y_{out}(k) = 0, \forall k holds, it means an observed output with no outliers. One can express the packet loss such that  y(k)=0, if  y_{out}(k) = -Cx_p(k)-Dw(k) is set. To distinguish the outliers from observations and noise, it is assumed here that the absolute value of  y_{out}(k) is sufficiently large compared with other signals.

The detailed formulation of  y_{out}(k) is presented in this section. In this study, outliers are supposed to occur instantly. In other words, it is considered that outliers occur for a short period. Two integers  F_1 and  F_2 are used to characterize the outliers in the observed output. For any time interval  [k, \cdots, k+F_1-1] with time  k, the maximum number of outliers appearing in the time interval is  F_2. In other words,  F_1 determines the time interval, and  F_2 characterizes the outlier occurring frequency in the time interval. 

MCV observer

In this study, it is assumed that the following condition is satisfied for  F_1 and  F_2:

 F_1 \geq 2F_2 + 1.

The outliers occur sparsely in various settings for the sensor outputs. In such a case, the former assumption can be easily satisfied.

Candidate vectors of state

First, candidates of state estimates are described. In the MCV observer (proposed state observer, proposed state estimator), the estimated value at time  k - i is used to estimate the state of time  k + 1. Herein, the estimated value using a previously estimated state  x (k-i) is denoted as  \hat x_i (k + 1).

 

 \hat x_i(k+1) = (A^{i+1} - L_i C) x(k-i) \\+ L_i y(k-i) + \sum_{j = 0}^i A^j B_u u(k-j)

 

where  \hat x_i (k + 1) represents the estimated value of the state at time  k + 1, and, for each vector, only the value of  y (k-i) is used as the observed output.  L_i is an observer gain for obtaining  \hat x_i(k+1). The observed output at the other time ( k-j,j\neq i) is not used.

Judge the outliers

It is required to remove the candidate state with outliers effect. To evaluate whether  \hat x_i (k) is affected by an outlier, the following output  y_e(i) is defined.

 y_e(i) = y(k-i) - CA x(k-i-1) - CB_u u(k-i-1),

Here,  y_e(i) can be calculated because  x(k-i-1) and  u(k-i-1) are known values, and  y(k-i) is the observed output.
As an alternative expression, the signal  y_e(i) can be expressed as follows.

 y_e(i) = CA e(k-i-1) + Dw(k-i) \\+ CB_d d(k-i-1) + y_{out}(k-i),


where  e is the error between  x_p (k) and  x(k), i.e.,  e(k) = x_p(k) - x(k) holds. The influence of  y_{out}(k-i) is greater than that of  y_{out}(k-i-1),  w(k-i) and  d(k-i-1) when an outlier occurs.

MCV observer algorithm

The entire concepts are already shown. The algorithm of MCV observer is presented in detail in the paper about MCV observer

Design method of observer gains

Observer gains are designed using the robust invariant set analysis. Please see our paper and matlab codes.

What is median operation

Because the calculation cost of the median operation is small in many computer devices, the median operation can be used in a wide range of research fields. For example, it is used as a filter in image processing and is known to be effective in the removal of salt-and-pepper noise from original images.

The median is a value located in the center of the whole data if the data are arranged by order of magnitude. When the number of values is even, it can be obtained by taking the average value of two numbers located at the center.
For data  \xi (i), i = 1, \cdots, n when the values are sorted in ascending order is  \tilde \xi{(1)}, \tilde \xi{(2)}, \cdots, \tilde x{(n)}. The median value  {\xi}_{m} is obtained as follows:

 n: \text{odd number} \rightarrow \tilde \xi{\left(\dfrac{n+1}{2}\right)}

 n: \text{even number} \rightarrow \left( \tilde \xi{\left(\dfrac{n}{2}\right)} + \tilde \xi{\left(\dfrac{n}{2}+1\right)}\right)/2

The median operator is denoted as  MED[\cdot], and the median value is given by the following equation:
 {\xi}_{m}=MED\left( \xi(0), \xi(1), \cdots, \xi(n-1) \right).

[Paper link] H. Okajima, Y. Kaneda and N. Matsunaga: Full article: State estimation method using median of multiple candidates for observation signals including outliers (tandfonline.com) SICE JCMSI (2021)

github.com

codeocean.com

research.control-theory.com