LIMITED OFFER
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code needed.
This Expert Guide gives you the techniques and technologies in digital signal processing (DSP) to optimally design and implement your embedded system. Written by experts with a so… Read more
LIMITED OFFER
Immediately download your ebook while waiting for your print delivery. No promo code needed.
This Expert Guide gives you the techniques and technologies in digital signal processing (DSP) to optimally design and implement your embedded system. Written by experts with a solutions focus, this encyclopedic reference gives you an indispensable aid to tackling the day-to-day problems you face in using DSP to develop embedded systems.
With this book you will learn:
Features:
DSP for Embedded and Real-Time Systems is the reference for both the beginner and experienced, covering most aspects of using today’s DSP techniques and technologies for designing and implementing an optimal embedded system.
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
RO