Applies a single-precision single-channel biquad IIR filter.


func vDSP_biquad(_ __Setup: OpaquePointer, _ __Delay: UnsafeMutablePointer<Float>, _ __X: UnsafePointer<Float>, _ __IX: vDSP_Stride, _ __Y: UnsafeMutablePointer<Float>, _ __IY: vDSP_Stride, _ __N: vDSP_Length)



The vDSP_biquad_Setup object defining the filter to apply.


An array of single-precision values initialized with direct-form 1 “past” state data for each section of the biquad. The lengrth of the array should be (2 * M) + 2, where M is the number of sections. For each section m, Delay[2*m:2*m+1] represent the two delayed input values for section m and Delay[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.


An array of single-precision input data for the channel.


Stride for X.


An array to be filled with single-precision output data for the channel.


Stride forY.


The number of elements to filter.


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.

See Also

Applying a Single-Channel Biquadratic IIR Filter

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software