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

Real-Time Numerical Differentiation of Sampled Data Using Adaptive Input and State Estimation

\nameShashank Vermaa, Sneha Sanjeevinia, E. Dogan Sumer,b and Dennis S. Bernsteina CONTACT Shashank Verma. Email: [email protected] Sneha Sanjeevini. Email: [email protected] E. Dogan Sumer. Email: [email protected] Dennis S. Bernstein. Email: [email protected] aDepartment of Aerospace Engineering, University of Michigan, Ann Arbor, Michigan, USA bFord Motor Company, Dearborn, Michigan, USA
Abstract

Real-time numerical differentiation plays a crucial role in many digital control algorithms, such as PID control, which requires numerical differentiation to implement derivative action. This paper addresses the problem of numerical differentiation for real-time implementation with minimal prior information about the signal and noise using adaptive input and state estimation. Adaptive input estimation with adaptive state estimation (AIE/ASE) is based on retrospective cost input estimation, while adaptive state estimation is based on an adaptive Kalman filter in which the input-estimation error covariance and the measurement-noise covariance are updated online. The accuracy of AIE/ASE is compared numerically to several conventional numerical differentiation methods. Finally, AIE/ASE is applied to simulated vehicle position data generated from CarSim.

keywords:
Numerical differentiation, input estimation, Kalman filter, adaptive estimation

1 Introduction

The dual operations of integration and differentiation provide the foundation for much of mathematics. From an analytical point of view, differentiation is simpler than integration; consider the relative difficulty of differentiating and integrating log(1+sin2x3).\log(1+\sin^{2}x^{3}). In numerical analysis, integration techniques have been extensively developed in Davis \BBA Rabinowitz (\APACyear1984), whereas differentiation techniques have been developed more sporadically in Savitzky \BBA Golay (\APACyear1964); Cullum (\APACyear1971), Hamming (\APACyear1973, pp. 565, 566).

In practice, numerical integration and differentiation techniques are applied to sequences of measurements, that is, discrete-time signals composed of sampled data. Although, strictly speaking, integration and differentiation are not defined for discrete-time signals, the goal is to compute a discrete-time “integral” or “derivative” that approximates the true integral or derivative of the pre-sampled, analog signal.

In addition to sampling, numerical integration and differentiation methods must address the effect of sensor noise. For numerical integration, constant noise, that is, bias, leads to a spurious ramp, while stochastic noise leads to random-walk divergence. Mitigation of these effects is of extreme importance in applications such as inertial navigation as shown in Farrell (\APACyear2008); Grewel \BOthers. (\APACyear2020).

Compared to numerical integration, the effect of noise on numerical differentiation is far more severe. This situation is due to the fact that, whereas integration is a bounded operator on a complete inner-product space, differentiation is an unbounded operator on a dense subspace. Unboundedness implies a lack of continuity, which is manifested as high sensitivity to sensor noise. Consequently, numerical differentiation typically involves assumptions on the smoothness of the signal and spectrum of the noise as considered in Ahn \BOthers. (\APACyear2006); Jauberteau \BBA Jauberteau (\APACyear2009); Stickel (\APACyear2010); Listmann \BBA Zhao (\APACyear2013); Knowles \BBA Renka (\APACyear2014); Haimovich \BOthers. (\APACyear2022).

Numerical differentiation algorithms are crucial elements of many digital control algorithms. For example, PID control requires numerical differentiation to implement derivative action as presented in Vilanova \BBA Visioli (\APACyear2012); Astrom \BBA Hagglund (\APACyear2006). Flatness-based control is based on a finite number of derivatives as shown in Nieuwstadt \BOthers. (\APACyear1998); Mboup \BOthers. (\APACyear2009).

In practice, analog or digital filters are used to suppress the effect of sensor noise, thereby allowing the use of differencing formulae in the form of inverted “V” filters, which have the required gain and phase lead at low frequencies and roll off at high frequencies. These techniques assume that the characteristics of the signal and noise are known, thereby allowing the user to tweak the filter parameters. When the signal and noise have unknown and possibly changing characteristics, filter tuning is not possible and thus the problem becomes significantly more challenging. The recent work in Van Breugel \BOthers. (\APACyear2020) articulates these challenges and proposes a Pareto-tradeoff technique for addressing the absence of prior information. Additional techniques include high-gain observer methods, in which the observer approximates the dynamics of a differentiator as shown in Dabroom \BBA Khalil (\APACyear1999). An additional approach to this problem is to apply sliding-mode algorithms as shown in Levant (\APACyear2003); Reichhartinger \BBA Spurgeon (\APACyear2018); López-Caamal \BBA Moreno (\APACyear2019); Mojallizadeh \BOthers. (\APACyear2021); Alwi \BBA Edwards (\APACyear2013).

In feedback control applications, which require real-time implementation, phase shift and latency in numerical differentiation can lead to performance degradation and possibly instability. Phase shift arises from filtering, whereas latency arises from noncausal numerical differentiation, that is, numerical differentiation algorithms that require future data. For real-time applications, a noncausal differentiation algorithm can be implemented causally by delaying the computation until the required data are available. A feedback controller requires an estimate of the current derivative, however, and thus the delayed estimate provided by a noncausal differentiation algorithm may not be sufficiently accurate.

A popular approach to numerical differentiation is to apply state estimation with integrator dynamics, where the state estimate includes an estimate of the derivative of the measurement as shown in Kalata (\APACyear1984); Bogler (\APACyear1987). This approach has been widely used for target and vehicle tracking in Jia \BOthers. (\APACyear2008); H. Khaloozadeh (\APACyear2009); Lee \BBA Tahk (\APACyear1999); Rana \BOthers. (\APACyear2020). As an extension of this approach, the present paper applies input estimation to numerical differentiation, where the goal is to estimate the input as well as the state, as in Gillijns \BBA De Moor (\APACyear2007); Orjuela \BOthers. (\APACyear2009); Fang \BOthers. (\APACyear2011); Yong \BOthers. (\APACyear2016); Hsieh (\APACyear2017); Naderi \BBA Khorasani (\APACyear2019); Alenezi \BOthers. (\APACyear2021).

The present paper is motivated by the situation where minimal prior information about the signal and noise is available. This case arises when the spectrum of the signal changes slowly or abruptly in an unknown way, and when the noise characteristics vary due to changes in the environment, such as weather. With this motivation, adaptive input estimation (AIE) was applied to target tracking in Ansari \BBA Bernstein (\APACyear2019), where it was used to estimate vehicle acceleration using position data. In particular, the approach of Ansari \BBA Bernstein (\APACyear2019) is based on retrospective cost input estimation (RCIE), where recursive least squares (RLS) is used to update the coefficients of the estimation subsystem. The error metric used for adaptation is the residual (innovations) of the state estimation algorithm, that is, the Kalman filter. This technique requires specification of the covariances of the process noise, input-estimation error, and sensor noise.

The present paper extends the approach of Ansari \BBA Bernstein (\APACyear2019) by replacing the Kalman filter with an adaptive Kalman filter in which the input-estimation error and sensor-noise covariances are updated online. Adaptive extensions of the Kalman filter to the case where the variance of the disturbance is unknown are considered in Yaesh \BBA Shaked (\APACyear2008); Shi \BOthers. (\APACyear2009); Moghe \BOthers. (\APACyear2019); Zhang \BOthers. (\APACyear2020). Adaptive Kalman filters based on the residual for integrating INS/GPS systems are discussed in Mohamed \BBA Schwarz (\APACyear1999); Hide \BOthers. (\APACyear2003); Almagbile \BOthers. (\APACyear2010). Several approaches to adaptive filtering, such as bayesian, maximum likelihood, correlation, and covariance matching, are studied in Mehra (\APACyear1972). A related algorithm involving a covariance constraint is developed in Mook \BBA Junkins (\APACyear1988).

The adaptive Kalman filter used in the present paper as part of AIE/ASE is based on a search over the range of input-estimation error covariance. This technique has proven to be easy to implement and effective in the presence of unknown signal and noise characteristics. The main contribution of the present paper is a numerical investigation of the accuracy of AIE combined with the proposed adaptive state estimation (ASE) in the presence of noise with unknown properties. The accuracy of AIE/ASE is compared to the backward-difference differentiation, Savitzky-Golay differentiation (Savitzky \BBA Golay (\APACyear1964); Schafer (\APACyear2011); Staggs (\APACyear2005); Mboup \BOthers. (\APACyear2009)), and numerical differentiation based on high-gain observers (Dabroom \BBA Khalil (\APACyear1999)).

The present paper represents a substantial extension of preliminary results presented in Verma \BOthers. (\APACyear2022). In particular, the algorithms presented in the present paper extend the adaptive estimation component of the approach of Verma \BOthers. (\APACyear2022) in Section 5, and the accuracy of these algorithms is more extensively evaluated and compared to prior methods in Section 6.

The contents of the paper are as follows. Section 2 presents three baseline numerical differentiation algorithms. Section 3 discusses the delay in the availability of the estimated derivative due to the computation time and non-causality. This section also defines an error metric for comparing the accuracy of the algorithms considered in this paper. Section 4 describes the adaptive input estimation algorithm. Section 5 provides the paper’s main contribution, namely, adaptive input estimation with adaptive state estimation. Section 6 applies three variations of AIE using harmonic signals with various noise levels. Finally, Section 7 applies the variations of AIE to simulated vehicle position data generated by CarSim.

2 Baseline Numerical Differentiation Algorithms

This section presents three algorithms for numerically differentiating sampled data. These algorithms provide a baseline for evaluating the accuracy of the adaptive input and state estimation algorithms described in Section 5.

2.1 Problem Statement

Let yy be a continuous-time signal with qqth derivative y(q).y^{(q)}. We assume that the sampled values yk=y(kTs)y_{k}\stackrel{{\scriptstyle\triangle}}{{=}}y(kT_{\rm s}) are available, where TsT_{\rm s} is the sample time. The goal is to use the sampled values yky_{k} to obtain an estimate y^k(q)\hat{y}^{(q)}_{k} of yk(q)=y(q)(kTs)y^{(q)}_{k}\stackrel{{\scriptstyle\triangle}}{{=}}y^{(q)}(kT_{\rm s}) in the presence of the noise with unknown properties. This paper focuses on the cases q=1q=1 and q=2q=2. In later sections, the sample values will be corrupted by noise.

2.2 Backward-Difference (BD) Differentiation

Let 𝐪1{\bf q}^{-1} denote the backward-shift operator. Then the backward-difference single differentiator is given by

Gsd(𝐪1)=1𝐪1Ts,\displaystyle G_{\rm sd}({\bf q}^{-1})\stackrel{{\scriptstyle\triangle}}{{=}}\cfrac{1-{\bf q}^{-1}}{T_{\rm s}}, (1)

and the backward-difference double differentiator is given by

Gdd(𝐪1)=(1𝐪1)2(Ts)2.\displaystyle G_{\rm dd}({\bf q}^{-1})\stackrel{{\scriptstyle\triangle}}{{=}}\cfrac{(1-{\bf q}^{-1})^{2}}{(T_{\rm s})^{2}}. (2)

2.3 Savitzky–Golay (SG) Differentiation

As shown in Savitzky \BBA Golay (\APACyear1964); Schafer (\APACyear2011); Staggs (\APACyear2005), in SG differentiation at each step k,k, a polynomial

Pk(s)=i=0pdai,ksi\displaystyle P_{k}(s)=\sum_{i=0}^{p_{{\rm d}}}a_{i,k}s^{i} (3)

of degree pdp_{\rm d} is fit over a sliding data window of size 2+12\ell+1 centered at step kk, where 1.\ell\geq 1. At each step kk, this leads to the least-squares problem

min𝒴k𝒜k𝒳k,\displaystyle\min\|\mathcal{Y}_{k}-\mathcal{A}_{k}\mathcal{X}_{k}\|, (4)

where

𝒴k\displaystyle\mathcal{Y}_{k} =[ykyk+],𝒳k=[a0,kapd,k],\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}y_{k{-}\ell}\\ \vdots\\ y_{k{+}\ell}\end{bmatrix},\quad\mathcal{X}_{k}\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}a_{0,k}\\ \vdots\\ a_{p_{{\rm d}},k}\end{bmatrix}, (5)
𝒜k\displaystyle\mathcal{A}_{k} =[1(k)Ts((k)Ts)pd1(k+)Ts((k+)Ts)pd].\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}1&{(k-\ell)T_{\rm s}}&...&({(k-\ell)T_{\rm s}})^{p_{{\rm d}}}\\ \vdots&\vdots&\ddots&\vdots\\ 1&{(k+\ell)T_{\rm s}}&...&({(k+\ell)T_{\rm s}})^{p_{{\rm d}}}\\ \end{bmatrix}. (6)

Solving (4) with qpd2q\leq p_{\rm d}\leq 2\ell yields

𝒳^k=[a^0,ka^pd,k].\hat{\mathcal{X}}_{k}=\begin{bmatrix}\hat{a}_{0,k}\\ \vdots\\ \hat{a}_{p_{{\rm d}},k}\end{bmatrix}. (7)

Differentiating (3) qq times with respect to ss, setting s=kTs,s=kT_{\rm s}, and replacing the coefficients of PkP_{k} in (3) with the components of 𝒳^k\hat{\mathcal{X}}_{k}, the estimate y^k(q)\hat{y}^{(q)}_{k} of yk(q)y^{(q)}_{k} is given by

y^k(q)=i=qpdQi,qa^i,k(kTs)iq,\hat{y}^{(q)}_{k}=\sum_{i=q}^{p_{{\rm d}}}Q_{i,q}\hat{a}_{i,k}(kT_{\rm s})^{i-q}, (8)

where, for all i=q,,pd,i=q,\ldots,p_{\rm d},

Qi,q=j=1q(ij+1).Q_{i,q}\stackrel{{\scriptstyle\triangle}}{{=}}\prod_{j=1}^{q}(i-j+1). (9)

2.4 High-Gain-Observer (HGO) Differentiation

A state space model for the rrth-order continuous-time HGO is given by

x^˙\displaystyle\dot{\hat{x}} =Acox^+Bcoy,y^=Cox^,\displaystyle=A_{{\rm c}{\rm o}}\hat{x}+B_{{\rm c}{\rm o}}y,\quad\hat{y}=C_{\rm o}\hat{x}, (10)
Aco\displaystyle A_{{\rm c}{\rm o}} =[0(r1)×1Ir1001×(r1)]H[101×(r1)],\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}0_{(r-1)\times 1}&I_{r-1}\\ 0&0_{1\times(r-1)}\end{bmatrix}-H\begin{bmatrix}1&0_{1\times(r-1)}\end{bmatrix}, (11)
Co\displaystyle C_{\rm o} =[0(r1)×1Ir1],\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}0_{(r-1)\times 1}&I_{r-1}\end{bmatrix}, (12)
Bco\displaystyle B_{{\rm c}{\rm o}} =H=[α1εα2ε2αrεr]𝖳,\displaystyle=H\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}\cfrac{\alpha_{1}}{\varepsilon}&\cfrac{\alpha_{2}}{\varepsilon^{2}}&\cdots&\cfrac{\alpha_{r}}{\varepsilon^{r}}\end{bmatrix}^{\mathsf{T}}, (13)

where ε>0\varepsilon>0 and α1,,αr\alpha_{1},\ldots,\alpha_{r} are constants chosen such that the polynomial

p(s)=sr+α1sr1++αr1s+αr\displaystyle p(s)\stackrel{{\scriptstyle\triangle}}{{=}}s^{r}+\alpha_{1}s^{r-1}+\cdots+\alpha_{r-1}s+\alpha_{r} (14)

is Hurwitz. The transfer function from yy to y^\hat{y} is given by

G(s)\displaystyle G(s) =Co(sIAco)1H=DG1(s)NG(s),\displaystyle=C_{\rm o}(sI-A_{{\rm c}{\rm o}})^{-1}H=D_{G}^{-1}(s)N_{G}(s), (15)

where

DG(s)\displaystyle D_{G}(s) =εrsr+α1εr1sr1++αr1εs+αr,\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}\varepsilon^{r}s^{r}+\alpha_{1}\varepsilon^{r-1}s^{r-1}+\dots+\alpha_{r-1}\varepsilon s+\alpha_{r}, (16)
NG(s)\displaystyle N_{G}(s) =[α2εr2sr1++αr1εs2+αrsα3εr3sr1++αr1εs3+αrs2αr1εsr1+αrsr2αrsr1].\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}\alpha_{2}\varepsilon^{r-2}s^{r-1}+\dots+\alpha_{r-1}\varepsilon s^{2}+\alpha_{r}s\\ \alpha_{3}\varepsilon^{r-3}s^{r-1}+\dots+\alpha_{r-1}\varepsilon s^{3}+\alpha_{r}s^{2}\\ \vdots\\ \alpha_{r-1}\varepsilon s^{r-1}+\alpha_{r}s^{r-2}\\ \alpha_{r}s^{r-1}\end{bmatrix}. (17)

Since

limε0G(s)=[ssr1]𝖳,\displaystyle\displaystyle{\lim_{\varepsilon\to 0}}G(s)=\begin{bmatrix}s&\cdots&s^{r-1}\end{bmatrix}^{\mathsf{T}}, (18)

it follows that, for all i=1,,r1i=1,\dots,r-1, the iith component of y^\hat{y} is an approximation of y(i)y^{(i)}. Applying the bilinear transformation to (10) yields the discrete-time observer

x^k+1=Adox^k+Bdoyk,y^k=Cox^k,\displaystyle\hat{x}_{k+1}=A_{{\rm d}{\rm o}}\hat{x}_{k}+B_{{\rm d}{\rm o}}y_{k},\quad\hat{y}_{k}=C_{\rm o}\hat{x}_{k}, (19)

where

Ado\displaystyle A_{{\rm d}{\rm o}} =(Ir12TsAco)1(Ir+12TsAco),\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}(I_{{\rm r}}-\tfrac{1}{2}T_{\rm s}A_{{\rm c}{\rm o}})^{-1}(I_{{\rm r}}+\tfrac{1}{2}T_{\rm s}A_{{\rm c}{\rm o}}), (20)
Bdo\displaystyle B_{{\rm d}{\rm o}} =(Ir12TsAco)1BcoTs.\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}(I_{{\rm r}}-\tfrac{1}{2}T_{\rm s}A_{{\rm c}{\rm o}})^{-1}B_{{\rm c}{\rm o}}T_{\rm s}. (21)

Implementation of (19) provides estimates y^k(1),,y^k(r1)\hat{y}^{(1)}_{k},\dots,\hat{y}^{(r-1)}_{k} of yk(1),,yk(r1)y^{(1)}_{k},\dots,y^{(r-1)}_{k}.

3 Real-Time Implementation and Comparison of Baseline Algorithms

Several noteworthy differences exist among BD, SG, and HGO. First, BD differentiation operates on adjacent pairs of data points, whereas SG differentiation operates on a moving window of data points. Consequently, SG differentiation is potentially more accurate than BD differentiation. Because of the time TcT_{\rm c} needed for computation, all numerical differentiation entails an unavoidable delay in the availability of the estimated derivative. In addition, BD differentiation and HGO differentiation do not require future data to estimate the derivative, thus they are causal algorithms. On the other hand, SG differentiation requires future data, and thus it is noncausal. For causal differentiation, the delay is δ=1\delta=1 step due to computation; for noncausal differentiation, δ2\delta\geq 2. Assuming TcTs,T_{\rm c}\leq T_{\rm s}, Figure 1 illustrates the case δ=1\delta=1. Note that δ=1\delta=1 for BD and HGO, whereas δ=+1\delta=\ell+1 for SG with window size 2+1.2\ell+1.

Refer to caption
Figure 1: Timing diagram for causal numerical differentiation. The causal numerical differentiator uses data obtained at step kk to estimate the derivative of the signal yy. Because of the computation time Tc,T_{\rm c}, the estimate y^k(q)\hat{y}_{k}^{(q)} of yk(q)y_{k}^{(q)} is not available until step k+1k+1. In this case, the delay is δ=1\delta=1 step. For a noncausal differentiator, δ2.\delta\geq 2.

To quantify the accuracy of each numerical differentiation algorithm, for all kδk\geq\delta, we define the relative root-mean-square error (RMSE) of the estimate of the qqth derivative as

ρk(q)=i=δk(yi(q)y^iδ(q))2i=δk(yiδ(q))2.\displaystyle\rho_{k}^{(q)}\stackrel{{\scriptstyle\triangle}}{{=}}\sqrt{\frac{\displaystyle\sum_{i=\delta}^{k}({y}_{i}^{(q)}-\hat{y}_{i-\delta}^{(q)})^{2}}{\displaystyle\sum_{i=\delta}^{k}(y_{i-\delta}^{(q)})^{2}}}. (22)

Note that numerator of (22) accounts for the effect of the delay δ.\delta. For real-time implementation, the relevant error metric depends on the difference between the true current derivative and the currently available estimate of the past derivative, as can be seen in the numerator of (22). When the derivative estimates are exact, (22) determines an RMSE value that can be viewed as the delay floor for the qqth derivative, that is, the error due solely to the fact that a noncausal differentiation algorithm must be implemented with a suitable delay. Note that the delay floor depends on δ\delta and is typically positive.

The true values of yk(q)y^{(q)}_{k} are the sampled values of y(q)y^{(q)} in the absence of sensor noise. Of course, the true values of yk(q)y^{(q)}_{k} are unknown in practice and thus cannot be used as an online error criterion. However, these values are used in (22), which is computable in simulation for comparing the accuracy of the numerical differentiation algorithms.

To compare the various baseline algorithms presented in Section 2, we consider numerical differentiation of the continuous-time signal y(t)=sin(20t)y(t)=\sin(20t), where tt is time in seconds. The signal y(t)y(t) is sampled with sample time Ts=0.01T_{\rm s}=0.01 sec. The measurements are assumed to be corrupted by noise, and thus the noisy sampled signal is given by yk=sin(0.2k)+Dvky_{k}=\sin(0.2k)+Dv_{k}, where vkv_{k} is standard (zero-mean, unit-variance, Gaussian) white noise. The value of DD is chosen to set the desired signal-to-noise ratio (SNR).

For single differentiation with SG, let =2\ell=2 and pd=3p_{d}=3. For single differentiation with HGO, let HGO/1 denote HGO with r=2r=2, α1=2\alpha_{1}=2, α2=1\alpha_{2}=1, and ε=0.2\varepsilon=0.2, and let HGO/2 denote HGO/1 with ε=0.2\varepsilon=0.2 replaced by ε=0.7\varepsilon=0.7. Figure 2 shows the relative RMSE ρkf(1)\rho_{k_{\rm f}}^{(1)} of the estimate of the first derivative for SNR ranging from 2020 dB to 6060 dB, where kf=2000k_{\rm f}=2000 steps.

For double differentiation with SG, let =2\ell=2 and pd=2p_{d}=2. For double differentiation with HGO, let HGO/1 denote HGO with r=3r=3, α1=8\alpha_{1}=8, α2=24\alpha_{2}=24, α3=32\alpha_{3}=32, and ε=1\varepsilon=1, and let HGO/2 denote HGO/1 with ε=1\varepsilon=1 replaced by ε=2\varepsilon=2. Figure 3 shows the relative RMSE ρkf(2)\rho_{k_{\rm f}}^{(2)} of the estimate of the second derivative for SNR ranging from 4040 dB to 6060 dB, where kf=2000k_{\rm f}=2000 steps. The delay floors in Figures 2 and 3 are determined by computing the RMSE between the true value yk(q)y_{k}^{(q)} and the δ\delta-step-delayed true value ykδ(q)y_{k-\delta}^{(q)}.

Refer to caption
Figure 2: Relative RMSE ρkf(1)\rho_{k_{\rm f}}^{(1)} of the estimate of the first derivative versus SNR, where kf=2000k_{{\rm f}}=2000 steps, for BD, SG, HGO/1, and HGO/2. For the first derivative, the red dashed line denotes the delay floor for δ=1\delta=1, and the black dashed line denotes the delay floor for δ=3\delta=3.
Refer to caption
Figure 3: Relative RMSE ρkf(2)\rho_{k_{\rm f}}^{(2)} of the estimate of the second derivative versus SNR, where kf=2000k_{{\rm f}}=2000 steps, for BD, SG, HGO/1, and HGO/2. For the second derivative, the red dashed line denotes the delay floor for δ=1\delta=1, and the black dashed line denotes the delay floor for δ=3\delta=3.

The comparison between HGO/1 and HGO/2 in Figure 2 and 3 shows that the performance of HGO differentiation depends on the noise level, and thus tuning is needed to achieve the best possible performance. When the noise level is unknown, however, this tuning is not possible. Hence, we now consider a differentiation technique that adapts to the actual noise characteristics.

4 Adaptive Input Estimation

This section discusses adaptive input estimation (AIE), which is a specialization of retrospective cost input estimation (RCIE) derived in Ansari \BBA Bernstein (\APACyear2019). This section explains how AIE specializes RCIE to the problem of causal numerical differentiation.

Consider the linear discrete-time system

xk+1\displaystyle x_{k+1} =Axk+Bdk,\displaystyle=Ax_{k}+Bd_{k}, (23)
yk\displaystyle y_{k} =Cxk+D2vk,\displaystyle=Cx_{k}+D_{2}v_{k}, (24)

where k0k\geq 0 is the step, xknx_{k}\in\mathbb{R}^{n} is the state, dk=d(kTs)d_{k}\stackrel{{\scriptstyle\triangle}}{{=}}d(kT_{\rm s})\in\mathbb{R}, vkv_{k}\in\mathbb{R} is standard white noise, and D2vkD_{2}v_{k}\in\mathbb{R} is the sensor noise. The matrices An×nA\in\mathbb{R}^{n\times n}, Bn×1B\in\mathbb{R}^{n\times 1}, C1×nC\in\mathbb{R}^{1\times n}, and D2D_{2}\in\mathbb{R} are assumed to be known. Define the sensor-noise covariance V2=D2D2𝖳V_{2}\stackrel{{\scriptstyle\triangle}}{{=}}D_{2}D_{2}^{\mathsf{T}}. The goal of AIE is to estimate dkd_{k} and xkx_{k}.

AIE consists of three subsystems, namely, the Kalman filter forecast subsystem, the input-estimation subsystem, and the Kalman filter data-assimilation subsystem. First, consider the Kalman filter forecast step

xfc,k+1=Axda,k+Bd^k,\displaystyle x_{{\rm fc},k+1}=Ax_{{\rm da},k}+B\hat{d}_{k}, (25)
yfc,k=Cxfc,k,\displaystyle y_{{\rm fc},k}=Cx_{{\rm fc},k}, (26)
zk=yfc,kyk,\displaystyle z_{k}=y_{{\rm fc},k}-y_{k}, (27)

where d^k\hat{d}_{k} is the estimate of dkd_{k}, xda,knx_{\rm da,k}\in\mathbb{R}^{n} is the data-assimilation state, xfc,knx_{{\rm fc},k}\in\mathbb{R}^{n} is the forecast state, zkz_{k}\in\mathbb{R} is the residual, and xfc,0=0x_{{\rm fc},0}=0.

Next, to obtain d^k\hat{d}_{k}, the input-estimation subsystem of order nen_{\rm e} is given by the exactly proper dynamics

d^k=i=1nePi,kd^ki+i=0neQi,kzki,\displaystyle\hat{d}_{k}=\sum\limits_{i=1}^{n_{\rm e}}P_{i,k}\hat{d}_{k-i}+\sum\limits_{i=0}^{n_{\rm e}}Q_{i,k}z_{k-i}, (28)

where Pi,kP_{i,k}\in{\mathbb{R}} and Qi,kQ_{i,k}\in{\mathbb{R}}. AIE minimizes zkz_{k} by using recursive least squares (RLS) to update Pi,kP_{i,k} and Qi,kQ_{i,k} as shown below. The subsystem (28) can be reformulated as

d^k=Φkθk,\displaystyle\hat{d}_{k}=\Phi_{k}\theta_{k}, (29)

where the regressor matrix Φk\Phi_{k} is defined by

Φk=[d^k1d^knezkzkne]1×lθ,\displaystyle\Phi_{k}\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}\hat{d}_{k-1}&\cdots&\hat{d}_{k-n_{{\rm e}}}&z_{k}&\cdots&z_{k-n_{{\rm e}}}\end{bmatrix}\in\mathbb{R}^{1\times l_{\theta}}, (30)

the coefficient vector θk\theta_{k} is defined by

θk=[P1,kPne,kQ0,kQne,k]𝖳lθ,\displaystyle\theta_{k}\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}P_{1,k}&\cdots&P_{n_{{\rm e}},k}&Q_{0,k}&\cdots&Q_{n_{{\rm e}},k}\end{bmatrix}^{{\mathsf{T}}}\in\mathbb{R}^{l_{\theta}}, (31)

and lθ=2ne+1l_{\theta}\stackrel{{\scriptstyle\triangle}}{{=}}2n_{{\rm e}}+1. In terms of the backward-shift operator 𝐪1{\bf q}^{-1}, (28) can be written as

d^k=Gd^z,k(𝐪1)zk,\displaystyle\hat{d}_{k}=G_{\hat{d}z,k}({\bf q}^{-1})z_{k}, (32)

where

Gd^z,k\displaystyle G_{\hat{d}z,k} =Dd^z,k1Nd^z,k,\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}D_{\hat{d}z,k}^{-1}\it{N}_{\hat{d}z,k}, (33)
Dd^z,k(𝐪1)\displaystyle D_{\hat{d}z,k}({\bf q}^{-1}) =IldP1,k𝐪1Pne,k𝐪ne,\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}I_{l_{d}}-P_{1,k}{\bf q}^{-1}-\cdots-P_{n_{\rm e},k}{\bf q}^{-n_{\rm e}}, (34)
Nd^z,k(𝐪1)\displaystyle N_{\hat{d}z,k}({\bf q}^{-1}) =Q0,k+Q1,k𝐪1++Qne,k𝐪ne.\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}Q_{0,k}+Q_{1,k}{\bf q}^{-1}+\cdots+Q_{n_{\rm e},k}{\bf q}^{-n_{\rm e}}. (35)

To update the coefficient vector θk,\theta_{k}, we define the filtered signals

Φf,k\displaystyle\Phi_{{\rm f},k} =Gf,k(𝐪1)Φk,d^f,k=Gf,k(𝐪1)d^k,\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}G_{{\rm f},k}({\bf q}^{-1})\Phi_{k},\quad\hat{d}_{{\rm f},k}\stackrel{{\scriptstyle\triangle}}{{=}}G_{{\rm f},k}({\bf q}^{-1})\hat{d}_{k}, (36)

where, for all k0k\geq 0,

Gf,k(𝐪1)=i=1nf𝐪iHi,k,\displaystyle G_{{\rm f},k}({\bf q}^{-1})=\sum\limits_{i=1}^{n_{\rm f}}{\bf q}^{-i}H_{i,k}, (37)
Hi,k\displaystyle H_{i,k} ={CB,ki=1,CA¯k1A¯k(i1)B,ki2,0,i>k,\displaystyle\stackrel{{\scriptstyle\triangle}}{{=}}\left\{\begin{array}[]{ll}CB,&k\geq i=1,\\ C\overline{A}_{k-1}\cdots\overline{A}_{k-(i-1)}B,&k\geq i\geq 2,\\ 0,&i>k,\end{array}\right. (41)

and A¯k=A(I+Kda,kC)\overline{A}_{k}\stackrel{{\scriptstyle\triangle}}{{=}}A(I+K_{{\rm da},k}C), where Kda,kK_{{\rm da},k} is the Kalman filter gain given by (47) below. Furthermore, define the retrospective variable

zr,k(θ^)=zk(d^f,kΦf,kθ^),\displaystyle z_{{\rm r},k}(\hat{\theta})\stackrel{{\scriptstyle\triangle}}{{=}}z_{k}-(\hat{d}_{{\rm f},k}-\Phi_{{\rm f},k}\hat{\theta}), (42)

where the coefficient vector θ^lθ\hat{\theta}\in{\mathbb{R}}^{l_{\theta}} denotes a variable for optimization, and define the retrospective cost function

𝒥k(θ^)=i=0k[Rzzr,i2(θ^)+Rd(Φiθ^)2]+(θ^θ0)𝖳Rθ(θ^θ0),\displaystyle{\mathcal{J}}_{k}(\hat{\theta})\stackrel{{\scriptstyle\triangle}}{{=}}\sum\limits_{i=0}^{k}[R_{z}z_{{\rm r},i}^{2}(\hat{\theta})+R_{d}(\Phi_{i}\hat{\theta})^{2}]+(\hat{\theta}-\theta_{0})^{\mathsf{T}}R_{\theta}(\hat{\theta}-\theta_{0}), (43)

where Rz(0,)R_{z}\in(0,\infty), Rd(0,),R_{d}\in(0,\infty), and Rθlθ×lθR_{\theta}\in{\mathbb{R}}^{l_{\theta}\times l_{\theta}} is positive definite. Then, for all k0k\geq 0, the unique global minimizer θk+1\theta_{k+1} of (43) is given by the RLS update as shown in Islam \BBA Bernstein (\APACyear2019)

Pk+1\displaystyle P_{k+1} =PkPkΦ~k𝖳ΓkΦ~kPk,\displaystyle=P_{k}-P_{k}\widetilde{\Phi}^{{\mathsf{T}}}_{k}\Gamma_{k}\widetilde{\Phi}_{k}P_{k}, (44)
θk+1\displaystyle\theta_{k+1} =θkPkΦ~k𝖳Γk(z~k+Φ~kθk),\displaystyle=\theta_{k}-P_{k}\widetilde{\Phi}^{{\mathsf{T}}}_{k}\Gamma_{k}(\widetilde{z}_{k}+\widetilde{\Phi}_{k}\theta_{k}), (45)

where

P0=Rθ1,Γk=(R~1+Φ~kPkΦ~k𝖳)1,Φ~k=[Φf,kΦk],\displaystyle P_{0}\stackrel{{\scriptstyle\triangle}}{{=}}R_{\theta}^{-1},\quad\Gamma_{k}\stackrel{{\scriptstyle\triangle}}{{=}}(\widetilde{R}^{-1}+\widetilde{\Phi}_{k}P_{k}\widetilde{\Phi}^{{\mathsf{T}}}_{k})^{-1},\quad\widetilde{\Phi}_{k}\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}\Phi_{{\rm f},k}\\ \Phi_{k}\\ \end{bmatrix},
z~k=[zkd^f,k0],R~=[Rz00Rd].\displaystyle\widetilde{z}_{k}\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}z_{k}-\hat{d}_{{\rm f},k}\\ 0\\ \end{bmatrix},\quad\widetilde{R}\stackrel{{\scriptstyle\triangle}}{{=}}\begin{bmatrix}R_{z}&0\\ 0&R_{d}\\ \end{bmatrix}.

Using the updated coefficient vector given by (45), the estimated input at step k+1k+1 is given by replacing kk by k+1k+1 in (29). We choose θ0=0,\theta_{0}=0, and thus d^0=0.\hat{d}_{0}=0. Implementation of AIE requires that the user specify the orders nen_{\rm e} and nf,n_{\rm f}, as well as the weightings Rz,R_{z}, Rd,R_{d}, and Rθ.R_{\theta}. These parameters are specified for each example in the paper.

4.1 State Estimation

The forecast variable xfc,kx_{{\rm fc},k} given by (25) is used to obtain the estimate xda,kx_{{\rm da},k} of xkx_{k} given by the Kalman filter data-assimilation step

xda,k\displaystyle x_{{\rm da},k} =xfc,k+Kda,kzk,\displaystyle=x_{{\rm fc},k}+K_{{\rm da},k}z_{k}, (46)

where the state estimator gain Kda,knK_{{\rm da},k}\in\mathbb{R}^{n}, the data-assimilation error covariance Pda,kn×n,P_{{\rm da},k}\in\mathbb{R}^{n\times n}, and the forecast error covariance Pf,k+1n×nP_{{\rm f},k+1}\in\mathbb{R}^{n\times n} are given by

Kda,k\displaystyle K_{{\rm da},k} =Pf,kC𝖳(CPf,kC𝖳+V2,k)1,\displaystyle=-P_{{\rm f},k}C^{{\mathsf{T}}}(CP_{{\rm f},k}C^{{\mathsf{T}}}+V_{2,k})^{-1}, (47)
Pda,k\displaystyle P_{{\rm da},k} =(In+Kda,kC)Pf,k,\displaystyle=(I_{n}+K_{{\rm da},k}C)P_{{\rm f},k}, (48)
Pf,k+1\displaystyle P_{{\rm f},k+1} =APda,kA𝖳+V1,k,\displaystyle=AP_{{\rm da},k}A^{{\mathsf{T}}}+V_{1,k}, (49)

V1,k=Bvar(dkd^k)B𝖳+Acov(xkxda,k,dkd^k)B𝖳+Bcov(xkxda,k,dkd^k)A𝖳V_{1,k}\stackrel{{\scriptstyle\triangle}}{{=}}B\ {\rm var}\ (d_{k}-\hat{d}_{k})B^{\mathsf{T}}+A\ {\rm cov}\ (x_{k}-x_{{\rm da},k},d_{k}-\hat{d}_{k})B^{\mathsf{T}}+B\ {\rm cov}\ (x_{k}-x_{{\rm da},k},d_{k}-\hat{d}_{k})A^{\mathsf{T}}, and Pf,0=0.P_{{\rm f},0}=0.

4.2 Application of AIE to Numerical Differentiation

To apply AIE to causal numerical differentiation, (23) and (24) are used to model a discrete-time integrator. AIE then yields an estimate d^k\hat{d}_{k} of the derivative of the sampled output yky_{k}. For single discrete-time differentiation, A=1,B=Ts,A=1,B=T_{\rm s}, and C=1C=1, whereas, for double discrete-time differentiation,

A=[1Ts01],B=[12Ts2Ts],C=[10].\displaystyle A=\begin{bmatrix}1&T_{\rm s}\\ 0&1\end{bmatrix},\quad B=\begin{bmatrix}\tfrac{1}{2}T^{2}_{\rm s}\\ {T_{\rm s}}\end{bmatrix},\quad C=\begin{bmatrix}1&0\end{bmatrix}. (50)

5 Adaptive Input and State Estimation

In practice, V1,kV_{1,k} and V2,kV_{2,k} may be unknown in (49) and (47). To address this problem, three versions of AIE are presented. In each version, V1,kV_{1,k} and V2,kV_{2,k} may or may not be adapted. These versions are summarized in Table 1.

V1,kV_{1,k} Adaptation V2,kV_{2,k} Adaptation
AIE/NSE No No
AIE/SSE Yes No
AIE/ASE Yes Yes
Table 1: Definitions of AIE/NSE, AIE/SSE, and AIE/ASE. Each version of AIE is determined by whether or not V1,kV_{1,k} and/or V2,kV_{2,k} is adapted in the state-estimation subsystem.

To adapt V1,k{V}_{1,k} and V2,k{V}_{2,k}, at each step kk we define the computable performance metric

Jk(V1,k,V2,k)=|S^kSk|,\displaystyle{J}_{k}({V}_{1,k},{V}_{2,k})\stackrel{{\scriptstyle\triangle}}{{=}}|\widehat{S}_{k}-{S}_{k}|, (51)

where S^k\widehat{S}_{k} is the sample variance of zkz_{k} over [0,k][0,k] given by

S^k\displaystyle\widehat{S}_{k} =1ki=0k(ziz¯k)2,\displaystyle=\cfrac{1}{k}\sum^{k}_{i=0}(z_{i}-\overline{z}_{k})^{2}, (52)
z¯k\displaystyle\overline{z}_{k} =1k+1i=0kzi,\displaystyle=\cfrac{1}{k+1}\sum^{k}_{i=0}z_{i}, (53)

and Sk{S}_{k} is the variance of the residual zkz_{k} given by the Kalman filter, that is,

Sk=CPf,kCT+V2,k.\displaystyle{S}_{k}\stackrel{{\scriptstyle\triangle}}{{=}}CP_{{\rm f},k}C^{\rm T}+V_{2,k}. (54)

Note that (51) is the difference between the theoretical and empirical variances of zkz_{k}, which provides an indirect measure of the accuracy of V1V_{1} and V2.V_{2}.

5.1 AIE with Non-adaptive State Estimation (AIE/NSE)

In AIE/NSE, V1V_{1} is fixed at a user-chosen value, and V2V_{2} is assumed to be known and fixed at its true value. AIE/NSE is thus a specialization of AIE with V1,kV1{V}_{1,k}\equiv V_{1} in (49) and V2,kV2,true{V}_{2,k}\equiv V_{2,{\rm true}} in (47), where V2,trueV_{2,{\rm true}} is the true value of the sensor-noise covariance. A block diagram of AIE/NSE is shown in Figure 4.

Refer to caption
Figure 4: Block diagram of AIE/NSE. The unknown input dd is the signal whose estimates are desired, vv is sensor noise, and yy is the noisy measurement. In this version of AIE, V1V_{1} is fixed at a user-chosen value and V2V_{2} is fixed at its true value. The state estimator is thus not adaptive.

5.2 AIE with Semi-adaptive State Estimation (AIE/SSE)

In AIE/SSE, V1V_{1} is adapted, and V2V_{2} is assumed to be known and fixed at its true value. Let V1,adapt,k{V}_{{1,\rm adapt},k} denote the adapted value of V1,kV_{1,k}. AIE/SSE is thus a specialization of AIE with V1,k=V1,adapt,k{V}_{1,k}={V}_{{1,\rm adapt},k} in (49) and V2,kV2,true{V}_{2,k}\equiv V_{2,{\rm true}} in (47). In particular, V1,adapt,k=ηIn{V}_{{1,\rm adapt},k}=\eta I_{n} such that

V1,adapt,k=argminηInJk(ηIn,V2,true),\displaystyle{V}_{{1,\rm adapt},k}=\underset{\eta I_{n}}{\arg\min}\ J_{k}(\eta I_{n},V_{2,{\rm true}}), (55)

where η[ηL,ηU]\eta\in[\eta_{{\rm L}},\eta_{{\rm U}}] and 0ηL<ηηU.0\leq\eta_{{\rm L}}<\eta\leq\eta_{{\rm U}}. A block diagram of AIE/SSE is shown in Figure 5.

Refer to caption
Figure 5: Block diagram of AIE/SSE. In this version of AIE, V1V_{1} is adapted and V2V_{2} is fixed at its true value. The state estimator is thus semi-adaptive.

5.3 AIE with Adaptive State Estimation (AIE/ASE)

In AIE/ASE, both V1V_{1} and V2V_{2} are adapted. Let V2,adapt,k{V}_{{2,\rm adapt},k} denote the adapted value of V2,kV_{2,k}. AIE/ASE is thus a specialization of AIE with V1,k=V1,adapt,k{V}_{1,k}={V}_{{1,\rm adapt},k} in (49) and V2,k=V2,adapt,k{V}_{2,k}={V}_{{2,\rm adapt},k} in (47). In particular, V1,adapt,k=ηIn{V}_{{1,\rm adapt},k}=\eta I_{n} and V2,adapt,k0{V}_{{2,\rm adapt},k}\geq 0 such that

(V1,adapt,k,V2,adapt,k)\displaystyle({V}_{{1,\rm adapt},k},{V}_{{2,\rm adapt},k}) =argminηIn,V2,kJk(ηIn,V2,k),\displaystyle=\underset{\eta I_{n},{V}_{2,k}}{\arg\min}\ J_{k}(\eta I_{n},V_{2,k}), (56)

where η[ηL,ηU]\eta\in[\eta_{{\rm L}},\eta_{{\rm U}}] and 0ηL<ηηU.0\leq\eta_{{\rm L}}<\eta\leq\eta_{{\rm U}}. Defining

Jf,k(V1,k)=S^kCPf,k(V1,k)CT\displaystyle{J}_{{\rm f},k}(V_{1,k})\stackrel{{\scriptstyle\triangle}}{{=}}\widehat{S}_{k}-CP_{{\rm f},k}(V_{1,k})C^{\rm T} (57)

and using (54), (51) can be rewritten as

Jk(V1,k,V2,k)=|Jf,k(V1,k)V2,k|.\displaystyle{J}_{k}({V}_{1,k},{V}_{2,k})=|{J}_{{\rm f},k}(V_{1,k})-V_{2,k}|. (58)

We construct a set of positive values of Jf,k{J}_{{\rm f},k} by enumerating V1,k=ηIn{V}_{1,k}=\eta I_{n} as

𝒥f,k={Jf,k:Jf,k(ηIn)>0,ηLηηU}.\displaystyle{\mathcal{J}}_{{\rm f},k}\stackrel{{\scriptstyle\triangle}}{{=}}\{J_{{\rm f},k}\colon J_{{\rm f},k}(\eta I_{n})>0,\eta_{{\rm L}}\leq\eta\leq\eta_{{\rm U}}\}. (59)

V1,adapt,k{V}_{{1,\rm adapt},k} and V2,adapt,k{V}_{{2,\rm adapt},k} are then chosen based on following two cases.

Case 1. If 𝒥f,k{\mathcal{J}}_{{\rm f},k} is not empty, then

V1,adapt,k\displaystyle V_{1,{\rm adapt},k} =argminηIn|Jf,k(ηIn)J^f,k(α)|,\displaystyle=\underset{\eta I_{n}}{\arg\min}\ |J_{{\rm f},k}(\eta I_{n})-\widehat{J}_{{\rm f},k}(\alpha)|, (60)
V2,adapt,k\displaystyle{V}_{{2,\rm adapt},k} =Jf,k(V1,adapt,k),\displaystyle=J_{{\rm f},k}(V_{1,{\rm adapt},k}), (61)

where

J^f,k(α)=αmin𝒥f,k+(1α)max𝒥f,k,\displaystyle\widehat{J}_{{\rm f},k}(\alpha)\stackrel{{\scriptstyle\triangle}}{{=}}\alpha\min{\mathcal{J}}_{{\rm f},k}+(1-\alpha)\max{\mathcal{J}}_{{\rm f},k}, (62)

and 0α10\leq\alpha\leq 1. For all of the examples in this paper, we set α=1/2\alpha=1/2 and omit the argument of J^f,k.\widehat{J}_{{\rm f},k}.

Case 2. If 𝒥f,k{\mathcal{J}}_{{\rm f},k} is empty, then

V1,adapt,k\displaystyle V_{1,{\rm adapt},k} =argminηIn|Jf,k(ηIn)|,\displaystyle=\underset{\eta I_{n}}{\arg\min}\ |J_{{\rm f},k}(\eta I_{n})|, (63)
V2,adapt,k\displaystyle{V}_{{2,\rm adapt},k} =0.\displaystyle=0. (64)

A block diagram of AIE/ASE is shown in Figure 6. AIE/ASE is summarized by Algorithm 1.

Refer to caption
Figure 6: Block diagram of AIE/ASE. In this version of AIE, both V1V_{1} and V2V_{2} are adapted. The state estimator is thus adaptive.
Algorithm 1 Adaptive Input Estimation/Adaptive State Estimation (AIE/ASE)
1:Choose ne1,nf1,Rz,Rd,Rθ,n_{e}\geq 1,\,n_{\rm f}\geq 1,\,R_{z},\,R_{d},\,R_{\theta}, ηL,ηU\eta_{{\rm L}},\,\eta_{{\rm U}}.
2:Set xfc,0=0x_{{\rm fc},0}=0, Pf,0=0n×nP_{{\rm f},0}=0_{n\times n}, Kda,0=0n×1K_{{\rm da},0}=0_{n\times 1}, d^0=0\hat{d}_{0}=0, θkn1=0lθ×1\theta_{k_{n}{-}1}=0_{l_{\theta}\times 1}, Pkn1=Rθ1P_{k_{n}{-}1}=R_{\theta}^{-1}, V1,adapt,0=0n×nV_{1,{\rm adapt},0}=0_{n\times n}, V2,adapt,0=0V_{2,{\rm adapt},0}=0.
3:kn=max(ne,nf)k_{n}={\rm max}(n_{e},n_{\rm f}); R~=blockdiag(Rz,Rd)\widetilde{R}={\rm blockdiag}(R_{z},R_{d});
4:for k=0k=0 to N1N-1 do
5:
6:     yfc,k=Cxfc,ky_{{\rm fc},k}=Cx_{{\rm fc},k};
7:     zk=yfc,kykz_{k}=y_{{\rm fc},k}-y_{k};
8:
9:     if k<kn1k<k_{n}-1 do
10:          d^k=d^0\hat{d}_{k}=\hat{d}_{0};
11:     else do
12:          Φk=[d^k1d^knezkzkne]\Phi_{k}=\begin{bmatrix}\hat{d}_{k-1}&\cdots&\hat{d}_{k-n_{{\rm e}}}&z_{k}&\cdots&z_{k-n_{{\rm e}}}\end{bmatrix};
13:          d^k=Φkθk\hat{d}_{k}=\Phi_{k}\theta_{k};
14:          A¯k1=A(In+Kda,k1C)\overline{A}_{k{-}1}=A(I_{n}+K_{{\rm da},k{-}1}C);
15:          for i=2i=2 to nfn_{\rm f} do
16:               Hi,k=CA¯k1A¯k(i1)BH_{i,k}=\vspace{0.5mm}C\overline{A}_{k-1}\cdots\overline{A}_{k-(i-1)}B;
17:          end for
18:          H~k=[CBH2,kHnf,k]\widetilde{H}_{k}=\begin{bmatrix}CB&H_{2,k}&\cdots&H_{n_{\rm f},k}\end{bmatrix};
19:          Φf,k=H~k[Φk1TΦknfT]T\Phi_{{\rm f},k}=\widetilde{H}_{k}\begin{bmatrix}\Phi_{k{-}1}^{\rm T}&\cdots&\Phi_{k{-}n_{\rm f}}^{\rm T}\end{bmatrix}^{\rm T};
20:          d^f,k=H~k[d^k1Td^knfT]T\hat{d}_{{\rm f},k}=\widetilde{H}_{k}\begin{bmatrix}\hat{d}_{k{-}1}^{\rm T}&\cdots&\hat{d}_{k{-}n_{\rm f}}^{\rm T}\end{bmatrix}^{\rm T};
21:          Φ~k=[Φf,kTΦkT]T\widetilde{\Phi}_{k}=\begin{bmatrix}\Phi_{{{\rm f}},k}^{\rm T}&\Phi_{k}^{\rm T}\end{bmatrix}^{\rm T};
22:          z~k=[(zkd^f,k)T0]T\widetilde{z}_{k}=\begin{bmatrix}(z_{k}-\hat{d}_{{\rm f},k})^{\rm T}&0\\ \end{bmatrix}^{\rm T};
23:          Γk=(R~1+Φ~kPkΦ~k𝖳)1\Gamma_{k}=(\widetilde{R}^{-1}+\widetilde{\Phi}_{k}P_{k}\widetilde{\Phi}_{k}^{{\mathsf{T}}})^{-1};
24:          Pk+1=PkPkΦ~k𝖳ΓkΦ~kPkP_{k{+}1}=P_{k}-P_{k}\widetilde{\Phi}_{k}^{{\mathsf{T}}}\Gamma_{k}\widetilde{\Phi}_{k}P_{k};
25:          θk+1=θkPkΦ~k𝖳Γk(z~k+Φ~kθk)\theta_{k{+}1}=\theta_{k}-P_{k}\widetilde{\Phi}_{k}^{{\mathsf{T}}}\Gamma_{k}(\widetilde{z}_{k}+\widetilde{\Phi}_{k}\theta_{k});
26:     end if
27:
28:     if k1k\geq 1 do
29:          𝒥f,k=[]{{\mathcal{J}}}_{{\rm f},k}=[~{}]; ()emptyset\lx@algorithmicx@hfill\left(\triangleright\right)empty~{}set
30:          S^k=variance([z0zk]);()using(52)\widehat{S}_{k}=\texttt{variance}([z_{0}\cdots z_{k}]);\lx@algorithmicx@hfill\left(\triangleright\right)using~{}(\ref{var_comp})
31:          for i=0i=0 to ww do ()Choosew>0\lx@algorithmicx@hfill\left(\triangleright\right)Choose~{}w>0
32:               ηi=ηL+i(ηUηL)/w;\eta_{i}=\eta_{{\rm L}}+i(\eta_{{\rm U}}-\eta_{{\rm L}})/w;
33:               P~f,k,i=APda,k1AT+ηiIn\widetilde{P}_{{\rm{f}},k,i}=AP_{{\rm{da}},k-1}A^{\rm{T}}+\eta_{i}I_{n};
34:               J~f,k,i=S^kCP~f,k,iCT\widetilde{J}_{{\rm f},k,i}=\widehat{S}_{k}-C\widetilde{P}_{{\rm{f}},k,i}C^{\rm T};
35:               if J~f,k,i>0\widetilde{J}_{{\rm f},k,i}>0 do
36:                    𝒥f,k=append(𝒥f,k,J~f,k,i){{\mathcal{J}}}_{{\rm f},k}=\texttt{append}({{\mathcal{J}}}_{{\rm f},k},~{}\widetilde{J}_{{\rm f},k,i});
37:               end if
38:          end for
Algorithm 2 Adaptive Input Estimation/Adaptive State Estimation (AIE/ASE) (continued)
39:          if 𝒥f,k{{\mathcal{J}}}_{{\rm f},k} is non-empty do
40:               J^f,k=(min𝒥f,k+max𝒥f,k)/2\widehat{J}_{{\rm f},k}=(\min{\mathcal{J}}_{{\rm f},k}+\max{\mathcal{J}}_{{\rm f},k})/2;
41:               V1,adapt,k=argminηIn|Jf,k(ηIn)J^f,k|V_{1,{\rm adapt},k}=\underset{\eta I_{n}}{\arg\min}\ |J_{{\rm f},k}(\eta I_{n})-\widehat{J}_{{\rm f},k}|;
42:               V2,adapt,k=Jf,k(V1,adapt,k){V}_{{2,\rm adapt},k}=J_{{\rm f},k}(V_{1,{\rm adapt},k});
43:          else do
44:               V1,adapt,k=argminηIn|Jf,k(ηIn)|V_{1,{\rm adapt},k}=\underset{\eta I_{n}}{\arg\min}\ |J_{{\rm f},k}(\eta I_{n})|;
45:               V2,adapt,k=0{V}_{{2,\rm adapt},k}=0;
46:          end if
47:     end if
48:
49:     Kda,k=Pf,kCT(CPf,kCT+V2,adapt,k)1K_{\rm{da},k}=-P_{\rm{f},k}C^{\rm{T}}(CP_{{\rm{f}},k}C^{\rm{T}}+{V}_{{2,\rm adapt},k})^{-1};
50:     Pda,k=(In+Kda,kC)Pf,kP_{\rm{da},k}=(I_{n}+K_{{\rm{da}},k}C)P_{{\rm f},k};
51:     xda,k=xfc,k+Kda,kzkx_{{\rm da},k}=x_{{\rm fc},k}+K_{\rm{da},k}z_{k};
52:
53:     Pf,k+1=APda,kAT+V1,adapt,kP_{{\rm{f}},k+1}=AP_{{\rm{da}},k}A^{\rm{T}}+{V}_{{1,\rm adapt},k};
54:     xfc,k+1=Axda,k+Bd^kx_{{\rm fc},k+1}=Ax_{{\rm da},k}+B\hat{d}_{k}
55:end for

6 Numerical Differentiation of Two-Tone Harmonic Signal

In this section, a numerical example is given to compare the accuracy of the numerical differentiation algorithms discussed in the previous sections. We consider a two-tone harmonic signal, and we compare the accuracy (relative RMSE) of BD, HGO/1, SG, AIE/NSE, AIE/SSE, and AIE/ASE. For single and double differentiation, the parameters for HGO/1 and SG are given in Section 3.

Example 6.1.

Differentiation of a two-tone harmonic signal

Consider the continuous-time signal y(t)=sin(20t)+sin(30t)y(t)=\sin(20t)+\sin(30t), where tt is time in seconds. The signal y(t)y(t) is sampled with sample time Ts=0.01T_{\rm s}=0.01 sec. The measurements are assumed to be corrupted by noise, and thus the noisy sampled signal is given by yk=sin(0.2k)+sin(0.3k)+D2vky_{k}=\sin(0.2k)+\sin(0.3k)+D_{2}v_{k}, where vkv_{k} is standard white noise.

Single Differentiation. For AIE/NSE, let ne=12n_{\rm e}=12, nf=25,n_{\rm f}=25, Rz=1,Rd=105,Rθ=101I25,R_{z}=1,R_{d}=10^{-5},R_{\theta}=10^{-1}I_{25}, V1=106{V_{1}}=10^{-6}, and V2=0.01V_{2}=0.01 for SNR 2020 dB. For AIE/SSE, the parameters are the same as those of AIE/NSE, except that V1,k{V_{1,k}} is adapted, where ηL=106\eta_{{\rm L}}=10^{-6} and ηU=102\eta_{{\rm U}}=10^{2} in Section 5.2. Similarly, for AIE/ASE, the parameters are the same as those of AIE/SSE except that V2,k{V_{2,k}} is adapted as in Section 5.3.

Figure 7 compares the true first derivative with the estimates obtained from AIE/NSE, AIE/SSE, and AIE/ASE. Figure 8 shows that AIE/ASE has the best accuracy over the range of SNR. Figure 9 shows that the accuracy of AIE/ASE is close to the best accuracy of AIE/NSE.

Refer to caption
Figure 7: Example 6.1: Single differentiation of a sampled two-tone harmonic signal. (a) The numerical derivatives estimated by AIE/NSE, AIE/SSE with V2=V2,trueV_{2}=V_{2,{\rm true}}, and AIE/ASE follow the true first derivative y(1)y^{(1)} after an initial transient. (b) Zoom of (a). At steady state, AIE/ASE is more accurate than both AIE/NSE and AIE/SSE with V2=V2,trueV_{2}=V_{2,{\rm true}}. The SNR is 20 dB.
Refer to caption
Figure 8: Example 6.1: Relative RMSE ρkf(1)\rho_{k_{\rm f}}^{(1)} of the estimate of the first derivative of a two-tone harmonic signal versus SNR. AIE/ASE has the best accuracy over the range of SNR. Here kf=2000k_{{\rm f}}=2000 steps.
Refer to caption
Figure 9: Example 6.1: Relative RMSE ρkf(1)\rho_{k_{\rm f}}^{(1)} of the estimate of the first derivative of a two-tone harmonic signal versus η\eta, such that V1=η.V_{1}=\eta. AIE/SSE with V2=V2,trueV_{2}=V_{2,{\rm true}} is more accurate than AIE/SSE with V2=2V2,trueV_{2}=2V_{2,{\rm true}}, which shows the effect of V2V_{2} on accuracy. The accuracy of AIE/ASE is close to the best accuracy of AIE/NSE. The SNR is 20 dB, and kf=2000k_{{\rm f}}=2000 steps.

Double Differentiation. For AIE/NSE, let ne=12n_{\rm e}=12, nf=20,n_{\rm f}=20, Rz=1,Rd=105,Rθ=100.1I25,R_{z}=1,R_{d}=10^{-5},R_{\theta}=10^{-0.1}I_{25}, V1=101I2{V_{1}}=10^{-1}I_{2}, and V2=0.0001V_{2}=0.0001 for SNR 4040 dB. For AIE/SSE, the parameters are the same as those of AIE/NSE, except that V1,k{V_{1,k}} is adapted, where ηL=106\eta_{{\rm L}}=10^{-6} and ηU=1\eta_{{\rm U}}=1 in Section 5.2. Similarly, for AIE/ASE, the parameters are the same as those of AIE/SSE except that V2,k{V_{2,k}} is adapted as in Section 5.3.

Figure 10 compares the true second derivative with the estimates obtained from AIE/NSE, AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true}, and AIE/ASE. Figure 11 shows that AIE/ASE has the best accuracy over the range of SNR. Figure 12 shows that the accuracy of AIE/ASE is close to the best accuracy of AIE/NSE.

Refer to caption
Figure 10: Example 6.1: Double differentiation of a sampled two-tone harmonic signal. (a) The numerical derivatives estimated by AIE/NSE, AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true}, and AIE/ASE follow the true second derivative y(2)y^{(2)} after an initial transient. (b) Zoom of (a). At steady state, AIE/ASE is more accurate than AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true} and AIE/NSE. The SNR is 40 dB.
Refer to caption
Figure 11: Example 6.1: Relative RMSE ρkf(2)\rho_{k_{\rm f}}^{(2)} of the estimate of the second derivative of a two-tone harmonic signal versus SNR. AIE/ASE has the best accuracy over the range of SNR. Here kf=2000k_{{\rm f}}=2000 steps.
Refer to caption
Figure 12: Example 6.1: Relative RMSE ρkf(2)\rho_{k_{\rm f}}^{(2)} of the estimate of the second derivative of a two-tone harmonic signal versus η\eta, such that V1=ηI2.V_{1}=\eta I_{2}. AIE/SSE with V2=V2,trueV_{2}=V_{2,{\rm true}} is more accurate than AIE/SSE with V2=2V2,trueV_{2}=2V_{2,{\rm true}}, which shows the effect of V2V_{2} on accuracy. The accuracy of AIE/ASE is close to the best accuracy of AIE/NSE. The SNR is 40 dB, and kf=2000k_{{\rm f}}=2000 steps.

7 Application to Ground-Vehicle Kinematics

In this section, CarSim is used to simulate a scenario in which an oncoming vehicle (the white van in Figure 13) slides over to the opposing lane. The host vehicle (the blue van) performs an evasive maneuver to avoid a collision. Relative position data along the global y-axis (shown in Figure 13) is differentiated to estimate the relative velocity and acceleration along the same axis. Figure 14 shows the relative position trajectory of the vehicles on the xx-yy plane

Refer to caption
Figure 13: Collision-avoidance scenario in CarSim. In this scenario, the oncoming vehicle (the white van) enters the opposite lane, and the host vehicle (the blue van) performs an evasive maneuver to avoid a collision.
Refer to caption
Figure 14: Collision-avoidance scenario in CarSim. Relative position trajectory of the host and the target vehicles on xx-yy plane.
Example 7.1.

Differentiation of CarSim position data.

Discrete-time position data generated by CarSim is corrupted with discrete-time, zero-mean, Gaussian white noise whose variance is chosen to vary the SNR.

Single Differentiation

For AIE/NSE, let ne=25n_{\rm e}=25, nf=50,n_{\rm f}=50, Rz=1,Rd=106,Rθ=100.1I51R_{z}=1,R_{d}=10^{-6},R_{\theta}=10^{-0.1}I_{51}, V1=105{V_{1}}=10^{-5}, and V2=0.0049V_{2}=0.0049 for SNR 4040 dB. For AIE/SSE, the parameters are the same as those of AIE/NSE, except that V1,k{V_{1,k}} is adapted, where ηL=106\eta_{{\rm L}}=10^{-6} and ηU=102\eta_{{\rm U}}=10^{-2} in Section 5.2. Similarly, for AIE/ASE, the parameters are the same as those of AIE/SSE except that V2,k{V_{2,k}} is adapted as in Section 5.3.

Figure 15 compares the true first derivative with the estimates obtained from AIE/NSE, AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true}, and AIE/ASE. Figure 16 shows that the accuracy of AIE/ASE is close to the best accuracy of AIE/NSE.

Refer to caption
Figure 15: Example 7.1: Single differentiation of CarSim data. (a) The numerical derivatives estimated by AIE/NSE, AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true}, and AIE/ASE follow the true first derivative y(1)y^{(1)} after an initial transient of 200 steps. (b) Zoom of (a). At steady state, AIE/ASE is more accurate than both AIE/NSE and AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true}. The SNR is 40 dB.
Refer to caption
Figure 16: Example 7.1: Relative RMSE ρkf(1)\rho_{k_{\rm f}}^{(1)} of the estimate of the first derivative of CarSim data versus η\eta, such that V1=η.V_{1}=\eta. AIE/SSE with V2=V2,trueV_{2}=V_{2,{\rm true}} is more accurate than AIE/SSE with V2=2V2,trueV_{2}=2V_{2,{\rm true}}, which shows the effect of V2V_{2} on accuracy. The accuracy of AIE/ASE is close to the best accuracy of AIE/NSE. The SNR is 40 dB, and kf=1500k_{{\rm f}}=1500 steps.

Double Differentiation

For AIE/NSE, Let ne=25n_{\rm e}=25, nf=21,n_{\rm f}=21, Rz=1,Rd=105,Rθ=108I51,R_{z}=1,R_{d}=10^{-5},R_{\theta}=10^{-8}I_{51}, V1=103I2{V_{1}}=10^{-3}I_{2}, and V2=0.0049V_{2}=0.0049 for SNR 4040 dB. For AIE/SSE, the parameters are the same as those of AIE/NSE, except that V1,k{V_{1,k}} is adapted, where ηL=103\eta_{{\rm L}}=10^{-3} and ηU=1\eta_{{\rm U}}=1 in Section 5.2. Similarly, for AIE/ASE, the parameters are the same as those of AIE/SSE except that V2,k{V_{2,k}} is adapted as in Section 5.3.

Figure 17 compares the true second derivative with the estimates obtained from AIE/NSE, AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true}, and AIE/ASE. Figure 18 shows that the accuracy of AIE/ASE is close to the best accuracy of AIE/NSE.

Refer to caption
Figure 17: Example 7.1: Double differentiation of CarSim data. (a) The numerical derivatives estimated by AIE/NSE, AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true}, and AIE/ASE follow the true first derivative y(2)y^{(2)} after an initial transient. (b) Zoom of (a). At steady state, AIE/ASE is more accurate than both AIE/NSE and AIE/SSE with V2=V2,trueV_{2}=V_{2,\rm true}. The SNR is 40 dB.
Refer to caption
Figure 18: Example 7.1: Relative RMSE ρkf(2)\rho_{k_{\rm f}}^{(2)} of the estimate of the second derivative of CarSim data versus η\eta, such that V1=ηI2.V_{1}=\eta I_{2}. AIE/SSE with V2=V2,trueV_{2}=V_{2,{\rm true}} is more accurate than AIE/SSE with V2=2V2,trueV_{2}=2V_{2,{\rm true}}, which shows the effect of V2V_{2} on accuracy. The accuracy of AIE/ASE is close to the best accuracy of AIE/NSE. The SNR is 40 dB, and kf=1500k_{{\rm f}}=1500 steps.

8 Conclusions

This paper presented the adaptive input and state estimation algorithm AIE/ASE for causal numerical differentiation. AIE/ASE uses the Kalman-filter residual to adapt the input-estimation subsystem and an empirical estimate of the estimation error to adapt the input-estimation and sensor-noise covariances. For dual-tone harmonic signals with various levels of sensor noise, the accuracy of AIE/ASE was compared to several conventional numerical differentiation methods. Finally, AIE/ASE was applied to simulated vehicle position data generated by CarSim.

Future work will focus on the following extensions. The minimization of (56) was performed by using a gridding procedure; more efficient optimization is possible. Next, the choice of α=1/2\alpha=1/2 in (62) was found to provide good accuracy in all examples considered; however, further investigation is needed to refine this choice. Furthermore, it is of interest to compare the accuracy of AIE/ASE to the adaptive sliding mode differentiator in Alwi \BBA Edwards (\APACyear2013). Finally, in practice, the spectrum of the measured signal and sensor noise may change abruptly. In these cases, it may be advantageous to replace the RLS update (44), (45) with RLS that uses variable-rate forgetting in Bruce \BOthers. (\APACyear2020); Mohseni \BBA Bernstein (\APACyear2022).

Acknowledgments

This research was supported by Ford and NSF grant CMMI 2031333.

Disclosure statement

No potential conflict of interest was reported by the author(s).

References

  • Ahn \BOthers. (\APACyear2006) \APACinsertmetastarramm2{APACrefauthors}Ahn, S., Choi, U\BPBIJ.\BCBL \BBA Ramm, A\BPBIG.  \APACrefYearMonthDay2006. \BBOQ\APACrefatitleA Scheme for Stable Numerical Differentiation A Scheme for Stable Numerical Differentiation.\BBCQ \APACjournalVolNumPagesJ. Comp. Appl. Math.1862325–334. \PrintBackRefs\CurrentBib
  • Alenezi \BOthers. (\APACyear2021) \APACinsertmetastarZakTAC2021{APACrefauthors}Alenezi, B., Zhang, M., Hui, S.\BCBL \BBA Zak, S\BPBIH.  \APACrefYearMonthDay2021. \BBOQ\APACrefatitleSimultaneous Estimation of the State, Unknown Input, and Output Disturbance in Discrete-Time Linear Systems Simultaneous Estimation of the State, Unknown Input, and Output Disturbance in Discrete-Time Linear Systems.\BBCQ \APACjournalVolNumPagesIEEE Trans. Autom. Contr.66126115–6122. \PrintBackRefs\CurrentBib
  • Almagbile \BOthers. (\APACyear2010) \APACinsertmetastarAlmagbile2010{APACrefauthors}Almagbile, A., Wang, J.\BCBL \BBA Ding, W.  \APACrefYearMonthDay20106. \BBOQ\APACrefatitleEvaluating the Performances of Adaptive Kalman Filter Methods in GPS/INS Integration Evaluating the Performances of Adaptive Kalman Filter Methods in GPS/INS Integration.\BBCQ \APACjournalVolNumPagesJ. Global Pos. Sys.933-40. \PrintBackRefs\CurrentBib
  • Alwi \BBA Edwards (\APACyear2013) \APACinsertmetastaralwi_adap_sliding_mode_2012{APACrefauthors}Alwi, H.\BCBT \BBA Edwards, C.  \APACrefYearMonthDay2013. \BBOQ\APACrefatitleAn Adaptive Sliding Mode Differentiator for Actuator Oscillatory Failure Case Reconstruction An Adaptive Sliding Mode Differentiator for Actuator Oscillatory Failure Case Reconstruction.\BBCQ \APACjournalVolNumPagesAutomatica492642-651. \PrintBackRefs\CurrentBib
  • Ansari \BBA Bernstein (\APACyear2019) \APACinsertmetastaransari_input_2019{APACrefauthors}Ansari, A.\BCBT \BBA Bernstein, D\BPBIS.  \APACrefYearMonthDay2019. \BBOQ\APACrefatitleInput Estimation for Nonminimum-Phase Systems With Application to Acceleration Estimation for a Maneuvering Vehicle Input Estimation for Nonminimum-Phase Systems With Application to Acceleration Estimation for a Maneuvering Vehicle.\BBCQ \APACjournalVolNumPagesIEEE Trans. Contr. Sys. Tech.2741596–1607. \PrintBackRefs\CurrentBib
  • Astrom \BBA Hagglund (\APACyear2006) \APACinsertmetastarPIDastrom{APACrefauthors}Astrom, K.\BCBT \BBA Hagglund, T.  \APACrefYear2006. \APACrefbtitleAdvanced PID Control Advanced PID Control. \APACaddressPublisherISA. \PrintBackRefs\CurrentBib
  • Bogler (\APACyear1987) \APACinsertmetastarbogler_1987{APACrefauthors}Bogler, P.  \APACrefYearMonthDay1987. \BBOQ\APACrefatitleTracking a Maneuvering Target Using Input Estimation Tracking a Maneuvering Target Using Input Estimation.\BBCQ \APACjournalVolNumPagesIEEE Trans. Aero. Elec. Sys.AES-233298-310. \PrintBackRefs\CurrentBib
  • Bruce \BOthers. (\APACyear2020) \APACinsertmetastaradamVRF{APACrefauthors}Bruce, A., Goel, A.\BCBL \BBA Bernstein, D\BPBIS.  \APACrefYearMonthDay2020. \BBOQ\APACrefatitleConvergence and Consistency of Recursive Least Squares with Variable-Rate Forgetting Convergence and Consistency of Recursive Least Squares with Variable-Rate Forgetting.\BBCQ \APACjournalVolNumPagesAutomatica119109052. \PrintBackRefs\CurrentBib
  • Cullum (\APACyear1971) \APACinsertmetastarcullum{APACrefauthors}Cullum, J.  \APACrefYearMonthDay1971. \BBOQ\APACrefatitleNumerical Differentiation and Regularization Numerical Differentiation and Regularization.\BBCQ \APACjournalVolNumPagesSIAM J. Num. Anal.8254–265. \PrintBackRefs\CurrentBib
  • Dabroom \BBA Khalil (\APACyear1999) \APACinsertmetastardabroom_discrete-time_1999{APACrefauthors}Dabroom, A\BPBIM.\BCBT \BBA Khalil, H\BPBIK.  \APACrefYearMonthDay1999. \BBOQ\APACrefatitleDiscrete-time Implementation of High-Gain Observers for Numerical Differentiation Discrete-time Implementation of High-Gain Observers for Numerical Differentiation.\BBCQ \APACjournalVolNumPagesInt. J. Contr.72171523–1537. \PrintBackRefs\CurrentBib
  • Davis \BBA Rabinowitz (\APACyear1984) \APACinsertmetastardavis{APACrefauthors}Davis, P\BPBIJ.\BCBT \BBA Rabinowitz, P.  \APACrefYear1984. \APACrefbtitleMethods of Numerical Integration Methods of Numerical Integration (\PrintOrdinalsecond \BEd). \APACaddressPublisherDover. \PrintBackRefs\CurrentBib
  • Fang \BOthers. (\APACyear2011) \APACinsertmetastarfang2011stable{APACrefauthors}Fang, H., Shi, Y.\BCBL \BBA Yi, J.  \APACrefYearMonthDay2011. \BBOQ\APACrefatitleOn Stable Simultaneous Input and State Estimation for Discrete-Time Linear Systems On Stable Simultaneous Input and State Estimation for Discrete-Time Linear Systems.\BBCQ \APACjournalVolNumPagesInt. J. Adapt. Contr. Sig. Proc.258671–686. \PrintBackRefs\CurrentBib
  • Farrell (\APACyear2008) \APACinsertmetastarfarrellAN{APACrefauthors}Farrell, J\BPBIA.  \APACrefYear2008. \APACrefbtitleAided Navigation: GPS with High Rate Sensors Aided navigation: Gps with high rate sensors. \APACaddressPublisherMcGraw-Hill. \PrintBackRefs\CurrentBib
  • Gillijns \BBA De Moor (\APACyear2007) \APACinsertmetastargillijns2007unbiased{APACrefauthors}Gillijns, S.\BCBT \BBA De Moor, B.  \APACrefYearMonthDay2007. \BBOQ\APACrefatitleUnbiased Minimum-Variance Input and State Estimation for Linear Discrete-Time Systems Unbiased Minimum-Variance Input and State Estimation for Linear Discrete-Time Systems.\BBCQ \APACjournalVolNumPagesAutomatica431111–116. \PrintBackRefs\CurrentBib
  • Grewel \BOthers. (\APACyear2020) \APACinsertmetastargrewal{APACrefauthors}Grewel, M\BPBIS., Andrews, A\BPBIP.\BCBL \BBA Bartone, C\BPBIG.  \APACrefYear2020. \APACrefbtitleGlobal Navigation Satellite Systems, Inertial Navigation, and Integration Global navigation satellite systems, inertial navigation, and integration (\PrintOrdinalfourth \BEd). \APACaddressPublisherWiley. \PrintBackRefs\CurrentBib
  • Haimovich \BOthers. (\APACyear2022) \APACinsertmetastarhaimovich2022{APACrefauthors}Haimovich, H., Seeber, R., Aldana-López, R.\BCBL \BBA Gómez-Gutiérrez, D.  \APACrefYearMonthDay2022. \BBOQ\APACrefatitleDifferentiator for Noisy Sampled Signals With Best Worst-Case Accuracy Differentiator for Noisy Sampled Signals With Best Worst-Case Accuracy.\BBCQ \APACjournalVolNumPagesIEEE Contr. Sys. Lett.6938-943. \PrintBackRefs\CurrentBib
  • Hamming (\APACyear1973) \APACinsertmetastarhamming{APACrefauthors}Hamming, R\BPBIW.  \APACrefYear1973. \APACrefbtitleNumerical Methods of Scientists and Engineers Numerical Methods of Scientists and Engineers (\PrintOrdinalsecond \BEd). \APACaddressPublisherDover. \PrintBackRefs\CurrentBib
  • Hide \BOthers. (\APACyear2003) \APACinsertmetastarHide2003{APACrefauthors}Hide, C., Moore, T.\BCBL \BBA Smith, M.  \APACrefYearMonthDay20031. \BBOQ\APACrefatitleAdaptive Kalman Filtering for Low-Cost INS/GPS Adaptive Kalman Filtering for Low-Cost INS/GPS.\BBCQ \APACjournalVolNumPagesJ. Nav.56143-152. \PrintBackRefs\CurrentBib
  • H. Khaloozadeh (\APACyear2009) \APACinsertmetastarkarsaz_2009{APACrefauthors}H. Khaloozadeh, A\BPBIK.  \APACrefYearMonthDay2009. \BBOQ\APACrefatitleModified Input Estimation Technique for Tracking Manoeuvring Targets Modified Input Estimation Technique for Tracking Manoeuvring Targets.\BBCQ \APACjournalVolNumPagesIET Radar Sonar Nav.330-41. \PrintBackRefs\CurrentBib
  • Hsieh (\APACyear2017) \APACinsertmetastarhsieh2017unbiased{APACrefauthors}Hsieh, C\BHBIS.  \APACrefYearMonthDay2017. \BBOQ\APACrefatitleUnbiased Minimum-Variance Input and State Estimation for Systems with Unknown Inputs: A System Reformation Approach Unbiased Minimum-Variance Input and State Estimation for Systems with Unknown Inputs: A System Reformation Approach.\BBCQ \APACjournalVolNumPagesAutomatica84236–240. \PrintBackRefs\CurrentBib
  • Islam \BBA Bernstein (\APACyear2019) \APACinsertmetastarislam2019recursive{APACrefauthors}Islam, S\BPBIA\BPBIU.\BCBT \BBA Bernstein, D\BPBIS.  \APACrefYearMonthDay2019. \BBOQ\APACrefatitleRecursive Least Squares for Real-Time Implementation Recursive least squares for real-time implementation.\BBCQ \APACjournalVolNumPagesIEEE Contr. Sys. Mag.39382–85. \PrintBackRefs\CurrentBib
  • Jauberteau \BBA Jauberteau (\APACyear2009) \APACinsertmetastarJauberteau2009{APACrefauthors}Jauberteau, F.\BCBT \BBA Jauberteau, J.  \APACrefYearMonthDay2009. \BBOQ\APACrefatitleNumerical Differentiation with Noisy Signal Numerical Differentiation with Noisy Signal.\BBCQ \APACjournalVolNumPagesAppl. Math. Comp.2152283–2297. \PrintBackRefs\CurrentBib
  • Jia \BOthers. (\APACyear2008) \APACinsertmetastarjia_2008{APACrefauthors}Jia, Z., Balasuriya, A.\BCBL \BBA Challa, S.  \APACrefYearMonthDay2008. \BBOQ\APACrefatitleAutonomous Vehicles Navigation with Visual Target Tracking: Technical Approaches Autonomous Vehicles Navigation with Visual Target Tracking: Technical Approaches.\BBCQ \APACjournalVolNumPagesAlgorithms12153–182. \PrintBackRefs\CurrentBib
  • Kalata (\APACyear1984) \APACinsertmetastarkalata_1984{APACrefauthors}Kalata, P\BPBIR.  \APACrefYearMonthDay1984. \BBOQ\APACrefatitleThe Tracking Index: A Generalized Parameter for α\alpha-β\beta and α\alpha-β\beta-γ\gamma Target Trackers The Tracking Index: A Generalized Parameter for α\alpha-β\beta and α\alpha-β\beta-γ\gamma Target Trackers.\BBCQ \APACjournalVolNumPagesIEEE Trans. Aero. Elec. Sys.AES-202174-182. \PrintBackRefs\CurrentBib
  • Knowles \BBA Renka (\APACyear2014) \APACinsertmetastarknowles_methods{APACrefauthors}Knowles, I.\BCBT \BBA Renka, R\BPBIJ.  \APACrefYearMonthDay2014. \BBOQ\APACrefatitleMethods for Numerical Differentiation of Noisy Data Methods for Numerical Differentiation of Noisy Data.\BBCQ \APACjournalVolNumPagesElectron. J. Diff. Eqn.21235–246. \PrintBackRefs\CurrentBib
  • Lee \BBA Tahk (\APACyear1999) \APACinsertmetastarlee_1999{APACrefauthors}Lee, H.\BCBT \BBA Tahk, M\BHBIJ.  \APACrefYearMonthDay1999. \BBOQ\APACrefatitleGeneralized Input-Estimation Technique for Tracking Maneuvering Targets Generalized Input-Estimation Technique for Tracking Maneuvering Targets.\BBCQ \APACjournalVolNumPagesIEEE Trans. Aero. Elec. Sys.3541388-1402. \PrintBackRefs\CurrentBib
  • Levant (\APACyear2003) \APACinsertmetastararie2003slidemode{APACrefauthors}Levant, A.  \APACrefYearMonthDay2003. \BBOQ\APACrefatitleHigher-Order Sliding Modes, Differentiation and Output-Feedback Control Higher-Order Sliding Modes, Differentiation and Output-Feedback Control.\BBCQ \APACjournalVolNumPagesInt. J. Contr.769-10924–941. \PrintBackRefs\CurrentBib
  • Listmann \BBA Zhao (\APACyear2013) \APACinsertmetastarzhao2013{APACrefauthors}Listmann, K\BPBID.\BCBT \BBA Zhao, Z.  \APACrefYearMonthDay2013. \BBOQ\APACrefatitleA Comparison of Methods for Higher-Order Numerical Differentiation A Comparison of Methods for Higher-Order Numerical Differentiation.\BBCQ \BIn \APACrefbtitleProc. Eur. Contr. Conf. Proc. eur. contr. conf. (\BPGS 3676–3681). \PrintBackRefs\CurrentBib
  • López-Caamal \BBA Moreno (\APACyear2019) \APACinsertmetastarlopez-caamal_generalised_2019{APACrefauthors}López-Caamal, F.\BCBT \BBA Moreno, J\BPBIA.  \APACrefYearMonthDay2019. \BBOQ\APACrefatitleGeneralised Multivariable Supertwisting Algorithm Generalised Multivariable Supertwisting Algorithm.\BBCQ \APACjournalVolNumPagesInt. J. Robust Nonlinear Contr.293634–660. \PrintBackRefs\CurrentBib
  • Mboup \BOthers. (\APACyear2009) \APACinsertmetastarmboupnumeralg{APACrefauthors}Mboup, M., Join, C.\BCBL \BBA Fliess, M.  \APACrefYearMonthDay2009. \BBOQ\APACrefatitleNumerical Differentiation with Annihilators in Noisy Environment Numerical Differentiation with Annihilators in Noisy Environment.\BBCQ \APACjournalVolNumPagesNum. Algor.50439–467. \PrintBackRefs\CurrentBib
  • Mehra (\APACyear1972) \APACinsertmetastarMehra1972{APACrefauthors}Mehra, R\BPBIK.  \APACrefYearMonthDay1972. \BBOQ\APACrefatitleApproaches to Adaptive Filtering Approaches to Adaptive Filtering.\BBCQ \APACjournalVolNumPagesIEEE Trans. Autom. Contr.17693-698. \PrintBackRefs\CurrentBib
  • Moghe \BOthers. (\APACyear2019) \APACinsertmetastarmoghe2019adaptivekfLTI{APACrefauthors}Moghe, R., Zanetti, R.\BCBL \BBA Akella, M\BPBIR.  \APACrefYearMonthDay2019. \BBOQ\APACrefatitleAdaptive Kalman Filter for Detectable Linear Time-Invariant Systems Adaptive Kalman Filter for Detectable Linear Time-Invariant Systems.\BBCQ \APACjournalVolNumPagesJ. Guid. Contr. Dyn.42102197–2205. \PrintBackRefs\CurrentBib
  • Mohamed \BBA Schwarz (\APACyear1999) \APACinsertmetastarMohamed1999{APACrefauthors}Mohamed, A\BPBIH.\BCBT \BBA Schwarz, K\BPBIP.  \APACrefYearMonthDay1999. \BBOQ\APACrefatitleAdaptive Kalman Filtering for INS/GPS Adaptive Kalman Filtering for INS/GPS.\BBCQ \APACjournalVolNumPagesJ. Geodesy193-203. \PrintBackRefs\CurrentBib
  • Mohseni \BBA Bernstein (\APACyear2022) \APACinsertmetastarnimaFtest{APACrefauthors}Mohseni, N.\BCBT \BBA Bernstein, D\BPBIS.  \APACrefYearMonthDay2022. \BBOQ\APACrefatitleRecursive Least Squares with Variable-Rate Forgetting Based on the F-Test Recursive Least Squares with Variable-Rate Forgetting Based on the F-Test.\BBCQ \BIn \APACrefbtitleProc. Amer. Contr. Conf. Proc. amer. contr. conf. (\BPGS 3937–3942). \PrintBackRefs\CurrentBib
  • Mojallizadeh \BOthers. (\APACyear2021) \APACinsertmetastarmojallizadeh2021{APACrefauthors}Mojallizadeh, M\BPBIR., Brogliato, B.\BCBL \BBA Acary, V.  \APACrefYearMonthDay2021. \BBOQ\APACrefatitleDiscrete-Time Differentiators: Design and Comparative Analysis Discrete-Time Differentiators: Design and Comparative Analysis.\BBCQ \APACjournalVolNumPagesInt. J. Robust Nonlinear Contr.31167679–7723. \PrintBackRefs\CurrentBib
  • Mook \BBA Junkins (\APACyear1988) \APACinsertmetastarjunkins1988minimum{APACrefauthors}Mook, D\BPBIJ.\BCBT \BBA Junkins, J\BPBIL.  \APACrefYearMonthDay1988. \BBOQ\APACrefatitleMinimum Model Error Estimation for Poorly Modeled Dynamic Systems Minimum Model Error Estimation for Poorly Modeled Dynamic Systems.\BBCQ \APACjournalVolNumPagesJ. Guid. Contr. Dyn.113256–261. \PrintBackRefs\CurrentBib
  • Naderi \BBA Khorasani (\APACyear2019) \APACinsertmetastarnaderi2019unbiased{APACrefauthors}Naderi, E.\BCBT \BBA Khorasani, K.  \APACrefYearMonthDay2019. \BBOQ\APACrefatitleUnbiased Inversion-Based Fault Estimation of Systems with Non-Minimum Phase Fault-to-Output Dynamics Unbiased Inversion-Based Fault Estimation of Systems with Non-Minimum Phase Fault-to-Output Dynamics.\BBCQ \APACjournalVolNumPagesIET Contr. Theory Appl.13111629–1638. \PrintBackRefs\CurrentBib
  • Nieuwstadt \BOthers. (\APACyear1998) \APACinsertmetastarNieuwstadt1998{APACrefauthors}Nieuwstadt, M\BPBIV., Rathinam, M.\BCBL \BBA Murray, R\BPBIM.  \APACrefYearMonthDay1998. \BBOQ\APACrefatitleDifferential Flatness and Absolute Equivalence of Nonlinear Control Systems Differential flatness and absolute equivalence of nonlinear control systems.\BBCQ \APACjournalVolNumPagesSIAM J. Contr. Optim.3641225–1239. \PrintBackRefs\CurrentBib
  • Orjuela \BOthers. (\APACyear2009) \APACinsertmetastarorjuela2009simultaneous{APACrefauthors}Orjuela, R., Marx, B., Ragot, J.\BCBL \BBA Maquin, D.  \APACrefYearMonthDay2009. \BBOQ\APACrefatitleOn the Simultaneous State and Unknown Input Estimation of Complex Systems via a Multiple Model Strategy On the Simultaneous State and Unknown Input Estimation of Complex Systems via a Multiple Model Strategy.\BBCQ \APACjournalVolNumPagesIET Contr. Theory Appl.37877–890. \PrintBackRefs\CurrentBib
  • Rana \BOthers. (\APACyear2020) \APACinsertmetastarrana_2020{APACrefauthors}Rana, M\BPBIM., Halim, N., Rahamna, M\BPBIM.\BCBL \BBA Abdelhadi, A.  \APACrefYearMonthDay2020. \BBOQ\APACrefatitlePosition and Velocity Estimations of 2D-Moving Object Using Kalman Filter: Literature Review Position and Velocity Estimations of 2D-Moving Object Using Kalman Filter: Literature Review.\BBCQ \BIn \APACrefbtitleProc. Int. Conf. Adv. Comm. Tech. Proc. int. conf. adv. comm. tech. (\BPG 541-544). \PrintBackRefs\CurrentBib
  • Reichhartinger \BBA Spurgeon (\APACyear2018) \APACinsertmetastarreichhartinger_arbitrary-order_2018{APACrefauthors}Reichhartinger, M.\BCBT \BBA Spurgeon, S.  \APACrefYearMonthDay2018. \BBOQ\APACrefatitleAn Arbitrary-Order Differentiator Design Paradigm with Adaptive Gains An Arbitrary-Order Differentiator Design Paradigm with Adaptive Gains.\BBCQ \APACjournalVolNumPagesInt. J. Contr.9192028–2042. \PrintBackRefs\CurrentBib
  • Savitzky \BBA Golay (\APACyear1964) \APACinsertmetastarsavitzky1964smoothing{APACrefauthors}Savitzky, A.\BCBT \BBA Golay, M\BPBIJ.  \APACrefYearMonthDay1964. \BBOQ\APACrefatitleSmoothing and Differentiation of Data by Simplified Least Squares Procedures Smoothing and Differentiation of Data by Simplified Least Squares Procedures.\BBCQ \APACjournalVolNumPagesAnal. Chemistry3681627–1639. \PrintBackRefs\CurrentBib
  • Schafer (\APACyear2011) \APACinsertmetastarSG_lecture_notes_Schafer{APACrefauthors}Schafer, R\BPBIW.  \APACrefYearMonthDay2011. \BBOQ\APACrefatitleWhat is a Savitzky-Golay Filter? What is a Savitzky-Golay Filter?\BBCQ \APACjournalVolNumPagesIEEE Sig. Proc. Mag.284111-117. \PrintBackRefs\CurrentBib
  • Shi \BOthers. (\APACyear2009) \APACinsertmetastarshiadapukf2009{APACrefauthors}Shi, Y., Han, C.\BCBL \BBA Liang, Y.  \APACrefYearMonthDay2009. \BBOQ\APACrefatitleAdaptive UKF for Target Tracking with Unknown Process Noise Statistics Adaptive UKF for Target Tracking with Unknown Process Noise Statistics.\BBCQ \BIn \APACrefbtitleProc. Int. Conf. Inf. Fusion Proc. int. conf. inf. fusion (\BPGS 1815–1820). \PrintBackRefs\CurrentBib
  • Staggs (\APACyear2005) \APACinsertmetastarSG_staggs{APACrefauthors}Staggs, J\BPBIE\BPBIJ.  \APACrefYearMonthDay2005. \BBOQ\APACrefatitleSavitzky–Golay Smoothing and Numerical Differentiation of Cone Calorimeter Mass Data Savitzky–Golay Smoothing and Numerical Differentiation of Cone Calorimeter Mass Data.\BBCQ \APACjournalVolNumPagesFire Safety J.406493-505. \PrintBackRefs\CurrentBib
  • Stickel (\APACyear2010) \APACinsertmetastarStickel2010{APACrefauthors}Stickel, J.  \APACrefYearMonthDay2010. \BBOQ\APACrefatitleData Smoothing and Numerical Differentiation by a Regularization Method Data Smoothing and Numerical Differentiation by a Regularization Method.\BBCQ \APACjournalVolNumPagesComp. Chem. Eng.34467–475. \PrintBackRefs\CurrentBib
  • Van Breugel \BOthers. (\APACyear2020) \APACinsertmetastarKutz2020{APACrefauthors}Van Breugel, F., Kutz, J\BPBIN.\BCBL \BBA Brunton, B\BPBIW.  \APACrefYearMonthDay2020. \BBOQ\APACrefatitleNumerical Differentiation of Noisy Data: A Unifying Multi-Objective Optimization Framework Numerical Differentiation of Noisy Data: A Unifying Multi-Objective Optimization Framework.\BBCQ \APACjournalVolNumPagesIEEE Access8196865–196877. \PrintBackRefs\CurrentBib
  • Verma \BOthers. (\APACyear2022) \APACinsertmetastarshashankACC2022{APACrefauthors}Verma, S., Sanjeevini, S., Sumer, E\BPBID., Girard, A.\BCBL \BBA Bernstein, D\BPBIS.  \APACrefYearMonthDay2022. \BBOQ\APACrefatitleOn the Accuracy of Numerical Differentiation Using High-Gain Observers and Adaptive Input Estimation On the Accuracy of Numerical Differentiation Using High-Gain Observers and Adaptive Input Estimation.\BBCQ \BIn \APACrefbtitleProc. Amer. Contr. Conf. Proc. amer. contr. conf. (\BPG 4068-4073). \PrintBackRefs\CurrentBib
  • Vilanova \BBA Visioli (\APACyear2012) \APACinsertmetastarPID2012{APACrefauthors}Vilanova, R.\BCBT \BBA Visioli, A.  \APACrefYear2012. \APACrefbtitlePID Control in the Third Millennium: Lessons Learned and New Approaches PID Control in the Third Millennium: Lessons Learned and New Approaches. \APACaddressPublisherSpringer. \PrintBackRefs\CurrentBib
  • Yaesh \BBA Shaked (\APACyear2008) \APACinsertmetastarYaesh2008SimplifiedAE{APACrefauthors}Yaesh, I.\BCBT \BBA Shaked, U.  \APACrefYearMonthDay2008. \BBOQ\APACrefatitleSimplified Adaptive Estimation Simplified Adaptive Estimation.\BBCQ \APACjournalVolNumPagesSys. Contr. Lett.5749–55. \PrintBackRefs\CurrentBib
  • Yong \BOthers. (\APACyear2016) \APACinsertmetastaryong2016unified{APACrefauthors}Yong, S\BPBIZ., Zhu, M.\BCBL \BBA Frazzoli, E.  \APACrefYearMonthDay2016. \BBOQ\APACrefatitleA Unified Filter for Simultaneous Input and State Estimation of Linear Discrete-Time Stochastic Systems A Unified Filter for Simultaneous Input and State Estimation of Linear Discrete-Time Stochastic Systems.\BBCQ \APACjournalVolNumPagesAutomatica63321–329. \PrintBackRefs\CurrentBib
  • Zhang \BOthers. (\APACyear2020) \APACinsertmetastarzhangadapKF2020{APACrefauthors}Zhang, L., Sidoti, D., Bienkowski, A., Pattipati, K\BPBIR., Bar-Shalom, Y.\BCBL \BBA Kleinman, D\BPBIL.  \APACrefYearMonthDay2020. \BBOQ\APACrefatitleOn the Identification of Noise Covariances and Adaptive Kalman Filtering: A New Look at a 50 Year-Old Problem On the Identification of Noise Covariances and Adaptive Kalman Filtering: A New Look at a 50 Year-Old Problem.\BBCQ \APACjournalVolNumPagesIEEE Access859362–59388. \PrintBackRefs\CurrentBib