a method is disclosed of compensating the output of an adc for non - linearity in the response of the adc . the method comprises converting an analog input signal to uncorrected digital adc output samples , applying a vector of correction variables to each of a block of uncorrected adc output samples to provide a block of corrected adc samples , and iteratively minimizing a measure of the spectral flatness of the block of corrected adc samples with response to the vector of correction variables .