User login
Business Codes
DUNS: 16-498-2238
Cage Code: 5YVN2
NAICS Codes: 541330, 541511, 541512, 541519, 611420
Search
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
|
|
Data Conversion
Conversion functions convert between internal vector representation and any of the following data
types. Conversion includes rounding, scaling, and optional byte reversal.
|
|
Transcendental 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:
|
|
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
