Products

User login

Business Codes

DUNS: 16-498-2238

Cage Code: 5YVN2

NAICS Codes: 541330, 541511, 541512, 541519, 611420

VectorZ

VectorZ

 

What is VectorZ ?

VectorZ is a signal processing library designed specifically for embedded digital signal processing applications. VectorZ uses the single-instruction, multiple data (SIMD) instructions to provide the highest performance for single-precision computation for operations on vectors and 2-dimensional matrices.


Although originally designed for the PowerPC1 970, VectorZ runs on any processor supporting VMX or AltiVec instructions. VectorZ is operation-system independent, and can be used with other vector libraries or vectorized code. Non-optimized cross-development versions of the library are available to support application development on other processors. All VectorZ functions are C and C++ callable.


VectorZ contains over 250 vector functions. Most functions operate on real, complex, or mixed vectors and matrices. Because the vector length and real/complex states of a vector are attributes of a vector object, VectorZ functions automatically determine the appropriate processing to perform at runtime. Benefits are more readable and maintainable application code, fewer parameters, fewer function variants, and lower probabilities of coding errors. Since most functions support real, complex, or mixed inputs, VectorZ is comparable to other libraries having more than twice as many functions.


Unlike other math libraries, VectorZ contains functions that are signal-processing oriented. These
include FFT and filter functions, correlation and convolution functions, magnitude and angle operations, complex exponential functions, precision oscillator and mixer functions, and data conversion functions designed for converting between common I/O formats and internal vector representations.

 

Arithmetic Functions

 

  • Add, Avg, Subtract, Multiply, Divide
  • Reciprocal, Square, Sqrt, Sqrt Inverse
  • Min, Max
  • Ceil, Floor, Frac, Round, Truncate
  • Abs, Neg, Sign
  • Magnitude, Magnitude squared
  • Dot product, RMS, Least Squares
  • Real, Imag, Complex, Conj
  • Correlate, Convolve
  • Various algebraic combinations
  • Backward Difference
  • Polynomial Evaluation
  • Sum, Mean, Standard Deviation
  • Mean Deviation
  • Sum of Magnitude, Mag squared
  • Correlation Coefficient
  • Subtract mean from a vector/matrix

 

Data Conversion

Conversion functions convert between internal vector representation and any of the following data
types. Conversion includes rounding, scaling, and optional byte reversal.

  • 8, 16, 24, or 32-bit fixed point
  • Signed or unsigned
  • Optional byte reversal
  • Single-precision float
  • Double precision float
  • 8-bit μ-Law or A-Law
  • Fixed point conversion includes scaling
  •  Interleaved / Deinterleaved complex

 

Transcendental Functions

  • Log2, Log10, Log, Log base b
  • Exp2, Exp10, Exp, Exp base b
  • Exp of -x, Exp of i·x
  • Log10 of magnitude
  • Power Functions
  • Linear ↔ Decibel Conversion
  • Sin, Cos, CosSin, Tan, Cot
  • ASin, ACos, ATan, ATan2
  • Angle, Phase Unwrap
  • Polar ↔ Rectangular Conversion
  • Quadrature Correlate
  • Hyperbolic Sin, Cos, Tan, Cot
  • Hyperbolic Inverse Functions

 

Fast Fourier Transforms

FFTs evaluate forward and inverse transforms for real or complex vectors of length 2n and 3·2n. Other lengths are also computed using a slower algorithm. When the input is real, the FFT functions automatically compute using a faster real FFT implementation. Forward FFT evaluation can also compute the magnitude, magnitude squared, or log of the magnitude of the results. The fast convolution function combines the forward FFT, vector multiply, and inverse FFT.

The FFT functions include several window generation functions. These windows can be applied to
FFT data, or applied to filters.

 

Filters

The library supports a variety of filters, including DC blocking, exponential averaging, boxcar, delay, notch, interpolating and decimating filters. The library includes functions that generate Kaiser low-pass, high-pass, Hilbert, and differentiating filters.

 

Matrix Functions

Most vector functions also operate on matrix functions with no changes to the functional interface. This simplifies the functional interface to the library, and reduces the number of functions which developers must remember. Also, the library includes these functions that are only applicable to matrices:

  • Matrix Multiply
  • Multiply by Transpose, transpose conj
  • Multiply each row or col by vector
  • Matrix Transpose
  • 2d and column FFTs
  • Row, column get and set functions
  • Fill, generate, and submatrix functions
  • Flip rows, columns, or both
  • Generate a band matrix from a vector

 

Miscellaneous Functions

  • Copy, duplicate, append, subvector, interleave, reverse, pad and other data movement
  • Error management functions allow applications to trap and report errors
  • Mean, Variance, RMS, mean deviation, min, and max functions
  • Estimate functions: higher performance with reduced accuracy
  • 3rd order cumulant of real or complex vector
  • Scatter, gather functions
  • Histogram functions
  • Goertzel Transforms, DFT and inverse DFTs
  • Automatic Level Control
  • Find and Count functions scan vectors for values
  • Compare, select, scatter and gather functions
  • Logical functions (AND, OR, XOR, NOT)
  • Precision Oscillator functions generate and mix real or complex sinusoids with near-zero
  • Phase error over time
  • Circular buffers facilitate overlap/save overlap/add, and resizing vectors within a data stream
  • Data Generators: constants, ramps, uniform and normally distributed random data, complex
  • exponential

Download File