A method is described for predistorting an input
signal to compensate for non-linearities caused to the input
signal in producing an output
signal. The method comprises: providing an input for receiving a first input signal as a plurality of signal samples, x[n], to be transmitted over a non-
linear element; providing at least one digital
predistortion block comprising, a plurality of IQ predistorter cells coupled to the input, each comprising a
lookup table (LUT) for generating an LUT output The at least one digital
predistortion block block is configured to apply interpolation between LUT entries for the, plurality of LUTs; and generate an output signal, y[n], by each of the plurality of IQ predistorter cells by adaptively modifying the first input signal using interpolated LUT entries to compensate for
distortion effects in the non-
linear element. A combiner may be provided configured to combine the output signal samples, yQ, from the plurality of IQ predistorter cells into a combined signal to generate the output signal, y[n], for transmission to the non-
linear element. An error calculation block may be coupled to a digital
predistortion adaptation block to determine and modify a predistortion performance.