The CDSP-lib Algorithm Library
CDSP-lib general presentation

The CDSPLib library is a collection of standard DSP routines and applications specially designed for fast porting/implementation on the CDSP family members. Depending on the CDSP customization option, the library will have variations in the code, while still providing a number of standard features. The library is modeled in C++ using some basic objects that simulate the behavior of the arithmetic and addressing circuits of the CDSP; the specific assembly code for a processor customization option can be generated via an almost one-to-one translation of the C++ code.
The CDSPLib C++ Reference Implementation is freely available in the Archives section.

A unique convention has been adopted for (almost) all the input and output vectors involved in the DSP functions: given a number of N samples to be processed, the vectors will have an address range of [-N/2 , +N/2-1]; this means that the definition domain of the input and output data will be centered around Zero.

Because the CDSP is a fixed-point processor, some restrictions are imposed on the input and output data values for each of the DSP functions; each function documents its corresponding limitations. These restrictions guarantee predictable results for the DSP functions; the main effect of these restrictions is to prevent (unexpected) arithmetic overflows and/or underflows during the fixed-point calculations.

The CDSPLib includes Min/Max/Search Functions, the Convolution Product Kernel, FIR, IIR, FFT/iFFT, Adaptive FIR Filters/Echo Canceller, Correlation/Autocorrelation, Viterbi Codec, Vector/Matrix Multiplication, and other functions.