# Sensor Fusion Architecture for Fault Diagnosis with a Predefined-Time Observer
## 2 Sensor Fusion Architecture
### Sensor Fusion Architecture
#### 2.1.1 Homogenizer  
Modern systems are endowed with several sensors grouped into different classes depending on the type of measured signals. The information provided by sensors, although different in nature, may be redundant. For example, autonomous vehicles include cameras, GPS, lidar, encoders, among other sensors, that register different types of information. For example, the GPS gives information related to the vehicle's position and orientation, whereas the encoders measure the motors' positions and velocities. Nevertheless, the information provided by encoders and GPS may be redundant when direct or inverse kinematics are used. Our approach leverages system characteristics to add redundancy to the system information. To formalize these concepts, the following sets and maps are defined. **Definition 1**: _Let \(\Sigma=\{y_{1},\ldots,y_{z}\}\) be the set of system outputs, and \(y=[y_{1}\ \ldots\ y_{z}]^{T}\) be the system output vector. Let \(\Sigma_{i},\Sigma_{j}\subset\Sigma\) be two arbitrary subsets of \(\Sigma\). If there exists a function \(P_{ij}:\Sigma_{i}\rightarrow\Sigma_{j}\) such that from the information provided by the signals in \(\Sigma_{i}\), the signals in \(\Sigma_{j}\) may be estimated, then \(P_{ij}\) is the \(i\)-th homogenizer for \(\Sigma_{j}\). The homogenizer value \(\Sigma_{j}^{i}=P_{ij}(\Sigma_{i})\) is named the \(i\)-th virtual sensor of \(\Sigma_{j}\). If \(\Sigma_{j}=\Sigma\), then \(\Sigma^{i}=P_{ij}(\Sigma_{i})\), i.e., the whole set of output sensors is reconstructed from \(\Sigma_{i}\)._  
For example, assuming that the motor speed and position are measured in the system outputs \(y_{i}\) and \(y_{j}\), respectively, then the homogenizer \(P_{ij}\) can be implemented by an integration procedure, adding a virtual sensor for the position. Homogenizer \(P_{ij}\) may be implemented in several ways, depending on the relationship between signals in \(\Sigma_{i}\) and \(\Sigma_{j}\). This work proposes the homogenizer depicted in Figure 2, that is based on the input estimator proposed in [15]. This is for dynamical systems under the assumption of observability when the system output is \(\Sigma_{i}\subset\Sigma\). For this, signals in \(\Sigma_{i}\) are used to estimate the system input \(\tilde{u}^{i}\). Afterwards, leveraging \(\tilde{u}^{i}\) and the system model, the system outputs \(\tilde{\Sigma}^{i}\), due to \(\Sigma_{i}\), are estimated, i.e., the proposed homogenizer is capable of computing all the signals in \(\Sigma\). Thus, the homogenizer is represented as a function \(P_{i}:\Sigma_{i}\rightarrow\Sigma\). As a notation \(\tilde{\Sigma}^{i}\) (\(\tilde{\Sigma}^{i}=P_{i}(\Sigma_{i})\)) is used to indicate that all system outputs are estimated from the information in \(\Sigma_{i}\). In addition to \(\tilde{\Sigma}^{i}\), the proposed homogenizer also computes the estimated state \(\tilde{x}^{i}\) and the estimated input \(\tilde{u}^{i}\), obtained from \(\Sigma_{i}\). In order to compute the input \(\tilde{u}^{i}\), first, the coordinate transformation  
\[\Phi^{i}(x)=[(\tilde{\xi}^{i_{h}})^{T}\ \ldots\ (\tilde{\xi}^{i_{h}})^{T}]^{T}\]  
is applied [15], where \(\tilde{\xi}^{i}=[(\tilde{\xi}^{i_{h}})^{T}\ \ldots\ (\tilde{\xi}^{i_{h}})^{T}]^{T}\) and \(\eta^{i}\) is the internal system dynamic. Notice that \(\tilde{\xi}^{i_{h}}\) corresponds to the coordinate transformation obtained from the \(a\)-th output \(h_{a}(x)\), with \(h_{a},\ldots,h_{w}\in\Sigma_{i}\). Then, by the construction of the coordinate transformation, the states \(\xi^{i}\) and their derivatives \(\xi^{i}_{v}=[(\dot{\xi}^{ih_{a}})^{T}\ \dots\ (\dot{\xi}^{ih_{w}})^{T}]^{T}\) can be estimated by higher-order sliding mode (HOSM) differentiators [16] (by computing the derivatives of the outputs of the system), where \(\dot{\xi}^{ih_{a}}=[\dot{\xi}^{ih_{a}}_{1}\ \dots\ \dot{\xi}^{ih_{a}}_{r_{h_{a}}}]^{T}\), and \(r_{h_{a}}\) denotes the relative degree of the \(a\)-th output \(h_{a}(x)\).