In response to the first complaint, the vDSP_biquadD() function is double precision. If vDSP_biquad() is inadequate due to its single precision, then substituting vDSP_biquadD() is rather trivial.
In response to the second complaint; the OP has already identified as a novice, so writing and debugging inline code will be much more challenging than using Apple's tested version. I'm sure there are a few programmers who can produce a better implementation than Apple, but why worry about optimization when it's not yet proven to be an issue? At the very least, start with Apple's vDSP_biquadD() and then benchmark it against inline code. Brian Willoughby On Dec 23, 2016, at 8:49 PM, Nigel Redmon <[email protected]> wrote: > I'd skip using that vDSP function, personally. First, it's single precision. > If it's a direct form II transposed implementation, it's probably adequate > for most cases (but you're cascading four...possibly noise issues at low > frequency settings, I guess still ok). Second, I don't think you're going to > see a big performance improvement in a vectored IIR, in typical use cases. So > I'd be running a plain-ol' inline IIR with doubles. > > The IIR implementation itself is trivial, and very fast as an inline > (otherwise the function call overhead is disproportionate, if performance is > an issue). Calculating the coefficients takes a little more knowledge, but > you can either use my coefficient calculator (for fixed filters), or the C++ > code on my site or elsewhere to calc at runtime. > > Nigel > > On Dec 24, 2016, at 5:29 AM, Waverly Edwards <[email protected]> wrote: >> Nigel Redmon wrote: >> >>Maybe this will help? Use four biquads, each set to the same frequency, >> >>but with Q set as indicated by the calculator: >> >>http://www.earlevel.com/main/2016/09/29/cascading-filters/ >> >> Evan Balster wrote: >> >>It took me a while to get my head around digital filter design algorithms. >> >>You'll need to do the following steps, which I recommend you research >> >>individually: >> >> Both of these are EXCELLENT resources. I’ve been looking into the cascading >> filters options that was suggested and I’ll work on implementing that, if I >> understand it correctly. >> I will also look into the C++ library that was recommended as well. >> >> In the process of researching what both of you said, I also found references >> to vDSP_biquad. >> https://developer.apple.com/reference/accelerate/1450838-vdsp_biquad >> It sounds like a great way to go but I just have a very surface level >> understanding so implementation will be challenging. > _______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
