# Sensor Fusion Architecture for Fault Diagnosis with a Predefined-Time Observer
## 3 Case Study
### Diagnoser  
Here, the predefined-time observer described in Section 2.2 is designed. First, the states of the system in Equation (19) are separated as follows: \(\bar{x}_{m}=[\bar{x}_{7}\ \bar{x}_{8}\ \bar{x}_{9}]^{T}\) and \(\bar{x}_{m}=[\bar{x}_{1}\ \bar{x}_{2}\ \bar{x}_{3}\ \bar{x}_{4}\ \bar{x}_{5}\ \bar{x}_{6}]^{T}\). So, the dynamics of the states \(\bar{x}_{m}\) are  
\[\begin{split}\dot{\bar{x}}_{7}&=-\lambda_{1}(\bar{ x}_{7}-18000[u_{1}(t)+m_{1}(t)]-\text{Ysign}(\Omega_{1}))\\ \dot{\bar{x}}_{8}&=-\lambda_{2}(\bar{x}_{8}-18000[u_ {2}(t)+m_{2}(t)]-\text{Ysign}(\Omega_{2}))\\ \dot{\bar{x}}_{9}&=-\lambda_{3}(\bar{x}_{9}-18000[u_ {3}(t)+m_{3}(t)]-\text{Ysign}(\Omega_{3}))\end{split} \tag{28}\]  
where \(m(t)=[m_{1}\ m_{2}\ m_{3}]^{T}\) represents the actuator faults at the first, second, and third actuator, respectively, and \(u(t)=[u_{1}(t)\ u_{2}(t)\ u_{3}(t)]^{T}\) is the vector of the control inputs to the system. Then, the predefined-time observer is designed as in Equation (8):  
\[\begin{split}\dot{\bar{x}}_{7}&=-\lambda_{1}(\bar{ x}_{7}-18000u_{1}(t)-\text{Ysign}(\Omega_{1}))+\Theta_{1}\\ \dot{\bar{x}}_{8}&=-\lambda_{2}(\bar{x}_{8}-18000u_ {2}(t)-\text{Ysign}(\Omega_{2}))+\Theta_{2}\\ \dot{\bar{x}}_{9}&=-\lambda_{3}(\bar{x}_{9}-18000u_ {3}(t)-\text{Ysign}(\Omega_{3}))+\Theta_{3}\end{split} \tag{29}\]  
The observer estimation errors are \(e_{1}=\bar{x}_{7}-\bar{x}_{7}\), \(e_{2}=\bar{x}_{8}-\bar{x}_{8}\), and \(e_{3}=\bar{x}_{9}-\bar{x}_{9}\). In order to drive the estimations errors to zero in a predefined-time \(T_{c}\), the feedbacks \(\Theta_{1}\), \(\Theta_{2}\), and \(\Theta_{3}\) are chosen, as in Proposition 1:  
\[\begin{split}\Theta_{1}&=[\frac{\gamma}{T_{c}}(\kappa |e_{1}|^{p}+\beta|e_{1}|^{q})^{k}+\xi_{1}]\text{sign}(e_{1})\\ \Theta_{2}&=[\frac{\gamma}{T_{c}}(\kappa|e_{2}|^{p} +\beta|e_{2}|^{q})^{k}+\xi_{2}]\text{sign}(e_{2})\\ \Theta_{3}&=[\frac{\gamma}{T_{c}}(\kappa|e_{3}|^{p} +\beta|e_{3}|^{q})^{k}+\xi_{3}]\text{sign}(e_{3})\end{split} \tag{30}\]  
The selected parameters are reported in Table 3. Now, the estimations of the fault magnitudes \(\hat{m}_{1}\), \(\hat{m}_{2}\), and \(\hat{m}_{3}\) are computed as in Equation (17):  
\[\begin{bmatrix}\hat{m}_{1}\\ \hat{m}_{2}\\ \hat{m}_{3}\end{bmatrix}=\begin{pmatrix}\frac{1}{\lambda_{1}18000}&0&0\\ 0&\frac{1}{\lambda_{2}18000}&0\\ 0&0&\frac{1}{\lambda_{3}18000}\end{pmatrix}\begin{bmatrix}\Theta_{1 eq}\\ \Theta_{2 eq}\\ \Theta_{3 eq}\end{bmatrix} \tag{31}\]  
The filters to extract the desired information from the high-frequency signals \(\hat{m}_{i}\), \(i=1,2,3\), are designed as in Equation (18), such that their settling time is \(t_{s}=0.125\) s:  
\[F_{m_{i}}(s)=\frac{1600}{s^{2}+64s+1600}\quad\forall i=1,2,3. \tag{32}\]  
\begin{table}
\begin{tabular}{c c c c} \hline \(\bar{\Sigma}^{f_{1}}\) (GPS) & **Variance** & \(\bar{\Sigma}^{f_{2}}\) **(Encoders)** & **Variance** \\ \hline \(\Sigma_{1}^{f_{1}}\) (x) & 0.0772 & \(\Sigma_{2}^{f_{2}}\) (x) & 0.0353 \\ \(\Sigma_{2}^{f_{3}}\) (y) & 0.0173 & \(\Sigma_{2}^{f_{3}}\) (y) & 0.0076 \\ \(\Sigma_{2}^{f_{3}}\) (\(\varphi\)) & 0.1245 & \(\Sigma_{2}^{f_{2}}\) (\(\varphi\)) & 0.0