# A Review of Research on Diagnosability of Control Systems Based on Structural Analysis
## 4 Diagnosability Design Based on Structural Analysis
### Actual Diagnostic Design
#### 4.2.2 MSO-Based Residual Observer Design

Table 2: Current status of research on fault diagnosis strategies based on structural analysis. Impact of causality  
Causality reflects the constraints between dynamic variables and can be categorized into integral causality, derivative causality, and mixed causality. [PERSON] proposed a causality-based residual generation method to determine the computational sequence by designing three unknown variable computational tools: the AE, differential equation-solving, and differential tools. He considered the complexity of the variable solving and the numerical constraints to design a sequential residual generation algorithm for solving the problem of the optimal residual observer [70]. [PERSON] proposed a residual generation algorithm with full consideration of causality. He built a causal structural model to analyze the detectability and isolation of the causal structure of faults. He designed an algorithm to solve the causality-based MSO set for generating a computable residual set. The designed algorithm was applied to the fault diagnosis of linear or nonlinear systems based on the model [71]. [PERSON] addressed the causality-based residual generation process, where the differentiation of a known signal is difficult to estimate in a noisy signal. The computation of higher-order derivatives in linear models was avoided by adding a stable residual generator of any order to the consistent relation, and the appearance of higher-order derivatives in nonlinear models was avoided by introducing residual generation dynamics and a nonlinear transformation [72]. Other influences  
The design of the residual observer is also affected by other influences, such as the system's complexity, controllable and observable properties, external disturbances, and the cost of residual generation. [PERSON] was oriented towards control systems of varying complexity and designed two such algorithms to minimize the number of residual observers while ensuring the fault isolability metric. First, an algorithm was proposed for micro-small systems to satisfy the isolability requirement and the minimum residual candidate set. Second, the requirement of a residual candidate set was relaxed for large and complex systems. An approximate solution of the residual candidate set was obtained based on a greedy heuristic search algorithm for large and complex systems that cannot be solved by the first algorithm [73]. The residual observers designed by [PERSON] can circumvent the effects of disturbances on the residual observers. First, the design analyzed the detectability of faults under single and multiple-observer architectures. Second, a structured matrix was constructed; its structural analysis was performed, and a residual vector was designed based on the single observer architecture. The disturbance residual transfer matrix was made to be zero. The fault residual transfer matrix was made to be a diagonal element to avoid the influence of external disturbances on the residual signals and to ensure the stability of the closed-loop system [74]. [PERSON] proposed a residual generation method. Based on the system structural model, the effect of the causal relationship between the variables on residual generation was analyzed. Secondly, a weighted directed graph model based on structural redundancy relationships was established as the basis for the cost model of the residual generation. The cost and time of the residual generation were reduced based on the combination of a priori and a posteriori knowledge [75]. [PERSON] analyzed the effects of noise and interference factors on residuals based on the principle of hypothesis testing. He utilized the residual characteristics of detected faults for fault isolation analysis. At the same time, he used dynamic detection algorithms to estimate the size of the fault and thus assess the severity of the fault [76].