Menu Expand
Digital Signal Processing First, Global Edition

Digital Signal Processing First, Global Edition

James H. McClellan | Ronald Schafer | Mark Yoder

(2016)

Additional Information

Book Details

Abstract

For introductory courses (freshman and sophomore courses) in Digital Signal Processing and Signals and Systems. Text may be used before the student has taken a course in circuits.


DSP First and its accompanying digital assets are the result of more than 20 years of work that originated from, and was guided by, the premise that signal processing is the best starting point for the study of electrical and computer engineering. The "DSP First" approach introduces the use of mathematics as the language for thinking about engineering problems, lays the groundwork for subsequent courses, and gives students hands-on experiences with MATLAB. 


The Second Edition features three new chapters on the Fourier Series, Discrete-Time Fourier Transform, and the The Discrete Fourier Transform as well as updated labs, visual demos, an update to the existing chapters, and hundreds of new homework problems and solutions.


Table of Contents

Section Title Page Action Price
Cover Cover
Title Page 1
Copyright Page 2
Contents 3
PREFACE 15
1 Introduction 21
1-1 Mathematical Representation of Signals 22
1-2 Mathematical Representation of Systems 25
1-3 Systems as Building Blocks 27
1-4 The Next Step 28
2 Sinusoids 29
2-1 Tuning-Fork Experiment 30
2-2 Review of Sine and Cosine Functions 32
2-3 Sinusoidal Signals 34
2-3.1 Relation of Frequency to Period 35
2-3.2 Phase and Time Shift 37
2-4 Sampling and Plotting Sinusoids 39
2-5 Complex Exponentials and Phasors 41
2-5.1 Review of Complex Numbers 42
2-5.2 Complex Exponential Signals 43
2-5.3 The Rotating Phasor Interpretation 45
2-5.4 Inverse Euler Formulas 47
2-6 Phasor Addition 48
2-6.1 Addition of Complex Numbers 49
2-6.2 Phasor Addition Rule 49
2-6.3 Phasor Addition Rule: Example 51
2-6.4 MATLAB Demo of Phasors 53
2-6.5 Summary of the Phasor Addition Rule 53
2-7 Physics of the Tuning Fork 54
2-7.1 Equations from Laws of Physics 54
2-7.2 General Solution to the Differential Equation 57
2-7.3 Listening to Tones 58
2-8 Time Signals: More Than Formulas 58
2-9 Summary and Links 59
2-10 Problems 60
3 Spectrum Representation 69
3-1 The Spectrum of a Sum of Sinusoids 70
3-1.1 Notation Change 72
3-1.2 Graphical Plot of the Spectrum 72
3-1.3 Analysis versus Synthesis 73
3-2 Sinusoidal Amplitude Modulation 74
3-2.1 Multiplication of Sinusoids 74
3-2.2 Beat Note Waveform 75
3-2.3 Amplitude Modulation 78
3-2.4 AM Spectrum 79
3-2.5 The Concept of Bandwidth 80
3-3 Operations on the Spectrum 81
3-3.1 Scaling or Adding a Constant 81
3-3.2 Adding Signals 82
3-3.3 Time-Shifting x(t) Multiplies a by a[sub(k)] Complex Exponential 84
3-3.4 Differentiating x(t) Multiplies a[sub(k)] by (j2& 84
3-3.5 Frequency Shifting 85
3-4 Periodic Waveforms 87
3-4.1 Synthetic Vowel 88
3-4.2 Sine-Cubed Signal 91
3-4.3 Example of a Non-Periodic Signal 92
3-5 Fourier Series 94
3-5.1 Fourier Series: Analysis 95
3-5.2 Analysis of a Full-Wave Rectified Sine Wave 95
3-5.3 Spectrum of the FWRS Fourier Series 98
3-5.3.1 DC Value of Fourier Series 98
3-5.3.2 Finite Synthesis of a Full-Wave Rectified Sine 99
3-6 Time–Frequency Spectrum 101
3-6.1 Stepped Frequency 103
3-6.2 Spectrogram Analysis 103
3-7 Frequency Modulation: Chirp Signals 105
3-7.1 Chirp or Linearly Swept Frequency 105
3-7.2 A Closer Look at Instantaneous Frequency 107
3-8 Summary and Links 109
3-9 Problems 110
4 Sampling and Aliasing 122
4-1 Sampling 123
4-1.1 Sampling Sinusoidal Signals 125
4-1.2 The Concept of Aliases 127
4-1.3 Sampling and Aliasing 129
4-1.4 Spectrum of a Discrete-Time Signal 129
4-1.5 The Sampling Theorem 130
4-1.6 Ideal Reconstruction 131
4-2 Spectrum View of Sampling and Reconstruction 133
4-2.1 Spectrum of a Discrete-Time Signal Obtained by Sampling 133
4-2.2 Over-Sampling 134
4-2.3 Aliasing Due to Under-Sampling 135
4-2.4 Folding Due to Under-Sampling 136
4-2.5 Maximum Reconstructed Frequency 138
4-2.6 Sampling and Reconstruction GUI 140
4-3 Discrete-to-Continuous Conversion 141
4-3.1 Interpolation with Pulses 141
4-3.2 Zero-Order Hold Interpolation 142
4-3.3 Linear Interpolation 143
4-3.4 Cubic-Spline Interpolation 144
4-3.5 Over-Sampling Aids Interpolation 145
4-3.6 Ideal Bandlimited Interpolation 147
4-4 The Sampling Theorem 148
4-5 Strobe Demonstration 149
4-5.1 Spectrum Interpretation 153
4-6 Summary and Links 155
4-7 Problems 155
5 FIR Filters 167
5-1 Discrete-Time Systems 168
5-2 The Running-Average Filter 169
5-3 The General FIR Filter 173
5-3.1 An Illustration of FIR Filtering 176
5-4 The Unit Impulse Response and Convolution 178
5-4.1 Unit Impulse Sequence 178
5-4.2 Unit Impulse Response Sequence 179
5-4.2.1 The Unit-Delay System 181
5-4.3 FIR Filters and Convolution 181
5-4.3.1 Computing the Output of a Convolution 182
5-4.3.2 The Length of a Convolution 183
5-4.3.3 Convolution in MATLAB 184
5-4.3.4 Polynomial Multiplication in MATLAB 184
5-4.3.5 Filtering the Unit-Step Signal 185
5-4.3.6 Commutative Property of Convolution 186
5-4.3.7 MATLAB GUI for Convolution 187
5-5 Implementation of FIR Filters 189
5-5.1 Building Blocks 189
5-5.1.1 Multiplier 189
5-5.1.2 Adder 190
5-5.1.3 Unit Delay 190
5-5.2 Block Diagrams 190
5-5.2.1 Other Block Diagrams 192
5-5.2.2 Internal Hardware Details 194
5-6 Linear Time-Invariant (LTI) Systems 194
5-6.1 Time Invariance 195
5-6.2 Linearity 196
5-6.3 The FIR Case 197
5-7 Convolution and LTI Systems 198
5-7.1 Derivation of the Convolution Sum 199
5-7.2 Some Properties of LTI Systems 200
5-8 Cascaded LTI Systems 202
5-9 Example of FIR Filtering 204
5-10 Summary and Links 207
5-11 Problems 207
6 Frequency Response of FIR Filters 214
6-1 Sinusoidal Response of FIR Systems 215
6-2 Superposition and the Frequency Response 218
6-3 Steady-State and Transient Response 221
6-4 Properties of the Frequency Response 223
6-4.1 Relation to Impulse Response and Difference Equation 223
6-4.2 Periodicity of H(e[sup(j& 225
6-4.3 Conjugate Symmetry 225
6-5 Graphical Representation of the Frequency Response 226
6-5.1 Delay System 226
6-5.2 First-Difference System 227
6-5.3 A Simple Lowpass Filter 229
6-6 Cascaded LTI Systems 232
6-7 Running-Sum Filtering 234
6-7.1 Plotting the Frequency Response 235
6-7.2 Cascade of Magnitude and Phase 239
6-7.3 Frequency Response of Running Averager 240
6-7.4 Experiment: Smoothing an Image 240
6-8 Filtering Sampled Continuous-Time Signals 244
6-8.1 Example: A Lowpass Averager for Continuous-Time Signals 245
6-8.2 Interpretation of Delay 246
6-9 Summary and Links 249
6-10 Problems 250
7 Discrete-Time Fourier Transform 259
7-1 DTFT: Fourier Transform for Discrete-Time Signals 260
7-1.1 Forward DTFT 261
7-1.2 DTFT of a Shifted Impulse Sequence 261
7-1.3 Linearity of the DTFT 262
7-1.4 Uniqueness of the DTFT 263
7-1.5 DTFT of a Pulse 263
7-1.6 DTFT of a Right-Sided Exponential Sequence 264
7-1.7 Existence of the DTFT 265
7-1.8 The Inverse DTFT 266
7-1.9 Bandlimited DTFT 267
7-1.10 Inverse DTFT for the Right-Sided Exponential 270
7-1.11 The DTFT Spectrum 270
7-2 Properties of the DTFT 271
7-2.1 Linearity Property 272
7-2.2 Time-Delay Property 272
7-2.3 Frequency-Shift Property 273
7-2.3.1 DTFT of a Finite-Length Complex Exponential 273
7-2.3.2 DTFT of a Finite-Length Real Cosine Signal 275
7-2.4 Convolution and the DTFT 275
7-2.4.1 Filtering is Convolution 277
7-2.5 Energy Spectrum and the Autocorrelation Function 277
7-2.5.1 Autocorrelation Function 278
7-3 Ideal Filters 279
7-3.1 Ideal Lowpass Filter 280
7-3.2 Ideal Highpass Filter 282
7-3.3 Ideal Bandpass Filter 283
7-4 Practical FIR Filters 284
7-4.1 Windowing 284
7-4.2 Filter Design 285
7-4.2.1 Window the Ideal Impulse Response 286
7-4.2.2 Frequency Response of Practical Filters 286
7-4.2.3 Passband Defined for the Frequency Response 288
7-4.2.4 Stopband Defined for the Frequency Response 289
7-4.2.5 Transition Zone of the LPF 290
7-4.2.6 Summary of Filter Specifications 291
7-4.3 GUI for Filter Design 291
7-5 Table of Fourier Transform Properties and Pairs 292
7-6 Summary and Links 293
7-7 Problems 294
8 Discrete Fourier Transform 301
8-1 Discrete Fourier Transform (DFT) 302
8-1.1 The Inverse DFT 304
8-1.2 DFT Pairs from the DTFT 306
8-1.2.1 DFT of Shifted Impulse 306
8-1.2.2 DFT of Complex Exponential 307
8-1.3 Computing the DFT 308
8-1.4 Matrix Form of the DFT and IDFT 309
8-2 Properties of the DFT 310
8-2.1 DFT Periodicity for X[k] 311
8-2.2 Negative Frequencies and the DFT 311
8-2.3 Conjugate Symmetry of the DFT 312
8-2.3.1 Ambiguity at X[N/2] 313
8-2.4 Frequency-Domain Sampling and Interpolation 314
8-2.5 DFT of a Real Cosine Signal 316
8-3 Inherent Time-Domain Periodicity of x[n] in the DFT 318
8-3.1 DFT Periodicity for x[n] 319
8-3.2 The Time Delay Property for the DFT 321
8-3.2.1 Zero Padding 323
8-3.3 The Convolution Property for the DFT 324
8-4 Table of Discrete Fourier Transform Properties and Pairs 326
8-5 Spectrum Analysis of Discrete Periodic Signals 327
8-5.1 Periodic Discrete-Time Signal: Discrete Fourier Series 328
8-5.2 Sampling Bandlimited Periodic Signals 331
8-5.3 Spectrum Analysis of Periodic Signals 334
8-6 Windows 337
8-6.1 DTFT of Windows 339
8-7 The Spectrogram 342
8-7.1 An Illustrative Example 343
8-7.2 Time-Dependent DFT 345
8-7.3 The Spectrogram Display 348
8-7.4 Interpretation of the Spectrogram 348
8-7.4.1 Frequency Resolution 350
8-7.5 Spectrograms in MATLAB 353
8-8 The Fast Fourier Transform (FFT) 354
8-8.1 Derivation of the FFT 354
8-8.1.1 FFT Operation Count 357
8-9 Summary and Links 358
8-10 Problems 358
9 z-Transforms 367
9-1 Definition of the z-Transform 368
9-2 Basic z-Transform Properties 371
9-2.1 Linearity Property of the z-Transform 371
9-2.2 Time-Delay Property of the z-Transform 371
9-2.3 A General z-Transform Formula 372
9-3 The z-Transform and Linear Systems 373
9-3.1 Unit-Delay System 374
9-3.2 The z[sup(-1)] Notation in Block Diagrams 374
9-3.3 The z-Transform of an FIR Filter 375
9-3.4 z-Transform of the Impulse Response 375
9-3.5 Roots of a z-Transform Polynomial 376
9-4 Convolution and the z-Transform 378
9-4.1 Cascading Systems 381
9-4.2 Factoring z-Polynomials 383
9-4.3 Deconvolution 384
9-5 Relationship Between the z-Domain and the Domain 384
9-5.1 The z-Plane and the Unit Circle 386
9-5.2 The z-Transform and the DFT 387
9-6 The Zeros and Poles of H(z) 389
9-6.1 Pole-Zero Plot 390
9-6.2 Significance of the Zeros of H(z) 391
9-6.3 Nulling Filters 392
9-6.4 Graphical Relation Between z and & 393
9-6.5 Three-Domain Movies 396
9-7 Simple Filters 397
9-7.1 Generalize the L-Point Running-Sum Filter 397
9-7.2 A Complex Bandpass Filter 399
9-7.3 A Bandpass Filter with Real Coefficients 399
9-8 Practical Bandpass Filter Design 401
9-9 Properties of Linear-Phase Filters 404
9-9.1 The Linear-Phase Condition 404
9-9.2 Locations of the Zeros of FIR Linear- Phase Systems 405
9-10 Summary and Links 406
9-11 Problems 407
10 IIR Filters 414
10-1 The General IIR Difference Equation 415
10-2 Time-Domain Response 416
10-2.1 Linearity and Time Invariance of IIR Filters 418
10-2.2 Impulse Response of a First-Order IIR System 419
10-2.3 Response to Finite-Length Inputs 421
10-2.4 Step Response of a First-Order Recursive System 422
10-3 System Function of an IIR Filter 425
10-3.1 The General First-Order Case 425
10-3.2 H(z) from the Impulse Response 427
10-4 The System Function and Block Diagram Structures 428
10-4.1 Direct Form I Structure 428
10-4.2 Direct Form II Structure 429
10-4.3 The Transposed Form Structure 431
10-5 Poles and Zeros 432
10-5.1 Roots in MATLAB 434
10-5.2 Poles or Zeros at z = 0 or & 434
10-5.3 Output Response from Pole Location 435
10-6 Stability of IIR Systems 436
10-6.1 The Region of Convergence and Stability 438
10-7 Frequency Response of an IIR Filter 440
10-7.1 Frequency Response Using MATLAB 441
10-7.2 Three-Dimensional Plot of a System Function 443
10-8 Three Domains 444
10-9 The Inverse z-Transform and Applications 446
10-9.1 Revisiting the Step Response of a First-Order System 446
10-9.2 A General Procedure for Inverse z-Transformation 449
10-10 Steady-State Response and Stability 451
10-11 Second-Order Filters 455
10-11.1 z-Transform of Second-Order Filters 455
10-11.2 Structures for Second-Order IIR Systems 456
10-11.3 Poles and Zeros 458
10-11.4 Impulse Response of a Second-Order IIR System 460
10-11.4.1 Distinct Real Poles 461
10-11.5 Complex Poles 462
10-12 Frequency Response of Second-Order IIR Filter 466
10-12.1 Frequency Response via MATLAB 467
10-12.2 3-dB Bandwidth 468
10-12.3 Three-Dimensional Plot of a System Function 470
10-12.4 Pole-Zero Placing with the PeZ GUI 472
10-13 Example of an IIR Lowpass Filter 474
10-14 Summary and Links 476
10-15 Problems 477
A: Complex Numbers 489
A-1 Introduction 490
A-2 Notation for Complex Numbers 491
A-2.1 Rectangular Form 491
A-2.2 Polar Form 492
A-2.3 Conversion: Rectangular and Polar 492
A-2.4 Difficulty in Second or Third Quadrant 494
A-3 Euler’s Formula 495
A-3.1 Inverse Euler Formulas 496
A-4 Algebraic Rules for Complex Numbers 496
A-4.1 Complex Number Exercises 498
A-5 Geometric Views of Complex Operations 500
A-5.1 Geometric View of Addition 500
A-5.2 Geometric View of Subtraction 501
A-5.3 Geometric View of Multiplication 502
A-5.4 Geometric View of Division 502
A-5.5 Geometric View of the Inverse, z[sup(-1)] 503
A-5.6 Geometric View of the Conjugate, z[sup(*)] 503
A-6 Powers and Roots 504
A-6.1 Roots of Unity 505
A-6.1.1 Procedure for Finding Multiple Roots 506
A-7 Summary and Links 508
A-8 Problems 508
B: Programming in MATLAB 511
B-1 MATLAB Help 512
B-2 Matrix Operations and Variables 512
B-2.1 The Colon Operator 513
B-2.2 Matrix and Array Operations 514
B-2.2.1 A Review of Matrix Multiplication 514
B-2.2.2 Pointwise Array Operations 515
B-3 Plots and Graphics 516
B-3.1 Figure Windows 516
B-3.2 Multiple Plots 517
B-3.3 Printing and Saving Graphics 517
B-4 Programming Constructs 517
B-4.1 MATLAB Built-In Functions 518
B-4.2 Program Flow 518
B-5 MATLAB Scripts 518
B-6 Writing a MATLAB Function 519
B-6.1 Creating a Clip Function 519
B-6.2 Debugging a MATLAB M-file 521
B-7 Programming Tips 522
B-7.1 Avoiding Loops 522
B-7.2 Repeating Rows or Columns 523
B-7.3 Vectorizing Logical Operations 524
B-7.4 Creating an Impulse 525
B-7.5 The Find Function 525
B-7.6 Seek to Vectorize 526
B-7.7 Programming Style 526
C: Fourier Series 527
C-1 Fourier Series Derivation 528
C-1.1 Fourier Integral Derivation 528
C-2 Examples of Fourier Analysis 531
C-2.1 The Pulse Wave 534
C-2.1.1 Spectrum of a Pulse Wave 536
C-2.1.2 Finite Synthesis of a Pulse Wave 537
C-2.2 Triangular Wave 538
C-2.2.1 Spectrum of a Triangular Wave 540
C-2.2.2 Finite Synthesis of a Triangular Wave 540
C-2.3 Half-Wave Rectified Sine 541
C-2.3.1 Finite Synthesis of a Half-Wave Rectified Sine 543
C-3 Operations on Fourier Series 544
C-3.1 Scaling or Adding a Constant 544
C-3.2 Adding Signals 545
C-3.3 Time-Scaling Property 546
C-3.4 Time-Shifting Property 547
C-3.5 Differentiation Property 548
C-3.6 Frequency-Shifting Property and Multiplying by a Sinusoid 549
C-4 Average Power, Convergence, and Optimality 551
C-4.1 Derivation of Parseval’s Theorem 554
C-4.2 Convergence of Fourier Synthesis 554
C-4.3 Minimum Mean-Square Approximation 556
C-5 The Spectrum in Pulsed-Doppler Radar Waveform Design 558
C-5.1 Measuring Range 558
C-5.2 Measuring Velocity from Doppler Shift 559
C-5.3 Pulsed-Doppler Radar Waveform 561
C-5.4 Measuring the Doppler Shift 562
C-6 Problems 563
D: Laboratory Projects 571
Index 574
A 574
B 574
C 575
D 575
E 576
F 576
G 577
H 578
I 578
L 578
M 578
N 579
O 579
P 579
R 579
S 580
T 581
U 582
V 582
W 582
Z 582