**Fault Diagnosis in Analog Circuits via Symbolic Analysis Techniques**

Fawzi M Al-Naima and Bessam Z Al-Jewad

Additional information is available at the end of the chapter

http://dx.doi.org/10.5772/53643

## **1. Introduction**

Fault diagnosis of analog circuits has been one of the most challenging topics for researchers and test engineers since the 1970s. Given the circuit topology and nominal circuit parameter values, fault diagnosis is to obtain the exact information about the faulty circuit based on the analysis of the limited measured circuit responses. Fault diagnosis of analog circuits is es‐ sential for analog and mixed-signal systems testing and maintenance both during the design process and the manufacturing process of VLSI ASICs.

There are three dominant and distinct stages in the process of fault diagnosis: fault detection to find out if the circuit under test (CUT) is faulty comparing with the fault-free circuit, or golden circuit (This stage is usually called test in industry), fault identification to locate where the faulty parameters are inside the faulty circuit, and parameter evaluation to obtain how much the faulty parameters deviated from their nominal values and to obtain values of other circuit parameters such as branch and nodal voltages. The bottlenecks of analog fault diagnosis primarily lie in the inherited features of analog circuits: nonlinearity, parameter tolerances, limited accessible nodes, and lack of efficient models. Multiple fault diagnosis techniques are even less developed than single fault diagnosis because it is more difficult to model and detect multiple faults, particularly in the presence of tolerance or measurement noise. In addition, in multiple fault situation, one fault's effect on the circuit could be masked by the effects of the other faults. Generally speaking, there is no widely accepted paradigm for analog test or fault diagnosis even with the introduction of IEEE 1149.4 stand‐ ard for mixed-signal test bus.

With recent sharp development of electronic design automation tools and widespread appli‐ cation of analog VLSI chips and mixed-signal systems in the area of wireless communica‐ tion, networking, neural network and real-time control, the interests in analog test and fault

© 2013 Al-Naima and Al-Jewad; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2013 Al-Naima and Al-Jewad; licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

diagnosis revives. System-on-chip solutions favored by modern electronics pose new chal‐ lenges in this topic such as increased complexity and reduced die size and accessibility.

Several methods have been proposed for single fault diagnosis in linear analog circuit in the past. Multiple excitations are required and Woodbury formula in matrix theory is ap‐ plied to locate the faulty parameters. This method is also applied to multiple fault diagno‐ sis by decomposition technique assuming that each sub-circuit contains at most a single faulty parameter.

Among the different methods of fault diagnosis, the parametric fault diagnosis techniques hold an important part in the field of analog fault diagnosis. These techniques, starting from a series of measurements carried out on a previously selected test point set, given the circuit topology and the nominal values of the components, are aimed at determining the effective values of the circuit parameters by solving a set of equations generally non‐ linear with respect to the component values. In this chapter the role of symbolic techni‐ ques in the automation of parametric fault diagnosis of analog circuits is investigated followed by a practical numerical procedure to evaluate the faults. Being in fact the actual component values that represent the unknown quantities, fault diagnosis aims also at finding the faults locations. Symbolic approach results are particularly suitable for the au‐ tomation of parametric fault diagnosis techniques [1]. Obviously all this is applicable to linear analog circuits or to nonlinear circuits suitably linearized. On the other hand, present trend is moving as much as possible to design techniques that lead to linear ana‐ log circuits, so linearity is not a so serious restriction any more [2]. It is important to note that in the analog fault diagnosis two phases can be considered: the first one is the phase of testability analysis and ambiguity group determination, while the second one is the phase of fault location and fault value determination. Testability gives theoretical and rig‐ orous upper limits to the degree of solvability of fault diagnosis problem once the test point set has been chosen, independently of the method effectively used in fault location phase. This becomes very important in the design stage of the linear circuit in which the designer can determine the list of accessible nodes for the operator and the fault detection ability that they can provide. Concerning ambiguity groups, they can be considered as sets of circuit components that, if considered as potentially faulty, yield an undetermined system of equations. For the testability evaluation problem symbolic approach is a natural choice, because a circuit description made by means of equations in which the component values are the unknowns is properly represented by symbolic relations. Also for ambigui‐ ty group determination the symbolic approach gives excellent results [3].

For the fault location phase several different approaches can be used and all of them can be considered as an optimization problem, because, starting from measurements carried out on the CUT, the component values better fitting them have to be determined. Generally sym‐ bolic techniques are suitable for optimization problems, because the relations required by specific optimization strategies are easily generated using symbolic methods.

The aim of this chapter is to present a unified treatment of the subject with emphasis on a generalized method for multiple fault diagnosis of linear analog circuits in frequency do‐ main. In this approach, multiple excitations and Woodbury formula are also required for fault identification. However, a recently developed ambiguity group locating technique is applied for fault identification which reduces computational cost of the test method. Multi‐ ple faults can be located directly and efficiently, thus eliminating the requirement for de‐ composition and the corresponding restrictions. Moreover, the methodology developed in the proposed method, (i.e., constructing fault diagnosis equation on the basis of the analysis of the fault-free circuit and the measured responses of faulty circuit, then applying the ambi‐ guity group locating technique to identify the faulty parameters, finally evaluating all pa‐ rameter values of faulty circuit exactly), can be applied to other methods developed for multiple analog fault diagnosis.

The dominant differences among these methods are the distinct fault diagnosis equations re‐ sulting from distinct circuit analysis methods and distinct excitation and measurement methods. The methods proposed in this chapter can be classified as fault verification meth‐ ods under the category of Simulation-after-Test (SAT), which can provide the exact solution to the circuit parameters and can be applied to detect large parameter changes when the number of independent measurements are greater than the number of faults in the CUT.

A major improvement of these techniques is achieved through the use of symbolic techni‐ ques in formulating the fault equations and in addressing the testability problem. Further‐ more a developed method for minimum size ambiguity group locating technique is used based on QR factorization and is applied to detect and identify the multiple faults. De‐ tailed procedures for a proposed fault diagnosis program are given to help practitioners and researchers as well to grasp the basic concepts of the topic and be able to contribute to this field.

## **2. Basic circuit formulations**

diagnosis revives. System-on-chip solutions favored by modern electronics pose new chal‐ lenges in this topic such as increased complexity and reduced die size and accessibility.

Several methods have been proposed for single fault diagnosis in linear analog circuit in the past. Multiple excitations are required and Woodbury formula in matrix theory is ap‐ plied to locate the faulty parameters. This method is also applied to multiple fault diagno‐ sis by decomposition technique assuming that each sub-circuit contains at most a single

Among the different methods of fault diagnosis, the parametric fault diagnosis techniques hold an important part in the field of analog fault diagnosis. These techniques, starting from a series of measurements carried out on a previously selected test point set, given the circuit topology and the nominal values of the components, are aimed at determining the effective values of the circuit parameters by solving a set of equations generally non‐ linear with respect to the component values. In this chapter the role of symbolic techni‐ ques in the automation of parametric fault diagnosis of analog circuits is investigated followed by a practical numerical procedure to evaluate the faults. Being in fact the actual component values that represent the unknown quantities, fault diagnosis aims also at finding the faults locations. Symbolic approach results are particularly suitable for the au‐ tomation of parametric fault diagnosis techniques [1]. Obviously all this is applicable to linear analog circuits or to nonlinear circuits suitably linearized. On the other hand, present trend is moving as much as possible to design techniques that lead to linear ana‐ log circuits, so linearity is not a so serious restriction any more [2]. It is important to note that in the analog fault diagnosis two phases can be considered: the first one is the phase of testability analysis and ambiguity group determination, while the second one is the phase of fault location and fault value determination. Testability gives theoretical and rig‐ orous upper limits to the degree of solvability of fault diagnosis problem once the test point set has been chosen, independently of the method effectively used in fault location phase. This becomes very important in the design stage of the linear circuit in which the designer can determine the list of accessible nodes for the operator and the fault detection ability that they can provide. Concerning ambiguity groups, they can be considered as sets of circuit components that, if considered as potentially faulty, yield an undetermined system of equations. For the testability evaluation problem symbolic approach is a natural choice, because a circuit description made by means of equations in which the component values are the unknowns is properly represented by symbolic relations. Also for ambigui‐

ty group determination the symbolic approach gives excellent results [3].

specific optimization strategies are easily generated using symbolic methods.

For the fault location phase several different approaches can be used and all of them can be considered as an optimization problem, because, starting from measurements carried out on the CUT, the component values better fitting them have to be determined. Generally sym‐ bolic techniques are suitable for optimization problems, because the relations required by

The aim of this chapter is to present a unified treatment of the subject with emphasis on a generalized method for multiple fault diagnosis of linear analog circuits in frequency do‐ main. In this approach, multiple excitations and Woodbury formula are also required for

faulty parameter.

92 Analog Circuits

Generally, the circuit topology as well as its parameters nominal values are known in ad‐ vance. Consider for example a continuous-time, time-invariant, strongly connected, linear circuit with *n+*1 nodes and *p* parameters. The (*n+*1)*st* node, denoted by zero, is assigned to be the grounded reference node while the remaining *n* nodes are ungrounded. All *p* parame‐ ters are divided into two categories: one is parameters which have admittance description such as conductance, capacitor and voltage- controlled-current source, another is parameters which have no admittance description such as impedance, inductor, current-controlledsource, operational amplifier, etc.

Of course the conventional method of analysis would be to apply the KCL to each circuit node to obtain *n* equations with variables being nodal voltages and parameter currents. Then constitutive equations in terms of nodal voltages and parameter currents, which define the characteristics of all parameters without admittance description, are appended to the above *n* KCL-based equations. The resulting system matrix from this approach would be

$$T\_{\mathcal{g}}X\_{\mathcal{g}} = \mathcal{W}\_{\mathcal{g}} \tag{1}$$

where *Tg* is a *g*×*g* coefficient matrix consisting of circuit parameters, *Xg* is a *g*×1 solution vector of node voltage and parameter currents, and *Wg* is a *g*×1 excitation vector com‐ posed of independent current and voltage sources, and initial conditions of capacitors and inductors. The first *n* rows in *Tg*, *Xg* and *Wg* correspond to *n* nodes. The resulting system equation (1) is called the *modified nodal analysis equation MNA* [4]. Note that *g=n* for nor‐ mal nodal analysis of a circuit in which all parameters have admittance description, and *g>n* for modified nodal analysis of a circuit in which some parameters have a non-admit‐ tance description.

Traditionally, the system matrix generated from the MNA method may still have many redundant variables for analysis purposes; for example: voltages of inaccessible nodes in‐ side sub-circuits like op-amps or currents through nonphysical branches generated from sophisticated element models. A major development step to the MNA method is to elimi‐ nate all redundant variables to generate a compacted or reduced system matrix. The re‐ duced system matrix is formulated by programming a lookup table for every element in the network. This table has conditioned link-lists that will test which variables of the ele‐ ment are actually needed in the final compacted matrix and introduce the element in a way so as to eliminate the redundant variables during the formulation process. This meth‐ od is termed the *compacted modified nodal analysis CMNA* [5]. Provided that the circuit functions in a stable state, the parametric values of nodal voltages and parameter currents will be finite and unique. The coefficient matrix *Tg* is non-singular since the circuit is a strongly connected network.

Generally the system matrix described above cannot be formulated smoothly in a computer‐ ized solution without taking the circuit topology into consideration. One important fact about circuit topology is that each parameter, say *hv* ( *v* = 1, 2,..., *p* ), can be located by at most 4 circuit nodes [6]: 2 input nodes *kv* and *lv,* and 2 output nodes *iv* and *jv*. For 2-terminal pa‐ rameters such as resistors and capacitors, the input nodes will be the same as the output no‐ des: *kv* = *iν* and *lv* = *jν*. Based on this fact, the circuit topology can be completely described by two *g*×*p* structural matrices *P* and *Q* which are defined as follows:

$$\begin{aligned} P &= \begin{bmatrix} p\_1 \ p\_2 & \cdots & p\_p \end{bmatrix} = \begin{bmatrix} \delta\_{i\_1} \ -\delta\_{j\_1} \ \delta\_{i\_2} \ -\delta\_{j\_2} \ \cdots \ \delta\_{i\_p} \ -\delta\_{j\_p} \end{bmatrix} \\ Q &= \begin{bmatrix} q\_1 \ q\_2 & \cdots & q\_p \end{bmatrix} = \begin{bmatrix} \delta\_{k\_1} \ -\delta\_{l\_1} \ \delta\_{k\_2} \ -\delta\_{l\_2} \ \cdots \ \delta\_{k\_p} \ -\delta\_{l\_p} \end{bmatrix} \tag{2}$$

where *δν* represents a *g*×1 vector of zeros except for the *v* entry, which is equal to one, and *p<sup>ν</sup>* and *qν* represent *g*×1 vectors describing the locations of output nodes and input nodes, re‐ spectively. Matrices *P* and *Q* are only determined by the locations, not the values of the cir‐ cuit parameters. The columns of matrix *P* correspond to the locations of the output nodes of circuit parameters while the columns of matrix *Q* correspond to the locations of the input nodes of circuit parameters.

Another important fact is that most parameters in linear circuits will enter the coefficient matrix *Tg* in the symbolic form

#### Fault Diagnosis in Analog Circuits via Symbolic Analysis Techniques http://dx.doi.org/10.5772/53643 95

$$\begin{bmatrix} \mathbf{k}\_{\upsilon} & \mathbf{l}\_{\upsilon} \\ \mathbf{i}\_{\upsilon} & \begin{bmatrix} \mathbf{h}\_{\upsilon} & \mathbf{-h}\_{\upsilon} \\ \mathbf{-h}\_{\upsilon} & \mathbf{h}\_{\upsilon} \end{bmatrix} \end{bmatrix} \tag{3}$$

with the equivalent algebraic representation being

where *Tg* is a *g*×*g* coefficient matrix consisting of circuit parameters, *Xg* is a *g*×1 solution vector of node voltage and parameter currents, and *Wg* is a *g*×1 excitation vector com‐ posed of independent current and voltage sources, and initial conditions of capacitors and inductors. The first *n* rows in *Tg*, *Xg* and *Wg* correspond to *n* nodes. The resulting system equation (1) is called the *modified nodal analysis equation MNA* [4]. Note that *g=n* for nor‐ mal nodal analysis of a circuit in which all parameters have admittance description, and *g>n* for modified nodal analysis of a circuit in which some parameters have a non-admit‐

Traditionally, the system matrix generated from the MNA method may still have many redundant variables for analysis purposes; for example: voltages of inaccessible nodes in‐ side sub-circuits like op-amps or currents through nonphysical branches generated from sophisticated element models. A major development step to the MNA method is to elimi‐ nate all redundant variables to generate a compacted or reduced system matrix. The re‐ duced system matrix is formulated by programming a lookup table for every element in the network. This table has conditioned link-lists that will test which variables of the ele‐ ment are actually needed in the final compacted matrix and introduce the element in a way so as to eliminate the redundant variables during the formulation process. This meth‐ od is termed the *compacted modified nodal analysis CMNA* [5]. Provided that the circuit functions in a stable state, the parametric values of nodal voltages and parameter currents will be finite and unique. The coefficient matrix *Tg* is non-singular since the circuit is a

Generally the system matrix described above cannot be formulated smoothly in a computer‐ ized solution without taking the circuit topology into consideration. One important fact about circuit topology is that each parameter, say *hv* ( *v* = 1, 2,..., *p* ), can be located by at most 4 circuit nodes [6]: 2 input nodes *kv* and *lv,* and 2 output nodes *iv* and *jv*. For 2-terminal pa‐ rameters such as resistors and capacitors, the input nodes will be the same as the output no‐ des: *kv* = *iν* and *lv* = *jν*. Based on this fact, the circuit topology can be completely described by

two *g*×*p* structural matrices *P* and *Q* which are defined as follows:

1 - *δ <sup>j</sup>* 1 *δi* 2 - *δ <sup>j</sup>*

> - *δl* <sup>1</sup> *δk*<sup>2</sup> - *δl*

where *δν* represents a *g*×1 vector of zeros except for the *v* entry, which is equal to one, and *p<sup>ν</sup>* and *qν* represent *g*×1 vectors describing the locations of output nodes and input nodes, re‐ spectively. Matrices *P* and *Q* are only determined by the locations, not the values of the cir‐ cuit parameters. The columns of matrix *P* correspond to the locations of the output nodes of circuit parameters while the columns of matrix *Q* correspond to the locations of the input

Another important fact is that most parameters in linear circuits will enter the coefficient

<sup>2</sup> ⋯ *δ<sup>i</sup> <sup>p</sup>* - *δ <sup>j</sup> <sup>p</sup>*

(2)

<sup>2</sup> ⋯ *δ<sup>k</sup> <sup>p</sup>* - *δ<sup>l</sup> <sup>p</sup>*

*P* = *p*<sup>1</sup> *p*<sup>2</sup> ⋯ *pp* = *δ<sup>i</sup>*

*Q* = *q*<sup>1</sup> *q*<sup>2</sup> ⋯ *qp* = *δk*<sup>1</sup>

tance description.

94 Analog Circuits

strongly connected network.

nodes of circuit parameters.

matrix *Tg* in the symbolic form

$$(\delta\_{i\_v} - \delta\_{j\_v})h\_v(\delta\_{k\_v} - \delta\_{l\_v})^t = p\_v h\_v q\_v^t \tag{4}$$

where superscript *t* denotes transpose of matrix or vector. For any grounded node, the cor‐ responding row or column in the symbolic form will be removed together with the *δν* in the algebraic form. Resistor, inductor, capacitor, dependent sources, and operational amplifier with its negative inverse gain being a parameter are examples of circuit devices described in this way. Thus the system matrix can be easily formulated using the equation

$$T\_{\mathcal{J}} = \operatorname{Pdiag} \left( h \right) \mathbf{Q}^{\mathcal{I}} \tag{5}$$

This topological formulation allows for the automatic direct translation of the Netlist (which is the list describing the values of the circuit elements and their connections to the corre‐ sponding nodes) into circuit equations. As an example consider the circuit shown in Figure 1 following [7]. This circuit will be used later in the analysis of fault equations.

**Figure 1.** Example circuit

This circuit can be represented by the Netlist shown in Table 1. The first column of Table 1 is the element name and type (e.g. R for resistor, G for conductance, C for capacitor and so on). The second and third (possibly fourth and fifth depending on the element type) represent the con‐ nection nodes. Note that the ground is identified with node 0. The last column is the element value. It is possible for some elements (like a two port network or an active element model) to have more columns for its values. For the circuit in Figure 1 with unity current source J=1A ap‐ plied to nodes {0,1}, it is assumed that the nominal values of the resistors are as follows (all re‐ sistors in Ω): R1=2.125, R2=3.6, R3=4.7, R4=11.5, R5=12.6, R6=21.2, R7=3.7, R8=0.54, R9=3.54, R10=3.125, R11=6.6, R12=5.7, R13=19.5, R14=12.8, R15=12.2, R16=3.2, R17=1.54, R18=8.7, R19=2.27, R20=3.16, R21=41.7, R22=31.5, R23=22.6, R24=51.2, R25=13.7, R26=3.44, R27=13.4, R28=31.9, R29=16.1, R30=11.7, R31=11.5, R32=17.8, R33=22.2, R34=23.2, R35=11.4, R36=18.7, R37=3.12, R38=33.2, R39=8.67.


**Table 1.** Netlist for the circuit shown in Figure 1

It can be shown easily [4] that the node numbers in the second column of Table 1 represent the values of *i* in equation (2) as long as they are not zero. Similarly column 3 gives the val‐ ues of *j* in equation (2). Thus it is very straight forward to find the *P* and *Q* matrices by trac‐ ing through the Netlist. Additionally, the system matrix can be either formulated numerically or symbolically depending on the values used for *h* in the diagonal matrix of equation (5). This automatic formulation procedure can be easily extended to MNA and CMNA methods with proper rubber stamps for circuit elements.

## **3. Conventional fault analysis methods**

**Element From Node To Node Value** J 0 1 1 R1 1 2 2.1250 R2 2 4 3.6000 R3 2 3 4.7000 R4 3 4 11.5000 R5 1 4 12.6000 R6 3 5 21.2000 R7 5 6 3.7000 R8 0 5 0.5400 R9 0 1 3.5400 R10 0 6 3.1250 R11 6 8 6.6000 R12 6 8 5.7000 R13 8 9 19.5000 R14 0 9 12.8000 R15 15 16 12.2000 R16 15 17 3.2000 R18 3 10 8.7000 R19 8 10 2.2700 R20 7 9 3.1600 R21 0 13 41.7000 R22 7 11 31.5000 R23 7 12 22.6000 R24 11 12 51.2000 R25 11 19 13.7000 R26 12 19 3.4400 R27 12 20 13.4000 R28 7 13 31.9000 R29 13 20 16.1000 R30 19 20 11.7000 R31 18 19 11.5000 R32 18 20 17.8000 R33 17 18 22.2000 R34 13 16 23.2000 R35 16 17 11.4000 R36 14 17 18.7000 R37 14 16 3.1200 R38 14 15 33.2000 R39 0 14 8.6700

**Table 1.** Netlist for the circuit shown in Figure 1

96 Analog Circuits

As discussed earlier, the conventional method for multiple fault diagnosis can be divided into three steps: fault detection, fault location determination, and finding the faulty elements val‐ ues. This conventional method is readily deemed to be a numerical method by its very own na‐ ture but it is presented here as it provides basic insight to the problem and the limitations facing all numerical methods. The problem is even more complicated for multiple faults due to ambi‐ guity presented by element tolerances not to mention that different sets of certain faults may produce very similar measured values. Further complication is present owing to the fact that only a limited number of nodes are actually accessible for measurements and testing. The con‐ ventional method will be presented without derivation which can be found in [6-8]. Despite its effectiveness in dealing with ambiguity groups, the method has several limitations:


Symbolic analysis techniques aim at resolving or at least reducing some or all of these limita‐ tions thus proving to be very vital to this subject. Having that said let us begin by showing the applications of symbolic analysis techniques for multiple fault diagnosis in linear circuits.

#### **3.1. Symbolic analysis in fault diagnosis problem**

As mentioned earlier, the symbolic circuit matrix *T* can be easily described by the multi‐ plication of a row operator *P* and a column operator *Q* with a diagonal matrix of sym‐ bols, where *P* and *Q* are the matrix operators (or topological matrices) that indicate location of the matrix element value in the symbolic matrix *T* as was given in equation (5). One can immediately notice that the diagonal matrix can be represented by a simple array while both *P* and *Q* are sparse numerical matrices. One benefit of this representa‐ tion is that linear operations on rows such as addition or subtraction can be simply imple‐ mented on *P* while linear operations on columns can be implemented on *Q* without altering the diagonal symbolic matrix. For most circuit analysis applications, system equa‐ tions are rarely fully dense or fully symbolic. In that respect, some matrix elements may contain not only a single symbolic element value but constant values as well. These con‐ stants do not affect the structures of matrices *P* and *Q*. In fact even if the element values are complete polynomials the representation is still not altered. Hence in solving a matrix equation like equation (1) only arrays of symbolic polynomial data structures need to be stored to represent the diagonal matrix while numerical matrices *P*, *Q* can be manipulated to solve this system using topological methods like determinant decision diagrams DDD [9] or matrix reduction methods [10].

Traditionally symbolic techniques have been used along two separate paths in fault analy‐ sis: To introduce comprehensive fault models in small and moderate sized circuits and to find the optimum set of testable components in a faulty circuit. We will describe here both techniques and show ways of utilizing them later.

#### *3.1.1. Symbolic techniques in comprehensive fault modeling*

The method described before for tracing through the Netlist to generate the *P* and *Q* topological matrices is not the only way to generate the system matrix. In fact, most of the modified and compacted methods like the tableau, MNA and CMNA methods fo‐ cus on tracing through the Netlist in an element-by-element fashion, increasing the size of the generated system matrix iteratively. This approach has the advantage of provid‐ ing a way to reduce the system matrix during the formulation step as will be shown shortly [5].

Consider a general admittance *y* connected between nodes *i* and *j* as shown in Figure 2. As‐ suming that the system matrix *T* is already generated for the other branches, the impact of this admittance (following the tableau formulation) on the system matrix is to add an addi‐ tional row and column corresponding to the new system variable *iy*

$$
\begin{bmatrix} y\_{ii} & y\_{ij} & \mathbf{1} \\ y\_{ji} & y\_{jj} & \mathbf{-1} \\ y\_{ji} & \mathbf{-y} & \mathbf{-1} \end{bmatrix} \star \begin{bmatrix} V\_i \\ V\_j \\ i\_y \end{bmatrix} = \begin{bmatrix} w\_i \\ w\_j \\ \mathbf{0} \end{bmatrix} \tag{6}
$$

Now, if *iy* is not a solution variable then it can be eliminated from the system matrix to gen‐ erate a compacted matrix with respect to the axis *iy*. Applying Kron's reduction to eliminate axis-3 of this matrix we get [5]

$$
\begin{bmatrix} y\_{ii} + y & y\_{ij} - y \\ y\_{ji} - y & y\_{jj} + y \end{bmatrix} \times \begin{bmatrix} V\_i \\ V\_j \end{bmatrix} = \begin{bmatrix} w\_i \\ w\_j \end{bmatrix}. \tag{7}
$$

Equations (6) and (7) are the conditioned stamps for the admittance *y* and they can be pro‐ grammed into a lookup table easily.

The occurrence of faults in circuit elements generally leads to a deviation in node voltages and branch currents from nominal values. The purpose of fault diagnosis is to use voltage measurements on a limited number of nodes to verify the presence of a fault in the circuit then identify the fault location and value through simulation. However additional care must be taken since the deviations in the measured values may very well result from normal pa‐ rameter tolerances.

In general a fault is generated if the nominal element value is changed from *y* to *y+*d*y* be‐ yond its tolerance. However instead of changing the value of *y* in the system matrix, owing to the symbolic approach we can simply introduce an extra faulty element dy and an extra faulty variable *f* as shown in Figure 3 for the passive admittance case. This deviation from nominal value will result in deviation in node voltages from *V* to *V*+d*V* and branch currents from *I* to *I*+*If* where *If* is the set of fault currents. As an example consider a linear admittance *y* connected between nodes *i* and *j* as shown in Figure 3.

**Figure 2.** A general admittance example

bols, where *P* and *Q* are the matrix operators (or topological matrices) that indicate location of the matrix element value in the symbolic matrix *T* as was given in equation (5). One can immediately notice that the diagonal matrix can be represented by a simple array while both *P* and *Q* are sparse numerical matrices. One benefit of this representa‐ tion is that linear operations on rows such as addition or subtraction can be simply imple‐ mented on *P* while linear operations on columns can be implemented on *Q* without altering the diagonal symbolic matrix. For most circuit analysis applications, system equa‐ tions are rarely fully dense or fully symbolic. In that respect, some matrix elements may contain not only a single symbolic element value but constant values as well. These con‐ stants do not affect the structures of matrices *P* and *Q*. In fact even if the element values are complete polynomials the representation is still not altered. Hence in solving a matrix equation like equation (1) only arrays of symbolic polynomial data structures need to be stored to represent the diagonal matrix while numerical matrices *P*, *Q* can be manipulated to solve this system using topological methods like determinant decision diagrams DDD

Traditionally symbolic techniques have been used along two separate paths in fault analy‐ sis: To introduce comprehensive fault models in small and moderate sized circuits and to find the optimum set of testable components in a faulty circuit. We will describe here both

The method described before for tracing through the Netlist to generate the *P* and *Q* topological matrices is not the only way to generate the system matrix. In fact, most of the modified and compacted methods like the tableau, MNA and CMNA methods fo‐ cus on tracing through the Netlist in an element-by-element fashion, increasing the size of the generated system matrix iteratively. This approach has the advantage of provid‐ ing a way to reduce the system matrix during the formulation step as will be shown

Consider a general admittance *y* connected between nodes *i* and *j* as shown in Figure 2. As‐ suming that the system matrix *T* is already generated for the other branches, the impact of this admittance (following the tableau formulation) on the system matrix is to add an addi‐

> *Vi V j iy*

Now, if *iy* is not a solution variable then it can be eliminated from the system matrix to gen‐ erate a compacted matrix with respect to the axis *iy*. Applying Kron's reduction to eliminate

=

*wi w j* 0

. (6)

×

[9] or matrix reduction methods [10].

shortly [5].

98 Analog Circuits

axis-3 of this matrix we get [5]

techniques and show ways of utilizing them later.

*3.1.1. Symbolic techniques in comprehensive fault modeling*

tional row and column corresponding to the new system variable *iy*

*yii yij* 1 *y ji y jj* -1 *y* - *y* -1 6 Figure2.A general admittance example

13 programmed into a lookup table easily.

10 this matrix we get [5]

19 tolerances.

27

28

29

30

31

32

33

�

�

��� ��� 1

y *iy* (*Vi*

��� ��� �1

��� �� ��� � �

��� �� ��� � ������

� 11 (7)

12 Equations (6) and (7) are the conditioned stamps for the admittance *y* and they can be

The occurrence of faults in circuit elements generally leads to a deviation in node voltages and branch currents from nominal values. The purpose of fault diagnosis is to use voltage measurements on a limited number of nodes to verify the presence of a fault in the circuit then identify the fault location and value through simulation. However additional care must be taken since the deviations in the measured values may very well result from normal parameter

In general a fault is generated if the nominal element value is changed from *y* to *y+*d*y*beyond its tolerance. However instead of changing the value of *y* in the system matrix, owing to the symbolic approach we can simply introduce an extra faulty element dy and an extra faulty variable *f* as shown in Figure 3 for the passive admittance case. This deviation from nominal value will result in deviation in node voltages from *V* to *V***+d***V* and branch currents from *I* to *I***+***If* where *If* 25 is the set of fault currents. As an example consider a linear admittance *y* connected

� �� �1�����

i

7 (6)

Now, if *iy* 8 is not a solution variable then it can be eliminated from the system matrix to generate a compacted matrix with respect to the axis *iy* 9 . Applying Kron's reduction to eliminate axis-3 of

��

*Vj*)*y= iy*

����� ��

�����

��

0

��

��

��

1

2

3

4

5

8 Book Title

34 Figure3.Fault element model for a linear admittance **Figure 3.** Fault element model for a linear admittance

Due to a fault the value of the admittance is changed to *y*+d*y*. Now following [5] the fault rubber stamp of (7) is changed to

$$
\begin{bmatrix} y\_{ii} + y & y\_{ij} \cdot y & 1 \\ y\_{ji} \cdot y & y\_{jj} + y & -1 \\ 1 & -1 & \zeta \end{bmatrix} \times \begin{bmatrix} V\_i \\ V\_j \\ i\_i \end{bmatrix} = \begin{bmatrix} w\_i \\ w\_j \\ 0 \end{bmatrix} \tag{8}
$$

where we have appended the faulty element equation

$$
\omega \upsilon\_i \text{ - } \upsilon\_j + \zeta \dot{\iota}\_f = 0,\tag{9}
$$

in which ζ = (d*y*)-1. We must emphasize here that this equation is appended to the original system matrix after the last nodal equation so that the faulty *if* variable will appear after the last solution variable in the fault-free system equation. The impact of this on the solution will be apparent shortly. Assuming that *if* is a solution variable, we can proceed by eliminat‐ ing any non-solution variables in the stamp just like we did before to generate the faulty compacted system matrix stamp while leaving all the faulty currents as solution variables.

Clearly other fault models for the different circuit elements can also be developed by inspec‐ tion. The stamping procedure for the faulty circuit elements generates the fault analysis equations. However, additional circuit elements and thus additional symbolic variables were introduced in the circuit to simulate the fault thus deeming this method suitable only for small and moderate sized networks. Assuming the original fault-free system equations were given by equation identical to (1) where *T* is the compacted modified system matrix, *X* is the chosen solution vector and *W* is the vector of excitation sources which might be a com‐ bination of currents and voltages. With the introduction of the faulty elements the size of the system matrix has increased. Careful consideration of element stamps like (8) show that the new faulty system equations can be written as

Fault Diagnosis in Analog Circuits via Symbolic Analysis Techniques http://dx.doi.org/10.5772/53643 101

$$
\begin{bmatrix} \prescript{T}{}{\phantom{\mathcal{R}}}{\phantom{\mathcal{R}}} \prescript{P}{}{\phantom{\mathcal{R}}} \prescript{X}{}{\phantom{\mathcal{R}}} \prescript{X}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}} \prescript{W}{}{\phantom{\mathcal{R}}}$$

where *X* is the original solution vector while *Xf* is the solution vector of the fault currents and voltages. This formulation resulted from the fact that the fault variable was added after the last solution variable of the fault-free circuit. Expanding this equation, it can be shown that [5]

$$\{T \text{ - } PR^{-1}Q\} \text{X} = \text{W} \tag{11}$$

where *X* is now the solution vector of the faulty system. Applying Woodbury formula [5] on (11) we get

$$X = \left[T^{-1} + T^{-1}P(R + QT^{-1}P)^{-1}QT^{-1}\right]W\tag{12}$$

Expanding (12) using (10) we get

$$X = X\_o + \Delta X \tag{13}$$

where

8 Book Title

i

���

��

*Vj*)*y= iy*

��

���

�����

��

��

��

��

0

��

��

*Vj*)*y= iy*

*Vj*)d*y= if*

variable will appear after the

(8)

1

2

3

4

5

6 Figure2.A general admittance example

13 programmed into a lookup table easily.

26 between nodes *i* and *j* as shown in Figure 3.

100 Analog Circuits

34 Figure3.Fault element model for a linear admittance

rubber stamp of (7) is changed to

**Figure 3.** Fault element model for a linear admittance

where we have appended the faulty element equation

new faulty system equations can be written as

system matrix after the last nodal equation so that the faulty *if*

i

*y iy* d*y if* (*Vi*

(*Vi*

*yii* + *y yij* - *y* 1 *y ji* - *y y jj* + *y* -1 1 -1 ζ

Due to a fault the value of the admittance is changed to *y*+d*y*. Now following [5] the fault

×

in which ζ = (d*y*)-1. We must emphasize here that this equation is appended to the original

last solution variable in the fault-free system equation. The impact of this on the solution will be apparent shortly. Assuming that *if* is a solution variable, we can proceed by eliminat‐ ing any non-solution variables in the stamp just like we did before to generate the faulty compacted system matrix stamp while leaving all the faulty currents as solution variables.

Clearly other fault models for the different circuit elements can also be developed by inspec‐ tion. The stamping procedure for the faulty circuit elements generates the fault analysis equations. However, additional circuit elements and thus additional symbolic variables were introduced in the circuit to simulate the fault thus deeming this method suitable only for small and moderate sized networks. Assuming the original fault-free system equations were given by equation identical to (1) where *T* is the compacted modified system matrix, *X* is the chosen solution vector and *W* is the vector of excitation sources which might be a com‐ bination of currents and voltages. With the introduction of the faulty elements the size of the system matrix has increased. Careful consideration of element stamps like (8) show that the

*Vi V j i* f

=

*wi w j* 0

*vi* - *v <sup>j</sup>* + ζ*i <sup>f</sup>* =0, (9)

10 this matrix we get [5]

19 tolerances.

27

28

29

30

31

32

33

�

�

��� ��� 1

y *iy* (*Vi*

��� ��� �1

� �� �1

��� �� ��� � �

��� �� ��� � ������

� 11 (7)

12 Equations (6) and (7) are the conditioned stamps for the admittance *y* and they can be

The occurrence of faults in circuit elements generally leads to a deviation in node voltages and branch currents from nominal values. The purpose of fault diagnosis is to use voltage measurements on a limited number of nodes to verify the presence of a fault in the circuit then identify the fault location and value through simulation. However additional care must be taken since the deviations in the measured values may very well result from normal parameter

In general a fault is generated if the nominal element value is changed from *y* to *y+*d*y*beyond its tolerance. However instead of changing the value of *y* in the system matrix, owing to the symbolic approach we can simply introduce an extra faulty element dy and an extra faulty variable *f* as shown in Figure 3 for the passive admittance case. This deviation from nominal value will result in deviation in node voltages from *V* to *V***+d***V* and branch currents from *I* to *I***+***If* where *If* 25 is the set of fault currents. As an example consider a linear admittance *y* connected

7 (6)

Now, if *iy* 8 is not a solution variable then it can be eliminated from the system matrix to generate a compacted matrix with respect to the axis *iy* 9 . Applying Kron's reduction to eliminate axis-3 of

$$
\Delta X = T^{-1} P \left( R + Q T^{-1} P \right)^{-1} Q X\_o \tag{14}
$$

This gives the variation in the solution vector in terms of the nominal fault-free solution vec‐ tor, the topological matrices and the original system matrix. The benefit of having this varia‐ tion solved symbolically is that it gives direct relationship between shifts in element values and the corresponding variation in circuit response. Once those variables are obtained sym‐ bolically it is very easy to carry out an analysis like Monte-Carlo analysis [5] to help solve the fault/tolerance ambiguity and verify the presence of a fault. Not only fault verification is possible with this equation but also locating the faulty element(s) can be done even with measurements taken from a limited set of accessible nodes using the k-fault method [11] or a linear combination matrix which will be explained later on where only a small set of the sol‐ ution variables are measured to estimate the fault location.

Despite the usefulness of this approach in finding the fault model, it is highly restricted to small and moderate scale circuits. In addition, due to ambiguities, it is customary to find that the inner matrix *R+QT-1P* has become singular therefore limiting the practical use of equation (14). Nevertheless the approach is still needed to model the faults symbolically and to tackle the testability problem.

#### *3.1.2. Symbolic solution of the testability problem*

Fault diagnosis and fault location in analog circuits are of fundamental importance for design validation and prototype characterization in order to improve yield through de‐ sign modification. In the analog fault diagnosis field, an essential point is constituted by the concept of testability which, independently of the method that will be effectively used in fault location, gives theoretical and rigorous upper limits to the degree of solva‐ bility of the problem, once the test point set has been chosen by the circuit designer. A well-defined quantitative measure of testability can be deduced by referring to fault di‐ agnosis techniques of the parametric kind [12]. These techniques, starting from a series of measurements carried out on previously selected test points, are aimed at determin‐ ing the upper limit of solvable circuit parameters by solving a set of equations (the fault diagnosis equations as will be shown later) which are nonlinear with respect to the com‐ ponent values.

The solvability degree of these nonlinear equations constitutes the most used definition of testability measure [12]. This measure can be also interpreted as an indication of the am‐ biguity resulting from any attempt to solve the fault equations in a neighborhood of al‐ most any failure. In addition to being valuable for the circuit designer in determining the number of accessible nodes, it is also very important for the circuit operator since at‐ tempting to address the fault-diagnosis equation without having an estimate on the maxi‐ mum number of faults that can be detected from the available test set is highly prohibited. In other words, the testability measure provides information about the num‐ ber of testable components with the selected test point set. When the testability value is not at its maximum, that is when it is less than the total number of potentially faulty cir‐ cuit components, the problem is not uniquely solvable and it is necessary to consider fur‐ ther measurements, i.e., other test points. Alternatively we can accept a reduced number of potentially faulty components in order to locate the elements which have caused the incorrect behavior of the CUT.

Generally, the second alternative is used for two reasons. First, not all the possible test points can actually be considered because of practical and economic measurement problems strictly tied with the used technology and with the application field of the circuit under con‐ sideration. Second, the number of faulty components is generally smaller than the total number of circuit components. The single fault case is the most frequent while double or tri‐ ple cases are less frequent, and the case of all faulty components is almost impossible. There‐ fore, as the testability is normally not at its maximum, the fault diagnosis problem is dealt with by assuming the quite realistic hypothesis that the number of faulty components is bounded; that is, the *k*-fault hypothesis is made. Under this hypothesis, in order to locate the faulty elements with as low ambiguity as possible, it is of fundamental importance to deter‐ mine a set of components that is representative of all the circuit elements. This helps reduc‐ ing the solution time by providing a stopping criterion instead of wasting computer resources seeking unattainable solutions. In this section a procedure for the determination of the optimum set of testable components in the *k*-fault diagnosis of analog linear circuits is presented, where by the optimum set we mean a set of components representing all the cir‐ cuit elements and giving a unique solution.

*3.1.2. Symbolic solution of the testability problem*

ponent values.

102 Analog Circuits

incorrect behavior of the CUT.

Fault diagnosis and fault location in analog circuits are of fundamental importance for design validation and prototype characterization in order to improve yield through de‐ sign modification. In the analog fault diagnosis field, an essential point is constituted by the concept of testability which, independently of the method that will be effectively used in fault location, gives theoretical and rigorous upper limits to the degree of solva‐ bility of the problem, once the test point set has been chosen by the circuit designer. A well-defined quantitative measure of testability can be deduced by referring to fault di‐ agnosis techniques of the parametric kind [12]. These techniques, starting from a series of measurements carried out on previously selected test points, are aimed at determin‐ ing the upper limit of solvable circuit parameters by solving a set of equations (the fault diagnosis equations as will be shown later) which are nonlinear with respect to the com‐

The solvability degree of these nonlinear equations constitutes the most used definition of testability measure [12]. This measure can be also interpreted as an indication of the am‐ biguity resulting from any attempt to solve the fault equations in a neighborhood of al‐ most any failure. In addition to being valuable for the circuit designer in determining the number of accessible nodes, it is also very important for the circuit operator since at‐ tempting to address the fault-diagnosis equation without having an estimate on the maxi‐ mum number of faults that can be detected from the available test set is highly prohibited. In other words, the testability measure provides information about the num‐ ber of testable components with the selected test point set. When the testability value is not at its maximum, that is when it is less than the total number of potentially faulty cir‐ cuit components, the problem is not uniquely solvable and it is necessary to consider fur‐ ther measurements, i.e., other test points. Alternatively we can accept a reduced number of potentially faulty components in order to locate the elements which have caused the

Generally, the second alternative is used for two reasons. First, not all the possible test points can actually be considered because of practical and economic measurement problems strictly tied with the used technology and with the application field of the circuit under con‐ sideration. Second, the number of faulty components is generally smaller than the total number of circuit components. The single fault case is the most frequent while double or tri‐ ple cases are less frequent, and the case of all faulty components is almost impossible. There‐ fore, as the testability is normally not at its maximum, the fault diagnosis problem is dealt with by assuming the quite realistic hypothesis that the number of faulty components is bounded; that is, the *k*-fault hypothesis is made. Under this hypothesis, in order to locate the faulty elements with as low ambiguity as possible, it is of fundamental importance to deter‐ mine a set of components that is representative of all the circuit elements. This helps reduc‐ ing the solution time by providing a stopping criterion instead of wasting computer resources seeking unattainable solutions. In this section a procedure for the determination of the optimum set of testable components in the *k*-fault diagnosis of analog linear circuits is

The procedure is based on the testability evaluation of the circuit and on the determina‐ tion of the canonical ambiguity groups. Referring again, for the sake of simplicity, to para‐ metric fault diagnosis techniques we need to make some definitions first. An ambiguity group can be defined as a set of components that, if used as unknowns (i.e., if considered as potentially faulty), gives infinite solutions during the phase of fault location determina‐ tion. A canonical ambiguity group is simply an ambiguity group that does not contain other ambiguity groups. It is worth pointing out that the proposed procedure gives infor‐ mation independently of the method that will be effectively used in the fault location phase (both simulation after test and simulation before test methods), even if it has been developed by referring to parametric fault diagnosis techniques. Furthermore, in the auto‐ mation of the procedure the use of symbolic techniques is of fundamental importance be‐ cause symbolic analysis, due to the fact that it gives symbolic rather than numerical results, is particularly suitable for applications such as testability and canonical ambiguity group determination, as will be shown later.

It is necessary in this procedure to determine a set of equations describing the circuit un‐ der test and solve it with respect to the component values. In the case of analog linear time-invariant circuits, the fault diagnosis equations can be constituted by the network functions relevant to the selected test points [12] which are nonlinear with respect to the potentially faulty circuit parameters. By assuming that the faults can be expressed as pa‐ rameter variations without influencing the circuit topology (as was done in the previous section where faults like short and open are not considered), the testability measure *τ* is given by the maximum number of linearly independent columns of the Jacobian matrix associated with the fault diagnosis equations, and it represents a measure of the solvabili‐ ty degree of the nonlinear fault diagnosis equations. The entries of the Jacobian matrix are rational functions depending on the complex frequency and the potentially faulty param‐ eters. Thus, in order to evaluate the testability it is necessary to select fixed values for the potentially faulty parameter and the complex frequency. It can be shown that, once the frequency values are fixed, the rank of the obtained Jacobian matrix is constant almost ev‐ erywhere, i.e., for all the potentially faulty parameter values except those lying in an alge‐ braic variety [13]. Using this approach, the testability value, although independent of component values, is very difficult to handle and subject to round off errors if a numeri‐ cal approach is used in its automation.

Generally the Jacobian matrix is very costly to find in fully symbolic form. It has been shown in [14] that starting from the network symbolic transfer functions expressed in the following way:

$$\Pr\{\mathbf{h}\_{1},\mathbf{s}\_{1}\} = \frac{N\_{1}\langle\mathbf{h}\_{1},\mathbf{s}\_{1}\rangle}{D\langle\mathbf{h}\_{1},\mathbf{s}\_{1}\rangle} = \frac{\sum\_{j=0}^{n\_{1}}\frac{\binom{\langle\mathbf{h}\_{j}\rangle}{\binom{\langle\mathbf{h}\_{n}\rangle}}}{\binom{\langle\mathbf{h}\_{n}\rangle}{\langle\mathbf{h}\_{n}\rangle}}\,\mathrm{s}^{j}}{\sum\_{j=0}^{n\_{1}}\frac{\binom{\langle\mathbf{h}\_{j}\rangle}{\langle\mathbf{h}\_{n}\rangle}}{\binom{\langle\mathbf{h}\_{n}\rangle}{\langle\mathbf{h}\_{n}\rangle}}\,\mathrm{s}^{j}}, \qquad l=1,\ \cdots,\ \mathbf{K}\tag{15}$$

where *h* = [*h*1, *h*2, …, *hp*] t is the vector of the potentially faulty parameters and *K* is the total number of equations, the testability is equal to the rank of a matrix *E* given by

*E* = ∂ *a* 0 (1) *b m* ∂ *h* <sup>1</sup> ⋮ ∂ *a n* 1 (1) *b m* ∂ *h* <sup>1</sup> ⋮ ∂ *a* 0 (*K* ) *b m* ∂ *h* <sup>1</sup> ⋮ ∂ *a nK* (*K* ) *b m* ∂ *h* <sup>1</sup> ∂ *b* 0 *b m* ∂ *h* <sup>1</sup> ⋮ ∂ *b m*-1 *b m* ∂ *h* <sup>1</sup> ∂ *a* 0 (1) *b m* ∂ *h* <sup>2</sup> ⋮ ∂ *a n* 1 (1) *b m* ∂ *h* <sup>2</sup> ⋮ ∂ *a* 0 (*K* ) *b m* ∂ *h* <sup>2</sup> ⋮ ∂ *a nK* (*K* ) *b m* ∂ *h* <sup>2</sup> ∂ *b* 0 *b m* ∂ *h* <sup>2</sup> ⋮ ∂ *b m*-1 *b m* ∂ *h* <sup>2</sup> ⋯ ⋯ ⋯ ∂ *a* 0 (1) *b m* ∂ *h <sup>p</sup>* ⋮ ∂ *a n* 1 (1) *b m* ∂ *h <sup>p</sup>* ⋮ ∂ *a* 0 (*K* ) *b m* ∂ *h <sup>p</sup>* ⋮ ∂ *a nK* (*K* ) *b m* ∂ *h <sup>p</sup>* ∂ *b* 0 *b m* ∂ *h <sup>p</sup>* ⋮ ∂ *b m*-1 *b m* ∂ *h <sup>p</sup>* (16)

This matrix is independent of the complex frequency whose entries are constituted by the derivatives of the coefficients of the fault diagnosis equations with respect to the potentially faulty circuit parameters. If the fault diagnosis equations are generated in a completely sym‐ bolic form, the testability evaluation becomes easy to perform. In this case, the entries of the matrix *E* can be simply led back to derivatives of sums of products and the computational errors are drastically reduced in the automation phase. Once the matrix *E* has been deter‐ mined, testability evaluation can be performed by triangularizing *E* and assigning arbitrary values to the components (since as was previously mentioned, testability does not depend on component values). Yet selecting the matrix *E* instead of the Jacobian matrix as the testa‐ bility matrix results in a different testability measure not directly related to the desired measure. However, this limitation can be overcome by splitting the fault diagnosis equation solution into two phases. In the first phase, starting from the measurements carried out on the selected test points at different frequencies, the coefficients of the fault diagnosis equa‐ tions are evaluated, eventually exploiting a least-squares procedure in order to minimize the error due to measurement inaccuracy. In the second phase, the component values are ob‐ tained by solving the nonlinear system constituted by the equations expressing the previ‐ ously determined coefficients as functions of the circuit parameters. In this way the following nonlinear system has to be solved:

#### Fault Diagnosis in Analog Circuits via Symbolic Analysis Techniques http://dx.doi.org/10.5772/53643 105

$$\begin{array}{ccccc}\frac{a\_0^{(1)}(h)}{b\_m(h^\*)} = A\_0^{(1)} & \cdots & \frac{a\_{n\_1}^{(1)}(h)}{b\_m(h^\*)} = A\_{n\_1}^{(1)} \\\\ \vdots\\ \frac{a\_0^{(K)}(h)}{b\_m(h^\*)} = A\_0^{(K)} & \cdots & \frac{a\_{n\_K}^{(K)}(h^\*)}{b\_m(h^\*)} = A\_{n\_K}^{(K)} \end{array} \tag{17}$$
 
$$\begin{array}{ccccc}\frac{b\_0(h^\*)}{b\_m(h^\*)} = B\_0 & \cdots & \frac{b\_{m-1}(h^\*)}{b\_m(h^\*)} = B\_{m-1} \end{array}$$

where *Ai (l)* and *Bj* (*i*=0,…, *nl* , *j*=0, …, *m*-1) are the coefficients of the fault diagnosis equations in (15) which have been calculated in the previous phase. The Jacobian matrix of this system coincides with the matrix *E* in (16), hence, all the information provided by a Jacobian matrix with respect to its corresponding nonlinear system can be obtained from the matrix *E*. In particular, if rank(*E*) is equal to the number of unknown parameters, the component values can be uniquely determined by solving the equations in (17) through the consideration of a set of measurements carried out on the test points. If the testability *τ*= rank(*E*) is less than the number of unknown parameters *R*, a locally unique solution can be determined only if *R-τ* components are considered not faulty.

where *h* = [*h*1, *h*2, …, *hp*]

104 Analog Circuits

t

*E* =

number of equations, the testability is equal to the rank of a matrix *E* given by

∂ *a* 0 (1) *b m* ∂ *h* <sup>2</sup> ⋮

∂ *a n* 1 (1) *b m* ∂ *h* <sup>2</sup> ⋮

∂ *a* 0 (*K* ) *b m* ∂ *h* <sup>2</sup> ⋮

⋯

∂ *a* 0 (1) *b m* ∂ *h <sup>p</sup>* ⋮

∂ *a n* 1 (1) *b m* ∂ *h <sup>p</sup>* ⋮

∂ *a* 0 (*K* ) *b m* ∂ *h <sup>p</sup>* ⋮

(16)

∂ *a nK* (*K* ) *b m* ∂ *h <sup>p</sup>* ∂ *b* 0 *b m* ∂ *h <sup>p</sup>* ⋮

∂ *b m*-1 *b m* ∂ *h <sup>p</sup>*

⋯

⋯

This matrix is independent of the complex frequency whose entries are constituted by the derivatives of the coefficients of the fault diagnosis equations with respect to the potentially faulty circuit parameters. If the fault diagnosis equations are generated in a completely sym‐ bolic form, the testability evaluation becomes easy to perform. In this case, the entries of the matrix *E* can be simply led back to derivatives of sums of products and the computational errors are drastically reduced in the automation phase. Once the matrix *E* has been deter‐ mined, testability evaluation can be performed by triangularizing *E* and assigning arbitrary values to the components (since as was previously mentioned, testability does not depend on component values). Yet selecting the matrix *E* instead of the Jacobian matrix as the testa‐ bility matrix results in a different testability measure not directly related to the desired measure. However, this limitation can be overcome by splitting the fault diagnosis equation solution into two phases. In the first phase, starting from the measurements carried out on the selected test points at different frequencies, the coefficients of the fault diagnosis equa‐ tions are evaluated, eventually exploiting a least-squares procedure in order to minimize the error due to measurement inaccuracy. In the second phase, the component values are ob‐ tained by solving the nonlinear system constituted by the equations expressing the previ‐ ously determined coefficients as functions of the circuit parameters. In this way the

∂ *a nK* (*K* ) *b m* ∂ *h* <sup>2</sup> ∂ *b* 0 *b m* ∂ *h* <sup>2</sup> ⋮

∂ *b m*-1 *b m* ∂ *h* <sup>2</sup>

∂ *a* 0 (1) *b m* ∂ *h* <sup>1</sup> ⋮

∂ *a n* 1 (1) *b m* ∂ *h* <sup>1</sup> ⋮

∂ *a* 0 (*K* ) *b m* ∂ *h* <sup>1</sup> ⋮

∂ *a nK* (*K* ) *b m* ∂ *h* <sup>1</sup> ∂ *b* 0 *b m* ∂ *h* <sup>1</sup> ⋮

∂ *b m*-1 *b m* ∂ *h* <sup>1</sup>

following nonlinear system has to be solved:

is the vector of the potentially faulty parameters and *K* is the total

The matrix *E* does not give only information about the global solvability degree of the fault diagnosis problem. In fact, by noting that each column is relevant to a specific element or parameter of the circuit and by considering the linearly dependent columns of *E*, other in‐ formation can also be obtained. For example, if a column is linearly dependent with respect to another one, this means that a variation of the corresponding component provides a var‐ iation on the fault-equation coefficients, indistinguishable with respect to that produced by the variation of the component corresponding to the other column. This means that the two components are not testable and they constitute an ambiguity group of the second order. As an example two parallel connected resistors in a circuit where we cannot distinguish which one caused the fault. By extending this reasoning to groups of linearly dependent columns of *E*, ambiguity groups of a higher order can be found. Then, in summary, the following def‐ inition can be formulated.

*Definition* 1*:* A set of components constitutes an ambiguity group of order *j* if the corre‐ sponding columns of the testability matrix *E* are linearly dependent. In other words, the am‐ biguity groups of a circuit in which a certain test point set has been chosen can be determined by locating the linearly dependent columns of the testability matrix *E*. Further‐ more, as was mentioned, an ambiguity group that does not contain other ambiguity groups is called canonical. Therefore, a canonical ambiguity group can be defined as follows.

*Definition* 2*:* A set of *k* components constitutes a canonical ambiguity group of order *k* if the corresponding *k* columns of the testability matrix *E* are linearly dependent and every subset of this group of columns is constituted by linearly independent columns. It is important to notice that with this definition, the order of the canonical ambiguity groups cannot be great‐ er than the testability value plus one *τ* +1.

In most cases the canonical ambiguity groups have some components in common. By unify‐ ing these types of groups, another ambiguity group, corresponding again to linearly de‐ pendent columns of the matrix *E* is obtained. We define as global an ambiguity group of the following type.

*Definition* 3*:* A set of *m* components constitutes a global ambiguity group of order *m* if it is obtained by unifying canonical ambiguity groups having at least one element in common.

Obviously, a canonical ambiguity group which does not have components in common with any other canonical ambiguity group can be considered as a global ambiguity group. Final‐ ly, the columns of the matrix *E* that do not belong to any ambiguity group are linearly inde‐ pendent. We define these as surely testable a group of components of the following kind.

*Definition 4:* A set of *n* components whose corresponding columns of the testability matrix *E* do not belong to any ambiguity group constitutes a surely testable group of order *n*.

Obviously, the number of surely testable components cannot be greater than the testability value *τ*, that is, the rank of the matrix *E*.

With these definitions in mind, the optimum set of testable components can be determined as in [12].

#### **3.2. Formulation of fault equations**

Applying equation (1) to fault-free and faulty circuits, respectively, with the same excitation sources we get

$$T\_o X\_o = W\_o \tag{18}$$

$$TX = \left(T\_o + \Delta T\right)\left(X\_o + \Delta X\right) = W\_o \tag{19}$$

where

$$T = T\_o + \Delta T \tag{20}$$

$$X = X\_o + \Delta X \tag{21}$$

It can be easily shown that

$$
\Delta TX = -T\_o \Delta X \tag{22}
$$

where the parameter variation can be found from the measured values of the faulty circuit, the original system matrix and an estimate of the change of the system matrix due to fault presence

$$
\Delta X = -\, T\_0^{-1} \Delta T X \tag{23}
$$

It is customary to solve equation (23) as a constrained linear optimization problem. Howev‐ er such an approach is limited by the solution time and ambiguity leading to local minimum convergence. Suppose that the first *f* of *p* parameters are faulty and are changed from their nominal values *h10*, *h20*, …., *hf0* to new values *h1*=*h10*+*d1*, *h2*=*h20*+*d2*, …., *hf* =*hf0*+*df* , where *d1*, *d2*, …., *df* are the parameter deviations and the deviation vector *d* is an *f*×*1* vector:

$$d = \begin{bmatrix} d\_1 \ d\_2 \ \cdots \ d\_f \end{bmatrix}^t \tag{24}$$

Define *F* as the faulty parameter set, and assume that each faulty parameter *Fv* ( *v* = 1, 2,..., *f* ) is located on intersection of the corresponding rows *iv* and *jv* and columns *kv* and *lv* of the coefficient matrix *T*. The deviation of the coefficient matrices now has the following form:

$$
\Delta T = \sum\_{v=1}^{f} p\_v d\_v q\_v^t = P\_f \operatorname{diag} \{ d \} Q\_f^t \tag{25}
$$

where *diag* (*d*) is an *f*×*f* diagonal matrix and *Pf* and *Qf* are *g*×*f* matrices which contain 0 and ±1 entries:

$$\begin{aligned} P\_f &= \begin{bmatrix} p\_1 \ p\_2 \ \cdots \ p\_f \end{bmatrix} = \begin{bmatrix} \delta\_{i\_1} \ \cdots \delta\_{j\_1} \ \delta\_{i\_2} \ \cdots \delta\_{j\_2} \ \cdots \ \delta\_{i\_f} \ \ \ \ \delta\_{j\_f} \end{bmatrix} \\ Q\_f &= \begin{bmatrix} q\_1 \ q\_2 \ \cdots \ q\_f \end{bmatrix} = \begin{bmatrix} \delta\_{k\_1} \ \cdots \delta\_{l\_1} \ \delta\_{k\_2} \ \cdots \delta\_{k\_f} \ \cdots \ \delta\_{k\_f} \ \ \end{bmatrix} \end{aligned} \tag{26}$$

Note that *Pf* and *Qf* are sub-matrices of *P* and *Q* respectively. They can be constructed from *P* and *Q* by selecting all columns in *P* and *Q* corresponding to faulty parameters. As an example assume that there are two faulty parameters: R9 is changed from 3.54Ω to 7.9Ω and R37 is changed from 3.12Ω to 2.8 Ω. The corresponding admittance deviations are ΔG9= 1/7.9 - 1/3.54 = -0.1559 / Ω and ΔG37=1/2.8 2/3.12 = 0.03663 /Ω. The corresponding faulty parameter set *F*=[9,37] and the faulty nodes will be [1,14,16]. It can be easily verified that *Pf* and *Qf* are 20×2-matrices which can be obtained from the 9*th* and 37th columns of the matrices *P* and *Q* respectively. It can also be verified that *ΔT* will have entries only at locations {1,1}, {14,14}, {14,16}, {16,14}, {16,16}.

Substituting (25) in (20) we get

pendent columns of the matrix *E* is obtained. We define as global an ambiguity group of the

*Definition* 3*:* A set of *m* components constitutes a global ambiguity group of order *m* if it is obtained by unifying canonical ambiguity groups having at least one element in common.

Obviously, a canonical ambiguity group which does not have components in common with any other canonical ambiguity group can be considered as a global ambiguity group. Final‐ ly, the columns of the matrix *E* that do not belong to any ambiguity group are linearly inde‐ pendent. We define these as surely testable a group of components of the following kind.

*Definition 4:* A set of *n* components whose corresponding columns of the testability matrix *E*

Obviously, the number of surely testable components cannot be greater than the testability

With these definitions in mind, the optimum set of testable components can be determined

Applying equation (1) to fault-free and faulty circuits, respectively, with the same excitation

where the parameter variation can be found from the measured values of the faulty circuit, the original system matrix and an estimate of the change of the system matrix due to fault presence

It is customary to solve equation (23) as a constrained linear optimization problem. Howev‐ er such an approach is limited by the solution time and ambiguity leading to local minimum convergence. Suppose that the first *f* of *p* parameters are faulty and are changed from their

∆ *X* = - *T*<sup>0</sup>

*ToXo* =*Wo* (18)

*T* =*To* + ∆*T* (20)

*X* = *Xo* + ∆ *X* (21)

∆*TX* = - *To* ∆ *X* (22)


*TX* =(*To* + ∆*T* )(*Xo* + ∆ *X* ) =*Wo* (19)

do not belong to any ambiguity group constitutes a surely testable group of order *n*.

following type.

106 Analog Circuits

as in [12].

sources we get

It can be easily shown that

where

value *τ*, that is, the rank of the matrix *E*.

**3.2. Formulation of fault equations**

$$T = T\_o + P\_f \operatorname{diag} \{ d \} \mathbf{Q}\_f^t \tag{27}$$

and to obtain the solution vector for the faulty circuit we use

$$X = T^{-1}W\_o\tag{28}$$

It can be shown using Woodbury formula that the value of *dv* (*v*=1,2,..., *f* ) cannot be zero or infinity to meet with the requirement of inverting [6]. Since *dv* being zero means fault-free parameter and only faulty parameters will be identified by following fault diagnosis algo‐ rithm, we will have only one restriction: *dv* cannot be infinite, which corresponds to the case of open admittance or short impedance. But open or short faults can be dealt with by ideal switches introduced in modified nodal analysis [4]. Therefore, the proposed method can handle open and short faults as well but only if combined with a procedure that repeats the analysis of the circuit after introduction of ideal switches.

The solution vector for fault-free circuit is

$$X\_0 = \left[ \mathbf{x}\_{1,0} \; \mathbf{x}\_{2,0} \; \cdots \; \mathbf{x}\_{g,0} \right]^t \tag{29}$$

where subscript 0 indicates that the denoted parameters are for fault-free circuit. Hence the product of *Qf t* and *X*o can be written as

$$\begin{aligned} \mathbf{Q}\_f^t \mathbf{X}\_0 &= \begin{bmatrix} \boldsymbol{\delta}\_{k\_1} \cdot \boldsymbol{\delta}\_{l\_1} \, \boldsymbol{\delta}\_{k\_2} \cdot \boldsymbol{\delta}\_{l\_2} \cdots \, \boldsymbol{\delta}\_{k\_{f\_f}} \cdot \boldsymbol{\delta}\_{l\_f} \end{bmatrix} \mathbf{X}\_0 \\ \mathbf{I} &= \begin{bmatrix} \mathbf{x}\_{k\_0,0} \, \cdot \, \mathbf{x}\_{l\_1,0} \, \mathbf{x}\_{k\_2,0} \, \cdots \, \mathbf{x}\_{k\_{f\_f,0}} \, \cdots \, \mathbf{x}\_{l\_{f\_f,0}} \mathbf{0} \end{bmatrix} \mathbf{t} \\ &= \begin{bmatrix} \mathbf{x}\_{k\_1 l\_1,0} \, \mathbf{x}\_{k\_2 l\_2,0} \, \cdots \, \mathbf{x}\_{k\_{f\_f,l\_f},0} \mathbf{I} \end{bmatrix} \mathbf{t} \end{aligned} \tag{30}$$

and it has the physical interpretation of controlling nominal signal values (e.g. voltages) on faulty parameter input terminals.

Let us define

$$\begin{aligned} \boldsymbol{\beta} &= \begin{bmatrix} \boldsymbol{\beta}\_1 \ \boldsymbol{\beta}\_2 \ \cdots \ \boldsymbol{\beta}\_n \end{bmatrix}^t = \boldsymbol{T}\_0^{-1} \boldsymbol{P}\_f \\ \boldsymbol{\gamma} &= \mathbf{Q}\_f^{\dagger} \boldsymbol{T}\_0^{-1} \boldsymbol{P}\_f = \mathbf{Q}\_f^{\dagger} \boldsymbol{\beta} \end{aligned} \tag{31}$$

It can be shown that the deviation vector *ΔX* can be obtained by [6]

$$\begin{aligned} \Delta X &= -\beta \mathbf{\bar{L}} \text{diag} \{ d^{-1} \} + \gamma \mathbf{J}^{-1} \mathbf{Q}\_f^{\dagger} X\_0 \\ &= \begin{bmatrix} \alpha\_{11} & \alpha\_{12} & \cdots & \alpha\_{1f} \\ \alpha\_{21} & \alpha\_{22} & \cdots & \alpha\_{2f} \\ \vdots & \vdots & \cdots & \vdots \\ \alpha\_{\mathcal{S}1} & \alpha\_{\mathcal{S}2} & \cdots & \alpha\_{\mathcal{S}f} \end{bmatrix} \begin{bmatrix} \mathbf{x}\_{k\_1 l\_1 0} \\ \mathbf{x}\_{k\_2 l\_2 0} \\ \vdots \\ \mathbf{x}\_{k\_f l\_f \, l} \end{bmatrix} \end{aligned} \tag{32}$$

where

$$\alpha = \cdot \beta \left[ diag\left(d^{-1}\right) + \gamma\right]^{-1}$$

$$= \begin{bmatrix} \alpha\_{11} & \alpha\_{12} & \cdots & \alpha\_{1f} \\ \alpha\_{21} & \alpha\_{22} & \cdots & \alpha\_{2f} \\ \vdots & \vdots & \cdots & \vdots \\ \alpha\_{\mathcal{S}^1} & \alpha\_{\mathcal{S}^2} & \cdots & \alpha\_{\mathcal{S}^f} \end{bmatrix} = \begin{bmatrix} \alpha\_1 \\ \alpha\_2 \\ \vdots \\ \alpha\_{\mathcal{S}} \end{bmatrix} \tag{33}$$

Usually voltage measurement is easier to carry out and is less invasive to analog circuit properties than current measurement. Therefore, we only consider the use of nodal voltage measurement in this formulation. As an example *γ* for our example circuit of Figure 1 as‐ suming the aforementioned faults will be given by

$$
\gamma = \begin{bmatrix} 2.4475 & 0.0145 \\ 0.0145 & 2.5120 \end{bmatrix} \tag{34}
$$

Once we have the fault equations formulated and the faults simulated we can proceed to fault diagnosis.

#### **3.3. Fault diagnosis**

handle open and short faults as well but only if combined with a procedure that repeats the

where subscript 0 indicates that the denoted parameters are for fault-free circuit. Hence the

2,0 ⋯ *xk <sup>f</sup> <sup>l</sup> <sup>f</sup>* ,0

and it has the physical interpretation of controlling nominal signal values (e.g. voltages) on


⋯ *α*<sup>1</sup> *<sup>f</sup>* ⋯ *α*<sup>2</sup> *<sup>f</sup>*

⋯ ⋮ ⋯ *αgf*

*α* = - *β diag*(*d* -1) + *γ*

⋯ *α*<sup>1</sup> *<sup>f</sup>* ⋯ *α*<sup>2</sup> *<sup>f</sup>*

⋯ ⋮ ⋯ *αgf*

Usually voltage measurement is easier to carry out and is less invasive to analog circuit properties than current measurement. Therefore, we only consider the use of nodal voltage

<sup>2</sup> ⋯ *δ<sup>k</sup> <sup>f</sup>* - *δ<sup>l</sup> <sup>f</sup>*

2,0 ⋯ *xk <sup>f</sup>* ,0 - *xl <sup>f</sup>* ,0



*xk*1*l* 1,0 *xk*2*l* 2,0 ⋮ *xk <sup>f</sup> <sup>l</sup> <sup>f</sup>* ,0


*α*1 *α*2 ⋮ *αg*

(33)

=

*t β*

*t*

*<sup>t</sup> X*<sup>0</sup>

*t*

*<sup>t</sup>* (29)

(30)

(31)

(32)

*X*<sup>0</sup> = *x*1,0 *x*2,0 ⋯ *xg*,0

analysis of the circuit after introduction of ideal switches.

and *X*o can be written as

*Q f*

*<sup>t</sup> <sup>X</sup>*<sup>0</sup> <sup>=</sup> *<sup>δ</sup>k*<sup>1</sup>

= *xk*1*<sup>l</sup>*

= *xk*1,0 - *xl*


1,0 *xk*2,0 - *xl*

<sup>1</sup>,0 *xk*2*<sup>l</sup>*

*β* = *β*<sup>1</sup> *β*<sup>2</sup> ⋯ *β<sup>n</sup> <sup>t</sup>* =*T*<sup>0</sup>

*γ* =*Q <sup>f</sup> <sup>t</sup> <sup>T</sup>*<sup>0</sup>

∆ *X* = - *β diag*(*d* -1) + *γ*

It can be shown that the deviation vector *ΔX* can be obtained by [6]

*α*<sup>11</sup> *α*<sup>12</sup> *α*<sup>21</sup> *α*<sup>22</sup>

⋮ ⋮ *αg*<sup>1</sup> *αg*<sup>2</sup>

*α*<sup>11</sup> *α*<sup>12</sup> *α*<sup>21</sup> *α*<sup>22</sup>

⋮ ⋮ *αg*<sup>1</sup> *αg*<sup>2</sup>

=

=

The solution vector for fault-free circuit is

product of *Qf*

108 Analog Circuits

Let us define

where

*t*

faulty parameter input terminals.

During the fault diagnosis we have the CUT with only a limited set of accessible nodes for measurement and excitation. Suppose the *i th* node is accessible for measurement, then by equation (32)

$$
\Delta X\_i \equiv \begin{bmatrix} \alpha\_{i1} & \alpha\_{i2} & \cdots & \alpha\_{if} \end{bmatrix} \mathbf{x}\_{k\_1 l\_1 0} \mathbf{x}\_{k\_2 l\_2 0} \cdots \mathbf{x}\_{k\_f l\_f 0} \mathbf{j} \tag{35}
$$

According to definition of *g*×*f* matrix *α* in equations (33) and (31), matrix *α* does not depend on the location of excitation sources. Thus matrix *α* is invariant when applying the multiple excitation method, i.e., the same coefficients *αij* links deviation of measurements *ΔX<sup>i</sup>* and nominal signal values on faulty parameter *xk <sup>j</sup> l j* independent of the excitation vector applied. After measuring the corresponding nodal voltages on the *i th* node with *m* independent exci‐ tation vectors *We* (*e* = 1, 2,..., *m* ), we then obtain

$$
\Delta X\_i^{(1)} = \begin{bmatrix} \alpha\_{i1} & \alpha\_{i2} & \cdots & \alpha\_{if} \end{bmatrix} \mathbf{x}\_{k\_1 l\_1 0}^{(1)} \mathbf{x}\_{k\_2 l\_2 0}^{(1)} \cdots \mathbf{x}\_{k\_f l\_f , 0}^{(1)} t
$$

$$
\Delta X\_i^{(2)} = \begin{bmatrix} \alpha\_{i1} & \alpha\_{i2} & \cdots & \alpha\_{if} \end{bmatrix} \mathbf{x}\_{k\_1 l\_1 0}^{(2)} \mathbf{x}\_{k\_2 l\_2 0}^{(2)} \cdots \mathbf{x}\_{k\_f l\_f , 0}^{(2)} t
$$

$$
\vdots
$$

$$
\Delta X\_i^{(m)} = \begin{bmatrix} \alpha\_{i1} & \alpha\_{i2} & \cdots & \alpha\_{if} \end{bmatrix} \mathbf{x}\_{k\_1 l\_1 0}^{(m)} \mathbf{x}\_{k\_2 l\_2 0}^{(m)} \cdots \mathbf{x}\_{k\_f l\_f , 0}^{(m)} t
$$

or in matrix form

$$\Delta X\_{i}^{\mathcal{M}} = \begin{bmatrix} \Delta X\_{i}^{\text{(1)}} \\ \Delta X\_{i}^{\text{(2)}} \\ \vdots \\ \Delta X\_{i}^{\text{(m)}} \end{bmatrix} = \begin{bmatrix} \mathbf{x}\_{k\_{1}l\_{1}0}^{\text{(1)}} \mathbf{x}\_{k\_{2}l\_{2}0}^{\text{(1)}} & \cdots & \mathbf{x}\_{k\_{f}l\_{f},0}^{\text{(1)}} \\ \mathbf{x}\_{k\_{1}l\_{1}0}^{\text{(2)}} \mathbf{x}\_{k\_{2}l\_{2}0}^{\text{(2)}} & \cdots & \mathbf{x}\_{k\_{f}l\_{f},0}^{\text{(2)}} \\ & \vdots \\ \mathbf{x}\_{k\_{1}l\_{1}0}^{\text{(m)}} \mathbf{x}\_{k\_{2}l\_{2}0}^{\text{(m)}} & \cdots & \mathbf{x}\_{k\_{f}l\_{f},0}^{\text{(m)}} \end{bmatrix} \begin{bmatrix} \alpha\_{i1} \\ \alpha\_{i2} \\ \vdots \\ \alpha\_{if} \end{bmatrix} \tag{37}$$
 
$$= \mathbf{X}\_{b}^{M \text{F}} \boldsymbol{\alpha}\_{i}$$

where superscript *M* denotes the set of multiple excitations and *m* is the number of these excitations. The single measurement node can be one of the nodes used for multiple excita‐ tion method, and then the total number of accessible excitation nodes should be *m*. Assume that *f* ≤ *m*-1 ≤ *p*, then the coefficient matrix *XbMF* has more rows than columns thus guaran‐ teeing the uniqueness of the solution to equation (37) with verification. Equation (37) estab‐ lishes the linear relationship between the measured responses of the faulty circuit *ΔX<sup>i</sup> <sup>M</sup>* and the faulty parameter deviations *d* since vector *α<sup>i</sup>* is a linear functions of *d* according to equa‐ tion (33). Therefore equation (37) is called the *fault diagnosis equation*, and the coefficient ma‐ trix *XbMF* is called the *fault diagnosis matrix* [6].

As said earlier, with only a limited number of accessible nodes the issue of testability and consistency of the selected set of accessible nodes to detect *f* number of simultaneous faults immediately arises. However, testability is not the focus of this chapter. We assume that the given measurement set can give at least one finite solution to circuit parameters.

As the first stage of fault diagnosis, fault detection is easily implemented. If the measure‐ ment deviation vector *ΔX<sup>i</sup> <sup>M</sup>* in the fault diagnosis equation is a zero vector, obviously the CUT is judged as fault-free for the given excitation and measurement sets. Otherwise, at least one fault is judged detected by the given measurement set. To identify the faulty pa‐ rameters, first let us analyze the fault diagnosis equation. The left-side of equation (37) is a known vector from measurements; the right side is the product of an unknown coefficient matrix *XbMF* and an unknown solution vector *α<sup>i</sup>*. According to equation (30), matrix *XbMF* is determined by faulty parameter locations and *X*0, solution vector for the fault-free circuit. Hence the columns in *XbMF* represent the differences between the nominal values of nodal voltages or parameter currents across the 2 input nodes of the faulty parameters. Although we do not know matrix *XbMF* initially for the CUT since we do not know initially the location or number of faults, but we really know all of the nodal voltages and parameter currents in the fault-free circuit!

Similarly as in equation (30), we can construct a new *m*×*p* matrix *XbMP* as follows

$$\begin{aligned} \mathbf{Q}^{\mathsf{f}} \mathbf{X}\_{0} &= \begin{bmatrix} \boldsymbol{\delta}\_{k\_{1}} \ -\boldsymbol{\delta}\_{l\_{1}} \ \boldsymbol{\delta}\_{k\_{2}} \ -\boldsymbol{\delta}\_{l\_{2}} \ \cdots \ \boldsymbol{\delta}\_{k\_{p}} \ -\boldsymbol{\delta}\_{l\_{p}} \end{bmatrix}^{\mathsf{f}} \mathbf{X}\_{0} \\ \mathbf{=} &= \begin{bmatrix} \mathbf{x}\_{k\_{1},0} \ -\mathbf{x}\_{l\_{1},0} \ \mathbf{x}\_{k\_{2},0} \ -\mathbf{x}\_{l\_{2},0} \ \cdots \ \mathbf{x}\_{k\_{p},0} \ -\mathbf{x}\_{l\_{p},0} \end{bmatrix}^{\mathsf{f}} \\ &= \begin{bmatrix} \mathbf{x}\_{k\_{1}l\_{1},0} \ \mathbf{x}\_{k\_{2}l\_{2},0} \ \cdots \ \mathbf{x}\_{k\_{p}l\_{p},0} \end{bmatrix}^{\mathsf{f}} \end{aligned} \tag{38}$$

$$\mathbf{X}\_{b} \stackrel{MP}{\rightarrow} \begin{bmatrix} \mathbf{x}\_{k\_1 l\_1, 0}^{(1)} \mathbf{x}\_{k\_2 l\_2, 0}^{(1)} & \cdots & \mathbf{x}\_{k\_{p'} l\_{p'} 0}^{(1)} \\ \mathbf{x}\_{k\_1 l\_1, 0}^{(2)} \mathbf{x}\_{k\_2 l\_2, 0}^{(2)} & \cdots & \mathbf{x}\_{k\_{p'} l\_{p'} 0}^{(2)} \\ & \vdots \\ \mathbf{x}\_{k\_1 l\_1, 0}^{(m)} \mathbf{x}\_{k\_2 l\_2, 0}^{(m)} & \cdots & \mathbf{x}\_{k\_{p'} l\_{p'} 0}^{(m)} \end{bmatrix} \tag{39}$$

where superscript *P* denotes the set of all *p* circuit parameters. Each column of *XbMP* corre‐ sponds to one circuit parameter. Evidently, the fault diagnosis matrix *XbMF* is a sub-matrix of *XbMP* and can be constructed by collecting all columns in *XbMP* corresponding to the faulty parameters. Apparently matrix *XbMF* has more rows than columns whereas *XbMP* has less rows than columns due to the restriction *f* ≤ *m*-1 ≤ *p*.

where superscript *M* denotes the set of multiple excitations and *m* is the number of these excitations. The single measurement node can be one of the nodes used for multiple excita‐ tion method, and then the total number of accessible excitation nodes should be *m*. Assume that *f* ≤ *m*-1 ≤ *p*, then the coefficient matrix *XbMF* has more rows than columns thus guaran‐ teeing the uniqueness of the solution to equation (37) with verification. Equation (37) estab‐ lishes the linear relationship between the measured responses of the faulty circuit *ΔX<sup>i</sup>*

tion (33). Therefore equation (37) is called the *fault diagnosis equation*, and the coefficient ma‐

As said earlier, with only a limited number of accessible nodes the issue of testability and consistency of the selected set of accessible nodes to detect *f* number of simultaneous faults immediately arises. However, testability is not the focus of this chapter. We assume that the

As the first stage of fault diagnosis, fault detection is easily implemented. If the measure‐

CUT is judged as fault-free for the given excitation and measurement sets. Otherwise, at least one fault is judged detected by the given measurement set. To identify the faulty pa‐ rameters, first let us analyze the fault diagnosis equation. The left-side of equation (37) is a known vector from measurements; the right side is the product of an unknown coefficient

determined by faulty parameter locations and *X*0, solution vector for the fault-free circuit. Hence the columns in *XbMF* represent the differences between the nominal values of nodal voltages or parameter currents across the 2 input nodes of the faulty parameters. Although we do not know matrix *XbMF* initially for the CUT since we do not know initially the location or number of faults, but we really know all of the nodal voltages and parameter currents in

<sup>2</sup> ⋯ *δ<sup>k</sup> <sup>p</sup>* - *δ<sup>l</sup> <sup>p</sup>*

2,0 ⋯ *xk <sup>p</sup>*,0 - *xl <sup>p</sup>*,0

*t*

2,0 ⋯ *xk <sup>p</sup><sup>l</sup> <sup>p</sup>*,0

⋮

*<sup>t</sup> X*<sup>0</sup>

*t*

*<sup>M</sup>* in the fault diagnosis equation is a zero vector, obviously the

given measurement set can give at least one finite solution to circuit parameters.

Similarly as in equation (30), we can construct a new *m*×*p* matrix *XbMP* as follows


<sup>1</sup>,0 *xk*2,0 - *xl*

1,0 *xk*2*<sup>l</sup>*

*xk*1*l* 1,0 (1) *xk*2*<sup>l</sup>* 2,0 (1) <sup>⋯</sup> *xk <sup>p</sup><sup>l</sup> <sup>p</sup>*,0 (1)

*xk*1*l* 1,0 (2) *xk*2*<sup>l</sup>* 2,0 (2) <sup>⋯</sup> *xk <sup>p</sup><sup>l</sup> <sup>p</sup>*,0 (2)

*xk*1*l* 1,0 (*m*) *xk*2*<sup>l</sup>* 2,0 (*m*) <sup>⋯</sup> *xk <sup>p</sup><sup>l</sup> <sup>p</sup>*,0 (*m*)

the faulty parameter deviations *d* since vector *α<sup>i</sup>*

matrix *XbMF* and an unknown solution vector *α<sup>i</sup>*.

*Q t*

*X* <sup>0</sup> = *δk*<sup>1</sup>

= *xk*1*<sup>l</sup>*

= *xk*1,0 - *xl*

*Xb MP* =

trix *XbMF* is called the *fault diagnosis matrix* [6].

ment deviation vector *ΔX<sup>i</sup>*

110 Analog Circuits

the fault-free circuit!

*<sup>M</sup>* and

(38)

(39)

is a linear functions of *d* according to equa‐

According to equation (30), matrix *XbMF* is

For the purpose of fault identification, we need to find out which set or sets of columns in *XbMP* can satisfy the fault diagnosis equation, i.e. the dependency between *ΔX<sup>i</sup> <sup>M</sup>* and the de‐ sired coefficient matrix in fault diagnosis matrix.

Basically *ΔX<sup>i</sup> <sup>M</sup>* vector for all *p* parameters has to be generated from the fault-free circuit and stored as a dictionary of fault-free response to *m* multiple excitations over the designated *m* accessible nodes. This dictionary will be used later to determine whether the CUT is faulty and will be used in locating the faults. It must be emphasized that only one node for voltage measurement is sufficient for this method although multiple linearly-independent excita‐ tions are required across all *m* accessible nodes for successful fault location. It is thus possi‐ ble to use only one of the accessible *m* nodes to carry out the measurements while using the rest to carry out the excitations. As an example node {2} in Figure1 is selected as the only measurement node, while nodes {2, 4, 15, 16, 17} are selected as accessible nodes for the mul‐ tiple excitations. That is the unit current source is applied to these nodes respectively and the corresponding nodal voltage at node {2} is measured. Thus the measured changes of no‐ dal voltage will be

$$
\Delta X^M = \begin{bmatrix} 0.89005 \\ 0.91400 \\ 0.03651 \\ 0.032306 \\ 0.038445 \end{bmatrix} \tag{40}
$$

One obvious way is to have a combinatorial search through all columns in *XbMP*, which is the traditional way in the fault verification method [15] and requires a number of operations of the order *O*(∑ *i*=1 *f* ( *p i* )) for *f* limited faults among *p* parameters. This is equivalent to assuming that any number of faults up to *f* simultaneous faults have occurred randomly in any subset of the *p* parameters then evaluate the response to such faults and compare it to the meas‐ ured response. However, the method being described here is more efficient than that and involves locating the minimum size ambiguity group which satisfies the fault diagnosis equation. An ambiguity group is defined as a set of parameters corresponding to linearly dependent columns of *XbMP* which in general does not give a unique solution in fault identi‐ fication. Minimum size ambiguity groups (called canonical ambiguity groups) can be found using a linear combination matrix with minimum number of non-zero entries as will be shown shortly. But to generate this we need to perform a Gaussian elimination step.

#### *3.3.1. Gaussian eliminaion step*

Let us first denote an augmented *m*×*(p+1)* matrix *BS* as the concatenation of the stored dic‐ tionary vector *ΔX<sup>i</sup> <sup>M</sup>* and the matrix *XbMP*:

$$B\_S = \begin{bmatrix} \Delta X\_i^M & X\_b^{MP} \end{bmatrix} \tag{41}$$

Then we will normalize the first column of matrix *BS* to have a unity in its first row,

$$\stackrel{\wedge}{B}\_S(\mathbf{i}, \ 1) = \frac{B\_S(\mathbf{i}, \ 1)}{B\_S(\mathbf{1}, \mathbf{1})}, \quad \mathbf{i} = \mathbf{1}, \ 2, \ \cdots, \ m. \tag{42}$$

If the first entry of matrix *BS*, *BS(1,1)* happens to be zero, just permute or swap the rows of *BS* so that the first entry *BS(1,1)* is non-zero. Such a nonzero entry must exist since *ΔX<sup>i</sup> <sup>M</sup>* is a non-zero vector for faulty circuit. Eliminate the remaining entries in the first row of matrix *BS* by performing a similar operation to Gaussian elimination as follows:

$$\stackrel{\wedge}{B}\_S(\mathbf{i}\_\prime, \mathbf{j}) = B\_S(\mathbf{i}\_\prime, \mathbf{j}) \text{ - } \frac{B\_S(\mathbf{i}\_\prime, \mathbf{1})}{B\_S(\mathbf{1}, \mathbf{1})} B\_S(\mathbf{1}, \mathbf{j}) , \quad \mathbf{i} = \mathbf{1} , \ \mathbf{2} , \ \cdots , \ m ; \mathbf{j} = \mathbf{2}, \mathbf{3} , \ \cdots , \ \mathbf{p} + \mathbf{1} . \tag{43}$$

Finally we obtain *m*×*(p+1)* matrix *B* ^ *<sup>S</sup>* in the following form:

$$\stackrel{\wedge}{B}\_S = \begin{bmatrix} 1^{1 \times 1} & 0^{1 \times p} \\ (\Delta \stackrel{\wedge}{X}\_i)^{(m-1)\times 1} & B^{(m-1)\times p} \end{bmatrix} \tag{44}$$

where the superscript represents the size of a vector or a matrix. Matrix *B* is obtained from *XbMP* after elimination of dependence on *ΔX<sup>i</sup> <sup>M</sup>* and is called the **verification matrix** [6]. The dependency of the desired columns of matrix *B* surely indicates the dependency between *ΔX<sup>i</sup> <sup>M</sup>* and the desired columns of matrix *XbMP*. Thus we can only concentrate on the depend‐ ency among the columns of the verification matrix *B*.

#### *3.3.2. QR factorization*

The rank *r* of the matrix *B* determines a maximum number of faults that can be uniquely identified by solving the fault diagnosis equation. Because *m-1<p*, *B* can be permuted col‐ umn wise and decomposed into two linearly dependent sub-matrices as follows

$$perm(B) = \begin{bmatrix} B\_1 & B\_2 \end{bmatrix} = B\_1 \begin{bmatrix} I & C \end{bmatrix} \tag{45}$$

$$B\_2 = B\_1 C$$

where *perm* refers to column-wise permutation, (*m-*1)×*r* matrix *B1* has the full column rank equal to the rank *r* of the matrix *B*, and *r* ×( *p* − *r*) matrix *C* is called linear combination matrix whose columns expand a set of basis columns from *B1* into the corresponding columns of *B2*. It can be easily shown that *B1 is a sub-matrix of B with all the rows and only a subset of the col‐* *umns (called the basis set) while B2 is a sub-matrix of B with all the rows and the remaining set of the columns (called the co-basis set).* Note that the selection of independent columns of *B1* is not unique and is an important issue in solving the fault diagnosis equation in the presence of ambiguities. Different partitions define different linear combination matrices *C*.

*3.3.1. Gaussian eliminaion step*

*<sup>M</sup>* and the matrix *XbMP*:

*B* ^

*<sup>S</sup>* (*i*, *<sup>j</sup>*)= *BS* (*i*, *<sup>j</sup>*) - *BS* (*i*, 1)

*XbMP* after elimination of dependence on *ΔX<sup>i</sup>*

ency among the columns of the verification matrix *B*.

Finally we obtain *m*×*(p+1)* matrix *B*

*BS* = ∆ *X<sup>i</sup>*

*<sup>S</sup>* (*i*, 1)= *BS* (*i*, 1)

*BS* by performing a similar operation to Gaussian elimination as follows:

^

(∆ *X* ^ *i* )

*B* ^

Then we will normalize the first column of matrix *BS* to have a unity in its first row,

tionary vector *ΔX<sup>i</sup>*

112 Analog Circuits

*B* ^

*3.3.2. QR factorization*

*ΔX<sup>i</sup>*

Let us first denote an augmented *m*×*(p+1)* matrix *BS* as the concatenation of the stored dic‐

*<sup>M</sup> Xb*

If the first entry of matrix *BS*, *BS(1,1)* happens to be zero, just permute or swap the rows of *BS* so that the first entry *BS(1,1)* is non-zero. Such a nonzero entry must exist since *ΔX<sup>i</sup>*

non-zero vector for faulty circuit. Eliminate the remaining entries in the first row of matrix

*<sup>S</sup>* in the following form:

where the superscript represents the size of a vector or a matrix. Matrix *B* is obtained from

dependency of the desired columns of matrix *B* surely indicates the dependency between

The rank *r* of the matrix *B* determines a maximum number of faults that can be uniquely identified by solving the fault diagnosis equation. Because *m-1<p*, *B* can be permuted col‐

where *perm* refers to column-wise permutation, (*m-*1)×*r* matrix *B1* has the full column rank equal to the rank *r* of the matrix *B*, and *r* ×( *p* − *r*) matrix *C* is called linear combination matrix whose columns expand a set of basis columns from *B1* into the corresponding columns of *B2*. It can be easily shown that *B1 is a sub-matrix of B with all the rows and only a subset of the col‐*

umn wise and decomposed into two linearly dependent sub-matrices as follows

*<sup>M</sup>* and the desired columns of matrix *XbMP*. Thus we can only concentrate on the depend‐

*<sup>S</sup>* <sup>=</sup> <sup>1</sup>1×1 <sup>0</sup>1× *<sup>p</sup>*

*MP* (41)

*<sup>M</sup>* is a

*BS* (1,1) , *<sup>i</sup>* =1, 2, ⋯, *m*. (42)

*BS* (1,1) *BS* (1, *<sup>j</sup>*), *<sup>i</sup>* =1, 2, ⋯, *m*; *<sup>j</sup>* =2,3, <sup>⋯</sup>, *<sup>p</sup>* + 1. (43)

*perm*(*B*)= *<sup>B</sup>*<sup>1</sup> *<sup>B</sup>*<sup>2</sup> <sup>=</sup> *<sup>B</sup>*<sup>1</sup> *I C* (45)

*B*<sup>2</sup> = *B*1*C* (46)

(*m*-1)×1 *<sup>B</sup>* (*m*-1)× *<sup>p</sup>* (44)

*<sup>M</sup>* and is called the **verification matrix** [6]. The

Since an ambiguity group is a set of circuit parameters corresponding to linearly dependent columns of *B*, we define a canonical ambiguity group as a minimal set of parameters corre‐ sponding to linearly dependent columns of *B*. This means that if any single parameter is re‐ moved from the canonical ambiguity group, then the remaining set corresponds to independent columns of *B* and can be uniquely solvable. A combination of canonical ambi‐ guity groups with at least one common element was defined as ambiguity cluster.

To efficiently deal with fault verification problem, we will look for a partition (45) with the matrix *C* in a minimum form, which is defined as such a matrix that one or several of its columns have the maximum number of entries equal to zero. Thus, we can get the minimum number of columns in *XbMP* satisfying the fault diagnosis equation (37). The corresponding partition (45) is called a canonical form of the fault diagnosis equation. Notice that according to fault verification principles [15] it is enough to find a single entry in one column of *C* equal to zero to solve the fault diagnosis equation. Yet since many such solutions exist we will select the column with the maximum number of zeros assuming that the faulty re‐ sponse was caused by the smallest number of faults. This column and all rows with nonzero entries will correspond to the faulty parameters as indicated by the element of co-basis *B2* and elements of basis *B1*, respectively.

One way to find these matrices from the matrix *B* with high numerical stability is based on *QR* factorization [8], which can find a solution of over determined system of linear equations that minimizes the least square error. As a result of the *QR* factorization of (*m-*1)×*p* verifica‐ tion matrix *B*, we obtain:

$$BE = QR\tag{47}$$

where *E* is *p*×*p* column selection matrix, *Q* is *(m-1)*×*(m-1)* orthogonal matrix, and *R* is *(m-1)*×*p* upper triangular matrix. Each column of matrix *E* has only one nonzero entry, which is equal to one. Matrix product *BE* represents the permutation of the original col‐ umns of the verification matrix *B* requested in equation (45). Matrix *R* has its rank equal to the rank of matrix *B*. Since *R* is an upper triangular matrix and *m-1<p*, *R* can be written as

$$R = \begin{bmatrix} R\_1 & R\_2 \end{bmatrix} \tag{48}$$

where *R1* is *r*×*r* upper triangular and has its rank equal to the rank of the verification matrix *B*. Having this factorization computed, it can be shown that [8]

$$perm(B) = BE \tag{49}$$

$$\mathbf{C} = \mathbf{R}\_1 \mathbf{^{-1}R\_2} \tag{50}$$

$$B\_1 = QR\_1 \tag{51}$$

Furthermore the basis set will be the row values of the non-zero elements in the first *r* col‐ umns of *E* while the co-basis will be the row values of the remaining *p-r* columns of *E*. As an example, the values of *R*1 for our example circuit of Figure 1 is

$$R\_1 = \begin{bmatrix} 10.5475 & \text{-2.9444} & 0.0028 & \text{2.3965} \\ 0 & \text{3.5435} & \text{-0.0014} & \text{-2.8011} \\ 0 & 0 & \text{2.4161} & \text{-0.0005} \\ 0 & 0 & 0 & \text{1.7202} \end{bmatrix} \tag{52}$$

The column permutation is {*39, 15, 2, 35*, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 4, 36, 37, 38, 1}. Thus the basis is {39, 15, 2, 35} and co-basis is {5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 4, 36, 37, 38, 1}.

#### *3.3.3. Swapping performance*

A single *QR* run cannot guarantee that the matrix *C* will be obtained with one or sever‐ al of its columns having the maximum number of zero entries if the proper basis is not selected. To find the minimum form partition, we have to swap one parameter of the basis with one parameter of the co-basis in the ambiguity cluster in order to increase number of nonzero entries in *C*. Note that swapping parameters of the basis and the co-basis can be performed independently in different ambiguity clusters, since different clusters have mutually disjoint sets of parameters. There are simply two conditions to consider in swapping performance:

**a.** The necessary condition for swapping to increase the number of zero entries in *C* is that the columns of basis and co-basis to be swapped have a singular 2×2 sub-matrix of non‐ zero entries.

Let us consider a linear combination matrix *C* with a 2×2 singular sub-matrix

$$R\_1 = \begin{bmatrix} 10.5475 & \text{-2.9444} & 0.0028 & \text{2.3965} \\ 0 & \text{3.5435} & \text{-0.0014} & \text{-2.8011} \\ 0 & 0 & \text{2.4161} & \text{-0.0005} \\ 0 & 0 & 0 & \text{1.7202} \end{bmatrix} \tag{53}$$

with all nonzero entries. If we swap the *j th* element of the basis with *kth* element of the cobasis, then after swapping, the *kth* column of *C* changes to

Fault Diagnosis in Analog Circuits via Symbolic Analysis Techniques http://dx.doi.org/10.5772/53643 115

$$\mathbf{C}\_{k} = \mathbf{-}\frac{1}{c\_{\cdot k}} \begin{bmatrix} c\_{1k} & c\_{2k} & \cdots & 1 & \cdots & c\_{rk} \end{bmatrix}^{t} \tag{54}$$

In addition, all other columns of matrix *C* will be equal to

*C* =*R*<sup>1</sup>

example, the values of *R*1 for our example circuit of Figure 1 is

10.5475 -2.9444 0 3.5435

> 0 0 0 0

*R*<sup>1</sup> =

29, 30, 31, 32, 33, 34, 4, 36, 37, 38, 1}.

consider in swapping performance:

*R*<sup>1</sup> =

basis, then after swapping, the *kth* column of *C* changes to

with all nonzero entries. If we swap the *j*

zero entries.

*3.3.3. Swapping performance*

114 Analog Circuits

Furthermore the basis set will be the row values of the non-zero elements in the first *r* col‐ umns of *E* while the co-basis will be the row values of the remaining *p-r* columns of *E*. As an

The column permutation is {*39, 15, 2, 35*, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 4, 36, 37, 38, 1}. Thus the basis is {39, 15, 2, 35} and co-basis is {5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,

A single *QR* run cannot guarantee that the matrix *C* will be obtained with one or sever‐ al of its columns having the maximum number of zero entries if the proper basis is not selected. To find the minimum form partition, we have to swap one parameter of the basis with one parameter of the co-basis in the ambiguity cluster in order to increase number of nonzero entries in *C*. Note that swapping parameters of the basis and the co-basis can be performed independently in different ambiguity clusters, since different clusters have mutually disjoint sets of parameters. There are simply two conditions to

**a.** The necessary condition for swapping to increase the number of zero entries in *C* is that the columns of basis and co-basis to be swapped have a singular 2×2 sub-matrix of non‐

> 0.0028 2.3965 -0.0014 -2.8011

> 2.4161 -0.0005 01.7202

*th* element of the basis with *kth* element of the co-

Let us consider a linear combination matrix *C* with a 2×2 singular sub-matrix

10.5475 -2.9444 0 3.5435

> 00 00

0.0028 2.3965 -0.0014 -2.8011

2.4161 -0.0005 0 1.7202


(52)

(53)

*B*<sup>1</sup> =*QR*<sup>1</sup> (51)

$$\mathbf{C}\_{n} = \begin{bmatrix} c\_{1n} \ -\frac{c\_{jn}c\_{1k}}{c\_{ik}} & c\_{2n} \ -\frac{c\_{jn}c\_{2k}}{c\_{ik}} & \cdots & \frac{c\_{jn}}{c\_{ik}} & \cdots & c\_{rn} - \frac{c\_{jn}c\_{k\ell}}{c\_{ik}} \end{bmatrix} \tag{55}$$

Such that all zero locations in the *kth* column of *C* will be zero as they were in the original *C*. However, as can be deducted from (53), a nonzero location *cim* in row *i* and column *m* will become zero. It is understood that if one element in the current basis has been swapped into the basis by the previous swapping performance, then this element will not be considered during the later swapping.

Any columns of *C* with zero entries form an ambiguity group *F* and has to be considered for further processing. Since ambiguities may exist in the original matrix *XbMP* then *F* contains all faults in the CUT only if the corresponding columns in *XbMP* are independent. Hence we must consider the following condition

**b.** The necessary condition for an ambiguity group *F* of the linear combination matrix *C* to contain the set of all faults in the tested circuit is that the rank of the corresponding col‐ umns in matrix *Xb MP* is equal to the cardinality of *F*

$$\text{rank}\{\text{columns in } X\_b^{\text{MP}} \text{ corresponding to } F\} \text{=} \text{card}\{F\} \tag{56}$$

Thus according to this condition any ambiguity group of the verification matrix which do satisfy (55) needs to be further analyzed. The stopping criterion for the above procedure can simply be *τ* the testability measure found from the symbolic analysis.

As an example for our circuit of Figure 1, careful study of the generated *C* matrix reveals multiple zero entry at columns 5,12, 32, 33, and 34 (corresponding to nodes {9}, {16}, {36}, {37}, and {38} from the co-basis). The non-zero row entries will either be on rows 1, 2, 4 (cor‐ responding to nodes {39}, {15} and {35} from the basis) or on rows 2, 3, and 4 (corresponding to nodes {15}, {2} and {35}). Thus the corresponding ambiguity clusters include {39, 15, 9, 35}, {16, 15, 2, 35}, {39, 15, 36, 35}, {39, 15, 37, 35}, and {39, 15, 38, 35}. Yet none of these ambiguity clusters satisfies condition (b) except for the first one. Accordingly only one suspicious faul‐ ty group F={39, 15, 35, 9} is qualified with parameter {9} from the co-basis and parameters {39, 15, 35} from the basis. The current minimum size of qualified F is 4.

Searching for the 2×2 singular matrix with non-zero entries in *C* reveals that parameter {9} from the co-basis should be swapped with the parameter {39} from the basis according to the swapping procedure in condition (a), and a new matrix *C* results. Re-applying condition (b) to the new matrix *C*, 5 qualified suspicious faulty groups are obtained: F={9, 2, 35, 5}, F={9, 15, 35, 39}, F={9, 15, 35, 36}, F={9, 15, 38} and F={9, 37}. Obviously, F={9, 37} is the unique solution with the minimum size equal to 2. Since no smaller size of faulty set F can be found by swapping, thus F={9, 37} is the only solution located by the procedure of fault diagnosis which is the exact solution for the given CUT.

Once the fault locations are determined the fault values must be evaluated and com‐ pared with the element tolerances before giving a final judgment on the circuit whether being faulty or not.

#### *3.3.4. Parameter evaluation*

After locating the faulty parameters, the matrix *XbMF* can be found from the matrix *XbMP* by taking only the columns corresponding to the fault locations. Then the invariant vector *α<sup>i</sup>* can be uniquely solved from equation (37)

$$\alpha\_i = \left( \{ \mathbf{X}\_b^{MF} \}^t \mathbf{X}\_b^{MF} \right)^{-1} \{ \mathbf{X}\_b^{MF} \}^t \Delta \mathbf{X}\_i^{M} \tag{57}$$

where this form is used since the system is over-determined with *XbMF* being non-square. Finally the deviation vector *d* can be exactly computed by

$$d = \alpha\_i \ ./ \ \ (\beta - \alpha\_i \gamma) \tag{58}$$

where. / is an element-by-element division of two vectors. What remains after evaluating the deviations is to compare them to the element allowable tolerances to decide finally whether the measured CUT performance is still considered acceptable or deemed faulty. Basically, when the fault locations and parameter deviations are found, all the circuit can be re-solved to get all the node voltages and element currents of the CUT.

#### **3.4. Mixed symbolic numerical algorithm for fault diagnosis**

A computer program which implements the fault diagnosis discussed above can be easily advised. In Phase 1, a topological description of the circuit is obtained and the circuit is solved numerically. Since nominal values of circuit parameters are known, all nodal voltag‐ es in fault-free circuit can be solved by (18). In phase 2, an upper limit for the testability *τ* needs to be determined for the provided set of accessible nodes. It is not generally required to obtain a fully symbolic solution of the circuit and only a partial symbolic solution would be sufficient. In phase 3 we need to measure the nodal voltages of the *i th* node in the CUT under multiple excitation method to obtain measurement deviation vector *ΔX<sup>i</sup> <sup>M</sup>*. In phase 4 we need to generate the fault locator matrix *XbMP* from equations (38) and (39) then use it to find the linear combination matrix *C* after the Gaussian elimination step and the QR factori‐ zation. In Phase 5, analysis of the combination matrix is done where *F* denotes one suspi‐ cious fault set and min(size(*F*)) represents a scalar which is equal to the minimum size of all suspicious fault sets. In Phase 6, if several suspicious fault sets have the same minimum size, min(size(*F*)), select one of them arbitrarily for analysis. Only one parameter in the selected *F* is from the co-basis and the remaining parameters are from the basis. Swap that co-basis pa‐ rameter which corresponds to column *k* in matrix *C* with one of basis parameters which cor‐ responds to row *j* in the matrix *C*. By (53) and (54), all zero entries in the column k of matrix *C* will be held after swapping while new zero-entry will appear in another column of new matrix *C*, thus the new value of min(size(*F*)) will be equal to, or less than the old value be‐ fore swapping.

There are two rules for swapping. One is that row *j* is selected with nonzero *cjk* on the intersection of row *j* and column *k* of matrix *C*. Another rule is that if one parameter in the current basis has been swapped into the basis by the previous swapping operation, then this element will not be considered during the later swapping operation. Usually *m*-1 is far less than *p*, and the rank of *r*×(*p*-*r*) matrix *C*, *r* is not greater than *m*-1, thus there are far less basis parameters than co-basis parameters. The comprehensive swap‐ ping between the co-basis parameter *k* and the basis parameters are very limited, as a result of the two swapping principles.

In Phase 7 equivalent adjoint suspicious fault sets are recorded. In Phase 8 the correspond‐ ing fault diagnosis matrices *XbMF* are found from the fault locator matrix. In Phase 9 the in‐ variant vector *α<sup>i</sup>* is evaluated. Phase 10 is used for verification. One or several suspicious fault sets with minimum size are used to compute the deviation vector *ΔX*. If a computed vector matches the real measured vector *ΔX<sup>i</sup> <sup>M</sup>*, the corresponding fault set *F* is our final solu‐ tion to faulty parameters. Otherwise, we discard this set, and turn to the adjoint suspicious fault sets recorded in Phase 7. Verification in this phase continues until at least one qualified solution to faulty parameters is found. Otherwise, the CUT is concluded as un-solvable be‐ cause the restriction *f* ≤ m - 1 is not satisfied. In the final Phase the parameter variations are compared to the element tolerances to decide if the circuit response is indeed faulty or just shifted within the accepted tolerance.

## **4. Conclusion**

by swapping, thus F={9, 37} is the only solution located by the procedure of fault diagnosis

Once the fault locations are determined the fault values must be evaluated and com‐ pared with the element tolerances before giving a final judgment on the circuit whether

After locating the faulty parameters, the matrix *XbMF* can be found from the matrix *XbMP* by taking only the columns corresponding to the fault locations. Then the invariant vector *α<sup>i</sup>*

*MF* )-1(*Xb*

./ (*β* - *α<sup>i</sup>*

where this form is used since the system is over-determined with *XbMF* being non-square.

where. / is an element-by-element division of two vectors. What remains after evaluating the deviations is to compare them to the element allowable tolerances to decide finally whether the measured CUT performance is still considered acceptable or deemed faulty. Basically, when the fault locations and parameter deviations are found, all the circuit can be re-solved

A computer program which implements the fault diagnosis discussed above can be easily advised. In Phase 1, a topological description of the circuit is obtained and the circuit is solved numerically. Since nominal values of circuit parameters are known, all nodal voltag‐ es in fault-free circuit can be solved by (18). In phase 2, an upper limit for the testability *τ* needs to be determined for the provided set of accessible nodes. It is not generally required to obtain a fully symbolic solution of the circuit and only a partial symbolic solution would

we need to generate the fault locator matrix *XbMP* from equations (38) and (39) then use it to find the linear combination matrix *C* after the Gaussian elimination step and the QR factori‐ zation. In Phase 5, analysis of the combination matrix is done where *F* denotes one suspi‐ cious fault set and min(size(*F*)) represents a scalar which is equal to the minimum size of all suspicious fault sets. In Phase 6, if several suspicious fault sets have the same minimum size, min(size(*F*)), select one of them arbitrarily for analysis. Only one parameter in the selected *F* is from the co-basis and the remaining parameters are from the basis. Swap that co-basis pa‐ rameter which corresponds to column *k* in matrix *C* with one of basis parameters which cor‐

*MF* )*<sup>t</sup>* ∆ *Xi*

*<sup>M</sup>* (57)

*th* node in the CUT

*<sup>M</sup>*. In phase 4

*γ*) (58)

which is the exact solution for the given CUT.

can be uniquely solved from equation (37)

*α<sup>i</sup>* =((*Xb*

Finally the deviation vector *d* can be exactly computed by

to get all the node voltages and element currents of the CUT.

**3.4. Mixed symbolic numerical algorithm for fault diagnosis**

*MF* )*<sup>t</sup> Xb*

*d* =*α<sup>i</sup>*

be sufficient. In phase 3 we need to measure the nodal voltages of the *i*

under multiple excitation method to obtain measurement deviation vector *ΔX<sup>i</sup>*

being faulty or not.

116 Analog Circuits

*3.3.4. Parameter evaluation*

In this chapter, a generalized fault diagnosis and verification approach for linear analog cir‐ cuits was discussed. Fault verification methods intend to obtain the information about the faulty circuit based on the limited measured responses of the faulty circuit. There are two easily implemented prerequisites: one is that the circuit topology and nominal values of cir‐ cuit parameters should be known, another is that the number of measurements minus one is not less than the number of faulty parameters. A symbolic method is proposed to solve the testability problem during the detection, and location of the multiple faults in a linear ana‐ log circuit in frequency domain, then to exactly evaluate the faulty parameter deviations.

Applying the Woodbury formula in the matrix theory to the modified nodal analysis, fault diagnosis equation is constructed to establish the relationship between the meas‐ ured responses and the faulty parameter deviations in a linear way. A numerically ro‐ bust approach has been modified to fit the condition stated in this chapter in order to implement fault location, i.e., location of the minimum size ambiguity group in the fault diagnosis equation based on QR factorization. Parameter evaluation is then per‐ formed from results of the analysis of fault diagnosis equation.

One node for voltage measurement is sufficient for the proposed method although mul‐ tiple excitations are required for fault location. Although the faulty parameter deviation cannot be infinity, open or short condition can be dealt with well by switches in modi‐ fied nodal analysis.

Therefore, the faults can be parametric or catastrophic. The proposed method is extremely effective for large parameter deviations and a very limited number of accessible nodes used for excitations and measurements. The computation cost for the fault location is on the order of O(p3 ), and compares favorably with the combinatorial search traditionally used in fault verification methods which requires the number of operations *O*(∑ *f* ( *p* )).

*i*=1

*i*

## **Author details**

Fawzi M Al-Naima1\* and Bessam Z Al-Jewad2

\*Address all correspondence to: fawzi.alnaima@ieee.org

1 College of Engineering, Nahrain University, Baghdad, Iraq

2 Dept. of Communications and Computers Engg., Cihan University, Erbil, Iraq

## **References**


[6] Liu D, Starzyk J A. A Generalized Fault Diagnosis Method in Dynamic Analogue Circuits. International Journal of Circuit Theory and Applications ICTACV, 2002; 30(5) 487-510.

One node for voltage measurement is sufficient for the proposed method although mul‐ tiple excitations are required for fault location. Although the faulty parameter deviation cannot be infinity, open or short condition can be dealt with well by switches in modi‐

Therefore, the faults can be parametric or catastrophic. The proposed method is extremely effective for large parameter deviations and a very limited number of accessible nodes used for excitations and measurements. The computation cost for the fault location is on the order

verification methods which requires the number of operations *O*(∑

Fawzi M Al-Naima1\* and Bessam Z Al-Jewad2

\*Address all correspondence to: fawzi.alnaima@ieee.org

1 College of Engineering, Nahrain University, Baghdad, Iraq

2 Dept. of Communications and Computers Engg., Cihan University, Erbil, Iraq

Transaction on Circuits and Systems–II 1998; 45(10), 1383-1388.

cuits and Systems, ICECS2011, Beirut, December 2011.

[1] Fedi G, Giomi R, Luchetta A, Manetti S, Piccirilli M C. On the Application of Symbol‐ ic Techniques to the Multiple Fault Location in Low Testability Analog Circuits. IEEE

[2] Bushnell M L, Agrawal V D. Essentials of Electronic Testing. Kluwer Academic Pub‐

[3] Fedi G, Giomi R, Luchetta A, Manetti S, Piccirilli M C. Symbolic Algorithm for Ambi‐ guity Group Determination in Analog Fault Diagnosis: proceedings of Europian Conference on Circuit Theory and Design, ECCTD1997, Budapest, Hungary, August

[4] Vlach J, Singhal K. Computer Methods for Circuit Analysis and Design. Van Nos‐

[5] Al-Naima F M, Al-Jewad B Z. Mixed Symbolic-Numerical Techniques in Fault Diag‐ nosis Using Fault Rubber Stamps. IEEE International Conference on Electronics, Cir‐

), and compares favorably with the combinatorial search traditionally used in fault

*i*=1 *f* ( *p i* )).

fied nodal analysis.

**Author details**

**References**

lisher; 2000.

trand Reinhold; 1994.

1997.

of O(p3

118 Analog Circuits


## *Edited by Yuping Wu*

The invariable motif for analog design is to explore the new circuit topologies, architectures and CAD technologies to overcome the design challenges coming from the new applications and new fabrication technologies.

In this book, a new architecture for a SAR ADC is proposed to eliminate the process mismatches and minimize the errors. A collection of DG-MOSFET based analog/ RFICs present the excellent performance; the automated system for a passive filter circuits design is presented with the local searching engaging; interval analysis is used to solve some problems for linear and nonlinear analog circuits and a symbolic method is proposed to solve the testability problem.

Photo by Veleri / iStock

Analog Circuits

Analog Circuits

*Edited by Yuping Wu*