Digital signal processing (DSP) has been applied to a very wide range of applications. This includes voice processing, image processing, digital communications, the transfer of data over the internet, image and data compression, etc. Engineers who develop DSP applications today, and in the future, will need to address many implementation issues including mapping algorithms to computational structures, computational efficiency, power dissipation, the effects of finite precision arithmetic, throughput and hardware implementation. It is not practical to cover all of these in a single text. However, this text emphasizes the practical implementation of DSP algorithms as well as the fundamental theories and analytical procedures that form the basis for modern DSP applications.
Digital Signal Processing: Principles, Algorithms and System Design provides an introduction to the principals of digital signal processing along with a balanced analytical and practical treatment of algorithms and applications for digital signal processing. It is intended to serve as a suitable text for a one semester junior or senior level undergraduate course. It is also intended for use in a following one semester first-year graduate level course in digital signal processing. It may also be used as a reference by professionals involved in the design of embedded computer systems, application specific integrated circuits or special purpose computer systems for digital signal processing, multimedia, communications, or image processing.
Key Features
- Covers fundamental theories and analytical procedures that form the basis of modern DSP
- Shows practical implementation of DSP in software and hardware
- Includes Matlab for design and implementation of signal processing algorithms and related discrete time systems
- Bridges the gap between reference texts and the knowledge needed to implement DSP applications in software or hardware
- List of Tables
- References
- List of Figures
- References
- About the Authors
- Preface
- Chapter 1: Introduction to Digital Signal Processing
- Abstract
- 1.1. Introduction
- 1.2. Deterministic and Random Signals
- 1.3. Mathematical Representation of Signals
- 1.4. Typical Signal Processing Operations
- 1.5. Signal Processing with Matlab
- 1.6. Problems for Chapter 1
- 1.7. Matlab Problems for Chapter 1
- References
- Chapter 2: Fundamental DSP Concepts
- Abstract
- 2.1. Introduction
- 2.2. Representing Discrete Time Signals
- 2.3. Elementary Discrete Time Signals
- 2.4. Classification of Discrete Time Signals
- 2.5. Transformation of Signals
- 2.6. Operations on Sequences
- 2.7. Sampling Continuous Time Signals
- 2.8. Discrete Time Convolution
- 2.9. Output Response of a Discrete Time System to a Given Input Sequence
- 2.10. Difference Equation Representation
- 2.11. Normalized Frequency Representation
- 2.12. Periodicity for Discrete Time Sequences
- 2.13. Interconnection of Systems
- 2.14. Discrete Time Correlation
- 2.15. The Z Transform
- 2.16. Properties of the Z Transform
- 2.17. System Transfer Function
- 2.18. Poles and Zeros
- 2.19. The Difference Equation and the Transfer Function
- 2.20. The Z Transform of a Sequence
- 2.21. Bounded Input, Bounded Output Stability
- 2.22. The Inverse Z Transform
- 2.23. Systems with Complex Poles
- 2.24. Systems with Multiple Poles
- 2.25. Nonzero Initial Conditions
- 2.26. Reconstruction of Discrete Time Signals
- 2.27. Sample Rate Conversion by Interpolation
- 2.28. Sample Rate Conversion by Decimation
- 2.29. Non-Integer Ratio Interpolation or Decimation
- 2.30. Problems for Chapter 2
- 2.31. Matlab Problems for Chapter 2
- References
- Chapter 3: Frequency Domain Analysis
- Abstract
- 3.1. Frequency Analysis of Discrete Time Signals
- 3.2. Frequency Response Characteristics
- 3.3. Frequency Response Estimates using Pole–Zero Plots
- 3.4. Frequency Filtering
- 3.5. Frequency Domain Sampling
- 3.6. The Discrete Fourier Transform
- 3.7. Discrete Fourier Transform Examples
- 3.8. Convolution Using the DFT
- 3.9. Filtering of Long Data Sequences
- 3.10. The Discrete Cosine Transform
- 3.11. Fast Fourier Transform Algorithms
- 3.12. Problems for Chapter 3
- 3.13. Matlab Problems for Chapter 3
- References
- Chapter 4: Design of Digital Filters
- Abstract
- 4.1. Filter Specifications
- 4.2. Causality Constraints
- 4.3. Symmetry and Antisymmetry for FIR Filters
- 4.4. Window Based FIR Filter Design
- 4.5. Fixed Window Functions
- 4.6. Design of FIR Filters Using Matlab
- 4.7. Comparison of FIR Filter Designs
- 4.8. Design by Simulating the Differentiator
- 4.9. Impulse Invariant Design
- 4.10. Design using the Bilinear Transformation
- 4.11. Design using Analog Filter Prototypes
- 4.12. Frequency Transformations
- 4.13. Frequency Transformation Procedures
- 4.14. Design of IIR Filters using Matlab
- 4.15. Problems for Chapter 4
- 4.16. Matlab Problems for Chapter 4
- References
- Chapter 5: Implementation of Discrete Time Systems
- Abstract
- 5.1. Structures for the Realization of FIR Systems
- 5.2. FIR Lattice Implementation
- 5.3. Cascade Implementation of FIR Filters
- 5.4. Structures for the Realization of IIR Systems
- 5.5. All Pass Digital Filters
- 5.6. All Pole IIR Lattice Structure
- 5.7. IIR Lattice Structure
- 5.8. Implementing IIR Filters Using Matlab
- 5.9. State Space Realization
- 5.10. Problems for Chapter 5
- 5.11. Matlab Problems for Chapter 5
- References
- Chapter 6: Finite Word Length Effects
- Abstract
- 6.1. Introduction
- 6.2. Representation of Floating Point Numbers
- 6.3. Computational Errors due to Rounding
- 6.4. Two's Complement Representation of Numbers
- 6.5. Analytical Basis for Two's Complement Numbers
- 6.6. Scaling FIR Digital Filters
- 6.7. Scaling IIR Digital Filters
- 6.8. Scaling the State Space Representation
- 6.9. Statistical Analysis of Word Length Effects
- 6.10. Problems for Chapter 6
- 6.11. Matlab Problems for Chapter 6
- References
- Chapter 7: Multirate Digital Signal Processing
- Abstract
- 7.1. Conceptual View of Modifying Sampling Rate
- 7.2. Frequency Representation of the Upsampler
- 7.3. Frequency Interpretation of the Downsampler
- 7.4. Multirate Structures for Sampling Rate Conversion
- 7.5. Frequency-Based Interpolation using the FFT
- 7.6. Sampling Rate Conversion by a Rational Number
- 7.7. Noble Identities
- 7.8. Interpolation using a Polyphase Filter
- 7.9. Decimation using a Polyphase Filter
- 7.10. Multistage Decimator
- 7.11. Multirate Filter Banks
- 7.12. Multilevel Filter Banks
- 7.13. Problems for Chapter 7
- References
- Chapter 8: Digital Signal Processing Systems Design
- Abstract
- 8.1. Introduction
- 8.2. General Purpose Processors
- 8.3. Programmable Digital Signal Processor
- 8.4. Field Programmable Gate Array
- 8.5. Application Specific Computing Systems
- 8.6. System on a Chip
- 8.7. Computational Structures
- 8.8. Parallel Algorithm Expressions
- 8.9. Pipeline Implementation of DSP Systems
- 8.10. Moving Delays Around
- 8.11. Retiming of Cellular Arrays
- 8.12. Computational Cells for Arrays
- 8.13. Pipelining Techniques
- 8.14. FIR Filter Computational Structures
- 8.15. Interleave FIR Digital Filter
- 8.16. Linear Phase FIR Filter
- 8.17. Second Order IIR Filter Section
- 8.18. Block Implementation of IIR Digital Filters
- 8.19. Matrix–Vector Multiplication
- 8.20. Problems for Chapter 8
- 8.21. Matlab Problems for Chapter 8
- References
- Chapter 9: Hardware Implementation
- Abstract
- 9.1. Introduction
- 9.2. Pipeline FIR Filter Implementation
- 9.3. IIR Filter Implementation
- References
- Chapter 10: Multidimensional Discrete Time Systems
- Abstract
- 10.1. Introduction
- 10.2. Multidimensional Sequences
- 10.3. Multidimensional Systems
- 10.4. Two-Dimensional Convolution
- 10.5. Cascade and Parallel Connection of Systems
- 10.6. Stability of M-D Systems
- 10.7. Regions of Support
- 10.8. Frequency Domain Characteristics
- 10.9. The 2-D Impulse Response
- 10.10. The 2-D Fourier Transform
- 10.11. 2-D Convolution
- 10.12. The Discrete Cosine Transform
- References
- Appendix A: Matlab Code for Chapter 3
- A.1. Generate a Test Sequence
- Appendix B: Matlab Code for Chapter 4
- B.1. Hamming Window Design
- Appendix C: Matlab Code for Chapter 5
- C.1. IIR Second Order Sections
- C.2. Vector Implementation of IIR Filter
- C.3. Linear Phase IIR Filter
- Appendix D: Matlab Code for Chapter 6
- D.1. Scaling of FIR Filters
- D.2. Output Overflow Scaling of FIR Filters
- D.3. Scaling of IIR Filters
- D.4. Output Overflow Scaling of IIR Filters
- D.5. Scaling the State Space Model
- D.6. Scaling IIR SOS in Direct Form II
- D.7. The Fixed Point State Space Model
- Appendix E: Matlab Code for Chapter 7
- E.1. Polyphase Filter with Downsampling
- E.2. Polyphase Filter with Upsampling
- Appendix F: Matlab Code for Chapter 8
- F.1. Multiply/Accumulate Cellular Array
- F.2. Multiply/Accumulate FIR Pipeline
- F.3. A Second Input Sample Sequence
- F.4. Multiply/Add Computational Array
- F.5. Multiply/Add FIR Pipeline
- F.6. Interleave FIR Filter Cellular Array
- F.7. Interleave FIR Filter Pipeline
- F.8. Linear Phase FIR Cellular Array
- F.9. Computational Cell for the Linear Phase FIR Filter
- F.10. Implementation of the FIR Linear Phase Filter
- Appendix G: Matlab Code for Chapter 9
- G.1. FIR Interleave Computational Cell
- G.2. FIR Interleave Array
- G.3. FIR Interleave Array Test
- G.4. Fixed Point FIR Interleave Cell
- G.5. Fixed Point FIR Interleave Array
- G.6. Fixed Point FIR Interleave Test
- G.7. Two's Complement FIR Interleave Cell
- G.8. Two's Complement FIR Interleave Array
- G.9. Two's Complement FIR Interleave Array Test
- G.10. Two's Complement of Integer Numbers
- G.11. Inverse Two's Complement
- G.12. Two's Complement Multiplication
- Bibliography
- Index
Tan / Digital Signal Processing: Fundamentals and Applications, Second Edition / 9780124158931Smith / Digital Signal Processing: A Practical Guide for Engineers and Scientists / 9780750674447Broesch / Digital Signal Processing: Instant Access / 9780750689762