rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780201596199

Digital Signal Processing A Practical Approach

by ;
  • ISBN13:

    9780201596199

  • ISBN10:

    0201596199

  • Edition: 2nd
  • Format: Paperback
  • Copyright: 2001-09-27
  • Publisher: Prentice Hall
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $202.80

Summary

This book clearly explains digital signal processing principles and shows how they can be used to build DSP systems. The aim is to give enough insight and practical guidance to enable an engineer to construct DSP systems. The book's programs are written in C, the language used in DSP.

Author Biography

Emmanuel Ifeachor is Professor of Intelligent Electronic Systems and Director of the Centre for Communications, Networks and Information Systems at the University of Plymouth, UK.

Barrie Jervis is Professor of Electronic Engineering at Sheffield Hallam University, UK.

This book evolved from the authors' extensive experience in teaching practically oriented courses in DSP to both undergraduates and engineers in industry. Their own research in applied DSP has influenced the contents of the book and provided many of the examples and case studies.

Table of Contents

Preface xv
Introduction
1(36)
Digital signal processing and its benefits
1(2)
Application areas
3(2)
Key DSP operations
5(8)
Convolution
5(2)
Correlation
7(2)
Digital filtering
9(2)
Discrete transformation
11(1)
Modulation
11(2)
Digital signal processors
13(1)
Overview of real-world applications of DSP
13(2)
Audio applications of DSP
15(8)
Digital audio mixing
15(1)
Speech synthesis and recognition
16(3)
The compact disc digital audio system
19(4)
Telecommunication applications of DSP
23(6)
Digital cellular mobile telephony
23(4)
Set-top box for digital television reception
27(1)
Adaptive telephone echo cancellation
28(1)
Biomedical applications of DSP
29(6)
Fetal ECG monitoring
30(3)
DSP-based closed loop controlled anaesthesia
33(2)
Summary
35(2)
Problems
35(1)
References
35(1)
Bibliography
36(1)
Analog I/O interface for real-time DSP systems
37(67)
Typical real-time DSP systems
38(1)
Analog-to-digital conversion process
39(1)
Sampling - lowpass and bandpass signals
40(25)
Sampling lowpass signals
40(16)
Sampling bandpass signals
56(9)
Uniform and non-uniform quantization and encoding
65(6)
Uniform quantization and encoding (linear pulse code modulation (PCM))
66(2)
Non-uniform quantization and encoding (nonlinear PCM)
68(3)
Oversampling in A/D conversion
71(13)
Introduction
71(1)
Oversampling and anti-aliasing filtering
71(3)
Oversampling and ADC resolution
74(4)
An application of oversampling - single-bit (oversampling) ADC
78(6)
Digital-to-analog conversion process: signal recovery
84(1)
The DAC
84(2)
Anti-imaging filtering
86(1)
Oversampling in D/A conversion
86(4)
Oversampling D/A conversion in the CD player
87(3)
Constraints of real-time signal processing with analog input/output signals
90(1)
Application examples
91(1)
Summary
92(12)
Problems
92(10)
References
102(1)
Bibliography
102(2)
Discrete transforms
104(68)
Introduction
104(7)
Fourier series
106(3)
The Fourier transform
109(2)
DFT and its inverse
111(7)
Properties of the DFT
118(2)
Computational complexity of the DFT
120(1)
The decimation-in-time fast Fourier transform algorithm
121(11)
The butterfly
127(1)
Algorithmic development
128(4)
Computational advantages of the FFT
132(1)
Inverse fast Fourier transform
132(1)
Implementation of the FFT
133(2)
The decimation-in-frequency FFT
134(1)
Comparison of DIT and DIF algorithms
134(1)
Modifications for increased speed
134(1)
Other discrete transforms
135(16)
Discrete cosine transform
135(1)
Walsh transform
136(3)
Hadamard transform
139(2)
Wavelet transform
141(3)
Multiresolution analysis by the wavelet method
144(3)
Signal representation by singularities: the wavelet transform method
147(4)
An application of the DCT: image compression
151(3)
The Discrete Cosine transform
152(1)
2D DCT coefficient quantization
153(1)
Coding
153(1)
Worked examples
154(18)
Problems
158(2)
References
160(1)
Appendices
161(1)
C language program for direct DFT computation
161(6)
C program for radix-2 decimation-in-time FFT
167(3)
DFT and FFT with MATLAB
170(1)
References for Appendices
171(1)
The z-transform and its applications in signal processing
172(70)
Discrete-time signals and systems
173(1)
The z-transform
174(5)
The inverse z-transform
179(15)
Power series method
179(3)
Partial fraction expansion method
182(6)
Residue method
188(6)
Comparison of the inverse z-transform methods
194(1)
Properties of the z-transform
194(3)
Some applications of the z-transform in signal processing
197(21)
Pole-zero description of discrete-time systems
197(3)
Frequency response estimation
200(1)
Geometric evaluation of frequency response
201(3)
Direct computer evaluation of frequency response
204(1)
Frequency response estimation via FFT
205(1)
Frequency units used in discrete-time systems
205(3)
Stability considerations
208(1)
Difference equations
209(2)
Impulse response estimation
211(2)
Applications in digital filter design
213(1)
Realization structures for digital filters
213(5)
Summary
218(24)
Problems
218(5)
References
223(1)
Bibliography
223(1)
Appendices
223(1)
Recursive algorithm for the inverse z-transform
223(2)
C program for evaluating the inverse z-transform and for cascade-to-parallel structure conversion
225(6)
C program for estimating frequency response
231(2)
z-transform operations with MATLAB
233(8)
References for Appendices
241(1)
Correlation and convolution
242(75)
Introduction
242(1)
Correlation description
243(30)
Cross - and autocorrelation
249(8)
Applications of correlation
257(10)
Fast correlation
267(6)
Convolution description
273(28)
Properties of convolution
282(1)
Circular convolution
283(1)
System identification
283(2)
Deconvolution
285(1)
Blind deconvolution
286(2)
Fast linear convolution
288(1)
Computational advantages of fast linear convolution
289(1)
Convolution and correlation by sectioning
290(2)
Overlap-add method
292(5)
Overlap-save method
297(3)
Computational advantages of fast convolution by sectioning
300(1)
The relationship between convolution and correlation
301(1)
Implementation of correlation and convolution
301(1)
Application examples
302(8)
Correlation
302(5)
Convolution
307(3)
Summary
310(7)
Problems
311(4)
References
315(1)
Appendix
316(1)
C language program for computing cross- and autocorrelation
316(1)
A framework for digital filter design
317(25)
Introduction to digital filters
318(1)
Types of digital filters: FIR and IIR filters
319(2)
Choosing between FIR and IIR filters
321(3)
Filter design steps
324(10)
Specification of the filter requirements
324(3)
Coefficient calculation
327(1)
Representation of a filter by a suitable structure (realization)
328(4)
Analysis of finite wordlength effects
332(1)
Implementation of a filter
333(1)
Illustrative examples
334(5)
Summary
339(3)
Problems
339(2)
Reference
341(1)
Bibliography
341(1)
Finite impulse response (FIR) filter design
342(112)
Introduction
343(6)
Summary of key characteristic features of FIR filters
343(1)
Linear phase response and its implications
344(3)
Types of linear phase FIR filters
347(2)
FIR filter design
349(1)
FIR filter specifications
350(1)
FIR coefficient calculation methods
351(1)
Window method
352(15)
Some common window functions
354(4)
Summary of the window method of calculating FIR filter coefficients
358(8)
Advantages and disadvantages of the window method
366(1)
The optimal method
367(13)
Basic concepts
367(3)
Parameters required to use the optimal program
370(1)
Relationships for estimating filter length, N
371(1)
Summary of procedure for calculating filter coefficients by the optimal method
372(1)
Illustrative examples
373(7)
Frequency sampling method
380(18)
Nonrecursive frequency sampling filters
380(9)
Recursive frequency sampling filters
389(1)
Frequency sampling filters with simple coefficients
390(8)
Summary of the frequency sampling method
398(1)
Comparison of the window, optimum and frequency sampling methods
398(4)
Special FIR filter design topics
402(5)
Half-band FIR filters
402(2)
Frequency transformation
404(2)
Computationally efficient FIR filters
406(1)
Realization structures for FIR filters
407(4)
Transversal structure
407(1)
Linear phase structure
408(2)
Other structures
410(1)
Choosing between structures
410(1)
Finite wordlength effects in FIR digital filters
411(9)
Coefficient quantization errors
412(7)
Roundoff errors
419(1)
Overflow errors
419(1)
FIR implementation techniques
420(2)
Design example
422(3)
Summary
425(1)
Application examples of FIR filters
425(29)
Problems
426(9)
References
435(1)
Bibliography
436(1)
Appendices
437(1)
C programs for FIR filter design
437(3)
FIR filter design with MATLAB
440(14)
Design of infinite impulse response (IIR) digital filters
454(125)
Introduction: summary of the basic features of IIR filters
455(1)
Design stages for digital IIR filters
456(1)
Performance specification
457(2)
Coefficient calculation methods for IIR filters
459(1)
Pole-zero placement method of coefficient calculation
459(4)
Basic concepts and illustrative design examples
459(4)
Impulse invariant method of coefficient calculation
463(5)
Basic concepts and illustrative design examples
463(3)
Summary of the impulse invariant method
466(1)
Remarks on the impulse invariant method
466(2)
Matched z-transform (MZT) method of coefficient calculation
468(3)
Basic concepts and illustrative design examples
468(2)
Summary of the matched z-transform method
470(1)
Remarks on the matched z-transform method
471(1)
Bilinear z-transform (BZT) method of coefficient calculation
471(11)
Basic concepts and illustrative design examples
471(2)
Summary of the BZT method of coefficient calculation
473(5)
Comments on the bilinear transformation method
478(4)
Use of BZT and classical analog filters to design IIR filters
482(18)
Characteristic features of classical analog filters
483(2)
The BZT methodology using classical analog filters
485(6)
Illustrative design examples (lowpass, highpass, bandpass and bandstop filters)
491(9)
Calculating IIR filter coefficients by mapping s-plane poles and zeros
500(8)
Basic concepts
500(5)
Illustrative examples
505(3)
Using IIR filter design programs
508(1)
Choice of coefficient calculation methods for IIR filters
509(8)
Nyquist effect
510(7)
Realization structures for IIR digital filters
517(7)
Practical building blocks for IIR filters
518(2)
Cascade and parallel realization structures for higher-order IIR filters
520(4)
Finite wordlength effects in IIR filters
524(5)
Coefficient quantization errors
526(3)
Implementation of IIR filters
529(1)
A detailed design example of an IIR digital filter
530(5)
Summary
535(1)
Application examples in digital audio and instrumentation
536(2)
Digital audio
536(1)
Digital control
536(1)
Digital frequency oscillators
536(2)
Application examples in telecommunication
538(41)
Touch-tone generation and reception for digital telephones
538(2)
Digital telephony: dual tone multifrequency (DTMF) detection using the Goertzel algorithm
540(6)
Clock recovery for data communication
546(3)
Problems
549(5)
References
554(1)
Bibliography
555(2)
Appendices
557(1)
C programs for IIR digital filter design
557(5)
IIR filter design with MATLAB
562(15)
Evaluation of complex square roots using real arithmetic
577(2)
Multirate digital signal processing
579(66)
Introduction
579(2)
Some current uses of multirate processing in industry
580(1)
Concepts of multirate signal processing
581(9)
Sampling rate reduction: decimation by integer factors
582(2)
Sampling rate increase: interpolation by integer factors
584(2)
Sampling rate conversion by non-integer factors
586(3)
Multistage approach to sampling rate conversion
589(1)
Design of practical sampling rate converters
590(11)
Filter specification
590(1)
Filter requirements for individual stages
591(1)
Determining the number of stages and decimation factors
592(2)
Illustrative design examples
594(7)
Software implementation of sampling rate converters-decimators
601(5)
Program for multistage decimation
602(2)
Test example for the decimation program
604(2)
Software implementation of interpolators
606(6)
Program for multistage interpolation
610(1)
Test example
610(2)
Sample rate conversion using polyphase filter structure
612(5)
Polyphase implementation of interpolators
612(5)
Application examples
617(15)
High quality analog-to-digital conversion for digital audio
618(1)
Efficient digital-to-analog conversion in compact hi-fi systems
618(2)
Application in the acquisition of high quality data
620(6)
Multirate narrowband digital filtering
626(5)
High resolution narrowband spectral analysis
631(1)
Summary
632(13)
Problems
633(4)
References
637(1)
Bibliography
638(1)
Appendices
639(1)
C programs for multirate processing and systems design
639(1)
Multirate digital signal processing with MATLAB
640(5)
Adaptive digital filters
645(36)
When to use adaptive filters and where they have been used
646(1)
Concepts of adaptive filtering
647(4)
Adaptive filters as a noise canceller
647(1)
Other configurations of the adaptive filter
648(1)
Main components of the adaptive filter
648(1)
Adaptive algorithms
648(3)
Basic Wiener filter theory
651(3)
The basic LMS adaptive algorithm
654(8)
Implementation of the basic LMS algorithm
655(3)
Practical limitations of the basic LMS algorithm
658(3)
Other LMS-based algorithms
661(1)
Recursive least squares algorithm
662(4)
Recursive least squares algorithm
663(1)
Limitations of the recursive least squares algorithm
664(1)
Factorization algorithms
665(1)
Application example 1 - adaptive filtering of ocular artefacts from the human EEG
666(2)
The physiological problem
666(1)
Artefact processing algorithm
667(1)
Real-time implementation
668(1)
Application example 2 - adaptive telephone echo cancellation
668(2)
Other applications
670(11)
Loudspeaking telephones
670(1)
Multipath compensation
670(1)
Adaptive jammer suppression
671(1)
Radar signal processing
672(1)
Separation of speech signals from background noise
672(1)
Fetal monitoring - cancelling of maternal ECG during labour
673(1)
Problems
674(1)
References
674(1)
Bibliography
675(1)
Appendices
676(1)
C language programs for adaptive filtering
676(4)
MATLAB programs for adaptive filtering
680(1)
Spectrum estimation and analysis
681(46)
Introduction
682(2)
Principles of spectrum estimation
684(3)
Traditional methods
687(20)
Pitfalls
687(3)
Windowing
690(13)
The periodogram method and periodogram properties
703(1)
Modified periodogram methods
704(1)
The Blackman-Tukey method
705(1)
The fast correlation method
706(1)
Comparison of the power spectral density estimation methods
706(1)
Modern parametric estimation methods
707(1)
Autoregressive spectrum estimation
708(7)
Autoregressive model and filter
708(1)
Power spectrum density of AR series
709(1)
Computation of model parameters - Yule-Walker equations
710(3)
Solution of the Yule-Walker equations
713(1)
Model order
714(1)
Comparison of estimation methods
715(1)
Application examples
715(6)
Use of spectral analysis by a DFT for differentiating between brain diseases
715(4)
Spectral analysis of EEGs using autoregressive modelling
719(2)
Summary
721(1)
Worked example
721(6)
Problems
722(2)
References
724(1)
Appendix
725(1)
MATLAB programs for spectrum estimation and analysis
725(2)
General- and special-purpose digital signal processors
727(78)
Introduction
728(1)
Computer architectures for signal processing
728(18)
Harvard architecture
730(2)
Pipelining
732(5)
Hardware multiplier-accumulator
737(1)
Special instructions
738(3)
Replication
741(1)
On-chip memory/cache
742(1)
Extended parallelism - SIMD, VLIW and static superscalar processing
742(4)
General-purpose digital signal processors
746(13)
Fixed-point digital signal processors
747(9)
Floating-point digital signal processors
756(3)
Selecting digital signal processors
759(2)
Implementation of DSP algorithms on general-purpose digital signal processors
761(26)
FIR digital filtering
761(9)
IIR digital filtering
770(7)
FFT processing
777(5)
Multirate processing
782(4)
Adaptive filtering
786(1)
Special-purpose DSP hardware
787(5)
Hardware digital filters
789(1)
Hardware FFT processors
790(2)
Summary
792(13)
Problems
793(3)
References
796(1)
Bibliography
797(1)
Appendix
798(1)
TMS320 assembly language programs for real-time signal processing and a C language program for constant geometry radix-2 FFT
798(7)
Analysis of finite wordlength effects in fixed-point DSP systems
805(68)
Introduction
805(1)
DSP arithmetic
806(9)
Fixed-point arithmetic
808(4)
Floating-point arithmetic
812(3)
ADC quantization noise and signal quality
815(2)
Finite wordlength effects in IIR digital filters
817(43)
Influence of filter structure on finite wordlength effects
818(4)
Coefficient quantization errors in IIR digital filters
822(1)
Coefficient wordlength requirements for stability and desired frequency response
823(5)
Addition overflow errors and their effects
828(1)
Principles of scaling
829(3)
Scaling in cascade realization
832(2)
Scaling in parallel realization
834(1)
Output overflow detection and prevention
835(1)
Product roundoff errors in IIR digital filters
836(1)
Effects of roundoff errors on filter performance
837(4)
Roundoff noise in cascade and parallel realizations
841(4)
Effects of product roundoff noise in modern DSP systems
845(1)
Roundoff noise reduction schemes
846(7)
Determining practical values for error feedback coefficients
853(4)
Limit cycles due to product roundoff errors
857(2)
Other nonlinear phenomena
859(1)
Finite wordlength effects in FFT algorithms
860(4)
Roundoff errors in FFT
860(2)
Overflow errors and scaling in FFT
862(2)
Coefficient quantization in FFT
864(1)
Summary
864(9)
Problems
865(3)
References
868(1)
Bibliography
868(2)
Appendices
870(1)
Finite wordlength analysis program for IIR filters
870(1)
L2 scaling factor equations
870(3)
Applications and design studies
873(52)
Evaluation boards for real-time signal processing
874(3)
Background
874(1)
TMS320C10 target board
874(2)
DSP56002 evaluation module for real-time DSP
876(1)
TMS320C54 and D5P56300 evaluation boards
876(1)
DSP applications
877(27)
Detection of fetal heartbeats during labour
877(8)
Adaptive removal of ocular artefacts from human EEGs
885(16)
Equalization of digital audio signals
901(3)
Design studies
904(7)
Computer-based multiple choice DSP questions
911(9)
Summary
920(5)
Problems
921(1)
References
921(2)
Bibliography
923(1)
Appendix
923(1)
The modified UD factorization algorithm
923(2)
Index 925

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

Purpose of this book In the last five years, digital signal processing (DSP) has continued to have a major and increasing impact in many key areas of technology, including telecommunication, digital television and media, biomedicine, digital audio and instrumentation. DSP is now at the core of many new and emerging digital products and applications in the information society (e.g. digital cellular phones, digital cameras and TV, and digital audio systems). The need and expectations for electronic, computer and communication engineers to be competent in DSP have grown even stronger since the first edition. DSP is now a core subject in most electronic/computer/communication engineering curricula. This second edition of the book has been modernized by including additional topics of increasing importance, by providing MATLAB-based problems, and by offering a companion handbook and a home page on the web. These additions have been made in response to software developments, the wider availability of information technology, developments in the teaching of signal processing, and reader demand. Universities are increasingly making use of web-based materials and signal processing software tools such as MATLAB. We have consequently found a demand amongst our readers for MATLAB-based material. This high-level language permits sophisticated signal processing and the immediate display of results with relatively few commands. It is possible to have fun in developing signal processing and the solutions to problems without the distraction of having to produce detailed programs. We believe that the MATLAB examples and exercises in the book will enhance the learning experience of the student and increase the teaching resource available to the instructor. As in the first edition, the second edition aims to bridge the gap between theory and practice. Thus, we have retained the main features of the book, namely coverage of modern topics and the provision of practical examples and applications. As in the first edition, we have mixed practical examples and systems with theory, to keep students' interest and motivation high in order to enhance learning. Many of the chapters have been extensively revised, to bring the materials up to date and to improve clarity. End-of-chapter problems have been extended to test, reinforce and extend understanding. In revising the book, we have drawn from our experience and feedback from readers, worldwide, over the last eight years since the first edition was published. The new topics introduced include oversampling and bandpass sampling techniques in analog/digital conversions to exploit the advantages that DSP offers; wavelet transforms used for time-frequency representation and resolution of signals; blind signal deconvolution for identifying input signals from the output of an unknown system; parametric spectrum estimation for greater resolution applicable to shorter signals and with fewer pitfalls; architectures of new DSP processors and practical schemes for round-off noise reduction in fixed-point DSP systems; and computer-based multi-choice questions to aid revision. Throughout the book, MATI;AB-based examples and exercises are provided. This book was born out of our experience in teaching practically oriented courses in digital signal processing to undergraduate students at the University of Plymouth and the Sheffield Hallam University, and to application engineers in industry for many years. It appeared to us that many of the available textbooks were either too elementary or too theoretical to be of practical use for undergraduates or application engineers in industry. As most readers will know from experience, the gap between learning the fundamentals in any subject and actually applying them is quite wide. We therefore decided to write this book which we believe undergraduates will understand and appreciate and which will equip them to undertake practical digital si

Rewards Program