next up previous contents
Next: List of Figures Up: ASPT 2.1 User Manual Previous: ASPT 2.1 User Manual   Contents


Preface

Since the early days of adaptive signal processing, computer simulations have been used to examine the performance of adaptive systems, compare adaptive algorithms, and prove the feasibility of new adaptive applications. The difficulty of analytical analysis of adaptive signal processing systems explains the popularity of computer simulation in the research and development of adaptive filters. The "Adaptive Signal Processing Toolbox", or ASPT for short, has been designed to enhance the simulation process by isolating the user from the details of the adaptive algorithms implementation while giving the user a complete control on the algorithms parameters and behavior. ASPT users may use the adaptive filters as building blocks without the need to know how those blocks are constructed, or may edit the algorithms to optimize certain characteristics important to a specific application. This approach has proved to increase productivity, shorten time to market, and enhance the understanding of the systems being developed, and therefore increasing the potential of developing better adaptive systems.

The Adaptive Signal Processing Toolbox is a software package developed specifically for engineers and researchers involved in developing adaptive signal processing systems. ASPT is also an indispensable tool for class instructors to aid in teaching adaptive signal processing, and quickly and easily demonstrating the applications of adaptive filters. ASPT contains a continuously expanding collection of basic as well as advanced adaptive filters algorithms and many practical applications. ASPT isolates the user from the details of the algorithms internal implementation and allows using the adaptive algorithms as reliable, well tested, and well documented black box functions. ASPT contains adaptive algorithms for transversal, lattice, recursive, and nonlinear filters, with implementations in the time and frequency domains, as well as specialized algorithms for applications such as active noise and vibration control, and beam forming. ASPT also comes with simulation examples for applications of adaptive filters including echo cancelers, single channel and multichannel active noise and vibration control, beam forming, channel equalization, adaptive line enhancers, system identification, interference canceling, and linear prediction.

Researchers who develop new adaptive algorithms to meet specific requirements need to test their newly developed techniques against existing ones. They must be familiar with the existing state of the art and be able to easily and quickly experiment with several features of the existing algorithms. In many cases, the requirements of the new algorithm can be readily met by modifying an existing algorithm or combining the processing of several existing ones. For those researchers, ASPT provides the basic foundation on which they can build their developments. With the large set of existing state of the art algorithms provided by ASPT, the researcher has a better understanding of the known techniques. In a few minutes, he can measure the performance enhancement brought about by his newly developed algorithm compared to known ones. He can easily experiment with modifying the existing state of the art without the need to implement all those known techniques. ASPT, therefore, makes it possible for those researchers to concentrate on their value added work by removing redundant activities, and therefore, shortening development time.

Engineers who deploy adaptive filters to solve specific technical problems would probably benefit the most from a library of adaptive algorithms such as ASPT. The first step in developing an adaptive system is usually building a simulation of the system to explore the benefits of a specific filter structure, define the filter parameters, examine the system performance, and predict the problems that might come up in real-time implementation. For instance, an engineer designing a new Acoustic Echo Canceler (AEC) for a video conferencing system must choose the adaptive filter structure (FIR, IIR, Lattice, Volterra, etc) that is most suitable for typical conference rooms. Next, the adaptive algorithm to be used in updating the AEC coefficients must be chosen. Usually, the choice of the adaptive algorithm is constrained by system resources such as memory usage and processor cycles (MIPS) as well as system performance requirements such as convergence time and Echo Return Loss Enhancement (ERLE). To make a sound choice, the AEC designer would probably need to set up a simulation system using measured speech fragments in a conference room, implement several adaptive filters that he knows from experience that may meet the system requirements, experiment with the parameters of each filters, and test against the required overall system performance. This process can be very lengthy, especially if experiments with different filter structures updated using different algorithms are required. Due to development time limitation, the situation usually encountered in practice, is that the designer chooses an algorithm that is already available, or one that is easy to implement, regardless of its suitability for the application at hand, or whether it gives the best performance in this specific application. In such design scenario, ASPT is a necessary tool that provides the system designer with a rich set of filter structures, each updated using a wide variety of algorithms. ASPT allows the designer to easily and quickly experiment with FIR, IIR, lattice, and nonlinear filter structures, update the filters using different algorithms in time and frequency domains, and as easily compare between the performance, limitations, and resource requirements of each filter. ASPT can save designers many man-months (if not years when evaluated over a company wide activities over a several projects) of low level programming activities allowing cheaper and faster product development cycle.

On the other hand, class and lab instructors and industry trainers might find ASPT an indispensable tool in teaching adaptive signal processing concepts using hands-on approach. Using ASPT, instructors can easily make their point clear using real-life demonstrations without writing lengthy software programs. Students can easily and quickly study the performance of complex algorithms, compare between traditional algorithms, and experiment for themselves with filter parameters. By bringing applications closer to the class, the teaching and learning experiences become more interesting than just fiddling with equations. In the past few years, ASPT has proved its benefits for both instructors and students. The base of ASPT itself has been developed at Eindhoven University of Technology, during the time the author was pursuing his PhD program. For this reason, the author is committed to education institutes, and hopes that one day ASPT will be the preferred tool in teaching adaptive filters. To encourage using ASPT in adaptive filters education, several algorithms that are only of theoretical interest have been added to enhance the understanding of adaptive techniques. High performance, efficient, and nonlinear filters can serve as good material for advanced courses in adaptive signal processing.

ASPT is the fruit of many years of research and development in the area of adaptive algorithms and their applications. We introduce this toolbox to our colleagues in the hope that it will enhance and encourage the development of adaptive systems. We very much hope that engineers, researchers, class instructors, and students will like it, use it, and help us to improve it in the years to come.


next up previous contents
Next: List of Figures Up: ASPT 2.1 User Manual Previous: ASPT 2.1 User Manual   Contents