throbber
Digital Signal
`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
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket