Performs single-precision FIR filtering with decimation and antialiasing.


func vDSP_desamp(_ __A: UnsafePointer<Float>, _ __DF: vDSP_Stride, _ __F: UnsafePointer<Float>, _ __C: UnsafeMutablePointer<Float>, _ __N: vDSP_Length, _ __P: vDSP_Length)



Single-precision real input vector. The size of A must be at least DF * (N-1) + P (see below).


Decimation factor.


Single-precision real filter vector.


Single-precision real output vector.


Length of output vector C.


Length of filter vector F.


Performs finite impulse response (FIR) filtering at selected positions of the input vector A, with the filter F, using the decimation factor DF. Results are left in the output vector C.

This function can run in place, but C cannot be in place with F.

This function’s operation is indicated by the following pseudocode:

for (n = 0; n < N; ++n)
    sum = 0;
    for (p = 0; p < P; ++p)
        sum += A[n * DF + p] * F[p];
    C[n] = sum;

See Also

Real Vectors

Resampling a Signal with Decimation

Reduce the sample rate of a signal, by specifying a decimation factor and applying a custom antialiasing 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