Uncini honestly acknowledges in the preface of this book that it is somewhat of a patchwork. The main reason is that his intention was to produce a work with quite a broad scope. Surprisingly, the result is rather successful, although not everything the author wanted could fit in this book, and a second volume is planned. The current volume, at nearly 700 pages, begins with an introductory chapter on discrete time signal processing. This chapter suffers from the typical “out of place” syndrome. It is too short to learn from and too selective for a refresher. Usually, people without a specific time processing background don’t jump into adaptive algorithmics.
The second chapter introduces the concept of adaptive signal processing. It does so through applications and biology analogies. In the third chapter, the author delves into the core of the subject, giving a detailed treatment of optimal filtering and providing some interesting applications, such as time delay estimation and noise cancellation. Chapter 4 is devoted to the least squares (LS) method. The basic LS principle is introduced, followed by some of the classic methods used to solve the LS problem, such as the well-known variants of matrix decomposition.
The big family of least mean square (LMS) adaptive algorithms is presented in chapter 5. Almost every aspect of the LMS principle is discussed, followed by statistical analysis and performance metrics. The chapter concludes by presenting a few of the most popular variants of LMS. The next chapter covers the very important class of fast-adapting algorithms, starting with the Newton algorithm and continuing with affine projection and recursive least squares (RLS). Also, the Kalman filter is presented and its relation to RLS is discussed, as well as the tracking performances of LMS and RLS.
The theme of chapter 7 is transform domain adaptation. The emphasis is placed on transform domain LMS. Sub-band adaptive filtering is also discussed. The book’s core topics are concluded in chapter 8, where linear prediction and the naturally associated order recursion are presented. This chapter concludes with a discussion on fast Kalman and fast transversal algorithms. The last chapter is essentially an application chapter, which provides a thorough introduction to array signal processing and adaptive beamforming for both narrowband and broadband signals. Three appendixes containing a relevant mathematical refresher conclude the book.
Despite its unevenness, the book can be recommended for a first course in adaptive signal processing.