A digital approach to pulse height analysis is presented. It consists of entire pulse digitization, using a flash analog-to-digital converter (ADC), being its height estimated by a floating point digital signal processor (DSP) as one parameter of a model best fitting to the pulse samples. The differential nonlinearity is reduced by simultaneously adding to the pulse, prior to its digitization, two analog signals provided by a digital-to-analog converter (DAC), One of them is a small amplitude dither signal used to eliminate a bias introduced by the fitting algorithm. The other, with large amplitude, corrects the ADC nonlinearities by a method similar to the well known Gatti's sliding scale. The simulations carried out showed that, using a 12-bit flash ADC, a 14-bit DAC and a dedicated floating point DSP performing a polynomial fitting to the samples around the pulse peak, it is actually possible to process about 10000 events per second, with a constant height pulse dispersion of only 4 on 8192 channels and a very good differential linearity. A prototype system based on the Texas Instruments floating point DSP TMS320C31 and built following the presented methodology has already been tested and performed as expected.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>