A state of the art on ADC error compensation methods