Skip to Main Content
We present a new approach to teaching filter design. In the classroom, students see graphical design methods emphasizing relationships between poles/zeros and frequency response (e.g., Chebyshev pole locations, low-pass to band-pass mapping, and bilinear transformation). In lab, each student develops a MATLABÂ® program, capable of designing analog or digital, low-pass/high-pass/band-pass/notch, and Butterworth or Chebyshev filters. Using a Â¿bottom-upÂ¿ approach, students write individual functions as topics are covered in class, thereby creating Â¿student toolboxesÂ¿ that make no use of inherent MATLAB filter design functions. Students then craft a Â¿main programÂ¿ to implement filter design logic by calling their (tested) lower level functions. Finally, students use their programs to filter individually corrupted music files. Students design a digital filter to remove that band-limited noise, while preserving music fidelity, in an iterative process, exploring tradeoffs between maximum passband attenuation, minimum stopband attenuation, filter type, passband and stopband cutoffs, filter order and fidelity. Using graphical techniques, along with bottom-up program development, provides significant insight into fundamental tradeoffs in the filter design process not attainable through design by table lookup or inherent MATLAB function calls. Furthermore, feedback suggests the final design project is very gratifying and unites theory and real world design.