Empirical Mode Decomposition and Neural Networks on FPGA for Fault Diagnosis in Induction Motors

Nowadays, many industrial applications require online systems that combine several processing techniques in order to offer solutions to complex problems as the case of detection and classification of multiple faults in induction motors. In this work, a novel digital structure to implement the empirical mode decomposition (EMD) for processing nonstationary and nonlinear signals using the full spline-cubic function is presented; besides, it is combined with an adaptive linear network (ADALINE)-based frequency estimator and a feed forward neural network (FFNN)-based classifier to provide an intelligent methodology for the automatic diagnosis during the startup transient of motor faults such as: one and two broken rotor bars, bearing defects, and unbalance. Moreover, the overall methodology implementation into a field-programmable gate array (FPGA) allows an online and real-time operation, thanks to its parallelism and high-performance capabilities as a system-on-a-chip (SoC) solution. The detection and classification results show the effectiveness of the proposed fused techniques; besides, the high precision and minimum resource usage of the developed digital structures make them a suitable and low-cost solution for this and many other industrial applications.


Introduction
Many industrial processes involve the use of induction motors that are required to operate in optimal conditions; then, the diagnosis of induction motors becomes a relevant task because the presence of faults can lead to setbacks and substantial economical losses [1]. The diagnosis of induction motor faults can be treated as a problem of pattern recognition, mainly when there is the possibility of different faults, as it may happen in real industrial applications. The solution to this problem can be divided into three stages, beginning with the processing of the monitored signal; then, performing the extraction of relevant features that indicate the presence of a motor fault from the processed signal; and the identification and classification of the motor condition based on the extracted features. The signal processing task is very challenging since the monitored signals, such as currents, voltages, and vibrations among others, present non-stationary features disturbing the results of the classical processing techniques [2,3]. Moreover, the feature extraction and selection have to be carried out carefully since a large number of feature parameters may increase the computational load and deteriorate the identification capability of a subsequent classifier. Therefore, it is necessary to have a system that can process non-stationary signals, extract the relevant features from these signals, and provide the condition classification without compromising the online operation in order to automatically diagnose faults in induction motors. Regarding the implementation of the aforementioned system, a promising technology for online operation is the field programmable gate arrays (FPGA), thanks to the natural parallelism and high-performance, especially for implementing neural computing algorithms as it has been demonstrated in a number of industrial applications [4,5]. 2 The Scientific World Journal Several techniques have been used for non-stationary signal processing. The short-time Fourier transform (STFT) is used in [6] to obtain a time-frequency spectrum decomposition of the signal, assuming that it is linear and stationary in the analyzed time window, which is not true in transient phenomena. Another technique is the wavelet transform (WT) [7]; however, the mother wavelet has to be selected appropriately and prudently since the contents of its daughter wavelets have to be largely similar to the analyzed signal in order to ensure suitable results. The Wigner-Ville distribution (WVD) has also been used; nevertheless, the weakness of this method is the presence of cross terms, indicated as negative amplitudes for some frequency ranges. Besides, WVD suffers of the aliasing problem [8]. A high-resolution spectral analysis through multiple signal classification (MUSIC) is presented in [9]; yet, the frequencies of interest in the analyzed signal have to be known or at least supposed a priori, which is not possible for a number of applications. The Hilbert-Huang transform (HHT) is also a time-frequency analysis technique composed of two main parts: the empirical mode decomposition (EMD), and the Hilbert transform (HT) [10]. The EMD is an intuitive, unsupervised, and self-adaptive method that can decompose a non-stationary and nonlinear signal into narrowband oscillatory components called intrinsic mode functions (IMF). These advantages have allowed its effective use in many industrial applications such as noise reduction [11], fault diagnosis in bearings [12][13][14][15][16], broken rotor bars [17][18][19][20][21], and rotor eccentricities [22][23][24][25]. Despite the potential applications, most of the related works using EMD require a personal computer (PC) applied to offline signal processing, and this is due to the complexity of the technique as well as to its high computational load. Nevertheless, the spread use of the EMD technique makes it a potential necessity for hardware implementation in order to create online processing systems. Some online processing systems have been presented in [26,27]; yet, they are based on the FFT which limits their application to stationary signals.
Few works have implemented partially or totally the EMD method in hardware. In [28], a combination of softwarehardware for EMD implementation is proposed, but this solution prompts high costs in logic elements and low processing speed. Another combination of FPGA and digital signal processor (DSP) is presented in [29], where the whole EMD process is done by the DSP, and the FPGA is only used to control the data flow among the analog to digital converter (ADC), digital to analog converter (DAC), and the system memory. The inconvenience of this implementation is also the speed limitation because its operating frequency is below 1 kHz. A real-time FPGA implementation is presented in [30]; however, this application approximates the splinecubic interpolation with a linear sawtooth function in order to simplify the computational load of calculating signal envelopes. This is a problem since it does not produce a smooth signal, and as an aftereffect, a leaking of highfrequency components rides into each residue function [31], modifying the results of subsequent IMFs. In this context, a complete FPGA implementation of the EMD that does not present the problem of high-frequency components rides is missing.
Despite the efforts, there is a need for the development of digital structures that combine several processing methodologies to present online solutions for complex problems such as induction motor fault detection, namely, to combine timefrequency decomposition analysis of non-stationary signals, a feature extraction module, and an automatic classifier. This paper presents a novel digital structure to implement the EMD method in FPGA using the full spline-cubic function and not just a linear approximation, taking into account that the spline-cubic function does not present the problem of high-frequency component rides, making it more suitable for time-frequency processing. This novel structure for the hardware computation of EMD method is combined with an ADALINE-based frequency estimator and an ANN classifier in the same FPGA to provide an intelligent methodology for online multiple fault diagnosis in induction motors. First, the startup transient current signal, which is non-stationary, is processed by the EMD in order to obtain the IMFs; then, the ADALINE carries out the amplitude estimation of these IMF frequency components. Finally, these frequency components are used as input features of an ANN classifier for the automatic diagnosis of motor faults such as one (1BB) and two broken rotor bars (2BB), bearing defects (BD), and unbalance (UNB). Besides, the overall methodology implementation into an FPGA allows an online and real-time operation, thanks to its parallelism and high-performance capabilities as a system-on-a-chip (SoC) solution. Furthermore, the developed EMD digital structure can also be used to solve other problems requiring online and real-time processing capabilities.

Fault Detection in Induction
Motors. The identification and classification of multiple faults in induction motors are very important since in real life rotating machines can be affected by several faults, where 50% of these faults are bearing related, 10% are rotor faults, and unbalance is within the 12% of other faults [2]. The automatic identification and classification of the induction motor condition may be provided by artificial intelligent techniques such as artificial neural networks (ANN), which have been established as a powerful tool in the condition identification of rotating machinery [32]. The condition identification through ANNs of different faults has also been presented [6,[33][34][35]. In [6], shorted turns and power supply imbalance faults are analyzed through vibration signals. Faults related to stator winding, inter-turn short, and rotor dynamic eccentricity are classified by the current signal information [33]. Current and vibrations signals are analyzed in order to classify different bearing faults [34]. Other faults such as broken rotor bars and broken end rings are also classified by extracting current signal features [35]. Although ANNs have been successfully applied for condition identification of motor faults, the online implementation remains as a challenge since it requires a processing technique that gives relevant information in order to extract features related to the different faults; moreover, if the number of features is large, the classifier complexity The Scientific World Journal 3 may increase. As a result, a compromise must be established between the number of features that feed the classifier and the overall computational load required for online operation.
In general, motor currents and voltages are non-stationary signals and their temporal properties are influenced by many factors, including electrical power supply, load variations, noise, motor geometry, and fault conditions. When an induction motor is started up from standstill, electromagnetic transients (EMT) take place regardless of the motor condition. The EMT provoke low-frequency oscillations in the IMF signal decomposition, and those are usually contained in the upper IMFs, as can be observed in Figure 1, where the evolution in time of low-frequency components is notoriously higher for a faulty motor.
Motor current signals contain spectral components which vary over time, and the fault signatures are revealed through the distortion of these components. In [36], the wavelet packet analysis was used to process the motor current signals, where the wavelet packet transform decomposes the signal utilizing both its low-and high-frequency components. The broken rotor bar fault signature was extracted in the low frequencies by using the instantaneous amplitude of stator current [37], and the DWT is used as an efficient timescale algorithm, which gives optimal frequency accuracy at low-frequency bandwidth (1.2 Hz-9.6 Hz) [38].
The fault indicator proposed in this paper to detect mechanical and electric faults in induction motors is based on the observation of the startup motor current that is distorted in the presence of these faults. Consequently, in the presence of such faults, the spectral components in the current increase when compared to a healthy spectrum. Therefore, current spectrum variations provide some clues to notice the presence of mechanical and electrical faults. Relative changes in the low frequencies, as would be seen through the processing of the startup current, appear promising for detecting changes in the induction motor condition when the induction motor startup current is non-stationary.

Empirical Mode Decomposition.
EMD is an adaptive and efficient method introduced by Huang et al. [10] to decompose nonlinear and non-stationary signals into intrinsic mode functions (IMF). The process for obtaining the IMF decomposition is known as "sifting, " with the following steps.
Step 1. Identify all the local maxima and minima of the signal.
Step 2. Connect all the local maxima by using spline-cubic interpolation to create the upper envelope. Repeat the procedure on the local minima to create the lower envelope.
Step 3. Designate the mean of the upper and lower envelopes as 1 .
Step 4. Calculate the difference ℎ 1 between the original signal ( ) and 1 as the first component: Step 5. Verify if ℎ 1 satisfies the conditions of the IMF or a criterion to define an IMF; take it as the first IMF of ( ). But if ℎ 1 is not an IMF, treat it as a proto-IMF and name it as ℎ 11 . Take ℎ 11 as the original signal and repeat the first four steps until ℎ 1 satisfies the conditions of IMF, and designate it as 1 .
where indicates the number of iterations to produce an IMF. The standard deviation (SD) criterion can be used to determine when the signal ℎ 1 is an IMF, which is defined as (3) Step 6. Subtract 1 from the original signal ( ) by Step 7. Treat 1 as the original signal and apply Steps 1 to 6 for obtaining the other IMFs, 2 , 3 , . . . , as follows: The decomposition process can be stopped when becomes a monotonic function from which no more IMF can be extracted. However, it is well known that only a determined number of IMFs have physical meaning and it is only necessary to take a certain number of IMFs to extract the relevant information from the original signal. At the end of the process it gives where the signal ( ) is decomposed into intrinsic modes and a residue .

Adaptive Linear Network.
The fault feature extraction is a procedure for obtaining parameters that represent the induction motor condition in order to achieve a future fault classification. Different parameters have been reported for this application; for instance, statistical parameters such as the standard deviation, the local maxima and minima values, and the skewness and the kurtosis coefficients have been extracted from the motor input current [33]. In addition to some statistical parameters, the outer race, inner race, and ball spinning fault frequency components are also extracted from vibration and current signals [34]. The frequency spectra of vibration and current signals have also been computed [6,35], respectively, where the amplitudes of some frequency components are extracted. Nevertheless, in non-stationary signals some of the aforementioned parameters, mainly the frequency components, may change through time producing a wrong classification result. A suitable solution for frequency component estimation of non-stationary signals is the use of an adaptive linear neural network (ADALINE) as has been demonstrated in [39]; besides, its inherent parallel performance makes it also attractive for FPGA implementation. ADALINE is an adaptive filter used for extracting signals from noisy environments and for model identification as well as for tracking and estimating frequency components [39]. For the last application it is assumed, in concordance with the Fourier series, that a signal is the sum of all frequency components with unknown amplitudes and phase angles. Therefore, the representation of a signal is where and are the amplitudes and phase angles of th frequency component, respectively; is the total frequency components, = 2 Δ , is the sampling index, Δ is the sampling interval, = cos , and = sin . Equation (7) can be rewritten as with For applications on frequency estimation, ADALINE is arranged as shown in Figure 2. The initial guess of w is a zero vector; then, its elements are adjusted during each sample through a weight-updating rule to minimize the error or difference between the estimated output and the real one The Scientific World Journal 5 . Simultaneously, the amplitude and phase angle of the th frequency component are computed as follows: where − ≤ ≤ . The error is equal to zero when all the frequency components of are modeled by ADALINE.
The weight-updating rule used to minimize the error is the least mean squares (LMS), which reduces the mean squared error (MSE) defined by where is the number of analyzed samples and is the difference between the ADALINE output and the desired output given in (12): Finally, the modification on the weights is given in (13), where is a constant of proportionality, known as the ADALINE learning rate:

Artificial Neural Networks.
ANNs are computational models that simulate the neurological structure of the human brain and its capability to learn and solve problems through pattern recognition for industrial applications ranging from metal removal prediction [40] up to induction motor diagnosis [41]. There are different ANN architectures such as feedforward networks (FFNN), recurrent networks, feedback networks, radial basis function networks, and Kohonen selforganizing map networks, among others. The most popular architecture for ANN is the FFNN since it is simple and practical as a classifier and because it has a low computational load. FFNN is characterized by having a layered architecture with single or multiple neurons in each layer [41], as shown in Figure 3. The mathematical model describing each neuron is given in (14), where , , , , (⋅), and are the output, weights, inputs, bias, activation function, and the total number of inputs, respectively. The FFNN model consists in the sum of products between the inputs and their associated multipliers, commonly called weights, plus a bias. Then, this result is evaluated by a nonlinear function to provide the NN with the ability to model nonlinear relationships.
In this architecture, the information flows in one direction only, from the input layer, through the hidden layer, up to the output nodes. To characterize the network weights, pairs of input-output data are presented; then, a training rule for adjusting these weights is used. The training process minimizes the error between the desired and the calculated outputs and it is repeated until the overall error is acceptable: Input layer Hidden layer

Proposed Methodology and Its FPGA Implementation
This section presents the overall methodology and its FPGA implementation in order to provide an online diagnosis of an induction motor with different conditions such as one broken rotor bar (1BB), two broken rotor bars (2BB), bearing defect (BD), unbalance (UNB), and healthy (HLT), where the proposed methodology contains three processing stages. First, the EMD algorithm is used to separate the different low-frequency components to estimate the fault indicators; second, ADALINE estimates their magnitudes; and third, an ANN is used to classify the motor faults.

Overall Methodology.
The overall methodology is shown in Figure 4. First, the system uses a current clamp to measure one phase of the stator current and a data-acquisition system (DAS) to condition and quantize the signal. Then, the discrete signal is passed through the FPGA-based processor for automatic diagnosis, where an overall control unit coordinates the following actions: the DAS driver for data acquisition, the EMD processing unit to compute the IMFs, the ADALINE unit for feature extraction, and finally, the FFNN unit that accomplishes the classification. Then, the result of the induction motor condition is displayed to the user.

FPGA-Based
Processor. The FPGA-based processor is composed by processing EMD, feature extraction ADALINE and classification FFNN as shown in Figure 5, and the signal processing flow up for a real current sample of a healthy induction motor is depicted in Figure 6. First, the input signal is decomposed by the EMD module in order to obtain the first four IMFs. Notice that for this application, the first IMF has irrelevant information since it contains the 60 Hz fundamental frequency component of the supply system, as is shown in Figure 7(a), and the presence of frequency components related to the motor faults may be undetectable in this bandwidth. Second, third, and fourth IMFs, shown in Figures 7(b) Figure 8 shows the required steps for implementing the EMD method. First, the data input  upper and lower envelopes ( and ). The mean envelope module calculates the mean of the envelopes ( ). Then, in the candidate IMF module the difference between the signal and the signal is calculated in order to obtain the signal ℎ , which represents a potential IMF. The standard deviation criterion is used to determine if ℎ is a true IMF, and if not the signal ℎ becomes the input signal and the Steps 1-4 are repeated. When ℎ is a true IMF, the signal ℎ is stored and becomes the signal , then the difference of signals and is defined as . Finally, the number of the IMFs calculated is revised to decide if the process ends; if the process goes on, the signal becomes the new input signal and the process is repeated. Figure 9, first, input is sent to a 2-level pipeline register to store −1 in the register A and −2 in the register B. The signal −1 is compared with and −2 by two comparators, whose results pass through an AND gate. If +1 is the greater datum, then it is defined as a maximum, which is placed in register M as max . The output of the AND gate enables register M, register R, and register P. The signal max indicates when a new maximum appears. Simultaneously, a counter increases by one in every new datum, whereas register P stores the position of the maximum ( max ). The same process is used to calculate the minimum, but in this case the comparators are set to detect when −1 is smaller than and −2 .

Spline-Cubic Interpolation
Module. The spline-cubic algorithm requires a determined number of data to obtain a smooth interpolation; in this design the size of the selected data set is 1024. After the data set is captured, it is possible to calculate the envelope. Figure 10 describes the module of spline cubic for calculating of the upper envelope. A similar procedure is used to calculate the lower envelope.
According to Figure 10, the inputs max and max pass through the edge conditions module, which adheres the edge conditions in the beginning and ending of the data set of maxima. The signal max indicates the arrival of a new maximum and the signal EOD the end of the data set. These conditions are used to calculate values on the edges of the signal in the interpolation process. The new data sets ( max and max ) with the edge condition are stored and sent to tridiagonal matrix module with their respective control signals ( max and EOD ).
The algorithm of the spline-cubic interpolation according to (15) is To obtain the parameter , the tridiagonal matrix module solves a tridiagonal system for number of maxima Stored as x i Step 6 Step 1 Step 2 Step 3 Step 4 Extrema identification Local maxima Local minima Step 5 Spline cubic with spline natural condition, which is defined by (17) and (18): where After obtaining the value of the coefficient , it is possible to find the values of the coefficients , , and following (19) and making it possible to calculate the envelope

ADALINE Digital
Structure. This module performs the frequency estimation for the second (IMF 2 ), third (IMF 3 ), and fourth IMF (IMF 4 ) according to the signal C IMF as shown in Figure 11. The master Control ADALINE module provides the overall synchronization to compute (8), (10),    (13) in order to minimize the error between the ADALINE output and the desired output . For this, the error in (12) is first computed and multiplied by ; in this methodology, = 0.01 is used. Posteriorly, the modified weights are stored in the registers for = 0, . . . , 8 through the multiplication and summation of , , and , which are the sine, cosine, and weights values, respectively. Finally, the coordinate rotation digital computer (CORDIC) section estimates the amplitude and phase according to (10) [42]. It is used in vectoring mode, where the weights are taken in pairs, and The Scientific World Journal +1 . In order to obtain the twelve frequency components (H1 IMF 2 , H2 IMF 2 , H3 IMF 2 , H4 IMF 2 , . . ., H4 IMF 4 ), this overall process is repeated for the three IMFs. The signals and for = 1, 2, and 3 control the multiplexers and the registers load, respectively.

FFNN. This module is first developed and trained in
Matlab for being subsequently implemented in the FPGA. Therefore, the FFNN module is firstly trained through the Levenberg-Marquardt algorithm for identifying a HLT condition in the induction motor or the presence of multiple single faults. For this, twenty real sampled signals are carried out under each motor condition. The training and validation sets for each condition are obtained synthetically by randomly producing 100 values, 70 for training and 30 for validation, of each frequency component within the range ( + , − ), where is the mean and is the standard deviation of the frequency components magnitude from the twenty real sampled signals, as shown in Figure 12. The testing set is composed by real signals only. The FFNN final architecture has 12 inputs (four frequency components for each IMF), 10 neurons in the hidden layer, and 5 outputs (one per each condition), that function as flags to indicate the induction motor condition. The number of 10 neurons in the hidden layer is selected by trial and error in order to obtain the minimum overall classification error. After the training, validation, and testing, the final weights and biases of each layer neuron are used for FPGA implementation according to the digital structure shown in Figure 13, which computes (14) for each neuron. There, the control unit hidden and output layers provide the overall synchronization signals that regulate the information exchange among the control units for the hidden and output layers through StartH/EndH and StartO/EndO, respectively; besides, the signals and for = 1 and 2 control the multiplexers and the registers load. The hidden layer shown in Figure 13(a) has 10 neurons and receives the four frequency components for each IMF. They are weighted by the corresponding values 1 ,  the outputs 1 , 2 , . . . , 10 from the hidden layer as inputs to its five neurons obtaining the outputs 1 , 2 , . . . , 5 that define HLT, 1BB, 2BB, UNB, and BD condition through a threshold comparison of 0.5. Thus, the display module shows the induction motor condition according to the activated output neuron.

Experimentation and Results
This section presents the experimental setup used to test the proposed FPGA-based methodology under real operating conditions as well as the obtained results. Figure 14 shows the experimental setup where 1-hp three-phase induction motor (model WEG00136APE48T) is used to test the proposed FPGAbased methodology. The tested motors have two poles, 28 bars, and receive a power supply of 220 Vac at 60 Hz. The mechanical load is an ordinary alternator. One phase of the stator current is acquired with an i200 Fluke current clamp. The DAS has a sampling frequency of 375 Hz, taking 1024 samples during the startup transient. The information is transferred to the FPGA processor to perform the motor diagnosis through EMD, ADALINE, and FFNN. Finally, the diagnosis result is shown in the display.

Treated Faults.
The broken rotor bar condition is artificially produced by drilling an 8 mm diameter hole without harming the rotor shaft. Figure 15(a) shows a rotor with one broken bar (1BB) and Figure 15(b) depicts a rotor having two broken bars (2BB). The UNB condition appears when the mechanical load is not uniformly distributed in the induction motor with the center of mass displaced from the motor shaft. Figure 15(c) shows a pulley with an added eccentric mass for generating unbalance in the motor shaft. The bearing defect (BD) is produced by drilling a hole of 1.2 mm diameter on its outer race, as shown in Figure 15(d).

Results.
The FPGA-based system uses 18-bit fixed-point arithmetic, which generates rounding and truncation errors. In order to evaluate the overall performance of the developed FPGA implementation, the fixed-point results are compared against floating-point Matlab simulations for the same acquired data sets. Table 2 presents the mean ( ), the standard deviation ( ), and the peak ( ) of relative errors when comparing fixed-point (FPGA) and floating-point (Matlab) results for the 20 trials of experimental data under each motor condition, where the worst values are indicated in bold, being 1BB condition. Table 3 shows the classification results as well as the effectiveness percentage of the proposed methodology. The testing set composed by 100 real trials, 20 for each induction motor condition, is classified by the proposal as follows: of the 20 actual HLT conditions, the system classifies 20 HLT conditions; therefore, it has an effectiveness of 100%. On the other hand, of the 20 1BB conditions, the system classifies one as HLT, 18 as 1BB, and one as 2BB; therefore, The Scientific World Journal    it has an effectiveness of 90%. All correct classifications are located in the diagonal of Table 3 (highlighted in bold). Particularly, Figure 16 shows the results of the EMD hardware implementation for the HLT and 2BB conditions. Table 4 summarizes the hardware implementation resources for the proposed methodology. The number of clock cycles taken for the main structures to perform their computation is also presented, where it is important to notice that the number of cycles shown for the EMD is the average of the tests, since the duration of the EMD depends on the signal complexity. The used platform is a proprietary board, based on the Spartan 3E XCS1600 FPGA running at 48 MHz.
Time-computation performance of the EMD implementation can be estimated by the number of clock cycles required to compute a full input data set with samples. In this design for calculating an envelope, the spline-cubic algorithm needs that the data set is fully acquired and then calculates the points of the envelope.

Analysis and Discussion.
The results show that the hardware implementation of the proposed methodology has 100% effectiveness in detecting the HLT, BD, UNB, and 2BB conditions. For the 1BB condition, the percentage of a correct identification is 90% where two results are mistaken with HLT and 2BB conditions. The low values for the standard deviation and the peak relative errors of the results presented in Table 2 show the feasibility of the proposed FPGA implementation, considering a fixed-point arithmetic approach in the digital structure.
The resource usage presented in Table 4 shows the viability of implementing the EMD, ADALINE, and FFNN structures as well as their fusion in a low-cost SoC solution for induction motor diagnosis. Besides, the FPGA-based proposed methodology takes 1,069,141 clock cycles, equivalent to 22.27 ms at 48 MHz, for estimating the induction motor condition, which outperforms, by one order of magnitude, the Matlab implementation that takes 815.53 ms on a 2.2 GHz Intel Core i7 processor. Another important characteristic is that the proposed EMD digital structure can support sampling rates of up to 857 kHz, implying the potential of further hardware implementations for online applications like biosignal processing, power quality estimation, and acoustic and seismic analysis, whose signals work below this sampling rate. Table 5 shows a comparison of the main characteristics between the reported works in the literature and the one proposed here. Regarding the hardware implementation, most works are PC-based, which can compromise the online operation, and only this work and references [26,27] present a FPGA solution; yet, the proposal is able to process stationary and transient signals unlike the aforementioned works; in addition it does not need a previous design since EMD is an adaptive and unsupervised technique. Moreover, it has the option to send the data for PC after processing as done in other reported works and systems. On the other hand, the   number of faults that can be detected through the proposed methodology is greater than the other ones that also use the EMD technique.

Conclusions
This paper presents a new online novel digital structure to implement the EMD method in FPGA using the full splinecubic function and not just a linear approximation, taking into account that the spline-cubic function does not present the problem of high-frequency component rides, making it more suitable for time-frequency processing. This novel structure for the hardware computation of EMD method is combined with an ADALINE-based frequency estimator and an ANN classifier in the same FPGA to provide an intelligent methodology for online multiple fault diagnosis in induction motors. First, the startup transient current signal, which is non-stationary, is processed by the EMD in order to obtain the IMFs; then, the ADALINE estimates the magnitude of only four frequency components distributed symmetrically in a bandwidth estimated for the second, third, and fourth IMF. Finally, these frequency components are used as input features of an ANN classifier for the automatic diagnosis of motor faults such as: one (1BB) and two broken rotor bars (2BB), bearing defects (BD), and unbalance (UNB). Besides, the overall methodology implementation into an FPGA allows an online and real-time operation, thanks to its parallelism and high-performance capabilities as a systemon-a-chip (SoC) solution, unlike other works where results have to be interpreted offline by the user from the current or vibration signals.
On the other hand, the high precision and minimum resource usage of the proposed and developed digital structures make them attractive for many other applications, highlighting that the novel EMD digital structure uses the full spline-cubic function and not only a linear approximation, avoiding the presence of problems like high-frequency component rides, as cited in literature, making it more suitable for time-frequency processing of non-stationary signals in industrial applications.