《DSP FIRST:A MULTIMEDIA APPROACH》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:JAMES H.MCCLELLAN,RONALD W.SCHAFE,MARK A.YODER
  • 出 版 社:PRNETICE HALL
  • 出版年份:1998
  • ISBN:0132431718
  • 页数:524 页
图书介绍:

1 Introduction 1

1.1 Mathematical Representation of Signals 2

1.2 Mathematical Representation of Systems 5

1.3 Thinking About Systems 7

1.4 The Next Step 8

2 Sinusoids 9

2.1 An Experiment with a Tuning Fork 10

2.2 Review of Sine and Cosine Functions 12

2.3 Sinusoidal Signals 15

2.3.1 Relation of Frequency to Period 16

2.3.2 Relation of Phase Shift to Time Shift 17

2.4 Sampling and Plotting Sinusoids 20

2.5 Complex Exponentials and Phasors 23

2.5.1 Review of Complex Numbers 23

2.5.2 Complex Exponential Signals 25

2.5.3 The Rotating Phasor Interpretation 26

2.5.4 Inverse Euler Formulas 29

2.6 Phasor Addition 31

2.6.1 Addition of Complex Numbers 32

2.6.2 Phasor Addition Rule 32

2.6.3 Phasor Addition Rule: Example 34

2.6.4 MATLAB Demo of Phasors 35

2.6.5 Summary of the Phasor Addition Rule 36

2.7 Physics of the Tuning Fork 37

2.7.1 Equations from Laws of Physics 37

2.7.2 General Solution to the Differential Equation 40

2.7.3 Listening to Tones 41

2.8 Time Signals: More Than Formulas 41

2.9 Summary and Links 42

Problems 43

3 Spectrum Representation 48

3.1 The Spectrum of a Sum of Sinusoids 48

3.1.1 Graphical Plot of the Spectrum 50

3.2 Beat Notes 51

3.2.1 Multiplication of Sinusoids 52

3.2.2 Beat Note Waveform 52

3.2.3 Amplitude Modulation 54

3.3 Periodic Waveforms 57

3.3.1 Synthetic Vowel 58

3.4 More Periodic Signals 62

3.4.1 Fourier Series: Analysis 62

3.4.2 The Square Wave 63

3.4.3 Triangle Wave 64

3.4.4 Example of a Non-periodic Signal 65

3.5 Time-Frequency Spectrum 68

3.5.1 Stepped Frequency 71

3.5.2 Spectrogram Analysis 72

3.6 Frequency Modulation: Chirp Signals 73

3.6.1 Chirp, or Linearly Swept Frequency 73

3.6.2 A Closer Look at Instantaneous Frequency 75

3.7 Summary and Links 77

Problems 78

4 Sampling and Aliasing 83

4.1 Sampling 83

4.1.1 Sampling Sinusoidal Signals 85

4.1.2 The Sampling Theorem 87

4.1.3 Aliasing 88

4.1.4 Folding 89

4.2 Spectrum View of Sampling 90

4.2.1 Over-Sampling 90

4.2.2 Aliasing Due to Under-Sampling 92

4.2.3 Folding Due to Under-Sampling 93

4.2.4 Maximum Reconstructed Frequency 94

4.3 Strobe Demonstration 94

4.3.1 Spectrum Interpretation 99

4.4 Discrete-to-Continuous Conversion 100

4.4.1 Alias Frequencies Due to Sampling 101

4.4.2 Interpolation with Pulses 102

4.4.3 Zero-Order Hold Interpolation 103

4.4.4 Linear Interpolation 104

4.4.5 Parabolic Interpolation 105

4.4.6 Over-Sampling Aids Interpolation 106

4.4.7 Ideal Bandlimited Interpolation 107

4.5 The Sampling Theorem 109

4.6 Summary and Links 111

Problems 112

5 FIR Filters 119

5.1 Discrete-Time Systems 119

5.2 The Running Average Filter 121

5.3 The General FIR Filter 124

5.3.1 An Illustration of FIR Filtering 125

5.3.2 The Unit Impulse Response 127

5.3.2.1 Unit Impulse Sequence 128

5.3.2.2 Unit Impulse Response Sequence 129

5.3.2.3 The Unit-Delay System 130

5.3.3 Convolution and FIR Filters 131

5.3.3.1 Computing the Output of a Convolution 131

5.3.3.2 Convolution in MATLAB 133

5.4 Implementation of FIR Filters 133

5.4.1 Building Blocks 134

5.4.1.1 Multiplier 134

5.4.1.2 Adder 134

5.4.1.3 Unit Delay 135

5.4.2 Block Diagrams 135

5.4.2.1 Other Block Diagrams 136

5.4.2.2 Internal Hardware Details 137

5.5 Linear Time-Invariant (LTI) Systems 138

5.5.1 Time Invariance 139

5.5.2 Linearity 140

5.5.3 The FIR Case 141

5.6 Convolution and LTI Systems 142

5.6.1 Derivation of the Convolution Sum 142

5.6.2 Some Properties of LTI Systems 144

5.6.2.1 Convolution as an Operator 144

5.6.2.2 Commutative Property of Convolution 145

5.6.2.3 Associative Property of Convolution 146

5.7 Cascaded LTI Systems 146

5.8 Example of FIR Filtering 149

5.9 Summary and Links 152

Problems 152

6 Frequency Response of FIR Filters 157

6.1 Sinusoidal Response of FIR Systems 157

6.2 Superposition and the Frequency Response 160

6.3 Steady State and Transient Response 164

6.4 Properties of the Frequency Response 166

6.4.1 Relation to Impulse Response and Difference Equation 166

6.4.2 Periodicity of H(w) 168

6.4.3 Conjugate Symmetry 168

6.5 Graphical Representation of the Frequency Response 169

6.5.1 Delay System 170

6.5.2 First Difference System 170

6.5.3 A Simple Lowpass Filter 174

6.6 Cascaded LTI Systems 176

6.7 Running-Average Filtering 179

6.7.1 Plotting the Frequency Response 180

6.7.2 Cascade of Magnitude and Phase 184

6.7.3 Experiment: Smoothing an Image 184

6.8 Filtering Sampled Continuous-Time Signals 188

6.8.1 Example: Low-Pass Averager 190

6.8.2 Interpretation of Delay 192

6.9 Summary and Links 194

Problems 195

7 z-Transforms 202

7.1 Definition of the z-Transform 203

7.2 The z-Transform and Linear Systems 205

7.2.1 The z -Transform of an FIR Filter 205

7.3 Properties of the z-Transform 208

7.3.1 The Superposition Property of the z -Transform 208

7.3.2 The Time-Delay Property of the z-Transform 209

7.3.3 A General z-Transform Formula 210

7.4 The z-Transform as an Operator 211

7.4.1 Unit-Delay Operator 211

7.4.2 Operator Notation 212

7.4.3 Operator Notation in Block Diagrams 213

7.5 Convolution and the z-Transform 213

7.5.1 Cascading Systems 217

7.5.2 Factoring z-Polynomials 218

7.5.3 Deconvolution 219

7.6 Relationship Between the z-Domain and the w-Domain 220

7.6.1 The z-Plane and the Unit Circle 221

7.6.2 The Zeros and Poles of H (z) 222

7.6.3 Significance of the Zeros of H(z) 224

7.6.4 Nulling Filters 225

7.6.5 Graphical Relation Between z and w 226

7.7 Useful Filters 228

7.7.1 The L -Point Running Sum Filter 229

7.7.2 A Complex Bandpass Filter 231

7.7.3 A Bandpass Filter with Real Coefficients 234

7.8 Practical Bandpass Filter Design 236

7.9 Properties of Linear Phase Filters 239

7.9.1 The Linear Phase Condition 239

7.9.2 Locations of the Zeros of FIR Linear Phase Systems 241

7.10 Summary and Links 242

Problems 242

8 IIR Filters 249

8.1 The General IIR Difference Equation 250

8.2 Time-Domain Response 251

8.2.1 Linearity and Time Invariance of IIR Filters 254

8.2.2 Impulse Response of a First-Order IIR System 254

8.2.3 Response to Finite-Length Inputs 256

8.2.4 Step Response of a First-Order Recursive System 258

8.3 System Function of an IIR Filter 261

8.3.1 The General First-Order Case 261

8.3.2 The System Function and Block-Diagram Structures 263

8.3.2.1 Direct Form I Structure 263

8.3.2.2 Direct Form II Structure 264

8.3.2.3 The Transposed Form Structure 265

8.3.3 Relation to the Impulse Response 267

8.3.4 Summary of the Method 268

8.4 Poles and Zeros 269

8.4.1 Poles or Zeros at the Origin or Infinity 270

8.4.2 Pole Locations and Stability 271

8.5 Frequency Response of an IIR Filter 272

8.5.1 Frequency Response using MATLaB 274

8.5.2 Three-Dimensional Plot of a System Function 276

8.6 Three Domains 278

8.7 The Inverse z -Transform and Some Applications 279

8.7.1 Revisiting the Step Response of a First-Order System 280

8.7.2 A General Procedure for Inverse z -Transformation 282

8.8 Steady-State Response and Stability 285

8.9 Second-Order Filters 289

8.9.1 z-transform of Second-Order Filters 289

8.9.2 Structures for Second-Order IIR Systems 291

8.9.3 Poles and Zeros 293

8.9.4 Impulse Response of a Second-Order IIR System 295

8.9.4.1 Real Poles 296

8.9.5 Complex Poles 297

8.10 Frequency Response of Second-Order IIR Filter 302

8.10.1 Frequency Response via MATLAB 303

8.10.2 3-dB Bandwidth 305

8.10.3 Three-Dimensional Plot of System Functions 305

8.11 Example of an IIR Lowpass Filter 307

8.12 Summary and Links 310

Problems 311

9 Spectrum Analysis 320

9.1 Introduction and Review 321

9.1.1 Review of the Frequency Spectrum 321

9.1.2 A Spectrum Analyzer 322

9.2 Spectrum Analysis by Filtering 324

9.2.1 Frequency Shifting 324

9.2.2 Measuring the Average Value 325

9.2.3 Channel Filters 325

9.3 Spectrum Analysis of Periodic Signals 328

9.3.1 Periodic Signals 328

9.3.2 Spectrum of a Periodic Signal 329

9.3.3 Filtering with a Running Sum 331

9.3.4 Spectrum Analysis Using Running-Sum Filtering 331

9.3.5 The DFT: Discrete Fourier Transform 334

9.3.6 DFT Examples 336

9.3.7 The Fast Fourier Transform (FFT) 338

9.4 Spectrum Analysis of Sampled Periodic Signals 340

9.5 Spectrum Analysis of Nonperiodic Signals 343

9.5.1 Spectrum Analysis of Finite-Length Signals 344

9.5.2 Frequency Sampling 347

9.5.3 Samples of the Frequency Response 349

9.5.4 Spectrum Analysis of Continuing Nonperiodic Signals 351

9.6 The Spectrogram 355

9.6.1 Spectrograms in MATLAB 356

9.6.2 Spectrogram of a Sampled Periodic Signal 357

9.6.3 Resolution of the Spectrogram 359

9.6.3.1 Resolution Experiment 360

9.6.4 Spectrogram of a Musical Scale 361

9.6.5 Spectrogram of a Speech Signal 363

9.7 Filtered Speech 368

9.8 The Fast Fourier Transform (FFT) 371

9.8.1 Derivation of the FFT 371

9.8.1.1 FFT Operation Count 373

9.9 Summary and Links 374

Problems 376

Appendix A Complex Numbers 378

A.1 Introduction 379

A.2 Notation for Complex Numbers 380

A.2.1 Rectangular Form 380

A.2.2 Polar Form 381

A.2.3 Conversion: Rectangular and Polar 381

A.2.4 Difficulty in Second or Third Quadrant 383

A.3 Euler's Formula 384

A.3.1 Inverse Euler Formulas 385

A.4 Algebraic Rules for Complex Numbers 385

A.4.1 Exercises 388

A.5 Geometric Views of Complex Operations 388

A.5.1 Geometric View of Addition 389

A.5.2 Geometric View of Subtraction 390

A.5.3 Geometric View of Multiplication 391

A.5.4 Geometric View of Division 391

A.5.5 Geometric View of Inverse 392

A.5.6 Geometric View of Conjugate 393

A.6 Powers and Roots 393

A.6.1 Roots of Unity 394

A.6.1.1 Procedure for Finding Multiple Roots 395

A.7 Summary and Links 397

Problems 398

Appendix B Programming in MATLAB 399

B.1 MATLAB Help 400

B.2 Matrix Operations and Variables 400

B.2.1 The Colon Operator 401

B.2.2 Matrix and Array Operations 401

B.2.2.1 A Review of Matrix Multiplication 402

B.2.2.2 Pointwise Array Operations 403

B.3 Plots and Graphics 403

B.3.1 Figure Windows 404

B.3.2 Multiple Plots 404

B.3.3 Printing and Saving Graphics 405

B.4 Programming Constructs 405

B.4.1 MATLAB Built-in Functions 406

B.4.2 Program Flow 406

B.5 MATLAB Scripts 406

B.6 Writing a MATLAB Function 407

B.6.1 Creating A Clip Function 408

B.6.2 Debugging a MATLAB M-file 410

B.7 Programming Tips 410

B.7.1 Avoiding Loops 411

B.7.2 Repeating Rows or Columns 411

B.7.3 Vectorizing Logical Operations 412

B.7.4 Creating an Impulse 413

B.7.5 The Find Function 413

B.7.6 Seek to Vectorize 414

B.7.7 Programming Style 414

Appendix C Laboratory Projects 415

C.1 Laboratory: Introduction to MATLAB 417

C.1.1 Overview and Goals 417

C.1.2 Warm-up 417

C.l.2.1 Basic Commands 417

C.l.2.2 MATLAB Array Indexing 419

C.l.2.3 MATLAB Script Files 419

C.l.2.4 MATLAB Demos 420

C.l.2.5 MATLAB Sound 421

C.l.2.6 Functions 421

C.l.2.7 Vectorization 423

C.1.3 Exercises: Using MATLAB 423

C.l.3.1 Manipulating Sinusoids with MATLAB 424

C.l.4 Lab Review Questions 424

C.2 Laboratory: Introduction to Complex Exponentials 427

C.2.1 Overview 427

C.2.1.1 Complex Numbers in MATLAB 427

C.2.1.2 Sinusoid Addition Using Complex Exponentials 428

C.2.1.3 Harmonic Sinusoids 429

C.2.2 Warm-up 429

C.2.2.1 Complex Numbers 429

C.2.2.2 Sinusoidal Synthesis with an M-File 429

C.2.3 Exercises: Complex Exponentials 430

C.2.3.1 Representation of Sinusoids with Complex Exponentials 430

C.2.3.2 Verify Addition of Sinusoids Using Complex Exponentials 431

C.2.4 Periodic Waveforms 432

C.3 Laboratory: Synthesis of Sinusoidal Signals 433

C.3.1 Overview 433

C.3.2 Warm-up: Music Synthesis 433

C.3.2.1 D-to-A Conversion 434

C.3.2.2 Theory of Sampling 434

C.3.2.3 Piano Keyboard 435

C.3.3 Lab: Synthesis of Musical Notes 438

C.3.3.1 Spectrogram of the Music 439

C.3.3.2 Fur Elise 439

C.3.3.3 Musical Tweaks 440

C.3.3.4 Programming Tips 440

C.3.3.5 Alternative Piece: Jesu, Joy of Man's Desiring 441

C.3.3.6 Alternative Piece: Minuet in G 441

C.3.3.7 Alternative Piece: Beethoven's Fifth Symphony 441

C.3.3.8 Alternative Piece: Twinkle, Twinkle, Little Star 442

C.3.4 Sound Evaluation Criteria 442

C.4 Laboratory: AM and FM Sinusoidal Signals 443

C.4.1 Overview 443

C.4.1.1 Amplitude Modulation 443

C.4.1.2 Frequency Modulated Signals 443

C.4.1.3 Chirp, or Linearly Swept Frequency 444

C.4.1.4 Advanced Topic: Spectrograms 444

C.4.2 Warm-up 445

C.4.2.1 MATLAB Synthesis of Chirp Signals 445

C.4.3 Lab A: Chirps and Beats 446

C.4.3.1 Synthesize a Chirp 446

C.4.3.2 Beat Notes 446

C.4.3.3 More on Spectrograms (Optional) 447

C.4.4 Lab B: FM Synthesis of Instrument Sounds 448

C.4.4.1 Generating the Bell Envelopes 449

C.4.4.2 Parameters for the Bell 450

C.4.4.3 The Bell Sound 451

C.4.4.4 Comments about the Bell 452

C.4.5 Woodwinds 452

C.4.5.1 Generating the Envelopes for Woodwinds 452

C.4.5.2 Scaling the Clarinet Envelopes 453

C.4.5.3 Clarinet Envelopes 453

C.4.5.4 Parameters for the Clarinet 454

C.4.5.5 Experiment with the Clarinet Sound 455

C.5 Laboratory: FIR Filtering of Sinusoidal Waveforms 456

C.5.1 Overview of Filtering 456

C.5.1.1 Frequency Response of FIR Filters 457

C.5.2 Warm-up 458

C.5.2.1 Frequency Response of the 3-Point Averager 458

C.5.3 Lab: FIR Filters 459

C.5.3.1 Filtering Cosine Waves 459

C.5.3.2 First-Difference Filter 460

C.5.3.3 Linearity of the Filter 460

C.5.3.4 Time Invariance of the Filter 461

C.5.3.5 Cascading Two Systems 461

C.6 Laboratory: Filtering Sampled Waveforms 463

C.6.1 Overview of Linear Filters 463

C.6.2 Warm-up 464

C.6.2.1 Properties of Discrete-Time Filters 464

C.6.3 Laboratory: Sampling and Filters 465

C.6.3.1 Filtering a Stair-Step Signal 465

C.6.3.2 Implementation of Five-Point Averager 466

C.6.3.3 Implementation of First-Difference System 466

C.6.3.4 Implementation of First Cascade (Fig. C.ll) 467

C.6.3.5 Implementation of Second Cascade (Fig. C.12) 467

C.6.3.6 Comparison of Systems of Figs. C.11 and C.12 467

C.6.3.7 Filtering the Speech Waveform 467

C.7 Laboratory: Everyday Sinusoidal Signals 469

C.7.1 Background 469

C.7.1.1 Background A: Telephone Touch Tone Dialing 469

C.7.1.2 DTMF Decoding 470

C.7.1.3 Background B: Amplitude Modulation (AM) 470

C.7.1.4 AM Demodulation 472

C.7.1.5 Envelope Detection (Peak Tracking) 472

C.7.1.6 LTI filter-based demodulation 473

C.7.1.7 Notch Filters for Demodulation 473

C.7.2 Warm-up A: DTMF Synthesis 474

C.7.2.1 DTMF Dial Function 474

C.7.3 Warm-up B: Tone Amplitude Modulation 475

C.7.4 Laboratory A: DTMF Decoding 475

C.7.4.1 Filter Design 475

C.7.4.2 A Scoring Function 476

C.7.4.3 DTMF Decode Function 477

C.7.4.4 Telephone Numbers 478

C.7.5 Laboratory B: AM Waveform Detection 478

C.7.6 Optional: Amplitude Modulation with Speech 479

C.8 Laboratory: Filtering and Edge Detection of Images 481

C.8.1 Overview 481

C.8.1.1 Digital Images 481

C.8.1.2 Displaying Images 481

C.8.1.3 Image Filtering 483

C.8.2 Warm-up: Display of Images 483

C.8.2.1 Display Test 484

C.8.3 Laboratory: Filtering Images 484

C.8.3.1 One-Dimensional Filtering 484

C.8.3.2 Blurring an Image 485

C.8.3.3 More Image Filters 486

C.8.3.4 Frequency Content of an Image 486

C.8.3.5 The Method of Synthetic Highs 488

C.8.3.6 Nonlinear Filters 489

C.8.3.7 Edges in an Image 489

C.8.3.8 The Slope-Threshold Function 490

C.8.3.9 What's Nonlinear about Edge Detection? 491

C.9 Laboratory: Sampling and Zooming of Images 492

C.9.1 Overview 492

C.9.2 Warm-up: Linear Interpolation 492

C.9.3 Laboratory: Sampling of Images 493

C.9.3.1 Reconstruction of Images 494

C.9.3.2 Zooming for an Image 495

C.10 Laboratory: The z-, n-, and w-Domains 497

C.10.1 Objective 497

C.10.2 Warm-up 497

C.10.3 Laboratory: Relationships Between z-, n-, and w-domains 497

C.10.4 Real Poles 498

C.10.5 Complex Poles 498

C.10.6 Filter Design 499

C.11 Laboratory: Extracting Frequencies of Musical Tones*502++ C.11.1 Overview 502

C.11.2 Warm-up: System Components 502

C.11.2.1 Spectrogram Computation 502

C.11.2.2 Generating the Window 504

C.11.2.3 Display the Spectrogram 504

C.11.2.4 Finding Peaks 504

C.11.3 Design of the Music-Writing System 505

C.11.3.1 Block Diagram for the System 505

C.11.3.2 Write a Spectrogram Function 505

C.11.3.3 Parameters of the Spectrogram 506

C.11.3.4 Peak Picking and Editing 506

C.11.3.5 Writing the Musical Score 507

C.11.4 Testing the Music Extraction Program 507

Appendix D About the CD 508

Index 519