## Appendix A. Bearing Fault Simulation

%% Bearing fault simulation signal
% Parameter setting ===================================================
fr = 600; % Carrier signal
fd = 13; % discrete signal
ff = 10; % Characteristic frequency(Modulating signal)
a = 0.02; % Damping ratio
T = 1/ff; % Cyclic period
fs = 3e3; % Sampling rate
K = 50; % Number of impulse signal
t = 1/fs:1/fs:2; % Time
A=5; % Maximum amplitude
noise = 0.5;
%=====================================================================
for k = 0 : K-1
for i = 1 : length(t)
if t(i)-k*T>=0
x1(i) = A*exp(-a*2*pi*fr.*(t(i)-k*T));
x2(i) = sin(2*pi*fr.*(t(i)-k*T));
x3(i) = x1(i).*x2(i);
end;end;end
x5 = normrnd(0,noise,1,length(x3));
x4 = 2*sin(2*pi.*t.*fd);
vib = x3 + x4 + x5;
save(‘Simulation’,’vib’,’t’)

## Appendix B. Bearing Fault Diagnosis

1 %======================PROBLEM DEFINITION ===========================
2 rawData = load(‘Simulation’); % Data load
3 sampRate = 3e3; % Sampling rate (Hz)
4 rpm = 60; % Shaft rotating speed
5 bearFreq = [10]*rpm/60; % BPFO, BPFI, FTF, BSF
6 maxP = 300; % Maximum order of AR model
7 windLeng = [2^4 2^5 2^6 2^7]; % Window length of STFT
8 %==============Discrete signal separation (AR model) ==================
9 x=rawData.vib(:); N=length(x);
10 for p = 1 : maxP
11 if rem(p,50)==0; disp([‘p=‘ num2str(p)]); end
12 a = aryule(x,p); % aryule returns the AR model parameter, a(k)
13 X = zeros(N,p);
14 for i = 1 : p; X(i+1:end,i) = x(1:N-i); end
15 xp = -X*a(2:end)’;
16 e = x-xp;
17 tempKurt(p,1) = kurtosis(e(p+1:end));
18 end
19 optP = find(tempKurt==max(tempKurt)); %==== Optimum solution
20 optA = aryule(x,optP);
21 xp = filter([0 -optA(2:end)],1,x);
22 e = x(optP+1:end) - xp(optP+1:end); % residual signal
23 %============Demodulation band selection (STFT & SK) =================
24 Ne = length(e);
25 numFreq = max(windLeng)+1;
26 for i = 1 : length(windLeng)
27 windFunc = hann(windLeng(i )); %==== Short Time Fourier Transform
28 numOverlap = fix(windLeng(i)/2);
29 numWind = fix((Ne-numOverlap)/(windLeng(i)-numOverlap));
30 n = 1:windLeng(i);
31 STFT=zeros(numWind,numFreq);
32 for t = 1 : numWind
33 stft = fft(e(n).*windFunc, 2*(numFreq-1));
34 stft = abs(stft(1:numFreq))/windLeng(i)/sqrt(mean(windFunc.^2))*2;
35 STFT(t,:) = stft’;
36 n = n + (windLeng(i)-numOverlap);
37 end
38 for j = 1 : numFreq %==== Spectral Kurtosis
39 specKurt(i,j) = mean(abs(STFT(:,j)).^4)./mean(abs(STFT(:,j)).^2).^2-2;
40 end
41 lgd{i} = [‘window size = ‘,num2str(windLeng(i))];
42 end
43 figure(1) %==== Results
44 freq = (0:numFreq-1)/(2*(numFreq-1))*sampRate;
45 plot(freq,specKurt); legend(lgd,’location’,’best’)
46 xlabel(‘Frequency[Hz]’); ylabel(‘Spectral kurtosis’); xlim([0 sampRate/2]);
47 [freqRang] = input(‘Range of bandpass filtering, [freq1,freq2] = ‘);
48 [b,a] = butter(2,[freqRang(1) freqRang(2)]/(sampRate/2),’bandpass’);
49 X = filter(b,a,e); % band-passed signal
50 %=======================Envelope analysis ============================
51 aX = hilbert(X); % hilbert(x) returns an analytic signal of x
52 envel = abs(aX);
53 envel=envel-mean(envel); % envelope signal
54 fftEnvel = abs(fft(envel))/Ne*2;
55 fftEnvel = fftEnvel(1:ceil(N/2));
56 figure(2) %==== Result plot
57 freq = (0:Ne-1)/Ne*sampRate;
58 freq = freq(1:ceil(N/2));
59 stem(freq,fftEnvel,’LineWidth’,1.5); hold on;
60 [xx,yy]=meshgrid(bearFreq,ylim);
61 plot(xx(:,1),yy(:,1),’*-’)
62 % ,xx(:,2),yy(:,2),’x-’,xx(:,3),yy(:,3),’d-’,xx(:,4),yy(:,4),’^-’)
63 legend(‘Envelope spectrum’,’BPFO’,’BPFI’,’FTF’,’BSF’);
64 xlabel(‘Frequency [Hz]’); ylabel(‘Amplitude [g]’); xlim([0 max(bearFreq)*1.8])

**Figure 1.**
Bearing geometry and impact signal.

**Figure 1.**
Bearing geometry and impact signal.

**Figure 2.**
Amplitude modulation and envelope signal: (**a**) modulating signal, (**b**) carrier signal, (**c**) AM signal, (**d**) envelope signal, in the time domain; (**e**) modulating signal, (**f**) carrier signal, (**g**) AM signal, (**h**) envelope signal, in the frequency domain.

**Figure 2.**
Amplitude modulation and envelope signal: (**a**) modulating signal, (**b**) carrier signal, (**c**) AM signal, (**d**) envelope signal, in the time domain; (**e**) modulating signal, (**f**) carrier signal, (**g**) AM signal, (**h**) envelope signal, in the frequency domain.

**Figure 3.**
Modulation of simulation fault signal: (**a**) fault signal, (**b**) resonance signal, (**c**) AM signal, in the time domain; (**d**) fault signal, (**e**) resonance signal, (**f**) AM signal, in the frequency domain.

**Figure 3.**
Modulation of simulation fault signal: (**a**) fault signal, (**b**) resonance signal, (**c**) AM signal, in the time domain; (**d**) fault signal, (**e**) resonance signal, (**f**) AM signal, in the frequency domain.

**Figure 4.**
Simulation of bearing fault signal: (**a**) discrete signal, (**b**) white noise, (**c**) raw signal, in the time domain; (**d**) discrete signal, (**e**) white noise, (**f**) raw signal, in the frequency domain.

**Figure 4.**
Simulation of bearing fault signal: (**a**) discrete signal, (**b**) white noise, (**c**) raw signal, in the time domain; (**d**) discrete signal, (**e**) white noise, (**f**) raw signal, in the frequency domain.

**Figure 5.**
Procedure for bearing fault diagnosis.

**Figure 5.**
Procedure for bearing fault diagnosis.

**Figure 6.**
Flow chart on how the residual signals are obtained.

**Figure 6.**
Flow chart on how the residual signals are obtained.

**Figure 7.**
Kurtosis variation in terms of model order and corresponding signals: (**a**) model order selection based on maximum kurtosis, (**b**) residual signal for p = 82, and (**c**) raw signal.

**Figure 7.**
Kurtosis variation in terms of model order and corresponding signals: (**a**) model order selection based on maximum kurtosis, (**b**) residual signal for p = 82, and (**c**) raw signal.

**Figure 8.**
Concept of STFT.

**Figure 8.**
Concept of STFT.

**Figure 9.**
Results of STFT and SK: (**a**) STFT S(t, f) and (**b**) SK K(f).

**Figure 9.**
Results of STFT and SK: (**a**) STFT S(t, f) and (**b**) SK K(f).

**Figure 10.**
Demodulation band selection: (**a**) spectral kurtosis for different window lengths, (**b**) frequency band selection input in MATLAB, and (**c**) vibration signal after band-pass filtering.

**Figure 10.**
Demodulation band selection: (**a**) spectral kurtosis for different window lengths, (**b**) frequency band selection input in MATLAB, and (**c**) vibration signal after band-pass filtering.

**Figure 11.**
Result of envelope analysis: envelope signal in (**a**) time domain (**b**) frequency domain of faulty bearing, in (**c**) time domain and (**d**) frequency domain of normal bearing.

**Figure 11.**
Result of envelope analysis: envelope signal in (**a**) time domain (**b**) frequency domain of faulty bearing, in (**c**) time domain and (**d**) frequency domain of normal bearing.

**Figure 12.**
Korea Aerospace University (KAU) bearing test rig.

**Figure 12.**
Korea Aerospace University (KAU) bearing test rig.

**Figure 13.**
Raw vibration signals (bearing 1).

**Figure 13.**
Raw vibration signals (bearing 1).

**Figure 14.**
Residual signal after the AR filtering.

**Figure 14.**
Residual signal after the AR filtering.

**Figure 15.**
Demodulation band selection for data of bearing 1: (**a**) spectral kurtosis, and (**b**) vibration signal after band-pass filtering.

**Figure 15.**
Demodulation band selection for data of bearing 1: (**a**) spectral kurtosis, and (**b**) vibration signal after band-pass filtering.

**Figure 16.**
Frequency domain of envelope analysis.

**Figure 16.**
Frequency domain of envelope analysis.

**Figure 17.**
Results obtained from the code: CWRU bearing data (bearing280.mat) (**a**) Spectral kurtosis for bearing 270, and (**b**) Envelope spectrum after SK filtering.

**Figure 17.**
Results obtained from the code: CWRU bearing data (bearing280.mat) (**a**) Spectral kurtosis for bearing 270, and (**b**) Envelope spectrum after SK filtering.

**Figure 18.**
Envelope spectrum reflecting the raw and AR filtered signals: (**a**) envelope spectrum of the raw signal, and (**b**) envelope spectrum after AR filter.

**Figure 18.**
Envelope spectrum reflecting the raw and AR filtered signals: (**a**) envelope spectrum of the raw signal, and (**b**) envelope spectrum after AR filter.

**Table 1.**
Bearing dimensions.

**Table 1.**
Bearing dimensions.

Parameter Name | Value | Parameter Name | Value |
---|

Bearing type | NJ 2306 | Width (w) | 27 mm |

Inner diameter (id) | 30 mm | Dynamic load rating | 51,500 N |

Outer diameter (od) | 72 mm | Static load rating | 51,000 N |

Number of rollers (n) | 11 | | |

**Table 2.**
Operating conditions.

**Table 2.**
Operating conditions.

Data Name | RPM | LOAD |
---|

bearing 1 | 1200 rpm | 0 N |

bearing 2 | 1200 rpm | 200 N |

bearing 3 | 1000 rpm | 0 N |

bearing 4 | 1000 rpm | 200 N |

**Table 3.**
Bearing fault frequencies.

**Table 3.**
Bearing fault frequencies.

Frequency Name | Value | Frequency Name | Value |
---|

BPFO | $4.4423\times {f}_{r}$ | FTF | $0.4038\times {\mathrm{f}}_{\mathrm{r}}$ |

BPFI | $6.5577\times {f}_{r}$ | BSF | $5.0079\times {\mathrm{f}}_{\mathrm{r}}$ |

**Table 4.**
Bearing information.

**Table 4.**
Bearing information.

Parameter Name | Value | Parameter Name | Value |
---|

Pitch diameter (D) | 1.122 inch | BPFO | 3.0530${f}_{r}$ |

Ball diameter (d) | 0.2656 inch | BPFI | 4.9469${f}_{r}$ |

Number of rolling element (n) | 13 | FTF | 0.3817${f}_{r}$ |

Contact angle ($\mathsf{\alpha}$) | 0 | BSF | 1.994${f}_{r}$ |

**Table 5.**
Open Data for Fault Diagnosis and Prognosis of Bearings.

**Table 5.**
Open Data for Fault Diagnosis and Prognosis of Bearings.

Data Set Name | Diagnosis | Prognosis | Failure Type | Operating Condition |
---|

**FEMTO** [38] | X | O | Natural | Different load and speed |

**MFPT** [39] | O | X | Artificial | Different load |

**IMS** [40] | X | O | Natural | Single condition |

**WT** [41] | X | O | Natural | Single Condition |

**Paderborn** [42] | O | X | Artificial, Natural | Different operating condition |