Method for applying pre-distortion to a transmit signal to cancel distortion generated by a distorting element or distorting system when transmitting the transmit signal, comprising: filtering the transmit signal through a linear digital filter; generating one or more powers of the transmit signal; filtering one or more of the generated powers of the transmit signal through one or more high order term filters; applying weights to the linear digital filter and the one or more high order term filters, the weights representing a pre-distortion value computed based on a comparison of the transmit signal and a feedback signal derived from an output of the distorting element or distorting system; implementing the linear digital filter with one or more linear digital filter taps, each linear digital filter tap other than a first linear digital filter tap being successively delayed by one delay unit; characterized in that the method further comprises: implementing each high order term filter from one or more linear digital filters, each linear digital filter being delayed by a particular number of delay units and having one or more linear digital filter taps, each linear digital filter tap other than a first linear digital filter tap being successively delayed by one delay unit; applying a weight to one or more of the linear digital filter taps; summing each of the linear digital filters in each high order term filter; and; adding the sum of each of the high order term filters to a particular linear digital filter weight to form a first result, and applying the first result to the linear digital filter tap associated with the particular linear digital filter weight. filtering the transmit signal through a linear digital filter; generating one or more powers of the transmit signal; filtering one or more of the generated powers of the transmit signal through one or more high order term filters; applying weights to the linear digital filter and the one or more high order term filters, the weights representing a pre-distortion value computed based on a comparison of the transmit signal and a feedback signal derived from an output of the distorting element or distorting system; implementing the linear digital filter with one or more linear digital filter taps, each linear digital filter tap other than a first linear digital filter tap being successively delayed by one delay unit; characterized in that the method further comprises: implementing each high order term filter from one or more linear digital filters, each linear digital filter being delayed by a particular number of delay units and having one or more linear digital filter taps, each linear digital filter tap other than a first linear digital filter tap being successively delayed by one delay unit; applying a weight to one or more of the linear digital filter taps; summing each of the linear digital filters in each high order term filter; and; adding the sum of each of the high order term filters to a particular linear digital filter weight to form a first result, and applying the first result to the linear digital filter tap associated with the particular linear digital filter weight. implementing each high order term filter from one or more linear digital filters, each linear digital filter being delayed by a particular number of delay units and having one or more linear digital filter taps, each linear digital filter tap other than a first linear digital filter tap being successively delayed by one delay unit; applying a weight to one or more of the linear digital filter taps; summing each of the linear digital filters in each high order term filter; and; adding the sum of each of the high order term filters to a particular linear digital filter weight to form a first result, and applying the first result to the linear digital filter tap associated with the particular linear digital filter weight.