IP Library Granted Patent US 9,529,567
Granted Patent B2
US 9,529,567 · App. 13/701,397 · Granted Dec 27, 2016

Digital processor having instruction set with complex exponential non-linear function

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,529,567
App. No.
13/701,397
Granted
Dec 27, 2016
Kind
B2
Abstract

A digital processor is provided having an instruction set with a complex exponential function. The digital processor evaluates a complex exponential function for an input value, x, by obtaining a complex exponential software instruction having the input value, x, as an input; and in response to the complex exponential software instruction: invoking at least one complex exponential functional unit that implements complex exponential software instructions to apply the complex exponential function to the input value, x; and generating an output corresponding to the complex exponential of the input value, x. A complex exponential function for an input value, x, can be evaluated by wrapping the input value to maintain a given range; computing a coarse approximation angle using a look-up table; scaling the coarse approximation angle to obtain an angle from 0 to θ; and computing a fine corrective value using a polynomial approximation.

Claims (51)

1. A method performed by a digital processor for evaluating a complex exponential function for an input value, x, comprising:

obtaining a single complex exponential software instruction having said input value, x, as an input operand; and

in response to said single complex exponential software instruction,

invoking at least one complex exponential functional unit that implements said single complex exponential software instruction, to apply said complex exponential function to said input value, x, by

wrapping said input value to maintain a given range,

computing a coarse approximation angle using a look-up table using a number of most significant bits (MSBs) of said input value,

scaling said coarse approximation angle to obtain an angle from 0 to Θ, and

computing a fine corrective value using a polynomial approximation to generate an output corresponding to said complex exponential of said input value, x.

2. The method of claim 1 , wherein said digital processor executes software instructions from program code.

3. The method of claim 1 , wherein said digital processor comprises one or more of a vector processor and a scalar processor.

4. The method of claim 1 , further comprising the steps of accumulating an angle within said complex exponential function and returning one or more of a complex exponential of an argument and a current accumulation value.

5. The method of claim 1 , further comprising the step of multiplying an input signal by an exponential of an argument of said complex exponential function.

6. A method performed by a digital processor for evaluating a complex exponential function for an input value, x, said method comprising:

wrapping said input value to maintain a given range;

computing a coarse approximation angle using a look-up table using a number of most significant bits (MSBs) of said input value;

scaling said coarse approximation angle to obtain an angle from 0 to Θ; and

computing a fine corrective value using a polynomial approximation.

7. The method of claim 6 , wherein said polynomial approximation comprises a Taylor Series.

8. The method of claim 6 , wherein said polynomial approximation is a cubic approximation.

9. The method of claim 6 , wherein said digital processor executes software instructions from program code.

10. The method of claim 6 , wherein said digital processor comprises one or more of a vector processor and a scalar processor.

11. The method of claim 6 , further comprising the step of employing symmetry properties to reduce a size of said look-up table.

12. The method of claim 6 , further comprising the steps of accumulating an angle within said complex exponential function and returning one or more of a complex exponential of an argument and a current accumulation value.

13. The method of claim 6 , further comprising the step of multiplying an input signal by an exponential of an argument of said complex exponential function.

14. A digital processor that evaluates a complex exponential function for an input value, x, comprising:

a memory; and

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

obtain a single complex exponential software instruction having said input value, x, as an input operand and in response to said single complex exponential software instruction,

invoke at least one complex exponential functional unit that implements said single complex exponential software instruction, to apply said complex exponential function to said input value, x, to

wrap said input value to maintain a given range,

compute a coarse approximation angle using a look-up table using a number of most significant bits (MSBs) of said input value,

scale said coarse approximation angle to obtain an angle from 0 to Θ, and

compute a fine corrective value using a polynomial approximation to generate an output corresponding to said complex exponential of said input value, x.

15. The digital processor of claim 14 , wherein said digital processor executes software instructions from program code.

16. The digital processor of claim 14 , wherein said digital processor comprises one or more of a vector processor and a scalar processor.

17. The digital processor of claim 14 , wherein said at least one hardware device is further configured to accumulate an angle within said complex exponential function and return one or more of a complex exponential of an argument and a current accumulation value.

18. The digital processor of claim 14 , wherein said at least one hardware device is further configured to multiply an input signal by an exponential of an argument of said complex exponential function.

19. A digital processor that evaluates a complex exponential function for an input value, x, comprising:

a memory; and

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

wrap said input value to maintain a given range;

compute a coarse approximation angle using a look-up table using a number of most significant bits (MSBs) of said input value;

scale said coarse approximation angle to obtain an angle from 0 to Θ; and

compute a fine corrective value using a polynomial approximation.

20. The digital processor of claim 19 , wherein said polynomial approximation comprises a Taylor Series.

21. The digital processor of claim 19 , wherein said polynomial approximation is a cubic approximation.

22. The digital processor of claim 19 , wherein said digital processor executes software instructions from program code.

23. The digital processor of claim 19 , wherein said digital processor comprises one or more of a vector processor and a scalar processor.

24. The digital processor of claim 19 , wherein said at least one hardware device is further configured to employ symmetry properties to reduce a size of said look-up table.

25. The digital processor of claim 19 , wherein said at least one hardware device is further configured to accumulate an angle within said complex exponential function and return one or more of a complex exponential of an argument and a current accumulation value.

26. The digital processor of claim 19 , wherein said at least one hardware device is further configured to multiply an input signal by an exponential of an argument of said complex exponential function.

Assignments (4)
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 PATENTS AT REEL/FRAME NO. 32856/0031 Recorded May 29, 2015
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION
Reel/Frame 035797/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
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 →