Numeric filter synthesis : Remove 50Hz frequency from a microphone signal

ThomasT

New Member
Good morning,

I encounter the following problem (In my job) :

Using a microcontroller, I digitalize a signal coming from a microphone at a sampling frequency of 16KHz. (This signal goes through a hardware preampli). I get a buffer containing 250 samples.

An algorithm computes statistics on this buffer, but this one is disturbed due to the presence of a 50Hz (Or 60Hz depending on the country) frequency coming from surrounding power supplies mixed with the signal recorded by the microphone.

I would like to realize a numeric filter on this buffer in order to remove this 50Hz frequency (Or 60Hz). I studied numeric filtering 15 years ago, I remember that we managed to synthesize RIF filter using Matlab (Choosing Window, filter order an so on ...).

Now, I do not remember the method, I do not remember how to obtain the coefficients and how to implement the filter practically...

Does anyone knows how to do it please ? Does anyone could explain me the mthod in detail, how to obtain the coefficients and how to implement it ?

If anyone has knowledge on numeric filtering, thank you by advance for your help on the subject.

I wish you a good day.
Best regards,

Thomas
 
Notch Filter

Do you have any special requirements line linear phase ?

Estimate how many db of rejection you need ?

Can you consider solution at analog side. Problem is your sampling frequency
means algorithm has to manage multiples of 16 Khz, say 3X, to handle the
math involved. Whereas 59 Hz notch, OpAmp, simple to do at input.
 
Last edited:
One of the problems of mains noise is that can be high-frequency spikes repeated at 50, 60, 100 or 120 Hz. Low pass or notch filters won't remove that.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…