IP Library Granted Patent US 9,628,119
Granted Patent B2
US 9,628,119 · App. 14/752,574 · Granted Apr 18, 2017

Adaptive high-order nonlinear function approximation using time-domain volterra series to provide flexible high performance digital pre-distortion

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,628,119
App. No.
14/752,574
Granted
Apr 18, 2017
Kind
B2
Abstract

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, y Q , 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.

Claims (61)

1. A method for predistorting an input signal to compensate for non-linearities caused to the input signal in producing an output signal, the method comprising:

providing an input for receiving a first input signal as a plurality of signal samples, 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 IQ predistorter cell comprising a lookup table (LUT) for generating an LUT output to form a plurality of LUTs, wherein the at least one digital predistortion block is configured to apply interpolation between LUT entries for the plurality of LUTs and generate an output signal from each of the plurality of IQ predistorter cells by adaptively modifying the first input signal using interpolated LUT entries;

providing a combiner to combine the output signal from the plurality of IQ predistorter cells to generate the output signal for transmission to the non-linear element;

providing a digital predistortion adaptation block coupled to the at least one digital predistortion block and configured to apply adaptation values to each of the plurality of LUTs based on a predistortion performance of the at least one digital predistortion block; and

providing at least one error calculation block coupled to the digital predistortion adaptation block and configured to apply predistortion error values to the digital predistortion adaptation block, wherein providing at least one error calculation block configured to apply adaptation values to the digital predistortion adaptation block comprises providing at least one error calculation block configured to apply adaptation values to the plurality of LUT entries per IQ predistorter cell using a plurality of lines of extrapolation.

2. The method of claim 1 , wherein:

providing at least one digital predistortion block configured to apply interpolation between LUT entries for the plurality of LUTs comprises providing at least one digital predistortion block configured to apply interpolation between LUT entries for a plurality of multiple input line LUTs, and

providing at least one digital predistortion block configured to generate the output signal from each of the plurality of IQ predistorter cells comprises providing at least one digital predistortion block configured to generate the output signal from each of the plurality of IQ predistorter cells by adaptively modifying the first input signal using interpolated multiple input N line LUT entries.

3. The method of claim 1 , wherein providing at least one digital predistortion block configured to apply interpolation between LUT entries for the plurality of LUTs comprises providing at least one digital predistortion block configured to apply multiple lines of interpolation between LUT entries for the plurality of LUTs.

4. The method of claim 1 , wherein providing at least one error calculation block configured to apply adaptation values to the digital predistortion adaptation block comprises providing at least one error calculation block configured to apply a linear update or secant update of adaptation values to the plurality of LUT entries per IQ predistorter cell.

5. The method of claim 1 , wherein providing at least one error calculation block comprises:

providing a source path including a buffered delay line configured to route a modified version of the first input signal to the digital predistortion adaptation block; and

providing a receive error generation path configured to provide observation data on the predistortion performance of the at least one digital predistortion block to the error calculation block to support timing alignment of the adaptively modified first input signal and observation data thereof.

6. The method of claim 5 further comprising providing at least one filter in the receive error generation path.

7. The method of claim 5 further comprising providing at least one filter in the source path both before and after the buffered delay line.

8. The method of claim 1 , wherein providing at least one digital predistortion block configured to apply interpolation between LUT entries for the plurality of LUTs includes providing at least one digital predistortion block configured to apply a different decay factor per digital predistortion block.

9. The method of claim 1 , wherein providing at least one digital predistortion block comprises:

providing a first digital predistortion block configured to generate at least one static Volterra polynomial term;

providing a second digital predistortion block configured to generate at east one dynamic Volterra memory polynomial term;

providing a third digital predistortion block configured to generate at least one type-1 Volterra cross-term; and

providing at least one fourth digital predistortion block configured to generate at least one type-2 or type-3 Volterra cross-term.

10. The method of claim 9 , wherein providing at least one fourth digital predistortion block comprises providing a plurality of cascaded digital predistortion blocks that are connected together and configured to generate second order type-2 or type-3 Volterra cross-terms.

11. The method of claim 1 , wherein providing the input comprises providing a multiplexer for selecting between the first input signal and a second input signal of a plurality of delayed signal samples.

12. The method of claim 1 , further comprising providing a memory coupled to the at least one digital predistortion block and configured to store a result from applying interpolation between LUT entries for the plurality of LUTs for use by an indirect digital predistortion model.

13. An integrated circuit for predistorting an input signal to compensate for non-linearities caused to the input signal in producing an output signal, the integrated circuit comprising:

an input for receiving a first input signal as a plurality of signal samples to be transmitted over a non-linear element;

at least one digital predistortion block comprising a plurality of IQ predistorter cells coupled to the input, each IQ predistorter cell comprising a lookup table (LUT) for generating an LUT output to form a plurality of LUTs, and configured to:

apply interpolation between LUT entries for the plurality of LUTs, and

generate an output signal from each of the plurality of IQ predistorter cells by adaptively modifying the first input signal using interpolated LUT entries;

a digital predistortion adaptation block coupled to the at least one digital predistortion block and configured to apply adaptation values to each of the plurality of LUTs based on a predistortion performance of the at least one digital predistortion block; and

at least one error calculation block coupled to the digital predistortion adaptation block and configured to apply predistortion error values to the digital predistortion adaptation block, wherein the at least one error calculation block is configured to apply adaptation values to the plurality of LUT entries per IQ predistorter cell using a plurality of lines of extrapolation.

14. The integrated circuit of claim 13 , wherein the at least one digital predistortion block is configured to apply interpolation between LUT entries for a plurality of multiple input line LUTs and generate an output signal from each of the plurality of IQ predistorter cells by adaptively modifying the first input signal using interpolated multiple input line LUT entries.

15. The integrated circuit of claim 13 , wherein the at least one digital predistortion block is configured to apply multiple lines of interpolation between LUT entries for the plurality of LUTs.

16. The integrated circuit of claim 13 , wherein the digital predistortion adaptation block is coupled to the plurality of IQ predistorter cells.

17. An electronic device comprising:

a non-linear circuit;

a processor circuit, coupled to the non-linear circuit, configured to predistort an input signal to compensate for non-linearities caused to the input signal in producing an output signal, wherein the processor circuit comprises:

an input for receiving a first input signal as a plurality of signal samples to be transmitted over a non-linear element;

at least one digital predistortion block comprising a plurality of IQ predistorter cells coupled to the input, each IQ predistorter cell comprising a lookup table (LUT) for generating an LUT output to form a plurality of LUTs and configured to:

apply interpolation between LUT entries for the plurality of LUTs;

generate an output signal from each of the plurality of IQ predistorter cells by adaptively modifying the first input signal using interpolated LUT entries;

a digital predistortion adaptation block coupled to the at least one digital predistortion block and configured to apply adaptation values to each of the plurality of LUTs based on a predistortion performance of the at least one digital predistortion block;

at least one error calculation block coupled to the digital predistortion adaptation block and configured to apply predistortion error values to the digital predistortion adaptation block, wherein the at least one error calculation block is configured to apply adaptation values to the plurality of LUT entries per IQ predistorter cell using a plurality of lines of extrapolation; and

a combiner coupled to the processor circuit and configured to combine the output signal from each of the plurality of IQ predistorter cells into an output signal for transmission to the non-linear element.

18. A method for predistorting an input signal to compensate for non-linearities caused to the input signal in producing an output signal, the method comprising:

providing an input for receiving a first input signal as a plurality of signal samples, 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 IQ predistorter cell comprising a lookup table (LUT) for generating an LUT output to form a plurality of LUTs, wherein the at least one digital predistortion block is configured to apply interpolation between LUT entries for the plurality of LUTs and generate an output signal from each of the plurality of IQ predistorter cells by adaptively modifying the first input signal using interpolated LUT entries;

providing a combiner to combine the output signal from the plurality of IQ predistorter cells to generate the output signal for transmission to the non-linear element;

providing a digital predistortion adaptation block coupled to the at least one digital predistortion block and configured to apply adaptation values to each of the plurality of LUTs based on a predistortion performance of the at least one digital predistortion block; and

providing at least one error calculation block coupled to the digital predistortion adaptation block and configured to apply predistortion error values to the digital predistortion adaptation block, wherein providing at least one error calculation block comprises:

providing a source path including a buffered delay line configured to route a modified version of the first input signal to the digital predistortion adaptation block; and

providing a receive error generation path configured to provide observation data on the predistortion performance of the at least one digital predistortion block to the error calculation block to support timing alignment of the adaptively modified first input signal and observation data thereof.

19. A method for predistorting an input signal to compensate for non-linearities caused to the input signal in producing an output signal, the method comprising:

providing an input for receiving a first input signal as a plurality of signal samples, 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 IQ predistorter cell comprising a lookup table (LUT) for generating an LUT output to form a plurality of LUTs, wherein the at least one digital predistortion block is configured to apply interpolation between LUT entries for the plurality of LUTs and generate an output signal from each of the plurality of IQ predistorter cells by adaptively modifying the first input signal using interpolated LUT entries, wherein providing at least one digital predistortion block comprises:

providing a first digital predistortion block configured to generate at least one static Volterra polynomial term,

providing a second digital predistortion block configured to generate at east one dynamic Volterra memory polynomial term,

providing a third digital predistortion block configured to generate at least one type-1 Volterra cross-term, and

providing at least one fourth digital predistortion block configured to generate at least one type-2 or type-3 Volterra cross-term; and

providing a combiner to combine the output signal from the plurality of IQ predistorter cells to generate the output signal for transmission to the non-linear element.

Assignments (15)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 20, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037565/0527 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 20, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037565/0510 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0859 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2015
From: GAL, AVRAHAM DOV; RASHEV, PETER ZAHARIEV; SHOR, ROI MENAHEM
To: FREESCALE SEMICONDUCTOR, INC
Reel/Frame 036789/0437 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 6, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 036284/0339 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 6, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 036284/0363 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 6, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 036284/0105 →