vDSP_biquad
Applies a single-precision single-channel biquadratic IIR filter.
Declaration
extern void vDSP_biquad(const struct vDSP_biquad_SetupStruct *__Setup, float *__Delay, const float *__X, vDSP_Stride __IX, float *__Y, vDSP_Stride __IY, vDSP_Length __N);Parameters
- __Setup:
The Vdsp_biquad_setup object defining the filter to apply.
- __Delay:
An array of single-precision values initialized with direct-form 1 “past” state data for each section of the biquad. The length of the array should be (2 *
M) + 2, whereMis the number of sections. For each section m,Delay[2*m:2*m+1] represent the two delayed input values for section m andDelay[2*M:2*M+1] represent the two delayed output values of the filter. After this function executes, this array contains the final state data of the filters. - __X:
An array of single-precision input data for the channel.
- __IX:
Stride for
X. - __Y:
An array to be filled with single-precision output data for the channel.
- __IY:
Stride for
Y. - __N:
The number of elements to filter.
Discussion
This function applies a cascaded biquad filter to the input values in X, and places the results in Y.
The state contained in the setup object is updated upon return.