Hi,
trying to compare IIR filter of JUCE vs the one by Nigel (i.e. earlevel implementation ).
Peak filter.
JUCE with q = 1.0, peak = juce::Decibels::decibelsToGain(40.0):
They looks pretty the same. But when I reduce the gain (value 21.5, same q) here’s the result:
Very different, keeping the same q.
Both use Transposed Direct Form II, so I don’t understand where is the difference.
Can you help me to understand why they differs changing the gain, using the same form?
Thanks
There are a couple of different typical design methods for peak EQs that differ in how the actual Q of the filter scales with gain.
There’s basically three types (omitting the asymmetrical flavor for simplicity):
“Engineering Q”: Q factor is constant, leading to a constant “bandwidth” around the peak
“Proportional Q”: Q factor increases proportionally with gain, leading to a constant BW around the “skirt”
“Hybrid”: a mixture of both, where Q factor increases with half gain
The first one looks like engineering Q, the second one is likely proportional Q.
Edit: there’s a nice overview in the Sonnox Oxford EQ manual:
https://dload.sonnoxplugins.com/pub/plugins/UserGuides/Oxford%20EQ%20User%20Guide.html
1 Like
First one is JUCE, the later is Nigel.
I see, so its a different method on Peak, even if they are on the same form.
I don’t think I can compensate with q, its just a different beast, that need to be re-implemented (in case you prefer one instead of the other).
Right?
djb-2
January 13, 2023, 9:02pm
4
Here’s a good read to understand the differences in definition of Q:
In addition, all of these designs will suffer from cramping at high frequencies as a result of the use of the bilinear transform; if you are serious about IIR EQs that’s another thing to look at.
And lastly; be aware that changing IIR filter coefficients over time can cause unstable filters. There are various papers around that describe under what conditions this happens.
Derozer:
First one is JUCE, the later is Nigel.
I see, so its a different method on Peak, even if they are on the same form.
EDIT: First one is Nigel, the later is JUCE