I've recently been learning about VA filter modeling and zero delay filter implementations. There are a ton of awesome resources and forum posts on the theory and the maths, but I haven't seen a concise answer to the question "When would it make sense to choose a ZDF?" So I want to outline the considerations that I've gathered from these various places and get your feedback on my attempt to answer this question.
It seems to me like these are the following considerations when choosing between a ZDF implementation and a more classic implicit method (like backwards euler or trapezoidal integration).
- With a unit delay in your feedback path (implicit), a filter is more prone to instability with the pole/zero coefficients.
- Implicit methods yield distortion in the higher frequencies (as you approach nyquist), which can be attenuated with oversampling, but which can be more or less avoided with a ZDF.
- (Maybe similar to the previous...) A ZDF gives you better accuracy with the cutoff frequency and resonance (for 2+ order filters), especially near Nyquist.
- A ZDF yields a smoother time-varying filter response than an implicit filter method with a unit-delay.
Thank you!