ASPT for C/C++ [C-ASPT]

C-Language Adaptive Signal Processing Toolbox (C-ASPT)

Package Description

The C-language adaptive signal processing toolbox (C-ASPT) defines and implements a set of Application Programming Interfaces (API) for adaptive filters applications, such as echo cancellers, active noise and vibration control, and many more. The current release includes more than 60 filters. For each filter, APIs are defined to initialize the filter, filter one sample or a block of samples through the filter without updating the filter coefficients, filtering and updating the coefficients, resetting, copying, or setting the coefficients and the internal delay lines, getting and setting the filter properties, and resizing the filter while keeping as much of its internal state as possible.

The current C-ASPT release supports all the filters included in the Matlab toolbox in addition to many other filters targeted at real-time applications. Transversal filters are supported in Finite Impulse Response as well as Linear Combiner configurations, the latter being important in applications such as adaptive arrays. C-ASPT also supports recursive, lattice, and non-linear adaptive filters in addition to single-channel and multi-channel active noise and vibration control filters. Time domain as well as frequency domain adaptive filters are included. Most time domain filters support sample per sample as well as block processing, and are implemented efficiently using circular buffers without the overhead of data copying. All filters are implemented in several data types so that filter instances with different arithmetic precision can be used in the same application. C-ASPT is implemented in a platform-independent ANSI-C code, and therefore will run on any platform with an ANSI-C compiler.

Using C-ASPT With Matlab

In addition to creating stand-alone executable programs using C-ASPT, it is also possible to load the C-ASPT dynamic link library into Matlab work-space and use the ASPT filters from within Matlab. This feature is supported in Matlab 6.5 and later. This feature, however, is a Matlab feature rather than a C-ASPT feature. Therefore, no support for this functionality is provided by DSP Algorithms.

C-ASPT License types

Licenses for C-ASPT are currently available for object code as well as source code. Object code licenses are available for Windows, Linux, and Solaris platforms (please contact us for the availability on other processors/platforms). Three different license terms and conditions are distinguished.
  • End User License, Allows you to run the library (delivered as a dynamic link library) on a single computer, but disallows distributing applications linked against it to third parties who do not have the library.
  • Developer License, Allows you to link C-ASPT functions (delivered as a static link library) into your applications and distribute those applications to third parties, who might not have the library, with no extra royalties.
  • Source Code License which is useful for those who need to port C-ASPT functions to other platforms or need to modify the code for their specific needs. The source code license has similar conditions to those of the Developer License.
It is also possible to order a single filter or a few filters under the terms and conditions of the Developer or Source Code Licenses. Refer to the C-ASPT Price List or please contact us for more information on purchasing ASPT.