1 Introduction

Fractional calculus is a generalization of traditional integer order integration and differentiation actions onto non-integer order fundamental operator. The idea of such a generalization has been mentioned in 1695 by Leibniz and L’Hospital. At the end of 19th century, Liouville and Riemann introduced the first definition of fractional derivative. Theoretical background of fractional calculus can be found in [8, 17, 20, 23, 24]. This calculus was found to be a very useful tool for modelling the behavior of many materials and systems, especially those based on diffusion processes. One of devices that can be modeled more efficiently by fractional calculus are ultracapacitors. Models of these electronic storage devices, whose capacity can be even thousands of Farads, based on fractional order models were presented in [13, 14]. Another process that can be successfully modeled using fractional calculus methods is heat transfer process in both homogeneous and non-homogeneous media. Experimental results were presented in [12, 33].

The generalization of the Kalman Filter (KF) for Discrete Fractional Order Systems with stochastic disturbances was introduced in [29]. More advanced algorithms including case where measurements are obtained using a transmission network that introduces packet losses were presented in [32]. The paper [32] presents also an algorithm for joining estimation and smoothing action. A generalization of this algorithm based on Unscented Transformation was presented in [7]. A similar algorithm to the one presented in [29], that includes sampling time, is presented in [2]. Moreover, in [1] the generalization of such an algorithm for continuous time fractional order system is given.

The Fractional Kalman filter (FKF) algorithm has been used for estimation of unknown state variables in the system with ultracapacitor [11, 14], or in a chaotic secure communication scheme [15]. Similar algorithm to FKF was also used in [4] for R-wave detection in electrocardiogram signal. Moreover, Fractional Kalman-like algorithm also has been used to improve measurement results from MEMS sensors [22]. One of the most interesting and useful generalizations of the KF algorithm is the one for the case, where the noise is dynamically correlated [6]. A such noise for an integer order case is called the colored noise. When the correlated dynamics is fractional, one can obtain noises of type of Fractional Brownian Motion, Fractional Noise, or in general Fractional Colored Noise [3, 5, 24]. A very good example of the fractional noise is a temperature noise. As it was presented in [30], the dynamics between the source heat flux and temperature in beam heating process is of fractional order type. In case when source heat flux is a white noise without correlated dynamics, the temperature will be a noise with fractional order dynamics. Also a pink noise, used in signal processing, is an example of fractional order colored noise. Based on the additional knowledge about type of the noise, it is possible to construct more accurate filtering and estimation algorithms.

In this paper, a generalization of Fractional Kalman Filter for fractional and integer order systems with fractional colored noises is presented. The article presents also numerical result that confirms better accuracy of proposed algorithms. Moreover, numerical results demonstrate a robustness analysis for parameters and order disturbances. It also introduced discrete fractional variable order noise and estimation algorithm for fractional variable order system and fractional variable order noise.

The paper is organized as follows. Section 2 contains a short introduction to the discrete fractional order state-space systems. Section 3 gives a generalization of colored noise to the fractional colored noise (the noise with fractional dynamical correlation). Next, Sect. 4 presents the main results of the paper, the FKF for fractional and integer order systems with fractional colored noises. Section 5 presents a generalization of the proposed algorithm for a case when the fractional order of noise or system is changing in time (variable order case). Finally, Sect. 6 presents the results of numerical experiments conducted using the proposed algorithms.

2 Basics of Discrete Fractional Calculus

In this paper, we will use the following definition of fractional difference [17, 20]:

Definition 1

The fractional order difference is given by the following equation

$$\begin{aligned} \Delta ^{n}x_k= \sum _{j=0}^{k} (-1)^{j} \left( {\begin{array}{c}n\\ j\end{array}}\right) x_{k-j}, \end{aligned}$$
(1)

where \(x_k\in \mathbb {R}\) is a signal applied to the difference process, \(n \in \mathbb {R}\) is an order of the fractional difference, \(\mathbb {R}\) is the set of real numbers, \(k\in \mathbb {Z}_+\) is a number of the sample for which the difference is calculated. The factor \(\left( {\begin{array}{c}n\\ j\end{array}}\right) \) is given by:

$$\begin{aligned} \left( {\begin{array}{c}n\\ j\end{array}}\right) = {\left\{ \begin{array}{ll} 1 &{} \text {for}\;j=0 \\ \frac{n(n-1)\dots (n-j+1)}{j!} &{} \text {for}\;j>0 \end{array}\right. } \end{aligned}$$
(2)

According to this definition, it is possible to obtain the discrete equivalent of derivative (when \(n\) is positive), the discrete equivalent of integration (when \(n\) is negative) or when \(n\) is equal to \(0\), the original function.

Remark 1

In ideal case, the fractional order difference is a weighted sum of the current and all previous samples. In practical implementation, the number of samples has to be limited to some predefined value \(N_\mathrm{buff}\). In this case, the definition of fractional order difference has the following form:

$$\begin{aligned} \Delta ^{n} x_k= {\left\{ \begin{array}{ll} \sum _{j=0}^{k} (-1)^{j} \left( {\begin{array}{c}n\\ j\end{array}}\right) x_{k-j} &{} \mathrm {for}\quad k<N_\mathrm{buff}\\ \sum _{j=0}^{N_\mathrm{buff}} (-1)^{j} \left( {\begin{array}{c}n\\ j\end{array}}\right) x_{k-j}&\mathrm {for}\quad k\ge N_\mathrm{buff} \end{array}\right. } \end{aligned}$$

In all simulations included in this paper, the \(N_\mathrm{buff}\) was chosen in order to cover the whole time of simulation.

The Discrete Fractional Order State-Space System for the case when orders of equations are not identical, is given as follows:

Definition 2

The generalized discrete linear fractional order system with stochastic disturbances in a state-space representation is given by the following equations

$$\begin{aligned} \Delta ^{\varUpsilon }x_{k+1}&= A x_k +Bu_k+\omega _k ,\end{aligned}$$
(3)
$$\begin{aligned} x_{k+1}&= \Delta ^{\varUpsilon }x_{k+1}-\sum _{j=1}^{k+1} (-1)^{j} \varUpsilon _j x_{k+1-j}, \end{aligned}$$
(4)
$$\begin{aligned} y_k&= C x_k + \nu _k , \end{aligned}$$
(5)

where \(x_k\in \mathbb {R}^{N}\), \(A\in \mathbb {R}^{N\times N}\), \(B\in \mathbb {R}^{N\times m}\), \(C\in \mathbb {R}^{p\times N}\), \(D\in \mathbb {R}^{p\times m}\), \(m\) is a number of outputs and \(p\) is a number of inputs. Moreover,

$$\begin{aligned} \varUpsilon _k&= {\mathrm {diag}} \left[ \begin{array}{ccc} \left( {\begin{array}{c}n_1\\ k\end{array}}\right) &{} \dots &{} \left( {\begin{array}{c}n_N\\ k\end{array}}\right) \end{array} \right] ,\\ \Delta ^{\varUpsilon }x_{k+1}&= \left[ \begin{array}{c} \Delta ^{n_1}x_{1,k+1}\\ \vdots \\ \Delta ^{n_N}x_{N,k+1} \end{array} \right] , \varUpsilon = \left[ \begin{array}{c} {n_1}\\ \vdots \\ {n_N} \end{array} \right] , \end{aligned}$$

and \(n_1,\ldots ,n_N\) are the orders of system equations and \(N\) is the number of these equations.

Remark 2

Sometimes \(x_k\) is also called pseudo-state [34], because the update \(x_{k+1}\) is obtained on the basis of the all past vectors \(x_{k - j}\). In this paper, for simplicity, we will call it shortly state, similar to the situation in the state-space system with delays in the state. It is due to the fact that discrete fractional order system can be interpreted as an infinite state delay system with strictly defined delay matrices.

The system properties such as observability and controllability given by Eqs. (3),(4) and (5) are discussed in [9]. The stability conditions for the commensurate case were introduced in [10]. The estimation algorithms were presented in [29], [32]. Numerical implementation of some discrete fractional order algorithms is included in the FSST Toolkit [27].

3 Fractional Order Colored Noise

The integer order time-correlated (colored) noise is given by the following relation:

$$\begin{aligned} \mu _{k+1}=f' \mu _k+\omega _k, \end{aligned}$$
(6)

where \(\mu _k \in \mathbb {R}\) is a time-correlated noise, \(f' \in \mathbb {R}\) is parameter of this noise, and \(\omega _k \in \mathbb {R}\) is an uncorrelated noise, for example, white Gaussian noise.

This can be rewritten in the difference form:

$$\begin{aligned} \Delta ^1 \mu _{k+1}=f \mu _k+\omega _k, \end{aligned}$$
(7)

where \(f = f' - 1\).

This relation can be generalized onto a fractional order time-correlated noise. The colored fractional order noise is given as follows:

$$\begin{aligned} \Delta ^\alpha \mu _{k+1}=f \mu _k+\omega _k, \end{aligned}$$
(8)

where in this, case \(\mu _k\) is a fractional colored noise, \(\alpha \) is an order of the noise and \(\omega _k\) is an uncorrelated noise. This equation is a discrete equivalent of fractional differential equation witch describe dynamics of the correlated noise.

For a fractional or integer order discrete system in state-space description with fractional order colored noise, the Fractional Kalman Filter algorithm is given in this paper.

Remark 3

For \(\alpha =1\), Eq. (8) describes traditional integer order colored noise.

Remark 4

For \(f=0\) and \(\omega _k\) being a white Gaussian noise, the relation given by Eq. (8) describes a discrete realization of fractional Brownian Motion and fractional Gaussian Noise. And for time varying order, it is a description of the multifractional Brownian Motion and Multifractional Gaussian Noise.

Remark 5

If the \(\alpha \) is a vector, then each noise may be of different orders.

Remark 6

When \(\mu _k\) is a vector and there in no autocorrelation between particular noises, \(f\) becomes a diagonal matrix \(F\).

3.1 Numerical Results

The original noise has the Gaussian distribution with variance equal to \(1\). Fractional order noise with variance equal to \(2.42\) is given by the equation:

$$\begin{aligned} \Delta ^\alpha \mu _{k+1}= \omega _k. \end{aligned}$$
(9)

Figure 1 presents the Gaussian noise and fractional order noise. Fractional order was \(\alpha = 0.5\).

Fig. 1
figure 1

Comparison of original and fractional order noise

Figures 2 and 3 present the chosen results of comparison of correlation between original noise and fractional noise, where \(N_\mathrm{buff}\) was equal to 1,500 for simulation obtained with the FSST Toolkit [27]. As it is shown, the autocorrelation function, in these cases, strongly depends on the noise order. This can be easily noticed taking into account that, for different orders different coefficients in fractional order definition are obtained. Moreover, coefficients for fractional order cases are significantly different those for integer order case, and such a dynamics can not be obtained for integer order noise.

Fig. 2
figure 2

Example of autocorrelation of original noise and fractional order noises

Fig. 3
figure 3

Example of autocorrelation of original noise and fractional order noises

Autocorrelation equation is given by

$$\begin{aligned} R_{x}(m) = \mathrm {E} \{x_{k+m} x_k\} = \mathrm {E} \{x_k x_{k-m} \}. \end{aligned}$$
(10)

4 Fractional Kalman Filter for Systems with Fractional Colored Noise

The Fractional Kalman Filter for systems with independent noise (also dynamically independent) was introduced in [29] and has a following form:

Theorem 1

[29] For the discrete fractional order stochastic system in the state-space representation introduced by the Definition 2 the simplified Kalman Filter (called Fractional Kalman Filter) is given by the set of following equations

$$\begin{aligned} \Delta ^{\varUpsilon }\tilde{x}_{k+1}&= A \hat{x}_k+Bu_k, \end{aligned}$$
(11)
$$\begin{aligned} \tilde{x}_{k+1}&= \Delta ^{\varUpsilon }\tilde{x}_{k+1}- \sum _{j=1}^{k+1} (-1)^j\varUpsilon _j \hat{x}_{k+1-j}, \end{aligned}$$
(12)
$$\begin{aligned} \tilde{P}_k&= \left( A+\varUpsilon _1 \right) P_{k-1}\left( A+\varUpsilon _1 \right) ^T + Q_{k-1} + \sum _{j=2}^{k} \varUpsilon _{j} P_{k-j} \varUpsilon _{j}^T, \end{aligned}$$
(13)
$$\begin{aligned} \hat{x}_k&= \tilde{x}_k+K_k(y_k-C\tilde{x}_k), \end{aligned}$$
(14)
$$\begin{aligned} P_k&= (I-K_kC)\tilde{P}_k, \end{aligned}$$
(15)

where

$$\begin{aligned} K_k=\tilde{P}_kC^T (C\tilde{P}_k C^T+R_k)^{-1}, \end{aligned}$$

with initial conditions

$$\begin{aligned} x_0 \in \mathbb {R}^N,\quad P_0=\mathrm {E}[(\tilde{x}_0-x_0)(\tilde{x}_0-x_0)^T], \end{aligned}$$

where

$$\begin{aligned} Q&= \mathrm {E}[\omega \omega ^{T}],\\ R&= \mathrm {E}[\nu \nu ^{T}], \end{aligned}$$

and \(\nu _k\) and \(\omega _k\) are assumed to be independent and with zero expected value.

Let us assume the system given by the Definition 2 and fractional colored system noise. In this case, system equation has the following form:

$$\begin{aligned} \Delta ^{\varUpsilon }x_{k+1}&= A x_k +Bu_k+\mu _k, \end{aligned}$$
(16)

with the fractional colored noise given by the following equation:

$$\begin{aligned} \Delta ^\varLambda \mu _{k+1}=F\mu _k+\omega _k, \end{aligned}$$
(17)

where \(\omega _k\) is a dynamically independent noise, and \(\varLambda \) is defined as follows:

$$\begin{aligned} \varLambda = \left[ \begin{array}{c} \alpha _{1}\\ \vdots \\ \alpha _{N} \end{array} \right] , \end{aligned}$$

This system can be rewritten as follows:

$$\begin{aligned} \Delta ^{\varUpsilon ^*} x^*_{k+1}&= A^* x^*_k +B^*u_k+\left[ \begin{array}{c} 0\\ I \end{array} \right] \mu _k, \end{aligned}$$
(18)
$$\begin{aligned} x^*_{k+1}&= \Delta ^{\varUpsilon ^*}x^*_{k+1} - \sum _{j=1}^{k+1} (-1)^{j} \varUpsilon ^*_j x^*_{k+1-j}, \end{aligned}$$
(19)
$$\begin{aligned} y_k&= C^* x^*_k + \nu _k, \end{aligned}$$
(20)

where

$$\begin{aligned} x^*_{k+1}&= \left[ \begin{array}{c} x_{k+1}\\ \mu _k \end{array} \right] , \quad A^*=\left[ \begin{array}{cc} A &{} I\\ 0 &{} F \end{array} \right] , \quad B^*=\left[ \begin{array}{c} B\\ 0 \end{array} \right] ,\\ C^*&= \left[ \begin{array}{cc} C&0 \end{array} \right] , \quad \varUpsilon ^*=\left[ \begin{array}{c} \varUpsilon \\ \varLambda \end{array} \right] . \nonumber \end{aligned}$$

For a system defined in this way, the equations of Fractional Kalman Filter are the same as in Theorem 1 with the following matrices of system variances:

$$\begin{aligned} Q^*=\left[ \begin{array}{cc} 0 &{} 0\\ 0 &{} Q \end{array} \right] , \end{aligned}$$

The \(\omega _k\) noise is usually with lower variance than noise \(\mu _k\).

4.1 The Case of Integer Order System with Fractional Order Noise

The integer order system equation is

$$\begin{aligned} x_{k+1}=A x_k+Bu_k+\mu _k, \end{aligned}$$
(21)

it can be rewritten in the form of fractional order system

$$\begin{aligned} \Delta ^1x_{k+1}&= (A+I)x_k+Bu_k+\mu _k,\end{aligned}$$
(22)
$$\begin{aligned} x_{k+1}&= \Delta ^1x_{k+1}+x_k. \end{aligned}$$
(23)

In this case, the Eqs. (18), (19) and (20) are the same with the following matrices:

$$\begin{aligned} x^*_{k+1}&= \left[ \begin{array}{c} x_{k+1}\\ \mu _k \end{array} \right] , \quad A^*=\left[ \begin{array}{cc} A_d+I &{} I\\ 0 &{} F \end{array} \right] , \quad B^*=\left[ \begin{array}{c} B\\ 0 \end{array} \right] ,\\ C^*&= \left[ \begin{array}{cc} C&0 \end{array} \right] , \quad \varUpsilon ^*=\left[ \begin{array}{c} 1\\ \alpha \end{array} \right] , \end{aligned}$$

and parameters matrices for Fractional Kalman Filter given in the same way to the fractional order system case.

5 Variable Order Case

The case when the order is changing in time recently is intensively developed. In [26], experimental studies of an electrochemical example of physical fractional variable order system are presented. In [21], the variable order equations were used to describe a history of drag expression. Papers [26, 35] present methods for numerical realization of fractional variable order integrators or differentiators. The fractional variable order calculus can be also used to obtain variable order fractional noise [25], and to obtain new control algorithms [19]. Some properties of such systems are presented in [18]. In [31], the variable order interpretation of the analog realization of fractional orders integrators, realized as domino ladders, was presented. The applications of variable order derivatives and integrals can also be found in signal processing [24].

In the literature [16, 36], three general types of variable order derivative definitions can be found, however, in this paper, the only one (first) definition of the generalization of fractional order difference for variable in time order will be used.

Definition 3

The fractional variable order difference is given by the following equation

$$\begin{aligned} \Delta ^{\alpha _k}x_k= \sum _{j=0}^{k} (-1)^{j} \left( {\begin{array}{c}\alpha _k\\ j\end{array}}\right) x_{k-j}, \end{aligned}$$
(24)

where \(\alpha _k \in \mathbb {R}\) is an order of the fractional difference, which depends on discrete time, \(\mathbb {R}\) is the set of real numbers and \(k\) is a number of the sample for which the derivative is calculated.

Definition 4

The linear Discrete Stochastic Fractional Variable Order System in State-space representation is given as follows:

$$\begin{aligned} \Delta ^{\varUpsilon _{k+1}} x_{k+1}&= A x_k+Bu_k + \omega _k, \end{aligned}$$
(25)
$$\begin{aligned} x_{k+1}&= \Delta ^{\varUpsilon _{k+1}} x_{k+1} - \sum _{j=1}^{k+1} (-1)^{j} \varUpsilon _{j,k+1} x_{k-j+1}, \end{aligned}$$
(26)
$$\begin{aligned} y_k&= Cx_k , \end{aligned}$$
(27)

where

$$\begin{aligned} \varUpsilon _{j,k}&= {\mathrm {diag}} \left[ \begin{array}{ccc} \left( {\begin{array}{c}\alpha _{1,k}\\ j\end{array}}\right) &{} \dots &{} \left( {\begin{array}{c}\alpha _{N,k}\\ j\end{array}}\right) \end{array} \right] ,\\ \Delta ^{\varUpsilon _{k+1}}x_{k+1}&= \left[ \begin{array}{c} \Delta ^{\alpha _{1,k+1}}x_{1,k+1}\\ \vdots \\ \Delta ^{\alpha _{N,k+1}}x_{N,k+1} \end{array} \right] , \end{aligned}$$

where \(\alpha _{i,k}\in \mathbb {R}\) are time dependent (variable) orders of system equations (where \(i\) is a number of state variable and \(k\) is a time of the order) and \(N\) is the number of these equations.

Basic properties for variable order DFOSS are presented in [28].

For a system defined in such a way that the Fractional Kalman filter for correlated noises is generalized as follows:

Theorem 2

For the discrete fractional order stochastic system in a state-space representation given by the Definition 4 the simplified Kalman Filter(called VOFKF) is given by the set of following equations

$$\begin{aligned} \Delta ^{\varUpsilon _{k+1}}\tilde{x}_{k+1}&= A \hat{x}_k+Bu_k, \end{aligned}$$
(28)
$$\begin{aligned} \tilde{x}_{k+1}&= \Delta ^{\varUpsilon _{k+1}}\tilde{x}_{k+1}- \sum _{j=1}^{k+1} (-1)^j\varUpsilon _{j,k+1} \hat{x}_{k+1-j}, \end{aligned}$$
(29)
$$\begin{aligned} \tilde{P}_k&= \left( A+\varUpsilon _{1,k} \right) P_{k-1}\left( A+\varUpsilon _{1,k} \right) ^T+ Q_{k-1} + \sum _{j=2}^{k} \varUpsilon _{j,k} P_{k-j} \varUpsilon _{j,k}^T, \end{aligned}$$
(30)
$$\begin{aligned} \hat{x}_k&= \tilde{x}_k+K_k(y_k-C\tilde{x}_k), \end{aligned}$$
(31)
$$\begin{aligned} P_k&= (I-K_kC)\tilde{P}_k, \end{aligned}$$
(32)

where

$$\begin{aligned} K_k=\tilde{P}_kC^T (C\tilde{P}_k C^T+R_k)^{-1}, \end{aligned}$$

with initial conditions

$$\begin{aligned} x_0 \in \mathbb {R}^N,\quad P_0=\mathrm {E}[(\tilde{x}_0-x_0)(\tilde{x}_0-x_0)^T], \end{aligned}$$

where

$$\begin{aligned} Q&= \mathrm {E}[\omega \omega ^{T}],\\ R&= \mathrm {E}[\nu \nu ^{T}]. \end{aligned}$$

and \(\nu _k\) and \(\omega _k\) are assumed to be independent and with zero expected value.

5.1 Fractional Variable Order Colored Noise and Its Estimation

The colored fractional order noise is given as follows

$$\begin{aligned} \Delta ^{\alpha _{k+1}} \mu _{k+1}=f \mu _k+\omega _k, \end{aligned}$$
(33)

where in this case \(\mu _k\) is a fractional variable order colored noise, \(\alpha _k\) is a variable order of the noise, and \(\omega _k\) is an uncorrelated noise.

For a variable order case the system with fractional (possible) variable order noise is given by

$$\begin{aligned} \Delta ^{\varUpsilon _{k+1}}x_{k+1}&= A x_k +Bu_k+\mu _k, \end{aligned}$$
(34)
$$\begin{aligned} x_{k+1}&= \Delta ^{\varUpsilon _{k+1}}x_{k+1} - \sum _{j=1}^{k+1} (-1)^{j} \varUpsilon _{j,k+1} x_{k+1-j}, \end{aligned}$$
(35)
$$\begin{aligned} y_k&= C x_k + \nu _k, \end{aligned}$$
(36)

with the fractional colored noise given by

$$\begin{aligned} \Delta ^{\alpha _{k+1}} \mu _{k+1}=F\mu _k+\omega _k. \end{aligned}$$
(37)

This can be rewritten in the same way as in the constant order case:

$$\begin{aligned} \Delta ^{\varUpsilon _{k+1}^*} x^*_{k+1}&= A^* x^*_k +B^*u_k+\left[ \begin{array}{c} 0\\ I \end{array} \right] \omega _k, \end{aligned}$$
(38)
$$\begin{aligned} x^*_{k+1}&= \Delta ^{\varUpsilon _{k+1}^*}x^*_{k+1} - \sum _{j=1}^{k+1} (-1)^{j} \varUpsilon ^*_{j,k+1} x^*_{k+1-j}, \end{aligned}$$
(39)
$$\begin{aligned} y_k&= C^* x^*_k + \nu _k, \end{aligned}$$
(40)

where

$$\begin{aligned} x^*_{k+1}&= \left[ \begin{array}{c} x_{k+1}\\ \omega _k \end{array} \right] , \quad A^*=\left[ \begin{array}{cc} A &{} I\\ 0 &{} F \end{array} \right] , \quad B^*=\left[ \begin{array}{c} B\\ 0 \end{array} \right] ,\\ C^*&= \left[ \begin{array}{cc} C&0 \end{array} \right] , \quad \varUpsilon _{k+1}^*=\left[ \begin{array}{c} \varUpsilon _{k+1} \\ \alpha _{k+1} \end{array} \right] . \end{aligned}$$

For a system, defined in such a way, the equations of Fractional Kalman Filter are the same as presented in Theorem 2.

6 Numerical Results

Results of numerical experiments, presented in this section, were obtained in Matlab/Simulink environment using the FSST Toolkit [27].

6.1 Estimation of Fractional Order Systems

The numerical results were obtained for a fractional order system with fractional order colored noise for different values of fractional order of noise, for realization length (given by Remark 1) \(N_\mathrm{buff}\) = 1,000. The fractional order system has the following matrices:

$$\begin{aligned} A&= \left[ \begin{array}{c} -0.5 \end{array} \right] , \quad B=\left[ \begin{array}{c} 1 \end{array} \right] , C=\left[ \begin{array}{c} 2 \end{array} \right] , \quad \varUpsilon =\left[ \begin{array}{c} 0.5 \end{array} \right] . \end{aligned}$$

This system can be interpreted as discrete equivalence of fractional order inertial system. However, this system is quite simple, it will allow us to prepare a set of clear and valuable experiments.

The fractional colored system noise is given by the following equation

$$\begin{aligned} \Delta ^\alpha \mu _{k+1}=(-0.4-\alpha ) \mu _k+\omega _k. \end{aligned}$$

In this case, parameter \(f\) is equal to (\(-0.4 -\alpha \)) and order of the colored fractional noise is equal to \(\alpha \). The variance value of original uncorrelated noise \(\omega _k\) is chosen to \(1.06\), the variance of colored noise depends on order \(\alpha \). The measurement noise is a dynamically uncorrelated noise with variance equal to \(4\). Both noises are zero mean values noises.

$$\begin{aligned} \Delta ^{\varUpsilon ^*} \left[ \begin{array}{c} x_{k+1}\\ \mu _{k+1} \end{array} \right]&= \left[ \begin{array}{cc} -0.5 &{} 1\\ 0 &{} -0.4-\alpha \end{array} \right] \left[ \begin{array}{c} x_{k}\\ \mu _k \end{array} \right] +\left[ \begin{array}{c} 1\\ 0 \end{array} \right] u_k+\left[ \begin{array}{c} 0\\ I \end{array} \right] \omega _k, \\ x^*_{k+1}&= \Delta ^{\varUpsilon ^*}x^*_{k+1} - \sum _{j=1}^{k+1} (-1)^{j} \varUpsilon ^*_j x^*_{k+1-j}, \\ y_k&= \left[ \begin{array}{cc} 2&0 \end{array} \right] x^*_k + \nu _k , \end{aligned}$$

where

$$\begin{aligned} \varUpsilon ^*=\left[ \begin{array}{c} 0.5 \\ \alpha \end{array} \right] . \end{aligned}$$

Tables 1 and 2 present the results of the comparison of a proposed algorithm that included knowledge about dynamical correlation with the traditional Fractional Kalman Filter without this knowledge. The parameters of Fractional Kalman Filter for a system with fractional colored noise are:

$$\begin{aligned} P=\left[ \begin{array}{c@{\quad }c} 1 &{} 0\\ 0 &{} 1 \end{array} \right] , \quad Q=\left[ \begin{array}{c@{\quad }c} 0 &{} 0\\ 0 &{} 1.06 \end{array} \right] , \quad R=\left[ \begin{array}{c} 4 \end{array} \right] . \end{aligned}$$

The parameters of the Fractional Kalman Filter without using knowledge about dynamical correlation are:

$$\begin{aligned} P=\left[ \begin{array}{c} 1 \end{array} \right] , \quad Q=\left[ \begin{array}{cc} w(\alpha ) \end{array} \right] , \quad R=\left[ \begin{array}{c} 4 \end{array} \right] , \end{aligned}$$

where \(w(\alpha )\) is the variance of the system noise \(\omega _k\).

Table 1 Estimation results of fractional order system for negative orders of fractional system noise
Table 2 Estimation results of fractional order system for positive orders of fractional system noise

The results of numerical simulations are presented in Tables 1 and 2, where \(\mathrm {var}_\mathrm {FKF}\) is the variance of the estimation error obtained by FKF algorithm for uncorrelated noises, and \(\mathrm {var}_\mathrm {cFKF}\) is the variance of the estimation error obtained by proposed FKF algorithm for correlated noises, \(\delta _\mathrm{imp}\) is improvement in variance and given as:

$$\begin{aligned} \delta _\mathrm{imp} = 100~\% \frac{\mathrm{var}_\mathrm{FKF} - \mathrm{var}_\mathrm{cFKF} }{\mathrm{var}_\mathrm{FKF}}. \end{aligned}$$

As it could be seen from Tables 1 and 2, the proposed algorithm based on Fractional Kalman Filter, in all cases, is more accurate than the traditional Kalman Filter. It is also worth noticing that the variance of fractional colored noise strongly depends on the order of that noise.

6.2 Robustness Analysis for Parameter Perturbation

In this section, we will assume the situation that the estimation algorithm is based on the model with an additional parameter. This situation could happen when the model used for designed estimation algorithm contains perturbation in parameter.

The results of this analysis are presented in Tables 3 and 4, where \(\delta _{A}\) is additional parameter in matrix \(A\), in the proposed filter:

$$\begin{aligned} A = \left[ \begin{array}{c@{\quad }c} -0.5 &{} 1\\ 0 &{} -0.4-\alpha + \delta _{A} \end{array} \right] , \end{aligned}$$

Value of the \(\delta _{\mathrm{imp}A}\) is calculated like as \(\delta _\mathrm{imp}\) in previous section, but when the \(\delta _{A}\) parameter is equal to \(\left( -0.1, -0.05, 0.05, 0.1 \right) \).

Table 3 Robustness results of fractional order system for negative orders of fractional system noise
Table 4 Robustness results of fractional order system for positive orders of fractional system noise

Moreover, \(\delta _\mathrm{diff}\) is difference between improvement when the parameter is changing and calculated improvement with original \(A\) matrix:

$$\begin{aligned} \delta _\mathrm{diff} = \delta _{\mathrm{imp}A} - \delta _\mathrm{imp}. \end{aligned}$$

6.3 Robustness Analysis for Order Perturbation

In this section, we will assume the situation that the estimation algorithm based on the model with not accurate order. This situation could happen when the model used for designed estimation algorithm contains an error in the system order. The result of this analysis is presented in Table 5, where \(\delta _{A}\) is simulated perturbation in noise order, applied to estimation algorithm (martix \(\varUpsilon \)).

$$\begin{aligned} A&= \left[ \begin{array}{cc} -0.5 &{} 1\\ 0 &{} -0.4-\alpha \end{array} \right] , \quad B=\left[ \begin{array}{cc} 1, 0 \end{array} \right] , C=\left[ \begin{array}{cc} 2, 0 \end{array} \right] , \quad \varUpsilon =\left[ \begin{array}{c} 0.5, \alpha + \delta _{A} \end{array} \right] . \end{aligned}$$

The value of \(\delta _\mathrm{imp}\) is calculated in the same way, as in Sect. 6.1.

Table 5 Robustness results with order perturbation

Differences in variance improvement for cases of perturbed filter order are not significant, despite of integer order case. This confirms the robustness of the proposed algorithm for order perturbation. The increase of improvement for negative perturbations does not seem to be a general rule, just the result of this particular case.

6.4 Estimation of Integer Order System

Let us consider the traditional discrete integer order system with fractional colored system noise \(\omega _k\)

$$\begin{aligned} x_{k+1}&= \left[ \begin{array}{c} -0.5 \end{array} \right] x_k+\left[ \begin{array}{c} 1 \end{array} \right] u_k +\omega _k, \end{aligned}$$
(41)
$$\begin{aligned} y_k&= \left[ \begin{array}{c} 2 \end{array} \right] x_k. \end{aligned}$$
(42)

The fractional colored system noise is defined in the same way as in the previous experiment and given by the following equation

$$\begin{aligned} \Delta ^\alpha \mu _{k+1}=(-0.4-\alpha ) \mu _k+\omega _k. \end{aligned}$$

The variance value of original uncorrelated noise \(\omega _k\) is chosen the same as for fractional order system, and was equal to \(1.06\), and the measurement noise is uncorrelated dynamically noise with variance equal to \(4\).

For a system defined in such a way, we can write system equations in a difference form (discrete fractional order)

$$\begin{aligned} \Delta ^{\varUpsilon ^*} \left[ \begin{array}{c} x_{k+1}\\ \mu _{k+1} \end{array} \right]&= \left[ \begin{array}{cc} -1.5 &{} 1\\ 0 &{} -0.4 \end{array} \right] \left[ \begin{array}{c} x_{k}\\ \mu _k \end{array} \right] +\left[ \begin{array}{c} 1\\ 0 \end{array} \right] u_k+\left[ \begin{array}{c} 0\\ I \end{array} \right] \omega _k, \\ x^*_{k+1}&= \Delta ^{\varUpsilon ^*}x^*_{k+1} - \sum _{j=1}^{k+1} (-1)^{j} \varUpsilon ^*_j x^*_{k+1-j}, \\ y_k&= \left[ \begin{array}{cc} 2&0 \end{array} \right] x^*_k + \nu _k , \end{aligned}$$

where

$$\begin{aligned} \varUpsilon ^*=\left[ \begin{array}{c} 1 \\ \alpha \end{array} \right] . \end{aligned}$$

Tables 6 and 7 present the results of the comparison of the proposed algorithm with knowledge about dynamical correlation to the traditional Fractional Kalman Filter without this knowledge. The parameters of Fractional Kalman Filter for a integer order system with fractional colored noise are

$$\begin{aligned} P=\left[ \begin{array}{c@{\quad }c} 1 &{} 0\\ 0 &{} 1 \end{array} \right] , \quad Q=\left[ \begin{array}{c@{\quad }c} 0 &{} 0\\ 0 &{} 1.06 \end{array} \right] , \quad R=\left[ \begin{array}{c} 4 \end{array} \right] . \end{aligned}$$

The parameters of the Fractional Kalman Filter without using knowledge about dynamical correlation are

$$\begin{aligned} P=\left[ \begin{array}{c} 1 \end{array} \right] , \quad Q=\left[ \begin{array}{cc} w(\alpha ) \end{array} \right] , \quad R=\left[ \begin{array}{c} 4 \end{array} \right] . \end{aligned}$$
Table 6 Variance of the estimation error for integer order system for negative orders of fractional colored noises
Table 7 Variance of the estimation error for integer order system for positive orders of fractional colored noises

As it could be seen from Tables 6 and 7, the proposed algorithm based on Fractional Kalman Filter, in all cases, is more accurate than the traditional Kalman Filter. What is also worth noticing, the proposed algorithm is especially accurate when the variance of the fractional order noise is bigger than the variance of the original uncorrelated noise.

The Fig. 4 presents chosen results of the estimation error for the proposed algorithm and the traditional Kalman Filter for the case of the integer order system with fractional colored noise with order equal to \(\alpha =-0.5\). The variance of the fractional colored noise is equal to \(2.4\) (which is more than the variance of original uncorrelated dynamical noise that was equal to \(1.06\).

Fig. 4
figure 4

Example of estimation error results for integer order system and fractional colored noise with variance equal to \(\alpha =0.5\)

6.5 Estimation of the Integer Order System with Variable Fractional Order Noise

In order to better present the behavior of the variable order noise, the constant integer order system will be taken into consideration in this example.

The integer order system in the form of Definition 2, has the following matrices:

$$\begin{aligned} A&= \left[ \begin{array}{c} -1.5 \end{array} \right] , \quad B=\left[ \begin{array}{c} 1 \end{array} \right] , C=\left[ \begin{array}{c} 2 \end{array} \right] , \quad \varUpsilon =\left[ \begin{array}{c} 1 \end{array} \right] \end{aligned}$$

The variable order fractional colored system noise is given by

$$\begin{aligned} \Delta ^{\alpha _{k+1}} v_{k+1}=\omega _k. \end{aligned}$$

The variable order of the colored fractional noise is given by the following relation \(\alpha _k=0.5+0.2\sin (0.006k)\). The variance value of original uncorrelated noise \(\omega _k\) is chosen to \(1.06\). The measurement noise is a dynamically uncorrelated noise with variance equal to \(4\). Both noises are zero mean values noises. Where

$$\begin{aligned} \delta _{\mathrm{imp-cVOFKF}}&= 100~\% \frac{\mathrm{var}_{\mathrm{VOFKF}} - \mathrm{var}_{\mathrm{cVOFKF}}}{\mathrm{var}_{\mathrm{VOFKF}}}.\\ \delta _{\mathrm{imp-cFKF}}&= 100~\% \frac{\mathrm{var}_{\mathrm{VOFKF}} - \mathrm{var}_{\mathrm{cFKF}}}{\mathrm{var}_{\mathrm{VOFKF}}}. \end{aligned}$$

In Table 8 results of the integer order system with variable order noise estimation are presented. Moreover, results obtained by fractional variable order Kalman filter for correlated noise (cVOFKF) were compared with the results of variable order fractional order Kalman filter (VOFKF) and with the constant order fractional Kalman filter for correlated noise (cFKF). The order of cFKF algorithm was constant and equal to 0.5, which was an average value of variable system order. As it could be seen, proposed cVOFKF algorithm is the most accurate. What is also worth noticing, cFKF algorithm is also more accurate than VOFKF, but improvement is not significant. This can lead to conclusions, that variable order noise cannot be successfully approximate by constant order noise.

Table 8 Estimation results of the integer order system with variable fractional order noise

Figures 5, 6, 7, 8, and 9 show a more advanced analysis of the fractional variable order noise itself.

Fig. 5
figure 5

Example of original noise, variable order fractional noise and a variable order noise

Fig. 6
figure 6

Time autocorrelation of the variable order fractional noise and original noise

Fig. 7
figure 7

Time autocorrelation for different intervals of the variable order fractional noise

Fig. 8
figure 8

Time autocorrelation of the variable order fractional noise and original noise

Fig. 9
figure 9

Time autocorrelation for different intervals of system output

Figure 5 presents the original noise, the variable order fractional noise and a variable order. It is worth noticing that the variance of the variable fractional noise, in this case equal to \(3.97\), is higher than the variance of the original uncorrelated noise (equal to \(1.0498\)). It is also worth mentioning that the variable order makes the noise non-stationary and the variance of the noise is changing with the order. Figure 6 presents the autocorrelation of fractional noise and original noise.

In Fig. 7, as it could be seen for interval \((200,400)\), when order is close to \(0.7\), high values of autocorrelation in time were obtained. However, for interval \((600,800)\), when the order is close to \(0\), values of time autocorrelation are high only for a very short time shifting and for the rest they are close to zero.

It is because the fractional order discrete state-space system for order \(0\) can be rewritten as the first order integer system. This implies that for order \(0\) fractional order noise stays the colored noise, with time dependency restricted only to one past sample. The interval (0,1,000) contains one whole cycle of order changing and is more regular and confirms very wide dynamical correlation in noise. In Figs. 89 the time autocorrelation for system output is presented. As it can be seen, the autocorrelation has a similar character to the character of the fractional noise. Thus, we can consider the fractional noise as the only source of complicated time dependencies in the output signal. It is because the system is an integer order system.

7 Conclusions

In this paper, a generalization of the discrete fractional order colored noise was presented, and the algorithms based on Fractional Kalman Filter for fractional and integer order systems with such fractional colored system noises were introduced. Algorithm was also generalized for the case of variable fractional order noises and systems. Finally, the results of numerical experiments were presented. The numerical results confirm the efficiency of the introduced algorithm. It was observed that the proposed algorithm is especially accurate when the variance of the fractional order noise is bigger than the variance of the original uncorrelated noise. An especially interesting conclusion is that it is possible and reasonable to use the fractional order estimation algorithm for integer order system. The required integer order system with fractional order noise can be observed in many systems in biology, electronics, or heat transfer systems. For example, simple electronic or mechanical system with thermal sensors. These sensors will introduce fractional order noise into the system successfully modeled by integer order differential equations. Estimation algorithms introduced in this paper can also be easily extended onto non-linear systems. In our research, the linear system was considered only because of the fact that it provides a better way to show the comparisons among the results obtained.