©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. |

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.

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 |
I | Introduction |

II | Adaptive DSP Review | |

III | The Adaptive JAVA Applet | |

IV | Conclusions | |

Acknowledgments | ||

References | ||

Author Contact Information |

*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 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.

**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.

*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.

**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.

http://www.spd.eee.strath.ac.uk/~bob/adaptivedemo/index.htm.

[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

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

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

http://www.spd.eee.strath.ac.uk/~bob

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.