1 Introduction

Fault diagnosis of analog circuit, which was first proposed for military in 1960’s, is an interesting research topic in circuit theory [6, 9, 10]. Unfortunately, it’s development was not very well due to the complexity of analog circuit, the tolerance of analog fault and some other related factors. Until recently, with the development of artificial intelligence, some interesting and useful results in other fields are used to fault diagnosis of analog circuit, which makes it becoming a new interdisciplinary. More importantly, fault diagnosis of analog circuit now has the advantage of higher diagnosis accuracy, less computation and greatly reduced complexity compared with the traditional methods in 1960s and 1970s. Therefore, the employment of artificial intelligence in fault diagnosis of analog circuit has attracted more and more researchers’ interest. Some interesting results in this aspect mainly include fuzzy neural network, wavelet transformation, simulated annealing algorithm, support vector machine and so on [1, 3, 7, 8, 11, 12, 15, 1820, 22]. Simulated annealing has the shortcomings of slow convergent speed, long execution time, and its algorithm performance is very sensitive to the initial values and parameters. Support vector machine (SVM) solves the support vector by using quadratic programming, in which the calculation of the m-order matrix is involved. When the value of m is very big, it takes a lot of computing time and a great amount of machine memory for the computation and storage of the matrix. Hence, when the SVM is used as the classifier in the fault diagnosis of analog circuits, the SVM algorithm is very hard to implement on large-scale training samples. When fuzzy neural network is used for fault diagnosis of analog circuits, one can hardly determine the structure of the network and has the problem of regular point “combination explosion”. In addition, the automatic extraction of fuzzy rules and automatic generation and optimization of fuzzy variable membership functions have always been a difficulty plaguing the further promotion of fuzzy information processing technology. The general procedures of using the above-mentioned method to analog circuit fault diagnosis are as follows. Firstly, stimulus signals are applied to the circuit under test; Secondly, the original fault signals are extracted; Thirdly, fault eigenvectors are constructed and then faults are identified. Among them, the third step of constructing the fault eigenvectors is the key procedure. Unfortunately, most of the current results [1, 3, 7, 8, 11, 12, 15, 1820, 22] can not give a very good answer to this step. The commonly-used method, in which original voltage fault signals are first transformed by wavelet transformation and then analyzed by using PCA, can maintain the characteristics of the original information to some extent. However, from the aspect of signal statistics, principal constituents coming from PCA only involve second order statistics. When the input random variables obey Gaussian distribution, each principal component is independent. As for random variables with non-Gaussian distribution, the high-order statistics contain some information which should not be neglected. In addition, the information of single voltage signals extracted by this method can not maximally express the fault features of a circuit, and then the fault diagnosis accuracy is sometimes not satisfactory. Therefore, to improve the accuracy, it is necessary to take wide range of information as fault eigenvectors for circuit fault diagnosis. Motivated by above discussions, this paper applies information fusion into analog circuit fault diagnosis, and we also consider another important information, i.e. electric current of analog circuit, as an information source for fault eigenvectors construction. Thus fault eigenvectors are determined by voltage and current signals. Then we propose a fault diagnosis method of analog circuit by combining high-order cumulants and information fusion. The brief procedure of our method is as follows: we first collect original voltage and current signals from output terminal in order to determine their kurtosis and skewness as fault eigenvectors, and then they are used as input to improve Error Back Propagation (BP) neural network for fault diagnosis. Soft fault diagnosis of tested circuits shows that fault eigenvectors gained in this way have high recognition rate, and fault diagnosis accuracy reaches to 100 %. Moreover, it can diagnose non-linear circuit faults and catastrophic faults successfully, which provides a new effective method for fault diagnosis of analog circuit.

2 High-Order Cumulants, Kurtosis, and Skewness

High-order cumulants (HOC) technique is a new rapidly developed technology in recent years, and is an important tool to deal with non-Gaussian signals, nonlinear signals and blind signals, and it has attracted increasing attention. It’s of great advantages, and one of the most important one is that it can detect nonlinear characteristics and extract the coupling characteristics among the signals. Moreover, it is insensitive to Gaussian noise and can abandon the effects of interference of noise. What’s more, it can completely eliminate the noise theoretically, and improve the analysis and identification accuracy. The nonlinearity of fault signal of analog circuit itself, combined with the effects of temperature and environment make the fault signal inevitably noisy. Therefore, it’s necessary and applicable for us to use high-order cumulants to deal with the fault signal of analog circuit.

2.1 High-Order Cumulants

With respect to single random variable, introducing the characteristic function gives the definition of high-order cumulants C k as follows:

$$ {C}_k=\frac{1}{j^k}{\left.\frac{d^k\psi \left(\omega \right)}{d{\omega}^k}\right|}_{\omega =0}k=1,2,\cdots, n $$
(1)

in which

$$ \psi \left(\omega \right)= \ln \phi \left(\omega \right) $$
$$ \phi \left(\omega \right)={\displaystyle {\int}_{-\infty}^{\infty }f(x) \exp \left(j\omega x\right)dx=E\left[ \exp \left(j\omega x\right)\right]} $$

where E{·} is an operator of demand expectations, standing for statistical average; the functions ψ(ω) and ϕ(ω) respectively denote the first and the second characteristic function of random variable x.

With respect to random vector x = (x 1, x 2, ⋯, x k )T, the definition of high-order cumulants is given as follows:

$$ \begin{array}{l}{C}_{\gamma_1,{\gamma}_2,\cdots, {\gamma}_k}={\left(-j\right)}^{\gamma }{\left.\frac{\partial^{\gamma}\psi \left({\omega}_1,\cdots, {\omega}_k\right)}{\partial^{\gamma_1}{\omega}_1\cdots {\partial}^{\gamma_k}{\omega}_k}\right|}_{\omega_1=\cdots {\omega}_k=0}=\\ {}{\left(-j\right)}^{\gamma }{\left.\frac{\partial^{\gamma } \ln \phi \left({\omega}_1,\cdots, {\omega}_k\right)}{\partial^{\gamma_1}{\omega}_1\cdots {\partial}^{\gamma_k}{\omega}_k}\right|}_{\omega_1=\cdots {\omega}_k=0}\end{array} $$
(2)

where ϕ(ω 1, ⋯, ω k ) = E[exp(j(ω 1 x 1 + ⋯ + ω k x k ))], γ = γ 1 + γ 2 + ⋯ γ k . Especially, when γ 1 = γ 2 = γ 3 = 1 and γ = 3, the third-order cumulant is marked as:

$$ {C}_{3x}={C}_{1,1,1}=cum\left({x}_1,{x}_2,{x}_3\right) $$
(3)

Generally, k-order cumulant is defined as follow:

$$ {C}_{kx}\left({\tau}_1,\cdots {\tau}_{k-1}\right)=cum\left[x(t),x\left(t+{\tau}_1\right),\cdots, x\left(t+{\tau}_{k-1}\right)\right] $$
(4)

2.2 Kurtosis and Skewness

If {x(n)} is the stationary random process of zero mean, then first-order, second-order, third-order, and fourth-order cumulants can be illustrated as:

$$ {C}_{1x}={m}_{1x}=E\left\{x(t)\right\} $$
(5)
$$ {C}_{2x}\left(\tau \right)=E\left\{x(t)x\left(t+\tau \right)\right\}={R}_x(t) $$
(6)
$$ {C}_{3x}\left({\tau}_1,{\tau}_2\right)=E\left\{x(t)x\left(t+{\tau}_1\right)x\left(t+{\tau}_2\right)\right\} $$
(7)
$$ \begin{array}{l}{C}_{4x}\left({\tau}_1,{\tau}_2,{\tau}_3\right)=E\left\{x(t)x\left(t+{\tau}_1\right)x\left(t+{\tau}_2\right)x\left(t+{\tau}_3\right)\right\}\\ {}-{R}_x\left({\tau}_1\right){R}_x\left({\tau}_3-{\tau}_2\right)-{R}_x\left({\tau}_2\right){R}_x\left({\tau}_3-{\tau}_1\right)\\ {}-{R}_x\left({\tau}_3\right){R}_x\left({\tau}_2-{\tau}_1\right)\end{array} $$
(8)

where R x stands for autocorrelation. In equation (7), taking τ 1 = τ 2 = 0, we can obtain 1-D slice of third-order cumulants, which was defined as skewness of real signal {x(n)} and marked as S x  = E{x 3(t)}. Similarly, in equation (8), taking τ 1 = τ 2 = τ 3 = 0 gives another important concept named as kurtosis: K x  = E{x 4(t)} − 3E 2{x 2(t)}

Based on the above definition, we know that first-order and second-order cumulants of random variable x of Gaussian distribution are respectively the mean and variance of x, and high-order cumulants of Gaussian random variable x is always equal to zero. As for Gaussian random process {x(n)}, its high-order cumulants are always equal to zero as well when its order exceeds 2. Therefore, one can conclude that high-order cumulants are not sensitive to Gaussian process. When the external noise is the Gaussian colored one, high-order cumulants can completely eliminate the effect of noise and improve the accuracy of identification and diagnosis in theory.

3 Improvement of Error Back Propagation (BP)Neural Network

In this paper, Error Back Propagation Neural network (BPNN) is used to fault identification based on error back-propagation. Although BP algorithm has been applied successfully in many aspects, it also has some limits. The BPNN changes weights by using Momentum Descent Algorithm, in which one of the main problems is that in error functions, the global optimum can not be found and it is easy to get caught into local minima during the training progress. In addition, the results of BPNN depends on some parameters determined by the designers, such as weights initialization, offset value, learning rate, activation function, network topology and the gain of activation function. Except the improved BP algorithm based on the momentum, there are very few reports on the improvement of BP algorithm by the other methods. Bishop proposed an effective algorithm to improve the training efficiency. The main idea is that the gradient along the search direction can be partially modified by the gain value of the corresponding node activation function, which improves the convergence of their own optimization algorithm [2, 13]. Ransing et al. used the modification of activation function gain to contribute the value of a global learning rate and a local learning rate to each node of the neural network [14]. Based on Ransing’s theory, Nawi draws the conclusion that this gain modification is actually the change of the initial search direction d (n). Weights change of BP network based on this idea can be illustrated as:

$$ \varDelta {w}_{ij}^{(n)}=-{\eta}^{(n)}\frac{\partial E}{\partial {w}_{ij}^{(n)}}c(n)=-{\eta}^{(n)}g(n)c(n) $$
(9)

in which g(n)c(n) is the error gradient vector of gain vector c(n). And the updated expression of the gradient vector is:

$$ c\left(n+1\right)=c(n)+\eta \frac{\partial E}{\partial c(n)} $$
(10)

4 Information Fusion Technology and Diagnosis Principle

The concept of information fusion was originated in early 1970s, and in the recent 20 years, its corresponding technology has attracted more and more attention [16, 17, 21]. Generally speaking, the process of information fusion is a overall systematic process of dealing with multi-source information, which can be used to increase the amount of information and make random information ordered by using the dynamic of information calculation. It is a feature fusion method to diagnose faults by using neural network information fusion [4]. In this paper, we use this method to diagnose and identify the running condition of analog circuits, and the basic idea behind is as follows—there is a causality between circuit running and various failure symptoms, but the complex relationship is difficult to be expressed explicitly; fortunately, neural network, thanks to its own identity, is very effective to identify the uncertainty of circuit running modes.

Analog circuit fault diagnosis, based on neural network information fusion, mainly includes the following steps.

  1. (1)

    Signal acquisition

    Signal acquisition is the premise for information fusion of analog circuit. In this paper, output voltage and current signals are used to perform fault diagnosis.

  2. (2)

    Feature extraction

    Voltage and current signals collected from circuit may contain a large amount of redundant information, which bring enormous amount of computation for subsequent processing and would have great influence on the diagnosis speed and the efficiency. In order to reduce the amount of computation, we need to preprocess the collected signals in order to extract its important features.

  3. (3)

    Normalization

    The physical meanings of various parameters are quite different as features and their numerical values are also inconsistent. In order to use neural network to identify the classification of various states, it is necessary to normalize them with premnmx function of Matlab within [−1,1] to eliminate the interference of physical units of the characteristic parameters and to make numerical analysis possible..

  4. (4)

    Characteristics association

    The eigenvectors must be processed jointly before we use neural network information fusion classifiers to cope with the characteristics information of multi-sensors. Current eigenvectors should be synthesized with eigenvectors of output voltage to make them crisscross merge and form united ones, and then these vectors can be used as input of the neural network.

  5. (5)

    Information fusion classifiers of neural network

    Multilayer perceptron of error back-propagation algorithm (BP network) is used to fuse multilined message.

  6. (6)

    Diagnosis results

    Relevant vectors of fault features of tested circuits are used as input of the trained BP network to obtain the diagnostic output results, and then the circuit fault mode can be identified.

Diagnosis principle is represented in Fig. 1. We choose an easily produced sinusoidal stimulatory signals as the stimulus. Firstly, a stimulus is exerted on the circuit under test. Secondly, the terminal voltage and current signals of circuit are obtained from the output. Thirdly, by using the analysis toolbox of high-order cumulants, we can determine kurtosis and skewness of terminal signals as the fault eigenvectors. Finally, they are used as the input of neural network for fault diagnosis.

Fig. 1
figure 1

Diagnostic schematic

5 Diagnosis Example

6.1 Our diagnosis circuit is a quad op-amp high-pass filter (see Fig. 2), in which R1 = R4 = 5kΩ, R2 = R3 = R5 = R8 = R9 = R10 = 10kΩ, R6 = 3 kΩ,R7 = 4kΩ,C1 = 20 nF, C2 = 5 nF, and the amplitude of input AC voltageVin is 6 V.

Fig. 2
figure 2

Four op-amp biquad high pass filter

When circuit simulation software PSpice is used to do sensitivity analysis on four op-amp biquad high pass filter, we observe that the circuit output sensitivity value of R1, R4, R6, R7, C1, and C2 is higher than that of the other components. In other words, the changes of these six component values have bigger influence on the circuit output than the other components. Hence, based on the fault analysis of the six component values, the six component values are considered to be normal within a tolerance range of 5 %. Considering the fault phenomenon of 50 % positive bias and 50 % negative bias of each of the six component values, together with the fault-free(NF) status of circuits, a total of 13 fault statuses were analyzed.

Three-layer BP neural network with single hidden layer is used as fault classifier. The number of its input layers is equal to the number of fault eigenvector elements. Here, the fault eigenvectors are composed of the output voltage, the current skewness and kutorsis. Then, the numbers of neurons in the input and output layers are respectively 4 and 13, where 13 is the number of fault states. Output vectors are defined as follows: Suppose that there are M kinds of states in the tested circuit, and network output is (a1,a2,….ai….aj….aM); If the circuit locates in state i, and if ai = 1 and the rest is equal to 0 (i.e. desired output vectors of network are (0,0,….1,….0)), then the number of neurons in hidden layers can be determined by the following empirical formula [5]:

$$ \sqrt{m+n}+1\le h\le \sqrt{m+n}+10 $$
(11)

where “m” denotes the number of input neurons, and “n” denotes the number of output neurons. We use the improved algorithm based on equations (9) and (10) in Section 3 as the neural network training algorithm.

In order to obtain the sample set, a 5 % tolerance was set for each faulty component when PSpice is used in simulation, and then the Monto Carlo analysis was used. In Monto Carlo analysis, corresponding setting can be performed in order to obtain a desired sample quantity. Under this circumstance, a total of 100 samples were set for each fault status, in which 60 were training samples and 40 were test samples. When PSpice simulation is finished for each fault status, the obtained data can be imported into MATLAB by using data import function in MATLAB File menu.

Table 1 shows the kurtosis and skewness determined by high-order cumulants in various states of the circuit. Figure 3 demonstrates the regular curve of output voltage skewness with respect to the values of R1, R4, R6 and R7, and Fig. 4 shows the curve of skewness with respect to the capacitors C1 and C2. Figure 5 deplicits the classified results of failure diagnosis obtained by the kurtosis and skewness data.

Table 1 Feature values for different fault classes of the four-opamp biquad filter without tolerance
Fig. 3
figure 3

Change curve of output voltage skewness of four-opamp biquad high-pass filter on R1、R4、R6 and R7

Fig. 4
figure 4

Change curve of output voltage skewness of four-opamp biquad high-pass filter on C1、C2

Fig. 5
figure 5

Fault category results of four-opamp biquad high-pass filter obtained from data of Table 1

From Fig. 3, one can observe that the skewness of the output voltage shows the ascending trend as R1 changes: it increases when resistance values lie between 0 and 10 k, and it reaches the peak of 3.2632 when R1 is 10 k, while it remains at about 3.2632 from 10 k to the infinity. The skewness value of the output voltage firstly ascends and then descends when R4 changes. That is, the skewness value increases, when resistance values are between 0 ohm and 5 ohms, and it reaches the peak of 5.8257 when R4 is 5ohms, but from then on, it descends when R4 is between 5 ohms and 10 k ohms. When R4 is 10 k ohms, the corresponding skewness value declines to 3.2632 or so; and between 10 k ohms and 10 M ohms, it remains at this point; while from 10 M ohms to 100 M ohms, it declines to −0.2295; and from that on, however R4 changes, it always stops at this point. For R6, the skewness value of output voltage has the ascending trend. Between 0 M and 1 M, the value increases, and it reaches the maximum of 4.8527 when R6 Value is 1 M. After that, although the resistance value increases, there is no obvious change. For R7, the skewness shows the descending trend. Between 0 k and 10 k, the value of it decreases from 4.2536 to 3.2137, and from 10 k to the infinity, the value is kept at this point.

From Fig. 4, it can be found that the skewness value of the output voltage, with respect to the changes of C1 and C2, has the trend from rise to fall to constancy. When C1 and C2 are respectively 2,000 nF and 10 nF, the corresponding skewness values are 0.4258 and 3.2363, the lowest points. Since then, the values of the two are nearly the same. Changing rule of kurtosis to each component is consistent to that of skewness.

After the neural network is well trained, 40 test samples were used to conduct test diagnosis on the network. The diagnostic results are shown in Table 2. Table 3 shows the diagnosis results obtained by using support vector machine as classifier, in which c is the penalty coefficient, γ is the kernel width parameter and the Gaussian kernel is used as the kernel function.

Table 2 Detailed performance of our system in diagnosing the 13 fault classes associated with the four op-amp biquad high-pass filter.each row in this table corresponds to one fault class with a test data of size 40. Different columns indicate the number of times the test data are diagnosed as belonging to various fault classes
Table 3 Diagnosis results using support vector machine

From Table 3, we can see that, when the penalty coefficient and kernel width parameter are changed, the resulting average diagnostic accuracies of the support vector machine are respectively 73.97 %, 71.79 %, and 72.44 %., which are much lower than that of our method proposed in this paper. In addition,in Literature 4, wavelet transform is used to decompose the obtained fault signal, and then principal component analysis is acted on the decomposition coefficients to obtain the data, which are used as fault eigenvectors. As we have mentioned that the principal component analysis is based on the second-order statistics, from which the resulting fault eigenvectors, by comparing with high-order cumulants used in this paper, fails to fully represent the fault characteristics and/or information very effectively. Moreover, in the process of acquisition of fault signal considers, Literature 4 only considers the output voltage, while our proposed method includes both the voltage signal and current signal. Therefore, comparing with the method of Literature 4, the fault eigenvectors constructed by our proposed method can distinguish the faults more effectively. By the comparison of the diagnosis results between two methods, we find that on the fault diagnosis of four op amp biquad filter circuits, Literature 4’s method fails to diagnose C2↓, R1↑and R4↓, while our proposed method can accurately diagnose 13 categories of fault of four op amp biquad high-pass filter circuits. Similarly, Literature 5 also uses wavelet transform to decompose the fault signal, and then the mean and standard deviation of the obtained wavelet coefficients are normalized. Such data processing, from the view point of statistic, is also based on second-order statistics, and hence the obtained fault eigenvectors contains less information comparing with that extracted by our proposed method. From the aspect of diagnostic results, the final fault diagnosis accuracy of Literature5 is 90 %, which is also less than our fault diagnostic accuracy.

6.2 Finally, fault diagnosis of a nonlinear circuit is used to illustrate the efficiency of our proposed method proposed in this paper. The nonlinear circuit is shown in Fig. 6. The AC input voltage value is 10, in which 9 states are taken into consideration. That is, the four states of 50 % positive bias and 50 % negative bias of R1 and R3 and the short and open states of C1 and C 2 plus the fault-free state.

Fig. 6
figure 6

Nonlinear circuit

Within 5 % tolerance range of the component values, Monte-Carlo analysis has been done for each state of the circuit for 200 times, among which 100 times for training samples and 100 times for identifying samples. Table 4 illustrates the kurtosis and skewness of voltage and current under various fault modes, in which the changing rule curves of output voltage skewness with respect to R1, R2, R3 and C1 and C2 are respectively shown in Figs. 7 and 8. The fault category results obtained by the kurtosis and skewness data are shown in Fig. 9. From Fig. 9, we observe that most of the faults can be well distinguished except that the fuzzy sets of faults F0 and F6 (respectively the normal state and the open circuit of capacitor C1) are mixed. From Table 4, the same conclusion can be obtained, that is, the values of kurtosis and skewness under the two modes are quite similar. Therefore, neural networks can not be distinguished.

Table 4 Feature values for different fault classes of the nonlinear circuit
Fig. 7
figure 7

Change curve of output voltage skewness of nonlinear circuit onR1、R2and R3

Fig. 8
figure 8

Change curve of output voltage skewness of nonlinear circuit on C1、C2

Fig. 9
figure 9

Fault category results of nonlinear circuit Obtained from Data of Table 6

6 Conclusion

In this paper, we study the problem of fault signals in analog circuit by using high-order cumulants and information fusion. Kurtosis and skewness of fault signals are used as fault eigenvectors, which are then used as the inputs in the improved BP neural network for fault diagnosis. The improvement of BP neural network is also discussed. Diagnosis examples show that our obtained fault eigenvectors are significantly different with high recognition rate and qiuck BP network convergence. Hence its diagnosis accuracy rate is higher than that of other general methods, and it provides a new and effective way for the construction of fault eigenvectors and also the fault diagnosis of analog circuit.