Table of Contents

Cover image

Title page

Copyright

Author Biographies

DSP in Embedded Systems: A Roadmap

Chapter 1. Introduction to Digital Signal Processing

What is digital signal processing?

Advantages of DSP

DSP systems

Applications for DSPs

Power efficient DSP applications

Conclusion

Chapter 2. Overview of Real-time and Embedded Systems

Real-time systems

Efficient execution and the execution environment

Challenges in real-time system design

Distributed and multi-processor architectures

Embedded systems

Summary

Chapter 3. Overview of Embedded Systems Development Lifecycle Using DSP

Embedded systems

The embedded system lifecycle using DSP

FPGA solutions

A general signal processing solution

DSP acceleration decisions

Models of DSP processing

Code tuning and optimization

Typical DSP development flow

Putting it all together

Chapter 4. Programmable DSP Architectures

Common features of programmable DSP architectures

Memory architecture

Data operations

Chapter 5. FPGA in Wireless Communications Applications

Introduction

Beamforming for WiMAX

Conclusion

REFERENCES

Chapter 6. The DSP Hardware/Software Continuum

Introduction

FPGA in embedded design

Application specific integrated circuits versus FPGA

Software programmable digital signal processing

General purpose embedded cores

Putting it all together

Bibliography

Chapter 7. Overview of DSP Algorithms

Applications of DSP

Systems and signals

The basic DSP system

Frequency analysis

Algorithm implementation – DSP architecture

Implementing an FIR filter

System issues

Conclusion

Chapter 8. High-level Design Tools for Complex DSP Applications

High-level synthesis design methodology

High-level design tools

Catapult C

Case studies

LDPC decoder design example using PICO

Matrix multiplication design example using Catapult C

QR decomposition design example using System Generator

Conclusion

REFERENCES

Chapter 9. Optimizing DSP Software – Benchmarking and Profiling DSP Systems

Introduction

Writing a test harness

Isolating a DSP kernel

Modeling of true system behaviors

System effects

Execution in a multicore/multidevice environment

Measuring the measurement

Chapter 10. Optimizing DSP Software – High-level Languages and Programming Models

Assembly language

C Programming language with intrinsics and pragmas

Embedded C

C++ for embedded systems

Auto-vectorizing compiler technology

Chapter 11. Optimizing DSP Software – Code Optimization

Optimization process

Using the development tools

Background – understanding the DSP architecture

Basic C optimization techniques

Use of intrinsics to leverage DSP features

Pointers and memory access

Loops

Hardware loops

Additional tips and tricks

General loop transformations

Loop unrolling

Multisamping

Partial summation

Software pipelining

Example application of optimization techniques: cross correlation

Chapter 12. DSP Optimization – Memory Optimization

Introduction

Code size optimizations

Memory layout optimization

Chapter 13. Software Optimization for Power Consumption

Introduction

Understanding power consumption

Measuring power consumption

Profiling your application’s power consumption

Minimizing power consumption

Clock and voltage control

Optimizing data flow

Peripheral/communication utilization

Summary and closing remarks

REFERENCES

Chapter 14. DSP Operating Systems

Introduction

DSP OS fundamentals

Real-time constraints

Multicore considerations

Memory management

Networking

Scheduling

Tools support for DSP OSes

Conclusions

REFERENCES

Chapter 15. Managing the DSP Software Development Effort

Introduction

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 16. Multicore Software Development for DSP

Introduction

Multcore programming models

Porting guidelines

Conclusions

Chapter 17. Developing and Debugging a DSP Application

Integrated Development Environment overview

Creating a new project

Build and link the application for a multi-core DSP environment

Execute and debug the application on multi-core DSP

Trace and Profile the multicourse application using hardware and software dedicated resources

CASE STUDY 1: Case Study – LTE Baseband Software Design

CASE STUDY 2: DSP for Medical Devices

CASE STUDY 3: Voice Over IP DSP Software System

CASE STUDY 4: Software Performance Engineering of an Embedded System DSP Application

CASE STUDY 5: Specifying Behavior of Embedded Systems

CASE STUDY 6: DSP for Software Defined Radio

Index

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

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