The Adaptive Signal Processing Toolbox (ASPT)

DSP developers and researchers have always needed to learn a great deal of complex mathematical algorithms before they could put this knowledge to the simplest practical application. With ASPT, this belongs to the past. ASPT saves hundreds of hours of theoretical study and software development by providing a large set of well documented and ready to deploy adaptive filters software implementations, applications, and analysis tools.

What is The Adaptive Signal Processing Toolbox?

ASPT is a software library containing a large collection of both widely used industrial algorithms such as NLMS and FXLMS as well as advanced ones with improved performance and high computational efficiency such as PBFDAF and FTRLS. ASPT supports most digital filter structures including transversal, lattice, recursive, and some classes of nonlinear filters, such as second order Volterra adaptive filters. Both sample per sample and block processing filters are supported, with implementation in time and frequency domains. Specialized algorithms for applications such as active noise and vibration control and beam forming are also included. Moreover, most ASPT functions are provided for single-channel as well as multi-channel systems.

To make you start working with ASPT immediately without even the need to read the software documentation, ASPT comes with the source code of many examples for applications of adaptive filters including echo cancellers, single-channel and multi-channel active noise and vibration control, beam forming, channel equalization, adaptive line enhancers, system identification, noise reduction, and linear prediction. A rich set of functions for analyzing the performance of the common adaptive configurations are also included with the Matlab version of ASPT.

Availability and Supported Platforms

ASPT is currently available as a Matlab toolbox (M-ASPT) and ANSI-C code (C-ASPT). Both versions are deliverable in object code and source code forms. M-ASPT is suitable for system simulation, research, and education purposes. C-ASPT is suitable for both system simulation as well as the development of real-time applications, such as active noise control and echo cancellers. When used for simulation purposes, C-ASPT is much faster compared to M-ASPT. C-ASPT is currently available for several processors and operating systems including Windows, Linux, and Solaris. To learn more about adaptive filters in general or ASPT for Matlab or C-ASPT in particular, and eventually download your free-of-charge ASPT package, please visit the ASPT for Matlab or C-Language ASPT web pages.


FREE-ASPT is an excellent way to learn more about adaptive filters and to gain practical experience in this field without spending a cent. The FREE-ASPT package includes 16 of the most used adaptive filters algorithms. FREE-ASPT also includes the source code of one application for each filter demonstrating the use of the library application programming interface. FREE-ASPT package also includes the documentation of the whole library. Although the number of filter coefficients in the FREE-ASPT version is limited, the package proved to be sufficient for many applications. Visit the ASPT for Matlab or C-Language ASPT web pages to learn more about ASPT or move directly to the FREE-ASPT pages where you can download your free-of-charge ASPT package.

Why should I choose for ASPT?

For many reasons, we will try to summarize them below.
  • ASPT is the first comprehensive commercial adaptive filters library on the market, and therefore is years ahead of competitors
  • ASPT is setting the standards in the field; some known, and many times more expensive, packages have even started to copy from ASPT
  • ASPT implementation is kept simple and consistent throughout the library, which makes ASPT fast and efficient
  • ASPT is easy to learn and integrate in any application, even for those with little programming experience or little experience with adaptive systems
  • ASPT comes with excellent and educative documentation, examples, applications, and tutorials
  • ASPT supports whatever filters you might need to implement, Finite Impulse Response Filters (FIR), Linear Combiners Filters (LCF), Infinite Impulse Response Filters (IIR), Lattice Filters (LTF), Non-Linear Filters (NLF), and Active Noise and Vibration Control (ANVC) filters
  • ASPT supports sample per sample as well as block processing
  • ASPT seamlessly supports single channel and multi-channel systems
  • ASPT functions are efficiently implemented using advanced signal processing techniques
  • ASPT includes many fast and efficient filters implemented in frequency domain such as the Block Frequency Domain Adaptive Filter, and its partitioned and generalized versions
  • ASPT supports most adaptive systems applications including echo cancellers, single-channel and multi-channel active noise and vibration control, beam forming, channel equalization, adaptive line enhancers, system identification, noise reduction, and linear prediction.
  • ASPT is affordable for every one, even for those who can/do not want to pay a cent
  • ASPT is already available for many platforms
  • Unlike other packages, ASPT source code is available for whoever wants to buy it
  • ASPT is implemented in highly portable platform-independent code, therefore easy to port in full or in part to new platforms
  • ASPT is suitable for industrial as well as research and education activities
  • ASPT includes functions for real-time applications as well as system simulation
  • Royalty-free license system for real-time applications developers
  • Unlike other software packages, ASPT licenses are indefinite; the software never stops working
  • Up to 50% discount is provided for education institutes
  • ASPT has been developed by engineers with many years of research and industrial experience in the field of adaptive filters
  • ASPT support is provided by the same experienced software authors
  • ASPT is already being used by top-of-the-class companies and universities all over the world including Motorola, Siemens, and Samsung
  • Still has some doubts? you should try ASPT for yourself.

Contact Information for ASPT

After reading the M-ASPT or C-ASPT documentation, if you have any questions, suggestions, remarks, or corrections, we would appreciate if you contact us through the web site contact form.