Filled with practical C functions, this work should guide filter designers in automating the design of analogue and digital filters using the C programming language.
"synopsis" may belong to another edition of this title.
This book was intentionally written to be different from other filter design books in two important ways.
First, the most common analog and digital filter design and implementation methods are COVERED IN A NO-NONSENSE MANNER. All important derivations and descriptions are provided to allow the reader to apply them directly to his or her own filter design problem. Not only are the details of analog active and digital IIR and FIR filter design presented in an organized and direct manner, but implementation issues are discussed to alert the reader to potential pitfalls. The simulation of analog filters is made easier by the generation of PSpice circuit description files which includes R-C component values calculated directly from the filter coefficients. In addition, the testing of IIR and FIR filters designed for audio signals is enhanced by providing sample WAV and VOC sound files which can be filtered by using the digital filter design coefficients. Anyone with a sound card on their computer can then play the original and processed sound files for immediate evaluation.
The second difference between this book and others is that the important filter design and implementation techniques discussed in this text are SUPPORTED BY THOROUGHLY TESTED C CODE. No, the source code provided on the accompanying disk is not just a collection of fragmented functions, but rather a set of three organized programs to design and implement analog and digital filters. Not only are DOS executable programs provided on the disk, but also all of the source code is provided to allow additions or modifications to be made as desired. Virtually all of the included source code (except the graphics functions for frequency response display) is portable. Three graphics modules have been provided to support Microsoft, Borland, and MIX Software compilers on DOS platforms. However, readers using other platforms can still take advantage of the code in this text in three ways. They can forgo the frequency response display and still retain all of the design and implementation features of the software. Or they can link a graphics module for their system with the existing code for a complete system (requirements are presented in the text). And as a last option they can save the magnitude and phase responses to disk files (a standard feature) and display the data using other programs if desired. A basic knowledge of C programming is expected of the reader, but the code presented in the text is thoroughly discussed and well-documented. The text does assume the reader is familiar with the fundamental concepts of linear systems such as system transfer functions and frequency response although no prior knowledge of filter design is needed.
The construction of this text is unique in that the filter design and implementation techniques are developed by following the evolution of the C code for the three programs in the book. By following the development of FILTER, the filter design program, throughout the text, the reader is introduced to the fundamental steps in analog and digital filter design. In addition, methods of frequency response determination and display are presented. The filter design problem is presented in ever-increasing detail until practically each entry in the project outline becomes a C function. The two filter implementation programs are developed in a similar manner. ANALOG aids in the implementation of analog active filters by determining electronic component values from the coefficients generated by FILTER and by generating PSpice circuit description files. DIGITAL illustrates the implementation of digital filters by allowing the user to digitally filter sound files using the coefficients generated by FILTER. The reader can then play the original and filtered sound files to hear the effects of the filter.
Chapter 1 introduces the reader to the filter design problem. An overview of the FILTER design project is presented with additional details of the project developed as they are needed in succeeding chapters.
Chapter 2 develops the normalized transfer functions for the Butterworth, Chebyshev, inverse Chebyshev, and elliptic approximation cases. The FILTER project outline is enhanced to include the necessary C functions to determine the order and coefficients for these approximations.
Chapter 3 describes the conversion of the normalized lowpass filter to an unnormalized lowpass, highpass, bandpass, or bandstop filter. By the end of the third chapter, a complete analog filter design can be performed.
Chapter 4 introduces the reader to the calculation of the frequency response of the analog filters designed in the previous chapters. In addition to the C code which calculates the frequency response, the reader is also introduced to the graphics functions necessary to display the frequency response. Techniques for compiling and linking the source files for the FILTER project are also discussed.
In Chapter 5, the implementation of analog filters is considered using popular techniques in active filter design with discussion of real-world considerations. The ANALOG active filter implementation program is developed to determine the RC coefficients necessary to implement active filters. A PSpice circuit description file is generated to enable the filter developer to analyze the circuit. Chapter 5 completes the discussion of analog filters in this book.
Chapter 6 begins the discussion of discrete-time systems and digital filter design in this book. Several key features of discrete-time systems, including the notion of analog-to-digital conversion, Nyquist sampling theorem, the z-transform, and discrete-time system diagrams, are reviewed. Similarities and differences between discrete-time and continuous-time systems are discussed.
In Chapter 7, digital IIR (recursive) filters are designed. Three methods of designing IIR filters are considered with C code developed for the predominant bilinear transformation method. In addition, the frequency response calculations and related C code for the IIR filter are developed.
Chapter 8 considers digital FIR (nonrecursive) filters using a variety of window methods and the Parks-McClellan optimization routine. The special techniques necessary for FIR frequency response calculation are discussed before developing the C code for the FIR filter design portion of the FILTER project.
The implementation of real-time and nonreal-time digital FIR and IIR filters is discussed in Chapter 9. Implementation issues such as which type of digital filter to use, accuracy of quantized samples, fixed or floating point processing, and finite register length computation are discussed. Popular sound file formats are introduced and the C code necessary to process these sound files is generated. Users may then use the DIGITAL program to process sound files using the filter coefficients determined by FILTER. The reader can then hear the effects of filtering by replaying the original and processed sound files on a sound card.
I would not have been able to complete this book without the help and support of a number of people. First, I thank the reviewers of this text who provided many helpful comments, both in the initial and final stages of development. These include Malcolm Slaney, Randy Crane, Paul Embree, John O'Donnell, Dave Retterer, and Dave Bogner.
I also thank the staff at Prentice Hall who have provided me with help and guidance throughout the publication process. These include Senior Editor Karen Gettman and her administrative assistant Barbara Alfieri. I thank the faculty of the Department of Electrical Engineering at Ohio Northern University for their encouragement and support throughout this hectic and time-consuming process.
And, finally, I thank my wife Diane for all of her encouragement and support, and for the many hours of proofreading a text that made no sense to her!
MS-DOS is a trademark of Microsoft Corp.
From the Back Cover:
Power C is a trademark of MIX Software, Inc.
PSpice is a trademark of MicroSim Corp.
Filled with practical C functions, this state-of-the-art guide will allow filter designers to automate the design of analog and digital filters using the C programming language. Covers the design of Butterworth, Chebyshev, inverse Chebyshev and elliptic filters which can be implemented by analog analog active or digital IIR filters; the design of FIR digital filters using windowing techniques and the Parks-McClellan algorithm; and calculates the filter coefficients for analog and digital filers utilizing C functions. For DSP electrical engineers working on filter design.
"About this title" may belong to another edition of this title.
Book Description Prentice Hall, 1995. Textbook Binding. Book Condition: New. Bookseller Inventory # P110133526275
Book Description Prentice Hall. TEXTBOOK BINDING. Book Condition: New. 0133526275 New Condition. Bookseller Inventory # NEW6.0053199