Muutke küpsiste eelistusi

Digital Signal Processing: Principles and Applications [Kõva köide]

(San Francisco State University)
  • Formaat: Hardback, 1058 pages, kõrgus x laius x paksus: 252x196x46 mm, kaal: 2170 g, Worked examples or Exercises
  • Ilmumisaeg: 18-Feb-2021
  • Kirjastus: Cambridge University Press
  • ISBN-10: 1108418449
  • ISBN-13: 9781108418447
  • Formaat: Hardback, 1058 pages, kõrgus x laius x paksus: 252x196x46 mm, kaal: 2170 g, Worked examples or Exercises
  • Ilmumisaeg: 18-Feb-2021
  • Kirjastus: Cambridge University Press
  • ISBN-10: 1108418449
  • ISBN-13: 9781108418447
Combining clear explanations of elementary principles, advanced topics and applications with step-by-step mathematical derivations, this textbook provides a comprehensive yet accessible introduction to digital signal processing. All the key topics are covered, including discrete-time Fourier transform, z-transform, discrete Fourier transform and FFT, A/D conversion, and FIR and IIR filtering algorithms, as well as more advanced topics such as multirate systems, the discrete cosine transform and spectral signal processing. Over 600 full-color illustrations, 200 fully worked examples, hundreds of end-of-chapter homework problems and detailed computational examples of DSP algorithms implemented in MATLAB® and C aid understanding, and help put knowledge into practice. A wealth of supplementary material accompanies the book online, including interactive programs for instructors, a full set of solutions and MATLAB® laboratory exercises, making this the ideal text for senior undergraduate and graduate courses on digital signal processing.

Arvustused

'Professor Holton has done a great service to faculty who teach digital signal processing. The material is developed in a clear and thorough manner with an excellent range of topics, from elementary to advanced and from theoretical to applied. Many insightful analytical and computational examples and homework problems are included, with Matlab intelligently integrated. This textbook is the clear front-runner in a crowded field.' Howard Weinert, Johns Hopkins University ' a student-friendly book, making learning DSP a fun journey.' Xiyi Hang, California State University, Northridge ' an excellent textbook for undergraduate as well as graduate students. It is well written, very clearly defined and presents all DSP topics, using many examples including the use of Matlab Holton covers all necessary materials for a thorough understanding of DSP concepts and practical applications of a subject which is very mathematical It is without any reservations that I strongly endorse and recommend the DSP book by Professor Holton.' Mousavinezhad Hossein, Idaho State University 'The Holton text includes technical materials that a practicing engineer needs to know to prototype a fixed-coefficient DSP system architecture using Matlab. There are many unique features of this textbook, including a full chapter on visualizing frequency response from pole-zero plots, multi-color plots for better comprehension, rigorous derivation of all formulas, and up-to-date hardware- and software-based implementation ideas for the benefit of novice and practicing engineers. I strongly recommend its adoption.' Kalyan Mondal, Fairleigh Dickinson University

Muu info

A comprehensive and mathematically accessible introduction to digital signal processing, covering theory, advanced topics, and applications.
Preface xxi
1 Discrete-time signals and systems
1(62)
Introduction
1(1)
1.1 Two signal processing paradigms
1(2)
1.2 Advantages of digital signal processing
3(2)
1.3 Applications of DSP
5(1)
1.4 Signals
6(4)
1.4.1 Signal classification
7(1)
1.4.2 Discrete-time signals
8(2)
1.5 Basic operations on signals
10(5)
1.5.1 Shift
10(1)
1.5.2 Flip
11(1)
1.5.3 Flip and shift
12(1)
1.5.4 Time decimation
13(1)
1.5.5 Time expansion
14(1)
1.5.6 Operation on multiple sequences
14(1)
1.6 Basic sequences
15(17)
1.6.1 Impulse
15(4)
1.6.2 Unit step
19(2)
1.6.3 Pulse
21(1)
1.6.4 Power-law sequences
22(1)
1.6.5 Sinusoidal sequences
22(4)
1.6.6 Complex exponential sequences
26(2)
1.6.7 Sequence classification
28(4)
1.7 Systems
32(7)
1.7.1 Discrete-time scalar multiplier
32(2)
1.7.2 Offset
34(1)
1.7.3 Squarer
34(1)
1.7.4 Shift
35(1)
1.7.5 Moving-window average
36(1)
1.7.6 Summer
37(1)
1.7.7 Switch
38(1)
1.7.8 Linear constant-coefficient difference equation (LCCDE)
38(1)
1.8 Linearity
39(7)
1.8.1 The additivity property
39(1)
1.8.2 The scaling property
40(1)
1.8.3 Discrete-time scalar multiplier
41(1)
1.8.4 Offset
41(1)
1.8.5 Squarer
42(1)
1.8.6 Shift
42(1)
1.8.7 Moving-window average
43(1)
1.8.8 Summer
43(1)
1.8.9 Switch
44(1)
1.8.10 Linear constant-coefficient difference equation
44(2)
1.8.11 The "zero-in, zero-out" property of linear systems
46(1)
1.9 Time in variance
46(3)
1.9.1 Discrete-time scalar multiplier
47(1)
1.9.2 Offset
47(1)
1.9.3 Squarer
47(1)
1.9.4 Shift
47(1)
1.9.5 Moving-window average
47(1)
1.9.6 Summer
48(1)
1.9.7 Switch
48(1)
1.9.8 Linear constant-coefficient difference equation (LCCDE)
49(1)
1.10 Causality
49(2)
1.10.1 Discrete-time scalar multiplier
50(1)
1.10.2 Offset
50(1)
1.10.3 Squarer
50(1)
1.10.4 Shift
50(1)
1.10.5 Moving-window average
50(1)
1.10.6 Summer
50(1)
1.10.7 Switch
51(1)
1.10.8 Linear constant-coefficient difference equation (LCCDE)
51(1)
1.11 Stability
51(12)
1.11.1 Discrete-time scalar multiplier
51(1)
1.11.2 Offset
51(1)
1.11.3 Squarer
51(1)
1.11.4 Shift
52(1)
1.11.5 Moving-window average
52(1)
1.11.6 Summer
52(1)
1.11.7 Switch
52(1)
1.11.8 Linear constant-coefficient difference equation (LCCDE)
52(1)
Summary
52(1)
Problems
53(10)
2 Impulse response
63(50)
Introduction
63(1)
2.1 FIR and IIR systems
63(5)
2.1.1 Finite impulse response (FIR) systems
63(2)
2.1.2 Infinite impulse response (IIR) systems
65(1)
2.1.3 Response of a system to a flipped and shifted impulse
66(2)
2.2 Convolution
68(10)
2.2.1 Direct-summation method
69(2)
2.2.2 Flip-and-shift method
71(1)
2.2.3 Convolution examples
72(6)
2.3 Properties of convolution
78(5)
2.3.1 The commutative property
78(3)
2.3.2 The associative property
81(1)
2.3.3 The distributive property
82(1)
2.4 Stability and causality
83(6)
2.4.1 Stability
84(4)
2.4.2 Causality
88(1)
2.5 *Convolution reinterpreted
89(4)
2.5.1 Convolution as polynomial multiplication
89(1)
2.5.2 Convolution using Matlab
90(1)
2.5.3 Convolution as matrix multiplication
91(2)
2.6 *Deconvolution
93(4)
2.7 * Convolution oflong sequences
97(3)
2.7.1 Overlap-add method
97(2)
2.7.2 Overlap-save method
99(1)
2.8 Implementation issues
100(13)
Summary
101(1)
Problems
101(12)
3 Discrete-time Fourier transform
113(98)
Introduction
113(1)
3.1 Complex exponentials and sinusoids
113(5)
3.1.1 Response of LTI systems to complex exponentials
113(3)
3.1.2 Response of linear time-invariant systems to sinusoids
116(2)
3.2 Discrete-time Fourier transform (DTFT)
118(11)
3.2.1 Orthogonality of complex exponential sequences
118(1)
3.2.2 Definition and derivation
119(1)
3.2.3 Notation of the DTFT
120(1)
3.2.4 Existence of the DTFT
121(1)
3.2.5 The system function (again)
122(1)
3.2.6 Periodicity of the DTFT
122(1)
3.2.7 DTFT of finite-length sequences
122(5)
3.2.8 DTFT of infinite-length sequences
127(2)
3.3 Magnitude and phase description of the DTFT
129(6)
3.3.1 Magnitude and phase of the DTFT of an impulse
129(2)
3.3.2 Essential phase discontinuities
131(4)
3.4 Important sequences and their transforms
135(1)
3.5 Symmetry properties of the DTFT
135(8)
3.5.1 Time reversal
136(1)
3.5.2 Conjugate symmetry and antisymmetry
136(2)
3.5.3 Even and odd symmetry
138(1)
3.5.4 Consequences of symmetry
139(1)
3.5.5 * Complex sequences
140(2)
3.5.6 Symmetry summary
142(1)
3.6 Response of a system to sinusoidal input
143(2)
3.7 Linear-phase systems
145(7)
3.7.1 Causal symmetric sequences
145(2)
3.7.2 Causal antisymmetric sequences
147(1)
3.7.3 Time delay and group delay
148(4)
3.8 The inverse discrete-time Fourier transform
152(4)
3.9 Using Matlab to compute and plot the DTFT
156(1)
3.10 DTFT properties
157(32)
3.10.1 Linearity
157(1)
3.10.2 Delay (shifting) property
158(1)
3.10.3 Complex modulation (frequency shift) property
159(7)
3.10.4 Convolution
166(1)
3.10.5 Using the convolution property of the DTFT to do filtering
167(3)
3.10.6 Deconvolution and system identification using the convolution property
170(2)
3.10.7 Convolution properties
172(1)
3.10.8 Understanding filtering in the frequency domain
173(5)
3.10.9 Multiplication (windowing) property
178(3)
3.10.10 * Time- and band-limited systems
181(2)
3.10.11 * Spectral and temporal ambiguity
183(1)
3.10.12 Time-reversal property
184(2)
3.10.13 Differentiation property
186(1)
3.10.14 Parseval's theorem
186(1)
3.10.15 DC-and 7i-value properties
187(1)
3.10.16 * Using the DTFT to solve linear constant-coefficient difference equations
187(2)
3.10.17 Summary of DTFT properties
189(1)
3.11 * The relation between the DTFT and the Fourier series
189(22)
Summary
190(1)
Problems
190(21)
4 z-transform
211(76)
Introduction
211(1)
4.1 The z-transform
212(1)
4.2 The singularities of H(z)
213(21)
4.2.1 Pole-zero plots
214(3)
4.2.2 Left-sided sequences
217(1)
4.2.3 Relation between the z-transform and DTFT
218(1)
4.2.4 Multiple poles and zeros
219(8)
4.2.5 Finding the z-transform from the pole-zero plot
227(1)
4.2.6 Complex poles and zeros
227(4)
4.2.7 Some important transforms
231(1)
4.2.8 Finite-length sequences
231(3)
4.2.9 Plotting pole-zero plots with Matlab
234(1)
4.3 * Linear-phase FIR systems
234(6)
4.3.1 Complex zeros
237(1)
4.3.2 Real zeros
237(3)
4.4 The inverse z-transform
240(14)
4.4.1 All-zero systems
240(1)
4.4.2 Distinct real poles
241(3)
4.4.3 Complex poles
244(1)
4.4.4 Multiple (repeated) poles
245(2)
4.4.5 Improper rational functions
247(3)
4.4.6 Using Matlab to compute the inverse z-transform
250(4)
4.5 Properties of the z-transform
254(11)
4.5.1 Linearity
255(1)
4.5.2 Shifting property
255(1)
4.5.3 Differentiation property
256(1)
4.5.4 Time reversal property
257(2)
4.5.5 Convolution property
259(3)
4.5.6 Applications of convolution
262(1)
4.5.7 Initial-value theorem
263(1)
4.5.8 Final-value theorem
263(2)
4.6 Linear constant-coefficient difference equations (LCCDE)
265(9)
4.6.1 LCCDE of FIR systems
265(1)
4.6.2 LCCDE of IIR systems
265(1)
4.6.3 Relation between LCCDE and H(z)
266(1)
4.6.4 Using Matlab to solve LCCDEs
267(1)
4.6.5 Inverse filter
268(6)
4.7 * The unilateral r-transform
274(13)
Summary
274(1)
Problems
275(12)
5 Frequency response
287(44)
Introduction
287(1)
5.1 The computation of H(co) from H(z)
287(1)
5.2 Systems with a single real zero
287(8)
5.2.1 Direct computation
288(1)
5.2.2 Graphical method
288(7)
5.3 Systems with a single real pole
295(8)
5.4 Multiple real poles and zeros
303(3)
5.5 Complex poles and zeros
306(2)
5.6 *3-D visualization of H(co) from H(z)
308(2)
5.7 Allpass filter
310(11)
5.7.1 Real allpass filter
311(2)
5.7.2 Multiple poles and zeros
313(1)
5.7.3 Allpass filters with complex poles and zeros
314(1)
5.7.4 General allpass filter
315(1)
5.7.5 Systems with the same magnitude
316(4)
5.7.6 Practical applications of allpass filters
320(1)
5.8 Minimum-phase-lag systems
321(10)
Summary
323(1)
Problems
323(8)
6 A/D and D/A conversion
331(78)
Introduction
331(1)
6.1 Overview of A/D and D/A conversion
331(2)
6.2 Analog sampling and reconstruction
333(19)
6.2.1 Analog sampling
334(1)
6.2.2 The sampling theorem
335(7)
6.2.3 The Nyquist sampling criterion
342(1)
6.2.4 Oversampling, undersampling and critical sampling
343(5)
6.2.5 * Sampling a cosine
348(4)
6.3 Conversion from continuous time to discrete time and back
352(5)
6.3.1 The continuous-to-discrete (C/D) converter
352(1)
6.3.2 Spectrum of the discrete-time sequence
353(2)
6.3.3 The discrete-to-continuous (D/C) converter
355(1)
6.3.4 Summary
356(1)
6.4 Anti-aliasing and reconstruction filters
357(7)
6.4.1 The anti-aliasing filter
357(2)
6.4.2 A digital recording application
359(2)
6.4.3 Reconstruction filter
361(1)
6.4.4 Revised model of D/A conversion
361(3)
6.5 Downsampling and upsampling
364(17)
6.5.1 Downsampling
364(4)
6.5.2 Decimation and aliasing
368(3)
6.5.3 Oversampling A/D converter in a digital recording application
371(1)
6.5.4 Upsampling
372(3)
6.5.5 * Upsampling a cosine
375(2)
6.5.6 Upsampling D/A converter in a digital recording application
377(1)
6.5.7 Resampling
378(3)
6.6 Matlab functions for sample-rate conversion
381(1)
6.7 * Quantization
382(19)
6.7.1 Model of quantization
383(3)
6.7.2 Quantization error
386(2)
6.7.3 Noise reduction by oversampling
388(3)
6.7.4 * Noise-shaping A/D converters
391(7)
6.7.5 * Sigma-delta A/D converters
398(3)
6.8 * A/D converter architecture
401(1)
6.9 * D/A converter architecture
401(8)
Summary
402(1)
Problems
402(7)
7 Finite impulse response filters
409(90)
Introduction
409(1)
7.1 Linear-phase FIR filters
410(5)
7.1.1 Types of linear-phase filters
410(3)
7.1.2 Basic properties of linear-phase filters
413(2)
7.1.3 * Time-aligned and zero-phase FIR filters
415(1)
7.2 Preliminaries of filter design
415(5)
7.2.1 Specification of filter characteristics
415(2)
7.2.2 The ideal lowpass filter
417(1)
7.2.3 The optimum least-square-error FIR filter
417(2)
7.2.4 Even- and odd-length causal filters
419(1)
7.3 Window-based FIR filter design
420(17)
7.3.1 Rectangular window filter
420(6)
7.3.2 Raised cosine window niters
426(10)
7.3.3 Kaiser window
436(1)
7.4 Highpass, bandpass and bandstop FIR niters
437(7)
7.5 Matlab implementation of window-based FIR niters
444(5)
7.5.1 Matlab functions that implement FIR filtering
446(3)
7.6 * Spline and raised-cosine FIR filters
449(4)
7.6.1 FIR filters designed using splines
449(2)
7.6.2 FIR filters designed using raised cosines
451(2)
7.7 * Frequency-sampled FIR filter design
453(10)
7.7.1 Inverse DFT
454(4)
7.7.2 Frequency sampling as interpolation
458(2)
7.7.3 Design formulas
460(1)
7.7.4 Simultaneous equations
460(3)
7.7.5 Matlab implementation of frequency-sampled filters
463(1)
7.8 * Least-square-error FIR filter design
463(7)
7.8.1 Discrete least-square-error FIR filters
464(6)
7.8.2 * Integral least-square-error FIR filter design
470(1)
7.9 * Optimal lowpass filter design
470(1)
7.10 Multiband filters
471(1)
7.11 * Differentiator
472(2)
7.12 * Hilbert transformer
474(25)
7.12.1 Derivation of the Hilbert transformer
474(3)
7.12.2 FIR implementation of a Hilbert transformer
477(2)
7.12.3 FFT implementation of a Hilbert transformer
479(1)
7.12.4 Applications of the Hilbert transformer
479(2)
Summary
481(1)
Problems
482(17)
8 Infinite impulse response filters
499(98)
Introduction
499(1)
8.1 Definition of the IIR filter
500(1)
8.2 Overview of analog filter design
501(32)
8.2.1 Parameter definitions
502(2)
8.2.2 Butterworth filter
504(8)
8.2.3 * Chebyshev filter
512(8)
8.2.4 * Inverse Chebyshev filter
520(5)
8.2.5 * Elliptic filter
525(7)
8.2.6 Summary
532(1)
8.3 * Impulse invariance
533(11)
8.3.1 Impulse-invariance approach
533(2)
8.3.2 Impulse-invariance design procedure
535(6)
8.3.3 Mapping of s-plane to z-plane
541(3)
8.4 Bilinear transformation
544(18)
8.4.1 Forward-difference approximation
546(1)
8.4.2 Backward-difference approximation
547(1)
8.4.3 Bilinear transformation
548(1)
8.4.4 Bilinear-transformation procedure
549(7)
8.4.5 Cascade of second-order sections
556(6)
8.5 * Spectral transformations of IIR niters
562(13)
8.5.1 Lowpass-to-lowpass transformation
563(4)
8.5.2 Lowpass-to-highpass transformation
567(3)
8.5.3 Lowpass-to-bandpass transformation
570(3)
8.5.4 Lowpass-to-bandstop transformation
573(2)
8.6 * Zero-phase IIR filtering
575(22)
Summary
578(1)
Problems
578(19)
9 Filter architecture
597(60)
Introduction
597(1)
9.1 Signal-flow graphs
597(2)
9.2 Canonical filter architecture
599(4)
9.2.1 First-order filters
600(2)
9.2.2 Canonical filter architecture
602(1)
9.3 Transposed filters
603(3)
9.4 Cascade architecture
606(5)
9.4.1 Allpass filters
609(1)
9.4.2 Using Matlab to design cascade filters
610(1)
9.5 Parallel architecture
611(2)
9.5.1 Using Matlab to design parallel filters
612(1)
9.6 FIR filters
613(1)
9.7 * Lattice and lattice-ladder filters
614(16)
9.7.1 FIR lattice filters
615(5)
9.7.2 Specialized FIR lattice filters
620(1)
9.7.3 IIR lattice filters
621(4)
9.7.4 Allpass lattice filters
625(1)
9.7.5 Lattice-ladder IIR filters
625(3)
9.7.6 Stability of IIR filters revisited
628(2)
9.8 * Coefficient quantization
630(12)
9.8.1 Systems with poles
630(6)
9.8.2 Systems with zeros
636(2)
9.8.3 Systems with poles and zeros
638(2)
9.8.4 Pairing poles and zeros
640(1)
9.8.5 Coefficient quantization of lattice filters
641(1)
9.9 * Implementation issues
642(15)
9.9.1 Software implementation
642(5)
9.9.2 Hardware implementation
647(5)
Summary
652(1)
Problems
652(5)
10 Discrete Fourier transform (DFT)
657(50)
Introduction
657(1)
10.1 Derivation of the DFT
658(7)
10.1.1 The inverse discrete Fourier transform (IDFT)
662(2)
10.1.2 Orthogonality of complex exponential sequences
664(1)
10.1.3 Periodicity of the DFT
665(1)
10.1.4 * Conditions for the reconstruction of a sequence from the DFT
665(1)
10.2 DFT of basic signals
665(5)
10.2.1 DFT of an impulse
665(1)
10.2.2 DFT of a pulse
666(1)
10.2.3 DFT of a constant
667(1)
10.2.4 DFT of a complex exponential sequence
667(1)
10.2.5 DFT of a sinusoid
667(2)
10.2.6 Resolution and frequency mapping of the DFT
669(1)
10.2.7 Summary (so far)
670(1)
10.3 Properties of the DFT
670(20)
10.3.1 Linearity
671(1)
10.3.2 Complex conjugation
671(1)
10.3.3 Symmetry properties of the DFT
671(5)
10.3.4 Circular time shifting
676(4)
10.3.5 Circular time reversal
680(2)
10.3.6 Circular frequency shift
682(1)
10.3.7 Circular convolution
682(5)
10.3.8 Multiplication
687(2)
10.3.9 Parseval's theorem
689(1)
10.3.10 Summary of DFT properties
690(1)
10.4 * Matrix representation of the DFT
690(2)
10.5 * Using the DFT to increase resolution in the time and frequency domains
692(15)
10.5.1 Increasing frequency resolution by zero-padding in the time domain
692(2)
10.5.2 Upsampling in the time domain by zero-padding in the frequency domain
694(3)
10.5.3 * Recovery of the DTFT from the DFT
697(1)
Summary
697(1)
Problems
697(10)
11 Fast Fourier transform (FFT)
707(54)
Introduction
707(1)
11.1 Radix-2 FFT transforms
708(13)
11.1.1 Decimation-in-time FFT
709(6)
11.1.2 Computational gain
715(2)
11.1.3 Bit reversal
717(2)
11.1.4 * Decimation-in-frequency FFT
719(2)
11.2 ? Radix-4 FFT
721(4)
11.2.1 The radix-4 decomposition
721(2)
11.2.2 The radix-4 transform as a combination of radix-2 transforms
723(2)
11.3 * Composite (mixed-radix) FFT
725(5)
11.3.1 FFTs of composite size
726(3)
11.3.2 Mixed radix-2 and radix-4 transform
729(1)
11.3.3 Transposed and split-radix transforms
729(1)
11.4 Inverse FFT
730(1)
11.5 Matlab implementation
731(1)
11.6 FFT of real sequences
732(7)
11.6.1 Properties of DFTs (revisited)
732(1)
11.6.2 TV-point FFT of two real A-point sequences
733(2)
11.6.3 Appoint IFFT of two Appoint transforms
735(1)
11.6.4 * A/2-point FFT of a real A-point sequence
736(1)
11.6.5 * A/2-point IFFT of an A-point transform
737(2)
11.7 FFT resolution
739(2)
11.7.1 Increasing the resolution of the FFT
740(1)
11.7.2 Decreasing the resolution of the FFT
740(1)
11.8 Fast convolution using the FFT
741(6)
11.8.1 Convolution of fixed-length input sequences
741(2)
11.8.2 Block convolution using the FFT
743(3)
11.8.3 ? Using both DIT and DIF transforms
746(1)
11.8.4 Matlab support for convolution using the FFT
747(1)
11.9 ? The Goertzel algorithm
747(4)
11.10 Iterative and recursive implementations
751(4)
11.10.1 Iterative implementation
751(2)
11.10.2 Recursive implementation
753(2)
11.11 Implementation issues
755(6)
Summary
757(1)
Problems
757(4)
12 Discrete cosine transform (DCT)
761(54)
Introduction
761(1)
12.1 The DCT
761(17)
12.1.1 * Periodically extended sequences
762(2)
12.1.2 "The" discrete cosine transform (DCT-II)
764(2)
12.1.3 The inverse discrete cosine transform (IDCT)
766(3)
12.1.4 The four principal DCT variants
769(1)
12.1.5 Properties of the DCT
770(1)
12.1.6 * Matrix form of the DCT and IDCT
771(2)
12.1.7 * Energy compaction of the DCT
773(1)
12.1.8 * Implementation of the DCT-II and IDCT-II
774(2)
12.1.9 * The modified discrete cosine transform (MDCT)
776(2)
12.2 MPEG audio compression
778(14)
12.2.1 The MP3 encoder
780(1)
12.2.2 Hybrid filter bank and MDCT
781(1)
12.2.3 The psychoacoustic model
781(6)
12.2.4 Bit allocation and quantization
787(1)
12.2.5 Minimum entropy coding
788(4)
12.3 JPEG image compression
792(23)
12.3.1 Color processing
793(3)
12.3.2 DCT transformation and quantization
796(5)
12.3.3 Coefficient encoding
801(1)
12.3.4 Implementation of 2D-DCT
802(1)
Summary
802(1)
Problems
803(12)
13 Multirate systems
815(68)
Introduction
815(1)
13.1 Polyphase downsampling
816(10)
13.1.1 Review of downsampling
816(2)
13.1.2 Polyphase implementation of downsampling
818(4)
13.1.3 Downsampling summary
822(4)
13.2 Polyphase upsampling
826(7)
13.2.1 Review of upsampling
826(2)
13.2.2 Polyphase implementation of upsampling
828(4)
13.2.3 Upsampling summary
832(1)
13.3 * Polyphase resampling
833(1)
13.4 Transform analysis of polyphase systems
833(15)
13.4.1 Basic decimation and expansion identities
833(2)
13.4.2 Multirate identities of downsampling and upsampling
835(5)
13.4.3 Transform analysis of polyphase downsampling
840(1)
13.4.4 Transform analysis of polyphase upsampling
841(1)
13.4.5 Transform analysis of polyphase resampling
842(6)
13.4.6 * Matlab implementation of polyphase sample-rate conversion algorithms
848(1)
13.5 Multistage systems for downsampling and upsampling
848(10)
13.5.1 Multistage downsampling
849(6)
13.5.2 Multistage upsampling
855(3)
13.6 Multistage and multirate filtering
858(7)
13.6.1 Multistage interpolated FIR (IFIR) filters
858(5)
13.6.2 Multirate lowpass filtering
863(2)
13.7 Special filters for multirate applications
865(10)
13.7.1 Half-band filters
865(5)
13.7.2 Polyphase downsampling and upsampling using half-band filters
870(3)
13.7.3 L-band (Nyquist) filters
873(2)
13.8 ? Multirate filter banks
875(8)
Summary
875(1)
Problems
875(8)
14 Spectral analysis
883(60)
Introduction
883(1)
14.1 Basics of spectral analysis
884(11)
14.1.1 Spectral effects of windowing
884(2)
14.1.2 Effect of window choice
886(2)
14.1.3 Spectral spread and leakage
888(4)
14.1.4 Spectral effect of sampling
892(3)
14.2 The short-time Fourier transform (STFT)
895(8)
14.2.1 Constant overlap-add criterion
896(1)
14.2.2 The spectrogram
897(4)
14.2.3 * Implementation of the discrete STFT in Matlab
901(2)
14.3 * Nonparametric methods of spectral estimation
903(14)
14.3.1 The periodogram
903(5)
14.3.2 Bartlett's method
908(4)
14.3.3 The modified periodogram
912(1)
14.3.4 Averaged modified periodogram
913(1)
14.3.5 Welch's method
914(1)
14.3.6 Discrete-time periodograms
915(1)
14.3.7 Matlab implementation of the periodogram functions
915(2)
14.4 * Parametric methods of spectral estimation
917(11)
14.4.1 The ARMA model
917(4)
14.4.2 The Levinson-Durbin algorithm
921(4)
14.4.3 Matlab implementation of the Levinson-Durbin algorithm
925(3)
14.5 Linear prediction
928(15)
14.5.1 Predictor error and the estimation of model order
930(2)
14.5.2 Linear predictive coding (LPC)
932(1)
14.5.3 The source-filter model
933(1)
14.5.4 Linear predictive coding architecture
933(3)
14.5.5 * Alternate formulations of linear prediction equations
936(1)
Summary
936(1)
Problems
937(6)
Appendix A Linear algebra
943(12)
A.1 Systems of linear equations
943(1)
A.2 Solution of an inhomogeneous system of equations
944(4)
A.2.1 Unique solution
944(3)
A.2.2 Infinite number of solutions
947(1)
A.2.3 No solution
948(1)
A.3 Solution of a homogeneous system of equations
948(1)
A.3.1 Trivial solution
948(1)
A.3.2 Infinite number of solutions
949(1)
A.4 Least-square-error optimization
949(6)
Appendix B Numeric representations
955(14)
B.1 Integer representation
955(4)
B.1.1 Unsigned binary
955(1)
B.1.2 Signed-magnitude binary
956(1)
B.1.3 Two's-complement binary
956(2)
B.1.4 Offset binary
958(1)
B.1.5 Converting between binary formats
959(1)
B.2 Fixed-point (fractional) representation
959(5)
B.2.1 Rounding and truncation
961(3)
B.2.2 Arithmetic of fractional numbers
964(1)
B.3 Floating-point representation
964(2)
B.4 Computer representation of numbers
966(3)
Appendix C Matlab tutorial
969(22)
C.1 Introduction to Matlab
969(1)
C.1.1 What is Matlab?
969(1)
C.1.2 What is Matlab not?
970(1)
C.2 The elements of Matlab
970(11)
C.2.1 Calculator functions
970(1)
C.2.2 Variables
970(6)
C.2.3 Matlab functions
976(5)
C.3 Programming in Matlab
981(6)
C.3.1 Scripts
981(1)
C.3.2 Functions
982(2)
C.3.3 Conditionals and loops
984(1)
C.3.4 Classes
984(3)
C.4 Matlab help
987(1)
C.5 Plotting
988(1)
C.6 The Matlab environment
989(2)
C.6.1 Command window and editor
989(1)
C.6.2 Debugging and writing "clean" code
990(1)
Appendix D Probability and random processes
991(23)
D.1 Probability distribution and density functions
991(1)
D.1.1 Discrete probability density function
991(1)
D.1.2 Continuous probability density function
992(2)
D.1.3 Joint, marginal and conditional probability distributions
994(2)
D.1.4 Expected value and moments
996(1)
D.1.5 Covariance and correlation
997(2)
D.2 Random processes
999(13)
D.2.1 Statistics of a random process
1000(2)
D.2.2 Stationary random processes
1002(2)
D.2.3 White noise
1004(1)
D.2.4 Filtered random processes
1005(2)
D.2.5 The Wold decomposition
1007(1)
D.2.6 Estimators
1008(2)
D.2.7 Ergodic processes
1010(2)
D.3 Power spectral density
1012(1)
D.3.1 Definition
1012(1)
D.3.2 Power spectral density of a filtered random process
1013(1)
D.3.3 Power spectral density of noise
1013(1)
D.4 Matlab functions
1013(1)
D.4.1 Random number generators
1013(1)
D.4.2 Autocorrelation and crosscorrelation
1014(1)
Problems 1014(3)
References 1017(4)
Index 1021
Thomas Holton is Professor of Electrical and Computer Engineering at San Francisco State University with interests in speech and audio processing.