You are previewing Digital Signal Processing: A Practitioner's Approach.
O'Reilly logo
Digital Signal Processing: A Practitioner's Approach

Book Description

Digital signal processing is essential for improving the accuracy and reliability of a range of engineering systems, including communications, networking, and audio and video applications. Using a combination of programming and mathematical techniques, it clarifies, or standardizes the levels or states of a signal, in order to meet the demands of designing high performance digital hardware.

Written by authors with a wealth of practical experience working with digital signal processing, this text is an excellent step-by-step guide for practitioners and researchers needing to understand and quickly implement the technology. Split into six, self-contained chapters, Digital Signal Processing: A Practitioner's Approach covers:

  • basic principles of signal processing such as linearity, stability, convolution, time and frequency domains, and noise;

  • descriptions of digital filters and their realization, including fixed point implementation, pipelining, and field programmable gate array (FGPA) implementation;

  • Fourier transforms, especially discrete (DFT), and fast Fourier transforms (FFT);

  • case studies demonstrating difference equations, direction of arrival (DoA), and electronic rotating elements, and MATLAB programs to accompany each chapter.

A valuable reference for engineers developing digital signal processing applications, this book is also a useful resource for electrical and computer engineering graduates taking courses in signal processing.

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright
  4. Dedication
  5. Contents
  6. Foreword
  7. Preface
  8. Acknowledgements
  9. Chapter 1: Processing of Signals
    1. 1.1 Organisation of the Book
    2. 1.2 Classification of Signals
    3. 1.3 Transformations
    4. 1.4 Signal Characterisation
    5. 1.5 Converting Analogue Signals to Digital
    6. 1.6 Signal Seen by the Computing Engine
    7. 1.7 It Is Only Numbers
    8. 1.8 Summary
    9. References
  10. Chapter 2: Revisiting the Basics
    1. 2.1 Linearity
    2. 2.2 Linear System Representation
    3. 2.3 Random Variables
    4. 2.4 Noise
    5. 2.5 Propagation of Noise in Linear Systems
    6. 2.6 Multivariate Functions
    7. 2.7 Number Systems
    8. 2.8 Summary
    9. References
  11. Chapter 3: Digital Filters
    1. 3.1 How to Specify a Filter
    2. 3.2 Moving-Average Filters
    3. 3.3 Infinite Sequence Generation
    4. 3.4 Unity-Gain Narrowband Filter
    5. 3.5 All-Pass Filter
    6. 3.6 Notch Filter
    7. 3.7 Other Autoregressive Filters
    8. 3.8 Adaptive Filters
    9. 3.9 Demodulating via Adaptive Filters
    10. 3.10 Phase Shift via Adaptive Filter
    11. 3.11 Inverse Problems
    12. 3.12 Kalman Filter
    13. 3.13 Summary
    14. References
  12. Chapter 4: Fourier Transform and Signal Spectrum
    1. 4.1 Heterodyne Spectrum Analyser
    2. 4.2 Discrete Fourier Transform
    3. 4.3 Decimating the Given Sequence
    4. 4.4 Fast Fourier Transform
    5. 4.5 Fourier Series Coefficients
    6. 4.6 Convolution by DFT
    7. 4.7 DFT in Real Time
    8. 4.8 Frequency Estimation via DFT
    9. 4.9 Parametric Spectrum in RF Systems
    10. 4.10 Summary
    11. References
  13. Chapter 5: Realisation of Digital Filters
    1. 5.1 Evolution
    2. 5.2 Development Process
    3. 5.3 Analogue-to-Digital Converters
    4. 5.4 Second-Order BPF
    5. 5.5 Pipelining Filters
    6. 5.6 Real-Time Applications
    7. 5.7 Frequency Estimator on the DSP5630X
    8. 5.8 FPGA Implementation of a Kalman Filter
    9. 5.9 Summary
    10. References
  14. Chapter 6: Case Studies
    1. 6.1 Difference Equation to Program
    2. 6.2 Estimating Direction of Arrival
    3. 6.3 Electronic Rotating Elements
    4. 6.4 Summary
    5. References
  15. Appendix: MATLAB and C Programs
    1. A.1 Chapter 1 MATLAB Programs
    2. A.2 Chapter 2 MATLAB Programs
    3. A.3 Chapter 3 MATLAB Programs
    4. A.4 Chapter 4 MATLAB Programs
    5. A.5 Chapter 5 Programs
    6. A.6 Chapter 6 MATLAB Programs
    7. A.7 Library of Subroutines
    8. A.8 Some Useful Programs
  16. Index