Python-Adaptive-Signal-Processing-Handbook
Python-Adaptive-Signal-Processing-Handbook copied to clipboard
Adaptive noise cancellation using reference signal
Hi, Thanks for the wonderful repo. Could you please tell me how we can perform the Adaptive noise cancellation using a reference signal (reference noise signal)?
The example you provided here only makes use of the past value of the signal. Can we adjust it to make use of the reference signal to update the filter coefficients?
Please elaborate. Do you mean the case where you can measure some global noise - for example with second sensor next to your measured process? Can you reference some paper/tutorial/blog post where this situation is presented?
Thanks for the quick reply. Here is the paper (link) that uses Acceleration data as a reference signal to remove the noise from PPG sensor.
The workflow of ANC (from the above paper) is shown below

I was working on similar problem recently with no success. So I will gladly investigate the paper. Be patient, I will try to process the topic.
Hi,
Is there any progress ? we are facing the same issue!
this is the paper which describe such a method:
https://www.diva-portal.org/smash/get/diva2:1456739/FULLTEXT01.pdf ( chapter 2.3.1)

In case it helps, here is another one ( much clearer one) with Matlab code: https://arajhans.github.io/files/papers/GuptaJR_ESE531Report06.pdf
another Matlab code: https://github.com/ADataDate/Acoustic_Noise_Cancellation
P.S: they have different variable names ( d - signal , v1- noise , v2-noise_reference, x- observation)
Hi,
Thanks for your recommendations. I have actually implemented the LMS filter from the first link in python. There is not much progress (the error is reduced by only 25%). I am yet to try NLMS and RLS filters from the same paper.
Thanks a lot for your comments.