Applies a single-precision multichannel biquad IIR filter.
SDKs
- iOS 7.0+
- macOS 10.9+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
Framework
- Accelerate
Declaration
func vDSP_biquadm(_ __Setup: v DSP _biquadm _Setup, _ __X: Unsafe Mutable Pointer<Unsafe Pointer<Float>>, _ __IX: v DSP _Stride, _ __Y: Unsafe Mutable Pointer<Unsafe Mutable Pointer<Float>>, _ __IY: v DSP _Stride, _ __N: v DSP _Length)
Parameters
__setup
The
v
object defining the filter to apply.DSP _biquadm _Setup __X
An array of pointers, each of which specifies an array of single-precision input data for a single channel.
__IX
Stride for
X
(see Discussion below).__Y
An array of pointers, each of which specifies an array to be filled with single-precision output data for a single channel.
__IY
Stride for
Y
(see Discussion below).__N
The number of elements to filter.
Discussion
For each channel, this function applies a cascaded biquad filter to the input values specified by the channel’s pointer in X
, and places the results in the array specified by the corresponding pointer in Y
.
The data for multiple channels can be interleaved in memory. In this case the stride must be equal to the number of channels, and the pointers to consecutive channels must point to consecutive locations in memory.
Performance and Energy Efficiency
Best performance and energy efficiency can be achieved with non-interleaved data and a stride of 1, or interleaved data and a stride equal to the number of channels.
The state contained in the setup
object is updated upon return.