# Fault-Diagnosis Method for Rotating Machinery Based on SVMD Entropy and Machine Learning
## 2 Signal-Decomposition Methods
### Successive Variational-Mode Decomposition (SVMD)  
SVMD is an efficient and fast signal-variational adaptive-decomposition method that extends variational-mode extraction (VME) [29]. VME is used to extract specific signal modes by approximating the center frequency of the intrinsic mode function. This new decomposition method extracts all modes in a continuous manner. Compared to VMD, this continuous method does not require mode-number information and is highly robust. The specific implementation of VME is as follows.  
1. Initialize \(\hat{u}_{d}^{1}\), \(\hat{\lambda}^{1}\), \(\hat{w}_{d}^{1}\) and \(n\) to 0.
2. \(n=n+1\); execute the entire loop.
3. Update all \(\hat{u}_{d}\), where \(w\geq 0\) based on \(\hat{u}_{d}^{n+1}(w)=\frac{\hat{f}(w)-a^{2}\left(w-w_{d}^{n+1}\right)^{4}\hat{ a}_{d}^{n}(w)+\frac{1(w)}{2}}{\left[1+2a^{2}\left(w-w_{d}^{n+1}\right)^{4} \right]\left[1+2a^{2}\left(w-w_{d}^{n}\right)^{2}\right]}\).
4. Update \(w_{d}\) based on \(w_{d}^{n+1}=\frac{\int_{0}^{\infty}w\left|\hat{u}_{d}^{n+1}(w)\right|^{2}dw}{ \int_{0}^{\infty}\left|\hat{u}_{d}^{n+1}(w)\right|^{2}dw}\).
5. Update \(\hat{\lambda}\), where all \(w\geq 0\) base on \(\hat{\lambda}^{n+1}=\hat{\lambda}^{n}+\tau\left[\frac{\hat{f}(w)-\hat{a}_{d}^{ n+1}(w)}{1+a_{n}^{2}\left(w-w_{d}^{n+1}\right)^{4}}\right]\).
6. Repeat steps (2)\(\sim\)(5) until the iteration-stop condition \(\frac{\left\|\hat{u}_{d}^{n+1}-\hat{a}_{d}^{n}\right\|_{2}^{2}}{\left\|\hat{u} _{d}^{n}\right\|_{2}^{2}}<\epsilon\) is satisfied; then end the whole loop and output the result. The specific implementation process of SVMD is as follows:  
1. Set parameters \(\alpha_{min}\), \(\alpha_{max}\), \(\epsilon_{1}\), \(\epsilon_{2}\), and \(\sigma^{2}\).
2. \(L\gets 0\), \(L=L+1\); execute the entire loop.
3. Set \(\hat{u}_{L}^{1}\), \(\hat{\lambda}^{1}\), \(n=0\), \(m=0\), and \(\alpha_{1}\leftarrow\alpha_{min}\), and \(w_{L}^{1}\) is initialized to 0 or a random value between 0 and \(\pi\).
4. \(m=m+1\); execute the first loop of the inner level.
5. \(n=n+1\); execute the second inner loop.
6. Update all \(\hat{u}_{L}\), where \(w\geq 0\) based on \(\hat{u}_{L}^{n+1}(w)=\frac{\hat{f}(w)+\left(w-w_{L}^{1}\right)^{4}\hat{a}_{d}^{ n}(w)+\frac{1(w)}{2}}{\left[1+a_{n}^{2}\left(w-w_{L}^{1}\right)^{4}\right] \left[1+2a_{m}\left(w-w_{L}^{1}\right)^{2}+\sum_{i=1}^{L-1}\frac{1}{a_{n}^{2} \left(w-w_{i}\right)^{4}}\right]}\).
7. Update \(w_{L}\) based on \(w_{L}^{n+1}=\frac{\int_{0}^{\infty}w\left|\hat{u}_{i}^{n+1}(w)\right|^{2}dw}{ \int_{0}^{\infty}\left|\hat{u}_{L}^{n+1}(w)\right|^{2}dw}\).
8. Update all \(\hat{\lambda}\), where \(w\geq 0\) based on \(\hat{\lambda}^{n+1}=\hat{\lambda}^{n}+\tau\Bigg{[}\hat{f}(w)-\left(\hat{a}_{L }^{n+1}(w)+\left[\frac{a_{m}^{2}(w-w_{L}^{n+1})^{4}\left(f(w)-\hat{a}_{l}^{n+ 1}(w)-\sum_{i=1}^{L-1}\hat{a}_{l}^{n+1}(w)+\frac{1(w)}{2}-\sum_{i=1}^{L-1}\hat {a}_{l}(w)}{1+a_{m}^{2}\left(w-w_{L}^{n+1}\right)^{4}}\right]+\sum_{i=1}^{L-1} \hat{a}_{l}^{n+1}(w)\right)\Bigg{]}\).
9. Repeat steps (5)\(\sim\)(8) until the iteration-stop condition \(\frac{\left\|\hat{a}_{l}^{n+1}-\hat{a}_{l}^{n}\right\|_{2}^{2}}{\left\|\hat{a} _{l}^{n}\right\|_{2}^{2}}<\epsilon_{1}\) is satisfied and end the second loop in the inner layer.
10. Set \(\hat{u}_{L}^{1}\), \(\hat{\lambda}^{1}\), \(n=0\), \(w_{L}^{1}=w_{L}^{n+1}\), and \(\alpha_{m+1}=2\alpha_{m}\); repeat step (4)\(\sim\)(9) until \(\alpha_{m+1}\leq\alpha_{max}\) is satisfied; and end the first loop of the inner layer.
11. Repeat steps (2)\(\sim\)(10) until \(\left|\sigma^{2}-\frac{1}{T}\right\|(f(t)-\sum_{i=1:L}u_{i}(t))\left\|_{2}^{2} \right|/\sigma^{2}<\epsilon_{2}\) is satisfied, end the whole loop, and output the result.