So far I was using DF1 for biquad filters for audio DSP, but it turns out that it is possible to gain significant performance gains using the new AVX/AVX512 instruction sets using DF2. Are there any relevant problems assuming we are using 64-bit floating point precision?
Asked
Active
Viewed 132 times
1 Answers
1
Depends on how close your poles are to the unit circle. For DF2, the transfer function from the input to the state variables are given by the poles, so there can be substantial gains in there. For typical audio filters, it's not unusual to see 100+ dB of gain and that would definitely be a problem for 32-bit floating point.
These enormous gains also make updating the filters dynamically very tricky since it will typically generate massive transients.
I suggest looking at transposed form 2. It's often as efficient as DF2 but has much better behaved state variables.
Hilmar
- 44,604
- 1
- 32
- 63
-
Thanks for the info! I think the gain shouldn't be a problem in double precision processing, but dynamic updating IS a problem. – Vojtěch Melda Meluzín Sep 26 '18 at 15:13