vDSP_biquad_CreateSetup
Builds a data structure that contains precalculated data for use by a single-precision cascaded biquadratic filter function.
Declaration
extern vDSP_biquad_Setup vDSP_biquad_CreateSetup(const double *__Coefficients, vDSP_Length __M);Parameters
- __Coefficients:
The input array that contains the double-precision filter coefficients. The number of elements in the coefficients array must be five times the number of sections in the biquad filter.
- __M:
The number of sections in the biquad filter.
Return Value
A pointer to an allocated and initialized biquadratic filter object.
Discussion
This function constructs and returns a biquadratic filter object from the coefficients that you specify.
You define the __Coefficients array as a series of sections with each containing a set of five coefficients. Specify the order of the coefficients as three feedforward coefficients followed by two feedback coefficients.
The following code shows an example of creating a biquad setup object that contains two sections:
let section0 = (b0: 0.984764420,
b1: -1.969528840,
b2: 0.984764420,
a1: -1.969331359,
a2: 0.969726321)
let section1 = (b0: 0.984764420,
b1: -1.969528840,
b2: 0.984764420,
a1: -1.955243388,
a2: 0.969726321)
let sectionCount = vDSP_Length(2)
let setup = vDSP_biquad_CreateSetup([
section0.b0, section0.b1, section0.b2, section0.a1, section0.a2,
section1.b0, section1.b1, section1.b2, section1.a1, section1.a2
],
sectionCount)This function allocates memory for its own use. You must call the vDSP_biquad_DestroySetup function to free the allocated memory.