Guaranteed same filter order?

Does anyone know if the various filter design methods of the dsp::IIR::Coefficients template can guarantee the same filter order between successive designs? Or do these methods attempt to design the minimum order filter with the given design parameters? For example, I have some plugins that modulate filter coefficients with LFOs and want to ensure that the number of taps stays consistent between filter designs.

makeLowPass(), makeHighPass(), etc. are second order filters while makeFirstOrderLowPass(), makeFirstOrderHighPass() etc. are first order.

AFAIK JUCE doesn’t have any higher order filters since they can be made by cascading lower order filters.

AFAIK JUCE doesn’t have any higher order filters since they can be made by cascading lower order filters.

The design equations for higher orders have to be different to keep the same design parameters. IE an 8th order BPF can’t be made by cascading four 2nd order BPFs with the same center frequency and bandwidth parameters.

The centre frequencies should stay the same, but the q/bandwidth parameter should be changed.

Ear Level has a great page about calculating q values for cascaded filters:
http://www.earlevel.com/main/2016/09/29/cascading-filters/

Edit:
I’m not 100% sure how this works for bandpass/bandstop filters since I always just use a LPF and HPF in series/parallel. I guess for band filters maybe you would need to change the center frequencies to be able to change the bandwidth…

2 Likes

The documentation isn’t clear about this so thanks for the clarification.

1 Like