Function

vDSP_desamp(_:_:_:_:_:_:)

Performs single-precision FIR filtering with decimation and antialiasing.

Declaration

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

Parameters

__A

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

__DF

Decimation factor.

__F

Single-precision real filter vector.

__C

Single-precision real output vector.

__N

Length of output vector C.

__P

Length of filter vector F.

Discussion

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.