IEEE ©2001 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

Return to Table of Contents

Adaptive Signal Processing JAVA Applet

M. Harteneck, Member  IEEE, R.W. Stewart, Member  IEEE

Abstract - This publication presents a JAVA program for teaching the rudiments of adaptive digital signal processing (DSP) algorithms and techniques.  Adaptive DSP is one of the most important areas of signal processsing, and provides the core algorithmic means to implement applications ranging from mobile telephone speech coding, to noise cancellation, to communication channel equalization.  Over the last 30 years, adaptive digital signal processing has progressed from being a strictly graduate level advanced class in signal processing theory to a topic that is part of the core curriculum for many undergraduate signal processing classes. The JAVA applet presented in this publication has been devised for students to use in combination with lecture notes and/or one of the recognised textbooks such that they can quickly and conveniently simulate algorithms, such as the LMS (least mean squares), RLS (recursive least squares) and so on, in a variety of applications without requiring them to write programs or scripts or using any special purpose software.  By the very nature of the JAVA code, therefore, the applet can be run from any browser, even over a low bandwidth modem connection.

I. Introduction

To proceed directly to the JAVA applet page click here.

Recently, we have developed a custom suite of adaptive signal processing algorithms that was written in JAVA to run from the world wide web (WWW). The result is an adaptive filtering learning tool that has proven to be extremely effective in presenting basic and advanced adaptive signal processing concepts. The key aim of the software is to bridge the gap between the theory and mathematics of textbooks and the practical application and implementations of adaptive DSP. The students are able to run the JAVA program from anywhere with Internet access, such as University workstations, PCs, or even from home using a modem and PC connected to the WWW. The traditional computer laboratory problems of machine availability, software licensing, portability and so on are clearly circumvented using this approach. The JAVA applet has been used for two years at the University of Strathclyde to teach the Adaptive Signal Processing Master's class and as an example of its portability, in the summers of 1997 and 1998, the JAVA adaptive suite was successfully used in a course taught by Strathclyde academic staff using a computer laboratory at the University of California, Los Angeles (UCLA).

The aim of this publication is, of course, not to teach or provide a tutorial on adaptive DSP, but to present a JAVA applet which we anticipate will be of assistance to lecturers teaching adaptive DSP either from their own notes, or based on one or more of the well known textbooks and tutorial papers.  For readers looking for more information on adaptive DSP, we refer you to some of the textbooks and tutorial papers in the literature [1] - [7].

This publication consists of the following sections: 

Contents Introduction
II  Adaptive DSP Review
III The Adaptive JAVA Applet
IV Conclusions
Author Contact Information

II. Adaptive DSP Review

Adaptive signal processing is one of the most important classes of algorithms for modern communication systems. Telephone line modems for example now communicate at rates of 56k bps and above as a result of the integration of adaptive echo cancellers and adaptive equalization algorithms. Similarly, the new generation of mobile multimedia systems and set-top boxes will also require the use of adaptive DSP, as will adaptive acoustic echo cancelation, arguably the next key ``plug-in card'' for PCs. Adaptive active noise cancellation is another hi-tech and mature technology found in the cabins of some airliners to reduce the level of noise. More generally, adaptive DSP can be found in biomedical systems, telecommunications systems, industrial control and so on. In this section, we briefly review the key adaptive architectures, the generic adaptive signal processor, and also present a few applications.

A. The Four Generic Adaptive Signal Processing Architectures

Figure 1 shows the general architectures for the key application areas of (a) noise cancellation, (b) system identification,  (c) inverse system identification and (d) prediction. Note the common element in these structures is the general adaptive signal processor, as depicted in Figure 2, with the input signal x(k), the output signal y(k), the desired signal d(k) and the error signal e(k).

fourarch.gif (10365 bytes)

    Figure 1: (a) The generic adaptive architectures of (a) Noise cancellation, (b) InverseSystem Identification (c) System Identification, (d) Prediction.

The structure shown in Figure 1(a) would be employed if a signal s(k) and a corrupting noise n(k) would have to be separated while having a reference of the noise signal n'(k), whereas the structure shown in Figure 1(b) would be employed for system identification, which is the case in many control problems or in acoustic echo cancelation where the unknown system would be the transfer function of the teleconferencing room. The set-up shown in Figure 1(c) is a typical inverse system identification set-up which is used, for example, in the equalization problem of telephone lines where the unknown system is the transfer function of the telephone channel and the adaptive filter has to reduce the intersymbol interference and other distortions as much as possible. Finally, Figure 1(d) shows the adaptive filter in a predictor set-up where the filter tries to predict a sample by using a set of past observations. This set-up is commonly used in coders to reduce the redundancy of a data stream and thereby increase the coding efficiency.

Figure 2 shows the components of each of the generic architectures in Figure 1.  The aim of all adaptive signal processing algorithms is minimize the power of the error signal e(k). This must be done by adapting the signal x(k), such that the filter output y(k) is very similar to some desired signal d(k). It is straightforward to show students that the only mathematically tractable way forward is to minimize the squared error or the mean squared error. From this model, the four main (single channel) adaptive applications of Figure 1(a)-(d) can be implemented.

generic.gif (4979 bytes)

Figure 2: The generic adaptive signal processor.

The adaptive filter weights are then updated using an adaptive algorithm, such as the LMS.  For more information on the mathematical detail of adaptive signal processing, please refer to the references, or the enclosed Adaptive DSP tutorial.  This tutorial is also used as class notes for an Adaptive Signal Processing Graduate Class (click for syllabus) taught at the University of Strathclyde.

B. Real World Applications

Figures 3 to 8 show block diagrams of some well known adaptive filtering applications.  For more information on each application, click on the thumbnail to view a description and large image. 

roomid.jpg (14516 bytes) Figure 3: Room Acoustic identification.
echocan.jpg (32421 bytes) Figure 4 Echo Cancellation.
noisecan.jpg (25848 bytes) Figure 5: Noise Cancellation. 
chaneq.jpg (25441 bytes) Figure 6: Channel Equalisation.
active.jpg (28712 bytes) Figure 7: Active Noise Control.
cdma.jpg (27624 bytes) Figure 8: CDMA  interference suppression.

C. Adaptive Signal Processing Tutorial

For those new to adaptive signal processing, we enclose an Adaptive Signal Processing Tutorial.     (Due to mathematical symbol limitations in HTML this tutorial is in PDF format. If your machine does not have Acrobat Reader either as a plug-in or stand-alone, visit Adobe Inc to download Acrobat Reader free.) This tutorial presents adaptive signal processing architectures, applications and specifically derives and presents the Wiener-Hopf solution and the least mean squares (LMS) adaptive algorithm.  The tutorial also reviews adaptive IIR architectures.

Back to Contents

III. The Adaptive DSP JAVA Applet

The signal flow graph structure of the applet is shown below in Figure 9.

Figure 9: Adaptive DSP Applet Structure.

To proceed to the JAVA applet page click here.

The Adaptive DSP JAVA applet allows algorithms to be run in parallel for comparison purposes.  Virtually the entire range of current adaptive filters are implemented. The user can specify the input signals as files, or use the signal generators within the applet. Therefore, by inputting appropriate input signals, any of the architectures in Figure 1 can be implemented.  The applet then allows the user to view the adapting error signal, and observe the adapting systems as an impulse response, as a frequency response (FFT of impulse reponse) or in z-domain pole zero factorization.  Although the applet was primarily developed for education purposes, it can of course be used for real world off-line simulation.

Back to Contents

IV. Conclusions

This paper has reviewed adaptive signal processing architectures and applications, and provided a short PDF tutorial on adaptive DSP. We have provided links to the adaptive DSP applet contained on this IEEE Transactions on Education CDROM which can be run by virtually any recent web browser.  Hence, for students can run the applet in computer laboratories or across the internet.  This applet also is available on the WWW and can be accessed at

Back to Contents


The authors wish to acknowledge the input and financial support in developing this JAVA applet of Professor John McWhirter and Dr. Ian Proudler of the Defence Evaluation and Research Establishment (DERA), Malvern, UK.  The authors also thank Dr. Stephan Weiss of the University of Strathclyde for his many useful discussions and input to the applet.

Back to Contents


[1] S. Haykin. Adaptive Filter Theory (2nd Edition). Prentice Hall, Englewood Cliffs, NJ, 1990.

[2] N. Kalouptsidis,Theodoridis. Adaptive System Identification and Signal Processing Algorithms. Prentice Hall, 1993.

[3] P. Regalia. Adaptive IIR Filtering. Marcel Dekker, 1995.

[4] B. Widrow and S. Stearns. Adaptive Signal Processing. Prentice Hall, 1985.

[5] C.R. Johnson. Yet still more on the interaction of adaptive filtering, identification, and control. IEE Signal Processing Magazine, Vol.12, No. 2, pp. 22-37, March 1995.

[6] J.J. Shynk. Frequency domain and multirate adaptive filtering. IEEE Signal Processing Magazine, Vol. 9, No. 1, pp. 10-37, January 1992.

[7] J.J. Shynk. Adaptive IIR filtering. IEEE ASSP Magazine, Vol. 6, No. 2, pp. 4-21, April 1989.

Back to Contents

Author Contact Information

Moritz Harteneck
Siemens AG -- HL DT CE 2, Postfach 801709,
81617 Muenchen GERMANY
Phone: +49-(0)89-636 25829
Fax: +49-(0)89-636 22112

Robert W. Stewart
Department of Electronic and Electrical Eng.
University of Strathclyde
Glasgow G1 1XW, UK
Phone: +44 141 548 2396
Fax: +44 141 552 2487

Back to Contents

Author Biographies

Moritz Harteneck was born in Munich in 1970.  In 1993, he graduated from the University of Strathclyde with a Master's degree in Communications, Control and Signal Processing, and in 1998 with a Ph.D.  Currently he is working with Siemens on the design of advanced communication strategies for subscriber loops.   Dr. Harteneck's key research interests include multirate DSP, adaptive signal processing, and multimedia education techniques.  Dr. Harteneck has more than 20 technical papers and is a member of IEEE.

Bob Stewart was born in 1964 and is currently full time faculty at University of Strathclyde, Department of Electronic and Electrical Engineering.  In 1990, he graduated with a Ph.D. from University of Strathclyde and has held visiting appointments at the University of Minnesota, and currently at the University of California, Los Angeles Extension School where he teaches DSP Systems. His research interests include adaptive signal processing and multimedia DSP education.

Back to Contents

Return to Table of Contents