I was reading some of papers about the Active Noise Cancellation; in particular about the Filtered-x LMS algorithm, also known as FxLMS.

It seems that classic FxLMS (also called Feedforward FxLMS) algorithm is suitable to cancel broadband noise (white noise), while its Feedback version (the Feedback FxLMS, also abbreviated to FB-FxLMS) is suitable to cancel a narrowband noise (like sinusoid + white noise), but not a broadband noise.

I read that this is due to the fact that the Feedforward FxLMS has the primary noise provided as reference signal, while the FB-FxLMS has not the reference signal initially available, but it needs to estimate it (using the error signal). And this estimation process is possible only if the primary noise has a predictable nature, so it can't be a white noise.

Is there someone (maybe who has already worked with the Feedback FxLMS algorithm) who can confirm this property of the Feedback FxLMS?

PS: As requested in the comments, here are the block diagrams of the two algorithms:

  • FxLMS block diagram:

FxLMS block diagram

  • Feedback FxLMS block diagram

Feedback FxLMS algorithm

  • $\begingroup$ what's the "FX" stand for? $\endgroup$ Commented Mar 27, 2019 at 0:22
  • $\begingroup$ "Fx" stands for "Filtered-x". I'll change the title for clarity. The Filtered-x LMS (FxLMS) algorithm distinguishes from LMS, because weights (in the update equation) are updated not using input x[n] (as it happens in LMS), but using a filtered version of x[n], precisely x[n] filtered by S^(z). S^(z) is an estimate of the secondary path S(z). S(z) represents the transfer function of the channel from the loudspeaker (which is situated at the output of the adaptive filter W(z)) to the error microphone. $\endgroup$
    – rainbow
    Commented Mar 27, 2019 at 0:51
  • $\begingroup$ so then the LMS converges to an inverse to the filter of $x[n]$. does the unfiltered $x[n]$ (or a delayed version) become the "desired signal", what we used to call "$d[n]$"? $\endgroup$ Commented Mar 27, 2019 at 1:13
  • $\begingroup$ I'm not sure if I well understood your questions; I'll try to answer them. The adaptive filter $W(z)$ in LMS tends to be as close as possible to the primary path $P(z)$, while the adaptive filter in FxLMS aims to make the output of $S(z)$ equal to $d[n]$ (these signals are added up at the sum-node). E.g: In FxLMS, if $P(z)$ consists in a Dirac delta delayed of 128 samples, and $S(z)$ consists in a delta delayed of 65 samples, then $W(z)$ converges to a delta delayed of 62 samples. In both LMS and FxLMS, the desired response $d[n]$ is the result of $x[n]$ filtered by the primary path $P(z)$. $\endgroup$
    – rainbow
    Commented Mar 27, 2019 at 2:05
  • 1
    $\begingroup$ Ok, I've removed the links and I've added the two right pictures. Thanks for the advice ;) $\endgroup$
    – rainbow
    Commented Mar 27, 2019 at 20:57


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.