This document discusses adaptive noise cancellation using the least mean squares (LMS) algorithm. It begins by introducing limitations of fixed filters for time-varying noise frequencies and overlapping signal and noise bands. It then defines digital filters, noise cancellation, adaptive filters, and adaptive noise cancellation. The LMS algorithm is described as consisting of a filtering process and adaptive process to minimize the mean square of the error signal. Code is presented to implement the initial part, main body, and display results of an adaptive noise cancellation system using LMS. Applications are identified in echo and noise cancellation, acoustic echo cancellation, system identification, and noise removal from ECG signals.