im capturing ultrasonic waves using an analog MEMS mic and other components on a PCB. My signal is similiar broadband and non-stationary (see 2) and im trying to remove/reduce environmental noise. I have seen this post, but according to my research, the preferred way to do this is using the (dicrete) wavelet transform (DWT). However, the studies i read don't explain HOW they implemented the DWT for signal denoising. Is there a good reference that explains how to do this in python?

Since im developing a system which must work online (e.g. in real-time) at industrial conditions, it is necessary to estimate the noise profile periodically (since machines can be turned on/off at different times). How can i achieve this?

  • $\begingroup$ Wdenoise is a matlab function that does this. Check the algorithms section. I'm sure there are plenty of python implementations if you search the web. As far as doing this in real-time, check this answer. $\endgroup$
    – Jdip
    Commented Jan 3 at 15:37
  • $\begingroup$ Alright, thanks. Do you also have a good example for spectral subtraction? You can post an answer so that i can accept it as solution. $\endgroup$
    – Tom
    Commented Jan 4 at 12:12
  • $\begingroup$ I’m not sure what you mean by an “example”. It’s a a little too general of a question. I suggest you look into it a little, and if you have a more specific question on spectral substruction, feel free to ask as a separate question and I’ll be glad to help :) $\endgroup$
    – Jdip
    Commented Jan 4 at 13:35


Your Answer

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

Browse other questions tagged or ask your own question.