vDSP
Perform basic arithmetic operations and common digital signal processing (DSP) routines on large vectors.
Overview
The vDSP library contains a collection of highly optimized functions for DSP, type conversion, and general purpose arithmetic on large collections. The library includes DSP operations such as convolution and correlation, Fourier transformation, and biquadratic filtering. For arithmetic on large collections, vDSP includes functions such as multiply-add and reduction functions including sum, mean, and maximum.
The following sequence of images illustrates an example of the vDSP library’s capabilities. The vDSP_vtmerg function combines two waveforms to produce a vector to create a smooth transition between two signals.
[Image]
The majority of vDSP operations are single-threaded and run on a single core. However, the following functions may be multithreaded depending on the size of the data they’re operating on:
Topics
Fundamentals
Swift overlay
Vector generation, filling, and clearing
Vector reduction
Vector geometry functions
Element-wise vector arithmetic
Vector-scalar arithmetic
Vector-vector arithmetic
Vector-vector real arithmetic functionsComplex basic arithmeticInteger arithmeticLinear averaging functionsPolynomial evaluation
Vector operations
Compression and gathering functionsCopying, element swapping, and merging functionsReversing and sorting functions
Vector interpolation
Vector filtering
Biquadratic IIR filtersSingle-channel biquadratic filtersMultichannel biquadratic filtersFinite impulse response filtersRecursive filters
Vector conversion functions
Conversion to decibel equivalentsType conversionComplex vector conversionPolar-rectangular conversion
Single-vector arithmetic functions
Absolute and negation functionsIntegration functionsClipping, limit, and threshold operationsNormalization functionsPhase computation functionsComplex conjugation functionsVector squaring functionsFractional part extractionZero crossing search
Single-vector sliding-window operations
Vector-to-vector spectra and coherence computation
Vector-to-vector extrema functions
Matrix operations
Vector and matrix correlation and convolution
Vector and matrix Fourier transforms
Data types
vDSP_LengthvDSP_StrideDSPComplexCOMPLEX_SPLITDSPDoubleComplexDOUBLE_COMPLEX_SPLITDSPSplitComplexDSPDoubleSplitComplexvDSP.VectorizableDoublevDSP.VectorizableFloat