1. A method for correcting errors in an Analog to Digital Converter (ADC) comprising: applying a test signal s(k) to an input of the ADC, thereby producing an ADC output signal x(k) as a discrete time sampled signal; estimating a frequency of the test signal from the ADC output signal; predicting further samples, s′(k), of the discrete time sampled signal from the ADC output signal; and determining a set of ADC correction values from the predicted further samples s′(k), wherein estimating a frequency of the test signal further comprises: (a) determining a coarse frequency estimate, F in c from the ADC output signal x(k); and (b) determining a fine frequency estimate F in ƒ from the coarse frequency estimate, and wherein determining a fine frequency estimate further comprises: (c) filtering the ADC output signal with a notch filter, the notch filter tuned to a notch frequency that depends on the coarse frequency estimate; and (d) detecting a power output from the notch filter.