## 2 Basic Theory  
### Acmd  
ACMD was proposed by [PERSON] on the basis of VNCMD, and they used a matching pursuit algorithm in the greedy algorithm to adaptively estimate each signal. The i-th signal should be defined as follows:  
\[ \begin{array}{c}\min_{a_{i}(t),b_{i}(t),\widetilde{f_{i}(t)}}\left\{\|a^{ \prime\prime}\,_{i}(t)\|_{2}^{2}+\|b^{\prime\prime}\,_{i}(t)\|_{2}^{2}+\alpha \|\text{s}(t)-s_{i}(t)\|_{2}^{2}\right\}\\ \text{with }\text{s}_{i}(t)=a_{i}(t)\cos\left(2\pi\int_{0}^{t}\widetilde{f_{i}}( \tau)d\tau\right)+b_{i}(t)\sin\left(2\pi\int_{0}^{t}\widetilde{f_{i}}(\tau)d \tau\right)\end{array}  \tag{1}\]  
where \(\|\text{s}(t)-s_{i}(t)\|_{2}^{2}\) is the residual signal from which the current component signal is removed, and \(\alpha>0\) is the weight of the coefficient. Like matching pursuit, ACMD greedily looks for signal components that extract the most energy from the input signal. Assuming that the signal is discrete in time \(t=t_{0},\cdots,t_{N-1}\) series, the discrete expression of Equation (1) is as follows:  
\[\min_{\mathbf{u}_{i},\mathbf{f}_{i}}\left\{\|\mathbf{\Theta}\mathbf{u}_{i}\|_ {2}^{2}+\alpha\|\text{s-G}_{i}\mathbf{u}_{i}\|_{2}^{2}\right\} \tag{2}\]  
where \(\mathbf{\Theta}=\left[ \begin{array}{cc}\Omega&\\ &\Omega\end{array} \right]\) and \(\mathbf{\Omega}\) denotes the second-order difference matrix; \(\mathbf{s}=\left[s_{i}(t_{0}),\cdots,s_{i}(t_{N-1})\right]^{T}\), \(\mathbf{a}_{i}=\left[a_{i}(t_{0}),\cdots,a_{i}(t_{N-1})\right]^{T}\), \(\mathbf{b}_{i}=\left[b_{i}(t_{0}),\cdots,b_{i}(t_{N-1})\right]^{T}\), and \(\mathbf{u}_{i}=\left[\mathbf{a}_{i}^{T},\mathbf{b}_{i}^{T}\right]^{T}\). \[\mathbf{G}_{i}=\left[\mathbf{G}_{i},\mathbf{S}_{i}\right] \tag{3}\]  
\[\mathbf{C}_{i}=diag[\cos(\varphi_{i}(t_{0})),\cdots,\cos(\varphi_{i}(t_{N-1}))] \tag{4}\]  
\[\mathbf{S}_{i}=diag[\sin(\varphi_{i}(t_{0})),\cdots,\sin(\varphi_{i}(t_{N-1}))] \tag{5}\]  
where \(\varphi_{i}(t)=2\pi\int_{0}^{t}\widetilde{f_{i}}(\tau)d\tau\). Equation (2) gives a matrix \(\mathbf{G}_{i}\). The vector \(\mathbf{u}_{i}\) can be estimated by solving the \(l_{2}\) normalized least-squares problem. On the other hand, the phase function of the demodulation function contains information on the frequency function. The optimization problem of Equation (2) can be solved by an iterative algorithm, which can update the demodulated signal and frequency function in turn. For the j-th iteration, the update of the vector \(\mathbf{u}_{i}\) is as follows:  
\[\mathbf{u}_{i}^{j}=\left[ \begin{array}{c}\mathbf{a}_{i}^{j}\\ \mathbf{b}_{i}^{j}\end{array} \right]=\underset{\mathbf{u}_{i}}{\text{argmin}} \left\{\|\mathbf{\Theta}\mathbf{u}_{i}\|_{2}^{2}+\alpha\|\mathbf{s}-\mathbf{G }_{i}^{j}\mathbf{u}_{i}\|_{2}^{2}\right\}=\left(\frac{1}{\alpha}\mathbf{\Theta }^{T}\mathbf{\Theta}+\left(\mathbf{G}_{i}^{j}\right)^{T}\mathbf{G}_{i}^{j} \right)^{-1}\!\left(\mathbf{G}_{i}^{j}\right)^{T}\!\mathbf{s} \tag{6}\]  
The frequency function \(\widetilde{f_{i}^{j}}(\tau)\) constructs \(\mathbf{G}_{i}^{j}\), and the superscript \({}^{j}\) indicates the number of iterations. In addition, the parameter \(\alpha\) controls the smoothness of the output signal. At this time, the method is a TF band-pass filter, and the bandwidth of the filter is determined by \(\alpha\). Too small an \(\alpha\) will cause the filter to have a narrow bandwidth (i.e., a smooth output signal). The signal components can be estimated as follows:  
\[\mathbf{s}_{i}^{j}=\mathbf{G}_{i}^{j}\mathbf{u}_{i}^{j} \tag{7}\]  
Employing the demodulated signal obtained in Equation (6), the frequency increase can be estimated as follows:  
\[\Delta\widetilde{f_{i}^{j}}(t)=-\frac{1}{2\pi}\frac{d}{dt}\!\left(\text{arctan }\!\left(\frac{b_{i}^{j}(t)}{a_{i}^{j}(t)}\right)\right)=\frac{b_{i}^{j}(t) \times\left(a_{i}^{j}(t)\right)^{\prime}-a_{i}^{j}(t)\times\left(b_{i}^{j}(t) \right)^{\prime}}{2\pi\!\left(\left(a_{i}^{j}(t)\right)^{2}+\left(b_{i}^{j}(t) \right)^{2}\right)} \tag{8}\]If is a smoothing function and the growth of frequency should be smooth enough.