Book Review

 

Embedded Signal Processing with the Micro Signal Architecture, by Woon-Seng Gan and Sen M. Kuo, Wiley Interscience, 2007, ISBN: Print 978-0471738411, Online 978-0470112274

Reviewed by Vladimir Botchev [vladimir.botchev@analog.com]

It is fair to say that a book of this kind has been quite overdue. The second author, for example, is well known for his insightful publications related to applications of signal processors. However, most such efforts were targeted toward a specific type of DSP architecture—as embodied in the Texas Instruments series of signal processors. The Blackfin® architecture, employing a relatively new approach at the time it joined the Analog Devices DSP portfolio, has since proved to have made a major impact. To this day, however, there has not existed a mainstream non-corporate publication adequately describing this powerful and flexible architecture, as well as the available software tools and real-world applications. The gap has been more than filled by this book; it will be useful to any engineer involved in the design, use, or servicing of Blackfin-based DSP systems.

Written as an application tutorial, the book contains an impressive number of hands-on experiments and examples. The authors also maintain a web site, where all relevant application software—and updates to it—can be found. Three main tools are used throughout the book: first and foremost, the VisualDSP® IDDE from Analog Devices, packaging a powerful C/C++ compiler, assembler, linker and many other tools and utilities to assist in DSP code development; second, a special version of National Instrument's LabVIEW, designed and tuned to work with the Blackfin series of processors; and third, the ubiquitous Matlab.

Many examples and experiments are first modeled in Matlab, then ported to Blackfin, either via direct programming or through automatic code generation from a LabVIEW worksheet.

An introductory chapter gives a brief overview of the platforms, Analog Devices EZ-KITs, and the DSP tools; and an Appendix is devoted to the special Blackfin edition of LabVIEW. Chapters Two through Four present classical DSP topics, such as time-domain concepts and processing, followed by transform domain processing; Chapter Four is devoted to digital filtering, including adaptive filtering. Theory is necessarily brief—since this is an applications book—but precisely stated, and MATLAB design tools, such as SPTool, are used extensively. Several examples show the direct, practical use of the concepts, and many exercises supplement the main text. LabVIEW examples are of particularly high value, since they map directly to DSP code that can be executed, with the results observed in real time.

Chapters Five to Eight are about the Blackfin processor itself. Chapter Five details the architecture of the signal processor, which shares common processing and data flow paths, with a variety of peripherals. Software tools (VisualDSP) are further detailed, and some applications are provided (e.g., a graphic equalizer). Chapter Six deals with number formats and concepts of real-time DSP programming. Chapter Seven is especially important for system designers: it is concerned with details of the memory architecture and data transfers—specifically, how to use cache memories, memory partitioning, and the DMA- and I/O ports. Chapter Eight concerns code optimization, assembly-language programming, and power-management issues.

The final part of the book is devoted to the author’s selected applications from digital audio and digital image-processing. The audio applications consist of: a decoder for Ogg Vorbis, a psychoacoustic audio-compression framework similar to MP3, but having the advantage of being royalty-free; 3D, HRTF spatializer and reverberation effects (LabVIEW provides here a nice example of the path from the visual representation of an audio-processing network to its immediate realization through code generation). The image-processing chapter presents several hands-on experiments, including color conversion, 2D DCT, 2D linear filtering, median filtering for impulse-noise attenuation, and histogram equalization for contrast enhancement.

As mentioned earlier, despite the extensive DSP literature from the manufacturer (analog.com) and user web sites, such as Blackfin.org, covering all aspects of the Analog Devices Blackfin, the authors have succeeded in making the book a nearly indispensable reference for anyone involved in the design of systems using that family of processors. Inevitably, there are a few omissions. One pertains to assembly-language optimization: although some consideration was given to it in Chapter Five, additional examples and details would be helpful to system designers. Another significant omission is one’s inability to find a single paragraph on the programming of the Ethernet interface available on the Blackfin 537, which version is predominantly used in the LabVIEW experiments. Nevertheless, these omissions do not diminish the high quality of the presentation.

In conclusion, the text is highly recommended to DSP practitioners who have an existing commitment to deal with Blackfin processors, as well as those who are considering an exploration of Blackfin capabilities.

© 2007 Association for Computing Machinery, Inc. Reprinted by permission

 

Copyright 1995- Analog Devices, Inc. All rights reserved.