## 2 Proposed Algorithms
### PFxNLMS with M-Estimate Function
\right) =\sum_{i=k+1}^{L}\frac{ip_{i}}{P_{1,k}}=\frac{m_{T}-m_{k}}{1-P_{k}}, \tag{23}\]  
where  
\[P_{k}=\sum_{i=1}^{k}p_{i} \tag{24}\]  
and  
\[m_{k}=\sum_{i=1}^{k}ip_{i} \tag{25}\]  
are the cumulative probability and the expectation of the histogram up to the \(k\)-th level, respectively. Define  
\[m_{T}=m_{k=L}=\sum_{i=1}^{L}ip_{i} \tag{26}\]  
as the total mean value of the full data in the sliding window. Equations (24)-(26) can also be expressed recursively in the following process. The input updating expressions are derived using Equations (27) and (28):  
\[P_{ki}=\left\{ \begin{array}{cc}P_{k}+\frac{1}{N_{w}},&if\ \ \left(\frac{k}{L}-\Phi_{1}\right)\leq 0\\ P_{k},&if\ \ \left(\frac{k}{L}-\Phi_{1}\right)>0\end{array} \right. \tag{27}\]  
\[m_{ki}=\left\{ \begin{array}{cc}m_{k}+\frac{\Phi_{1}}{N_{w}},&if\ \ \left(\frac{k}{L}-\Phi_{1}\right)\geq 0\\ m_{k},&if\ \ \left(\frac{k}{L}-\Phi_{1}\right)<0\end{array} \right.. \tag{28}\]  
The output updating equations are given by Equations (29)-(31):  
\[P_{k}=\left\{ \begin{array}{cc}P_{ki}-\frac{1}{N_{w}},&if\ \ \left(\frac{k}{L}-\Phi_{2} \right)\leq 0\\ P_{ki},&if\ \ \left(\frac{k}{L}-\Phi_{2}\right)>0\end{array} \right. \tag{29}\]  
\[m_{k}=\left\{ \begin{array}{cc}m_{ki}-\frac{\Phi_{2}}{N_{w}},&if\ \ \left(\frac{k}{L}-\Phi_{2}\right)\geq 0\\ m_{ki},&if\ \ \left(\frac{k}{L}-\Phi_{2}\right)<0\end{array} \right.. \tag{30}\]The optimal threshold of the \(k\)-th level is selected through a sequential search, using  
\[\sigma_{B,k}^{2}=\frac{\left(m_{T}m_{k}-P_{k}\right)^{2}}{m_{k}\left(1-m_{k} \right)} \tag{31}\]  
and the optimal threshold is derived as  
\[\sigma_{B,*}^{2}=\max_{1\leq k<L}\sigma_{B,k}^{2}. \tag{32}\]  
To change the states of adaptive filters between fast tracking mode and robust mode, in addition to the initiate impulsive threshold \(\sigma_{B,*}^{2}\), another threshold \(\gamma_{s}\) should also be introduced, given by  
\[\gamma_{s}=\tan\left(\theta\left(n\right)\right)\sigma_{\eta}\left(n\right) \tag{33}\]  
where the average angle is updating as  
\[\theta\left(n+1\right)=\zeta\theta\left(n\right)+\left(1-\zeta\right)\theta_{e }\left(n\right) \tag{34}\]  
where \(\zeta=0.999\), and \(\theta_{e}\left(n\right)\) is the feedback angle error for average threshold calculation, expressed as  
\[\theta_{e}\left(n\right)=\left\{ \begin{array}{cc}\arctan\left(\sqrt{\frac{ \eta^{2}\left(n\right)}{\sigma_{\eta}^{2}\left(n\right)}}\right)&if\ \ \Phi_{1}\geq\sigma_{B,*}^{2}\\ 0&else\end{array} \right. \tag{35}\]  
According to [15], the average power of input signal \(\sigma_{\eta}^{2}\) is updating as  
\[\sigma_{\eta}^{2}\left(n+1\right)=\sigma_{\eta}^{2}\left(n\right)+\frac{1}{N_ {w}}[\eta\left(n\right)]^{2}-\frac{1}{N_{w}}[\eta\left(n-N_{w}+1\right)]^{2} \tag{36}\]  
From the analysis above, the fast tracking mode and robust mode are selected as  
\[\left\{ \begin{array}{cc}if\ \ \Phi_{1}\geq\max\left[\sigma_{B,*}^{2}\gamma_{s} \right]&:\textbf{robust mode},\varepsilon\left(n\right)=1-\kappa\left(n\right) \\ else&:\textbf{fast tracking mode},\varepsilon\left(n\right)=\kappa\left(n \right)-1\end{array} \right. \tag{37}\]  
In fast tracking mode (\(\varepsilon\left(n\right)<0\)), the tracking performance of the proposed method could be enhanced, because the new weight vector works as a high-pass filter which enlarges the changing of weight vector of NLMS. In robust mode (\(0\leq\varepsilon\left(n\right)<1\)), the value of the input signal rises beyond the threshold in Equation (37) and the new weight vector acts like a low-pass filter, limiting heavy fluctuation of coefficients of weight vector. It means that if the burst extents of noise become unacceptable, the robust mode can restrain the updating process of the adaptive filter, stabilizing the performance.