Table of Contents

Cover image

Title page

Copyright

Dedication

Acknowledgments

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

Conclusion

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

Introduction

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

Summary

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

Aliasing

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

Introduction

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

Introduction

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

Summary

Deadlock

Shared Resource Integrity

Synchronizing Tasks for Mutual Exclusion

Mutual Exclusion Through Sharable Resources

Pseudocode for Telecommunication System Tasks

Other Kinds of Synchronization

Summary

Schedulability and Response Times

Scheduling Policies in Real-Time Systems

Analyzing Scheduling Behavior in Preemptive Systems

Analyzing More Complex Systems

Summary

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

Overview

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

Conclusion

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

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.143.31