From: An overview on optimized NLMS algorithms for acoustic echo cancellation
Initialization: | |
\(\widehat {\mathbf {h}}(0)=\mathbf {0}_{L \times 1} \) | |
\(\widehat {\sigma }_{e}^{2}(0) = 0 \) | |
Parameters: | |
\(\lambda = 1 - \frac {1}{KL},\) weighting factor with K>1 | |
\({\sigma _{v}^{2}},\) noise power known or estimated | |
δ>0, regularization | |
ζ>0, very small number to avoid division by zero | |
For time index n=1,2,…: | |
\(e(n) = d(n) - \mathbf {x}^{T}(n) \widehat {\mathbf {h}}(n-1) \) | |
\(\widehat {\sigma }_{e}^{2}(n) = \lambda \widehat {\sigma }_{e}^{2}(n-1) + (1-\lambda) e^{2}(n) \) | |
\(\alpha _{\text {NPVSS}}(n) =1- \frac {\sigma _{v} }{ \zeta + \widehat {\sigma }_{e}(n)} \) | |
\(\mu _{\text {NPVSS}}(n) = \left \{ \begin {array}{lll} \alpha _{\text {NPVSS}}(n) \left [ \delta + \mathbf {x}^{T}(n) \mathbf {x}(n) \right ]^{-1}, & \text {if} \ \alpha _{\text {NPVSS}}(n) > 0 \\ \\ ~~~~~~0, & \text {otherwise} \end {array}\right.\) | |
\(\widehat {\mathbf {h}}(n) = \widehat {\mathbf {h}}(n-1) + \mu _{\text {NPVSS}}(n) \mathbf {x}(n) e(n)\) |