©1999 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
M. Harteneck, Member IEEE, R.W. Stewart, Member IEEE
Submitted to IEEE Transactions on Education - Special CDROM Issue, November 1999
Abstract
This publication presents a JAVA program for teaching the rudiments of adaptive digital signal processing (DSP) algorithms and techniques. Adaptive DSP is on 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 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.
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 on a course taught by Strathclyde academic staff using a computer laboratory at the University of 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 paper. 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 | I | Introduction |
| II | Adaptive DSP Review | |
| III | The Adaptive JAVA Applet | |
| IV | Conclusions | |
| Acknowledgments | ||
| References | ||
| Author Contact Information |
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).

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 inter
symbol 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.

Figure 2: The generic adaptive signal processor.
The adaptive filter weights are then updated using an adaptive algorithm such as the LMS.
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.
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.
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 education students can run the applet in computer laboratories, or across the internet. This applet also is available on the WWW and can be accessed http://www.spd.eee.strath.ac.uk/~bob/adaptivejava/java_adaptive_dsp/index.htm.
The authors wish to acknowledge the input and financial support in developing this JAVA applet of Professor John McWhirter and Dr Ian Proudler of 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.
[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.
Moritz Harteneck *
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
r.stewart@eee.strath.ac.uk
* Moritz Harteneck is now with, Siemens AG -- HL DT CE 2, Postfach 801709, 81617
Muenchen GERMANY
Phone: +49-(0)89-636 25829, Fax: +49-(0)89-636 22112 Moritz.Harteneck@hl.siemens.de
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 PhD. Currently he is working with Siemens on the design 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 PhD from University of Strathclyde, and has held visiting appointments at 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, multimedia DSP education.