1. An apparatus comprising: a baseband processing circuit that receives a baseband signal; a digital predistortion circuit including: a magnitude squared circuit that is coupled to the baseband processing circuit; a plurality of memory circuit that are coupled to the magnitude square circuit in parallel to one another, wherein each memory circuit includes: a first programmable non-linearity that is coupled to the magnitude squared circuit; a digital filter that is coupled to the first programmable non-linearity; a first delay circuit that is coupled to the magnitude squared circuit; a second programmable non-linearity that is coupled to the first delay circuit; a third delay circuit that is coupled to the baseband processing circuit; and a configurable output circuit that is coupled to the digital filter, the second programmable non-linearity and the third delay circuit, wherein the configurable output circuit has a plurality of modes, and wherein each filter mode is associated with at least one filter model for the digital predistortion circuit; a first summer that is coupled to each of the memory circuits; and a second summer that is coupled to the first summer and the baseband processing circuit; a feedback path that receives an output from a non-linear element as feedback; and a plurality of capture buffers that store samples from baseband signal and the feedback for adjusting parametric values of the first and second programmable non-linearities for each memory circuit.