Working here with a tlv320aic3254, and need to implement a function to let the user define several filter parameters. For peak EQ and high/low shelf BiQuad filters. PPS's functions have no use here because of said real time control.
Found some sources for implementation to the attached µC, alas only for a different transfer function: H(z) = b0 + b1*z^-1 + b2*z^-2 / a0 + a1*z^-1 + a2*z^-2, while the aic3254 uses: H(z) = (N0 + 2*N1/z + N2/(z2)) / (32768 - 2*D1/z - D2/(z2))
Interestingly I found an AN: SLAA447, title: "Configure the Coefficients for Digital Biquad Filters in TLV320AIC3xxx Family", however it describes the first transfer function and obviously doesn't work for the second, at least I've tried that in an Excel sheet with adapted mathlab code found in this AN, couldn't achieve the same values as in PPS.
Would appreciate to get pointed to a similar app note with some code examples matching the aic3254, and in case there's no such AN, some code examples in whatever language would be highly appreciated. Btw. TIBQ also gives identical values as PPS, no mystery as it uses the same transfer function.
Would prefer to work with bandwidth in Hz, but also some sample code with controlled by Q would be fine.
Thanks,
Magic White Smoke