Go Down

Topic: lowpass filter 315Hz / 12dB octave (Read 109 times) previous topic - next topic

classic

I am looking for a library / sketch for a lowpass filter.

The frequency 315Hz (3 dB ) and 12 dB / octave.

The filter will be used in an audio test equipment - testing rumble in record players.
I have really tried to search (Google ofcourse) - all I can find is noise reduction filters.
I hope for some help here.

Perhaps someone who allready have been designing audio filters.



( Obviously I cannot attached a sketch -since I have no solution so far )

PieterP

Why do you want to do it digitally? Wouldn't a second order analog filter be more suitable?

If you prefer to do it digitally, you'll need quite a powerful microcontroller, that can sample and fo MAC operations really quickly. You'll also need a strong anti-aliasing filter.

If you really want to do it using digital filters, you could use this filter library I wrote.
An 8th order IIR filter at 360 samples/second uses around 16% of the CPU of an UNO, IIRC.

Pieter

classic

#2
Jul 11, 2018, 03:34 pm Last Edit: Jul 11, 2018, 05:06 pm by classic Reason: Clarifying the actual filter configurations
I allready designed the testequipment with analog filters.
This works really great.

I would like "the challange" of implementing the filter digitally in an Arduino design.

Thanks for the link - I will have a look and see if I my knowledge is sufficient for challange.
(I am not sure I fully understand the design of digital filters)

However the filters actually must be like this:

Lowpass filter 12dB/octave - 315Hz
Highpass filter 6dB/octave - 10Hz

and

Highpass filter 12dB/octave - 315Hz
Lowpass filter 12dB/octave - 315Hz

all according to DIN 45544 (the old standard for turntable rumble messurements)

DVDdoug

I don't have a feel for how much processing power is needed.    About the only Arduino audio processing projects I see are FFT based spectrum analyzer effects.  But, these are effects...  Nothing like a real spectrum analyzer instrument.        

- You need an analog anti-aliasing filter before the signal is sampled because the aliasing occurs when the signal is sampled.

- The Arduino has a 10-bit ADC and that's a 60dB of dynamic range.  Probably not enough.


Quote
Highpass filter 6dB/octave - 10Hz
According to the ATmega datasheet the ADC looses accuracy above 15kHz (sample rate) which means you can't read signals above 7.5kHz accurately.


Quote
I would like "the challange" of implementing the filter digitally in an Arduino design.

Thanks for the link - I will have a look and see if I my knowledge is sufficient for challange.
(I am not sure I fully understand the design of digital filters)
There is a free online DSP book.  (It's a general book, not specific to any processor, computer or programming language.)

   

Grumpy_Mike

#4
Jul 11, 2018, 10:44 pm Last Edit: Jul 11, 2018, 10:45 pm by Grumpy_Mike

Go Up