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.