Analog circuit fault mode classification method

10706332 ยท 2020-07-07

Assignee

Inventors

Cpc classification

International classification

Abstract

An analog circuit fault mode classification method comprises the following implementation steps: (1) collecting M groups of voltage signal sample vectors V.sub.ij to each of fault modes F.sub.i of the analog circuit by using a data collection board; (2) sequentially extracting fault characteristic vectors V.sub.ij.sup.F of the voltage signal sample vectors V.sub.ij by using subspace projection; (3) standardizing the extracted fault characteristic vectors V.sub.ij.sup.F to obtain standardized fault characteristic vectors; (4) constructing a fault mode classifier based on a support vector machine, inputting the standardized fault characteristic vectors, performing learning and training on the classifier, and determining structure parameters of the classifier; and (5) completing determination of fault modes according to fault mode determination rules. The fault mode classifier of the present invention is simple in learning and training and reliable in mode classification accuracy.

Claims

1. An analog circuit fault mode classification method, comprising: (1) collecting M groups of voltage signal sample vectors V.sub.ij at a node to be tested under each of fault modes F.sub.i of the analog circuit by using a data collection board, wherein j=1, 2, . . . , M, i=1, 2, . . . , N, V.sub.ij represents a j.sup.th voltage signal sample vector of a i.sup.th fault mode, and N represents a total number of the fault modes; (2) sequentially extracting fault characteristic vectors V.sub.ij.sup.F of the voltage signal sample vectors V.sub.ij working under the fault modes F.sub.i by using subspace projection, wherein i=1, 2, . . . , N, j=1, 2, . . . , M, and V.sub.ij.sup.F represents a fault characteristic vector of the j.sup.th voltage signal sample under the i.sup.th fault mode; (3) standardizing the extracted fault characteristic vectors V.sub.ij.sup.F to obtain standardized fault characteristic vectors {circumflex over (V)}.sub.ij.sup.F, wherein a computing method for obtaining the standardized fault characteristic vectors is V ^ ij F = V ij F .Math. V ij F .Math. ; (4) sequentially constructing a binary-class support vector machine with respect to two different fault modes F.sub.i.sub.1 and F.sub.i.sub.2, wherein i.sub.1=1, 2, . . . , N, i.sub.2=1, 2, . . . , N, and i.sub.1i.sub.2, N is the total number of the fault modes, then N(N1)/2 different binary-class support vector machines can be constructed in total; and (5) classifying a standardized fault characteristic vectors to be tested to obtain a classification result by simultaneously feeding a standardized fault characteristic to be tested into the N(N1)/2 binary-class support vector machines in response to the fault mode to be tested is classified to the fault mode F.sub.i by the binary-class support vector machine and i=1, 2, . . . , N, adding 1 to the votes of the fault mode F.sub.i, and, determining the fault modes having most votes is a circuit to be tested belongs to.

2. The analog circuit fault mode classification method according to claim 1, wherein the step of extracting the fault characteristic vectors V.sub.ij.sup.F by using the subspace projection in step (2) comprises: (2.1) computing dimensionality L of the voltage signal sample vectors V.sub.ij: L=length(V.sub.ij); (2.2) generating an LL dimensional Toeplitz transformation matrix : = [ F 11 F 12 .Math. F 1 L F 12 F 13 .Math. F 11 .Math. .Math. .Math. .Math. F 1 L F 11 .Math. F 1 ( L - 1 ) ] , wherein F 1 k = e - j 2 L k , k = 1 , 2 , .Math. , L ; (2.3) computing a projected vector of the voltage signal sample vectors V.sub.ij in the Toeplitz transformation matrix : V.sub.p=.sup.TV.sub.ij, wherein T represents to transpose a matrix; (2.4) computing maximum projection subspace and the fault characteristic vectors V.sub.ij.sup.F: (2.4.1) initializing a subspace projection coordinate dimensionality K: K=log.sub.2(N), wherein represents rounding up to an integer, and N is the total number of the fault modes of the circuit to be tested; (2.4.2) constructing a maximum projection subspace index vector I with a dimensionality of 1K, and initializing the maximum projection subspace index vector into a 1K dimensional null vector, i.e., I=[0 0 . . . 0], and meanwhile constructing a counting variable p and initializing p=1; (2.4.3) updating the maximum projection subspace index vector I: I(p)=Index(Max(|V.sub.p|)), wherein I(p) herein represents the p.sup.th vector value in the vector I, Max() represents to compute a maximum vector element, V.sub.p represents the projected vector of the voltage signal sample vectors V.sub.ij in the Toeplitz transformation matrix , and Index() represents to calculate an index; (2.4.4) determining whether p<K; if no, then performing step (2.4.5); otherwise, performing p=p+1 and using 0 to replace the maximum element in the projected vector V.sub.p, and retuning to step (2.4.3); (2.4.5) using I vector elements as row index values of the Toeplitz transformation matrix to extract corresponding row vectors to constitute a matrix .sub. with a dimensionality of KL; (2.4.6) computing the maximum projection subspace .sub..sup.: .sub..sup.=(.sub..sub..sup.T).sup.1.sub.; and (2.4.7) computing the fault characteristic vector V.sub.ij.sup.F with subspace projection: V.sub.ij.sup.F=.sub..sup.V.sub.ij.

3. The analog circuit fault mode classification method according to claim 1, wherein the specific step of constructing each binary-class support vector machine in step (4) comprises: (4.1) constructing a binary classifier decision model f ( x ) = .Math. i N _ i y i exp ( - .Math. x - x i .Math. 2 / 2 ) + b , wherein N represents the number of training data samples, x.sub.i is called as a support vector, .sub.i is a certain real number, b is a bias, and y.sub.iy={+1, 1} is a class identifier; (4.2) dividing a training sample set: constituting the standardized fault characteristic vectors {circumflex over (V)}.sub.i.sub.1.sub.j.sup.F and {circumflex over (V)}.sub.i.sub.2.sub.j.sup.F under the fault modes F.sub.i.sub.1 and F.sub.i.sub.2 into a training sample set S={{S.sub.+}, {S.sub.}}, wherein j=1, 2, . . . , M, S.sub.+={({circumflex over (V)}.sub.i.sub.1.sub.1.sup.F, +1), ({circumflex over (V)}.sub.i.sub.1.sub.2.sup.F, +1), . . . , ({circumflex over (V)}.sub.i.sub.1.sub.M.sup.F, +1)}, S.sub.={({circumflex over (V)}.sub.i.sub.2.sub.1.sup.F, 1), ({circumflex over (V)}.sub.i.sub.2.sub.2.sup.F, 1), . . . , ({circumflex over (V)}.sub.i.sub.2.sub.M.sup.F, 1)}, a class identifier of F.sub.i.sub.1 is defined as +1, and a class identifier of F.sub.i.sub.2 is defined as 1; (4.3) using the training sample set S to train the binary classifier decision model so as to determine parameters .sub.i and b of the binary-class support vector machine; (4.4) outputting a determination function of the binary-class support vector machine: y = sgn ( .Math. i N _ i y i exp ( - .Math. x - x i .Math. 2 / 2 ) + b ) , wherein sgn() is a sign function, and N represents the number of the training data samples; and (4.5) completing a mode determination for a characteristic to be tested according to the determination function: determination votes during test process are performed according to the determination function; if y=1 is outputted, then the votes of the fault mode F.sub.i.sub.1 plus 1; otherwise, the votes of the fault mode F.sub.i.sub.2 plus 1.

4. The analog circuit fault mode classification method according to claim 3, wherein the specific step of using the training sample set S to train the binary classifier decision model so as to determine the parameters .sub.i and b of the binary-class support vector machine in step (4.3) comprises: (4.3.1) standardizing a kernel matrix: K _ = [ K _ 11 K _ 12 .Math. K _ 1 , 2 M K _ 21 K _ 22 .Math. K _ 2 , 2 M .Math. .Math. .Math. .Math. K _ 2 M , 1 K _ 2 M , 2 .Math. K _ 2 M , 2 M ] , wherein K.sub.ij=exp(x.sub.ix.sub.j.sup.2/2), i,j=1, 2, . . . , 2M, M represents the number of the voltage signal sample vectors collected; D=diag(1/sqrt(diag(K))), wherein diag() represents to compute a diagonal matrix, and sqrt() represents to compute a root-mean-square of matrix elements; K is updated: KD*K*D; and K represents to the standardized kernel matrix; (4.3.2) training a binary classifier, which a training pseudo-code is as follows: inputting the training sample set S={{S.sub.+}, {S.sub.}}; treating process: if a class identifier y.sub.i=+1, then i + = 1 M ; otherwise, .sub.i.sup.+=0; if a class identifier y.sub.i=1, then i - = 1 M ; otherwise, .sub.i.sup.=0; M represents the number of the voltage signal sample vectors collected; .sup.+=[.sub.1.sup.+, .sub.2.sup.+, . . . , .sub.2M.sup.+], .sup.=[.sub.1.sup., .sub.2.sup., . . . , .sub.2M.sup.]; and (4.3.3) computing classifier parameters: wherein the real number .sub.i=.sub.i.sup.+.sub.i.sup.; and the bias b=0.5((.sup.+).sup.T K.sup.+(.sup.).sup.T K.sup.), wherein ().sup.T represents transpose of matrix or vector; and K represents to the standardize kernel matrix.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a block diagram illustrating a flow of an analog circuit fault mode classification method according to the invention.

(2) FIG. 2 is a block diagram illustrating steps of constructing a binary-class support vector machine according to the invention.

DETAILED DESCRIPTION

(3) The invention will be described in details hereinafter with reference to the drawings and embodiments.

(4) Referring to FIG. 1, an analog circuit fault mode classification method comprises the following steps:

(5) (1) collecting M groups of voltage signal sample vectors V.sub.ij at a node to be tested under each of the fault modes F.sub.i of the analog circuit by using a data collection board, wherein i=1, 2, . . . , N, j=1, 2, . . . , M, V.sub.ij represents a j.sup.th voltage signal sample vector of a i.sup.th fault mode, and N represents a total number of the fault modes;

(6) (2) sequentially extracting fault characteristic vectors V.sub.ij.sup.F of the voltage signal sample vectors V.sub.ij working under the fault modes F.sub.i by using subspace projection, wherein i=1, 2, . . . , N, j=1, 2, . . . , M, and V.sub.ij.sup.F represents a fault characteristic vector of the j.sup.th voltage signal sample under the i.sup.th fault mode;

(7) (3) standardizing the extracted fault characteristic vectors V.sub.ij.sup.F to obtain standardized fault characteristic vectors {circumflex over (V)}.sub.ij.sup.F, wherein a computing method thereof is

(8) V ^ ij F = V ij F .Math. V ij F .Math. ;

(9) (4) sequentially constructing a binary-class support vector machine with respect to two different fault modes F.sub.i.sub.1 and F.sub.i.sub.2, wherein i.sub.1=1, 2, . . . , N, i.sub.2=1, 2, . . . , N, (i.sub.1i.sub.2), N is the total number of the fault modes, then N(N1)/2 different binary-class support vector machines can be constructed in total; and

(10) (5) simultaneously feeding a standardized fault characteristic vectors to be tested into the N(N1)/2 binary-class support vector machines for classification and determination, and counting votes according to classification results of each binary-class support vector machine; if a fault mode to be tested belongs to the fault mode F.sub.i, and i=1, 2, . . . , N, then adding 1 to the votes of F.sub.i wherein a fault mode obtaining the most votes finally is the fault mode that the circuit to be tested belongs to.

(11) The step of extracting the fault characteristic vectors V.sub.ij.sup.F by using the subspace projection in step (2) is:

(12) (2.1) computing dimensionality of the voltage signal sample vectors V.sub.ij: L=length(V.sub.ij);

(13) (2.2) generating an LL dimensional Toeplitz transformation matrix :

(14) = [ F 11 F 12 .Math. F 1 L F 12 F 13 .Math. F 11 .Math. .Math. .Math. .Math. F 1 L F 11 .Math. F 1 ( L - 1 ) ] , wherein F 1 k = e - j 2 L k , k = 1 , 2 , .Math. , L ;

(15) (2.3) computing a projected vector of the voltage signal sample vectors V.sub.ij in the Toeplitz transformation matrix : V.sub.p=.sup.TV.sub.ij, wherein T represents to transpose a matrix;

(16) (2.4) computing maximum projection subspace and the fault characteristic vectors V.sub.ij.sup.F:

(17) (2.4.1) initializing a subspace projection coordinate dimensionality K: K=log.sub.2(N), wherein represents rounding up to an integer, and N is the total number of the fault modes of the circuit to be tested;

(18) (2.4.2) constructing a maximum projection subspace index vector I with a dimensionality of 1K, and initializing the vector into a 1K dimensional null vector, i.e., I=[00 . . . 0], and meanwhile constructing a counting variable p and initializing p=1;

(19) (2.4.3) updating the maximum projection subspace index vector I: I(p)=Index(Max(|V.sub.p|)), wherein I(p) herein represents the p.sup.th vector value in the vector I, Max() represents to compute a maximum vector element, V.sub.p represents the projected vector of the voltage signal sample vectors V.sub.ij in the Toeplitz transformation matrix , and Index() represents to calculate an index;

(20) (2.4.4) determining whether p<K; if no, then performing step (2.4.5); otherwise, performing p=p+1 and using 0 to replace the maximum element in the projected vector V.sub.p, and retuning to step (2.4.3);

(21) (2.4.5) using I vector elements as row index values of the Toeplitz transformation matrix to extract corresponding row vectors to constitute a matrix .sub.A with a dimensionality of KL;

(22) (2.4.6) computing the maximum projection subspace .sub..sup.: .sub..sup.=(.sub..sub..sup.T).sup.1.sub.; and

(23) (2.4.7) computing the fault characteristic vector V.sub.ij.sup.F with subspace projection: V.sub.ij.sup.F=.sub..sup.V.sub.ij.

(24) Referring to FIG. 2, the specific step of constructing each binary-class support vector machine in step (4) is:

(25) (4.1) constructing a binary classifier decision model

(26) 0 f ( x ) = .Math. i N _ i y i exp ( - .Math. x - x i .Math. 2 / 2 ) + b ,
wherein N represents the number of training data samples, x.sub.i is called as a support vector, .sub.i is a certain real number, b is a bias, and y.sub.iy={+1, 1} is a class identifier;

(27) (4.2) dividing a training sample set: constituting the standardized fault characteristic vectors {circumflex over (V)}.sub.i.sub.1.sub.j.sup.F and {circumflex over (V)}.sub.i.sub.2.sub.j.sup.F under the fault modes F.sub.i.sub.1 and F.sub.i.sub.2 into a training sample set S={{S.sub.+}, {S.sub.}}, wherein j=1, 2, . . . , M, S.sub.+={({circumflex over (V)}.sub.i.sub.1.sub.1.sup.F, +1), ({circumflex over (V)}.sub.i.sub.1.sub.2.sup.F, +1), . . . , ({circumflex over (V)}.sub.i.sub.1.sub.M.sup.F, +1)}, S.sub.={({circumflex over (V)}.sub.i.sub.2.sub.1.sup.F, 1), ({circumflex over (V)}.sub.i.sub.2.sub.2.sup.F, 1), . . . , ({circumflex over (V)}.sub.i.sub.2.sub.M.sup.F, 1)}, a class identifier of F.sub.i.sub.1 is defined as +1, and a class identifier of F.sub.i.sub.2 is defined as 1;

(28) (4.3) using the training sample set S to train the binary classifier decision model so as to determine parameters .sub.i and b of the binary-class support vector machine;

(29) (4.4) outputting a determination function of the binary-class support vector machine:

(30) y = sgn ( .Math. i N _ i y i exp ( - .Math. x - x i .Math. 2 / 2 ) + b ) ,
wherein sgn() is a sign function, and N represents the number of the training data samples; and

(31) (4.5) completing a mode determination for a characteristic to be tested according to the decision function: determination votes during test are performed according to the determination function; if y=1 is outputted, then the votes of the fault mode F.sub.i.sub.1 plus 1; otherwise, the votes of the fault mode f.sub.i.sub.2 plus 1.

(32) The specific step of using the training sample set S to train the binary classifier decision model so as to determine the parameters .sub.i and b of the binary-class support vector machine in step (4.3) is:

(33) (4.3.1) standardizing a kernel matrix:

(34) K _ = [ K _ 11 K _ 12 .Math. K _ 1 , 2 M K _ 21 K _ 22 .Math. K _ 2 , 2 M .Math. .Math. .Math. .Math. K _ 2 M , 1 K _ 2 M , 2 .Math. K _ 2 M , 2 M ] ,
wherein K.sub.ij=exp(x.sub.ix.sub.j.sup.2/2), i, j=1, 2, . . . , 2M, M represents the number of the voltage signal sample vectors collected;

(35) D=diag(1/sqrt(diag(K))), wherein diag() represents to compute a diagonal matrix, and sqrt() represents to compute a root-mean-square of matrix elements; K is updated: KD*K*D; and K represents to the standardized kernel matrix;

(36) (4.3.2) training a binary classifier, which a training pseudo-code thereof is as follows:

(37) inputting the training sample set S={{S.sub.+}, {S.sub.}};

(38) treating process: if a class identifier y.sub.i=+1, then

(39) i + = 1 M ;
otherwise, .sub.i.sup.+=0;

(40) if a class identifier y.sub.i=1, then

(41) i - = 1 M ;
otherwise, .sub.i.sup.=0; M represents the number of the voltage signal sample vectors collected;

(42) .sup.+=[.sub.1.sup.+, .sub.2.sup.+, . . . , .sub.2M.sup.+], .sup.=[.sub.1.sup., .sub.2.sup., . . . , .sub.2M.sup.]; and

(43) (4.3.3) computing classifier parameters:

(44) wherein the real number .sub.i=.sub.i.sup.+.sub.i.sup.; and

(45) the bias b=0.5((.sup.+).sup.TK.sup.+(.sup.).sup.TK.sup.), wherein ().sup.T represents transpose of matrix or vector; and K represents to the standardize kernel matrix.