Digital signal processing using MATLAB for students and researchers john w leis

386 139 0
Digital signal processing using MATLAB for students and researchers   john w  leis

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu hướng dẫn lập trinhg MATLAB bằng tiếng anh được cung cấp bởi chuyên gia nước ngoài, chuyên về xử lí tín hiệu số (digital signal) bằng công cụ matlab, rất hữu ích cho sinh viên, giảng viên, nghiên cứu sinh và học sinh có đam mê lập trình với matlab hoặc chuyên về xử lí tín hiệu số.

DIGITAL SIGNAL PROCESSING USING MATLAB FOR STUDENTS AND RESEARCHERS ffirs01.indd i 4/13/2011 5:25:59 PM DIGITAL SIGNAL PROCESSING USING MATLAB FOR STUDENTS AND RESEARCHERS JOHN W LEIS University of Southern Queensland A JOHN WILEY & SONS, INC., PUBLICATION ffirs02.indd iii 4/13/2011 5:52:42 PM Copyright © 2011 by John Wiley & Sons, Inc All rights reserved Published by John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada 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, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600, or on the web at www.copyright.com Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008 Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose No warranty may be created ore extended by sales representatives or written sales materials The advice and strategies contained herein may not be suitable for your situation You should consult with a professional where appropriate Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages For general information on our other products and services please contact our Customer Care Department with the U.S at 877-762-2974, outside the U.S at 317-572-3993 or fax 317-572-4002 Wiley also publishes its books in a variety of electronic formats Some content that appears in print, however, may not be available in electronic format Library of Congress Cataloging-in-Publication Data: Leis, John W (John William), 1966Digital Signal Processsing Using MATLAB for Students and Researchers / John W Leis p cm Includes bibliographical references and index ISBN 978-0-470-88091-3 Signal processing–Digital techniques Signal processing–Mathematics–Data processing MATLAB I Title TK5102.9.L4525 2011 621.382′2–dc22 2010048285 Printed in Singapore 10 ffirs03.indd iv 4/13/2011 5:26:00 PM To Debbie, Amy, and Kate ffirs04.indd v 4/13/2011 5:26:01 PM CONTENTS PREFACE CHAPTER 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 ftoc.indd vii MATLAB FOR SIGNAL PROCESSING Chapter Objectives 19 Introduction 19 What Is MATLAB? 19 Getting Started 20 Everything Is a Matrix 20 Interactive Use 21 Testing and Looping 23 Functions and Variables 25 Plotting and Graphing 30 Loading and Saving Data 31 Multidimensional Arrays 35 Bitwise Operators 37 Vectorizing Code 38 Using MATLAB for Processing Signals Chapter Summary 43 CHAPTER 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 WHAT IS SIGNAL PROCESSING? Chapter Objectives Introduction Book Objectives DSP and ITS Applications Application Case Studies Using DSP Overview of Learning Objectives 12 Conventions Used in This Book 15 Chapter Summary 16 CHAPTER 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 XI 19 40 SAMPLED SIGNALS AND DIGITAL PROCESSING Chapter Objectives 45 Introduction 45 Processing Signals Using Computer Algorithms Digital Representation of Numbers 47 Sampling 61 Quantization 64 Image Display 74 Aliasing 81 Reconstruction 84 Block Diagrams and Difference Equations 88 45 45 4/13/2011 5:26:03 PM viii CONTENTS 3.11 Linearity, Superposition, and Time Invariance 92 3.12 Practical Issues and Computational Efficiency 95 3.13 Chapter Summary 98 CHAPTER 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 CHAPTER 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 ftoc.indd viii REPRESENTING SIGNALS AND SYSTEMS 127 TEMPORAL AND SPATIAL SIGNAL PROCESSING Chapter Objectives 165 Introduction 165 Correlation 165 Linear Prediction 177 Noise Estimation and Optimal Filtering Tomography 188 Chapter Summary 201 CHAPTER 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 103 Chapter Objectives 127 Introduction 127 Discrete-Time Waveform Generation 127 The z Transform 137 Polynomial Approach 144 Poles, Zeros, and Stability 146 Transfer Functions and Frequency Response 152 Vector Interpretation of Frequency Response 153 Convolution 156 Chapter Summary 160 CHAPTER 6.1 6.2 6.3 6.4 6.5 6.6 6.7 RANDOM SIGNALS Chapter Objectives 103 Introduction 103 Random and Deterministic Signals 103 Random Number Generation 105 Statistical Parameters 106 Probability Functions 108 Common Distributions 112 Continuous and Discrete Variables 114 Signal Characterization 116 Histogram Operators 117 Median Filters 122 Chapter Summary 125 165 183 FREQUENCY ANALYSIS OF SIGNALS 203 Chapter Objectives 203 Introduction 203 Fourier Series 203 How Do the Fourier Series Coefficient Equations Come About? Phase-Shifted Waveforms 211 The Fourier Transform 212 Aliasing in Discrete-Time Sampling 231 The FFT as a Sample Interpolator 233 209 4/13/2011 5:26:03 PM CONTENTS 7.9 7.10 7.11 7.12 7.13 7.14 Sampling a Signal over a Finite Time Window Time-Frequency Distributions 240 Buffering and Windowing 241 The FFT 243 The DCT 252 Chapter Summary 266 CHAPTER 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 271 RECURSIVE FILTERS 298 315 Chapter Objectives 315 Introduction 315 Essential Analog System Theory 319 Continuous-Time Recursive Filters 326 Comparing Continuous-Time Filters 339 Converting Continuous-Time Filters to Discrete Filters 340 Scaling and Transformation of Continuous Filters 361 Summary of Digital Filter Design via Analog Approximation 371 Chapter Summary 372 BIBLIOGRAPHY INDEX ftoc.indd ix 236 Chapter Objectives 271 Introduction 271 What Do We Mean by “Filtering”? 272 Filter Specification, Design, and Implementation 274 Filter Responses 282 Nonrecursive Filter Design 285 Ideal Reconstruction Filter 293 Filters with Linear Phase 294 Fast Algorithms for Filtering, Convolution, and Correlation Chapter Summary 311 CHAPTER 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 DISCRETE-TIME FILTERS ix 375 379 4/13/2011 5:26:03 PM PREFACE I was once asked what signal processing is The questioner thought it had something to with traffic lights It became clear to me at that moment that although the theory and practice of signal processing in an engineering context has made possible the massive advances of recent times in everything from consumer electronics to healthcare, the area is poorly understood by those not familiar with digital signal processing (DSP) Unfortunately, such lack of understanding sometimes extends to those embarking on higher education courses in engineering, computer science, and allied fields, and I believe it is our responsibility not simply to try to cover every possible theoretical aspect, but to endeavor to open the student’s eyes to the possible applications of signal processing, particularly in a multidisciplinary context With that in mind, this book sets out to provide the necessary theoretical and practical underpinnings of signal processing, but in a way that can be readily understood by the newcomer to the field The assumed audience is the practicing engineer, the engineering undergraduate or graduate student, or the researcher in an allied field who can make use of signal processing in a research context The examples given to introduce the topics have been chosen to clearly introduce the motivation behind the topic and where it might be applied Necessarily, a great deal of detail has to be sacrificed in order to meet the expectations of the audience This is not to say that the theory or implementation has been trivialized Far from it; the treatment given extends from the theoretical underpinnings of key algorithms and techniques to computational and numerical aspects The text may be used in a one-term or longer course in signal processing, and the assumptions regarding background knowledge have been kept to a minimum Shorter courses may not be able to cover all that is presented, and an instructor may have to sacrifice some breadth in order to ensure adequate depth of coverage of important topics The sections on fast convolution and filtering, and medical image processing, may be omitted in that case Likewise, recursive filter design via analog prototyping may be omitted or left to a second course if time does not permit coverage A basic understanding of algebra, polynomials, calculus, matrices, and vectors would provide a solid background to studying the material, and a first course in linear systems theory is an advantage but is not essential In addition to the aforementioned mathematical background, a good understanding of computational principles and coding, and a working knowledge of a structured programming language is desirable, as is prior study of numerical mathematics Above all, these xi fpref.indd xi 4/13/2011 5:26:02 PM xii PREFACE should not be considered as a list of essential prerequisites; the reader who is lacking in some of these areas should not be deterred It is hoped that the problems at the end of each chapter, in conjunction with the various case studies, will give rise to a sufficiently rich learning environment, and appropriately challenging term projects may be developed with those problems as starting points John W Leis fpref.indd xii 4/13/2011 5:26:02 PM CH A P T E R WHAT IS SIGNAL PROCESSING? 1.1 CHAPTER OBJECTIVES On completion of this chapter, the reader should be able to explain the broad concept of digital signal processing (DSP); know some of the key terms associated with DSP; and be familiar with the conventions used in the book, both mathematical and for code examples 1.2 INTRODUCTION Signals are time-varying quantities which carry information They may be, for example, audio signals (speech, music), images or video signals, sonar signals or ultrasound, biological signals such as the electrical pulses from the heart, communications signals, or many other types With the emergence of high-speed, low-cost computing hardware, we now have the opportunity to analyze and process signals via computer algorithms The basic idea is straightforward: Rather than design complex circuits to process signals, the signal is first converted into a sequence of numbers and processed via software By its very nature, software is more easily extensible and more versatile as compared with hard-wired circuits, which are difficult to change Furthermore, using software, we can build in more “intelligence” into the operation of our designs and thus develop more human-usable devices A vitally important concept to master at the outset is that of an algorithm: the logical sequence of steps which must be followed in order to generate a useful result Although this definition is applicable to general-purpose information processing, the key difference is in the nature of the data which are processed In signal processing, the data sequence represents information which is not inherently digital and is usually imprecise Digital Signal Processing Using MATLAB for Students and Researchers, First Edition John W Leis © 2011 John Wiley & Sons, Inc Published 2011 by John Wiley & Sons, Inc c01.indd 4/13/2011 5:20:44 PM 9.7 SCALING AND TRANSFORMATION OF CONTINUOUS FILTERS s→ s2 + Ωo2 , sΩ b 367 (9.78) where the center frequency Ωo is defined by Ω2o = Ωl Ωu , (9.79) Ω b = Ωu − Ωl (9.80) and the bandwidth Ωb is defined by To give an example, suppose we have a transfer function, G (s) = 6s + s + 2s + The order of the numerator is M = and that of the denominator is N = Normally, this would be a filter with a cutoff of rad/s for the Butterworth and Chebyshev designs presented earlier (Fig 9.22) We convert this low-pass filter to a bandpass filter with center frequency Ωo and bandwidth Ωb using s→ s2 + Ωo2 , sΩ b (9.81) where Ωo and Ωb are defined as above Note that now, Ωo is not the “cutoff ” frequency but rather the geometric mean of the lower and upper cutoff frequencies The present example then becomes G (s) = ⎛ s2 + Ωc2 ⎞ 6⎜ +3 ⎝ sΩb ⎟⎠ ⎛ s + Ωc2 ⎞ ⎛ s + Ωc2 ⎞ ⎜⎝ sΩ ⎟⎠ + ⎜⎝ sΩ ⎟⎠ + b b ⎛ s2 + Ωc2 ⎞ +3 6⎜ ⎝ sΩb ⎟⎠ (9.82) ⎛ sΩ ⎞ =⎜ b⎟ ⋅ ⎝ sΩb ⎠ ⎛ s2 + Ωc2 ⎞ ⎛ s2 + Ωc2 ⎞ ⎜⎝ sΩ ⎟⎠ + ⎜⎝ sΩ ⎟⎠ + b b ( s + Ωc2 ) ( sΩb ) + ( s2 + Ωc2 ) ( sΩb ) = ( s2 + Ω2c )2 (sΩb )0 + ( s2 + Ω2c )1 (sΩb )1 + ( s2 + Ω2c )0 (sΩb )2 We can generalize this approach as follows Start with the low-pass function G (s) = b0 s M + b1 s M −1 + a0 s N + a1 s N −1 + bM s aN s0 (9.83) Then, scale using s→ c09.indd 367 s2 + Ωo2 sΩ b (9.84) 4/13/2011 5:25:57 PM 368 CHAPTER RECURSIVE FILTERS Chebyshev filter, cutoff rad/s 20 Gain (dB) −20 −40 −60 −80 −1 10 10 Frequency (rad/s) 10 Chebyshev filter, high-pass, cutoff 50 rad/s 20 Gain (dB) −20 −40 −60 −80 10 10 Frequency (rad/s) 10 FIGURE 9.22 Converting a low-pass filter into a high-pass filter The upper plot shows the normalized low-pass response with a cutoff of rad/s The lower plot shows the response scaled and mapped into a high-pass response using the method described in the text to a cutoff of 50 rad/s The response shape remains unchanged, though of course “flipped” with respect to frequency Then, we have G (s) = ⎛ s + Ωc2 ⎞ + b1 ⎜ ⎝ sΩb ⎟⎠ M −1 ⎛ s + Ωc2 ⎞ ⎛ s2 + Ωc2 ⎞ + a0 ⎜ a ⎜⎝ sΩ ⎟⎠ ⎝ sΩb ⎟⎠ b N −1 ⎛ s + Ωc2 ⎞ b0 ⎜ ⎝ sΩb ⎟⎠ M N N ⎛ sΩ ⎞ =⎜ b⎟ ⋅ ⎝ sΩ b ⎠ + ⎛ s + Ωc2 ⎞ + bM ⎜ ⎝ sΩb ⎟⎠ ⎛ s2 + Ωc2 ⎞ + aN ⎜ ⎝ sΩb ⎟⎠ + ⎛ s + Ωc2 ⎞ + b1 ⎜ ⎝ sΩb ⎟⎠ M −1 ⎛ s + Ωc2 ⎞ ⎛ s + Ωc2 ⎞ + a1 ⎜ a0 ⎜ ⎟ ⎝ sΩ b ⎠ ⎝ sΩb ⎟⎠ N −1 ⎛ s + Ωc2 ⎞ b0 ⎜ ⎝ sΩb ⎟⎠ b0 ( s2 + Ω2c ) M N ⎛ s + Ωc2 ⎞ + bM ⎜ ⎝ sΩb ⎟⎠ + ⎛ s2 + Ω2c ⎞ + aN ⎜ ⎝ sΩb ⎟⎠ + (sΩb )N − M + b1 ( s2 + Ω2c ) (sΩb )N − M +1 + + N bM ( s2 + Ωc2 ) ( sΩb ) = N −1 N N a0 ( s + Ωc2 ) ( sΩb ) + a1 ( s2 + Ωc2 ) ( sΩb ) + + aN ( s2 + Ωc2 ) ( sΩb ) M M −1 (9.85) c09.indd 368 4/13/2011 5:25:57 PM 9.7 SCALING AND TRANSFORMATION OF CONTINUOUS FILTERS 369 The order of the denominator will be 2N, whereas the numerator will be 2M + (N − M) To see this, note that we will have a (s2)N term in the denominator, and the numerator will have a (s2)M term multiplied by sN−M Thus, adding the indices, we have the order 2M + (N − M) = M + N To develop an algorithm for computing the coefficients in the polynomial ratio, we proceed as follows We need to input the coefficients bm and an, and the bandwidth defined by (Ωu, Ωl) According to the reasoning above, we have M = length(bs)−1; N = length(as)−1; Ms = M*2 + (N−M); Ns = N*2; OmegaB = OmegaU − OmegaL; OmegaC = sqrt(OmegaL*OmegaU); bsbp = zeros(Ms+1, 1); asbp = zeros(Ns+1, 1); The added complication we have now is that we have polynomials multiplied out In the numerical example, we had terms such as (s2 + Ω2c )(sΩb) The MATLAB operator conv() may be used to multiply out a polynomial If we express the first factor as 1s2 + s1 + Ω2c s0 and the second as Ωbs1 + 0s0, we would calculate the product as the convolution of the vectors [1 Ω2c ] and [Ωb 0] N Where we have a factor such as ( s2 + Ω2c ) , we perform the convolution N 2 times So, we let p be the power of (s + Ωc ) and q be the power of sΩb, and the denominator may then be calculated as follows p = N; % power of (sˆ2+OmegaCˆ2) q = 0; % power of s OmegaB for n = 1:N+1 % calc (sˆ2 + OmegaCˆ2)ˆp; tv = [1 OmegaCˆ2]; rp = [1]*as(n); for k = 1:p rp = conv(rp, tv); end % calc(s Omega)ˆq; tv = [OmegaB 0]; rq = [1]; for k = 1:q rq = conv(rq, tv); end c09.indd 369 4/13/2011 5:25:57 PM 370 CHAPTER RECURSIVE FILTERS % (sˆ2 + OmegaCˆ2)ˆp (s OmegaB)ˆq r = conv(rp, rq); is = Ns+1 − length(r)+1; ie = Ns+1; asbp(is:ie) = asbp(is:ie) + r(:); p = p − 1; q = q + 1; end We have used tv as a temporary vector in the above Note also the alignment of the resulting polynomials with the final output coefficient vector, performed by the start/end indexing ie : ie For the numerator, we use a similar approach since we start from s0 at the leftmost term p = M; % power of ( sˆ2+OmegaCˆ2) q = N − M; % power of s OmegaB for m = 1:M+1 % calculate (sˆ2 + OmegaCˆ2)ˆp; tv = [1 OmegaCˆ2]; rp = [1]*bs(m); for k = 1:p rp = conv(rp, tv); end % calculate the product (s Omega)ˆq; tv = [OmegaB 0]; rq = [1]; for k = 1:q rq = conv(rq, tv); end % (sˆ2+OmegaCˆ2)ˆp (s OmegaB)ˆq r = conv(rp, rq); is = Ms+1 − length(r)+1; ie = Ms+1; bsbp(is:ie) = bsbp(is:ie) + r(:); p = p − 1; q = q + 1; end c09.indd 370 4/13/2011 5:25:57 PM 9.8 SUMMARY OF DIGITAL FILTER DESIGN VIA ANALOG APPROXIMATION 371 Chebyshev filter, cutoff rad/s 20 Gain (dB) −20 −40 −60 −80 10−1 100 Frequency (rad/s) 101 Chebyshev filter, bandpass, 100–200 rad/s 20 Gain (dB) −20 −40 −60 −80 10 10 Frequency (rad/s) 10 FIGURE 9.23 Converting a low-pass filter into a bandpass filter This type of filter is effectively a high-pass and a low-pass filter in cascade, with the high-pass cutoff being lower than the low-pass cutoff The example shows a cutoff range of 100–200 rad/s It is clear that the low-pass response shape is mapped into the lower and upper components of the bandpass response Figure 9.23 shows the analog low-pass prototype, and the result of the conversion to a bandpass filter Once this filter response is available, one of the methods discussed earlier (BLT or impulse invariant design) may be used to convert the filter into a digital or discrete-time design 9.8 SUMMARY OF DIGITAL FILTER DESIGN VIA ANALOG APPROXIMATION There are many steps to be undertaken in designing a suitable filter for a given application This almost always requires a computer-based approach, combined with a sound understanding of the underlying theoretical and mathematical principles For anything other than very low-order filters, software is utilized to speed up the design process and to reduce the likelihood of errors Usually, filter design involves an iterative approach—a design is created, tested theoretically, and, if need be, further refined There are a great many approaches to design, and we have only attempted to summarize some of the common approaches here The reader wishing to develop further specialist knowledge in this field is referred to the many technical books on the topic, as well as the academic literature in the bibliography c09.indd 371 4/13/2011 5:25:57 PM 372 CHAPTER RECURSIVE FILTERS Recursive Filter Design Steps Specify the response shape and determine the fs Determine the appropriate filter type (Butterworth, Chebyshev, other) Select the filter order and other parameters as appropriate (e.g., allowable ripple) Design the low-pass prototype with normalized frequency response Scale to the required frequency and convert the filter type (if not low-pass) Convert to a discrete-time transfer function using either the BLT method or the impulse invariant method Plot the sampled frequency response and iterate the above steps as necessary Convert Y(z) into a difference equation; find y(n) in terms of x(n), x(n − 1), y(n − 1), and so on Code a loop to sample the input x(n), calculate y(n), output y(n), and buffer the samples 9.9 CHAPTER SUMMARY The following are the key elements covered in this chapter: • A review of analog filter theory including time and frequency response methods • The role of IIR filters • The theory behind two commonly employed types of analog filter: the Butterworth filter and the Chebyshev filter The former is maximally flat in the passband; the latter has a sharper transition but has a nonflat passband response • The transformation and scaling of filters from the basic low-pass design to high-pass and bandpass responses • How to transform analog filters into discrete-time or digital filters Two approaches were considered: the impulse invariant method, which matches the impulse response in the time domain, and the bilinear transform, which is a direct substitution for the continuous-to-discrete approximation PROBLEMS 9.1 Using the approach outlined in Section 9.3.2, plot the impulse response of 1 s + s +1 2 and compare to Figure 9.3 c09.indd 372 4/13/2011 5:25:58 PM 9.9 CHAPTER SUMMARY 373 9.2 Using the approach outlined in Section 9.3.3, plot the frequency response of 1 s + s +1 2 and compare to Figure 9.4 Note that you will need to choose appropriate values for some of the parameters Remember to plot decibels on the gain axis, and use a logarithmic scale for the frequency axis using set(gca, ’xscale’, ’log’); 9.3 Consider the Butterworth filter defined in Section 9.4.1 (a) Show that as N → ∞, the filter approaches the ideal or brick wall response Do this by finding the gain of the filter in Equation 9.13 as Ω → and as Ω → ∞, and then by determining the gain at the cutoff, where Ω = Ωc From these results, sketch the filter gain characteristic (b) Apply the normalized low-pass to high-pass conversion as explained in Section 9.7 Show that the filter approaches the ideal as N → ∞; that is, find the limit as Ω → and as Ω → ∞, then determine the gain at the cutoff frequency where Ω = Ωc; and finally, sketch the gain characteristic (c) Apply the normalized low-pass to bandpass transformation and find the gain for low frequencies, high frequencies, at the cutoff frequencies (Ω = Ωl and Ω = Ωu), and within the passband at Ω = Ωc Sketch the filter gain characteristic (d) Repeat the previous question for the bandstop transformation 9.4 Chebyshev filters (Section 9.4.2) are based on the theory and mathematics of the Chebyshev polynomial The Nth order Chebyshev polynomial is denoted TN(x) TN(x) may be defined in terms of cosine functions as TN(x) = cos (N cos−1 x) (a) Show that T0(x) = and T1(x) = x (b) Show that the recursive definition TN(x) = 2xTN−1(x) − TN−2(x) for N > holds (c) Explain how the recursive definition of TN(x) applies to the graphs of the Chebyshev polynomials as shown in Figure 9.8 9.5 Plot the continuous-time response for a fourth-order Butterworth low-pass filter with cutoff frequency 25 kHz Repeat this for a Chebyshev filter How the responses compare? 9.6 For the continuous-time system G ( s ) = ( s + s + 1) , (a) plot the frequency response over a reasonable range of frequencies and explain your choice of frequencies by referring to the transfer function; (b) scale to a frequency of 10 Hz and again plot the response; (c) use the direct bilinear transform method to determine the corresponding z transform; use a sample frequency of 100 Hz; and (d) use the bilinear transform method with prewarping, and determine the corresponding z transform; use the same sampling frequency and compare to the previous result and to the analog filter response 9.7 Complete the first-order example using both the original and corrected impulse invariant methods Compare the resulting difference equation for each filter Using the pole– zero approach, sketch their respective frequency responses c09.indd 373 4/13/2011 5:25:58 PM 374 CHAPTER RECURSIVE FILTERS 9.8 Complete the second-order example using both the original and corrected impulse invariant methods 9.9 A discrete filter with a low-pass response, cutoff 100 Hz, and a sample rate of 10 kHz is required (a) Design the continuous-time Butterworth filter for these parameters using a normalized rad per sample cutoff Calculate the transfer function using algebra, and check your answer using the MATLAB code outlined in the text (b) Scale the Butterworth filter to the desired cutoff and plot the frequency response (c) Convert the normalized Butterworth filter to a discrete-time one using the bilinear transform (d) Plot the frequency response and compare to the design specification c09.indd 374 4/13/2011 5:25:58 PM BIBLIOGRAPHY SELECTED WEB REFERENCES Frigo, M., and S G Johnson n.d FFTW—fastest Fourier transform in the West http://www fftw.org Goldberger, A L., L A N Amaral, L Glass, J M Hausdorff, P C Ivanov, R G Mark, J E Mietus, G B Moody, C.-K Peng, and H E Stanley 2000 PhysioBank, PhysioToolkit, and PhysioNet: components of a new research resource for complex physiologic signals Circulation 101(23):e215–e220 http://circ.ahajournals.org/cgi/content/full/101/23/e215 IEEE 754 Group 2004 IEEE 754: standard for binary floating-point arithmetic http:// grouper.ieee.org/groups/754 IEEE/NSF n.d Signal processing information base http://spib.rice.edu/spib.html Kak, A C., and M Slaney 1988 Principles of Computerized Tomographic Imaging New York: IEEE Press http://www.slaney.org/pct/index.html SIDC-team 1749–2010 Monthly report on the international sunspot number http://www sidc.be/sunspot-data/ SELECTED ACADEMIC PAPERS Ahmed, N., T Natarajan, and K R Rao 1974 Discrete cosine transform IEEE Transactions on Computers C23(1):90–93 Black, H S 1934 Stabilized feed-back amplifiers American Institute of Electrical Engineers 53:114–120 Butterworth, S 1930 On the theory of filter amplifiers Experimental Wireless and the Wireless Engineer 7:536–541 Cooley, J W., P A Lewis, and P D Welch 1967a Application of the fast Fourier transform to computation of Fourier integrals, Fourier series, and convolution integrals IEEE Transactions on Audio and Electroacoustics AU-15(2):79 Cooley, J W., P A Lewis, and P D Welch 1967b Historical notes on the fast Fourier transform IEEE Transactions on Audio and Electroacoustics AU-15(2):76 Fernandes, C W., M D Bellar, and M M Werneck 2010 Cross-correlation-based optical flowmeter IEEE Transactions on Instrumentation and Measurement 59(4):840–846 Frigo, M., and S G Johnson 1998 FFTW: an adaptive software architecture for the FFT In Proceedings of the International Conference on Acoustics, Speech, and Signal Processing 1381–1384 Digital Signal Processing Using MATLAB for Students and Researchers, First Edition John W Leis © 2011 John Wiley & Sons, Inc Published 2011 by John Wiley & Sons, Inc 375 bbiblio.indd 375 4/13/2011 5:20:38 PM 376 BIBLIOGRAPHY Frigo, M., and S G Johnson 2005 The design and implementation of FFTW3 Proceedings of the IEEE 93(2):216–231 Goldberg, D 1991 What every computer scientist should know about floating-point arithmetic ACM Computing Surveys 23(1) Harris, F J 1978 On the use of Windows for harmonic analysis with the discrete Fourier transform Proceedings of the IEEE 66(1):51–83 Hayes, A M., and G Musgrave 1973 Correlator design for flow measurement The Radio and Electronic Engineer 43(6):363–368 Heideman, M T., D H Johnson, and C S Burrus 1984 Gauss and the history of the fast Fourier transform IEEE ASSP Magazine 1(4):14–19 Helms, H D 1967 Fast Fourier transform method of computing difference equations and simulating filters IEEE Transactions on Audio and Electroacoustics AU-15(2):85 Jackson, L B 2000 A correction to impulse invariance IEEE Signal Processing Letters 7(10):273–275 Lüke, H D 1999 The origins of the sampling theorem IEEE Communications Magazine 37(4):106–108 McClellan, J H., and T W Parks 1973 A unified approach to the design of optimum FIR linear-phase digital filters IEEE Transactions on Circuit Theory CT-20(6):697– 701 Mecklenbraüker, W F G 2000 Remarks on and correction to the impulse invariant method for the design of IIR digital filters Signal Processing 80:1687–1690 Meijering, E 2002 A chronology of interpolation: from ancient astronomy to modern signal and image processing Proceedings of the IEEE 90(3):319–342 Narashima, M J., and A M Peterson 1978 On the computation of the discrete cosine transform IEEE Signal Processing Magazine COM-26(6):934–936 Nyquist, H 1928 Certain topics in telegraph transmission theory American Institute of Electrical Engineers 47:617–644 Reprinted Proc IEE, 90(2), Feb 2002 Nyquist, H 2002 Certain topics in telegraph transmission theory Proceedings of the IEEE 90(2):280–305 Reprint of classic paper Pitas, I., and A N Venetsanopoulos 1992 Order statistics in digital image processing Proceedings of the IEEE 80:1893–1921 Radon, J 1986 On the determination of functions from their integral values along certain manifolds IEEE Transactions on Medical Imaging MI-5(4):170–176 Translated from the German text of 1917 by P C Parks Shannon, C E 1948 A mathematical theory of communication Bell System Technical Journal 27:379–423, 623–656 http://cm.bell-labs.com/cm/ms/what/shannonday/paper html Shepp, L A., and B F Logan 1974 Reconstructing interior head tissue from X-ray transmissions IEEE Transactions on Nuclear Science 21(1):228–236 Stockham, T G 1966 High-speed convolution and correlation AFIPS Joint Computer Conferences AU-15:229–233 Stylianou, Y 2000 A simple and fast way of generating a harmonic signal IEEE Signal Processing Letters 7(5):111–113 Tustin, A 1947 A method of analysing the behaviour of linear systems in terms of time series Journal of the Institution of Electrical Engineers 94:130–142 Widrow, B 2005 Thinking about thinking: the discovery of the LMS algorithm IEEE Signal Processing Magazine 22(1):100–106 Wilson, D R., D R Corrall, and R F Mathias 1973 The design and application of digital filters IEEE Transactions on Industrial Electronics and Control Instrumentation IECI-20(2):68–74 bbiblio.indd 376 4/13/2011 5:20:38 PM BIBLIOGRAPHY 377 SELECTED TEXTBOOKS Acharya, T., and P.-S Tsai 2005 JPEG2000 Standard for Image Compression Hoboken, NJ: Wiley Elali, T S., ed 2004 Discrete Systems and Digital Signal Processing with MATLAB Boca Raton, FL: CRC Hamming, R W 1983 Digital Filters Englewood Cliffs, NJ: Prentice-Hall Harris, R W., and T J Ledwidge 1974 Introduction to Noise Analysis London: Pion Haykin, S n.d Adaptive Filter Theory Englewood Cliffs, NJ: Prentice-Hall Ifeachor, E C., and B W Jervis 1993 Digital Signal Processing: A Practical Approach Boston: Addison-Wesley Ingle, V K., and J G Proakis 2003 Digital Signal Processing Using MATLAB Stamford, CT: Thomson Brooks Cole Jain, A K 1989 Fundamentals of Digital Image Processing Englewood Cliffs, NJ: PrenticeHall Jayant, N S., and P Noll 1984 Digital Coding of Waveforms Englewood Cliffs, NJ: PrenticeHall Kreyszig, E n.d Advanced Engineering Mathematics Boston: Addison-Wesley Kronenburger, J., and J Sebeson 2008 Analog and Digital Signal Processing: an Integrated Computational Approach with MATLAB Clifton Park, NY: Thomson Delmar Learning Kumar, B P 2005 Digital Signal Processing Laboratory Oxford: Taylor and Francis Lathi, L P 1998 Signal Processing and Linear Systems Carmichael: Berkeley Cambridge Press Leis, J W 2002 Digital Signal Processing: A MATLAB-Based Tutorial Approach Baldock, UK: Research Studies Press Lockhart, G B., and B M G Cheetham 1989 Basic Digital Signal Processing London: Butterworths Lyons, R G 1997 Understanding Digital Signal Processing Boston: Addison Wesley Mitra, S K 2001 Digital Signal Processing: a Computer-Based Approach New York: McGraw-Hill Oppenheim, A V., and R W Schafer 1989 Discrete-Time Signal Processing Englewood Cliffs, NJ: Prentice-Hall Orfanidis, S J 1996 Introduction to Signal Processing Englewood Cliffs, NJ: PrenticeHall Papoulis, A 1980 Circuits and Systems: A Modern Approach New York: Holt-Saunders Pennebaker, W B., and J L Mitchell 1992 JPEG: Still Image Data Compression Standard New York: Van Nostrand Reinhold Porat, B 1997 A Course in Digital Signal Processing New York: John Wiley & Sons Proakis, J G., and D G Manolakis n.d Digital Signal Processing: Principles, Algorithms, and Applications Englewood Cliffs, NJ: Prentice-Hall Rosenfeld, A., and A C Kak 1982 Digital Picture Processing Burlington, VT: Academic Press/Elsevier Terrell, T J., and L.-K Shark 1996 Digital Signal Processing: A Student Guide New York: Macmillan/McGraw-Hill Widrow, B., and S D Stearns 1995 Adaptive Signal Processing Englewood Cliffs, NJ: Prentice-Hall bbiblio.indd 377 4/13/2011 5:20:38 PM INDEX 2’s complement, 48 A/D converter, 45 aliasing, 81–83, 231 analog filter conversion, 340 anti-aliasing filter, 82 arithmetic fixed point, 52 floating point, 53 integer, 50 audio quantization, 67 autocorrelation, 165 average, 106 backprojection algorithm, 191 bandpass filter, 366 bilinear transform, 349 binary format, 34 binary multiplication, 51 binary representation, 47 bit allocation audio & sound, 67 images, 67 SNR, 69 bitwise operators, 47 block diagram, 88 Butterworth filters, 326–331 C programming language, 20 Chebyshev filters, 331–339 color mixing, 77 color palette, 78–79 complex Fourier series, 205 continuous Fourier transform, 212 convolution, 156–159 definition, 158 example, 157 impulse response, 156 overlap-add, 310–311 overlap-save, 311–312 convolution via FFT, 364–368 CORDIC, 56 correlation, 165 common signals, 171 noise removal, 204 cross-correlation, 168–169 cumulative probability, 108–109 D/A converter, 45 data files binary, 31–33 text, 34–35 DCT definition, 252 fast algorithm, 269 DCT See discrete cosine transform deterministic signals, 103 DFT See discrete Fourier Transform difference equation, 88 digital filters, 271 Direct Digital Synthesis (DDS), 131 discrete cosine transform, 252 discrete Fourier transform (DFT), 216–231 compared to Fourier series, 218 component scaling, 219 examples, 220–231 frequency scaling, 272 discrete-time filters, 271 discrete-time waveforms, 127 distributions Gaussian, 112 generating, 120 ECG filtering, 271 Digital Signal Processing Using MATLAB for Students and Researchers, First Edition John W Leis © 2011 John Wiley & Sons, Inc Published 2011 by John Wiley & Sons, Inc 379 bindex.indd 379 4/13/2011 5:20:38 PM 380 INDEX fast convolution, 299 fast correlation, 301 fast Fourier transform (FFT), 244–252 bit reversal, 252 complexity, 249 derivation, 246 interpolation, 233 FFT see fast Fourier Transform filter bandpass, 283 bandstop, 283 highpass, 283 lowpass, 382 filter design, 274 direct method, 285 frequency sampling method, 292 filter scaling, 362 filtering overlap-add, 310–311 overlap-save, 311–312 filters lowpass to bandpass, 366 lowpass to highpass, 364 phase linearity, 294 scaling, 362 specification, 274 finite impulse response (FIR), 157 FIR See finite impulse response FIR filters, 285 direct design method, 285 frequency sampling design method, 292 FIR vs IIR filters, 316 fixed point arithmetic, 52 floating point arithmetic, 53 floating-point format, 53 Fourier series, 203–209 derivation, 209–210 phase shift, 211 Fourier series equations, 205 Fourier transform, 212 frequency response, 152 complex vector interpretation, 153–155 MATLAB, 155–156 frequency scaling of filters, 362 gain/phase response, 273 Gaussian distribution, 112 grayscale, 41–42 bindex.indd 380 Hamming window, 289 heart waveform, 116 highpass filter, 283 histogram, 114–115 histogram equalization, 118–120 histogram operators, 117 IIR See infinite impulse response IIR filters, 316 image display, 74 image quantization, 67–69 image scanning, 75 impulse response, 88 impulse-invariant transform, 340–348 infinite impulse response (IIR), 158–159 integer arithmetic, 50 interpolation, 87–88, 233–236 joint probability, 117 JPEG images, reading, 42 Lagrange polynomial, 87–88 Laplacian distribution, 113 linear prediction, 177 linear time-invariant model, 92–95 linearity, 92 lookup table waveform samples, 130–131 lookup table, palette, 78–79 MATLAB arguments to functions, 26 audio reading, 35 calling a function, 26 function arguments, 26 function example, 28–29 function return values, 26 functions, 26 image reading, 35 m-files, 20 matrix/vector dimensions, 23 multidimensional arrays, 35 obtaining, 3, 19 path, 25 search path, 26 startup file, 26 MATLAB code aspect ratio, 41, 42 audio playback, 42 correlation, 169–170 4/13/2011 5:20:38 PM INDEX cumulative probability, 108–109 difference equation using filter, 92 difference equation: pole locations, 147 difference equation: sampled exponential signal, 140 difference equations, 88–92 direct DFT computation, 219 direct DFT computation using vectorized loop, 220 discrete frequency response, 155–156 FFT interpolation, 233 filter function & difference equations, 144 FIR direct method, 287 FIR window method, 291 first-order difference equation, 89 Fourier series, 209 Fourier series & phase shift, 211–212 grayscale image display, 41 grayscale image example, 79–80 Hamming window, 290 pole-zero plot, 149 probability density, 110 pseudo-random numbers, 106 random image display, 41 random number generation, 41 random number realizations, 106 sampled exponential signal, 140 stair plots, 63 stem plots, 63 waveform via direct calculation, 130 MATLAB function addpath, 26 axis, 31, 41 bitand, 38 cat, 35–37 clear all, 20 close all, 20 colormap, 42 conj, 148 fft, 220 fgetl, 32 filter, 92, 144 fopen, 32 fprintf, 29 fread, 34 fscanf, 32 bindex.indd 381 381 fwrite, 35 hist, 116 ifft, 230 image, 41 imread, 42 legend, 30 load, 31 plot, 30 poly, 148 reshape, 234 residue, 346 roots, 148 save, 31 sort, 29 sound, 40, 137 stairs, 63 stem, 63 wavread, 35 zeros, 39 MATLAB function help, 20 MATLAB function lookfor, 29 MATLAB operator for, 24 if, 24 while, 24 mean, 106 arithmetic, 107 population, 107 sample, 107 mean square, 107 median, 107 median filter, 122 mode, 107 multidimensional arrays, 35 noise cancellation, 184 notch filter, 278 numerical precision, 52 optimal filter, 183 overlap-add algorithm, 310–311 overlap-save algorithm, 311–312 palette, 78–79 Parseval’s Theorem, 268 PDF, 109 periodic function, 204 poles of a system, 146 probability density function, 109 pseudo-random, 106 4/13/2011 5:20:38 PM 382 INDEX quantization, 64 audio, 70–71 image, 68–69 SNR, 69–74 quantizer characteristic, 64 Radon transform, 189 random signals, 103 random variable generation, 120 reconstruction, 62, 293 reconstruction filter, 62 recursive filters, 315 sample buffers, 241 sampling, 46, 61 sampling impulses, 62 sampling terminology, 129 sampling windows, 236 Shepp-Logan head phantom, 12 Shepp-Logan phantom, 188 signal model, 105 signal processing algorithm, applications, case studies, definition, real-time, signal-to-noise ratio, 69 sinc function, 86, 293–294 stability, 146 sunspot observations, 204 bindex.indd 382 superposition, 92 system identification, 175 time-frequency distributions, 240 time-invariance, 92 tomography, 188 definition, 11 transfer function, 139 two’s complement, 48 uniform distribution, 111 uniform PDF, 111 variance, 108 waveform generation z transform, 137 direct calculation, 128 double buffering, 137 lookup table, 130 phase correction, 133 recurrence relation, 131 Wiener filter, 184 window function Hamming, 2243, 289 Hanning, 243 triangular, 242 z delay operator, 138 z transform examples, 140–144 zero-order hold, 61–62 4/13/2011 5:20:38 PM .. .DIGITAL SIGNAL PROCESSING USING MATLAB FOR STUDENTS AND RESEARCHERS JOHN W LEIS University of Southern Queensland A JOHN WILEY & SONS, INC., PUBLICATION ffirs02.indd... Processsing Using MATLAB for Students and Researchers / John W Leis p cm Includes bibliographical references and index ISBN 978-0-470-88091-3 Signal processing? ? ?Digital techniques Signal processing? ??Mathematics–Data... processed In signal processing, the data sequence represents information which is not inherently digital and is usually imprecise Digital Signal Processing Using MATLAB for Students and Researchers,

Ngày đăng: 27/07/2020, 14:50

Từ khóa liên quan

Mục lục

  • Fmatter

    • ffirs01.pdf

    • ffirs02.pdf

    • ffirs03.pdf

    • ffirs04.pdf

    • ch1

    • ch2

    • ch3

    • ch4

    • ch5

    • ch6

    • ch7

    • ch8

    • ch9

    • biblio

    • index

Tài liệu cùng người dùng

Tài liệu liên quan