1
$\begingroup$

I'm trying to process an audio stream through a series of peak filters at static frequencies that range from 0 to nyquist. If I start the range from anything below about 25Hz, the audio gets corrupted in some way (I haven't looked at the values yet, so I don't know what the corruption looks like) that results in no sound. But making the range ~25Hz to nyquist is fine. This happens even when all the filters are at zero gain.

Is anyone aware of theoretical problems with using a low frequency peak filter? Maybe it's a problem when its bandwidth might cross over 0Hz? (Do standard biquad equations address that possibility?)

$\endgroup$
  • 1
    $\begingroup$ Is this a floating point or fixed point processor? $\endgroup$ – Phonon Oct 14 '14 at 18:08
1
$\begingroup$

Looks a like a typical stability problem with the poles too close to the unit circle. A third octave wide parametric EQ filter at 25Hz sampled at 44.1kHz has a pole radius of > 0.999 so it's getting VERY close to the unit circle. The lower the frequency, the large the pole radius.The pole section alone has a peak gain for more than 110 dB !!!

With the poles so close to being unstable, you may run into all sorts of problem: numerical noise, noise amplification, coefficient rounding or truncation errors, filter topology (do NOT use Direct Form II or transposed Form I), etc.

$\endgroup$
1
$\begingroup$

The greater the ratio between the sampling rate and a computed IIR filter's transition band frequencies, the more sensitive do certain forms of the recursion equations become to numerical issues, such as precision, rounding and quantization noise. You may have reached a frequency ratio where your biquad's recursion computations round the resulting numbers to zero.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.