Locating Faulty Rolling Element Bearing Signal by Simulated Annealing Mid Year Report AMSC 663, 2012 Jing Tian Course Advisor: Professor Radu Balan, Professor Kayo Ide Research Advisor: Dr. Carlos Morillo University of Maryland, College Park Abstract Vibration acceleration signal is widely used in the health monitoring of rolling element bearings. A critical work of the bearing fault diagnosis is locating the optimum frequency band that contains faulty bearing signal, which is usually masked by noise. This project diagnoses the bearing fault with a combination of methods. The optimum frequency band is located by maximizing spectral kurtosis with simulated annealing. Then the fault feature frequency component is extracted from the frequency band by using envelope analysis. Modules of the program were validated by a combination of analytic work and simulation work. The whole program will be validated by an open database of both normal and faulty bearing vibration signals. I. Introduction Bearing provides relative rotational freedom and transmits a load between two structures. It is widely used in electromechanical systems. Rolling element bearing is a major source of failure in electromechanical systems. For example, bearing faults account for more than 40% of the induction motor’s failure [1], and gearbox bearing failure is the top contributor of the wind turbines downtime [2, 3]. Bearings are inexpensive devices, but the failure of bearing is costly. A $5,000 wind turbine bearing replacement can easily turn into a $250,000 project, not to mention the cost of downtime [4]. In 1987, LOT Polish Airlines Flight 5055 Il-62M crashed because of failed bearings in one engine, killing all the183 people on the plane [5]. In-situ health monitoring is used to improve the condition-based maintenance, which reduces the frequency and the loss of the bearing failure. In the bearing health monitoring, early detection of the bearing fault is a major concern for the industry. Vibration acceleration signal is widely used in this purpose because it is sensitive to the bearing fault and it can be monitored in-situ. The objective of the vibration signal bearing fault detection is to test if the vibration signal x(t) contains the faulty bearing signal s(t) Faulty bearing: x(t) = s(t) + ν(t) x(t) = ν(t) Normal bearing: where x(t) is the monitored vibration signal; s(t) is the faulty bearing signal; v(t) is the noise, which is unknown. An industrial practice to test the existence of s(t) is to test if a unique frequency component of s(t)- the fault feature frequency component can be extracted from x(t) or not. If the fault feature frequency component is extracted, the hypothesis that the bearing is faulty is true, otherwise the hypothesis is false. According to the research in [6], faulty bearing signal s(t) is a modulated signal s(t) = d(t)c(t) where d(t) is the modulating signal. It is a result of the periodic impact between the bearing’s rolling elements and the fault on the bearing’s contact surface. Its frequency component is the fault feature frequency, which is illustrated in a simulated faulty bearing signal in Fig.1. The frequency is provided by the bearing manufacturer; c(t) is the carrier signal, which is a result of the loading and vibration transfer function. This signal is usually unknown. Amplitude 1 1/fFault 0.5 0 -0.5 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 Time(s) Fig. 1, Faulty bearing signal s(t) fFault is the fault feature frequency -4 Amplitude 4 x 10 2 Methods like envelope analysis have been developed to extract the fault feature frequency. The problem is that in the presence of noise the extraction may fail. The solution is to band-pass 0 2000 4000 6000 10000 14000 filter the vibration signal in the0 frequency domain, as 8000 shown in a 12000 simulated vibration signal in Frequency (Hz) Fig. 2. Amplitude 0.01 Faulty bearing signal 0.005 0 0 500 1000 1500 2000 2500 Frequency(Hz) Fig. 2, Vibration signal in the frequency domain The challenge to design the filter is that the optimum frequency band to band-pass filter the faulty bearing signal is usually unknown. This project provides a solution to find the optimum frequency band. II. Methodology This project locates the optimum frequency band by optimizing the band-pass filter with simulated annealing (SA). The idea is, the frequency band dominated by the faulty bearing signal is non-Gaussian, and therefore it has a high spectral kurtosis value [7]. In the presence of white Gaussian noise, by maximizing the SK, the optimum frequency band for the faulty bearing signal can be found. The optimization problem is to maximize SK in terms of the central frequency, bandwidth, and the order of the finite impulse response (FIR) band-pass filter. Maximize SK ( f c , f , M ) Subject to f Fault f f s f f f ; fc s 2 2 2 where fc is the frequency band’s central frequency; Δf is the width of the band; M is the order of FIR filter; fFaul is the fault feature frequency; fs is the sampling rate. When the optimum frequency band is obtained, envelope analysis is applied to the filtered signal to extract the bearing faulty feature frequency. Fig. 3 shows the flow chart of the algorithm. SA Maximize SK by fc, Δf, M x(n) FIR filter hi (fci, Δfi, Mi) x(n) yi(n) SK Optimized yo(n) FIR filter h(fco, Δfo, Mo) Maximized SK SKo SKi a(n) EA A(f) FFT Magnitude |A(f)| x(n) is the sampled vibration signal; yi(n) is filtered output of the ith FIR filter hi; SKi is the SK of the yi(n); yo(n) is the output of the optimized FIR filter; a(n) is the envelope of yo(n) ; A(f) is the FFT of a(n) The bearing is normal No f=fFault? Yes The bearing is faulty Fig. 3, Flow chart of the algorithm III. Implementation and Validation (1) Filter-bank x(n) is the sampled version of the vibration signal x(t). It has N points. At first, the vibration signal x(n) is band-pass filtered by a FIR filter h to produce the filtered signal y(n): y ( n) x ( n) h h hd (n) w(n) hd(n) is the impulse response of the filter f f / 2 f f / 2 sin[( n M / 2) c ] sin[( n M / 2) c ] fs / 2 fs / 2 hd (n) (n M / 2) w(n) is the window function. In this project, Hamming window will be used: n ),0 n M M This algorithm is implemented by Matlab’s build-in function “fir1”. Before optimizing the filter, initial input is obtained by calculating SK for the signal filtered by an FIR filter-bank. The filter-bank has a structure of binary tree as shown in Fig. 4. Sk,j denotes the jth filter at the kth level. When the signal is processed by the filter-bank, sub-signals corresponding to the filters are obtained. w(n) 0.54 0.46 cos( 2 S0,1 Level 0 S1,1 Level 1 S2,1 Level 2 Level 3 S3,1 S1,2 S2,2 S3,2 S3,3 S2,3 S3,4 S2,4 S3,5 S3,6 S3,7 S3,8 … … … Level k … Sk,j … … 0 Frequency f s /2 Fig. 4 Structure of the FIR filter-bank To validate the program, a test signal having four frequency components is used. The sampling rate is 1024Hz, and 10240 data points are used. The signal is shown in Fig. 5. x 10 cos( 2 2t ) 8 cos( 2 200t / 4) 6 cos( 2 384t / 2) 4 cos( 2 510t / 3) Fig. 5. Test Signal (Left: time domain; right: frequency domain; dotted red line: edge of a frequency band) A two-level filter-bank is used, which has 4 filters. For sampling rate = 1024Hz, the filters are [0, 128]Hz, [128, 256]Hz, [256,384]Hz, [384, 512]Hz. Frequency components are observed in the frequency bands. Results in the frequency domain are illustrated in Fig. 6. All the frequency components locate on the right place of the frequency axis. But the magnitude was changed. Fig. 6. Frequency components obtained by applying the filter-bank (Above left: pass-filtered in [0, 128]Hz; above right: pass-filtered in [128, 256]Hz; below left: pass-filtered in [256, 384]Hz; below right: pass-filtered in [384, 512]Hz) Response of the magnitude is obtained by calculating the magnitude of the Fourier transform of the filters’ coefficients, as illustrated in Fig. 7. We can observe that the magnitude response at 384Hz is smaller than one. That explains why the 384Hz frequency component has smaller magnitude than its real value. Fig. 7. Magnitude response of the filter-bank (2) Spectral Kurtosis Then the spectral kurtosis of the filtered signal y(n) is calculated. Spectral kurtosis is defined as follows: 4 {Y (m), Y * (m), Y (m), Y * (m)} SK [ 2 {Y (m), Y * (m)}] 2 where κr is the rth order cumulant. Y(m) is the DFT of the signal y(n): N 1 Y (m) y(n)e i 2m n N , m 0,1,..., N 1 n 0 Both y(n) and Y(m) are N points sequences. SK is a real number. To estimate SK, the formula for joint cumulant is used: SK E[Y (m)Y * (m)Y (m)Y * (m)] E[Y (m)Y (m)] E[Y * (m)Y * (m)] 2 E[Y (m)Y * (m)] According to [8], DFT of a stationary signal is a circular complex random variable, and E[Y(m)2]=0, E[Y* (m)2]=0. Therefore, we have E{| Y (m) |4 } 2[ E{| Y (m) |2 }]2 E{| Y (m) |4 } SK 2 [ E{| Y (m) |2 }]2 [ E{| Y (m) |2 }]2 Program of SK is validated by a white Gaussian noise and a cosine function, which are plotted in Fig. 8. The sampling rate is fs=1024Hz, and the number of the data points is N=1024. Fig. 8. White Gaussian noise(Above left: time domain; above right: frequency domain), and cosine function (Below left: time domain; below right: frequency domain) If we investigate two signals analytically, we can get the following results. Fourier transform of the white Gaussian noise also follows Gaussian distribution, and therefore its spectral kurtosis is 0. For a cosine function y=cos(2πft),f=20, its Fourier transform is 1 Y (m) [ (m f ) (m f )] 2 where δ(m) is the delta function. When m=f and m=-f, |Y(m)|=1/2, otherwise |Y(m)|=0. SK of the cosine function is estimated with a given number of data points N=1024 as follows: N SK E{| Y (m) | 4 } 2 [ E{| Y (m) | 2 }]2 ( | Yk (m) | 4 ) / N k 1 N [( | Yk (m) | 2 ) / N ] 2 2 (0.5 4 0.5 4 ) / N 2 510 [(0.5 2 0.5 2 ) 2 / N 2 k 1 The numerical result is obtained as follows: SK for the white noise is -0.0406; SK for the cosine function is 510.0000. Both values match the analytical results. (3) Simulated annealing The process of estimating SK as a function of the FIR filter is optimized by simulated annealing (SA) [9], which is a metaheuristic global optimization tool. The flowchart of implementing is illustrated in Fig. 6. In reach iteration, there is a chance that a worse case would be accepted and thus simulated annealing can avoid the searching being trapped in a local extremum. The algorithm is validated by a one dimension function and a three dimension function. The one dimension function tested the algorithm’s ability to locate the global optimum when the function has many local extremum. The function is plotted in Fig. 9. The global minimum is y=100 when x=π. y 100 cos( x) ( x ) 2 200 y 100 0 -100 -10 0 10 20 x Fig. 9. One dimension function Setting of the simulated annealing is illustrated in Fig.10. Initial temperature T=1000. Every time when a new result is accepted, T is reduced as T=0.99T. The initial input is a random number between [-10, 10]. In every iteration a step is added to the input. The step is a random number, the step size is reduced as S=0.9999S when T drops. The algorithm stops at 1,000 iterations. T = 1000 Initialize the temperature T Use the initial input vector W W: A random number in [-10,10] Compute function value SK(W) S: A random number in [-10,10] Generate a step S Keep x unchanged, reduce T T = 0.99T Compute function value SK(W+S) No SK(W+S) < SK(W) Yes Replace W with W+S, reduce T Termination criteria reached? No exp[(SK(W) SK(W+S) )/T] > rand ? Yes T = 0.99T 1,000 iterations Yes End a round of searching Fig. 10, Setting of the simulated annealing for one dimension function The minimum found was y= -99.9997. The corresponding minimizer is x= 3.1440. The searching process is illustrated in Fig. 11. Fig. 11. Searching process (Left: variable; right: function value) The algorithm was further validated by a three dimension function. This function can be regarded as the addition of three functions (Fig. 12). Global minimum is achieved when all the three functions’ global minimum are reached. The global minimum is y=-150, when x1= π, x2=15, and x3=- 4π. y 100 cos( x1 ) ( x1 ) 2 ( x2 15) 2 50 sin( x3 4 ) /( x3 4 ) 200 y 100 0 -100 -20 -10 0 10 20 x 30 y ( x2 15) 2 y 50 sin( x3 4 ) /( x3 4 ) y 100cos(x1 ) ( x1 ) 2 Fig. 12. Three dimension function Fig.13. describes the setting of the algorithm. Initial temperature T=1000. Every time when a new result is accepted, T is reduced as T=0.99T. The initial input is a three-element vector. Each element is a random number between [-10, 10]. In every iteration a step vector is added to the input. Elements of the step vector are random numbers. Amplitude of the vector is reduced as S=0.9999S when T drops. The algorithm stops at 100,000 iterations. T = 1000 Initialize the temperature T W: A vector, each element is a number in [-10,10] S: A vector, each element is a number in [-10,10] Use the initial input vector W Compute function value SK(W) Generate a random step S Keep x unchanged, reduce T T = 0.99T Compute function value SK(W+S) No SK(W+S) < SK(W) Yes Replace W with W+S, reduce T Termination criteria reached? No exp[(SK(W) SK(W+S) )/T] > rand ? Yes T = 0.99T 100,000 iterations Yes End a round of searching Fig. 13. Setting of the simulated annealing for three dimension function The minimum found was y=-149.7608. The corresponding minimizer is x=[3.1796, 14.8088, -12.6060]. The searching process is illustrated in Fig. 14. Fig. 14. Searching process (Left: variable; right: function value) (4) Envelope analysis When the optimized frequency band is found, envelope analysis is applied to the filtered signal. The enveloped signal is obtained from the magnitude of the analytic signal which is constructed via Hilbert transform: yˆ o (t ) y o ( )h(t )d h(t ) 1 t Analytic signal ya (t ) yo (t ) jyˆ o (t ) The envelope is the magnitude of the analytic signal a(t ) | ya (t ) | Amplitude Fig. 15 shows the effect of envelope analysis on a modulated signal Enveloped signal 0.5 Original signal 0 -0.5 0.032 0.033 0.034 0.035 0.036 0.037 Hilbert transform of the original signal 0.038 Time(s) Fig. 15, Effect of envelope analysis The program is validated by a modulated signal in Fig. 16: y ( x1 1) x2 where x1 cos(2 10t ) x2 100 cos(2 200 t / 4) Fig. 16. Modulated signal (Left: time domain; right: frequency domain) Frequency component of the modulating signal is expected to be extracted after the envelope analysis and Fourier transform. After envelope analysis, de-modulated signal is obtained (Fig. 17). The de-modulated signal has the same frequency as the modulating signal, and the same amplitude as the original modulated signal. Fig. 17. De-modulated signal (Left: time domain; right: frequency domain) IV. Summary All the modules of the program achieved their designated function. Some topics can be investigated to improve the method. Firstly, the reduced magnitude after filtering needs to be compensated; secondly, the performance of the envelope analysis module in case of noise has not been examined. In 2013 term, all the modules will be assembled to achieve the task of bearing fault detection. And parallel computing will be implemented to improve the program. 2012 • October - Literature review; exact validation methods; code writing • November - Middle: code writing - End: Validation for envelope analysis and spectral kurtosis • December - Semester project report and presentation 2013 • February - Complete validation • March - Adapt the code for parallel computing • April - Validate the parallel version • May - Final report and presentation References [1] L. M. Popa, B.-B. Jensen, E. Ritchie, and I. Boldea, “Condition monitoring of wind generators,” in Proc. IAS Annu. Meeting, vol. 3, 2003, pp. 1839-1846. [2] Wind Stats Newsletter, 2003–2009, vol. 16, no. 1 to vol. 22, no. 4, Haymarket Business Media, London, UK [3] H. Link; W. LaCava, J. van Dam, B. McNiff, S. Sheng, R. Wallen, M. McDade, S. Lambert, S. Butterfield, and F. Oyague,“Gearbox Reliability Collaborative Project Report: Findings from Phase 1 and Phase 2 Testing", NREL Report No. TP-5000-51885, 2011 [4] C. Hatch, “Improved wind turbine condition monitoring using acceleration enveloping,” Orbit, pp. 58-61, 2004. [5] Plane crash information http://www.planecrashinfo.com/1987/1987-26.htm [6] P. D. Mcfadden, and J. D. Smith, “Model for the vibration produced by a single point defect in a rolling element bearing,” Journal of Sound and Vibration, vol. 96, pp. 69-82, 1984. [7] J. Antoni, “The spectral kurtosis: a useful tool for characterising non-stationary signals”, Mechanical Systems and Signal Processing, 20, pp.282-307, 2006 [8] P. O. Amblard, M. Gaeta, J. L. Lacoume, “Statistics for complex variables and signals - Part I: Variables”, Signal Processing 53, pp. 1-13, 1996 [9] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi, "Optimization by Simulated Annealing". Science 220 (4598), pp. 671–680, 1983