Function

vDSP_biquad(_:_:_:_:_:_:_:)

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

Declaration

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

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 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.

__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 forY.

__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.

See Also

Applying a Single-Channel Biquadratic IIR Filter