## 2 The Basic Theory  
### MCKD Algorithm  
MCKD encourages the periodicity of the periodic impacts or impulse-like vibration behaviors by selecting a finite impulse response (FIR) filter to maximize the CK of the filtered signal [44]. For an arbitrary collected vibration signal \(x(n)\), which is caused by the bearing fault impulses \(y(n)\), a reverse FIR filter \(f\) is needed to obtain \(y(n)\) from \(x(n)\).  
\[y(n)=\sum\limits_{k=1}^{L}f(k)x(n-k+1) \tag{1}\]  
where \(k=1,2\cdots,n\), and \(L\) is the length of the filter \(f\).  
The MCKD is used to search a reverse FIR filter \(f\) by maximizing the CK of the impulses \(y(n)\). The CK is defined as:  
\[\text{CK}_{M}(T)=\frac{\sum\limits_{n=1}^{N}\left(\prod\limits_{m=0}^{M}y_{n- mT}\right)^{2}}{\left(\sum\limits_{n=1}^{N}y_{n}^{2}\right)^{M+1}} \tag{2}\]  
where \(T\) is the period of impulses and \(M\) is the shift number.  
The optimization function of MCKD is expressed as:  
\[\underset{f}{\text{max}}\text{CK}_{M}(T)=\underset{f}{\text{max}}\frac{\sum \limits_{n=1}^{N}\left(\prod\limits_{m=0}^{M}y_{n- mT}\right)^{2}}{\left(\sum\limits_{n=1}^{N}y_{n}^{2}\right)^{M+1}} \tag{3}\]  
Apparently, the optimization function is used to find the optimal filter coefficients corresponding to the maximum of \(CK_{M}(T)\). Namely,  
\[\frac{d}{df_{k}}CK_{M}(T)=0,(k=1,2\cdots L) \tag{4}\]By solving Equation (4), the filter coefficients are finally expressed as follows,  
\[f=\frac{\left\|y\right\|^{2}}{2\left\|\beta\right\|^{2}}\Big{(}X_{0}X_{0}^{T} \Big{)}^{-1}\sum_{m=0}^{M}\left(X_{mT}\alpha_{m}\right) \tag{5}\]  
where  
\[\mathbf{X}_{mT}=\left[\begin{array}{cccc}x_{1-mT}&x_{2-mT}&x_{3-mT}&\cdots&x_{N-mT }\\ 0&x_{1-mT}&x_{2-mT}&\cdots&x_{N-1-mT}\\ 0&0&x_{1-mT}&\cdots&x_{N-2-mT}\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ 0&0&0&\cdots&x_{N-L-mT+1}\end{array}\right]_{L\times N} \tag{6}\]  
\[\mathbf{\alpha}_{m}=\left[\begin{array}{c}y_{1-mT}^{-1}\Big{[}y_{1-T}^{2}y_{1-T }^{2}\cdots y_{1-mT}^{2}\Big{]}\\ y_{2-mT}^{-1}\Big{[}y_{2}^{2}y_{2-T}^{2}\cdots y_{2-mT}^{2}\Big{]}\\ \vdots\\ y_{N-mT}^{-1}\Big{[}y_{N}^{2}y_{N-T}^{2}\cdots y_{N-mT}^{2}\Big{]}\end{array}\right] \tag{7}\]  
\[\mathbf{\beta}=\left[\begin{array}{c}y_{1}y_{1-T}\cdots y_{1-mT}\\ y_{2}y_{2-T}\cdots y_{2-mT}\\ \vdots\\ y_{N}y_{N-T}\cdots y_{N-mT}\end{array}\right] \tag{8}\]  
Equation (5) is nonlinear and can be solved iteratively through the following procedures.  
1. Set the period of deconvolution \(T\), the number of shift \(M\), and the maximum iteration number \(n\);
2. Compute \(\mathbf{X}_{0}\), \(\mathbf{X}_{0}^{T}\), and \(\mathbf{X}_{mT}\) by using the acquired signal \(x\);
3. Initiate the filter coefficients \(f\) with \(L\) samples; Generally, the initial filter coefficients equals \(\left[\begin{array}{cccccc}0&0&\cdots&1&-1&0&0\\ \end{array}\right]^{T}\) to prevent the MCKD algorithm from converging to the local solution. The difference is in the center.
4. Calculate the output signal by Equation (1);
5. Compute \(\mathbf{\alpha}_{m}\) and \(\mathbf{\beta}\) based on signal \(y\);
6. Update the filter coefficient \(f\) by Equation (5);
7. Determine whether the difference between iterations (\(\Delta CK_{M}(T)\)) is less than the given threshold. If this criterion is satisfied or the iteration equals \(n\), then terminate the iteration progress; otherwise, the process is reverted back to Step 4;
8. Once the optimal filter coefficients \(f\) is obtained, the final output signal can be calculated using Equation (1).  
For simplification, the derivation is not given here. However, the detailed derivations can be referred to in a previous study [44].