Coefficients API and maximum IIR filter order


From juce_dsp/processors/juce_IIRFilter_Impl.h I see that IIR processing is written to work for pretty much any filter order. But IIR::Coefficients doesn’t have the same ability as FIR::Coefficients to accept an array of arbitrary size.

Isn’t this a contradiction?


Generally you decompose a high order IIR into cascaded biquads, so if anything there should be a static method that returns an array of Coefficient objects, or creates a ProcessChain of IIRs.


This is also off-topic from the api-implementation mismatch, but what’s the usage difference between a coefficient array and an array of coefficient structs?


No one? Wrong category, I guess.


As @Holy_City has said, it does not make sense to have more coefficients in an IIR filter as they will become unstable. You need to add several IIR filters in series or in parallel to achieve higher order filters.


Why is it implemented to support more?