Beruflich Dokumente
Kultur Dokumente
Jianxin and A/Prof Sanjib Kumar Panda for their encouragement and advices. Their
profound knowledge and experiences in the field of machine learning techniques and
machine system are my source of inspiration. I also appreciate the opportunity to work in
the field of Empirical Mode Decomposition, which is the most versatile and powerful
I would like to thank Mr Woo Ying Chee and Mr Mukaya Chandra from the
Electrical Machine and Drives Laboratory, who helped in setting up the Machine Fault
simulations used in the project, and their help in booking meeting room for project
briefing.
Lastly, I would like to thank Dr N. Rehman and Dr D.P. Mandic for making the
Rilling and Dr P. Flandrin for making the mono-variate Empirical Mode Decomposition
i
TABLE OF CONTENTS
CHAPTER 1: INTRODUCTION ................................................................................................. 1
1.1 Objectives ............................................................................................................. 2
1.2 Thesis Organization.............................................................................................. 3
1.3 Fault Mode Statistics Survey................................................................................ 6
1.4 Literature Survey .................................................................................................. 8
1.4.1 Vibration Signature Analysis ........................................................................ 8
1.4.2 Motor Current Signature Analysis ................................................................ 9
ii
4.2.1 Structure and Operation of SOM ................................................................ 39
4.2.2 SOM Algorithm .......................................................................................... 41
4.3 Support Vector Machine (SVM) ........................................................................ 42
4.3.1 Multi-Class SVM (M-SVM) ....................................................................... 44
4.3.2 M-SVM Algorithm ..................................................................................... 45
4.4 Empirical Mode Decomposition (EMD) ............................................................ 46
4.4.1 EMD Algorithm .......................................................................................... 47
4.4.2 Mode Mis-alignment ................................................................................... 48
4.4.3 Multi-variante EMD.................................................................................... 57
4.4.4 Mode Mixing .............................................................................................. 57
4.4.5 Noise-assisted Multi-variate EMD (N-A M-EMD) .................................... 57
iii
5.9 Discussions: Frequency-domain Analysis of Vibration Signatures ................... 88
iv
SUMMARY
Induction machine are used widely in industrial process e.g., steel mills, chemical
plants etc. it is therefore vital to condition monitor the health of the machine to prevent
unexpected and untimely failure. Their untimely downtime have significant economic
and social impact, such as, disruption to production process, spoilage to work-in-
progress, costly plant process re-start etc. It is therefore useful to investigate automatic
machine fault detection and diagnosis techniques. This creates the motivation for this
study. Why condition monitoring? Incipient machine faults can be detected by continuous
methodology that has rapidly been adopted by the industry as the standard operating
procedure. In the past, it is essentially a routine periodic machine shutdown for servicing
imminent failures is detected and planned shutdown made, only when necessary. This
way, machine downtime and maintenance costs are reduced, and asset security and
reliability increased, both achieving efficiency and profitability for the organization. With
this in view, this project investigates the various machine condition monitoring
techniques, with the objective to implement effective automatic fault detection and
v
LIST OF TABLES
Table 1.1: Summary of percentage of each of the failure mode. ........................................ 6
Table 1.2: Fault statistics on 8 surveyed articles. (*MC denotes Most Common fault) ..... 7
Table 1.3: Percentage of each of the failure mode derived from Table 1.2. ....................... 7
Table 6.1: Similarity measures of same-indexed pair of machine current IMFs at 20Hz. 98
Table 6.2: Similarity measures of same-indexed pair of machine current IMFs at 30Hz. 98
Table 6.3: Similarity measures of same-indexed pair of machine current IMFs at 40Hz. 98
Table 6.4: Frequency band for HTY30 (IMF 5-9) machine current signature. .............. 100
vi
LIST OF FIGURES
Figure 1.1: Approaches of this project to investigate machine fault diagnosis. ............... 13
Figure 2.1: Perturbation force (Fc) created by unbalanced mass (m) rotating at . ........ 19
Figure 2.2: Unbalanced rotor fault signatures at various machine speeds. ....................... 19
Figure 2.3: Bearing assembly. .......................................................................................... 21
Figure 2.4: Defective rolling elements (adopted from [93]). ............................................ 21
Figure 2.5: Raceway faults (adopted from [93]). .............................................................. 22
Figure 2.6: Rolling element pitch, diameter and contact angle of a bearing. ................... 23
Figure 2.7: Rolling element fault signatures at various machine speeds. ......................... 24
Figure 2.8: Inner raceway fault signatures at various machine speeds. ............................ 24
Figure 2.9: Outer raceway fault signatures at various machine speeds. ........................... 25
Figure 2.10: Healthy machine signatures at various machine speeds. .............................. 29
Figure 4.1: Connections between the input and output neurons of SOM. ........................ 39
Figure 4.2: Linear decaying learning rate versus learning steps of a SOM. ..................... 40
Figure 4.3: Support vectors, decision boundary and margin of 2-class SVM. ................. 43
Figure 4.4: Multi-class SVM using one-versus-all learning strategy. .............................. 45
Figure 4.5: Mono-variate EMD of BRG signature. .......................................................... 49
Figure 4.6: Mono-variate EMD of UBR signature. .......................................................... 50
Figure 4.7: Mono-variate EMD of HTY signature. .......................................................... 51
Figure 4.8: Extremum of two signals x1(t) and x2(t). ........................................................ 52
Figure 4.9: Mean of 3D tube of complex signal signals zb(t)........................................ 53
Figure 4.10: Evolution of bi-variate complex signal for (|HTY40(t)|,|BRG40(t),t). ......... 53
Figure 4.11: Mean of complex signal signals zt(t). ........................................................... 54
Figure 4.12: Evolution of tri-variate complex signal for
(|HTY40(t)|,|BRG40(t)|,|BRB40(t)|).................................................................................. 55
Figure 4.13: Mode mixing. ............................................................................................... 56
Figure 4.14: N-A M-EMD on signal with Guassian white noise added. .......................... 58
vii
Figure 5.12: Unbalanced rotor signature correctly classified. .......................................... 75
Figure 5.13: Wiener Filter................................................................................................. 77
Figure 5.14: Filtered machine signatures at fr=15Hz and 31Hz. ...................................... 77
Figure 5.15: Frequency content of HTY signatures at fr=15Hz........................................ 79
Figure 5.16: Frequency content of HTY signatures at fr=31Hz........................................ 79
Figure 5.17: Frequency content of UBR signatures at fr=16Hz........................................ 80
Figure 5.18: Frequency content of UBR signatures at fr=32Hz........................................ 80
Figure 5.19: Frequency content of BRG signatures at fr=15Hz........................................ 81
Figure 5.20: Frequency content of BRG signatures at fr=32Hz........................................ 82
Figure 5.21: 11-dimensional feature vector at fr=15Hz and 31Hz.................................... 84
Figure 5.22: Semantic map of vibration signatures from two SOM different simulations.
........................................................................................................................................... 85
Figure 5.23: 2-dimensional feature vector. ....................................................................... 86
Figure 5.24: M-SVM classification (Gaussian kernel hsvm=8.0, slack factor C=0.1) of
vibration signature. ........................................................................................................... 87
Figure 6.1: Fourier Series (a finite sum of a 10Hz square wave with n=3 and n=10). ..... 90
Figure 6.2: Different wavelet basis functions. .................................................................. 92
Figure 6.3: A 7-channel Motor Current Signature decomposition by N-A MEMD. ........ 96
Figure 6.4: EMD as filter-banks for HTY30 (IMF 5 9) machine current signature. ..... 99
Figure 6.5: IMF1, IMF2, IMF3, IMF4 of the machine signatures at 20Hz. ................... 101
Figure 6.6: IMF1, IMF2, IMF3, IMF4 of the machine signatures at 30Hz. ................... 102
Figure 6.7: IMF1, IMF2, IMF3, IMF4 of the machine signatures at 40Hz. ................... 102
Figure 6.8: IMF10 and IMF11 (residue) of the machine signatures at 20Hz. ................ 103
Figure 6.9: IMF10 and IMF11 (residue) of the machine signatures at 30Hz. ................ 103
Figure 6.10: IMF10 and IMF11 (residue) of the machine signatures at 40Hz. .............. 103
Figure 6.11: IMF5-9 of the HTY machine signatures at 20Hz. ...................................... 104
Figure 6.12: IMF5-9 of the BRG machine signatures at 20Hz. ...................................... 105
Figure 6.13: IMF5-9 of the BRB machine signatures at 20Hz. ...................................... 105
Figure 6.14: IMF5-9 of the UBR machine signatures at 20Hz. ...................................... 106
Figure 6.15: IMF5-9 of the SWF machine signatures at 20Hz. ...................................... 106
Figure 6.16: Feature map using fea_IMF vector at fs=20Hz. ......................................... 108
Figure 6.17: Feature map using fea_IMF vector at fs=30Hz. ......................................... 109
Figure 6.18: Feature map using fea_IMF vector at fs=40Hz. ......................................... 110
viii
LIST OF SYMBOLS &ACRONYMS
ix
Lm: three-phase magnetizing inductance
P: number of pole-pairs
r: distance between the centre of rotation and the centre of gravity of the rotor
s: machine slip
x
w_som(i,j): SOM output neurons weight vector
: angular position of r
: constant to adjust the rate of convergence of the weights for Wiener filter
: degree of eccentricity
n: phase delay
xi
LIST OF RELEVANT PUBLICATIONS
1. W.-Y. Chen, J.-X. Xu, S.K. Panda, A Study on Automatic Machine Condition
Monitoring and Fault Diagnosis for Bearing and Unbalanced Rotor Faults, IEEE
2. W.-Y. Chen, J.-X. Xu, S.K. Panda, Application of Artificial Intelligence Techniques
for publication
xii
CHAPTER 1: INTRODUCTION
The field of machine condition monitoring and fault diagnosis is vast. A literature
survey; which is presented subsequently, has shown wide ranging diagnostic techniques.
Various machine operation quantities may be used for monitoring the health of a motor,
e.g., partial discharge, thermo-graphic monitoring of hot-spots, chemical content; such as,
oil degradation detection, wear debris detection, machine axial leakage flux, acoustic,
torque, machine power efficiency, machine vibration signal, and motor current signature
[2, 3]. Among these, the technique by analyzing machine stator current is known as
popular research area where many algorithms have been proposed, but a single effective
method that is able to detect and diagnosis multiple classes of machine fault still elude
researchers.
The current harmonics that is present in the motor current is mainly created by the
machine asymmetries and vibrations due to machine faults. Hence, this project focuses on
two fault detection techniques, namely, vibration signature and MCSA. There are a
number of issues to address in the formulation of a reliable fault detection and diagnosis
scheme [4]:
reliable fault detection for position, speed and torque controlled drives
1
1.1 Objectives
With the above issues in mind, this project aims to accomplish two main
objectives, namely,
scheme to detect and diagnose the most common machine fault modes,
operating speed
Objective 2: To investigate and study the use of MCSA to cover a wider range of
machine fault modes; apart from bearing and unbalanced rotor faults, to
include broken rotor bars and shorted winding faults as well, where
Nearest Neighbor (k-NN) case-based learning and the Empirical Mode Decomposition
(EMD).
On the first objective, this project has formulated and implemented a simple and
effective data-based scheme, using time-domain vibration data, for the continuous
automatic condition monitoring and diagnosis of bearing and unbalanced rotor faults is
proposed. The key idea is to use a novel normalized cross-correlation sum operator as
2
similarity measure, and in combination with the use k-NN algorithm for the effective
automatic classification of machine faults. This technique is both noise-tolerant and shift-
invariant., It also has a low error rate and insensitive to machine operating speed, as
shown subsequently in this thesis. Further, the diagnosis of these two mechanical faults
M-SVM is next used to derive the clusters globally optimal separating hyperplanes for
On the second objective, this project use EMD technique to study the motor
bearing fault (BRG), unbalanced rotor fault (UBR), broken rotor bar fault (BRB) and
shorted stator winding fault (SWF). In this project, new unique non-linear and non-
stationary features are discovered for these fault modes at machine operating speed of
20Hz and 30Hz. However, it is also observed in this project that uniqueness of these
features is not obvious at higher speed of 40Hz. With the newly discovered unique
features at 20Hz and 30Hz, future works on automatic fault classifications by a single
effective fault detection and diagnosis scheme based on EMD technique is achievable.
3
Chapter 1: Introduction on the issues of formulating a reliable machine fault diagnostic
scheme, and the rationale for condition monitoring using MCSA and vibration
analysis, and sets the stage for stating the objectives of this research. Fault
statistics and literature survey are also carried out to compile the fault
statistics and identifies the most common failure modes. This allows research
machine faults, presents the various fault vibration signatures and the
Chapter 3: Motor Current Signature and Vibration Signature Analysis explain the
presents the results of the data-based machine fault detection and diagnosis
4
scheme using time-domain vibration data. It explains how cross-correlation
using k-NN classifier, and presents the fault classification error rate and
MCSA using Fourier-based and Wavelet transform, the rationale for using
signatures, with a view to discover new information that Fourier and Wavelet
Chapter 7: Conclusion
5
In the next, a fault mode statistics survey is carried out with a view to identify the
most commonly occurring machine fault modes. The survey article in 1985 [5] reveals
that bearing fault is the most common machine fault mode. The followings further survey
In [1], a detail survey on fault statistics was done in 2008. In this comprehensive
survey, several sources; including the private communication between the author and an
and IEE on the subject over the past 26 years since 2008, were used. The table below
Failure Modes %
Bearing 52.5%
Stator Related 22.0%
Rotor Related 13.0%
Others 12.5%
combined with stator related faults, this together accounted for more than 87.5% of the
total faults. Further fault information from referenced articles [6-13] is conducted. The
6
Table 1.2: Fault statistics on 8 surveyed articles. (*MC denotes Most Common fault)
Referenced articles [6] [7] [8] [9] [10] [11] [12] [13]
Bearing 45% 50% - 45% 52% 41% 50% 40%
Stator Related - 40% - - 25% 37% 40% -
Rotor Related - 10% 10% - 6% 10% 10% -
Others - - - - 17% 12% - -
By taking the average across the rows of Table 1.2, the following table is derived.
Table 1.3: Percentage of each of the failure mode derived from Table 1.2.
Failure Modes %
Bearing 46.1%
Stator Related 35.5%
Rotor Related 9.2%
Others 14.5%
Table 1.3 presents a similar failure mode statistics as in Table 1.1. Bearing fault
accounted for more than half the total faults, and the second most common fault is the
stator related faults. These two faults together accounts for more than at least 65% of the
total faults. This finding is consistent with that in Table 1.1. As such, from Table 1.3,
bearing faults accounts for about half of the fault modes, hence it is worthwhile to focus
research effort on bearing faults. If the fault coverage is extended to include rotor and
stator related faults e.g., unbalanced rotor, broken rotor bars and shorted stator windings,
about 85% of all fault modes is covered. With this information, objective 2, presented
above, is set.
7
1.4 Literature Survey
This section presents the literature survey to shed lights on the various techniques
used and progress made. The survey focuses on machine vibration signature and MCSA,
as these techniques are able to detect bearing, unbalanced rotor, broken rotor bars and
for detection and diagnosis of mechanical fault modes e.g., bearing defects and
popular. The articles [15-17] presented such a study where the wavelet coefficients were
the feature vectors. It is interesting to note that, in Elsevier collection of articles, the use
Daubechies wavelet is popular. Higher order spectral analysis using Bispectral transform,
is used for noise suppression, detection of non-Gaussian data, and to detect nonlinearity
of the fault information in [18]. Envelope analysis is used in [19, 20] for feature
extraction. Article [21] showed that combining features extracted from Mel-frequency
Cepstral Coefficients (MFCC) and Kurtosis, are effective for diagnosing bearing faults.
Independent component analysis can be used to extract features from vibration signatures
for bearing fault diagnosis [22]. After feature extraction, AI techniques e.g., neural
network, SVM, SOM, are next used to predict fault modes. Excellent examples of works
8
However, the most interesting technique is the use of EMD for the analysis of
machine vibration signatures, where the basis function is derived based on empirical data
in terms of Intrinsic Mode Functions (IMFs). Articles [27-31] presented such a study.
The IMFs thus derived are the feature vectors for fault diagnosis.
A survey on MCSA technique reveals that the approaches are numerous and
wide-ranging. The articles maybe broadly categorized into: reviews, model construction
for fault modes, feature extraction techniques, and the use of computational intelligence
Over the years, a series of reviews have been made by [1, 4, 7, 32-37]. They offer
a good overview on how progress has been made. A notable change is the progress from
the use of traditional Fourier transform e.g., Fast Fourier Transform (FFT), to analyze
motor current signatures, and the increasingly popular use of Wavelet transform e.g.,
Discrete Wavelet Packet transform, to identify fault spectrum and extract unique features
for fault diagnosis. FFT is the traditional tool for MCSA where by locating individual
fault spectrum, the machine fault is diagnosed. This approach is successful for broken
In [40, 41], a good comparative study of the various techniques for MCSA for
broken rotor bar and air-gap eccentricities is presented. In [42], a good review is given on
the various diagnosis methods for stator voltage asymmetry and rotor broken bars.
However, these techniques are mainly Fourier based. It is worth to note that, as the fault
is popular. In [44-52], Wavelet transform is used to decompose the motor current into
various approximate and detail levels wavelet coefficients, and features are extracted
from these coefficients for fault diagnosis. Diagnoses of bearing, broken rotor bar,
eccentricities faults were reported. However, careful selection of a wavelet basis function
signature with wavelet basis function and hence a different choice of basis function
[53] are used. In [54], these techniques are applied for the detection of rotor cage faults.
In [8], a detail study using different auto-regressive parametric methods e.g., Yule-
Walker, and the possibility of using a lower sampling rate were explored. The article [55],
showed that a sliding window ROOT-MUSIC algorithm for bearing fault diagnosis is
possible, and in [56] a novel combination of maximum covariance method for frequency
tracking and Zoom-FFT technique, to selectively increase the frequency resolution of the
frequency range of interest for fault diagnosis were demonstrated. Other methods
incorporating temporal information of the motor current using higher order statistic, such
With the popular use of inverter speed controller for machine, the effect of PWM
inverter harmonics on MCSA was investigated in [58, 59]. In [60], inverter input and
output current were studied with a view to detect the twice fundamental frequency
10
harmonics for diagnosis of rotor faults. It is shown that detection of these harmonics is
To extend the type of fault coverage, stator winding faults are investigated as well.
In [61], a novel diagnostic indicator for stator winding fault, that does not involve ground
fault, is formulated using positive and negative sequence line-voltage and line-current
information. The key idea is that various indicators were determined at various machine
speeds, and a kind of lookup table was created for diagnosis at different machine
operating speed. However, the use of line-voltage, made the method invasive, where
potential transformer (PT) is required. The article [62] presented a method using
Extended Parks Vector Approach (EPVA), where instead of observing the ovality of the
signature in the D-Q plane, the frequency-domain information revealed the presence of
fault for stator winding. This approach may be used for bearing fault as well [10].
information, transient start-stop information may be used for diagnosis as well, as shown
in [63, 64]. In [6], monitoring instantaneous power factor and motor efficiency [65] are
cancellation technique was used for diagnosing general roughness fault. The scheme
assumed that all frequencies that are not related to the bearing faults, e.g., supply
frequency, supply unbalance harmonics, the eccentricity harmonics, the slot harmonics,
saturation harmonics and interferences from environmental sources are regarded as noise
and are estimated by a Wiener Filter. All these noise components are then cancelled out
by their estimate in a real-time manner. The remaining components are hence related to
11
bearing fault, and the RMS value of this noise-cancelled signal is next calculated online
and thereby using the model to analysis and predict fault mode [67-74]. Finite element
analysis is popular for simulating and studying of fault mode; especially for broken rotor
Data-based approach collects real machine fault data rather than using
sophisticated mathematical model to calculate them, and uses these data as examples for
fault diagnosis. These examples are collected from fault simulator. With the fault data
available, AI techniques e.g., SOM, neural network, fuzzy logic, M-SVM etc., are used to
automatically classify the faults [77-81]. Other modeling approaches are possible, such as,
estimation technique to model a healthy motor signature, and deviation from this baseline
indicates a bearing general roughness fault. However, this method requires the use of
notch-filter to remove the dominant fundamental frequency and a series of filter banks to
remove the harmonics of other possible faults e.g., unbalance voltage source, cyclical
load torque, eccentricities, broken rotor bars, rotor slotting effects etc. This adds to the
complexity of this method. Recently, the use of Independent Component Analysis (ICA)
machine operation speed for the diagnosis of bearing and broken rotor bars [82-84].
12
EMD is applied for the diagnosis of shorted stator winding fault and broken rotor
bars in [85, 86]. However, in each of the study, only one fault mode was covered. This
runs the risk of mis-diagnosing a fault, as another fault signatures not covered in the
study, may produce similar features. This project aims to widen the scope of motor
current signature study to cover more fault modes. Figure 1.1 illustrates the approaches of
Bearing fault
Wiener filter
13
CHAPTER 2: MECHANICS OF MACHINE FAULT
MODES
Machine is a moving magnetic apparatus. Its various parts are subject to kinetic
energy, magnetic energy, operational thermal stress and harsh environmental conditions
e.g., humidity and chemical corrosion, causing wear and tear, and ultimately numerous
types of fault may develop. Faults are categorized as electrical or mechanical faults.
Electrical failure modes are mostly insulation failure of core, stator winding, rotor
winding and rotor bar breakage. Mechanical failure modes are mostly bearing failure,
rotor eccentricities e.g., unbalanced rotor; caused for example by wear and tear,
accumulation of deposits and temperature changes etc., and creating unequal distribution
of rotor mass.
equally spaced and constant air-gap length, equal rotor resistances in the rotor and stator
windings and a balanced rotor. However, there are inherent construction asymmetries and
imperfections in an actual healthy machine, for example, the air-gap length is not
perfectly spaced and as the rotor rotates the air-gap length varies, and the rotor and stator
winding resistances for each phase are not the same. These minor physical asymmetries
generate unequal magnetic flux and as a result magnetic force induced vibrations are
vibrations.
A faulty machine has much more severe physical and electrical asymmetries,
generating larger unequal magnetic flux, and the resultant magnetic force creates larger
vibrations. The resulting vibrations, which are a series of movement of the machine parts
14
cause variations in magnetic permanence of the air-gap. The stator windings, acting like a
transducer, pick up these stray magnetic fluxes and induce current harmonics into the
stator current. In the next presents the detail mechanics of some major fault modes,
2.1 Eccentricity
occurs due to shaft deflection, inaccurate positioning of the rotor with respect to stator,
bearing wear, stator core movement etc. Air-gap eccentricity creates unbalanced radial
forces and hence unbalanced magnetic pull that may cause rotor-to-stator rub, and
There are two types of air-gap eccentricity: static and dynamic eccentricity. In
static air- gap eccentricity, the position of the minimal radial air-gap length is fixed in
space. For example, static air-gap eccentricity may be caused by the ovality shaped of the
core, or by incorrect positioning of the stator or rotor during commissioning stage. The
air-gap of static eccentricity is independent of r, the angular position of the rotor with
where is the degree of eccentricity and g0 is the radial air-gap length in the case of a
uniform air-gap, and is the particular angular position along the stator inner surface.
15
2.1.1.1 Static Eccentricity Motor Current Signature
With the motion of the air-gap given in (2.1), it can be shown that the harmonic
frequency components in the stator currents of an induction machine with static air-gap
1 s
Fstatic _ ECC kN f s k 1,2,3...
P (2.2)
the number of pole-pairs, is the order of the stator time harmonics that are present in the
power supply driving the motor, taking the values 1, 3, 5, etc, and s the slip.
In the case of dynamic eccentricity, the centre of the rotor is not at the centre of
rotation and the position of minimum air-gap rotates and varies with the rotor. This
misalignment maybe caused for example by, a bent rotor shaft, bearing wear or
(2.3)
g ( , r ) g 0 g 0 cos( r ) (0,1)
where is the degree of eccentricity, r is the angular position of the rotor with respect to
the stator reference, g0 is the radial air-gap length in the case of a uniform air-gap, and
16
is the particular angular position along the stator inner surface. The corresponding
Pg ( , r ) P0 Pn cos(n( r ) n )
(2.4)
n
appear around the slot harmonics in the stator line current frequency spectrum. The
frequency components in the stator currents of an induction machine with to dynamic air-
1 s
Fdyn _ ECC (kN n d ) f s k 1,2,3...
P (2.5)
the number of pole-pairs, is the harmonic of the stator magneto motive force (MMF)
present. This mixed eccentricity creates the following harmonics in the machine current
[4],
1 s
Fmix _ ECC 1 k fs k 1,2,3...
P (2.6)
17
With the use of VSI, additional harmonics are introduced [59, 89],
where h is the inverter harmonic order, fs is the fundamental supply frequency and fr is
motor current.
Unbalance rotor is a type of eccentricity fault where the off-center rotation of the
rotor is caused by unbalanced mass rather than bent rotor shaft. It is the most common
source of excessive vibration [90, 91]. Possible causes are, asymmetrical mass
distribution of the rotating element as a result of wear, erosion, material buildup, thermal
of gravity of the rotating element does not coincide with the centre of rotation, and at the
point of unbalanced mass creates a synchronous radial perturbation force (Fc), causing a
(2.8)
Fc m r 2 e j ( t )
where m is the unbalanced mass, r is the distance between the centre of rotation and the
centre of gravity of the rotor, is the shaft rotational speed, is the angular position of r
18
Fc
Figure 2.1: Perturbation force (Fc) created by unbalanced mass (m) rotating at .
Figure 2.1 shows some sample vibration signatures of unbalanced rotor fault at
19
2.2.1 Unbalanced Rotor Fault Motor Current Signature
With the motion of the rotor described by Eq. (3.8), the expected current
1 s
FUBR 1 k fs k 1,2,3... (2.9)
P
Machines with rolling element bearings have moving bearings e.g., spherical
balls, tapered rollers or cylindrical rollers, to support the rotating shaft. The machine
bearing assembly consists of four basic components, namely, the outer race, inner race,
rolling elements which are the ball bearings inside the cage, and the retainer or the cage.
The balls are bounded by the cage, which ensures a uniform distance between the balls
and prevents ball-to-ball contacts. These rolling elements are always in metal-to-metal
contact with the inner and outer raceway, and as a result are subject to constant wear and
tear. Figure 2.3 is an illustration of the construction of the bearing assembly and the
20
a
d
b
e
c f
g
Bearing and raceway wear and tear present initially as general roughness and
progresses to metal fatigue, and ultimately spall and chip on the surface of the rolling
elements [93]. Figure 2.4 and 2.5 show severely chipped rolling elements and spalled
raceway faults. These defective surfaces on these components are a source of machine
vibration. A chipped rolling element spins as it revolves around the raceway. When it is
in contact with the defective surface of the raceway, an impact pulse is produced, creating
a free vibration. In the absence of significant damping medium in the bearing assembly,
21
Spalled
Spalled
There are four basic motions that describe the dynamics of faulty bearing
movement, namely, cage, outer race, inner race or rolling elements. Each fault generates
a unique natural frequency. The following equations show the natural frequencies
associated with each of the bearing single-point defect, where the cage fault, outer race
fault, inner race fault and rolling element fault frequencies are FC, FO, FI and FB
respectively [59],
1 Db cos
FC FR 1
2 Dc (2.10)
N B Db cos
FO FR 1
2 Dc (2.11)
N B Db cos
FI FR 1
Dc
(2.12)
2
22
Dc Db cos
2
FB FR 1
Db Dc
(2.14)
the rolling element pitch, Db is the diameter of the rolling element, and is the rolling
element contact angle. Figure 2.6 illustrates this. Therefore, these fault frequencies are
functions of the bearing geometry, the number of rolling elements, and the bearing
rotational speed.
Contact Angle ()
Rolling Element
diameter (Db)
Pitch (Dc)
Figure 2.6: Rolling element pitch, diameter and contact angle of a bearing.
Figure 2.7, 2.8 and 2.9 show the fault vibration signatures, measured in
acceleration (m/s2), of a faulty rolling element, inner raceway and outer raceway at
23
Figure 2.7: Rolling element fault signatures at various machine speeds.
24
Figure 2.9: Outer raceway fault signatures at various machine speeds.
Bearing defect causes minute radial movement of the rotor, and hence is a kind of
dynamic eccentricity. However, the difference between dynamic eccentricity and bearing
fault is the characteristic of the mechanical oscillations. For the former, an eccentric rotor
causes a non-uniform sinusoidal air-gap, but for the latter, bearing defect causes an
that cause air-gap permeance variation that is a complex sum of an infinite number of
rotating eccentricities [94]. With instant eccentricities generated by the bearing fault, the
25
where v is the frequency of the kth vibration due to bearing defect, and the permeance
where fs is the supply frequency and fv is FC, FO, FI or FB. With the use of inverter, there
is interaction between the inverter harmonics and bearing fault induced harmonics and
It was reported in the literature that, there should be a distinction between bearing
fault and general roughness of the bearing [12]. General roughness of bearing is an early
sign of impending bearing fault. However, it does not show a distinctive failure mode like
bearing fault whereby clear and visible point-faults are developed e.g., cracks, pitting and
bearing, thus causing great friction of bearing movement and hence general roughness.
Whereas for bearing faults, it is simulated by creating holes e.g., drilling, on the raceway
assembly. Different level of fault severity can be created by creating holes of various
diameters. General roughness is reported to cause a general increase in the noise level in
the motor signature, and does not exhibit any particular frequency spikes. Generalized
26
roughness fault is subtle and does not have clear distinguishable defects. Therefore, it
does not have a unique fault frequency, but rather, it manifests as a general and
fault [95]. Therefore, instead of measuring the vibration frequencies, the machine
Rotating machine subjects its rotor to prolong kinetic, electrical and thermal
stresses, and breakage results as material fatigue develops over time. Breakage increases
the rotor resistance of the broken rotor bars and causes electrical asymmetry and
distortion of the rotor bar currents, and hence distorts the three-phase magnetic field. The
rotor MMF is distorted as well. This distorted rotor MMF consists of a forward and
backward rotating wave with respect to the rotor fixed reference frame. The former is the
main magnetic field and the latter is due to the rotor electrical asymmetry caused by the
breakage. The backward travelling wave induces a stator voltage harmonic component at
the frequency (12s)fs where fs is the stator supply frequency and s is the slip. This stator
voltage harmonics in turns creates a stator current harmonic of the same frequency [72],
The interaction of these side band currents with flux and the speed ripple creates
27
where fs is the supply frequency, s is the machine slip, the difference gives the lower
sideband and the sum gives the upper sideband. These frequencies are a function of the
machine slip (s). Therefore, these frequencies are dynamic in nature and vary as the
operational condition of the motor varies. At higher slip, and spectra are further away
from fs, and at lower slip the spectrum lines are close to fs and are difficult to detect.
The most common kind of fault related to stator winding of induction motors are:
(turn-to-turn fault). These insulation faults maybe caused by hot spots in the stator
winding, oil contamination, moisture, dirt, electrical discharges, slack core lamination,
In this fault mode, the winding turn-to-turn fault is the subject of interest for
detected by the usual machine protection relays. If it persists undetected, causes heating
warnings, damaging the machine core permanently. Short-circuited turns on the stator of
the induction motor causes asymmetry of the three-phase stator winding, and the effect is
the presence of three-phase negative sequence currents. The diagnosis of shorted turns
using MCSA is to detect the frequency components in Eq. (2.21) since the rotating flux
1 s
FSWF kN 1 f s k 1,2,3... (2.21)
P
28
where N is the number of rotor bars, P is the number of pole-pairs, s is the induction
machine has a low level of vibration, as observed in Figure 2.10, and may contain
29
2.8 Dynamic Estimation of the Machine Slip
From the preceding sections, it is clear that some of the fault spectrums are
functions of machine slip (s). Hence, to locate the fault spectrum, machine slip has to be
determined. This section presents a method for determining machine slip. It is possible to
construct a slip-sensing device by using the instantaneous values of the stator voltages
and currents of the induction motor. This method is referenced from Peter Vas,
Using the dynamic model of an induction machine, the angular slip frequency sl
is obtained from the stator voltages and currents of the machine. The instantaneous
Lm
rd i sQ rq i sD
Tr
sl , (2.23)
rd rq
2 2
stator current, rd is the instantaneous values of direct-axis component of the rotor flux
linkage, Tr is the open-circuit rotor time constant given by Lr/Rr, where Lr is three-phase
30
self-inductance of the rotor winding, Rr is the resistance of rotor phase winding and Lm is
d '
dt
L
r r u s ( R s L s p )i s .
Lm
'
(2.24)
Therefore, with the instantaneous values of the terminal quantities, usD, usQ, isD
and isQ measured, the machine parameters Lr, Rr, Lm and Ls known, the rotor flux linkage
rq is calculated, and in turn the instantaneous machine slip (s) is determined using Eq.
(2.23). Similar schemes based on slip determination have indeed been implemented in
[97, 98].
31
CHAPTER 3: MOTOR CURRENT SIGNATURE
AND VIBRATION SIGNATURE ANALYSIS
where the stator current is used for fault diagnosis. It has been used in many industrial
cases since 1980s with good results [11, 38]. Its history dates back to early 1970s when
the US Nuclear Regulatory Commission needs to check the conditions of motors located
inside the nuclear reactors using non-intrusive techniques. Oak Ridge National Labs
initiated research for this technology. It was found that motor current was always
modulated by any faults conditions inside the motor. This is because a faulty machine
vibrations, which are a series of minute movement of the machine parts cause variations
in magnetic permeance of the air-gap. The stator windings, acting like a transducer, pick
up these stray fluxes and hence induce current harmonics into the stator current.
Therefore by doing spectrum analysis of the motor current signals, faults can be detected
transformers (CT) and no other special equipment is needed. By simply processing the
motor current signals, fault diagnostic information is extracted. Numerous faults can be
diagnosed using MCSA: damaged rotor bar, such as, broken rotor bars, static or dynamic
32
eccentricities, for example, due to unbalanced rotor, bearing defects, stator winding
the machine does not need to be physically disassembled for diagnosis where individual
parts are inspected for signs of faults. Motor current is highly sensitive to changes in the
magnetic flux of the machine, any minute changes, due for example to machine faults,
induces harmonics in the motor current. Therefore, prognosis of incipient fault is also
made possible by MCSA. This way fault is pre-empted and spare parts ordered well in
advance before the actual faults develop, and allows for speedy repairs and shortened
shutdown time. These advantages have greatly motivated researches in MCSA. However,
Fault signals are nonlinear and non-stationary. From Eq. (2.2), (2.5), (2.6), (2.9),
(2.10-2.12), (2.14), (2.19-2.21), fault frequencies are functions of the machine slip and
require the calculation of instantaneous machine slip. Instantaneous machine slip can be
calculated using Eq. (2.23) and Eq. (2.24), as shown above. However, the method is
to live electric bus-bar is needed for voltage sensing, and requires accurate machine
parameters. It is also particularly difficult to locate the fault spectrum in low slips
situations, where the fault spectrum is very close to the fundamental supply frequency.
33
For bearing faults, as shown in Eq. (2.10-2.14), accurate dimensional
measurements of the machine parts e.g., contact angle, rolling element diameter etc., is
crucial for successful location of the fault spectrum. Therefore, a method that is machine
parameter-free is desirable.
Fault signatures have extremely low signal-to-noise ratio. Typically the fault
signal magnitude is in the order of 10-4 volts and the is very close to the noise floor, and a
captured, and yet at the same time a sufficiently high frequency resolution is required.
When high frequency resolution is required, this posed a constraint that limits low
sampling rate to be used, in order to have better frequency resolution when using FFT
analysis.
inherent harmonics that arise from constructional asymmetries, the use of variable speed
drive introduces additional harmonics into the stator current, contaminated by harmonics
supply source, and by harmonics due to nonlinear load e.g., dirty sources from
fault and shorted stator windings, show that these expressions produce similar harmonics.
given by,
1 s
FECC (kN nd ) f s k 1,2,3... (3.1)
P
34
and for unbalanced rotor fault,
1 s
FUBR 1 k fs k 1,2,3... (3.2)
P
1 s (3.3)
FSWF kN 1 f s k 1,2,3...
P
different fault modes, where for example, shorted stator winding fault may be confused
with those that may arise due to inherent eccentricities [96, 99, 100], especially under
extreme low signal-to-noise ratio situation and presence of varying load torque effect
[101]. There exist risks of mis-diagnosing shorted stator windings with eccentricities e.g.,
unbalanced rotor.
vibration and current signature analysis, while vibration signature is a good indicator for
diagnosing machine faults, current signature offers numerous advantages and with
suitable analytic tools both are effective tools for machine diagnosis.
As the fault mode survey in the preceding section has shown, bearing fault and
unbalanced rotor form the majority of the machine fault modes, and it is difficult to detect
and differentiate unbalanced rotor and bearing faults using motor current signatures
spectrum, thus vibration signatures are used instead for diagnosis of these two fault
modes.
35
Since machine instantaneous slip calculation for the purpose of determining
individual fault spectrum is difficult and invasive, it is proposed that a range of spectrum
is considered instead. This way, ensembles of frequency lines are together considered to
detect the fault. By identifying the unique fault spectrum range, machine faults is thus
detected and diagnosed. To do this, the traditional Fourier and Wavelet based frequency
domain analysis tools is not used, since motor current signature is nonlinear and non-
stationary. EMD is used instead where no a prior assumption is made about the machine
36
CHAPTER 4: ARTIFICIAL INTELLIGENCE
TECHNIQUES FOR MACHINE FAULT DIAGNOSIS
vibration signals, stator motor current spectrum, torque variations etc., with the various
known fault parameters, stored a priori in a database. This fault data base is next used as
training samples for machine learning, after which the fault knowledge is stored in the
neuronal weights for subsequent automatic fault detection and diagnosis. As such,
the subject matter, in this case machine signatures, to serve as model to solve the class
prediction problem. Given labeled training data set D={(y1,1) (y2,2) (y3,3) (yn,n)},
where yn are the templates and n its class, 1-NN algorithm finds a template among D
set, that is closest; based on some similarity measure S(y,), to the unseen test vector y,
and assign y to the class which belongs. Hence, by using a suitable similarity measure,
37
k-NN classifier has been used widely in many applications, such as, in handwritten
character recognition [103]. It has also been used successfully for sub-space learning and
dimensionality reduction [104]. It is proposed to use k-NN classifier for machine fault
Given data set D={(y1,1) (y2,2) (y3,3) (yn,n)}, where yn are the templates
1: initialize programme parameters and set a value for k, the number of nearest
3: calculate similarity metric for all the prototypes with the feature vector
7: update confusion matrix and repeat 2 for the next feature vector
input space of the training samples, called a map. This makes SOM useful for visualizing
38
low-dimensional views of high-dimensional data. SOM is different from other artificial
neural networks, in the sense that they use a neighborhood function to preserve the
topographical properties of the input space [105, 106]. It was invented by Professor
Teuvo Kohonen, Helsinki University of Technology, Finland, during the 1960s, and it is
SOM consists of two layers; an input layer and an output layer in a planar 2D grid
of NxM arrays. All input nodes are connected to all the output nodes. It is a feed-forward
Figure 4.1: Connections between the input and output neurons of SOM.
At the start of the SOM algorithm, each element of the weight vector is initialized
randomly to a real number between 0 and 1. Each data set is arranged column-wise in a
matrix. Other SOM parameters are also specified, namely, the SOM size (NxM), the
39
initial learning rate, the initial effective width of the SOM, and number of learning
iterations. This project uses a special linear learning function rather than an exponential
n (4.2)
(n) 0 * 1
iteration
where (n) is the learning rate as a function of learning step n, iteration the number of
defined learning steps, and 0 the initial learning rate. Figure 4.2 shows this linearly
Figure 4.2: Linear decaying learning rate versus learning steps of a SOM.
40
4.2.2 SOM Algorithm
x mean( x) (4.3)
x'
std ( x)
4: WHILE learning iteration is less than specified, DO for each output neurons weight
vector, w_som(i,j)
calculate the Euclidean distance between the input and weight vector
locate the output neuron that has the smallest distance, the Best Matching Unit
(BMU),
5: update BMU and the neurons in the neighborhood of BMU, using the adaptive
updating rule,
w _ somij i j (n) ( z (n) w _ somij (n)) (n), n 1,2,3..... for BMU ' s neighbours
w _ somij (n 1)
w _ somi j ( z (n) w _ somij (n)) (n), n 1,2,3..... for BMU
(4.5)
where Hij(n) is the neighborhood function and (n) is the decaying learning rate
41
4.3 Support Vector Machine (SVM)
SVM algorithm seeks to maximize the geometric margins of the separating hyper-
planes using support vectors, which in turns results in a globally optimal hyper-plane
global minimum is guaranteed. SVM is able to work on very small sample size without
having to deal with the problem of having to determine the statistical properties of the
training sample and over-fitting problem. Based on Covers Theorem, the probability that
different classes are linearly separable increases, when data points in the input space are
nonlinearly mapped to a higher dimensional feature space. Therefore, to lower error rate,
a suitable transformation of the input data set into higher dimensional space is needed.
This is achieved by using a kernel for transformation. Kernel trick is used to calculate
such a kernel transformation rather than the actual full expansion of the transformation, in
order to avoid the curse of dimensionality. Such use of kernel has made SVM a very
versatile algorithm, whereby the user chooses a suitable kernel to suit the application.
To further enhance classification accuracy, slack variables are introduced, and the
constant C is associated with these slack variables. After learning off-line, the SVM
which are a sub-set of the training samples. Figure 4.3 illustrates the separating hyper-
plane i.e., the decision boundary and support vectors for two-class problem that is
42
Class 2
Class 1
Class 1
region
Zoom-in view
Test Sample
Margin
Support Vectors
Figure 4.3: Support vectors, decision boundary and margin of 2-class SVM.
Class 1 data set is x and class 2 data set is +. The support vectors are those data
points with . Notice the support vectors are at both sides of the decision boundary,
and these support vectors define the decision boundary. The following presents the
formulation of a 2-class SVM.
43
4.3.1 Multi-Class SVM (M-SVM)
extended to a multi-class setting. There are numerous methods for solving a multi-class
problem, with one-versus-all (OVA) learning strategy being the easiest to implement and
produces reasonable results [108]. There are other methods, such as, one-versus-one,
SVMs is required to classify K-classes of data. Each SVM is trained using one class (Si)
against the rest of the classes (Sj), i.e., the class label (di and dj) for training is defined as,
After training, each SVM classifies the input feature vector by returning a
discriminant value. There are thus K discriminant values, one for each class, and are
gk (X ) a d K(X , x )
iL
i i i L {ai , d i , xi } (4.13)
where L is a sub-set of the training samples, consists of xi support vectors, ai are the non-
zero Lagrange multipliers, and the associated di labels, and a suitable kernel K(X,xi). The
absolute value of the discriminant value g(X) is used. The input feature vector belongs to
the class where the SVM that gives the largest discriminant value, namely,
(4.14)
k arg max {abs( g k ( X ))} k
k
44
The following figure illustrates this approach,
abs( g1 ( X ))
SVM-1
abs( g 2 ( X ))
SVM-2 max() i
X
abs( g k ( X ))
SVM-k
Given the data sets as in Eq. (4.12), the M-SVM algorithm does,
2: FOR Kth SVM for a K-class problem, training one SVM versus the rest, DO
3: form the Gram matrix (K) and the Hessian matrix (H) for optimization
5: find support vector to calculate the weight term w_svmi and bias bo
6: save the support vectors, labels, Lagrange multipliers i, and the bias bo
7: use the support vectors, labels, Lagrange multipliers i and bias bo, to calculate the
N
g k ( X ) i d i K ( x, xi )
i 1
45
4.4 Empirical Mode Decomposition (EMD)
invented by Dr Norden Huang [110]. In EMD, the decomposition does not use a priori
basis function, but in an adaptive fashion, based on actual empirical data [110]. In this
sense, it allows the data to speak for themselves, rather than using a pre-defined basis
function, and the resulting transformation a mere convolution computation. EMD uses a
iterative sifting process to reduce a time-domain signal to its lowest frequency, call the
Intrinsic Mode Function (IMF). The sifting process derived a series of IMFs, and stops
according to a certain stoppage criteria, and when the resulting IMF is monotonic and
there is only one extremum in the data span. By superimposing these IMFs thus derived,
the original signal is re-constituted. Upon deriving the IMFs further analysis maybe
frequency information can be graphed on a Frequency versus Time plot call the Hilbert
Spectrum and an Amplitude versus Frequency plot call the Marginal Hilbert Spectrum.
C1) in the given time series, the number of extrema and the number of zero crossings
C2) at any data point, the mean value of the envelope defined using the local maxima and
46
4.4.1 EMD Algorithm
Given an arbitrary time series data x(t), the algorithm of EMD does,
connect them by a cubic spline to form the upper and lower envelope
h1 x(t ) m1 (4.15)
3: check if h1 meet condition C1 and C2. If not, h1 is used as the data for the next
iteration,
h11 h1 m1 (4.16)
h k 1 (t ) hk (t )
SDk t 0
T
h
t 0
2
k 1 (t ) (4.18)
5: after the stoppage criteria is met, store h1k in c1, and the first IMF is derived as c1,
given by,
where r1 is the residue. This residue may contains long-period variations i.e.,
possible sinusoids in the signal, and use as data for the next iteration, as follows,
rn rn 1 c n
(4.20)
47
Eq. (4.18) is the normalized square difference between two successive sifting
operations. The obtained SD value has to be smaller than a predetermined value. This is
usually done by assigning a small value in the order of 10-3 to SD at the start of the EMD
programme. It is observed that from the above algorithm, the number of extrema in the
time series decrease after each extraction of an IMF, and thus guarantee that the time
stops when the residue rn becomes monotonic or when it has only one extremum where
no further IMF can be extracted. Thus the original data x(t) is decomposed into n-number
of IMFs, whose summation re-constitutes the original data x(t), that is [110],
n
x(t ) c j rn (4.21)
j 1
When there are more than one time series e.g., x1(t), x2(t), x3(t) ..., a mono-variate
EMD analyses on these time series one by one may produce for each time series IMFs
that does not have the same scale even though they are same indexed. This is expected,
since EMD decomposition is an automatic adaptive and time variant filtering [111]. This
problem is known as the mode misalignment [112]. In the study of machine fault
signatures harmonic, a number of signatures from different fault modes are decomposed
by EMD, and their IMFs thus derived are compared, to identify uniqueness for each fault
class. In order to examine and compare the spectrum content of each signature, it is
desirable to compare the same indexed IMF across different signatures. When using this
encountered. This complicates the study of the machine signature harmonic. The
48
followings illustrate this when some machine signatures; recorded at a sampling rate of
Figure 4.4 shows the decomposition of BRG signature with five IMFs. Subplot 1 shows
the original signature, labeled as IMF0. IMF1 and IMF2 are the high-frequency
components and IMF3 is the fundamental supply frequency. IMF4 and IMF5 are the low-
49
Figure 4.6: Mono-variate EMD of UBR signature.
Figure 4.5 shows the decomposition of UBR signature with six IMFs. Subplot 1 shows
the original signature. IMF1 and IMF2 are the high-frequency components and IMF3 is
the fundamental supply frequency. IMF4 to IMF6 are the low-frequency long-term
trend. Even though the same numbers of IMFs are derived from two different EMD
sifting processes, it is difficult to conclude that IMF1 and IMF2 from two different
signatures are of the same scale. Figure 4.6 shows the EMD of a HTY signature with six
IMFs. This time, IMF4 is the low-frequency component, and in this case, mode
50
Figure 4.7: Mono-variate EMD of HTY signature.
A possible solution is the use of multi-variate EMD (M-EMD). This project uses
the M-EMD algorithm by Rehman et al. (2010) [112, 113] to study the harmonics of
machine signature. In the standard mono-variate EMD setting, the local mean is
calculated by taking the interpolation between the local maxima and minima, i.e., the
decomposition extract oscillatory components in the time series. Figure 4.7 illustrates the
cubic spline interpolation of the extremum of an arbitrary signal x1(t). The mean of x1(t)
51
|x1(t)|
Maxima envelope
Mean of x1(t)
x1(t)
Minima envelope
time
the given set of signals in multi-dimensional space as complex signals, and seek to
extract rotating components from the complex signals as intrinsic modes, and thus
separating the slowly rotating components from rapidly rotating ones. That is, in a bi-
variate setting (i.e., N=2), given two time series x1(t) and x2(t), the bi-variate complex
z b (t ) x1 (t ) j x2 (t ) (4.22)
Figure 4.8 illustrates the complex signal zb(t) is the complex space (|x1(t)|, |x2(t)|,t). The
mean, shown in green line, is the average value in the 3D tube enclosed by the
52
|x1(t)|
3D extremum tube
time
Mean of zb(t)
zb(t)
|x2(t)|
For this project, the complex signal is shown in Figure 4.9, in the complex space for
53
For a tri-variate setting (i.e., N=3), given three time series x1(t), x2(t) and x3(t), the tri-
z t (t ) ix1 (t ) j x2 (t ) k x3 (t ) (4.23)
Figure 4.10 illustrates the complex signal zt(t) is the complex space (|x1(t)|, |x2(t)|, |x3(t)|).
The mean, shown in green line, is the average value in the 3D space enclosed by the
extremum of zt(t).
|x1(t)|
|x3(t)|
Mean of zt(t)
zt(t)
|x2(t)|
For this project, the complex signal is shown below in the complex space for machine
54
Figure 4.12: Evolution of tri-variate complex signal for (|HTY40(t)|,|BRG40(t)|,|BRB40(t)|).
For a 5-class study of the machine signature harmonics, i.e., N>3, a multi-variate
the signal by projections along different directions in N-dimensional spaces, and these
projections are next averaged to obtain the local mean. Given a set of N component
k k 1 , k 2 , k N 1 , (4.26)
55
Next the algorithm calculate a projection pk(t) for the input signal x(t) along direction
vector xk for all k i.e., the whole set of direction vectors (from k=1 to K). From the each
of the k-set of projections, the envelope ek(t) (from k=1 to K) of each projections is
There is usually noise n(t) being coupled into the measurement of data i.e., x(t) +
n(t). This causes mode mixing. Mode mixing is when there exists a signal of similar scale
in different IMF. This is due to the presence of transient signals, or signal intermittency.
Figure 4.12 illustrates this by using a synthetic time series s(t); denoted by IMF0, which
contains three tones, one high frequency (IMF1) and two low frequency (IMF2 and
IMF3) tones.
56
In the absence of white Gaussian noise, the three IMFs are derived from s(t) using
standard EMD, which correspond to each of the component of s(t), as shown in Figure
4.12 right-panel. However, when white Gaussian noise is added, the three component
tones cannot be recovered. Fig 4.12 left-panel shows the noise-perturbed IMFs, where it
is observed that multi-tone is present in the IMFs. This phenomenon is mode mixing.
mono-variate EMD, a different white Gaussian noise is added to s(t) for each complete
iteration of the sifting process i.e., from Eq. (4.15) to Eq. (4.20), thus yielding a series of
N set IMFs corresponding to each sifting process. The ensemble of these N set of IMFs is
next averaged, i.e., the ensemble averaging, to obtain the final IMFs that is free from
1 N
IMF j lim
N N
k 1
IMFk , j (4.28)
(N-A M-EMD) algorithm by Rehman et al. (2010) [112, 113], is used in this study. In N-
A M-EMD algorithm, all the signatures are submitted for decomposition in a single
application of the algorithm. To resolve the mode mixing problem due to the presence of
noise, two additional channels of white Gaussian noise are added. This two noise
57
channels are discarded after the EMD sifting processes. Figure 4.13 demonstrates the
Figure 4.14: N-A M-EMD on signal with Guassian white noise added.
58
CHAPTER 5: A STUDY ON AUTOMATIC
DIAGNOSIS OF BEARING AND UNBALANCED
ROTOR FAULTS
This chapter presents the diagnostic scheme proposed using time-domain and
Fault diagnosis may be solved as a pattern recognition problem. There are mainly
assigns an unseen input feature vector, by comparing the feature vector with the set of
prototypes, and assigns the feature vector to a particular class based on certain similarity
measure, for the effective diagnosis of bearing and unbalanced rotor faults, using time-
59
Figure 5.1 illustrates the proposed scheme.
Machine Fault
Detection and Diagnosis
Time-domain
vibration
signature
To automatically classify the fault signatures between the three classes, namely,
the unbalanced rotor fault, bearing fault and healthy machine, a suitable similarity
measure needs to be defined. There are many ways to define the similarity between a
template (q) and a feature vector (p) of dimension N. Such as, by Euclidean distance
[116]
S e ( p, q ) ( p q ) T ( p q )
(5.1)
where the objective is to find the minimum Euclidean distance among the templates, and
60
There is also the simple cross-correlation between q and p [117],
Ssc ( p, q) pT q (5.2)
otherwise. The geometrical interpretation is that, the angle between two perfectly
matching vector pair is 0o, and its cosine is 1; and an orthogonal vector pair at 90o and its
cosine is 0. The objective is thus to find the maximum correlation value among the
templates for a feature vector, and classify the feature vector to that template. However,
these similarity measures are suitable for synchronized static pattern, and are not suitable
for machine fault signatures in this study that have time lags among the samples, as these
measures on these signatures, large errors are made, leading to inaccurate classification.
61
Given three deterministic signals, as shown in Figure 5.2, namely, a half square-
wave v1(t), a half sine-wave v2(t), and a half sine-wave v3(t), that is time shifted by 30ms,
and v1(t) and v2(t) are templates for matching to feature vectors, v3(t). As observed from
Figure 5.2, even though v2(t) is identical to v3(t), their Euclidean distance at 0.3568, is
further than the distance between v1(t) and v2(t) at 0.1109. This is due to the time shift. In
associated with a half sine-wave. The situation is not improved by using simple cross-
correlation. v2(t) is identical to v3(t) in shape, but their simple cross-correlation value is
0. This reflects the fact that both signals are uncorrelated, but actually they are time
sum operation between two signals is not just simply template matching, but also taking
the temporal structure of the two signals into consideration, hence shift invariance. It is
also noise tolerance, as will be shown. Feature extraction is not required, and original
vibration data are used without synchronization. This allows the original data to speak for
itself. The following elaborates the advantages of this similarity measure, where it is both
For two bounded signals p(t) and q(t), the cross-correlation is defined as,
T
1 (5.3)
R pq ( ) lim
T 2T p(t ) q(t ) dt
T
where is the time lag of the two signals. To implement the cross-correlation similarity
measure for discrete signals, the cross-correlation sum operator is used [117],
62
N 1
R pq ( ) p (t ) q (t ). (5.4)
t 0
The Normalized Cross-Correlation sum operator is given by normalizing Eq. (5.4) with
p (t ) q (t )
t0
R pq ( ) . (5.5)
p (t ) q (t )
The cross-correlation sum Eq. (5.5), is computed at every time interval , and produces a
vector of cross-correlation sum coefficients rpq() of 2N-1 dimension with value between
This way, the time lag between p(t) and q(t) is considered, hence shift-invariant.
1 indicates direct opposite. Figure 5.3 shows the superimposed plot of the normalized
UBR/HTY).
63
Figure 5.3: Normalized cross-correlation sum coefficients of a pair signature.
The cross-correlation sum between two similar signatures (UBR/UBR); the blue
plot produces higher cross-correlation sum coefficients than between two dissimilar
signatures (UBR/HTY), the magenta plot. Therefore, the similarity measure between any
two signatures is the maximum of vector rpq(), from Eq. (5.6), that is,
(5.7)
S xc ( p, q) arg max[r1 r2 rj ] .
j
illustrates this.
64
Let us add zero-mean additive noise n(t), to deterministic signals p(t) and q(t), and
normalized the expression Rpq() by 1/N , where N is the length of the signal,
N 1
1
R pq ( )
N
[ p (t ) n (t )][q (t ) n (t )]
t 1
1 N 1
[ p (t ) q (t ) n (t ) q (t )
N t 1
p (t ) n (t ) n (t ) n (t )]
E [ p (t ) q (t )] E [n (t ) q (t )]
E [ p (t ) n (t )] E [n (t ) n (t )] (5.8)
where E[] is the expectation operator. Since the noise is zero-mean, p(t) and q(t)
deterministic, and with large N, the terms involving the noise in Eq. (5.8) are destroyed.
That is,
E [n (t )] E [q (t )] 0
E [ p (t )] E [n (t )] 0
E [n (t )] E [n (t )] 0 . (5.9)
Ultimately, Eq. (5.8) is reduced to Eq. (5.10), which is the same expression as in Eq.
(5.4), except with an additional normalizing constant term 1/N. Therefore Rpq(), is
R pq ( ) E [ p (t ) q (t )]
1 N 1 (5.10)
p (t ) q (t )
N t 1
By using Eq. (5.5), the time shift of the two signals is accounted for. The
similarity measure indicates that v2(t) and v3(t) have a perfect match with a maximum
65
take into consideration the temporal characteristic of these machine signatures, Eq. (5.7)
is used as a similarity measure in this study. Table 5.1 shows the resulting similarity
To simulate the two fault modes in this study, a machine fault simulator (MFS), as
66
VSI 230Vac CPU
Dewetron DAQ
CT
The template database contains 270 signatures of bearing fault (denoted by BRG),
unbalanced rotor fault (denoted by UBR), and healthy machine (denoted by HTY) with
90 samples for each class. 10 samples are recorded at each machine operating speed of
15Hz, 17Hz, 19Hz, 21Hz, 23Hz, 25Hz, 27Hz, 29Hz and 31Hz. BRG class consists of a
mixture of rolling element fault, inner raceway fault and outer raceway fault. Similarly,
the test set contains 270 unseen signatures with 90 samples for each class. 10 samples are
recorded at each machine operating speeds of 16Hz, 18Hz, 20Hz, 22Hz, 24Hz, 26Hz,
67
Vibration sensor
Faulty
bearing
Loader
Figure 5.6 shows the experimental setup to simulate the various bearing fault. The
accelerometer of 10kHz bandwidth above the bearing journal. Vibration signatures are
5kHz using Hanning windowing. Each data block of the vibration signature is 4000 in
Vibration sensor
68
Figure 5.7 shows the experiment setup to simulate unbalanced rotor fault. Two
rotors with screws attached are mounted on the shaft. The weight of these screws
generates unequal centrifugal forces when the rotor spins, thus creating vibrations due to
rotor unbalance.
The example database contains 270 signatures of bearing fault (BRG), unbalanced
rotor fault (UBR), and healthy machine (HTY) with 90 samples for each class, where 10
samples are recorded at each machine operating speed of 15Hz, 17Hz, 19Hz, 21Hz,
23Hz, 25Hz, 27Hz, 29Hz and 31Hz. BRG class consists of a mixture of rolling element
fault, inner raceway fault and outer raceway fault. The test set contains 270 unseen
signatures with 90 samples for each class. To demonstrate the ability of cross-correlation
sum operator to work on unseen data, 10 samples are recorded with a different machine
operating speeds for the training set at 16Hz, 18Hz, 20Hz, 22Hz, 24Hz, 26Hz, 28Hz,
69
5.4 Experimental Results
The classification result is presented in Table 5.3 and 5.4. An overall error rate of
0.74% is achieved. For UBR class the error rate is 2.22%, and for both BRG and HTY
classes the error rate is 0%. The average computation time per test sample is 0.2s with a
Predicted Class
UBR BRG HTY Error Rate (%)
Ground UBR 88 0 2 2.22 %
Truth BRG 0 90 0 0%
HTY 0 0 90 0%
k (nearest neighbor): 1
Similarity measure: Eq. (6.7)
Overall error rate (%): 0.74 %
Feature vector dimension: 4000
Template sample size: 270
Test sample size: 270
Computation time per test sample: 0.2 s
The value of k is varied to locate an optimal value for k. Odd values of k are used
70
Table 5.5 tabulates the classification error rate at different k values.
Table 5.5: Tabulated results of error rate (%) with various k-neighbor values.
2.00%
1.80%
1.85%
1.60%
1.40% 1.48%
Error Rate (%)
1.20%
1.00% 1.11%
0.80%
0.40%
0.20%
0.00%
1 3 5 7 9 11
k-neighbor
The best error rate is achieved at k equals 1, 7 and 9 where the error rate is 0.74%.
As more nearest neighbors are being enclosed by the Voronoi cell, the error rate
71
probabilistic information, thus tends to give better generalization for classification of
unseen input feature vectors. However, with a higher k, the Voronoi cell is increased;
encompassing other categories in the process, and this destroys the locality of the
estimation. As a result the error rate increases. Evidently it also increases the
computational burden. In this project, at k equals 7 and 11, the error rate reduces as more
prototype of the same class is enclosed. However, from Figure 5.8, a good value of k is
equal to 1 which produces the lowest error rate with least computational burden.
k-NN works well for multi-modal distribution, provided that the training sample
possible. With larger training samples, computational burden and memory requirement
are increased as well. This is especially so when the dimension of the feature vector is
high. For this project, even though the dimension of the feature vector is high at 4000, the
are made, as shown in Figure 5.9, 5.10, 5.11 and 5.12. Subplot 1 shows the test vector to
be classified. The symbol => denotes classified as. Subplot 2 shows the template that
the test vector is associated with. Subplot 3 is a graph of maximum cross-correlation sum
values (denoted by max xc) versus the location of the prototype in the database. It shows
the winners max xc value, and its location among the 270 templates in the database.
72
Figure 5.9: Unbalanced rotor fault misclassified as healthy machine.
73
Fig. 5.10 shows a correctly classified HTY signature. The winners value is
0.11365. This value is the highest among the templates, hence the winner belongs to
HTY signature and class prediction is HTY. Visual inspections of subplot 1 and 2
verified this.
Figure 5.11 shows a correctly classified UBR signature. The winners value is
0.17628. This value is the highest among the templates and belongs to UBR class.
74
Figure 5.12: Unbalanced rotor signature correctly classified.
Fig. 5.12 shows a correctly classified BRG signature. In this case, k is 11 and
subplot 4 shows the voting scheme. With 11 against 0 for HTY class, the predicted class
the spectrum that are accountable for the vibration. There are various ways to de-noise
signal e.g., ensemble synchronized averaging, band specific filtering etc. In this project
75
high-pass filter, because these band specific filters simply remove all the stop-band
frequencies, and this may also remove frequencies that may contain fault information.
The vibration signatures are filtered by a Discrete Wiener filter. Discrete Wiener
filter is an adaptive filter that adjusts its filter coefficients, or filter weights wk[i] i.e., the
weights at instant ith, to produce an estimated output [k], that is free from uncorrelated
components i.e., the correlated component estimate, and this estimated output is an
optimal estimate of the original signal, in the least-mean-square (LMS) error sense. This
LMS error ek, the uncorrelated components, is computed iteratively using successive
samples of the input signal y[k], by Widrow-Hoff LMS algorithm, show below [117],
N 1
y [k ] wk [i ]x[k i ], (5.11)
i 0
ek y [k ] y [k ], (5.12)
wk 1 [i ] wk [i ] 2 ek x[k i ]. (5.13)
where is the nudge-to-zero constant to prevent drift of the signal from optimal or to
grow in magnitude during adaptation, especially for long signals, and is a constant to
76
Figure 5.13 shows the scheme [117],
y [k ] y [k ] ek [k ] ek [k ] y [k ] y [k ]
N 1
y [k ] wk [i]x[k i]
Delay
i 0
Wiener
Filter
The feedback error signal ek, is used to adjust the Wiener filters coefficients and
generates an estimated signal [k], that is free from uncorrelated components and noise.
the signal is preserved, and is separated from the uncorrelated stochastic portion of the
signal and noise. In the first 100ms, the filtered signal is flat and appears compressed.
This is due to the adaptation algorithm finding convergence. After about 100ms, the
77
5.8.2 Frequency Analysis of Vibration Signatures
From the mechanics of the vibration signals, an unbalanced rotor fault generates a
low frequency of one-times (i.e., commonly refers as 1X) rotor shaft rotational speed due
to the forced-vibration created by the unbalanced mass [14], and bearing faults generate a
high frequency ring due to the free-vibration created by the impact of single-defect
surface [90, 93]. To examine the frequency content of the vibration signatures, the time-
(5.14)
X ( ) x[n] e j n .
n
Figure 5.15 to 5.20 shows the before and after filtering of the machine
vibration signatures. Subplot 1 is the original spectrum and subplot 2 is the filtered
the range of 100-900Hz. The vibration is mainly due to metal-to-metal sliding contacts of
the bearing assembly and other inherent constructional asymmetries. The dominant
78
Figure 5.15: Frequency content of HTY signatures at fr=15Hz.
However, as the speed increases, additional spectrum appears in the range of 600-
900Hz and become dominant, as higher rotational speed causes more free-vibrations due
79
5.8.2.2 Frequency Content of Unbalanced Rotor Fault
The 1x rotor rotational speed is clearly visible in the 0-60Hz range. This dominant
80
5.8.2.3 Frequency Content of Bearing Faults
impacts on metallic surface are clearly visible in the range of 800-1100Hz and 1900-
2100Hz. These are unique to bearing faults. Figure 5.19, 5.20 show this.
As the rotational speed of the machine increases to 32Hz, the spectrum in the
range 800-1100Hz and 1900-2100Hz becomes dominant, as the rings impact on the
81
Figure 5.20: Frequency content of BRG signatures at fr=32Hz.
From the above figures, it is observed for healthy machine, that the regions of
interest are 0-60Hz and above 600Hz, in that there is very low magnitude or no spectra in
these regions. For unbalanced rotor fault, the regions of interest are the low frequency 0-
synchronous machine speed. For bearing fault, the regions of interest are in the high
vibrations as a result of the impact of the single-point defect. Table 5.6 summaries this
observation.
82
Table 5.6: Distribution of spectrum of machine vibration signatures.
Feature extraction aims to reduce the dimensionality of the input vector, such that
the reduced dimension vector contains all the necessary data for classification, and is a
compact and faithful representation of the original input vector. Using the region of
interest, the spectrum of each signature is divided into 11 equal segments. The root-
mean-square (RMS) value of each segment is computed. The resulting 11 values thus
obtained, are arranged in an 11-dimensional vector as in Eq. (5.15). This is the feature
83
Figure 5.21: 11-dimensional feature vector at fr=15Hz and 31Hz.
As observed, unbalanced rotor fault produces a feature vector that has a high
value in the first dimension (fea1) and very low value for the remaining 10 dimensions
i.e., fea2, fea3..fea11, whereas the healthy machine has a very low value for fea1 and
fea9, and bearing fault has a very low value for fea1 and high value for fea9. With feature
extracted, SOM is next used to visualize this 11-dimensional data and to discover
way. The input to the SOM consists of 540 11-dimensional feature vectors from
unbalanced rotor signatures, healthy signatures and bearing faulty signatures. These
vectors are arranged columnwise to form an 11x540 input matrix, are normalized to value
of [0 1] and submitted to the SOM for learning. After the learning process, a map is a
84
created that groups the input feature vectors according to their topological characteristics,
Figure 5.22: Semantic map of vibration signatures from two SOM different simulations.
Figure 5.22 shows two fault maps obtained by two separate simulation runs,
each with the neuronal weights initiated differently and randomly. Each map shows three
distinct clusters, each belonging to a particular machine condition status class, namely
unbalanced rotor, healthy machine and bearing fault. All the 540 feature vectors have
been packed into a 10x10 grid, in three distinct clusters. Even though the clusters in both
carried out to derive a set of unique 2-dimensional feature vectors (fea_2D_SVM), using
85
fea _ 2 D _ SVM fea1 fea9 . (5.16)
Figure 5.23 shows the plot of fea1 versus fea9. Three distinct clusters are observed. The
M-SVM is next used to classify the 2-dimensional machine fault feature vector
derived based on structural risk minimization and the optimization of the support vectors
from the different classes, and thus optimal. Figure 5.24 shows the hyper-plane using a
Guassian kernel width (h) of 8.0 and a slack factor (C) of 0.1. An error rate of 1.48% is
achieved. Table 5.7 and 5.8 show the fault classification result and confusion matrix. The
training set is shown as circle and the test set as +. The training samples with black
86
Figure 5.24: M-SVM classification (Gaussian kernel hsvm=8.0, slack factor C=0.1) of vibration
signature.
Predicted Class
UBR BRG HTY Error Rate (%)
Ground UBR 84 4 0 4.44 %
Truth BRG 0 90 0 0%
HTY 0 0 90 0%
87
Table 5.8: M-SVM classification of vibration signatures result summary.
has not degraded the diagnostic information. This is shown by M-SVM automatically
classifying the 2-dimensional feature vectors with an error rate of 1.48%. Bearing fault
generates high frequency vibrations while unbalanced rotor creates dominant 1x machine
ranges, bearing and unbalanced rotor faults can be effectively detected and diagnosed.
88
CHAPTER 6: A STUDY ON MOTOR CURRENT
SIGNATURE USING EMPIRICAL MODE
DECOMPOSITION
This chapter presents the study and experiments carried out using EMD
technique, to discover new harmonic information about faulty machine signatures. This
approach is unlike all previous methods which use Fourier transform harmonic analysis
and wavelet decomposition as shown in the literature survey, and also in [86, 118], where
EMD is used to study one fault mode only. The objective is to identify harmonics that are
unique to each fault signature so as to validate that different machine fault indeed
generates a unique harmonic in the motor current. In the next, rationale for the use of this
technique is explained.
Fourier transform is the most well-known and most commonly used tool for
signal analysis. The main assumption is that any arbitrary square-integrable signal, x(t)
2nt
c e
i
x (t ) n
T
, (6.1)
n
Figure 7.1 illustrates Eq. (6.1). It shows a 10Hz square wave (black plot) being
approximated by the sum of 3 terms sinusoids (blue plot) and 10 terms sinusoids (red
89
Figure 6.1: Fourier Series (a finite sum of a 10Hz square wave with n=3 and n=10).
an integer multiple of 1/T i.e., a family of harmonics. This assumes periodicity of the
signal, and in the case of non-periodicity signal, the integral is extended from positive
coefficients, where the optimal value for cn, is the correlation between x(t) and e-i2nt/T
T 2nt
F x(t ) cn
1 i
T 0
T
x (t ) e dt.
(6.2)
90
6.2 Wavelet Transform
1 1 t
x (t )
C
0
W (s, )
s s
ds d .
(6.3)
where C is a constant depending on the base function. Thus, the wavelet transform is,
1 t
W ( s, ) x(t ) d , x(t ) L2 ( R)
*
s s (6.4)
1 t
s , (t ) . s 0, (6.5)
s s
is the translation in time, and (t) is called the prototype (mother) wavelet and s,(t)
the real line that is localized in time and frequency. In order to fulfill the zero-mean
condition, a wavelet thus needs to be oscillatory. Also, the wavelet transform has better
transform is functions of time and frequency, describing the information on x(t) at various
time window and frequency bands, allowing information of x(t) on frequency and
information of x(t). Figure 6.2 illustrates some of the different types of wavelet basis
functions.
91
Figure 6.2: Different wavelet basis functions.
energy model of x(t) is required. Fourier transform is unable to reveal such information.
Instead of using a sinusoidal basis function for convolution with x(t), a kernel
Cauchy Principle Integral is an integration technique (by Cauchy) that solves the
From the Hilbert transform Eq. (6.6), the analytic function z(t) is obtained,
92
With Eulers identity, the analytic function z(t) is expressed alternatively as,
(6.8)
z (t ) a(t ) e i (t ) .
where a(t) is the instantaneous amplitude, (t) is the instantaneous phase function and
x(t ) d
a(t ) x(t ) 2 2 x(t ), (t ) tan 1 , . (6.9)
x(t ) dt
instantaneous frequencies j(t) and amplitudes aj(t) of the IMFs thus derived using the
n i ( t ) dt (6.10)
x(t ) Re a j (t )e j
j 1
With Hilbert-Huang transform and the instantaneous quantities aj(t) and j(t), a
two-dimensional graph of Frequency versus Time is plotted with the amplitude aj(t)
shown as colour bar. This graph is the Hilbert spectrum, and shows how the frequency of
93
6.3.2 Marginal Hilbert Spectrum
By summing the various amplitude aj(t) of the IMF of the same frequency across
and a graph of Amplitude versus Frequency can be plotted. This graph is the Marginal
frequencies and the along the x-axis and amplitude of each frequency on the y-axis.
Nonlinear and non-stationary information about each IMF is observed by analyzing the
From Eq. (6.2), it is clear Fourier decomposition depends heavily on the pre-
defined sinusoidal basis function and has a strong a priori assumptions about x(t) of being
linear, periodic and stationary. From the nature of the inner product of two functions,
Fourier transform is the project of x(t) onto the sinusoidal basis function, and hence there
is no guarantee that the particular choice of sinusoidal basis function produces good
function machine slip, speed and loading conditions, thus changes as the loading
conditions vary. To analyze the motor current spectrum using FFT is very difficult to
locate the fault frequencies precisely and accurately, unless the machine operating
conditions are held constant in steady state conditions. Also, during FFT transformation,
94
Similarly, from Eq. (6.4), wavelet transform at scale s and time is a projection of
x(t) onto the wavelet with scale s and time shift , and hence shows how similar x(t) is to
that particular wavelet. Therefore, the decomposition relies on the good choice of the a
priori assumed wavelet basis function. Good decomposition results is obtained if the
wavelet function with similar features as x(t) is used, hence skillful and careful selection
loss. EMD method, in contrast, is not constrained by this, as it is free of predefined basis
function, but derived them directly from actual empirical data i.e., x(t), in the form of
iterating sifting processes (Eq. (4.15-4.20)), to derive the IMFs in an adaptive fashion. As
such, the IMFs thus derived are the basis functions, and allow for the direct reconstitution
HTY), Unbalanced rotor fault (UBR), Bearing fault (BRG), Broken rotor bar (BRB) and
Shorted stator winding fault (SWF) at machine operating speed of 20Hz, 30Hz and 40Hz;
almost spanning the entire normal machine operation speed, are studied. To avoid loss of
used. Three sets of signatures at machine operating speed of 20Hz, 30Hz and 40Hz, and
two sets of white Guassian noise, are submitted to N-A MEMD algorithm, to extract
95
harmonic information for a 5-class signature simultaneously. Figure 6.3 illustrates the
HTY n1
channel channel
1 6
BRG n2
channel channel
2 7
BRB
channel
3
UBR
channel
4
SWF
IMF 1 channel IMF 1
IMF 1 5 IMF 1
IMF 1
IMF 2 IMF 1 IMF 2
IMF 2 IMF 1 IMF 2
IMF 2
IMF 3 IMF 2
IMF 3 IMF 2 IMF 3
. IMF 3 IMF 3
. IMF 3 .
.
. IMF 3 . .
. .
. . . .
. .
. . . . .
. .
. . . . .
.
. . . .
IMF n . .
IMF n IMF n
. IMF n
IMF n
IMF n
IMF n
Two channels of white Gaussian noise, channel 6 and 7, denoted by n1 and n2,
are added to this 7-channel presentation of multi-variate EMD. Appendix A shows the
EMD of HTY20, BRG20, BRB20, UBR20, SWF20 and added noise n1, n2
96
6.5.1 Discussions: IMF Derived by EMD
It is observed that the decomposition has derived eleven IMFs. With mode mixing
and mode misalignment problems resolved, same-indexed IMFs across different motor
current signatures are compared. To study the intrinsic modes derived by EMD
algorithm, a pair of IMF from different machine signatures is compared, such as, between
HTY20 IMF1 and BRG20 IMF1, HTY20 IMF1 and UBR20 IMF1, HTY20 IMF1 and
SWF IMF1 etc. To have an objective comparison between the same-indexed IMFs across
pairs of IMFs are computed to determine their similarity to each other, as shown in Eq.
(6.11), N 1
p (t ) q (t ) (6.11)
R pq ( ) t 0
p (t ) q (t )
Next a vector rpq, with each element of the vector a normalized cross-correlation
(6.12)
rpq ( ) [r1 r2 r2 N 1 ], rpq 1 x 2 N 1
The similarity measure between any two pair of same-indexed IMFs motor
S ( p, q) arg max[r1 r2 rk ]
k (6.13)
Using Eq. (6.11), (6.12) and (6.13), the following cross-correlation results is tabulated.
97
Table 6.1: Similarity measures of same-indexed pair of machine current IMFs at 20Hz.
Table 6.2: Similarity measures of same-indexed pair of machine current IMFs at 30Hz.
Table 6.3: Similarity measures of same-indexed pair of machine current IMFs at 40Hz.
98
6.5.2 Discussions: Filter-bank Property of EMD Algorithm
From Table 6.1, 6.2 and 6.3, it is observed that IMF5 to IMF9 are unique having
low maximum cross-correlation sums, whereas IMF2-4 and IMF10 closely resemble with
each other as their maximum cross-correlation sums having high score, and hence not
unique. Since IMF 5 to 9 are unique, analysis is focus on these intrinsic modes. Figure
6.4 shows the Hilbert spectrum and Marginal Hilbert Spectrum of machine signatures at
30Hz machine speed in subplot 1 and subplot 2 to 6 respectively, with amplitude in log-
scale.
Figure 6.4: EMD as filter-banks for HTY30 (IMF 5 9) machine current signature.
99
It is also observed that the sifting process the EMD algorithm has in fact separated
the signatures into a few frequency bands, acting essentially like a wavelet-like filter
[120], with the highest frequency band associated with lower indexed IMF. Table 6.4
Table 6.4: Frequency band for HTY30 (IMF 5-9) machine current signature.
The Hilbert spectrum shows the spectrum activities as function of time, where
each color dot in the plot represents a frequency at a particular point in time. It shows that
However, the main spectra activity is around 100Hz to 800Hz from IMF8 and IMF9.
With the effective separation of the harmonic into separate frequency bands, it allows the
identification of interesting unique spectrum for the study of signature, and to discard the
common intrinsic modes that show the same features across different signatures. The
100
6.5.3 Discussions: Significance of IMF1, IMF2, IMF3, IMF4
IMF1 is the added white Guassian noise and is discarded. IMF2, IMF3 and IMF4
are the common intrinsic modes to all the signatures, since their maximum cross-
correlation sums of these pairs of IMFs have almost the same values with high scores.
They are visually indistinguishable and closely resemble the same-indexed IMFs of other
signatures. They are the common intrinsic modes for the signatures, due primarily to the
harmonics from supply voltage inverter high frequency switchings, high-frequency noise
Figure 6.5: IMF1, IMF2, IMF3, IMF4 of the machine signatures at 20Hz.
101
Figure 6.6: IMF1, IMF2, IMF3, IMF4 of the machine signatures at 30Hz.
Figure 6.7: IMF1, IMF2, IMF3, IMF4 of the machine signatures at 40Hz.
102
6.5.4 Discussions: Significance of IMF10, IMF11
IMF10 is the fundamental supply frequency by the Voltage Supply Inverter (VSI).
EMD has neatly separated the fundamental supply frequency; which is the dominant
frequency of the machine signature analysis. This separation is achieved by the adaptive
sifting process and no notch filter is required. This is a marked difference from all
surveyed literatures where notch filtering is used to remove this dominant frequency.
Figure 6.8: IMF10 and IMF11 (residue) of the machine signatures at 20Hz.
Figure 6.9: IMF10 and IMF11 (residue) of the machine signatures at 30Hz.
Figure 6.10: IMF10 and IMF11 (residue) of the machine signatures at 40Hz.
103
The residue correctly shows a long term trend of zero as the preceeding IMF10
is a sinosoid of zero-mean. With the observations discussed thus far, IMF1, IMF2, IMF3,
IMF5, IMF6, IMF7, IMF8, IMF9 are of interest, as they show significant
differences in their maximum cross-correlation sum values. Therefore, they are of interest
to the study of identifying uniqueness of different machine fault signatures. The figures
below show some of these IMFs, especially IMF5 to 9 at 20Hz machine speed. Their
corresponding Hilbert spectrum and Marginal Hilbert spectrum are shown in Appendix
B.
104
Figure 6.12: IMF5-9 of the BRG machine signatures at 20Hz.
105
Figure 6.14: IMF5-9 of the UBR machine signatures at 20Hz.
106
6.6 Visualization of the Comparison results by SOM
In this section, the difference between the pair of machine signature is visualized
using SOM. It is well-known that SOM preserves the topological order of multi-
dimensional feature vectors, where feature vectors of the same type clusters together, and
presents such visualization of the clusters in a 2D-grid. Using this unique capability of
SOM, the Euclidean distances among the different pair of same-indexed IMF comparison
results are visualized. The SOM input consists of a 5x10 matrix, with each column is a
feature vector, fea_IMF, created by using the maximum cross-correlation sum of same-
In the next, a 20x20 SOM leans the topological order of the feature vectors, and
display their Euclidean distance relationships on a 2D grid. Each dot on the grid
represents a SOM neuron. Figure 6.16, 6.17 and 6.18 show this.
all other vectors are further apart and equally spaced. HTY/BRG and HTY/BRB are far
apart. Therefore, at low machine speed of 20Hz, motor current is unable to generates
unique sigantures that allows the diagnosis of four separate machine fault modes under
this study, namely, bearing, unbalanced rotor, broken rotor bars and shorted stator
windings.
107
Figure 6.16: Feature map using fea_IMF vector at fs=20Hz.
It is observed from Figure 6.17, at higher machine speed of 30Hz, HTY/UBR and
HTY/SWF features are farther now than at 20Hz. This indicates that UBR and SWF
signatures are more distinct to HTY signature than at 20Hz. This allows for the diagnosis
of unbalanced rotor fault and shorted stator windings. HTY/BRB and HTY/BRG are
clearly apart and hence allow for the diagnosis for bearing and broken rotor bar faults. All
other feature vectors are far apart and almost equally spaced. This indicates they are
unique.
108
Figure 6.17: Feature map using fea_IMF vector at fs=30Hz.
At even higher speed of 40Hz, HTY/SWF and HTY/UBR vectors are far apart as
at 30Hz, as shown in Figure 6.18. HTY/BRB and HTY/BRG are still clearly apart and
hence allow for diagnosis for bearing and broken rotor bar faults.
109
Figure 6.18: Feature map using fea_IMF vector at fs=40Hz.
operating speed of 30Hz and 40Hz. Unbalanced rotor and shorted stator windings faults
produce similar harmonics at lower speed machine of 20Hz, blurring the uniqueness of
the signatures of unbalanced rotor fault and shorted stator windings, to allow for fault
diagnosis purposes. Therefore, there is a potential risk that an unbalanced rotor fault
110
CHAPTER 7: CONCLUSION
This project has demonstrated a simple and effective data-based scheme, using
time-domain vibration data, for the continuous automatic condition monitoring and
diagnosis of the two most common machine fault modes, namely, bearing and
unbalanced rotor faults. The key idea is to use a novel normalized cross-correlation sum
operator as similarity measure and the use of k-NN algorithm, for the automatic
Experiments conducted showed that a low error rate of 0.74% is achieved and insensitive
to a wide range of machine operating speed from 15Hz to 32Hz. As such, objective 1
Further, this project also showed the successful diagnosis of these two mechanical
next used to derive the clusters globally optimal separating hyper-plane for the automatic
classification of the fault modes. A low error rate of 1.48% is achieved and insensitive to
a wide range of machine operating speed from 15Hz to 32Hz. This has achieved
This project also study of motor current signature harmonic content using EMD
technique. A wide range of fault modes are studied, namely, bearing fault, unbalanced
rotor fault, broken rotor bar fault and shorted stator winding fault, which together
accounts for more than 85% of all machine fault mode. This project has demonstrated the
111
use of the unique filter bank property of EMD algorithm, to effectively separate the
fundamental supply frequency. By such separation of the common modes, unique non-
linear and non-stationary features are discovered at machine operating speed of 30Hz and
However, it is also observed in this project that the uniqueness of the signatures is
not clearly present in lower machine operating speed of 20Hz. With these unique features
at machine speed of more than 30Hz extracted, automatic fault classifications by a single
effective fault detection and diagnosis scheme based on EMD technique can be achieved.
This will lay the foundation for future works for using EMD technique for machine fault
112
REFERENCES
[5] IEEE Motor Reliability Working Group, Report of large motor reliability
survey of industrial and commercial installations, Part I, IEEE Trans. Ind. Appl.,
vol. IA-21, no. 4, pp.853864, Jul 1985
[7] S. Nandi, H.A. Toliyat, Xiaodong Li, Condition monitoring and fault diagnosis
of electrical motors-a review, IEEE Transaction on Energy Conversion,
vol.20, Issue 4, pp.719 729, Dec 2005
[8] B. Ayhan, H.J. Trussell, Mo-Yuen Chow, Myung-Hyun Song, On the Use of a
Lower Sampling Rate for Broken Rotor Bar Detection With DTFT and AR-
Based Spectrum Methods, IEEE Transactions on Industrial Electronics,
vol.55, Issue 3, pp.1421 1434, Mar 2008
[11] W.T. Thomson, M. Fenger, Case histories of current signature analysis to detect
faults in induction motor drives, IEEE International Electric Machines and
Drives Conference, 2003. IEMDC'03., vol. 3, pp.1459 - 1465, 1-4 Jun 2003
113
[12] J.R. Stack, T.G. Habetler, R.G. Harley, "Bearing fault detection via
autoregressive stator current modeling, IEEE Transactions on Industry
Applications, vol. 40, Issue 3, pp.740 747, May-Jun 2004
[13] Wei Zhou, T.G. Habetler, R.G. Harley, Bin Lu, Incipient Bearing Fault
Detection via Stator Current Noise Cancellation using Wiener Filter,
Diagnostics for Electric Machines, Power Electronics and Drives, 2007.
SDEMPED 2007, pp.11-16, 6-8 Sep 2007
[15] Jun Zhang, Rui-Xin Li, Pu Han, Dong-Feng Wang, Xi-Chao Yin, Wavelet
Packet Feature Extraction for Vibration Monitoring and Fault Diagnosis of
Turbo-Generator, Machine Learning and Cybernetics, 2003. Proceedings of The
IEEE International Conference, pp.76 81, 2-5 Nov 2003
[16] Wensheng Su, Fengtao Wang, HongZhu, Zhixin Zhang, Zhenggang Guo,
Rolling element bearing faults diagnosis based on optimal Morlet wavelet filter
and autocorrelation enhancement, Elsevier, Science Direct, Mechanical Systems
and Signal Processing Mechanical Systems and Signal Processing 24 (2010),
pp.14581472, 2010
[17] Shibin Wang, Weiguo Huang, Z.K. Zhu, Transient modeling and parameter
identification based on wavelet and correlation filtering for rotating machine
fault diagnosis, Elsevier, Science Direct, Mechanical Systems and Signal
Processing 25 (2011) 12991320, 2011
114
motors, Elsevier, Science Direct, Expert Systems with Applications 32 (2007)
pp.299312, 2007
[23] L.M.R Baccarini, V.V.R. Silva, B.R. Menezes, W.M. Caminhas, SVM practical
industrial application for mechanical faults diagnostic, Elsevier, Science Direct,
Expert Systems with Applications 38 (2011) pp. 69806984, 2011
[25] Bo Li, G. Goddu, Mo-Yuen Chow, Detection of Common Bearing Faults Using
Frequency-Domain Vibration Signals and a Neural Network Based Approach,
Proceedings of the American Control Conference Philadelphia, Pennsylvania,
Jun 1998
[26] Wei He, Xiang Zhou, Application of the Wavelet-SOFM Network in Roll
Bearing Defect Diagnosis, IEEE, Global Congress on Intelligent Systems, 2009
[27] Yu Yang, Dejie Yu, Junsheng Cheng, A fault diagnosis approach for roller
bearing based on IMF envelope spectrum and SVM, Elsevier, Science Direct,
Measurement 40 (2007) 943950, 2007
[28] Hui Li, Haiqi Zheng, Liwei Tang, Instantaneous Energy Spectrum Based Gear
Fault Detection and Diagnosis, IEEE Sixth International Conference on Fuzzy
Systems and Knowledge Discovery, 2009
[30] Zhang Bo-Wen, Qi Wei, Yang Dong, Tang Xiaocheng, Song Zhihuan, The
Application of Frequency Family Separation Method in Rolling Bearing Fault
diagnosis Based on Empirical Mode Decomposition, Proceedings of the 29th
Chinese Control Conference, Beijing, China, Jul 29-31, 2010
[31] Hui Li, Yucai Wang, Yanfang Ma, Ensemble Empirical Mode Decomposition
and Hilbert-Huang Transform Applied to Bearing Fault Diagnosis, 3rd
International Congress on Image and Signal Processing (CISP2010), 2010
[32] S. Nandi, H.A. Toliyat, Condition monitoring and fault diagnosis of electrical
machines-a review, Industry Applications Conference, 1999. Thirty-Fourth IAS
Annual Meeting. Conference Record of the 1999, IEEE, vol. 1, pp.197 204, 3-7
Oct 1999
115
[33] F. Filippetti, G. Franceschini, C. Tassoni, P. Vas, "Recent Developments of
Induction Motor Drives Fault Diagnosis Using AI Techniques, IEEE
Transactions on Industrial Electronics, vol. 47, no. 5, Oct 2000
[35] S.H. Kia, A.M Mabwe, H. Henao, G.A. Capolino, Wavelet Based Instantaneous
Power Analysis for Induction Machine Fault Diagnosis Wavelet Based
Instantaneous Power Analysis for Induction Machine Fault Diagnosis, IEEE
Industrial Electronics, IECON 2006 - 32nd Annual Conference. pp.1229 1234,
2006
[36] D. Basak, A. Tiwari, S.P. Das, Fault diagnosis and condition monitoring of
electrical machine Fault diagnosis and condition monitoring of electrical
machines - A Review, Industrial Technology, 2006. ICIT 2006. IEEE
International Conference, pp. 3061 3066, 2006
[37] W. Zhou, T.G. Habetler, R.G. Harley, Stator Current-Based Bearing Fault
Detection Techniques: A General Review, Diagnostics for Electric Machines,
Power Electronics and Drives, SDEMPED, pp.7 10, 2007
[38] W.T. Thomson, M. Fenger, Current signature analysis to detect induction motor
faults, Industry Applications Magazine, IEEE , vol. 7, Issue 4, pp.26 34, Jul-
Aug 2001
[39] N. Mehala, R. Dahiya, Motor Current Signature Analysis and its Applications
in Induction Motor Fault Diagnosis, International Journal of Systems
Applications, Engineering & Development, vol. 2, Issue 1, 2007
116
[43] J. Cusido, L. Romeral, J.A Ortega, J.A Rosero, A.G. Espinosa, Fault Detection
in Induction Machines Using Power Spectral Density in Wavelet
Decomposition, IEEE Transactions on Industrial Electronics, vol. 55, Issue
2, pp. 633 643, Feb 2008
[44] He Zhengjia, Zhao Jiyuan, He Yibin, Meng Qingfeng, Wavelet transform and
multiresolution signal decomposition for machinery monitoring and diagnosis,
Industrial Technology, 1996. (ICIT '96), Proceedings of The IEEE International
Conference, pp.724 727, 2-6 Dec 1996
[45] L. Eren, M.J. Devaney, Bearing damage detection via wavelet packet,
Proceedings of the 19th IEEE Instrumentation and Measurement Technology
Conference, 2002. IMTC/2002, vol.1, pp.109 113, 21-23 May 2002
[46] H. Douglas, P. Pillay, A.K. Ziarani, A new algorithm for transient motor current
signature analysis using wavelets, IEEE Trans. Ind. Appl., vol. 40, no. 5, pp.
13611368, Sep/Oct 2004
[47] S.H. Kia, A.M. Mabwe, H. Henao, G.A. Capolino, Wavelet Based
Instantaneous Power Analysis for Induction Machine Fault Diagnosis, 2006
[48] S.H. Kia, H. Henao, G.A. Capolino, Diagnosis of Broken-Bar Fault in Induction
Machines Using Discrete Wavelet Transform Without Slip Estimation, IEEE
Transactions on Industry Applications, vol. 45, no. 4, Jul/Aug 2009
[49] R. Yan, Robert X. Gao, Energy-Based Feature Extraction for Defect Diagnosis
in Rotary Machines, IEEE Transactions on Instrumentation and Measurement,
vol. 58, no. 9, Sep 2009
[51] R.N. Dash, B. Subudhi, S. Das, Induction Motor Stator Inter-Turn Fault
Detection Using Wavelet Transform Technique, 2010 5th International
Conference on Industrial and Information Systems, ICIIS 2010, Jul 29 - Aug 01,
2010
[52] Enzo C.C. Lau, H.W. Ngan, Detection of Motor Bearing Outer Raceway Defect
by Wavelet Packet Transformed Motor Current Signature Analysis, IEEE
Transactions on Instrumentation and Measurement, vol. 59, no. 10, Oct 2010
[53] M.H. Benbouzid, M. Vieira, C. Theys, Induction Motors Faults Detection and
Localization Using Stator Current Advanced Signal Processing Techniques,
IEEE Transactions on Power Electronics, vol. 14, no. 1, Jan 1999
117
[54] L.A. Pereira, D. Fernandes, D.S. Gazzana, F.B. Libano, S. Haffher, Application
of the Welch, Burg and MUSIC Methods to the Detection of Rotor Cage Faults
of Induction Motors , Transmission & Distribution Conference and Exposition:
Latin America, 2006. TDC'06. IEEE/PES , pp.1 - 6, 2006
[59] B. Akin, U. Orguner, H.A. Toliyat, M. Rayner, Low Order PWM Inverter
Harmonics Contributions to the Inverter-Fed Induction Machine Fault
Diagnosis, IEEE Transactions on Industrial Electronics, vol. 55, no. 2, Feb 2008
[60] I.P. Georgakopoulos, E.D. Mitronikas, A.N. Safacas, I.P. Tsoumas, Rotor fault
detection in inverter drive systems using inverter input current analysis, XIX
International Conference on Electrical Machines - ICEM 2010, Rome, 2010
[61] J. Sottile, F.C. Trutt, J.L Kohler, Experimental investigation of on-line methods
for incipient fault detection [in induction motors], Industry Applications
Conference, 2000. Conference Record of the 2000 IEEE pp.2682 - 2687 vol.4,
2000
[62] Srgio, M.A. Cruz, A.J.M Cardoso, Stator Winding Fault Diagnosis in Three-
Phase Synchronous and Asynchronous Motors, by the Extended Parks Vector
Approach , IEEE Transactions on Industry Applications, vol. 37, no. 5, Sep/Oct
2001
118
[64] S. Nandi, Detection of Stator Faults in Induction Machines using Residual
Saturation Harmonics, IEEE Transactions on Industrial Applications, vol. 42,
no. 5, Sep/Oct 2006
[65] L. Frosini, E. Bassi, Stator Current and Motor Efficiency as Indicators for
Different Types of Bearing Faults in Induction Motors, Industrial Electronics,
vol.57, issue: 1 pp.244 251, 2010
[66] Wei Zhou, T.G. Habetler, R.G. Harley, Bin Lu, Incipient Bearing Fault
Detection via Stator Current Noise Cancellation using Wiener Filter, IEEE
International Symposium on Diagnostics for Electric Machines, Power
Electronics and Drives, 2007. SDEMPED 2007, pp.11 16, 6-8 Sept 2007
[67] K. Cho, J. Lang, S. Umans, Detection of broken rotor bars in induction motors
using state and parameter estimation, IEEE Transactions on Industry
Applications, vol. 28, no. 3, pp.702709, May/Jun 1992
[71] J. Faiz, B. M. Ebrahimi, Locating rotor broken bars in induction motors using
finite element method, Energy Convers. Manage, vol. 50, no. 1, pp.125131,
Jan 2009
[74] V. Fireteanu, P. Taras, Teaching induct ion machine through finite element
models, 18th International Conference on Electrical Machines, 2008. ICEM
2008. pp.1 6, 2008
119
[75] H.A. Toliyat, M.S. Areffen, A.G. Parlos, A method for Dynamic Simulation of
Air-Gap Eccentricity in Induction Machine, IEEE Transactions on Industry
Applications, vol. 32, no. 4 July/Aug 1996
[76] G.M. Joksimovic, J. Penman, The Detection of Inter-Turn Short Circuits in the
Stator Windings of Operating Motors, IEEE Transactions on Industrial
Electronics, vol. 47, no. 5, Oct 2000
[78] L. Eren, A. Karahoca, M.J. Devaney, Neural network based motor bearing fault
detection, Proceedings of the 21st IEEE Instrumentation and Measurement
Technology Conference, 2004. IMTC 04., pp.1657 1660, vol.3, 18-20 May
2004
[79] L.A. Pereira, G. Silva, L.F.A Pereira, Motor current signature analysis and
fuzzy logic applied to the diagnosis of short-circuit faults in induction motors,
31st Annual Conference of IEEE Industrial Electronics Society, 2005, IECON
2005, 6-10 Nov 2005
[82] T.W. Chua, W.W. Tan, Z.-X. Wang, C.S. Chang, Hybrid time-frequency
domain analysis IEEE International Symposium on for inverter-fed induction
motor, IEEE International Symposium on Industrial Electronics (ISIE), pp.1633
1638, 2010
[83] Z.-X. Wang, C.S. Chang, T.W. Chua, W.W. Tan, Ensemble and individual
noise reduction method for induction-motor signature analysis, 8th International
Conference on Advances in Power System Control, Operation and Management
(APSCOM 2009), pp.1 6, 2009
[84] Z.-X. Wang, C.S. Chang, X. German, W.W. Tan, Online fault detection of
induction motors using independent component analysis and fuzzy neural
120
network, 8th International Conference on Advances in Power System Control,
Operation and Management (APSCOM 2009), pp.1 6, 2009
[87] S. Nandi H.A. Toliyat, A.G. Parlos, Performance Analysis of A Single Phase
Induction Motor Under Eccentric Conditions, IEEE Industry Applications
Society Annual Meeting, New Orleans, Louisiana, Oct 5-9, 1997
[88] S. Nandi, H.A. Toliyat, Xiaodong Li, Condition Monitoring and Fault
Diagnosis of Electrical MotorsA Review, IEEE Transactions on Energy
Conversion, vol. 20, no. 4, Dec 2005
[91] SpectraQuest, Inc., Applied Vibration Analysis Training Manual & Laboratory
Exercises, Richmond, Virginia, 2009
[92] R.R. Obaid, T.G. Habetler, D.J. Gritter, A Simplified Technique for Detecting
Mechanical Faults using Stator Current in Small Induction Motors, 2000
[93] R.A. Guyer, Jr, Rolling Bearings Handbook and Troubleshooting Guide,
Chilton Book Company, Radnor, Pennsylvania, 1996
[94] C. Riley, K. Lin, T.G Habetler, G.B. Kliman, Stator current harmonics and their
causal vibrations: A preliminary investigation of sensorless vibration monitoring
applications, IEEE Trans. Ind. Appl., vol. 35, no. 1, pp. 9499, Jan/Feb 1999
[95] A.M. Knight, S.P. Bertani, Mechanical fault detection in a medium sized
induction motor using stator current monitoring, IEEE Transactions on Energy
Conversion, vol. 20, no. 4, Dec 2005
121
[96] S. Nandi, H.A. Toliyat, Novel frequency domain based technique to detect
incipient stator inter-turn faults in induction machines, IEEE Industry
Applications Conference, 2000. vol. 1, pp.367 374, 2000
[100] L.A. Pereira, D.S Gazzana, L.F.A. Pereira, Motor current signature analysis and
fuzzy logic applied to the diagnosis of short-circuit faults in induction motors,
31st Annual Conference of IEEE on Industrial Electronics Society, 2005, IECON
2005, 2005
[104] Y. Pan, S.S Ge, A. Mamun, Weighted locally linear embedding for dimension
reduction, Pattern Recognition, doi: 10.1016/j.patcog.2008.08.024, 2008
122
[108] S. Bernhard., S.J Alexander, Learning with Kernels Support Vector Machines,
Regularization, Optimization and Beyond, MIT press, US, 2002
[110] N.E. Huang, Z.H Wu, A Review On Hilbert-Huang Transform: Method and its
Applications to Geophysical Studies, Reviews of Geophysics, 46, RG2006 /
2008, Paper number 2007RG000228, 6 Jun 2008
[116] J.V. Uspensky, Theory of Equations, McGraw-Hill, pp. 256, New York, 1948
[118] J. Rosero, L. Romeral, J.A. Ortega, E. Rosero, Short Circuit Fault Detection in
PMSM by means of Empirical Mode Decomposition and Wigner Ville
Distribution, IEEE Transactions on Industrial Electronics, 2008
[119] N.E. Huang, Z.H. Wu, A Review On Hilbert-Huang Transform: Method and its
Applications to Geophysical Studies, Reviews of Geophysics, 46, RG2006 /
2008, Paper number 2007RG000228, 6 Jun 2008
123
APPENDIX A: INTRINSIC MODE FUNCTIONS DERIVED BY N-A MEMD
ALGORITHM FOR MACHINE SIGNATURES AT MACHINE SPEED OF 20HZ
124
Figure A 2: EMD of BRG20 signature.
125
Figure A 3: EMD of BRB20 signature.
126
Figure A 4: EMD of UBR20 signature.
127
Figure A 5: EMD of SWF20 signature.
128
Figure A 6: EMD of added noise n1.
129
Figure A 7: EMD of added noise n2.
130
APPENDIX B: HILBERT SPECTRUM AND
MARGINAL HILBERT SPECTRUM OF MACHINE
SIGNATURE (AT MACHINE SPEED OF 20HZ)
INTRINSIC MODE FUNCTION 5 TO 9
Figure B 1: Hilbert Spectrum and Marginal Hilbert Spectrum for (IMF 5-9) of the BRG
machine signatures at 20Hz.
131
Figure B 2: Hilbert Spectrum and Marginal Hilbert Spectrum for (IMF 5-9) of the BRB
machine signatures at 20Hz.
132
Figure B 3: Hilbert Spectrum and Marginal Hilbert Spectrum for (IMF 5-9) of the UBR
machine signatures at 20Hz.
133
Figure B 4: Hilbert Spectrum and Marginal Hilbert Spectrum for (IMF 5-9) of the SWF
machine signatures at 20Hz.
134
APPENDIX C: PSEUDO CODE FOR 2-CLASS SVM
LEARNING
% S U P P O R T V E C T O R M A C H I N E (SVM)
% - 2 class problem
% - Training SVM
% Written By : Chen Wee Yuan (HT080482M)
% Date : 1 Dec 2009
clear all; clc; close all;
%new test data
gp1=[1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 ...
4 4 4 4 4 5 5 5 5 5 12 12 12 12 12 ...
13 13 13 13 13 14 14 14 14 14 15 15 15 15 15 ...
16 16 16 16 16;
11 12 13 14 15 ...
11 12 13 14 15 ...
11 12 13 14 15 ...
11 12 13 14 15 ...
11 12 13 14 15 ...
6 7 8 9 10 ...
6 7 8 9 10 ...
6 7 8 9 10 ...
6 7 8 9 10 ...
6 7 8 9 10];
[r cgp1]=size(gp1);
figure;
for i=1:cgp1
plot(gp1(1,i), gp1(2,i),''); grid on; hold on;
text(gp1(1,i), gp1(2,i),'1','Color',[0 1 0]); grid on; hold on;
end
gp2=[1 1 1 1 2 2 2 2 3 3 3 3 ...
4 4 4 4 5 5 5 5 6 6 6 6 ...
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ...
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ...
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ...
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 ...
11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15 15 15 ...
16 16 16 16;
17 18 19 20 17 18 19 20 17 18 19 20 17 18 19 20 17 18 19 20 ...
20 17 18 19 ...
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ...
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ...
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ...
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ...
4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1];
[r cgp2]=size(gp2);
for i=1:cgp2
plot(gp2(1,i), gp2(2,i),''); grid on; hold on;
text(gp2(1,i), gp2(2,i),'2','Color',[1 0 1]); grid on; hold on;
end
axis( [0 18 0 22]);
135
title('2-class SVM training samples');
trainx=[gp1 gp2];
ntrainx=[cgp1 cgp2];
[trainx,ps]=mapminmax(trainx);
save trainx;
save ntrainx;
136
% solving the dual problem for Langrange multipliers (alpha) %
f=-1*ones(c1,1); %maximization problem
A=zeros(1,c1);
b=zeros(1,1);
Aeq=di';
beq=zeros(1,1);
lb=zeros(c1,1);
%ub=ones(c1,1)*1e6; %for hard-margin
ub=ones(c1,1)*C; %for soft-margin
a0=0.1*randn(c1,1); %randomly initialise initial alphas
options=optimset('LargeScale','off','MaxIter',3000);
[a,fval,exitflag,output,alpha]=quadprog(H,f,A,b,Aeq,beq,lb,ub,a0,options);
% support vector xsv for weights and bias calculations: find the weight term-(wok) using support vector
wok=0;
for i=1:c1
%wok=wok+a(i)*di(i)*(xsv{1}'*xi(:,i)+1)^p; %polynomial kernel
%wok=wok+a(i)*di(i)*(xsv{1}'*xi(:,i)); %linear kernel hard-margin
%wok=wok+a(i)*di(i)*tanh(beta0*xsv{1}'*xi(:,i)+beta1);
wok=wok+a(i)*di(i)*exp(-1*(xsv{1}-xi(:,i))'*(xsv{1}-xi(:,i))/2*rl^2); %exp kernel
end
bo=1/dsv{1}-wok; %find the bias bo using ds
sim_time=toc; sim_time;
save xsv; save dsv; save asv; save bo;
% S U P P O R T V E C T O R M A C H I N E (SVM)
% - 2 class problem
% - Testing SVM constructed
% Written By : Chen Wee Yuan (HT080482M)
% Date : 1 Dec 2009
gridsize_x=1.5; gridsize_y=1.5;
[rt ct]=size(xi);
%set SVM parameter - soft-margin p, C
%beta1=1;beta0=1; %p=6;C=1;
rl=kernelpara(1,1); C=kernelpara(1,2);
%test data
gpt1=[3.3 14.5; 13.5 8.9];
gpt2=[3.2 8.3 8.6 9.3 13.3;19.5 19.3 10.4 2.3 2.3];
testx=[gpt1 gpt2];
di_test=[1;1;-1;-1;-1;-1;-1];
xi_test=mapminmax('apply',testx,ps);
137
tic;
% test SVM using test_set
[r2 cw]=size(xi_test);
ker1=0;
[rsv csv]=size(xsv);
number_sv=csv;
for j=1:cw
for i=1:csv
sv=xsv{i};
%ker1(i,j)=xi_test(:,j)'*xi(:,i); %linear kernel hard-margin
%ker1(i,j)=(xi_test(:,j)'*xi(:,i)+1)^p; %polynomial kernel
%ker1(i,j)=tanh(beta0*xi_test(:,j)'*xi(:,i)+beta1);
ker1(i,j)=exp(-1*(xi_test(:,j)-sv)'*(xi_test(:,j)-sv)/2*rl^2); %exp kernel
end
end
dv=cell2mat(dsv)';
av=cell2mat(asv)';
gx=(av.*dv)'*ker1+bo*ones(1,cw);
for i=1:cw
if gx(i)>0;
gx(i)=1;
elseif gx(i)<0;
gx(i)=-1;
end
end
dnew1=gx;
sim_time=toc;
138
xtest2=reshape(xtesta2,1,rplot*cplot);
xqtest=[xtest1;xtest2];
%calculate discriminate values using SVM over the entire plot grid
[r c]=size(xqtest);
ker1=0;
[rsv csv]=size(xsv);
number_sv=csv;
for j=1:c
for i=1:csv
sv=xsv{i};
%ker1(i,j)=(xqtest(:,j)'*xi(:,i)+1)^p; %polynomial kernel
%ker1(i,j)=tanh(beta0*xi_test(:,j)'*xi(:,i)+beta1);
ker1(i,j)=exp(-1*(xqtest(:,j)-sv)'*(xqtest(:,j)-sv)/2*rl^2); %exp kernel
end
end
dv=cell2mat(dsv)';
av=cell2mat(asv)';
gx=(av.*dv)'*ker1+bo*ones(1,c);
%convert the data to a x-y grid for contourf() plot
gxmat=reshape(gx,rplot,cplot);
%plotting meshgrid
figure;
contourf(xtesta1,xtesta2,gxmat,10);shading flat;hold on
[cs,h]=contour(xtesta1,xtesta2,gxmat,[-1 0 1],'k');
clabel(cs,h);
set(h,'LineWidth',2);
colorbar;
139
APPENDIX D: PSEUDO CODE FOR MULTI-CLASS
SVM LEARNING
%MULTICLASS SUPPORT VECTOR MACHINE (M-SVM)
% - multiclass classification by one-versus-all learning strategy (OVA)
% Written By : Chen Wee Yuan (HT080482M), 28/11/2009
%
% Main programme
%----------------
clear all; clc; close all;
%training data
a1=[5.2 1.2]';a2=[5.4 2.2]';a3=[5.8 6.5]';a4=[1.2 0.9]';
gpo1=[a1 a2 a3 a4];
%test data
gpt1=[3.4 6.7]';
gpt2=[5.5 1.5]';
gpt3=[1.1 6.5]';
gpt4=[5.5 6.5]';
gpt5=[3.1 0.55]';
%test data
xi_test=[gpt1 gpt2 gpt3 gpt4 gpt5];
%provide correct answers for calculation of error rate
classi=[1 2 3 4 5];
140
%initializations: select SVM kernel parameters
% Gaussian Kernel-
% REMARKS: higher rl creates less smooth decision boundaries
rl=7.7; C=0.23;
% Polynomial Kernel-
% REMARKS: p=1 is linear machine
%p=2; C=2;
%plotting meshgrid
gxmat_all=(gxmat1+gxmat2+gxmat3+gxmat4+gxmat5);
cmax=max(gxmat_all(:));
figure;
contourf(xz,yz,gxmat_all,10);shading flat;hold on
%[cs,h]=contour(xz,yz,gxmat_all,[1 0 -1],'k');
[cs,h]=contour(xz,yz,gxmat_all,[cmax 0],'k');
clabel(cs,h);
set(h,'LineWidth',2);
colorbar;
141
[r c]=size(gp1);
for i=1:c
plot(gp1(1,i),gp1(2,i), '.m','MarkerSize',25,'LineWidth',2); grid on; hold on;
end
%plot test data points
[r c]=size(xi_test);
for i=1:1
plot(xi_test(1,i),xi_test(2,i), 'pm','LineWidth',2); grid on; hold on;
end
[r c]=size(gp2);
for i=1:c
plot(gp2(1,i),gp2(2,i), '.g','MarkerSize',25,'LineWidth',2); grid on; hold on;
end
%plot test data points
[r c]=size(xi_test);
for i=2:2
plot(xi_test(1,i),xi_test(2,i), 'pg','LineWidth',2); grid on; hold on;
end
[r c]=size(gp3);
for i=1:c
plot(gp3(1,i),gp3(2,i), '.c','MarkerSize',25,'LineWidth',2); grid on; hold on;
end
%plot test data points
[r c]=size(xi_test);
for i=3:3
plot(xi_test(1,i),xi_test(2,i), 'pc','LineWidth',2); grid on; hold on;
end
[r c]=size(gp4);
for i=1:c
plot(gp4(1,i),gp4(2,i), '.y','MarkerSize',25,'LineWidth',2); grid on; hold on;
end
%plot test data points
[r c]=size(xi_test);
for i=4:4
plot(xi_test(1,i),xi_test(2,i), 'py','LineWidth',2); grid on; hold on;
end
[r c]=size(gp5);
for i=1:c
plot(gp5(1,i),gp5(2,i), '.r','MarkerSize',25,'LineWidth',2); grid on; hold on;
end
%plot test data points
[r c]=size(xi_test);
for i=5:5
plot(xi_test(1,i),xi_test(2,i), 'pr','LineWidth',2); grid on; hold on;
end
142
%find winners
%------------
winner=zeros(1,nclass);
cm=0;
for i=1:c
cm=cm+cmx{i};
end
confusion_matrix=cm;
%report confusion matrix
confusion_matrix
143
xi=[x0 x1 x2 x3 x4];
[r c]=size(x0); %WARNING: each class must have the same training samples
%training labels
% REMARKS: dp is +1 ; % dn is -1
dp=ones(1,c); dn=-1*ones(1,c);
di=[dp dn dn dn dn]';
144
{ find all non-zero Lagrange Multipliers (alpha) }
end
sim_time=toc; sim_time;
%report learning
fprintf('Number of Support Vectors : %d\n', number_sv);
fprintf('SVM bias (bo) : %d\n', bo);
fprintf('Total sim-time : %d\n\n', sim_time);
ker1=0;
[rsv csv]=size(xsv);
for j=1:cw
for i=1:csv
sv=xsv{i};
%ker1(i,j)=xi_test(:,j)'*xi(:,i); %linear kernel hard-margin
%ker1(i,j)=(xi_test(:,j)'*xi(:,i)+1)^p; %polynomial kernel
%ker1(i,j)=tanh(beta0*xi_test(:,j)'*xi(:,i)+beta1);
ker1(i,j)=exp(-1*(xinput(:,j)-sv)'*(xinput(:,j)-sv)/2*rl^2); %exp kernel
end
end
dv=cell2mat(dsv)';
av=cell2mat(asv)';
gxpo=(av.*dv)'*ker1+bo*ones(1,cw);
gxpo=abs(gxpo); %abs(g(x))
145
%calculate discriminate values using SVM over the entire plot grid
[r c]=size(xplot);
ker1=0;
[rsv csv]=size(xsv);
number_sv=csv;
for j=1:c
for i=1:csv
sv=xsv{i};
%ker1(i,j)=(xqtest(:,j)'*xi(:,i)+1)^p; %polynomial kernel
%ker1(i,j)=tanh(beta0*xi_test(:,j)'*xi(:,i)+beta1);
ker1(i,j)=exp(-1*(xplot(:,j)-sv)'*(xplot(:,j)-sv)/2*rl^2); %exp kernel
end
end
dv=cell2mat(dsv)';
av=cell2mat(asv)';
gxplot=(av.*dv)'*ker1+bo*ones(1,c);
%extract only the positive values to plot the winners only
gxpos=(gxplot+abs(gxplot))/2;
%convert the data to a x-y grid for contourf() plot
gxmat=reshape(gxpos,rplot,cplot);
146
APPENDIX E: PSEUDO CODE FOR SOM
LEARNING
%
% S E L F O R G A N I Z I N G M A P (SOM)
%
% Written by : Chen Wee Yuan (HT080482M)
%
%a SOM for cluster discovery and visualizing high-dimensional data in %2D grid
%
% date: 20/07/2010
% clear all registers, close figures, clear screen for next run
clear all; close all; clc;
% Input vectors
a=0.2; b=1.0;
x1s=[a;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0]; % dove 16x1
x1a=[b;0;0;b;0;0;0;0;b;0;0;b;0]; % 13x1
x_dove=[x1s; x1a]; % 29x1
x2s=[0;a;0;0;0;0;0;0;0;0;0;0;0;0;0;0];
x2a=[b;0;0;b;0;0;0;0;b;0;0;0;0]; % hen
x_hen=[x2s; x2a];
x3s=[0;0;a;0;0;0;0;0;0;0;0;0;0;0;0;0];
x3a=[b;0;0;b;0;0;0;0;b;0;0;0;b]; % duck
x_duck=[x3s; x3a];
x4s=[0;0;0;a;0;0;0;0;0;0;0;0;0;0;0;0];
x4a=[b;0;0;b;0;0;0;0;b;0;0;b;b]; % goose
x_goose=[x4s; x4a];
x5s=[0;0;0;0;a;0;0;0;0;0;0;0;0;0;0;0];
x5a=[b;0;0;b;0;0;0;0;b;b;0;b;0]; % owl
x_owl=[x5s; x5a];
x6s=[0;0;0;0;0;a;0;0;0;0;0;0;0;0;0;0];
x6a=[b;0;0;b;0;0;0;0;b;b;0;b;0]; % hawk
x_hawk=[x6s; x6a];
x7s=[0;0;0;0;0;0;a;0;0;0;0;0;0;0;0;0];
x7a=[0;b;0;b;0;0;0;0;b;b;0;b;0]; % eagle
x_eagle=[x7s; x7a];
x8s=[0;0;0;0;0;0;0;a;0;0;0;0;0;0;0;0];
x8a=[0;b;0;0;b;b;0;0;0;b;0;0;0]; % fox
x_fox=[x8s; x8a];
x9s=[0;0;0;0;0;0;0;0;a;0;0;0;0;0;0;0];
147
x9a=[0;b;0;0;b;b;0;0;0;0;b;0;0]; % dog
x_dog=[x9s; x9a];
x10s=[0;0;0;0;0;0;0;0;0;a;0;0;0;0;0;0];
x10a=[0;b;0;0;b;b;0;b;0;b;b;0;0]; % wolf
x_wolf=[x10s; x10a];
x11s=[0;0;0;0;0;0;0;0;0;0;a;0;0;0;0;0];
x11a=[b;0;0;0;b;b;0;0;0;b;0;0;0]; % cat
x_cat=[x11s; x11a];
x12s=[0;0;0;0;0;0;0;0;0;0;0;a;0;0;0;0];
x12a=[0;0;b;0;b;b;0;0;0;b;b;0;0]; % tiger
x_tiger=[x12s; x12a];
x13s=[0;0;0;0;0;0;0;0;0;0;0;0;a;0;0;0];
x13a=[0;0;b;0;b;b;0;b;0;b;b;0;0]; % lion
x_lion=[x13s; x13a];
x14s=[0;0;0;0;0;0;0;0;0;0;0;0;0;a;0;0];
x14a=[0;0;b;0;b;b;b;b;0;0;b;0;0]; % horse
x_horse=[x14s; x14a];
x15s=[0;0;0;0;0;0;0;0;0;0;0;0;0;0;a;0];
x15a=[0;0;b;0;b;b;b;b;0;0;b;0;0]; % zebra
x_zebra=[x15s; x15a];
x16s=[0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;a];
x16a=[0;0;b;0;b;b;b;0;0;0;0;0;0]; % cow
x_cow=[x16s; x16a];
148
end
end
save z;
[row col]=size(z);
for n=1:iteration
for type=1:col %column of input vector z
% calculate Euclidean distances between the z and neuron weight w %
for i=1:N %ith-row neuron
for j=1:M %jth-col neuron
w1=w{i,j}'; %select one neurons starting w{1,1}
z1=z(:,type); %select one input vector starting z(:,1)
for k=1:row
ed1(k)=(z1(k)-w1(k))^2;%calculate euclidean distance of w and z
ed2(n,type)=sum(ed1);
end
ed(i,j)=sqrt(sum(ed1)); %euclidean distance
end %end-j
end %end-i
149
[r c]=size(x);
if r ~=1 %more than one winner!
a=x(1); x=[]; x=a;
end
[r c]=size(y);
if r ~=1 %more than one winner!
a=y(1); y=[]; y=a;
end
for irow=1:rkk
for jcol=1:rk
bmuxb(irow,jcol)=(x-rk)+jcol-1; %x-col co-ordinates to the -inf
bmuyb(irow,jcol)=(y-rk)+jcol-1; %y-row co-ordinates to the +inf
end
end
150
[r1,c1]=size(r);
for i=1:r1
x1=r(i); y1=c(i); %extract row-col of the BMUx matrix
bmux(x1,y1)=0 ; %set to 0
end %end-for-i
clear Qx Qy;
for i=1:r1
x1=r(i); y1=c(i);
Qx(i)= bmuxf(x1,y1);
end
bmux=reshape(Qx,norow,nocol);
151
for i=1:r1
x1=r(i); y1=c(i);
Qy(i)= bmuyf(x1,y1);
end
bmuy=reshape(Qy,norow,nocol);
152
QeTemp=z1-wTemp';
end %end-for-QuanError
QuanError(n)=mean(QeTemp);
n
end %end-iteration
w13_trained2=w;
save w13_trained2; %store trained weight matrix
save nr;
save eta;
%Initialize parameters
clear all; clc;
N=10;M=10; %size of SOM (N=x,M=y)
load z;
load w13_trained22; w=w13_trained22;
% start matching
index=0;
[row col]=size(z);
153
ed=error.*error;
ed1=sum(ed);
ed2=sqrt(ed1);
edwinner(type)=ed2; %euclidean distance
end
if wtype==1; %dove
plot(wy,wx,'or','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==2; %hen
plot(wy,wx,'om','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==3; %duck
plot(wy,wx,'og','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==4; %goose
plot(wy,wx,'oc','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==5; %owl
plot(wy,wx,'oy','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==6; %hawk
plot(wy,wx,'ob','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==7; %eagle
plot(wy,wx,'ok','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==8; %fox
plot(wy,wx,'pc','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==9; %dog
plot(wy,wx,'pm','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==10; %wolf
plot(wy,wx,'py','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==11; %cat
plot(wy,wx,'pr','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==12; %tiger
plot(wy,wx,'pb','MarkerSize',20,'LineWidth',3);hold on;
154
end
if wtype==13; %lion
plot(wy,wx,'pk','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==14; %horse
plot(wy,wx,'sm','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==15; %zebra
plot(wy,wx,'sr','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==16; %cow
plot(wy,wx,'sg','MarkerSize',20,'LineWidth',3);hold on;
end
end
[row col]=size(z);
for type=1:col %column of input matrix
wTemp=w{y1,x1};
[r c]=size(wTemp);
wTemp=999*ones(r,c);
w{y1,x1}=wTemp;
155
a=[y1 x1 type1];
BMU1{type}=a;
end
for type=1:col
% locate second winning neuron
[y x ed]=locateBMU(N,M,w,z,row,type);
x2=x; y2=y; type2=type;
wTemp=w{y2,x2};
[r c]=size(wTemp);
wTemp=999*ones(r,c);
w{y2,x2}=wTemp;
b=[y2 x2 type2];
BMU2{type}=b;
end
if wtype==1; %dove
plot(wy1,wx1,'or','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==2; %hen
plot(wy1,wx1,'om','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==3; %duck
plot(wy1,wx1,'og','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==4; %goose
156
plot(wy1,wx1,'oc','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==5; %owl
plot(wy1,wx1,'oy','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==6; %hawk
plot(wy1,wx1,'ob','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==7; %eagle
plot(wy1,wx1,'ok','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==8; %fox
plot(wy1,wx1,'pc','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==9; %dog
plot(wy1,wx1,'pm','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==10; %wolf
plot(wy1,wx1,'py','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==11; %cat
plot(wy1,wx1,'pr','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==12; %tiger
plot(wy1,wx1,'pb','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==13; %lion
plot(wy1,wx1,'pk','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==14; %horse
plot(wy1,wx1,'sm','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==15; %zebra
plot(wy1,wx1,'sr','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype==16; %cow
plot(wy1,wx1,'sg','MarkerSize',20,'LineWidth',3);hold on;
end
end
axis([1 10 1 10]); grid on;
legend('dove','hen','duck','goose','owl',...
'hawk','eagle','fox','dog','wolf',...
'cat','tiger','lion','horse','zebra',...
'cow',1);
title('SOM-Feature Map','FontSize',12,'LineWidth',3);
hold off;
checkerror{index}=[wtype1 wtype2];
157
if wtype1~=wtype2 %check error!
wtype=0;
end
if wtype1==1; %dove1
plot(wy1,wx1,'or','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==1; %dove2
plot(wy2,wx2,'or','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==2; %dove1
plot(wy1,wx1,'om','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==2; %dove2
plot(wy2,wx2,'om','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==3; %duck1
plot(wy1,wx1,'og','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==3; %duck2
plot(wy2,wx2,'og','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==4; %goose1
plot(wy1,wx1,'oc','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==4; %goose2
plot(wy2,wx2,'oc','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==5; %owl1
plot(wy1,wx1,'oy','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==5; %owl2
plot(wy2,wx2,'oy','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==6; %hawk1
plot(wy1,wx1,'ob','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==6; %hawk2
plot(wy2,wx2,'ob','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==7; %eagle1
plot(wy1,wx1,'ok','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==7; %eagle2
plot(wy2,wx2,'ok','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==8; %fox1
plot(wy1,wx1,'pc','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==8; %fox2
plot(wy2,wx2,'pc','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==9; %dog1
plot(wy1,wx1,'pm','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==9; %dog2
158
plot(wy2,wx2,'pm','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==10; %wolf1
plot(wy1,wx1,'py','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==10; %wolf2
plot(wy2,wx2,'py','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==11; %cat1
plot(wy1,wx1,'pr','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==11; %cat2
plot(wy2,wx2,'pr','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==12; %tiger1
plot(wy1,wx1,'pb','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==12; %tiger2
plot(wy2,wx2,'pb','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==13; %lion1
plot(wy1,wx1,'pk','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==13; %lion2
plot(wy2,wx2,'pk','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==14; %horse1
plot(wy1,wx1,'sm','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==14; %horse2
plot(wy2,wx2,'sm','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==15; %zebra1
plot(wy1,wx1,'sr','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==15; %zebra2
plot(wy2,wx2,'sr','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype1==16; %cow1
plot(wy1,wx1,'sg','MarkerSize',20,'LineWidth',3);hold on;
end
if wtype2==16; %cow2
plot(wy2,wx2,'sg','MarkerSize',20,'LineWidth',3);hold on;
end
end
axis([1 10 1 10]); grid on;
title('SOM-Feature Map with first BMU and second BMU (87.5%)',...
'FontSize',12,'LineWidth',3); hold off
159
APPENDIX F: PSEUDO CODE FOR K-NN
LEARNING
%
%K-NEAREST NEIGHBOURHOOD CLASSIFIER
%
% Written by : Chen Wee Yuan (HT080482M)
%
% a k-NN Classifier for machine fault diagnosis using 350 prototypes of
% 1) healthy (HTY)
% 2) unbalanced rotor faults (UBR)
% 3) bearing faults (BRG)
% signatures.
%
% File name: newKNN_fd3c.m
%
% Notes: non-parametric approach
% 1) 29 Sep 2009
% 2) 13 Mar 2010
% 3) 27 Mar 2010
% 4) 17 Apr 2010
% 5) 3 May 2010
% 6) 23 Jun 2010
clear all;
close all;
clc;
%select options
%option=1; sim_metric='Euclidean distance'; %1 for euclidean distance
option=2; sim_metric='cross-correlation'; %2 for xcorr
knngo=1; if knngo==1
160
%initializations
CORRECT=0; wins={}; win=0; %correct counters
error_list={}; jj1=0; pointer_train=0; %error set pointer
ok_list={}; jj2=0; pointer_test=0; %correct set pointer
rxx={}; rxxmax={}; jj3=0; %for storing xcorr values
ok_xclist={}; error_xclist={}; %xx_xclist
error_details={}; %xx_details
error_wincounts={}; ok_wincounts={}; %xx_wincounts
%C L A S S I F I C A T I O N S
%================================================================
for i=1:test_loops %loop all test samples
pointer_test=pointer_test+1;
%similarity option:
%check similarity using euclidean distance
if option==1
eud=0; ed=0;
eud(j)=sqrt(sum((x_test - x_train).^2));
ed=eud';
end
%check similarity using xcorr
if option==2
xc0=xcorr(x_test,x_train)/(norm(x_test)*norm(x_train));
xclist(j)=max(xc0);
end
end
161
%initialize and clear windetails before next storage
%windetail==[K-neighbour win_value win_location]
windetails=zeros(K,3);
%initialize winners counter
win1=0; win2=0; win3=0;
for j=1:K
%similarity option:
if option==1 %for euclidean distance only, find one winner
winval=min(ed);
[r c]=find(ed==winval,1);
end
if option==2 %for xcorr() only, find one winner
winval=max(xclist);
[c r]=find(xclist==winval,1);
end
%cast a vote...
idtr1=1;
idtr2=training_sample_size/3; %<-user defined interval for train set
if r>=0*idtr2+idtr1 && r<=1*idtr2, win1=win1+1; ft=1;end %ubr
if r>=1*idtr2+idtr1 && r<=2*idtr2, win2=win2+1; ft=2;end %brg
if r>=2*idtr2+idtr1 && r<=3*idtr2, win3=win3+1; ft=3;end %hty
162
end
%best neighbour is max xcorr value...
[r c]=find(winvalx==max(winvalx),1);
pointer_train=winlocx(c);
%store list for display...
xclist1=zeros(size(xclist)); %reset and preallocate xclist2
xclist1(pointer_train)=max(winvalx);
end %for-kk-loop
163
ubrer=(cm(1,2)+cm(1,3))*100/test_loops;
brger=(cm(2,1)+cm(2,3))*100/test_loops;
htyer=(cm(3,1)+cm(3,2))*100/test_loops;
optionplotresult=1;
if optionplotresult==1
%plot error_list
%error_list{jj}=[pointer_test...
% fault_class...
% pointer_train...
% winner_class];%error list
[r c]=size(error_list);
fault=0; afault=0;
%xc1=0; xc2=0; maxxc=0;
for j=1:2
plotindex=error_list{j};
index_test=plotindex(1); x1=test_all(index_test,:);
index_train=plotindex(3); x2=train_all(index_train,:);
%true...
if plotindex(2)==1; fault='UBR';end
if plotindex(2)==2; fault='HTY';end
if plotindex(2)==3; fault='BRG';end
%predicted...
164
if plotindex(4)==1; afault='UBR';end
if plotindex(4)==2; afault='HTY';end
if plotindex(4)==3; afault='BRG';end
%colour table
%[1 0 0] r red : UBR
%[0 1 0] g green : BRG
%[0 0 1] b blue : HTY
figure;
subplot(4,1,1),plot(tx,x1,'-b','LineWidth',1);
%title(['' fault ' => [' int2str(j) ' Test vector ' ...
%title(['[ Test vector ' int2str(index_test) ' of ' int2str(test_sample_size) ' ] ' fault ' =>
'],'FontSize',11);
title(['' fault ' => '],'FontSize',11);
% title(['' fault ' => ['' Test vector ' ...
% int2str(index_test) ' of ' int2str(test_sample_size) ' ]'],'FontSize',11);
ylabel('acc. (ms^-^2)'); grid on;
subplot(4,1,3)
xc0=error_xclist{j};
xc1=xc0(1,:);
xc2=xc0(2,:); a=max(xc1);
mask0=zeros(1,training_sample_size/3);
mask1=ones(1,training_sample_size/3);
mask=[mask1 mask0 mask0]; ubrx=xc1.*mask;
mask=[mask0 mask1 mask0]; brgx=xc1.*mask;
mask=[mask0 mask0 mask1]; htyx=xc1.*mask;
mask=[mask1 mask1 mask1]; maxxc=xc2.*mask;
c=training_sample_size;
%for plotting the legend
stem(training_sample_size+25,0.05,'MarkerFaceColor','r',...
'Marker','square','LineStyle','-','Color','r'); hold on; %UBR
stem(training_sample_size+25,0.05,'MarkerFaceColor',[0 0.8 0],...
'Marker','square','LineStyle','-','Color',[0 0.8 0]); hold on; %BRG
stem(training_sample_size+25,0.05,'MarkerFaceColor','b',...
'Marker','square','LineStyle','-','Color','b'); hold on; %HTY
stem(training_sample_size+25,0.05,'MarkerFaceColor','k',...
'Marker','square','LineStyle','-','LineWidth',2,'Color','k'); hold on; %winner
stem(training_sample_size+25,0.05,'MarkerFaceColor','w',...
'Marker','square','LineStyle','-','LineWidth',2,'Color','w'); hold on; %dummy
%for plotting the legend
for i=1:training_sample_size
ubr=ubrx(:,i);
if ubr~=0
stem(i,ubr,'MarkerFaceColor','r','Marker','square',...
'LineStyle','-','Color','r'); hold on;
end
165
end
for i=1:training_sample_size
brg=brgx(:,i);
if brg~=0
stem(i,brg,'MarkerFaceColor',[0 0.8 0],'Marker','square',...
'LineStyle','-','Color',[0 0.8 0]); hold on;
end
end
for i=1:training_sample_size
hty=htyx(:,i);
if hty~=0
stem(i,hty,'MarkerFaceColor','b','Marker','square',...
'LineStyle','-','Color','b'); hold on;
end
end
for i=1:training_sample_size
maxxc1=maxxc(:,i);
if maxxc1~=0;
stem(i,maxxc1,'MarkerFaceColor','k','Marker','square',...
'LineStyle','-','LineWidth',3,'Color','k'); hold off;
end;
end
q=max(maxxc);
title([' max xc values Vs Template location (winner^,s max xc value = ' num2str(q) '
)'],'FontSize',12);
xlabel(['Template location (winner^,s location = ' num2str(index_train) ' )'],'FontSize',10); %axis tight;
%xlabel('Template location');
ylabel('max xc value'); grid on;
%axis([1 350 0 a+maxxc1+0.1]);
legend('UBR','HTY','BRG','winner','Location','BestOutside');
subplot(4,1,4),
winbar=error_wincounts{j};
stem(1,winbar(1),'MarkerFaceColor','r',...
'Marker','square','LineStyle','-','LineWidth',2,'Color','r'); hold on; %UBR
stem(2,winbar(2),'MarkerFaceColor',[0 0.8 0],...
'Marker','square','LineStyle','-','LineWidth',2,'Color',[0 0.8 0]); hold on; %BRG
stem(3,winbar(3),'MarkerFaceColor','b',...
'Marker','square','LineStyle','-','LineWidth',2,'Color','b'); hold on; %HTY
title(['Vote Counts (winner^,s vote = ' int2str(max(winbar)) ' / k= ' int2str(K) ')'],'FontSize',11);
xlabel('Fault Class'); ylabel('Votes'); grid on;
legend('1:UBR','2:BRG','3:HTY','Location','BestOutside');
axis=([1 3 0 max(winbar)]);
end
%plot ok_list
%ok_list{jj}=[pointer_test...
% fault_class...
% pointer_train...
% winner_class]; %ok list
%[r c]=size(ok_list);
fault=0;
afault=0;
xc1=0;
xc2=0;
maxxc=0;
166
clear index_test index_train x1 x2 plotindex;
for j=1:20:270 %plot a few graphs
plotindex=ok_list{j};
index_test=plotindex(1); x1=test_all(index_test,:);
index_train=plotindex(3); x2=train_all(index_train,:);
%true...
if plotindex(2)==1; fault='UBR';end
if plotindex(2)==2; fault='HTY';end
if plotindex(2)==3; fault='BRG';end
%predicted...
if plotindex(4)==1; afault='UBR';end
if plotindex(4)==2; afault='HTY';end
if plotindex(4)==3; afault='BRG';end
%colour table
%[1 0 0] r red :UBR
%[0 1 0] g green :BRG
%[0 0 1] b blue :HTY
figure;
subplot(4,1,1),plot(tx,x1,'-b','LineWidth',1);
%title(['' fault ' => [' int2str(j) ' Test vector ' ...
%title(['[ Test vector ' int2str(index_test) ' of ' int2str(test_sample_size) ' ] ' fault ' =>
'],'FontSize',11);
title(['' fault ' => '],'FontSize',11);ylabel('acc. (ms^-^2)'); grid on;
subplot(4,1,3),
xc0=ok_xclist{j};
xc1=xc0(1,:);
xc2=xc0(2,:); %a=max(xc1);
mask0=zeros(1,training_sample_size/3);
mask1=ones(1,training_sample_size/3);
mask=[mask1 mask0 mask0]; ubrx=xc1.*mask;
mask=[mask0 mask1 mask0]; brgx=xc1.*mask;
mask=[mask0 mask0 mask1]; htyx=xc1.*mask;
mask=[mask1 mask1 mask1]; maxxc=xc2.*mask;
167
%for plotting the legend
for i=1:training_sample_size
ubr=ubrx(:,i);
if ubr~=0
stem(i,ubr,'MarkerFaceColor','r','Marker','square',...
'LineStyle','-','Color','r'); hold on;
end
end
for i=1:training_sample_size
brg=brgx(:,i);
if brg~=0
stem(i,brg,'MarkerFaceColor',[0 0.8 0],'Marker','square',...
'LineStyle','-','Color',[0 0.8 0]); hold on;
end
end
for i=1:training_sample_size
hty=htyx(:,i);
if hty~=0
stem(i,hty,'MarkerFaceColor','b','Marker','square',...
'LineStyle','-','Color','b'); hold on;
end
end
for i=1:training_sample_size
maxxc1=maxxc(:,i);
if maxxc1~=0;
stem(i,maxxc1,'MarkerFaceColor','k','Marker','square',...
'LineStyle','-','LineWidth',2,'Color','k'); hold off;
end;
end
q=max(maxxc);
%title('max xc values Vs Template location','FontSize',11);
title([' max xc values Vs Template location (winner^,s max xc value = ' num2str(q) '
)'],'FontSize',12);
xlabel(['Template location (winner^,s location = ' num2str(index_train) ' )'],'FontSize',10); %axis tight;
%xlabel('Template location');
ylabel('max xc value'); grid on;
%axis([1 300 0 max(xc1)+0.1]);
legend('UBR','HTY','BRG','winner','Location','BestOutside');
subplot(4,1,4),
winbar=ok_wincounts{j};
stem(1,winbar(1),'MarkerFaceColor','r',...
'Marker','square','LineStyle','-','LineWidth',2,'Color','r'); hold on; %UBR
stem(2,winbar(2),'MarkerFaceColor',[0 0.8 0],...
'Marker','square','LineStyle','-','LineWidth',2,'Color',[0 0.8 0]); hold on; %BRG
stem(3,winbar(3),'MarkerFaceColor','b',...
'Marker','square','LineStyle','-','LineWidth',2,'Color','b'); hold on; %HTY
title(['Vote Counts (winner^,s vote = ' int2str(max(winbar)) ' / k= ' int2str(K) ')'],'FontSize',11);
xlabel('Fault Class'); ylabel('Votes'); grid on;
axis=([1 3 0 max(winbar)]);
legend('1:UBR','2:BRG','3:HTY','Location','BestOutside');
end
end %if option
end
168