filter design for signal processing using matlab · pdf filefilter design for signal...

11
FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac The University of Belgrade Belgrade, Yugoslavia Dejan V. Tosic The University of Belgrade Belgrade, Yugoslavia Brian L. Evans The University of Texas at Austin Austin, Texas PRENTICE HALL Upper Saddle River, New Jersey 07458

Upload: phungdung

Post on 07-Feb-2018

354 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

FILTER DESIGN FOR SIGNALPROCESSING USING MATLAB

AND MATHEMATICAL

Miroslav D. LutovacThe University of Belgrade

Belgrade, Yugoslavia

Dejan V. TosicThe University of Belgrade

Belgrade, Yugoslavia

Brian L. EvansThe University of Texas at Austin

Austin, Texas

PRENTICE HALLUpper Saddle River, New Jersey 07458

Page 2: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

CONTENTS

Foreword

Prpfare

• 1 SIGNALS

X X I

X X V

1

1.1 Signal Classification 21.1.1 Continuous or Analog Signals 21.1.2 Discrete-Time Signals 31.1.3 Digital Signals 51.1.4 Deterministic Signals 81.1.5 Random (Nondeterministic) Signals 8

1.2 The Sampling Theorem 91.3 Basic Continuous-Time Signals—Functions 13

1.3.1 Sinusoidal Signals 131.3.2 Real-Valued Exponential Signals 131.3.3 Unit Step Signal 141.3.4 Pulse Signals 141.3.5 Unit Ramp Signal 141.3.6 Unit Impulse Signal 151.3.7 Causal Signals 161.3.8 Combining Signals 16

1.4 Basic Discrete-Time Signals—Sequences 181.4.1 Sinusoidal Sequences 181.4.2 Real-Valued Exponential Sequences 18

Page 3: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

vi Contents

1.4.3 Unit Step Sequence 191.4.4 Unit Ramp Sequence 191.4.5 Unit Impulse Sequence 19

1.4.6 Causal Sequences 20

1.5 Continuous-Time Signals in MATLAB 20

1.6 Sequences in MATLAB 23

1.7 Continuous-Time Signals in Mathematica 25

1.8 Sequences in Mathematica 31

Problems 35

MATLAB Exercises 38

Mathematica Exercises 39

• 2 SYSTEMS 40

2.1 Basic Definitions 41

2.2 Block Diagrams 44

2.3 System Properties 462.3.1 State and Relaxed Systems 46

2.3.2 Causality and Realizable Systems 47

2.3.3 Stability 47

2.3.4 Time Invariance 48

2.3.5 Linearity and Superposition 48

2.3.6 Memoryless Systems 49

2.3.7 Sensitivity 49

2.3.8 Optimal and Adaptive Systems 50

2.3.9 Invertibility 51

2.4 Linear Time-Invariant Systems 51

2.4.1 The Differential Operator 52

2.4.2 Response of Continuous-Time LTI Systems 53

2.4.3 Transient System Specifications 54

2.4.4 The Shifting Operator for Difference Equations 55

2.4.5 Discrete-Time LTI Systems 56

2.4.6 Properties of LTI Systems 57

Problems 58

MATLAB Exercises 62

Mathematica Exercises 62

Page 4: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

Contents vii

• 3 TRANSFORMS 64

3.1 Phasor Transformation 653.1.1 The Representation of a Sinusoid by a Phasor 653.1.2 Properties of the Phasor Transform 663.1.3 Application of the Phasor Transform 673.1.4 Sinusoidal Steady-State Response 693.1.5 Nonsinusoidal Steady-State Response 743.1.6 Transfer Function and Frequency Response 753.1.7 Application Example of Phasor Method 79

3.2 Fourier Series and Harmonic Analysis 823.2.1 The Fourier Series 833.2.2 Complex Form of the Fourier Series 843.2.3 Parseval's Identity 843.2.4 Harmonics of Periodic Signals 853.2.5 Gibbs Phenomenon 853.2.6 Amplitude and Phase Spectrum of Periodic Signals 863.2.7 Steady-State Response of a System to a Nonsinusoidal Periodic Stimulus 87

3.3 Fourier Transform 883.3.1 Definition of the Fourier Transform 883.3.2 Properties of the Fourier Transform 893.3.3 Convolution 903.3.4 Parseval's Theorem and Energy Spectral Density 923.3.5 Properties of the Fourier Transform of Real Signals 923.3.6 Causal Signals and the Hilbert Transform 943.3.7 Application of the Fourier Transform 953.3.8 Fourier Transform of Sampled Signals and the Sampling Theorem 983.3.9 Fourier Transform of Periodic Signals and Power Spectral Density 993.3.10 Fourier Transform and the Phasor Method 101

3.4 Laplace Transform 1023.4.1 Definition of the Laplace Transform 1033.4.2 Properties of the Laplace Transform 1033.4.3 The Inverse Laplace Transform of Rational Functions 1053.4.4 Transfer Function of Continuous-Time Systems 106

3.5 Discrete Fourier Transform 1083.5.1 Definition of the Discrete Fourier Transform 1083.5.2 Properties of the Discrete Fourier Transform 1103.5.3 Computation of the Fourier Series Coefficients by DFT 1133.5.4 Computation of the Fourier Integral by DFT 1143.5.5 Frequency Response of Discrete-Time Systems 116

3.6 The z Transform 1173.6.1 Definition of the z Transform 1173.6.2 Properties of the z Transform 1183.6.3 Transfer Function of Discrete-Time Systems 120

3.7 Analysis of LTI Systems by Transform Method 1223.7.1 Continuous-Time LTI Systems 1233.7.2 Discrete-Time LTI Systems 126

Page 5: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

viii Contents

3.7.3 Analog LTI Circuits 131Problems 134MATLAB Exercises 137

Mathematica Exercises 137

• 4 CLASSIC ANALOG FILTER DESIGN 139

4.1 Introduction to Analog Filters 1394.2 Basic Filter Transfer Functions 142

4.2.1 Second-Order Transfer Functions 1434.3 Decomposition of Transfer Functions4.4 Pole-Zero Pairing4.5 Optimum Cascading Sequence4.6 Sensitivity

4.6.1 Basic Definitions 1554.6.2 Sensitivity of Second-Order Transfer Function 1574.6.3 Sensitivity to Passive Components 1604.6.4 Gain-Sensitivity Product (GSP) 162

4.7 Analog Filter Realizations4.8 Op Amp Active RC Filters

4.8.1 Low-Q-Factor Biquadratic Realizations 1654.8.2 Medium-Q-Factor Biquadratic Realizations 1714.8.3 High-Q-Factor Biquadratic Realizations 180

4.9 Switched-Capacitor (SC) Filters4.9.1 Mode 1 SC Realization 1994.9.2 Mode 2 SC Realization 1994.9.3 Mode 3 SC Realization 1994.9.4 Mode 4 SC Realization 2004.9.5 Mode 5 SC Realization 2004.9.6 Modes 6 and 7 SC Realizations 2014.9.7 Low-Sensitive Lowpass Notch Realization 2014.9.8 Programmable Lowpass/Highpass SC Filters 203

4.10 Passive RLC Filters4.10.1 Singly Terminated Ladder Realization 2084.10.2 Doubly Terminated Ladder Networks 2154.10.3 Quality Factor of Inductors and Capacitors 222

4.11 Operational Transconductance Amplifier (OTA) Filters4.11.1 Biquadratic OTA-C Realizations 224

4.12 Current-Conveyor (CC) Filters4.12.1 Current-Conveyor Filters Based on Passive RLC Filters 2324.12.2 Current-Conveyor Filters Derived from Op Amp Active RC Filters 233ProblemsMATLAB Exercises

Mathematica Exercises

Page 6: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

Contents ix

• 5 ADVANCED ANALOG FILTER DESIGN CASE STUDIES 241

5.1 Basic Definitions 2415.2 Specification of an Analog Filter 2435.3 Approximation Problem 2495.4 Design Space 2505.5 Basic Design Alternatives 254

5.5.1 Design Dl 2545.5.2 Design D2 2555.5.3 Design D3a 2565.5.4 Design D3b 2565.5.5 Design D4a 2575.5.6 Design D4b 2575.5.7 Remarks on Design Alternatives 258

5.6 Visualization of Design Space 2635.7 SC Filter Advanced Design Example 267

5.7.1 Introduction 2675.7.2 Mode 1 Operation 2685.7.3 Modification to Mode 1 Operation 2695.7.4 Cascaded Filter Realization 2715.7.5 Practical Implementation 2715.7.6 Concluding Remarks 273

6.16.26.3

6.46.56.66.76.86.96.10

ProblemsMATLAB Exercises

Mathematica Exercises

6 ADVANCED ANALOG FILTER DESIGN ALGORITHMS

IntroductionNotationDesign Equations and Procedures6.3.1 Specification 2826.3.2 Special and Auxiliary Functions 2836.3.3 Transfer Function Order 2846.3.4 Zeros, Poles, and Q -Factors 2866.3.5 Discrimination Factor, Elliptic Rational Function, and CharacteristicFunction 2876.3.6 Normalized Lowpass Elliptic Transfer Function 2886.3.7 Selectivity Factor, Ripple Factor, and Edge Frequencies 289Design DlDesign D2Design D3aDesign D3bDesign D4aDesign D4bDesien D5

274276277

279

279280282

291292293293294295295

Page 7: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

Contents

6.11 Time Response and Frequency Response6.12 Highpass Filter6.13 Bandpass Filter6.14 Bandreject Filter6.15 Concluding Remarks

• 7 MULTICRITERIA OPTIMIZATION OF ANALOG FILTER DESIGNS 301

7.1 Introduction 3017.2 Notation 3037.3 Objective Function 304

7.3.1 Deviation from a Desired Magnitude Response 3047.3.2 Deviation from an Ideal Phase Response 3057.3.3 Deviation from Desired Quality Factor 3067.3.4 Deviation from Desired Peak Overshoot in the Step Response 3077.3.5 The Complete Objective Function 309

7.4 Constraints 3097.5 Example Filter Designs 310

7.5.1 Allpole Filter with Near-Linear Phase Response and Minimal PeakOvershoot 3107.5.2 Filter with Near-Linear Phase Response and Minimal Peak Overshoot 3127.5.3 Filter Simultaneously Optimized for Four Criteria 312

7.6 Validation and Verification of the Automated Framework 3187.6.1 Verification of Formulas and Code Generation 3187.6.2 Generating Working MATLAB Programs 3197.6.3 Validating the MATLAB Programs 320

7.7 Conclusion 321

8 CLASSIC DIGITAL FILTER DESIGN

1.1 Introduction to Digital Filters1.2 Basic Filter Transfer Functions

8.2.1 Second-Order Transfer Functions 3331.3 Decomposition of Transfer Functions1.4 Pole-Zero Pairing>.5 Optimum Cascading Sequencei.6 Finite Wordlength Effects

8.6.1 Coefficient Quantization 3488.6.2 Basic Definitions of Sensitivity 3488.6.3 Sensitivity of Second-Order Transfer Function 3528.6.4 Overflow Arithmetic Operations 3568.6.5 Limit Cycles and Overflow Oscillations 3588.6.6 Signal Quantization Error 3588.6.7 Roundoff Noise 359

Page 8: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

Contents xi

8.7 Digital Filter Realizations 3638.7.1 Direct-Form I Realization 3648.7.2 Direct-Form II Realization 3658.7.3 Transposed Direct-Form II Realization 3668.7.4 Ansari-Liu Allpass Realizations 3688.7.5 Wave Digital Filter Realizations 372

8.8 Comparison of Realizations 378Problems 382MATLAB Exercises 385Mathematica Exercises 386

• 9 ADVANCED DIGITAL FILTER DESIGN CASE STUDIES 389

9.1 Basic Definitions 3899.2 Specification of a Digital Filter 3919.3 Approximation Step 3979.4 Design Space 3989.5 Basic Design Alternatives 402

9.5.1 Design Dl 4039.5.2 Design D2 4039.5.3 Design D3a 4049.5.4 Design D3b 4049.5.5 Design D4a 4059.5.6 Design D4b 4059.5.7 Remarks on Design Alternatives 406

9.6 Visualization of Design Space 4119.7 Elliptic Half-Band IIR Filters 415

9.7.1 Definition of Half-Band Filters 4169.7.2 Elliptic Minimal Q-Factor Transfer Functions 4189.7.3 1/3-Band IIR Filters 4219.7.4 Comparison of FIR and IIR Half-Band Filters 4239.7.5 Parallel Realization of Elliptic Half-Band IIR Filters 425

9.8 Hilbert Transformer 4289.8.1 Half-Band Filter and Hilbert Transformer 4289.8.2 Design of Hilbert Transformer 432

9.9 Multiplierless Elliptic IIR Filters 4339.9.1 Introduction 4349.9.2 Amplitude Response Sensitivity for Allpass Realization of IIR Filters 4359.9.3 Sensitivity Functions 4379.9.4 Phase Tolerance Scheme 4379.9.5 EMQF Transfer Function 4399.9.6 Multiplier Coefficients in Allpass Sections 4429.9.7 jSmax Coefficient in Allpass Sections 4429.9.8 Multiplierless Elliptic IIR Filter Design 4439.9.9 The Choice of a 4449.9.10 The Choice of /Smax 446

Page 9: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

xii Contents

9.9.11 The Choice of an and ft 4489.9.12 Applications 4529.9.13 Conclusion 454

9.10 Linear Phase IIR Filters 4559.10.1 Filtering Finite Length Sequences 4559.10.2 Filtering Infinite Sequences 459Problems 464MATLAB Exercises 467

Mathematica Exercises 468

10 ADVANCED DIGITAL FILTER DESIGN ALGORITHMS

10.1 Introduction10.2 Notation10.3 Design Equations and Procedures

10.3.1 Specification 47310.3.2 Special and Auxiliary Functions 47510.3.3 Transfer Function Order 47510.3.4 Bilinear Transformation 47710.3.5 Zeros, Poles, and Q-Factors 47810.3.6 Discrimination Factor, Elliptic Rational Function, and CharacteristicFunction 47910.3.7 Lowpass Elliptic Transfer Function 48110.3.8 Selectivity Factor, Ripple Factor, and Edge Frequencies 483

10.4 Design Dl10.5 Design D210.6 Design D3a10.7 Design D3b10.8 Design D4a10.9 Design D4b10.10 Design D510.11 Frequency Response10.12 Highpass Filter10.13 Bandpass Filter10.14 Bandreject Filter10.15 Concluding Remarks

• 1 1 MULTICRITERIA OPTIMIZATION OF DIGITAL FILTER DESIGNS

470471473

484485486486487488488489490490492493

494

11.1 Introduction11.2 Notation11.3 Objective Function

11.3.1 Deviation in Magnitude Response 49711.3.2 Deviation in the Phase Response 49711.3.3 Filter Quality Factor 49911.3.4 The Complete Objective Function 500

Page 10: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

Contents xiii

11.4 Constraints 50011.5 Example 50011.6 Conclusion 502

12 ELLIPTIC FUNCTIONS 503

12.1 Legendre Elliptic Integral 50412.2 Jacobi Elliptic Functions 50612.3 Periods of Elliptic Functions 50812.4 Series Representation and Modular Constant 50912.5 Chebyshev Polynomials 51512.6 Elliptic Rational Function 52112.7 Nesting Property of Jacobi Elliptic Functions 534

12.7.1 Nesting Property of Rational Elliptic Functions 54312.8 Poles of Normalized Transfer Function 545

12.8.1 Exact Formulas for Transfer Function Poles 55112.9 Exact Formulas for Zeros of Elliptic Rational Functions 555

12.9.1 Approximate Determination of Zeros 55812.10 The Degree Equation 559

12.10.1 Discrimination Factor 56312.11 Elliptic Filters with Minimal Q-Factors 564

Problems 567MATLAB Exercises 567

Mathematica Exercises 567

13 ELLIPTIC RATIONAL FUNCTION 569

13.1 Chebyshev Polynomials 56913.2 Second-Order Elliptic Rational Function 57113.3 Elliptic Rational Functions of Order 2' 57513.4 Third-Order Elliptic Rational Functions 58313.5 Elliptic Rational Functions of Order 2' 3^ 58513.6 Fifth-Order Elliptic Rational Functions 59013.7 Modified Elliptic Rational Functions 59313.8 Poles, Zeros, and Selectivity Factor 59613.9 Exact Formulas for Zeros 59713.10 Approximate Determination of Zeros 60313.11 Discrimination Factor 60613.12 Selectivity Factor Versus Discrimination Factor 61113.13 Transfer Function Poles 617

13.13.1 First-Order r -Function 61813.13.2 Second-Order t -Function 61813.13.3 Third-Order f -Function 61913.13.4 Higher-Order t -Function 62113.13.5 Alternative Method for Computing Transfer Function Poles 624

Page 11: FILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB · PDF fileFILTER DESIGN FOR SIGNAL PROCESSING USING MATLAB AND MATHEMATICAL Miroslav D. Lutovac ... 1.1 Introduction to Digital Filters

xiv Contents

13.14 Transfer Function with Minimal Q-Factors 625Problems 630MATLAB Exercises 630Mathematica Exercises 631

• A EXAMPLE MATHEMATICA NOTEBOOKS 633

A.I Analysis by Transform Method of Analog LTI Circuits 634A.2 Analysis by Transform Method of Discrete-Time LTI Systems 638A.3 Switched Capacitor Filter - Mode 3a Analysis and Design 644A.4 OTA-C General Biquad Analysis and Design 651A.5 Lowpass-Medium-Q-Factor Active RC Filter Analysis and Design 656A.6 General Purpose High-Q-Factor RC Filter Analysis and Design 662A.7 Advanced Analog Filter Design Case Studies 670A.8 Classical Digital Filters Transpose Direct Form II IIR 2nd-Order

Realization 685A.9 Advanced Digital Filter Design Case Studies 698A.10 Jacobi Elliptic Functions 713A.ll Elliptic Rational Function 716A.12 Transfer Function with Minimal Q-Factors 728

References 742

Index 749