Do you know guy can find some filters?

Could you replace “order” with the number of samples in a delay line? Then offset the num and den calculations to start 1 after the size of the delay line.

A bulk delay of M samples is equivalent to multiplying the formula by z^-M. So it only factors into the phase response of the system (in other words a delay has no effect on magnitude response). You can ignore it when computing a delay + a filter.

The “order” of a filter is also equal to the maximum number of delays required to evaluate it.

I guess if thats the case it’s possible with smaller delay lines. But I can’t see that being practical with anything larger than 2048…

Most IIR filters are split into “second order sections” (stages of order 2) due to their numerical stability and ease of guaranteeing stability - 2048th order IIRs are not something you would see…

You only see very high orders in FIR filters, in which case you can just compute the frequency response by taking the FFT of the filter coefficients. Except at perhaps low-ish orders where computing the DTFT (this formula) directly is faster. The divide depends on context, it’s usually between 64 and 128 on modern hardware.

It’s also fairly straightforward to compute the frequency response of cascaded SoS with SIMD by exploiting the fact that filtering is distributive (compute the frequency response of individual stages in parallel, then just multiply them all).

There’s probably an upper limit where computing the impulse response + FFT is cheaper than using the DTFT for IIRs but I doubt its small.