COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
DSP Software Development Techniques for Embedded and Real-Time Systems - 1st Edition - ISBN: 9780750677592, 9780080491196

DSP Software Development Techniques for Embedded and Real-Time Systems

1st Edition

Author: Robert Oshana
Paperback ISBN: 9780750677592
eBook ISBN: 9780080491196
Imprint: Newnes
Published Date: 28th December 2005
Page Count: 608
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

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

Fast, Specialized Arithmetic

High Bandwidth Memory Architectures

Pipelined Processing

Specialized Instructions and Address Modes

Examples of DSP Architectures

Chapter 6: Optimizing DSP Software


What Is Optimization?

The Process

Make The Common Case Fast

Make the Common Case Fast—DSP Architectures

Make the Common Case Fast—DSP Algorithms

Make the Common Case Fast—DSP Compilers

An In-Depth Discussion of DSP Optimization

Direct Memory Access

Managing Internal Memory

Loop Unrolling

Software Pipelining

More on DSP Compilers and Optimization

Programmer Helping Out the Compiler

Profile-Based Compilation

Chapter 7: Power Optimization Techniques Using DSP


Power Optimization Techniques in DSP Devices

Power Optimization for DSP Operating Systems

Power Optimization Techniques for DSP Applications

Using Idle Modes

Top Ten Power Optimizations

Power Optimization Life Cycle

Power Optimization Summary

Chapter 8: Real-Time Operating Systems for DSP

What Makes an OS an RTOS?

Concepts of RTOS

Chip Support Software for DSP RTOS

DSP RTOS Application Example



Shared Resource Integrity

Synchronizing Tasks for Mutual Exclusion

Mutual Exclusion Through Sharable Resources

Pseudocode for Telecommunication System Tasks

Other Kinds of Synchronization


Schedulability and Response Times

Scheduling Policies in Real-Time Systems

Analyzing Scheduling Behavior in Preemptive Systems

Analyzing More Complex Systems


Chapter 9: Testing and Debugging DSP Systems

On-Chip Emulation Capability

Emulation Capabilities

High-Speed Data Collection and Visualization

Compiler and Linker Dependencies

Real-Time Embedded Software Testing Techniques

Task Synchronization and Interrupt Bugs

Chapter 10: Managing the DSP Software Development Effort


Challenges in DSP Application Development

The DSP Design Process

Design Challenges for DSP Systems

High Level Design Tools for DSP

DSP Toolboxes

Host Development Tools for DSP Development

A Generic Data Flow Example

Code Tuning and Optimization

Putting it all Together

Chapter 11: Embedded DSP Software Design Using Multicore System-on-a-Chip (SoC) Architectures

Multicore System-on-a-Chip

Software Architecture for SoC

SoC System Boot Sequence

Tools Support for SoC

A Video Processing Example of SoC

Chapter 12: The Future of DSP Software Technology

Changes in DSP Technology—Hardware and Software

Foundations for Software Components

From Closed to Open Embedded Systems

Away From Undifferentiated Hacking


A: Software Performance Engineering of an Embedded DSP System Application

B: More Tips and Tricks for DSP Optimization

C: Cache Optimization in DSP and Embedded Systems

D: Specifying Behavior of Embedded DSP Systems

E: Analysis Techniques for Real-Time DSP Systems

F: DSP Algorithmic Development—Rules and Guidelines

About the Author



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


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.


No. of pages:
© Newnes 2005
28th December 2005
Paperback ISBN:
eBook ISBN:


“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

Ratings and Reviews

About the Author

Robert Oshana

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