SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
63177-0
Making signal processing real--out of the lab and down to the street. Moving technology from ideal research conditions into real-life applications is always a challenge. The computing and timing issues involved in signal processing make it an especially difficult transition. Real-Time Signal Processing covers the entire process of implementing signal processing algorithms, from real-time concepts to multiprocessors and tradeoff analyses, and it provides a toolkit of hardware and software computing elements. This book walks through the entire system design process, from requirements development through life-cycle systems engineering, project management, integration, testing, and maintenance.
To work within the limitations of functioning implementations, Real-Time Signal Processing describes techniques that can be used across a broad range of hardware and software systems. Special emphasis is given to:
The book provides a process for mapping algorithms and architectures and illuminates it with several examples, including:
When it's time to put theory into practice, Real-Time Signal Processing provides the complete roadmap.
Click here for a sample chapter for this book: 0136317715.pdf
1. Real Time Concepts.
Definition of Real Time. Structural Levels of Processing. Approximate Processing.
Definition of Processor. General Purpose Microprocessor. Digital Signal Processor. Specialized Processors.
Trade Study. Algorithm Complexity. Software-Hardware Tradeoffs.
Space-Time Tradeoffs in Software. Space-Time Tradeoffs in Hardware.
Introduction. Processes and Procedures. Tools and Techniques.
Basic Descriptions of Architecture and Algorithm. Two-Dimensional Convolution on One Processor. Two-Dimensional Convolution on Multiple Processors. Linear Prediction Coding Applied to Telephone Speech. Two-Dimensional Filter Mapped onto Multiple Processors. Synthetic Aperture Radar Image Formation.
Introduction. Basic Components.
Background. Fourier Transform. Wavelet Transform. Linear Predictive Coding.
Speech Coding. Vector Quantization. Image Compression.
Real Time Pattern Comparison. Speech Recognition. Image Recognition.
Design Processes. System Engineering. Requirements Design. Hardware Design. Software Design. System Integration and Testing. Example System Design.
This book illuminates the methods for moving an algorithm from the general-purpose computing environment of signal processing research into the real time processing domain of signal processing applications. This application domain is characterized by a need to process at a speed that keeps up with the input and to do this on a system that is small, economical, and reliable. This is the only book to date that spans the broad range of real time implementation techniques. While other texts focus more closely on specific domains such as software code for signal processing, VLSI design of custom architectures, or real time image processing applications, this book pulls these and other topics together into a common framework, encouraging optimization of design across a wide range of approaches. Broad issues such as hardware versus software realization, space versus time tradeoffs, and off-the-shelf versus custom components are discussed here.
The intended readership includes the practicing signal processing engineer who is faced with the task of moving a signal processing algorithm that has been proven in research into a real time implementation for deployment. This book is also written for the graduating student of signal processing who seeks to quickly contribute to the practice of real time signal processing in industry. Finally, it is intended for the researcher in signal processing algorithms who requires an understanding of the process of deploying the algorithm under study into a system that must meet constraints in processing time, size, and cost. As the field of signal processing matures, its research results are increasingly applied to the development of solutions to signal processing problems that integrate some combination of algorithms, hardware, and software into a system. Such a system must produce its results in real time, often within the limited volume and power that allow moving the system to the signal source (rather than delivering the signal to a massive immobile processor). The system also must be economical. Conversely, the set of algorithms that make up an application is developed and proven on computers with no constraints on execution time, size, or cost, since the purpose of the research environment is to provide maximum flexibility and observability to the signal processing researcher.
Preparing the algorithm for deployment requires tradeoffs and integration across these multiple domains of algorithm, hardware, and software. For example, changes to both the structure of the algorithm and the structure of the hardware and software that execute the algorithm are usually needed. Such changes can include introducing more computational steps to achieve regularity of computation, decomposing an algorithm onto a particular architecture (which may consist of multiple processors), or devising a special architecture suited for the algorithm for subsequent implementation in custom hardware. On the microscopic level, one may choose whether to perform a piece of the algorithm in hardware or in software, trading speed against flexibility. On the macroscopic level, one chooses whether to reduce the total lifecycle cost of the system, optimizing across development, production, and maintenance, or instead to minimize only one factor, such as the development cost.
This book describes the underlying principles of signal processing solution engineering, encouraging the application of these principles from one implementation to another. Its unique challenge is to articulate these techniques in a manner that is not specific to any one system, yet is based on the realities of actual implementation. Unlike the fundamentals of digital signal processing algorithms, which are the starting point for any signal processing solution and therefore permeate all implementations, the fundamentals of digital signal processing implementation enter at a later point in the design cycle. Extricating these techniques from the specifics for the implementation and discussing them in a manner that emphasizes their application across a diversity of system realizations is the purpose of this book.
Chapter 1 exposes the basic concepts that govern real time signal processing. It begins by developing a definition of real time processing, then examines how real time operation imposes constraints upon the processing of the groups of samples that comprise a digital signal. It concludes with a discussion of approximate signal processing, in which limited computational time is allocated to achieve the best possible partial results, often in a manner that allows later incremental improvement.
In Chapter 2, the definition of processors is built up, beginning with simple concepts of sequential and combinational logic. The discussion progresses to the general-purpose microprocessor and then moves to the programmable digital signal processor and its enhancements beyond the microprocessor. The chapter concludes with a discussion of signal processing operations that stress the capabilities of programmable digital signal processors, leading to a discussion of the design of custom signal processing architectures.
Since a given set of system requirements may be met in a variety of ways, signal processing system design involves a series of choices in multiple domains. Chapter 3 is devoted to analyzing the tradeoffs that must be performed, and so it begins with a systematic way of performing a tradeoff analysis. Tradeoff in algorithm complexity and between hardware and software implementations are discussed. Chapter 4 moves tradeoffs from the general to the specific as it identifies the central concept of the exchange of space for time and then applies this concept to space-time tradeoffs in software and in hardware.
Mapping algorithm and architecture is the main purpose of signal processing system design. Basic principles of mapping both algorithms to architectures and architectures to algorithms are described in Chapter 5. Specific examples are given in Chapter 6 that include the computing architectures of both single and multiple processors, and algorithms that require both local and global communication. Detailed examples include two-dimensional convolution on both one and multiple processors, linear predictive coding of speech, image filtering, and synthetic aperture radar image formation.
Chapters 7, 8, 9, and 10 together comprise a selection of software and hardware computing elements useful in solving real-time signal processing problems. This toolbox includes basic hardware and software structures such as buses and address computation methods that span many signal processing applications. After establishing these universal components in Chapter 7, the remaining chapters follow the stages of the information extraction chain that are common to the signal processing task of converting large amounts of data to useful nuggets of information. In Chapter 8, tools for such front-end signal analysis techniques as the Fourier transform and wavelet transform are described. Chapter 9 builds upon signal analysis to address the hardware and software structures for signal compression. Once a signal is analyzed and compressed, its information content may be compared with the information content from another signal. Such comparisons are at the root of signal recognition applications. Chapter 10 discusses computing elements for the training and recognition operations of signal comparison systems.
The discipline of life cycle systems engineering is discussed in Chapter 11. This is important for signal processing systems that are being engineered for mass production and for which lifecycle cost is an important factor. The chapter begins with a survey of the steps of the system design process, then provides a description of the systems engineering process. The subsequent steps of requirements design, hardware design, software design, and system integration and testing are then described. Finally, a case study culminates the illumination of signal processing system design. The design of a real time processor for image recognition is examined. Many of the previous topics of the book, inducing system engineering tradeoffs, special processing structures, and the stages of the system design process, are described for an actual design example that was conducted.
The idea for this book began in 1984, when the author was designing computers and algorithms for real-time speech processing at AT&T Bell Laboratories, now Lucent Technologies. Dr. Larry Rabiner began the author's thinking of the underlying principles of real-time signal processing through his invitation to present an invited paper on the topic of real-time speech processing. Discussions with Dr. Ronald Crochiere over a long working relationship were valuable in refining some of the concepts that are described and in developing the framework that has since been used as the outline of this book.
Involvement with the systems engineering process is based upon the author's work as head of the Signal Processing Systems Engineering Department of AT&T Bell Laboratories, working on the Enhanced Modular Signal Processor (now in production as the AN/UYS-2) of the U.S. Navy. Skills in large-scale system engineering and design for manufacture were learned from Caryl Pettijohn, Mary Albright, David Long, David Marr, Jerry Mulyk, and Bill Robinson. More recently, work on real-time image processing architectures and algorithms was added from work at the Environmental Research Institute of Michigan (now ERIM International Inc.), with significant influences by Dr. Ron Carpinella, Dr. John Gorman, Dr. Quentin Holmes, Bob Lougheed, David McCubbrey, Paul Mohan, Dr. Jeremy Salinger, Ron Swonger, Dr. Nikola Subotic, and Dr. Gregory Warhola.
Presentation of a structured compilation of real time signal processing techniques began as a special session of the Institute of Electrical and Electronics Engineering (IEEE) International Conference on Acoustics, Speech, and Signal Processing (ICASSP) that the author organized in 1995. An expanded version of that session became the subject of a special issue of the Journal of VLSI Signal Processing, published in 1996. The specifics of this subject were organized into a tutorial presented at the IEEE ICASSP-96 and in-house at ERIM International, Inc. The material for that course became the basis for this book. Most recently, the 1997 IEEE Workshop on Signal Processing Systems Design and Implementation by the IEEE Signal Processing Society Technical Committee on the Design and Implementation of Signal Processing Systems (DISPS), allowed inclusion of some of the most recent topics of interest in this growing field. More generally, the IEEE, its Signal Processing Society, and the DISPS Committee have all contributed greatly to this book. Dr. Dan Dudgeon of MIT Lincoln Laboratory made excellent comments in the review of a draft of this book that have improved it significantly. Any shortfalls, of course, are those of the author alone. The help and guidance of Bernard Goodwin and Karen Gettman of Prentice Hall and of Patty Donovan and the eagle-eyed copyeditor, at Pine Tree Composition are gratefully acknowledged as essential to bringing this 15-year dream to reality.
Ann Arbor
May, 1999