Python-Adaptive-Signal-Processing-Handbook icon indicating copy to clipboard operation
Python-Adaptive-Signal-Processing-Handbook copied to clipboard

Adaptive noise cancellation using reference signal

Open veeresh-dammur opened this issue 4 years ago • 5 comments

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?

veeresh-dammur avatar May 18 '21 15:05 veeresh-dammur

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?

matousc89 avatar May 18 '21 15:05 matousc89

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 image

veeresh-dammur avatar May 18 '21 16:05 veeresh-dammur

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.

matousc89 avatar May 18 '21 16:05 matousc89

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) image

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)

rabeas007 avatar Jun 08 '21 13:06 rabeas007

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.

veeresh-dammur avatar Jun 08 '21 13:06 veeresh-dammur