Builds a data structure that contains precalculated single-precision data for use by multichannel cascaded biquad IIR filter functions.
- macOS 10.9+
Array of double-precision real coefficients. Its length should be 5 times the number of sections in the biquad filter.
The number of sections in the biquad filter. The same number of sections is used for each channel, so only one value is specified.
The number of input/output channels.
Pointer to an allocated and initialized struct of type
This function constructs and returns a biquad IIR filter object from the coefficients specified by the array pointed to by
coeffs. It initializes the internal state of the setup object such that all delay elements used are set to zero.
This array of coefficients is laid out by channel, followed by section. Each set of 5 coefficients specific to a given channel and section is specified with the 3 feedforward coefficients first, followed by the 2 feedback coefficients.
For example, the array could be constructed as follows (
b2 are the feedforward coefficients and
a2 are the feedback coefficients such that the difference equation relating the input
x[n] to the output
y[n] could be expressed as
y[n] = b0*x[n] + b1*x[n-1] + b2*x[n-2] - a1*y[n-1] - a2*y[n-2] as shown in the pseudocode below:
This function allocates memory for its own use; the allocated memory can be freed by the