Today's embedded and real-time systems contain a mix of processor types: off-the-shelf microcontrollers, digital signal processors (DSPs), and custom processors. The decreasing cost of DSPs has made these sophisticated chips very attractive for a number of embedded and real-time applications, including automotive, telecommunications, medical imaging, and many others—including even some games and home appliances. However, developing embedded and real-time DSP applications is a complex task influenced by many parameters and issues.

DSP Software Development Techniques for Embedded and Real-Time Systems is an introduction to DSP software development for embedded and real-time developers giving details on how to use digital signal processors efficiently in embedded and real-time systems. The book covers software and firmware design principles, from processor architectures and basic theory to the selection of appropriate languages and basic algorithms. The reader will find practical guidelines, diagrammed techniques, tool descriptions, and code templates for developing and optimizing DSP software and firmware. The book also covers integrating and testing DSP systems as well as managing the DSP development effort.

Key Features

*Digital signal processors (DSPs) are the future of microchips!

*Includes practical guidelines, diagrammed techniques, tool descriptions, and code templates to aid in the development and optimization of DSP software and firmware

*The accompanying companion website contains code from the design examples used in the book, so developers can easily use it in their own designs


Computer engineers, embedded systems designers, software engineers who are using or planning to use DSPs in their real-time and embedded designs. Computer and software engineering students.

Table of Contents



Introduction: Why Use a DSP?

Chapter 1: Introduction to Digital Signal Processing

What is Digital Signal Processing

A Brief History of Digital Signal Processing

Advantages of DSP

DSP Systems

Analog-to-Digital Conversion

Digital-to-Analog Conversion

Applications for DSPs

Power Efficient DSP Applications

High Performance DSP Applications


Chapter 2: Overview of Embedded Systems and Real-Time Systems


Real-Time Systems

Hard Real-Time and Soft Real-Time Systems

DSP Systems are Hard Real-Time

Efficient Execution and the Execution Environment

Challenges in Real-Time System Design

Embedded Systems


Chapter 3: Overview of Embedded Systems Development Life Cycle Using DSP

Embedded Systems

The Embedded System Life Cycle Using DSP

Chapter 4: Overview of Digital Signal Processing Algorithms

Definition of an Algorithm

DSP Systems

Analog-to-Digital Conversion

An Audio Example

The Nyquist Criteria


Anti-Aliasing Filter

Sample Rate and Processor Speed

A to D Converters

Digital-to-Analog Conversion

Multirate Applications

Summary of Sampling

Introduction to Filters

Summary of Filter Types

Finite Impulse Response (FIR) Filters

Basic FIR Optimizations for DSP Devices

Summary of FIR Filters

Infinite Impulse Response Filters

IIR As a Difference Equation

IIR As a Transfer Function

IIR Filter Design

IIR Trade-Offs

DSP Architecture Optimization for Filter Implementation

Fast Fourier Transforms

Time vs. Frequency

Forms of the FFT Algorithm

FFT Implementation Issues

Chapter 5: DSP Architectures



No. of pages:
© 2005
Print ISBN:
Electronic ISBN:

About the editor

Robert Oshana

Rob Oshana has over 25 years of experience in the real-time embedded industry, in both embedded application development as well as embedded tools development. He is currently director of engineering for the Development Technology group at Freescale Semiconductor. Rob is also a Senior Member of IEEE and an adjunct at Southern Methodist University. He can be contacted at

Affiliations and Expertise

Director of Engineering, Freescale, TX, USA


“Engineers can choose from a variety of books about signal-processing theory and algorithms; but until Robert Oshana wrote this thorough volume, no single source addressed DSP-based applications at the project or life-cycle level. This volume does an excellent job, and I recommend it highly. Oshana’s experience developing DSP applications and teaching others about DSP tips, techniques and tricks led him to find and develop new ways to think about and approach a project. He provides that information in a format that will benefit engineers as well as engineering managers working on DSP projects.” — Jon Titus, ECN, December 15, 2006