This document provides an overview of adaptive filters and their design using MATLAB. It discusses linear filters, optimal filter design methods, the Wiener filter, adaptive filters, the LMS adaptive algorithm and its stability, applications of adaptive filters including system identification, equalization, prediction and interference cancellation. It also presents a novel adaptive IIR notch filter for frequency estimation and tracking of harmonic signals, describing its structure, transfer function and performance. References are provided for further reading.