`Processing
`A Practical Aoproach
`Second Edition
`
`IPR2022-01539
`
`I
`
`VWGOA EX1043
`VWGOAv. Neo Wireles
`
`
`
`aSs cE
`~~ Emmanuel C. Ifeachor
`Pye ddtewn AACA
`
` 1
`
`VWGoA EX1043
`VWGoA v. Neo Wireless
`IPR2022-01539
`
`
`
`Prentice
`Hall
`
`ee
`
`
`An imprint of Pearson Education
`Harlow, England . Londen + New York - Reading, Massachusetts . San Francisco - Toronto - Don Mills, Ontario . Sydney
`Tokyo + Singapore « Hong Kong - Seoul: Taipei « Cape Town - Madrid - Mexico City - Amsterdam - Munich + Paris» Milan
`
`2
`
`
`
`
`
`Pearson Education Limited
`Edinburgh Gate
`Harlow
`Essex CM20 2JE
`England
`
`and Associated Companies around the World.
`
`Visit us on the World Wide Web at:
`wwepearsoneduc.com
`
`First published under the Addison Wesley imprint 1993
`Second edition 2002
`
`© Pearson Education Limited 1993, 2002
`
`The rights of Emmanuel C. lfeachor and Barrie W. Jervis to be identified as
`the authors of this Work have been asserted by them in accordance with
`the Copyright, Designs and Patents Act 1988.
`
`All rights reserved. No part of this publication may be reproduced, stored
`in a retrieval system, or transmitted in any form or by any means, electronic,
`mechanical, photocopying, recording or otherwise, without either the prior
`written permission of the publisher or a licence permitting restricted copying
`in the United Kingdom issued by the Copyright Licensing Agency Ltd,
`90 Tottenham Court Road, London W1P OLP.
`
`All trademarks used herein are the property of their respective owners.
`The use of any trademark in this text does not vest in the author or
`publisher any trademark ownership rights in such trademarks,
`nor does the use of such trademarks imply any affiliation with or
`endorsementof this book by such owners.
`
`ISBN 0201-59619-9
`
`British Library Cataloguing-in-Publication Data
`A catalogue record for this book can be abtained from the British Library
`
`Library of Congress Cataloging-in-Publication Data
`Ifeachor, Emmanuel C.,
`Digital signal processing : a practical approach / Emmanuel C. Ifeachor, Barrie W.Jervis.
`p. cm.
`Includes bibliographical references and index.
`ISBN 0-201-59619-9
`1. Signal pracessing—Digital techniques.
`TK5102.9.134
`2001
`
`|. Jervis, Barrie W.
`
`Il. Title.
`
`621.382’2—dc21
`
`i 3S Fm Babs eS
`05 04
`03
`O02
`O01
`
`Typeset in 10/12pt Times by 35
`Printed and bound in the United States of America
`
`2001021116
`
`3
`
`
`
`
`
`Preface
`
`Introduction
`
`hd
`
`Lae
`
`1.3
`
`1.4
`
`LS
`
`1.6
`
`1.7
`
`1.8
`
`19
`
`Digital signal processing andits benefits
`Application areas
`Key DSP operations
`1.3.1 Convolution
`1.3.2 Correlation
`1.3.3 Digitalfiltering
`1.3.4 Discrete transformation
`1.3.5 Modulation
`Digital signal processors
`Overview of real-world applications of DSP
`Audio applications of DSP
`1.6.1 Digital audio mixing
`1.6.2 Speech synthesis and recognition
`1.6.3 The compact disc digital audio system
`Telecommunication applications of DSP
`1.7.1 Digital cellular mobile telephony
`1.7.2 Set-top box for digital television reception
`1.7.3 Adaptive telephone echo cancellation
`Biomedical applications of DSP
`1.8.1 Fetal ECG monitoring
`1.8.2 DSP-based closed loop controlled anaesthesia
`Summary
`
`4
`
`
`
`iv Contents
`
`
`Problems
`References
`Bibliography
`
`2,1
`
`Lue
`
`2.3
`
`2.4
`
`2.5
`
`2.6
`
`ak
`
`2.8
`
`29
`
`2.10
`
`2.11
`
`2.12
`
`Analog !/O interface for real-time DSP systems
`
`Typical real-time DSP systems
`Analog-to-digital conversion process
`Sampling — lowpass and bandpasssignals
`2.3.1 Sampling lowpasssignals
`2.3.2 Sampling bandpasssignals
`Uniform and non-uniform quantization and encoding
`2.4.1 Uniform quantization and encoding (linear pulse code
`modulation (PCM))
`2.4.2 Non-uniform quantization and encoding (nonlinear PCM)
`Oversampling in A/D conversion
`2.5.1 Introduction
`2.5.2 Oversampling and anti-aliasingfiltering
`2.5.3 Oversampling and ADC resolution
`2.5.4 An application of oversampling — single-bit (oversampling) ADC
`Digital-to-analog conversion process: signal recovery
`The DAC
`Anti-imagingfiltering
`Oversampling in D/A conversion
`2.9.1 Oversampling D/A conversion in the CD player
`Constraints of real-time signal processing with analog
`input/output signals
`Application examples
`Summary
`Problems
`References
`Bibliography
`
`Discrete transforms
`
`3.1
`
`Siz
`
`3.3
`
`Introduction
`3.1.1 Fourier series
`3.1.2 The Fourier transform
`
`DFT and its inverse
`
`Properties of the DFT
`
`35
`
`35
`
`36
`
`37
`
`38
`
`39
`
`40
`
`40
`56
`
`65
`
`66
`
`68
`
`71
`71
`
`71
`
`74
`
`78
`
`84
`
`84
`
`86
`
`86
`87
`
`90
`
`91
`
`92
`92
`102
`102
`
`104
`
`104
`106
`109
`
`111
`
`118
`
`5
`
`
`
`Contents
`V
`
`
`3.6
`3.7.
`
`3.4 Computational complexity of the DFT
`3.5 The decimation-in-time fast Fourier transform algorithm
`3.5.1 The butterfly
`3.5.2 Algorithmic development
`3.5.3 Computational advantages of the FFT
`Inverse fast Fourier transform
`Implementation of the FFT
`3.7.1 The decimation-in-frequency FFT
`3.7.2 Comparison of DIT and DIF algorithms
`3.7.3 Modifications for increased speed
`3.8 Other discrete transforms
`3.8.1 Discrete cosine transform
`3.8.2 Walsh transform
`3.8.3 Hadamard transform
`3.8.4 Wavelet transform
`3.8.5 Multiresolution analysis by the wavelet method
`3.8.6 Signal representation by singularities: the wavelet
`transform method
`3.9 An application of the DCT: image compression
`3.9.1 The Discrete Cosine transform
`3.9.2 2D DCTcoefficient quantization
`3.9.3 Coding
`3.10 Worked examples
`Problems
`References
`Appendices
`3A C language program for direct DFT computation
`3B C program for radix-2 decimation-in-time FFT
`3C DFT and FFT with MATLAB
`References for Appendices
`
`Ya] The z-transform andits applications in signal processing
`4.1 Discrete-time signals and systems
`4.2. The z-transform
`
`4.3 The inverse z-transform
`4.3.1
`Power series method
`4.3.2
`Partial fraction expansion method
`4.3.3 Residue method
`4.3.4 Comparison of the inverse z-transform methods
`Properties of the z-transform
`Someapplications of the z-transform in signal processing
`
`4.4
`4.5
`
`120
`121
`127
`128
`132
`132
`133
`134
`134
`134
`135
`135
`136
`139
`141
`144
`
`147
`151
`152
`153
`153
`154
`158
`160
`161
`161
`167
`170
`171
`
`172
`173
`174
`
`179
`179
`182
`188
`194
`194
`197
`
`
`
`
`
`6
`
`
`
`Vi Contents
`
`
`4.6
`
`aid
`
`5.2
`
`=
`
`Pole—zero description of discrete-time systems
`4.5.1
`Frequency response estimation
`4.5.2
`4.5.3. Geometric evaluation of frequency response
`4.5.4 Direct computer evaluation of frequency response
`4.5.5
`Frequency response estimation via FFT
`4.5.6
`Frequency units used in discrete-time systems
`4.5.7
`Stability considerations -
`4.5.8 Difference equations
`4.5.9
`Impulse response estimation
`4.5.10 Applicationsin digital filter design
`4.5.11 Realization structures for digitalfilters
`Summary
`Problems
`References
`Bibliography
`Appendices
`4A Recursive algorithm for the inverse z-transform
`4B C program for evaluating the inverse z-transform and for
`cascade-to-parallel structure conversion
`4C C program for estimating frequency response
`4D z-transform operations with MATLAB
`References for Appendices
`
`Correlation and convolution
`
`Introduction
`Correlation description
`5.2.1
`Cross- and autocorrelation
`5.2.2 Applications of correlation
`5.2.3
`Fast correlation
`Convolution description
`5.3.1
`Properties of convolution
`5.3.2 Circular convolution
`5.3.3.
`System identification
`5.3.4 Deconvolution
`5.3.5 Blind deconvolution
`5.3.6
`Fast linear convolution
`5.3.7 Computational advantages of fast linear convolution
`5.3.8 Convolution and correlation by sectioning
`5.3.9 Overlap—add method
`5.3.10 Overlap—save method
`5.3.11 Computational advantages of fast convolution by sectioning
`5.3.12 The relationship between convolution and correlation
`
`197
`
`200
`201
`204
`
`205
`
`205
`
`208
`
`209
`
`V1
`
`213
`213
`
`218
`
`218
`2235
`
`223
`2235
`
`223
`
`225
`
`251
`
`ao
`
`241
`
`242
`
`242
`
`243
`
`249
`
`257
`267
`
`273
`
`282
`283
`283
`
`285
`286
`288
`
`289
`
`290
`
`292
`
`aor
`
`300
`
`301
`
`7
`
`
`
`vii
`Contents
`gmaa
`
`Implementation of correlation and convolution
`5.4
`5.5 Application examples
`5.5.1 Correlation
`5.5.2 Convolution
`
`5.6
`
`Summary
`Problems
`References
`Appendix
`5A C language program for computing cross- and autocorrelation
`
`ae A frameworkfordigital filter design
`6.1
`Introduction to digital filters
`6.2 Types ofdigital filters: FIR andIIR filters
`6.3 Choosing betweenFIR and IIR filters
`6.4
`Filter design steps
`6.4.1 Specification of the filter requirements
`6.4.2 Coefficient calculation
`6.4.3 Representation of a filter by a suitable structure (realization)
`6.4.4 Analysis of finite wordlength effects
`6.4.5 Implementation ofa filter
`Illustrative examples
`Summary
`Problems
`Reference
`Bibliography
`
`6.5
`6.6
`
`Finite impulse response(FIR) filter design
`
`7.1
`
`7.2
`7.3
`7.4
`
`Introduction
`7.1.1.
`Summary of key characteristic features of FIR filters
`7.1.2
`Linear phase responseand its implications
`7.1.3 Types of linear phaseFIR filters
`FIR filter design
`FIR filter specifications
`FIR coefficient calculation methods
`
`7.5 Window method
`7.5.1
`Some common window functions
`7.5.2
`Summary of the window methodofcalculating FIR
`filter coefficients
`7.5.3 Advantages and disadvantages of the window method
`
`8
`
`301
`302
`302
`307
`
`310
`311
`S15
`316
`316
`
`517
`318
`319
`321
`324
`324
`B27
`328
`332
`333
`334
`339
`339
`341
`341
`
`342
`
`343
`343
`344
`347
`349
`350
`351
`
`352
`354
`
`358
`366
`
`8
`
`
`
`Vill Contents
`
`
`7.6
`
`ta
`
`7.8
`
`13
`
`el
`
`ale
`
`‘AS
`
`7.14
`
`745
`
`The optimal method
`7.6.1
`Basic concepts
`7.6.2
`Parameters required to use the optimal program
`7.6.3 Relationships for estimatingfilter length, N
`7.6.4
`Summary of procedurefor calculatingfilter coefficients by
`the optimal method
`Illustrative examples
`7.6.5
`Frequency sampling method
`7.7.1 Nonrecursive frequency samplingfilters
`7.7.2 Recursive frequency samplingfilters
`7.7.3
`Frequency samplingfilters with simple coefficients
`7.7.4 Summary of the frequency sampling method
`Comparison of the window, optimum and frequency
`sampling methods
`Special FIR filter design topics
`7.9.1 Half-band FIR filters
`7.9.2
`Frequency transformation
`7.9.3 Computationally efficient FIR filters
`Realization structures for FIR filters
`7.10.1 Transversal structure
`7.10.2 Linear phase structure
`7.10.3 Other structures
`7.10.4 Choosing between structures
`Finite wordlength effects in FIR digitalfilters
`7.11.1 Coefficient quantization errors
`7.11.2 Roundoff errors
`7.11.3 Overflow errors
`FIR implementation techniques
`Design example
`Summary
`Application examples of FIR filters
`Problems
`References
`Bibliography
`Appendices
`7A C programsforFIR filter design
`7B FIR filter design with MATLAB
`
`Design of infinite impulse response (IIR) digital filters
`
`8.1
`
`8.2
`
`Introduction: summary ofthe basic features ofIIR filters
`Design stages for digital IIR filters
`
`367
`
`367
`
`370
`
`at
`
`af2
`
`373
`
`380
`380
`389
`
`390
`
`398
`
`398
`
`402
`402
`
`404
`
`406
`
`407
`
`407
`408
`410
`
`410
`
`All
`
`A12
`
`419
`419
`
`420
`
`422
`
`425
`
`425
`426
`
`435
`436
`437
`
`437
`440
`
`454
`
`455
`
`456
`
`9
`
`
`
`ix
`Contents
`ne
`
`Performance specification
`8.3
`8.4 Coefficient calculation methods for IIR filters
`
`8.5
`
`8.6
`
`Pole—zero placement method of coefficient calculation
`8.5.1
`Basic concepts andillustrative design examples
`Impulse invariant method of coefficient calculation
`8.6.1
`Basic concepts andillustrative design examples
`8.6.2 Summary of the impulse invariant method
`8.6.3 Remarks on the impulse invariant method
`8.7 Matched z-transform (MZT) methodofcoefficient calculation
`8.7.1
`Basic concepts andillustrative design examples
`8.7.2. Summary of the matched z-transform method
`8.7.3. Remarks on the matched z-transform method
`
`8.8 Bilinear z-transform (BZT) method of coefficient calculation
`8.8.1
`Basic concepts andillustrative design examples
`8.8.2 Summary of the BZT methodof coefficient calculation
`8.8.3 Comments on the bilinear transformation method
`
`8.9 Use of BZT and classical analogfilters to design IIR filters
`8.9.1 Characteristic features of classical analogfilters
`8.9.2 The BZT methodology usingclassical analogfilters
`8.9.3
`Illustrative design examples (lowpass, highpass, bandpass
`and bandstopfilters)
`8.10 Calculating IIR filter coefficients by mapping s-plane poles and zeros
`8.10.1 Basic concepts
`8.10.2 Illustrative examples
`Using IIR filter design programs
`8.11
`8.12 Choice of coefficient calculation methods forIIR filters
`8.12.1 Nyquist effect
`8.13 Realization structures for IIR digital filters
`8.13.1 Practical building blocks for IIR filters
`8.13.2 Cascade andparallel realization structures for higher-order
`IIR filters
`Finite wordlength effects in IIR filters
`8.14.1 Coefficient quantization errors
`ImplementationofIIR filters
`8.15
`8.16 A detailed design example of an IIR digital filter
`8.17
`Summary
`8.18 Application examples in digital audio and instrumentation
`8.18.1 Digital audio
`8.18.2 Digital control
`8.18.3 Digital frequency oscillators
`
`8.14
`
`10
`
`457
`459
`
`459
`459
`A63
`463
`466
`A466
`468
`468
`470
`ATI
`
`471
`47]
`473
`478
`
`482
`483
`485
`
`491
`500
`500
`505
`508
`509
`510
`517
`518
`
`520
`524
`526
`529
`530
`535
`536
`536
`536
`536
`
`10
`
`
`
`x Contents
`
`8.19
`
`Application examples in telecommunication
`8.19.1 Touch-tone generation and reception for digital telephones
`8.19.2 Digital telephony: dual tone multifrequency (DTMF)
`detection using the Goertzel algorithm
`8.19.3 Clock recovery for data communication
`Problems
`References
`Bibliography
`Appendices
`8A C programsforIIR digital filter design
`8B IIR filter design with MATLAB
`8C Evaluation of complex square roots using real arithmetic
`
`Multirate digital signal processing
`
`9.1
`
`92
`
`9.3
`
`9.4
`
`9.5
`
`9.6
`
`a7
`
`9.8
`
`Introduction
`9.1.1 Somecurrent uses of multirate processing in industry
`Concepts of multirate signal processing
`9.2.1 Sampling rate reduction: decimation by integer factors
`9.2.2 Sampling rate increase: interpolation by integer factors
`9.2.3 Sampling rate conversion by non-integer factors
`9.2.4 Multistage approach to sampling rate conversion
`Design of practical sampling rate converters
`9.3.1 Filter specification
`9.3.2 Filter requirements for individual stages
`9.3.3 Determining the numberof stages and decimation factors
`9.3.4 Illustrative design examples
`Software implementation of sampling rate converters—decimators
`9.4.1 Program for multistage decimation
`9.4.2 Test example for the decimation program
`Software implementation of interpolators
`9.5.1 Program for multistage interpolation
`9.5.2 Test example
`Sample rate conversion using polyphasefilter structure
`9.6.1 Polyphase implementation of interpolators
`Application examples
`9.7.1 High quality analog-to-digital conversion for digital audio
`9.7.2 Efficient digital-to-analog conversion in compact hi-fi systems
`9.7.3 Application in the acquisition of high quality data
`9.7.4 Multirate narrowbanddigital filtering
`9.7.5 High resolution narrowbandspectral analysis
`Summary
`Problems
`
`538
`
`538
`
`540
`546
`
`549
`554
`555
`557
`
`557
`
`562
`
`577
`
`579
`
`579
`
`580
`
`581
`582
`
`584
`
`586
`
`589
`
`590
`590
`
`591
`592
`594
`
`601
`602
`604
`
`606
`
`610
`
`610
`
`612
`612
`
`617
`618
`
`618
`620
`
`626
`
`631
`
`632
`
`633
`
`1]
`
`11
`
`
`
`xi
`Contents
`
`
`10.1
`
`10.2
`
`10.3
`
`10.4
`
`10.5
`
`10.6
`
`10.7
`
`10.8
`
`References
`Bibliography
`Appendices
`9A C programsfor multirate processing and systems design
`9B Multirate digital signal processing with MATLAB
`
`Adaptive digitalfilters
`
`When to use adaptivefilters and where they have been used
`Concepts of adaptivefiltering
`10.2.1 Adaptivefilters as a noise canceller
`10.2.2 Other configurations of the adaptivefilter
`10.2.3 Main components of the adaptivefilter
`10.2.4 Adaptive algorithms
`Basic Wienerfilter theory
`The basic LMS adaptive algorithm
`10.4.1 Implementation of the basic LMS algorithm
`10.4.2 Practical limitations of the basic LMS algorithm
`10.4.3 Other LMS-based algorithms
`Recursive least squares algorithm
`10.5.1 Recursive least squares algorithm
`10.5.2 Limitations of the recursive least squares algorithm
`10.5.3 Factorization algorithms
`Application example 1 — adaptive filtering of ocular artefacts from
`the human EEG
`10.6.1 The physiological problem
`10.6.2 Artefact processing algorithm
`10.6.3 Real-time implementation
`Application example 2 - adaptive telephone echo cancellation
`Other applications
`10.8.1 Loudspeaking telephones
`10.8.2 Multipath compensation
`10.8.3 Adaptive jammer suppression
`10.8.4 Radar signal processing
`10.8.5 Separation of speech signals from background noise
`10.8.6 Fetal monitoring — cancelling of maternal ECG during labour
`Problems
`References
`Bibliography
`Appendices
`10A C language programsfor adaptivefiltering
`10B MATLAB programsfor adaptive filtering
`
`637
`
`638
`
`639
`639
`640
`
`645
`
`646
`
`647
`
`647
`
`648
`
`648
`
`648
`
`651
`
`654
`
`655
`
`658
`
`661
`
`662
`663
`664
`
`665
`
`666
`
`666
`
`667
`
`668
`
`668
`
`670
`670
`
`670
`
`671
`672
`672
`673
`
`12
`
`12
`
`
`
`xii Contents
`
`11.1
`
`11.2
`
`11.3
`
`11.4
`
`1S
`
`11.6
`
`11.7
`
`11.8
`
`Lg
`
`Spectrum estimation and analysis
`
`Introduction
`
`Principles of spectrum estimation
`Traditional methods
`11.3.1 Pitfalls
`11.3.2 Windowing
`11.3.3 The periodogram method and periodogram properties
`11.3.4 Modified periodogram methods
`11.3.5 The Blackman-Tukey method
`11.3.6 The fast correlation method
`11.3.7 Comparison of the powerspectral density estimation methods
`Modern parametric estimation methods
`Autoregressive spectrum estimation
`11.5.1 Autoregressive model andfilter
`11.5.2 Power spectrum density of AR series
`11.5.3 Computation of model parameters — Yule-Walker equations
`11.5.4 Solution of the Yule-Walker equations
`11.5.5 Model order
`Comparison of estimation methods
`Application examples
`11.7.1 Use of spectral analysis by a DFT for differentiating between
`brain diseases
`11.7.2 Spectral analysis of EEGs using autoregressive modelling
`Summary
`Worked example
`Problems
`References
`Appendix
`11A MATLAB programsfor spectrum estimation and analysis
`
`General- and special-purpose digital signal processors
`
`12,1
`
`Introduction
`
`12.2
`
`Computer architectures for signal processing
`12.2.1 Harvard architecture
`12.2.2 Pipelining
`12.2.3 Hardware multiplier—accumulator
`12.2.4 Special instructions
`12.2.5 Replication
`12.2.6 On-chip memory/cache
`
`13
`
`681
`
`682
`
`684
`
`687
`687
`
`690
`
`703
`
`704
`
`705
`
`706
`
`706
`
`707
`
`708
`
`708
`709
`710
`
`713
`
`714
`
`715
`
`wis
`
`715
`
`719
`
`72)
`
`721
`722
`724
`725
`#25
`
`727
`
`728
`
`728
`730
`732
`war
`738
`741
`
`742
`
`13
`
`
`
` Xiii
`Contents
`
`
`—-—_rr_—s<$sSs—[==-T0.“—>—_eseSESESESEOEOE——————SeENED
`
`12.3
`
`12.4
`
`12.5
`
`12.6
`
`Ta
`
`14.4
`
`[ae
`
`13.3
`
`13.4
`
`12.2.7 Extended parallelism — SIMD, VLIW andstatic superscalar
`processing
`General-purpose digital signal processors
`12.3.1 Fixed-point digital signal processors
`12.3.2 Floating-point digital signal processors
`Selecting digital signal processors
`Implementation of DSP algorithms on general-purposedigital
`signal processors
`12.5.1 FIR digitalfiltering
`12.5.2 IIR digital filtering
`12.5.3 FFT processing
`12.5.4 Multirate processing
`12.5.5 Adaptivefiltering
`Special-purpose DSP hardware
`12.6.1 Hardware digital filters
`12.6.2 Hardware FFT processors
`Summary
`Problems
`References
`Bibliography
`Appendix
`12A TMS320 assembly language programsfor real-time signal
`processing and a C language program for constant geometry
`radix-2 FFT
`
`Analysis offinite wordlength effects in fixed-point DSP systems
`
`Introduction
`
`DSP arithmetic
`13.2.1
`Fixed-point arithmetic
`13.2.2
`Floating-point arithmetic
`ADC quantization noise and signal quality
`Finite wordlength effects in IIR digital filters
`13.4.1
`Influenceoffilter structure on finite wordlength effects
`13.4.2 Coefficient quantization errors in IIR digital filters
`13.4.3 Coefficient wordlength requirements for stability and
`desired frequency response
`13.4.4 Addition overflow errors and their effects
`13.4.5
`Principles of scaling
`13.4.6
`Scaling in cascaderealization
`13.4.7
`Scaling in parallel realization
`13.4.8 Output overflow detection and prevention
`
`742
`
`746
`
`747
`756
`
`759
`
`761
`
`761
`
`770
`
`LF7
`782
`786
`
`187
`
`789
`
`790
`
`192
`
`793
`796
`797
`
`798
`
`798
`
`805
`
`805
`
`806
`808
`812
`
`815
`
`817
`818
`
`822
`
`823
`828
`829
`
`832
`834
`835
`
`
`
`14
`
`
`
`14
`
`
`
`xiv Contents
`
`13.5
`
`13.6
`
`13.4.9 Product roundoff errors in IIR digital filters
`13.4.10 Effects of roundoff errors onfilter performance
`13.4.11 Roundoff noise in cascade and parallel realizations
`13.4.12 Effects of product roundoff noise in modern DSP systems
`13.4.13 Roundoff noise reduction schemes
`13.4.14 Determining practical values for error feedback coefficients
`13.4.15 Limit cycles due to product roundoff errors
`13.4.16 Other nonlinear phenomena
`Finite wordlength effects in FFT algorithms
`13.5.1 Roundoff errors in FFT
`13.5.2 Overflow errors and scaling in FFT
`13.5.3 Coefficient quantization in FFT
`Summary
`Problems
`References
`Bibliography
`Appendices
`13A Finite wordlength analysis program for IIR filters
`13B L, scaling factor equations
`
`836
`837
`841
`845
`846
`853
`857
`859
`860
`860
`862
`864
`864
`865
`868
`868
`870
`870
`870
`
`14.2
`
`14|Applications and design studies 873
`
`14.1
`Evaluation boardsfor real-time signal processing
`874
`14.1.1 Background
`874
`14.1.2 TMS320C10 target board
`874
`14.1.3 DSP56002 evaluation module for real-time DSP
`876
`14.1.4 TMS320C54 and DSP56300evaluation boards
`876
`DSP applications
`877
`14.2.1 Detection of fetal heartbeats during labour
`877
`14.2.2 Adaptive removal of ocular artefacts from human EEGs
`885
`14.2.3 Equalization of digital audio signals
`901
`14.3 Design studies
`904
`14.4 Computer-based multiple choice DSP questions
`911
`14.5
`Summary
`920
`Problems
`921
`References
`921
`Bibliography
`923
`Appendix
`923
`14A The modified UD factorization algorithm
`923
`
`Index
`
`925
`
`15
`
`15
`
`
`
`Introduction
`
`Digital signal processing andits benefits
`1
`
`
`3
`Application areas
`
`Key DSP operations
`e
`
`Digital signal processors
`13
`
`Overview of real-world applications of DSP
`13
`
`1.1
`
`12
`
`13
`
`1.4
`
`1.5
`
`1.6
`
`Ea:
`
`1.8
`
`Ls
`
`Bibliography
`
`
`
`
`
`36
`
`The aims of this chapter are to explain the meaning and benefits of digital signal
`processing (DSP), to introduce basic DSP operations on which much of DSP is
`founded, and to make the reader aware of the wide range of application areas for
`DSP. Specific real-world application examples are presented, drawn from areas with
`which most readers can relate.
`
`1.1 Digital signal processing and its benefits
`
`By a signal we mean any variable that carries or contains some kind of information
`that can, for example, be conveyed, displayed or manipulated. Examples of the types
`of signals of particular interest are
`
`16
`
`16
`
`
`
`2 Chapter 1
`
`ff Introduction
`
`speech, which we encounter for example in telephony, radio and everydaylife,
`biomedical signals, such as the electroencephalogram (brain signals),
`sound and music, such as reproduced by the compactdisc player,
`video and image, which most people watch on the television, and
`radar signals, which are used to determine the range and bearing of distant
`targets.
`
`Digital signal processing is concerned with the digital representation of signals and
`the use of digital processors to analyze, modify, or extract information from signals.
`Mostsignals in nature are analog in form, often meaning that they vary continuously
`with time, and represent the variations of physical quantities such as sound waves.
`The signals used in most popular forms of DSP are derived from analog signals which
`have been sampled at regular intervals and converted into a digital form.
`The specific reason for processing a digital signal may be, for example, to remove
`interference or noise from the signal, to obtain the spectrum of the data, or to trans-
`form the signal into a more suitable form. DSP is now used in many areas where
`analog methods were previously used and in entirely new applications which were
`difficult or impossible with analog methods. The attraction of DSP comes from key
`advantages such as the following.
`
`@ Guaranteed accuracy. Accuracy is only determined by the numberofbits used.
`m Perfect reproducibility. Identical performance from unit to unit is obtained since
`there are no variations due to component tolerances. For example, using DSP
`techniques, a digital recording can be copied or reproduced several times over
`without any degradation in the signal quality.
`m No drift in performance with temperature orage.
`m Advantage is always taken of the tremendous advances in semiconductor
`technology to achieve greater reliability, smaller size, lower cost, low power
`consumption, and higher speed.
`@ Greaterflexibility. DSP systems can be programmed and reprogrammed to
`perform a variety of functions, without modifying the hardware. This is perhaps
`one of the most important features of DSP.
`@ Superior performance. DSP can be used to perform functions not possible with
`analog signal processing. For example, linear phase response can be achieved,
`and complex adaptive filtering algorithms can be implemented using DSP
`techniques.
`a In some cases information may already be in a digital form and DSP offers the
`only viable option.
`
`DSP is not without disadvantages. However, the significance of these disadvant-
`ages is being continually diminished by new technology.
`
`17
`
`17
`
`
`
`1.2 Application areas 3
`__
`
`mg Speed and cost. DSP designs can be expensive, especially when large bandwidth
`signals are involved. At the present, fast ADCs/DACs (analog-to-digital
`converters/digital-to-analog converters) either are too expensive or do not have
`sufficient resolution for wide bandwidth DSP applications. Currently, only
`specialized ICs can be used to process signals in the megahertz range and these
`are quite expensive. Furthermore, most DSP devices arestill not fast enough and
`can only process signals of moderate bandwidths. Bandwidths in the 100 MHz
`range are still processed only by analog methods. Nevertheless, DSP devices are
`becoming faster and faster.
`mw Design time. Unless you are knowledgeable in DSP techniques and have the
`necessary resources (software packages and so on), DSP designs can be time
`consuming and in some cases almost impossible. The acute shortage of suitable
`engineers in this area is widely recognized. However, the situation is changing
`as many new graduates now possess some knowledge ofdigital techniques and
`commercial companies are beginning to exploit the advantages of DSP in their
`products.
`gw Finite wordlength problems. In real-time situations, economic considerations
`often mean that DSP algorithms are implemented using only a limited number of
`bits. In some DSP systems, if an insufficient numberof bits is used to represent
`variables serious degradation in system performance may result.
`
`1.2
`
`Application areas
`
`DSP is one of the fastest growing fields in modern electronics, being used in any area
`where information is handled in a digital form or controlled by a digital processor.
`Application areas include the following:
`
`m Image processing
`— pattern recognition
`— robotic vision
`— image enhancement
`— facsimile
`— satellite weather map
`— animation
`
`m Instrumentation/control
`— spectrum analysis
`— position and rate control
`— noise reduction
`— data compression
`
`18
`
`18
`
`
`
`
`
`4 Chapter 1 ff Introduction
`
`gm Speech/audio
`
`— speech recognition
`— speech synthesis
`— text to speech
`— digital audio
`— equalization
`
`g Military
`
`secure communication
`— radar processing
`sonar processing
`— missile guidance
`
`g Telecommunications
`
`— echo cancellation
`— adaptive equalization
`— ADPCM transcoders
`— spread spectrum
`— video conferencing
`— data communication
`
`m@ Biomedical
`
`patient monitoring
`scanners
`
`— EEG brain mappers
`— ECG analysis
`X-ray storage/enhancement
`
`m= Consumerapplications
`
`— digital, cellular mobile phones
`— universal mobile telecommunication system
`— digital television
`— digital cameras
`— Internet phones, music and video
`— digital answer machines, fax and modems
`— voice mail systems
`— interactive entertainment systems
`— active suspension in cars
`
`A look at the list, which is by no means complete, will confirm the importance of DSP.
`A testimony to the recognition of the importance of DSPis the continual introduction
`of powerful DSP devices by semiconductor manufacturers. However, there are insuf-
`ficient engineers with adequate knowledge in this area. An objective of this bookis to
`provide an understanding of DSP techniques and their implementation, to enable the
`reader to gain a working knowledge of this important subject.
`
`19
`
`19
`
`
`
`5a 1
`
`.3 Key DSP operations
`
`1.3 Key DSP operations
`
`Several DSP algorithms exist and many more are being invented or discovered.
`However, all these algorithms,
`including the most complex, require similar basic
`operations. It is instructive to examine some of these operations at the outset so as to
`appreciate the implementational simplicity of DSP. The basic DSP operations are
`convolution, correlation, filtering, transformations, and modulation. Table 1.1 sum-
`marizes these operations and a brief description of each is given below. An important
`point to note in the table is that all the basic DSP operations require only simple
`arithmetic operations of multiply, add/subtract, and shifts to carry out. Notice also
`the similarity between most of the operations.
`
`1.3.1.
`
`Convolution
`
`Convolution is one of the most frequently used operations in DSP. For example,it is
`the basic operationin digital filtering. Given twofinite and causal sequences, x(n) and
`h(n), of lengths NV, and N,, respectively, their convolution is defined as
`
`y(n) = h(n) ® x(n) = a h(k)x(n—ky= >. h(k)x(a—k),
`
`ka—oo
`
`k=0
`
`n=0,1,..., 04-1)
`
`where the symbol @ is used to denote convolution and M = N, + N, — 1. As we shall
`see in later chapters, DSP device manufacturers have developed signal processors
`that perform efficiently the multiply—accumulate operations involved in convolution.
`An example of the linear convolution of the two sequences depicted in Figures 1.1(a)
`and 1.1(b) is given in Figure 1.1(c). In this example, (7), n=0, 1, 2,..., can be
`viewed as the impulse response of a digital system, and y(m) the system's response
`to the input sequence, x(m). The numerical values for the convolution, that is y(n),
`were obtained by direct evaluation of Equation 1.1. For example, y(1) is obtained
`as follows:
`
`y(1) = ACO) x(1) + ACL) x(0) + A(2)x(-1) +... + ACL2)x(-11)
`
`=0x1+(-0.02)*14+0*0+...+00
`
`= —0.02
`
`The significance of convolution is more apparent whenit is observed in the frequency
`domain, and use is made ofthe fact that convolution in the time domain is equivalent
`to multiplication in the frequency domain. A more detailed discussion of convolution
`including its properties and graphical interpretation is given in Chapter5.
`
`20
`
`20
`
`
`
`6 Chapter 1 # Introduction
`
`
`
`Table 1.1. Summary of key DSP operations.
`
`(1) Convolution. Given two finite length sequences, x(k) and A(k), of lengths N, and N,,
`respectively, their linear convolution is
`=
`M=l
`y(n) = h(n) @ x(n) = > h(kjx(n—k)= » Af(k)x(n-—kK),n=0,1,...,i4-1
`k==00
`k=0
`
`(23
`
`where M=N,+N,- L.
`
`(2) Correlation.
`(a) Given two N-length sequences, x(k) and y(k), with zero means, an estimate of their
`cross-correlation is given by
`
`fy (nt)tn"_n =0, 41, 42... (1.2)
`Pry (0) =
`[r,.(0)s,,(O)]""
`
`
`
`wherer,,(m) is an estimate ofthe cross-covariance and defined as
`N=n=1
`
`wy
`— x(kKy(k +n) n=0,1,2,...
`
`
`N k=0
`
`Kyl) =
`
`|
`
`-
`
`—>»x(k —nv)y( n= 0, -1, -2,...
`
`k)
`
`0,
`
`-1,
`
`-2
`
`l N=!
`| N-l
`re(0) = — SLOOP, 4.0) = => DOP
`
`(b) An estimate of the autocorrelation, p,,(m), of an N-length sequence, x(k), with zero
`mean is given by
`
`eeeeee
`Fy(O)
`
`where r,,(71) is an estimate of the autocovariance and defined as
`N-n-1
`
`r,,(1) = a S$) x(k)x(k +n)
`
`k=0
`
`n=O, 1,2,...
`
`(3) Filtering. The equation for finite impulse response (FIR) filtering is
`N-1
`y(n) = Yhkx(n =k)
`k=0
`
`(1.3)
`
`(1.4)
`
`where x(k) and y(k) are the input and output of the filter, respectively, and /1(4),
`k=0,1,...,NM-— 1, are the filter coefficients.
`
`(4) Discrete transform.
`W-1
`(1.5)
`X(n) = Sew, where W = exp(—j27/N)
`&=0
`
`
`21
`
`21
`
`
`
`A(n)
`
`1.3 Key DSP operations 7
`
`
`
`
`
`
`
`—0.02
`
`(a)
`
`-0.02
`
`x(n)
`
`(b)
`
`8
`
`(c)
`
`Figure 1.1 An example of the convolution of two sequences. y(m)is the convolution of h(n)
`and x(n). If h(m) is considered the impulse response of a system, then y(7) is the
`system's output in response to the input x(m). The values of y(n) above were
`obtained directly from Equation |.1.
`
`1.3.2 Correlation
`
`There are two forms of correlations: auto- and cross-correlations.
`
`(1) The cross-correlation function (CCF) is a measure of the similarities or shared
`properties between twosignals. Applications of CCFs include cross-spectral
`analysis, detection/recovery of signals buried in noise, for example the
`detection of radar return signals, pattern matching, and delay measurements.
`CCFis defined in Equation 1.2 in Table 1.1.
`
`22
`
`22
`
`
`
`8 Chapter 1 # Introduction
`
`
`1
`0.8
`=
`0.6
`so
`& 04
`2
`02
`8
`0
`e -0.2
`Ss -0.4
`1.64
`-0.8 7
`
`
`+—+—_+_—_—_+--+"+=| +—+—+4 t }+—+-—_-
`
`=1,500
`SS8Bs88 88 2 8S
`SBssese82 2828
`one oe
`+t A SS
`es
`se
`osa so tai Ss
`wo
`wo
`4 oom = s+
`in
`= oom =f
`T+ 4
`
`1,500
`
`1,000
`
`500
`
`0
`
`—500
`
`—1,000
`
`Amplitude
`
`lr
`a
`
`
`
`Time (ms)
`
`Lag (ms)
`
`]oof
`
`& 067
`
`
`
`aE
`
`O47
`e 02+
`(b)
`0 AMMRataAletptertoerenmr
`—1,000.00 +
`eo oc ee se
`s&s
`
`
`sGoefe re es -0.2 +--+.IIHSa 6 t= ad S wo ss .
`
`= a na
`FF FH
`segseee2ee9s8s
`S
`ec ce
`€&
`&
`Time (ms)
`Soe we eS SG
`
`1,000.00
`
`500.00
`
`0.00
`
`—§00.00
`
`Amplitude
`
`Amplitude
`
`{c)
`
`2,500
`2,000
`1,500
`1,000
`500
`0
`—500
`—1,000
`—1,500
`—2,000
`—2,500
`
`
`
`
`
`Lag (ms)
`
`I
`0.8
`0.6
`04
`
`s
`Ss
`
`