DSP for embedded and real-time systems
- Newnes Oxford 2012
- XXXIV,621 p
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
A guide that gives you the techniques and technologies in digital signal processing (DSP) to optimally design and implement your embedded system. Suitable for both the beginner and experienced, it covers various aspects of using DSP techniques and technologies for designing and implementing an optimal embedded system.