Patent ID: 8265583

Claim:
A method of compensating for arbitrary nonlinearities associated with a signal using a hardware device, the method comprising: receiving a plurality of samples of the signal having at least one in-band region and at least one out-of-band region, wherein the at least one out-of-band region corresponds to at least one undesired signal component that corresponds to nonlinearities in the signal; generating, using the hardware device, a plurality of compensated signal values based on applying a plurality of respective compensation values to the plurality of samples, wherein the compensated signal values correspond to the plurality of samples of the signal processed to reduce nonlinearities; applying, using the hardware device, a transform function to the plurality of compensated signal values to generate a frequency-domain representation of the plurality of compensated signal values; and updating, using the hardware device, at least one of the plurality of compensation values using the generated frequency-domain representation to reduce energy associated with the at least one out-of-band region of the signal, wherein updating at least one of the plurality of compensation values includes: obtaining a first subset of values of the frequency-domain representation corresponding to the at least one in-band region; obtaining a second subset of values of the frequency-domain representation corresponding to the at least one out-of-band region; and iteratively adjusting at least one of the plurality of compensation values based on the first subset of values and the second subset of values.