Algorithms for Embedded PHM

download Algorithms for Embedded PHM

of 8

Transcript of Algorithms for Embedded PHM

  • 8/2/2019 Algorithms for Embedded PHM

    1/8

    Algorithms for Embedded PHM

    Eric Bechhoefer

    NRG Systems

    110 Riggs Rd

    Hinesburg, VT 05461

    Austin Fang

    Sikorsky Aircraft Corporation

    6900 Main Street

    Stratford, CT 06615

    AbstractWidespread adoption of Prognostics HealthManagement (PHM) systems can be hampered by hardware cost.

    One way to reduce cost, and expand the applications of PHM into

    industry, is to use embedded microprocessors to perform PHM

    analysis. Embedded PHM is challenging in that micro-controllers

    have limited processing power and memory.

    Algorithms commonly used in PHM Analysis are the Time

    Synchronous Average, the fast Fourier transform (FFT), and

    bearing envelope analysis. Presented are techniques to facilitate

    the use of these algorithms in embedded PHM systems. For

    example the real FFT implemented with a table lookup and

    Clenshaws algorithm uses only half of the memory compared to

    a standard FFT, and no trigonometric functions. This resulted in

    up to 14X reduction in the processing time against a benchmark

    FFT. For the envelope analysis (a common bearing vibration

    analysis), a three step process using heterodyne, filtering and

    decimation was developed which reduces greatly the memory

    required while allowing an 8x reduction in processing time. These

    algorithms are currently running on embedded vibration

    monitoring systems which incorporate a MEMS accelerometer

    with a microcontroller for a lower cost PHM system.

    Keywords-Fast Fourier Transform; real fft; condition analysis;hetrodyne; embedded systems

    I. INTRODUCTION

    Despite the proven benefit of prognostic healthmanagement (PHM) systems (see [1],[2],[3] and [4]), therehave been relatively few deployments of systems. Few originalequipment manufacturers have offered PHM as standardequipment. While there are a number of aftermarketinstallations, the total deployed PHM base is small compared tothe number of potential installations.

    One explanation for the low penetration of PHM systems

    into industry is that the costs of systems are too high. Based onthis assumption, a system architecture [5] was developed tolower the cost of ownership. It included the development of aMEMS based sensor incorporating microcontroller where all ofthe digital signal processing was performed on the sensor.

    Developing software to perform the analysis on a low cost,lower power microcontroller poses challenges. As an example,based on uploaded configuration, the sensor could perform:

    Shaft analysis, including time synchronous analysis(TSA) and spectrum of the TSA, Residual Analysisand Energy Operator [6].

    Gear Analysis, including FM0, Side Band Modulation,Narrow Band Analysis, Amplitude Modulation andFrequency Modulation Analysis ([7],[8]).

    Bearing Analysis using demodulation techniques [9].

    This analysis is deemed necessary at the system level toensure early detection of faults. Unfortunately, this analysis iscomputationally intensive and expensive from a memoryresource standpoint. Consider analysis on the intermediate shaftof a commercial wind turbine, with a 7.25 Hz shaft rate. Givena sample rate of 100 KHz (common for many PHM systems),the TSA length will be (assuming radix 2 FFT):

    (1)

    Consider a design requirement where one wants 50revolutions for the TSA, then the sample length is:ceil(50/7.25) = 7 seconds, or 700,000 data points.

    This intermediate shaft has two gears connected to it. Theorder of operations for the analysis of the shaft and gears is:

    Shaft Order Calculation: TSA, 1 FFT

    Gear Residual: 1 FFT, 1 IFFT,

    Gear Narrowband Analysis: 1 FFT, 1 IFFT

    Gear AM Analysis: 1 Hilbert Transform

    Gear FM Analysis: 1 Hilbert Transform

    The order of operations for the TSA, Energy Operator, andstatistics is linear, but the FFT is n log2(n). Note thatperforming the FFT, setting the negative spectrum to zero, and

    then taking the IFFT is used to calculate the Hilbert transform.This allows a rough calculation of order of operations (TABLEI. where Linear Ops are operations on the TSA vector of length16384, while n log2(n) relates to the calculation of the FFT, orinverse FFT.

    This gives an order of operations of a63n + b17 nlog2(n),where n is 16384, and a/b are some constant. While not anissue for a desktop computer, this level of analysis is typicallyprocessed on a high end DSP chip, not on a low cost

  • 8/2/2019 Algorithms for Embedded PHM

    2/8

    microcontroller. In order to perform this analysis on amicrocontroller, improvement to the algorithms needed to bemade. These improvement reduced the values ofa and b so thatthis analysis could be implemented on a low costmicrocontroller with minimum degradation in performance.

    TABLE I. ANALYSIS ORDER OF OPERATIONS

    Analysis Linear Ops. n log2(n)

    Shaft 51 1

    Gears: Residual 2 4

    Gears: Energy Op 4 0

    Gears: Narrowband 2 4

    Gears: AM Analysis 2 4

    Gears: FM Analysis 2 4

    II. TSAFOR EMBEEDED SYSTEMS

    A. TSA TechniquesTime synchronous averaging is a signal processing

    technique that extracts periodic waveforms from noisy data[10]. The TSA is particularly well suited for gearbox analysis,where it allows the vibration signature of the gear underanalysis to be separated from other gears as well as noisesources in the gearbox that are not synchronous with that gear.Additionally, variations in shaft speed can be corrected whichminimize the spreading of spectral energy into adjacent FFTbins.

    The model for vibration in a shaft in a gear box was givenin [10] as:

    K

    k kkmkktbttkftaXtx

    12cos1 (2)

    where:

    Xk is the amplitude of the kth mesh harmonic

    fm(t) is the average mesh frequency

    ak(t) is the amplitude modulation function of the kth

    mesh harmonic.

    k(t) is the phase modulation function of the kth mesh

    harmonic.

    kis the initial phase of harmonic k, and

    b(t) is additive background noise.

    The mesh frequency is a function of the shaft rotational speed:

    fm = Nf, whereNis the number of teeth on the gear andfis the

    shaft speed.

    This vibration model assumes that f is constant. In mostsystems, there is some wander in the shaft speed due to changesin load or feedback delay in the control system. This change inspeed will result in smearing of amplitude energy in the

    frequency domain. The smearing effect, and non synchronousnoise, is reduced by re-sampling the time domain signal intothe angular domain:

    mx

    E x mx

    (3)

    The is the period of the cycle to which the gearboxoperation is periodic, and E[] is the expectation (e.g. ensemble

    mean). Equation (3) makes the assumption that mx( ) is

    stationary and ergodic.

    The TSA uses a tachometer as a reference for shaft speed.In its simplest form, the time for one revolution is calculatedbased the tachometer (e.g. shaft reference). The accelerationdata is re-sampled from m samples over the time interval to nnumber of points in one revolution (from (1)).

    There are three commonly used interpolation methods forre-sampling: linear interpolation, cubic spline interpolation, andband limited interpolation (see [12]). While linear, piecewiseinterpolation has zero second derivatives in the interpolationinterval, cubic splines derive a set of polynomial equations thatare smooth in the first derivative and continuous when takingthe second derivative. This requires solving for n-2 linearequations with n unknowns (usually, the second derivative atthe end points is set to zero so that one solves n-2 equationswith n-2 unknowns).

    The band limited interpolation method requires defining alinear phase FIR filter of length p, the performing aconvolution (order of operations n*p). Prior work([11], [12])showed no difference, statistically, between the performance ofthese TSA methods. As such, a piecewise linear TSA wasimplemented, with one innovation.

    B. Inadequacy of Existing TSA Techniques for Wind TurbineMain Rotors

    Recently, a PHM system was installed on a 2.05 MW windturbine. This machine uses a double feed induction generatorwith full power control. This allows the generator to operatebetween 700 and 1500 revolutions per minute (RPM). Thegearbox ratio is approximately 1:95, thus the main rotor RPMcan vary from 7.4 to 15.7 RPM. During normal operations (40second acquisition capturing 8+ revolutions of the main rotor),it was observed that RPM had two sources of variation:variation due to changes in wind speed (RPM change from1222 to 1327, or 8%, see Error! Reference source notfound.), from and variation due to wind shear and towershadow (+/- 0.7 rpm, or 0.1 % see Figure 2.).

    Wind shear is a meteorological phenomenon that occursdue to the fluid viscosity of air. The result is that the wind

    speed that the blade experiences at the top of the rotor arc ishigher than at the bottom of the rotor arc. Since turbine poweris a function of the square of the wind velocity (and since thisis a non-synchronous machine), it has the effect of increasingthe speed of the rotor disk and consequently, the powergenerated as the blade sweeps through the top part of the arc.

    Tower shadow effect occurs as the blade passes the tower in

    the 180 degree position. The distribution of wind is altered by

    the presence of the tower. For upwind rotors, the wind directly

  • 8/2/2019 Algorithms for Embedded PHM

    3/8

    in front of the tower is redirected and thereby reduces the

    torque at each blade when in front of the tower. The effect of

    both wind shear the tower shadow causes a torque ripple [14].

    The effect is seen as a 3/rev (e.g. 3 times per revolution)

    change in rotor speed.

    Figure 1 Generator RPM on Wind Turbine over 40 Second

    Acquisition

    The TSA algorithm is designed to control speed changesbetween revolutions. The cubic spline technique can controlchanges in speed that are of 2

    ndorder polynomial, while the

    linear interpolation technique assumes linear changes over aone revolution. Neither technique can control sinusoidalchanges of speed within one revolution. The effect of the 3/revis to introduce jitter and smear high frequencies across anumber of bins in the FFT.

    Figure 2 Average Three per Rev Change in RPM due to

    Wind Shear and "Intra Rev" TSA

    Given the limit resources, a linear intra rev interpolationtechnique was developed. Because of the Nyquist condition,the minimum number of points needed to represent the 3/rev is6 sub samples per revolution. However, the use of radix-2FFT requires a minimum of 8 sub samples. In Figure 2, the

    3/rev effect is controlled using 16 sub samples per revolution.For example, given the 16,384 data point used to represent onerevolution, the unit circle was sub-sampled 16 times, of length1024. The resulting solution (Figure 3) significantly improvedthe detection of high frequency tones due to gear mesh, andpresumably gear faults. The main rotor is connected to theplanetary gearbox, which in this example has a 123 tooth ringgear and 3 planet gears on the carrier. The Fourier transform ofthe TSA should indicate a large 123 rev, with sidebands at 120and 126. The sub-sampled TSA (red x) has less spectralsmearing and can be seen to better represent the mesh energyand its sidebands (Figure 3). Further analysis using the sub-sampling technique using cubic spline interpolation shall beconducted to quantify the difference between linear and cubicspline interpolation.

    Figure 3 Spectrum of TSA Showing 123 Tooth Ring Gear

    with Sidebands

    III. THE FFT FOR EMBEDDED SYSTEMS

    It is hard to imaging performing condition analysis withoutusing the Fast Fourier Transform. The FFT is extensively usedfor calculation of frequencies amplitudes, phase information,filtering and the calculation of the Hilbert transform. Withoutthe FFT, condition monitoring would be reduced to grossmeasures of noise, such as RMS or kurtosis, and would have noability to generate actionable information (e.g. whichcomponent in the gearbox is in need of repair).

    The data used for vibration based PHM is real valued (e.g.acceleration), meaning that the imaginary parts for the arrayfi, i= 0,.. N-1, are zeros. The resulting transform, F, satisfies the

    condition that FN-n = Fn*

    (its complex conjugate). Besides beingredundant information, this uses twice the memory of theoriginal real data array, and more than twice the number ofoperations.

    Additionally, the FFT is a structured algorithm. Thissuggests that there should be efficiencies to be taken in the callto trigonometric function. Functions such as sine and cosine arenecessary for random phase angle, but the FFT uses only a few,discrete angles.

  • 8/2/2019 Algorithms for Embedded PHM

    4/8

    Finally, there are families of microcontrollers that support ahardware floating point capability for some selected mathoperations. This hardware support can be an advantage tosignificantly reduce the time required to process an algorithm.

    A. The FFT for Real DataThe complex conjugate relationship of the Fourier

    transform for real value data, allows one to use only half of the

    Fourier data. Following [13], one can construct a data structurein which the real parts are the even data values, and theimaginary parts are the odd data values (4):

    Fn Fne e2 in /NFn

    o(4)

    where

    Fne f

    2kk 0

    N 2 1

    e2 ik n N 2

    (5)

    and

    Fno f

    2k 1k 0

    N 2 1

    e2 ik n N 2

    (6)

    Note that F0 and FN/2 are independent real values. It isnecessary to used the imaginary part of F0 to hold FN/2 so thatthe only the original array space is used.

    To conveniently (e.g. make it computationally fast)implement this on the embedded system (assuming using C orCPP), a vector data structure was defined which held twoarrays: one for even data, and one for odd data. A complexvector was also defined, which had an array of real and anarray of imaginary data. The real FFT (fftreal, see appendix)shallow copies the real vector into the complex vector, calls adecimation in frequency FFT of half-length, then calls andecimation in time FFT, in which the two separatetransforms ((5), (6)) are recombined into the true transform (4).

    There are a number of benefits to using the real FFT forembedded system. Besides allocating half the memory of theFFT, theBig O order of operations for real FFT relative to theFFT is:

    O 1 2 ln2n

    2 ln2 n (7)

    For the example array of length 16,384, the real FFT is near0.46 times faster. This has large implications for much of theanalysis. For example, the residual and narrowband analysis,which perform FFT filtering (e.g. an FFT, then an inverse FFT)are now 0.46

    2= 0.22 or over 4x faster. Additionally, due to

    fewer operations, the round off errors are smaller than in theFFT.

    B. Use of a Lookup Table and Clenshaws Recurrance in theFFT

    The FFT algorithm is structured such that only specific sineand cosine values are needed. This can remove the necessity tocall these trigonometric functions (which are relatively slow).From equation (4), (5) and (6), it is seen that the denominator

    of the complex exponential is 2 /N, where Nis 2n. Since n is

    integer, it should be possible to take advantage of this structure.

    In the decimation in frequency FFT (see fftlu in theappendix), the radian angle input into the sin/cosine functions

    2 /BlockSize. The Blocksize value is incremented by 2n, where

    n ranges from 1 to ln2(N). Thus, for a 32,768 point FFT, only15 sine and cosine values are needed (in addition to 0 for sine,and 1,-1 for cosine). This allows the use of a direct look upvalue of sine/cosine based on count of the outer forloop of theFFT (see appendix, fftlu). The order of operations for a look up

    is 1.For the real FFT, after the FFT is called, the real and

    imaginary transform values must be separated from the dataarrays and combined into the true transform (4). Performingdecimation in time on the data arrays does this. In this process,

    the radian angle is initialized to 2 /N, and advanced by 2 /Nradians for N/2 interactions. Trigonometric function whosearguments form a linear sequence, such as this, are efficientlycalculated using Clenshaws recurrance:

    cos cos cos cos

    sin sin sin sin

    (8)

    where =2sin2( /2), = sin( ). Since and /2 are availablefrom the lookup table, it is possible to write the real FFTwithout the use of trigonometric function. The recurrence isinitialized as:

    nbit = NumberOfBitsNeeded(NumSamples) + 1;wtemp = sinLU(MXBIT - nbit);wpi = sinLU(MXBIT - nbit + 1);wpr = -2.0f*wtemp*wtemp;wr = 1.0f+wpr;wi = wpi;

    Note that MXBIT is the maximum length of the data arrayin log2, which for this example was 15 (e.g. a maximum FFTlength 32,768). Implementation of the recurrence in fftreal (seeappendix) was tested for stability, and was found to be within

    the precision of the numbers themselves (e.g. 32 bit float). Theupdate is processed as:

    wtemp = wr;wr = wtemp*wpr - wi*wpi + wr;wi = wi*wpr + wtemp*wpi + wi;

    The recurrence is approximately 50% faster than thetrigonometric functions that it replaces.

    IV. BEARING ENVELOPE ANALYSIS FOR EMBEDDEDSYSTEMS

    Bearing Envelope Analysis (BEA) may be the most robusttechniques used for bearing fault detection [15]. BEA is based

    on demodulation of high frequency resonance associated withbearing element impacts. For rolling element bearings, whenthe rolling elements strike a local fault on the inner or outerrace, or a fault on a rolling element strikes the inner or outerrace, an impact is produced. These impacts modulate a signal atthe associated bearing pass frequencies, viz. Cage PassFrequency (CPF), Ball Pass Frequency Outer Race (BPFO),Ball Pass Frequency Inner Race (BPFI), and Ball FaultFrequency (BFF). Additionally, the impact excites resonance atone or more of the bearing fundamental frequency modes. This

  • 8/2/2019 Algorithms for Embedded PHM

    5/8

    results in amplitude modulation of the resonant frequency inthe time domain.

    Ideally, one wishes to band-pass filter around the bearingresonance. Selecting a window frequency that encompasses thebearing resonance does this. For example, if the bearingresonance is detected at 23KHz, then one selects a window of22KHz to 24 KHz. One then calculates the signal envelopewindow by band-pass filtering from 22 to 24 KHz, then by

    using the Hilbert transform (e.g. taking the spectrum of theamplitude of the analytic signal). The analytic signal xa(t), iscomplex, composed of the real part of the original signal,x(t), andthe imaginary part, which is the Hilbert transform ofx(t):

    txiHtxtxa (9)

    where

    H x t 12x t

    t d (10)

    There are two interesting concepts to note in equation (9):

    the imaginary signal is identical to the real part if a /2 phaseshift is accounted for, and the spectrum of the analytic signal is

    non-zero for the positive frequency only. These properties willbe useful in reducing the computation burden of the algorithmin an embedded system.

    One of the simplest algorithms for BEA was developed in[15]. The pseudo code is:

    1. X = fft(x); Take the FFT of the vibration signal2. dfrq = sample_rate/length(x); Get the freq. bin width3. idxLw = floor(22,000/dfrq); find the indexes of the4. idxHi = floor(24,000/dfrq); envelope window5. X(1:(idxHi-idxLw+1) =X(idxLw:idxHi); Heterodyne6. X((idxHi-idxLw+2):end) = 0; Hilbert Transfer7. env = abs(ifft(X)); get the envelope

    The heterodyne process, 5, copies and translates thewindow of interest to base-band, then low pass filters in thefrequency domain, in one step. In 6, the condition necessary tocalculate the Hilbert transform is performed. Finally theresulting envelope (env of 7) is easily calculated as the absolutevalue of the inverse FFT.

    Note that by low pass filtering in 5, it is possible todecimate the envelope prior to taking the spectrum. Forexample, if the sample rate were 100,000 samples per second,given the envelope bandwidth of 2000 Hz (24,000 KHz 22,000 KHz), the envelope could be decimated by 25. Insteadof taking the spectrum of 700,000 data points, the spectrumwould operate on 28,000 data points. For this paper the termspectrum will relate to Welchs method. This consists of

    dividing the time series data into (possibly overlapping)segments, computing a modified periodogram of each segment,and then averaging the PSD estimates.

    Clearly it would add cost/computational time to implementthe above bearing envelope analysis. The time required for a700,000 point FFT would be large, and there is additional codecomplexity required to implement a non-radix 2 FFT. Giventhat, there are seeds here for reducing the computationalcomplexity of the algorithm, starting with the decimation.

    Since there is a bandwidth reduction in the envelope, oneshould process only those data points needed for the envelope:28,000 data points is much easier to process than 700,000 datapoint. The key is the mechanization to facilitate this: the lowpass filter. Filtering is a type of average, where the weights areformally defined using some optimality criterion. One can usea linear phase FIR filter (b) with a normalized bandwidth: bw =(Window HighWindow Low)/Sample Rate. This will ensureno aliasing in the decimated signal. One can also takeadvantage of the trigonometric identity:

    cos a cos cf 12 cos a cf cos a cf (11)

    which is the heterodyne, where cf center of the windowfrequency (e.g. in the example, (24+22)/2 or 23 KHz, theresonance of the notional bearing). The high frequency image(cos(a+cf)) will be filtered in the decimation process.

    Finally, the Hilbert transform needs to be created. Asnoted, the imaginary part of the Hilbert transform is the real

    part phase shifted by 90 degrees. Since sine (cf+ /2) =cosine(cf), one can easily create the imaginary part bymultiplying the heterodyned signal by sine(cf). See bearing

    heterodyne code snippet in the Appendix. Note that since oneadvances sine(cf) and cosine(cf) by the omega, one can takeadvantages of the Clenshaws recurrence algorithm and removethose trigonometric function calls.

    V. IMPELMENTATION AND TIMING RESULTS

    The TSA was implemented using linear interpolation,where each revolution was broken into 16 block of length N/16(were N was the TSA length). Further, each block was re-sampled using linear interpolation. While all three method(linear, spline and bandwidth limited) methods wereimplemented and tested in Matlab, no timing studies were

    performed. Qualitatively, the implemented methods seem toreduce jitter and capture spectral features with higher precisionthan the other methods. Further analysis will be conducted inthe future.

    Earlier it was stated that families of microcontrollersexisted with a hardware floating point unit (FPU) capability.Taking advantage of the FPU can greatly increase theprocessing capability of the microcontroller. The targetmicrocontroller for the MEMS sensor was the AVR32UC3,144 pin microcontroller. This part comes in an A version,and a C version with FPU support. Since these chips areidentical expect for the FPU support, one can perform timestudies with exactly the same software. The FPU on theAVR32UC30512C supports single precision addition,

    subtraction, multiplication and square root. When performingother math operations, the device resorts to software emulation.

    All software tests where developed on the AVR32 Studiousing the GNU CPP compiler. The benchmark FFT was thefour1 FFT from [13]. The array length for testing included:1024, 2048, 4096, 8192, 16384, with a maximum array lengthof 32768. Time was calculated using the header withthe difftime function. Because the resolution of diff time isone second, each test was run approximately 50,000

  • 8/2/2019 Algorithms for Embedded PHM

    6/8

    repetitions, with the ratio taken of the test code vs. thebenchmark(TABLE II. ).

    TABLE II. TIME RESULTS FOR FFT

    Effect of not calling trigonometricfunctions

    0.71 times

    Effect of Real FFT vs. FFT 0.45 times faster

    Floating point Real FFT vsEmulation

    0.22 times

    Aggregate improvement: 1/(0.71 x 0.45 x 0.22): orapproximately 14x faster

    than benchmark.

    Typically, most data intensive analysis on the sensor withthe A version of the AVR32UC3 is 85 seconds of processingtime, while the C version returns results within 22 seconds (thisincluded 1 TSA analysis, 2 gear analysis, and 1 bearinganalysis).

    Results for the bearing analysis were harder to quantify, inthat the benchmark code could not be ported to theAVR32UC3. Instead, timing studies were conducted using aPC console application compiled with AVRStudio. In general,with a 6 second acquisition sampled at 105 KHz, 4096-pointPSD, the optimized code was 8 times faster than benchmark.

    VI. CONCLUTION

    Existing algorithms for fault detect in PHM function asdesign. PHM has shown to reduce operations and maintenancecost. It is likely, that as PHM techniques mature, PHM systemswill be part of the equipment design codes. That said, theacceptance and wide scale deployment of PHM system will be

    delayed until the total cost of ownership is reduced.Reducing cost will require PHM systems designed around

    smart sensors with embedded functionality. This in turn willrequire improved processing techniques that meet the resourcerequirement of embedded systems. Presented here aretechniques that were implemented on such an embeddedsystem, with system performance equal to traditional sensors.

    APPENDIX

    Example source code for the real FFT and to demonstratethe look up table and Clenshaws recurrance.

    //------------------------------------------------unsigned ReverseBits ( unsigned index, unsigned NumBits ){

    unsigned i, rev;for( i=rev=0; i < NumBits; i++ ){

    rev = (rev >= 1;

    }return rev;

    }//------------------------------------------------

    int isPowerOfTwo (unsignedint x){

    return ((x != 0) && !(x & (x - 1)));}//--------------------------------------------------unsigned NumberOfBitsNeeded ( unsigned PowerOfTwo ){

    unsigned i;

    if( PowerOfTwo < 2 )

    {exit(1);

    }

    for( i=0; ; i++ ){

    if( PowerOfTwo & (1

  • 8/2/2019 Algorithms for Embedded PHM

    7/8

    ar[2] = ar[1];ar[1] = ar[0];ai[0] = w*ai[1] - ai[2];ai[2] = ai[1];ai[1] = ai[0];k = j + BlockEnd;tr = ar[0]*RealOut[k] - ai[0]*ImagOut[k];ti = ar[0]*ImagOut[k] + ai[0]*RealOut[k];RealOut[k] = RealOut[j] - tr;

    ImagOut[k] = ImagOut[j] - ti;

    RealOut[j] += tr;ImagOut[j] += ti;

    }}crtBit++;BlockEnd = BlockSize;

    }good = 1;

    }else{

    good = 0;}

    return good;}//-------------------------------------------------unsigned fftreal(unsigned NumSamples, float *Even, float *Odd,

    float *RO, float *IO)

    {//Calculates the Fourier transform of a set of n real-valued data pointsunsigned n2, nbit, i,i1,i3,np3, Pow2, good;float wtemp, wpr, wpi, wr, wi, c2, c1;

    float h1r, h1i, h2r, h2i;Pow2 = isPowerOfTwo(NumSamples);if(Pow2){

    n2 = NumSamples>>1;for(i = 0; i < NumSamples; i++)

    {RO[i] = Even[i];if(!Inv) IO[i] = -Odd[i];else IO[i] = Odd[i];

    }nbit =NumberOfBitsNeeded(NumSamples) + 1;//Initialize the recurrence algorithm for sin/cos: get theta angle

    wtemp = sinLU(MXBIT - nbit);wpi = sinLU(MXBIT - nbit + 1);c2 = -0.5f;good = fftluil(NumSamples, RO, IO);//call the fft

    wpr = -2.0f*wtemp*wtemp; //recurancewr = 1.0f+wpr;wi = wpi;c1 = 0.5f;np3 = NumSamples;for(i=1; i

  • 8/2/2019 Algorithms for Embedded PHM

    8/8

    [5] E. Bechhoefer, B. Morton, Condition Monitoring Architecture toReduce the Total Cost of Ownership, IEEE PHM Conference, 2012,Denver.

    [6] G. White,Introuduction to Machine Vibration DLI Engineering, 1998

    [7] McFadden, P.D., Detecting Fatigue Cracks in Gears by Amplitude andPhase Demodulation of the Meshing Vibration, J. Vib. Acoust. StressReliab. Design, vol. 108, no. 2, Apr. 1986, pp. 165-170.

    [8] Zakrajsek, J. Townsend, D., Decker, H. (1993). An Analysis of GearFault Detection Method as Applied to Pitting Fatigue Failure Damage.

    NASA Technical Memorandum 105950.

    [9] Randall, R. Vibration-based Condition Monitoring: Industrial,Aerospace & Automotive Application, John Wiley, New York, 2011

    [10] P. McFadden A revised model forthe extraction of periodic waveformsby time domain averaging, Mechanical Systems and SignalProcessing 1 (1) 1987, pages 83-95

    [11] H. Decker, J. Zakrajsek, Comparison of Interpolation Methods asApplied to Time Synchronous Averaging ARL- TR-1960, MFPT, April19-22, 1999

    [12] E. Bechhoefer, M. Kingsley, A Review of Time SynchronouseAveraging Algorithms, PHM Society Conference, 2009.

    [13] W. Press, S. Teukolsky, W. Vetterling, B. Flannery, Numerical Recipesin C, Cambridge Univesity Press, Cambrige, 1992, p512514

    [14] D. Dolan, P. Lehn, Simulation Model of Wind Turbine 3p TorqueOscillation due to Wind Shear and Tower Shadow, IEEE Transactionon Energy Conversion, Vol. 21, No. 3, September 2006.

    [15] R. Randall, Vibration-based Condition Monitoring: Industrial,Aerospace & Automotive Application, John Wiley, New York, 2011.

    http://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htmhttp://www.wwindea.org/technology/ch03/estructura-en.htm