IP Library Granted Patent US 9,363,068
Granted Patent B2
US 9,363,068 · App. 14/168,615 · Granted Jun 7, 2016

Vector processor having instruction set with sliding window non-linear convolutional function

Inventors: Kameran Azadet (Pasadena, CA); Joseph Williams (Holmdel, NJ); Meng-Lin Yu (Morganville, NJ)
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,363,068
App. No.
14/168,615
Granted
Jun 7, 2016
Kind
B2
Abstract

A processor is provided having an instruction set with a sliding window non-linear convolution function. A processor obtains a software instruction that performs a non-linear convolution function for a plurality of input delayed signal samples. In response to the software instruction for the non-linear convolution function, the processor generates a weighted sum of two or more of the input delayed signal samples, wherein the weighted sum comprises a plurality of variable coefficients defined as a sum of one or more non-linear functions of a magnitude of the input delayed signal samples; and repeats the generating step for at least one time-shifted version of the input delayed signal samples to compute a plurality of consecutive outputs. The software instruction for the non-linear convolution function is optionally part of an instruction set of the processor. The non-linear convolution function can model a non-linear system with memory, such as a power amplifier model and/or a digital pre-distortion function.

Claims (35)

1. A method performed by a processor, comprising:

obtaining at least one software instruction that performs at least one non-linear convolution function for a plurality of input delayed signal samples;

in response to said at least one software instruction for said at least one non-linear convolution function, performing the following steps:

generating a weighted sum of two or more of said input delayed signal samples, wherein said weighted sum comprises a plurality of variable coefficients defined as a sum of one or more non-linear functions of a magnitude of said input delayed signal samples; and

repeating said generating step for at least one time-shifted version of said input delayed signal samples to compute a plurality of consecutive outputs, wherein said at least one software instruction for said at least one non-linear convolution function is part of an instruction set of said processor.

2. The method of claim 1 , wherein said processor comprises a vector processor.

3. The method of claim 1 , wherein said plurality of variable coefficients defined by a non-linear function of a magnitude of said input delayed signal samples are implemented using one or more look-up tables.

4. The method of claim 1 , wherein said non-linear convolution function models a non-linear system with memory.

5. The method of claim 4 , wherein said non-linear system with memory comprises one or more of a power amplifier model and a digital pre-distortion function.

6. The method of claim 1 , wherein said at least one non-linear convolution function is implemented using one or more look-up tables having linear interpolation.

7. The method of claim 1 , wherein said at least one non-linear convolution function is implemented using one or more look-up tables having polynomial interpolation.

8. The method of claim 1 , further comprising the step of loading at least one user-specified parameter from memory into at least one register file.

9. The method of claim 8 , wherein said user-specified parameter comprises a look-up table storing values of said non-linear convolution function for one or more input values.

10. The method of claim 1 , further comprising the step of reading said plurality of input delayed signal samples directly from memory into functional units for said non-linear convolution function.

11. A processor configured to implement a signal processing function in software, comprising:

a memory; and

at least one hardware device, coupled to the memory, operative to:

obtain at least one software instruction that performs at least one non-linear convolution function for a plurality of input delayed signal samples;

in response to said at least one software instruction for said at least one non-linear convolution function:

generate a weighted sum of two or more of said input delayed signal samples, wherein said weighted sum comprises a plurality of variable coefficients defined as a sum of one or more non-linear functions of a magnitude of said input delayed signal samples; and

repeat said generating step for at least one time-shifted version of said input delayed signal samples to compute a plurality of consecutive outputs, wherein said at least one software instruction for said at least one non-linear convolution function is part of an instruction set of said processor.

12. The processor of claim 11 , wherein said processor comprises a vector processor.

13. The processor of claim 11 , wherein said plurality of variable coefficients defined by a non-linear function of a magnitude of said input delayed signal samples are implemented using one or more look-up tables.

14. The processor of claim 11 , wherein said non-linear convolution function models a non-linear system with memory.

15. The processor of claim 14 , wherein said non-linear system with memory comprises one or more of a power amplifier model and a digital pre-distortion function.

16. The processor of claim 11 , wherein said at least one non-linear convolution function is implemented using one or more look-up tables having linear interpolation.

17. The processor of claim 11 , wherein said at least one non-linear convolution function is implemented using one or more look-up tables having polynomial interpolation.

18. The processor of claim 11 , further comprising the step of loading at least one user-specified parameter from memory into at least one register file.

19. The processor of claim 18 , wherein said user-specified parameter comprises a look-up table storing values of said non-linear convolution function for one or more input values.

20. The processor of claim 11 , further comprising the step of reading said plurality of input delayed signal samples directly from memory into functional units for said non-linear convolution function.

21. An article of manufacture, comprising a non-transitory machine readable recordable medium containing one or more programs which when executed by a processor implement the steps of:

obtaining at least one software instruction that performs at least one non-linear convolution function for a plurality of input delayed signal samples;

in response to said at least one software instruction for said at least one non-linear convolution function, performing the following steps:

generating a weighted sum of two or more of said input delayed signal samples, wherein said weighted sum comprises a plurality of variable coefficients defined as a sum of one or more non-linear functions of a magnitude of said input delayed signal samples; and

repeating said generating step for at least one time-shifted version of said input delayed signal samples to compute a plurality of consecutive outputs, wherein said at least one software instruction for said at least one non-linear convolution function is part of an instruction set of said processor.

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 Feb 26, 2014
From: AZADET, KAMERAN; WILLIAMS, JOSEPH; YU, MENG-LIN
To: LSI CORPORATION
Reel/Frame 032304/0800 →
Continuity (2)
Provisional Application 61812858 · Apr 17, 2013
Related Publication 20140317163A1 · Oct 23, 2014