Adaptive Filtering
Algorithms and Practical
Implementation
Third Edition
Paulo S.R. Diniz
Adaptive Filtering
Algorithms and Practical
Implementation
Third Edition
123
Paulo S.R. Diniz
Federal University of Rio de Janeiro
Rio de Janeiro
Brazil
ISBN: 978-0-387-31274-3
DOI: 10.1007/978-0-387-68606-6
Library of Congress Control Number: 2008923554
e-ISBN: 978-0-387-68606-6
© 2008 Springer Science+Business Media, LLC
All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the
publisher (Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA), except for brief
excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storage and
retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now know or hereafter
developed is forbidden.
The use in this publication of trade names, trademarks, service marks and similar terms, even if the are not identified as
such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
Printed on acid-free paper
9 8 7 6 5 4 3 2 1
springer.com
Note to Instructors
For the instructors this book has a solution manual for the problems written by Dr. L. W. P.
Biscainho available from the publisher. Also available, upon request to the author, is a set of
master transparencies as well as the MATLAB®1 codes for all the algorithms described in the text.
1MATLAB is a registered trademark of The MathWorks, Inc.
To: My Parents,
Mariza,
Paula,
and Luiza.
PREFACE
The field of Digital Signal Processing has developed so fast in the last three decades that it can be
found in the graduate and undergraduate programs of most universities. This development is
related to the increasingly available technologies for implementing digital signal processing
algorithms. The tremendous growth of development in the digital signal processing area has
turned some of its specialized areas into fields themselves. If accurate information of the signals to
be processed is available, the designer call easily choose the most appropriate algorithm to process
the signal. When dealing with signals whose statistical properties are unknown, fixed algorithms
do not process these signals efficiently. The solution is to use an adaptive filter that automatically
changes its characteristics by optimizing the internal parameters. The adaptive filtering algorithms
are essential in many statistical signal processing applications.
Although the field of adaptive signal processing has been subject of research for over four
decades, it was in the eighties that a major growth occurred in research and applications. Two
main reasons can be credited to this growth, the availability of implementation tools and the
appearance of early textbooks exposing the subject in an organized manner. Still today it is
possible to observe many research developments in the area of adaptive filtering, particularly
addressing specific applications. In fact, the theory of linear adaptive filtering has reached a
maturity that justifies a text treating the various methods in a unified way, emphasizing the
algorithms suitable for practical implementation. This text concentrates on studying on-line
algorithms, those whose adaptation occurs whenever a new sample of each environment signal is
available. The so-called block algorithms, those whose adaptation occurs when a new block of
data is available, are also included using the subband filtering framework. Usually, block
algorithms require different implementation resources than the on-line algorithms. This edition
also includes basic introductions to nonlinear adaptive filtering and blind signal processing as
natural extensions of the algorithms treated in the earlier chapters. The understanding of the
introductory material presented is fundamental for further studies in these fields which are
described in more detail in some specialized texts.
The idea of writing this book started while teaching the adaptive signal processing course at the
graduate school of the Federal University of Rio de Janeiro (UFRJ). The request of the students to
cover as many algorithms as possible made me think how to organize this subject such that not
much time is lost in adapting notations and derivations related to different algorithms. Another
common question was which algorithms really work in a finite-precision implementation. These
issues led me to conclude that a new text on this subject could be written with these objectives in
mind. Also, considering that most graduate and undergraduate programs include a single adaptive
filtering course, this book should not be lengthy. Another objective to seek is to provide an easy
access to the working algorithms for the practitioner.
x
Preface
Z
It was not until I spent a sabbatical year and a half at University of Victoria, Canada, that this
project actually started. In the leisure hours, I slowly started this project. Parts of the early
chapters of this book were used in short courses on adaptive signal processing taught at different
institutions, namely: Helsinki University of Technology, Espoo, Finland; University Menendez
Pelayo in Seville, Spain; and at the Victoria Micronet Center, University of Victoria, Canada. The
remaining parts of the book were written based on notes of the graduate course in adaptive signal
processing taught at COPPE (the graduate engineering school of UFRJ).
The philosophy of the presentation is to expose the material with a solid theoretical foundation,
while avoiding straightforward derivations and repetition. The idea is to keep the text with a
manageable size, without sacrificing clarity and without omitting important subjects. Another
objective is to bring the reader up to the point where implementation can be tried and research can
begin. A number of references are included at the end of the chapters in order to aid the reader to
proceed on learning the subject.
It is assumed the reader has previous background on the basic principles of digital signal
processing and stochastic processes, including: discrete-time Fourier- and
-transforms, finite
impulse response (FIR) and infinite impulse response (IIR) digital filter realizations, multirate
systems, random variables and processes, first- and second-order statistics, moments, and filtering
of random signals. Assuming that the reader has this background, I believe the book is self
contained.
Chapter 1 introduces the basic concepts of adaptive filtering and sets a general framework that all
the methods presented in the following chapters fall under. A brief introduction to the typical
applications of adaptive filtering are also presented.
In Chapter 2, the basic concepts of discrete-time stochastic processes are reviewed with special
emphasis to the results that are useful to analyze the behavior of adaptive filtering algorithms. In
addition, the Wiener filter is presented, establishing the optimum linear filter that can be sought in
stationary environments. Appendix A briefly describes the concepts of complex differentiation
mainly applied to the Wiener solution. The case of linearly constrained Wiener filter is also
discussed, motivated by its wide use in antenna array processing. The transformation of the
constrained minimization problem into an unconstrained one is also presented. The concept of
mean-square error surface is then introduced, another useful tool to analyze adaptive filters. The
classical Newton and steepest-descent algorithms are briefly introduced. Since the use of these
algorithms would require a complete knowledge of the stochastic environment, the adaptive
filtering algorithms introduced in the following chapters come into play. Practical applications of
the adaptive filtering algorithms are revisited in more detail at the end of Chapter 2 where some
examples with closed form solutions are included in order to allow the correct interpretation of
what is expected from each application.
Chapter 3 presents and analyses of the least-mean-square (LMS) algorithm in some depth. Several
aspects are discussed, such as convergence behavior in stationary and nonstationary environments.
This chapter also includes a number of theoretical as well as simulation examples to illustrate how
the LMS algorithm performs in different setups. Appendix B addresses the quantization effects on
the LMS algorithm when implemented in fixed- and floating-point arithmetics.
Preface
xi
Chapter 4 deals with some algorithms that are in a sense related to the LMS algorithm. In
particular, the algorithms introduced are the quantized-error algorithms, the LMS-Newton
algorithm, the normalized LMS algorithm, the transform-domain LMS algorithm, and the affine
projection algorithm. Some properties of these algorithms are also discussed in Chapter 4, with
special emphasis to the analysis of the fine projection algorithm.
Chapter 5 introduces the conventional recursive least-squares (RLS) algorithm. This algorithm
minimizes a deterministic objective function, differing in this sense from most LMS-based
algorithms. Following the same pattern of presentation of Chapter 3, several aspects of the
conventional RLS algorithm are discussed, such as convergence behavior in stationary and
nonstationary environments, along with a number of simulation results. Appendix C, deals with
stability issues and quantization effects related to the RLS algorithm when implemented in fixed-
and floating-point arithmetics. The results presented, except for the quantization effects, are also
valid for the RLS algorithms presented in Chapters 7, 8, and 9. As as complement to Chapter 5,
Appendix D presents the discrete-time Kalman filter formulation which despite being considered
an extension of the Wiener filter has some relation with the RLS algorithm.
Chapter 6 discusses some techniques to reduce the overall computational complexity of adaptive
filtering algorithms. The chapter first introduces the so called set-membership algorithms that
update only when the output estimation error is higher than the prescribed upper bound. However,
since set-membership algorithms require frequent updates during the early iterations in stationary
environments, we introduce the concept of partial update to reduce the computational complexity
in order to deal with situations where the available computational resources are not sufficient. This
chapter presents several forms of set-membership algorithms related to the affine projection
algorithms and their special cases. Chapter 6 also includes some simulation examples addressing
standard as well as application oriented problems, where the algorithms of this and previous
chapters are compared in some detail.
In Chapter 7, a family of fast RLS algorithms based on the FIR lattice realization is introduced.
These algorithms represent interesting alternatives to the computationally complex conventional
RLS algorithm. In particular, the unnormalized, the normalized and the error-feedback algorithms
are presented.
Chapter 8 deals with the fast transversal RLS algorithms, which are very attractive due to their
low computational complexity. However, these algorithms are known to face stability problems in
practical implementation. As a consequence, special attention is given to the stabilized fast
transversal RLS algorithm.
Chapter 9 is devoted to a family of RLS algorithms based on the QR decomposition. The
conventional and a fast version of the QR-based algorithms are presented in this chapter.
Chapter 10 addresses the subject of adaptive filters using IIR digital filter realizations. The chapter
includes a discussion on how to compute the gradient and how to derive the adaptive algorithms.
The cascade, the parallel, and the lattice realizations are presented as interesting alternatives to the
direct-form realization for the IIR adaptive filter. The characteristics of the mean-square error
surface are also discussed in this chapter, for the IIR adaptive filtering case. Algorithms based on
alternative error formulations, such as the equation error and Steiglitz-McBride methods are also
introduced.