IP Library Granted Patent US 9,960,900
Granted Patent B2
US 9,960,900 · App. 14/230,607 · Granted May 1, 2018

Modeling of a physical system using two-dimensional look-up table and linear interpolation

Inventor: Kameran Azadet (San Ramon, CA)
Assignee: Intel Corporation
H04L5/1461G06F9/30036G06F17/15G06F17/50G06F17/5009H04B1/0475H04B1/525H04B1/62H04J11/004H04L1/0043H04L25/03012H04L25/03343H04L25/08H04L27/367H04L27/368H04B2001/0425
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,960,900
App. No.
14/230,607
Filed
Mar 31, 2014
Granted
May 1, 2018
Kind
B2
Art Unit
2633
USPC
375/296
Abstract

Methods and apparatus are provided for modeling of a physical system using two-dimensional look-up tables. A method can include determining coefficients for a piece-wise polynomial function that estimates a non-linear function, storing the coefficients as entries in one or more two-dimensional look up tables in the memory, receiving a complex value input corresponding to an actual input value, identifying two closest entries, a first closest entry and a second closest entry, to the complex input value in a two-dimensional look-up table of the one or more two-dimensional look-up tables, evaluating, using the one or more hardware processors, the piece-wise polynomial function at the complex input value twice, a first evaluation using the coefficients corresponding to the first closest entry and a second evaluation using the coefficients corresponding to the second closest entry, to generate first and second output values, and generating an output value by performing a linear interpolation between the first and second output values.

Claims (29)

1. A method for digital pre-distortion implemented using one or more hardware processors and a memory, the method comprising:

determining, using the one or more processors, a non-linear function that estimates actual output values of a power amplifier in response to respective complex input values;

using an optimization method including a least squares algorithm, recursive least squares (RLS) or least mean square (LMS) to determine coefficients of a piece-wise polynomial function that estimates the determined non-linear function, the coefficients substantially minimizing a mean square error of a difference between the non-linear function and the piece-wise polynomial function;

generating a plurality of two-dimensional look-up tables with bilinear interpolation, using the one or more hardware processors, by storing the coefficients as entries in the plurality of two-dimensional look up tables in the memory;

receiving, by the one or more processors, a complex value input corresponding to an actual input value;

identifying, using the one or more hardware processors, two closest entries, a first closest entry and a second closest entry, to the complex input value in a two-dimensional look-up table of the one or more two-dimensional look-up tables; wherein each of the plurality of two-dimensional look-up tables with bilinear interpolation are characterized as {circumflex over (f)}(x)=Σ p=0 P−1 Σ q=0 P−1 φ p,q Λ(x−(p+jq)δ−γ, where x is the complex input value, Λ is a triangular basis function, φ is the coefficient and γ is a constant offset, P is complex point, p, q and δ are integer numbers;

evaluating, using the one or more hardware processors, the piece-wise polynomial function at the complex input value twice, a first evaluation using the coefficients corresponding to the first closest entry and a second evaluation using the coefficients corresponding to the second closest entry, to generate first and second output values;

generating, using the one or more hardware processors, an output value by performing a linear interpolation between the first and second output values; and

determining an output of the power amplifier based on the generated output value.

2. The method of claim 1 , wherein said non-linear function characterizes one or more of a power amplifier and an inverse of a power amplifier.

3. The method of claim 1 , wherein said one or more two-dimensional look-up tables are used in a processor instruction as part of an instruction set of one or more of a scalar processor and a vector processor.

4. The method of claim 3 , wherein said one or more two-dimensional look-up tables are stored in a memory of said one or more of a scalar processor and a vector processor, and the linear interpolation is performed as part of a user-defined non-linear instruction that takes the complex value input as an input, x, and computes f(x).

5. The method of claim 4 , wherein said vector processor applies a complex input vector [x 1 , x 2 , . . . , x N ] to a plurality of non-linear functions f 1 , f 2 , . . . f N to compute a complex vector output, f 1 (x 1 ), f 2 (x 2 ) . . . f N (x N ).

6. A digital signal processor adapted for estimating an output value of a non-linear function based on a complex input value, the processor comprising:

a storage element adapted to store a plurality of two-dimensional look-up tables; and

one or more processors coupled to the storage element, wherein the one or more processors are configured to:

determine the non-linear function, to estimate actual output values of a power amplifier in response to respective complex input values;

determine coefficients of a piece-wise polynomial function using an optimization method including a least squares algorithm, recursive least squares (RLS) or least mean square (LMS) to estimate the determined non-linear function for the plurality of two-dimensional look-up tables, the coefficients substantially minimize a mean square error of a difference between the non-linear function and the piece-wise polynomial function;

store the coefficients as entries in the plurality of two-dimensional look up tables in the storage element;

receive a complex value input based on an actual input value;

identify a first closest entry and a second closest entry to the complex input value in a two-dimensional look-up table of the plurality of two-dimensional look-up table; wherein each of the plurality of two-dimensional look-up tables with bilinear interpolation are characterized as {circumflex over (f)}(x)=Σ p=0 P−1 Σ q=0 P−1 φ p,q Λ(x−(p+jq)δ−γ, where x is the complex input value, Λ is a triangular basis function, φ is the coefficient and γ is a constant offset, P is complex point, p, q and δ are integer numbers;

evaluate, using the one or more processors, the piece-wise polynomial function at the complex input value twice, a first evaluation using the coefficients corresponding to the first closest entry and a second evaluation using the coefficients corresponding to the second closest entry, to generate first and second output values;

generate, using the one or more processors, an output value by performing a linear interpolation between the first and second output values; and

determine an output of the power amplifier based on the generated output value.

7. The digital signal processor of claim 6 , wherein said non-linear function characterizes one or more of a power amplifier and an inverse of a power amplifier.

8. The digital signal processor of claim 6 , wherein said at least one two-dimensional look-up table is used to implement digital pre-distortion.

9. The digital signal processor of claim 6 , wherein said at least one two-dimensional look-up table is used in a processor instruction as part of an instruction set of one or more of a scalar processor and a vector processor.

10. The digital signal processor of claim 9 , wherein said look-up table is stored in a memory of said one or more of the scalar processor and the vector processor, and the linear interpolation is performed as part of a user-defined non-linear instruction that takes the complex input value as an input, x, and computes f(x), wherein f(x) is the piecewise polynomial function output with linear interpolation based on multiple output values.

11. The digital signal processor of claim 10 , wherein said vector processor applies a complex input vector [x 1 , x 2 , . . . , x N ] to a plurality of non-linear functions f 1 , f 2 , . . . f N to compute a complex vector output, f 1 (x 1 ), f 2 (x 2 ) . . . f N (x N ).

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (032856/0031) Recorded Aug 13, 2015
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036343/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2015
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE, LTD.
To: INTEL CORPORATION
Reel/Frame 036098/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2014
From: AZADET, KAMERAN
To: LSI CORPORATION
Reel/Frame 032563/0316 →
Continuity (2)
Provisional Application 61812858 · Apr 17, 2013
Related Publication 20140314176A1 · Oct 23, 2014