A method for modifying a scan drive signal of a scanning mirror to produce a target behavior of the scanning mirror in the presence of mechanical gain and non-linear characteristics, wherein the scan drive signal is a sum of harmonically related drive signals, wherein the harmonically related drive signals are represented by harmonic tones, wherein the harmonic tones are defined by corresponding harmonic drive coefficients, and wherein the target behavior of the scanning mirror is defined by harmonic coefficient targets, the method comprising: detecting angular movement of the scanning mirror to produce a position signal; using a plurality of least mean square tone adders (810-840, 1110-1140), wherein each least mean square tone adder (810-840, 1110-1140) compares a spectral component of the position signal against a harmonic coefficient target, and wherein each least mean square tone adder (810-840, 1110-1140) includes an in-phase circuit and a quadrature circuit; determining return harmonic coefficients by mixing the position signal with in-phase components and quadrature components of a plurality of harmonically related tones to produce a plurality of DC signals representing the return harmonic coefficients, wherein the return harmonic coefficients represent spectral components of the position signal; obtaining error values by determining the difference between the return harmonic coefficients and the respective harmonic coefficient targets; responsive to the error values, using the return harmonic coefficients to modify a plurality of harmonic drive coefficients by using PID controllers operating to drive in-phase and quadrature errors to zero; and mixing the plurality of harmonic drive coefficients with the plurality of harmonically related tones to produce in-phase and quadrature components of a plurality of modified harmonically related drive signals that are configured to control the angular movement of the scanning mirror. detecting angular movement of the scanning mirror to produce a position signal; using a plurality of least mean square tone adders (810-840, 1110-1140), wherein each least mean square tone adder (810-840, 1110-1140) compares a spectral component of the position signal against a harmonic coefficient target, and wherein each least mean square tone adder (810-840, 1110-1140) includes an in-phase circuit and a quadrature circuit; determining return harmonic coefficients by mixing the position signal with in-phase components and quadrature components of a plurality of harmonically related tones to produce a plurality of DC signals representing the return harmonic coefficients, wherein the return harmonic coefficients represent spectral components of the position signal; obtaining error values by determining the difference between the return harmonic coefficients and the respective harmonic coefficient targets; responsive to the error values, using the return harmonic coefficients to modify a plurality of harmonic drive coefficients by using PID controllers operating to drive in-phase and quadrature errors to zero; and mixing the plurality of harmonic drive coefficients with the plurality of harmonically related tones to produce in-phase and quadrature components of a plurality of modified harmonically related drive signals that are configured to control the angular movement of the scanning mirror.