IP Library Granted Patent US 9,176,735
Granted Patent B2
US 9,176,735 · App. 12/324,926 · Granted Nov 3, 2015

Digital signal processor having instruction set with one or more non-linear complex functions

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,176,735
App. No.
12/324,926
Granted
Nov 3, 2015
Kind
B2
Abstract

Methods and apparatus are provided for a digital signal processor having an instruction set with one or more non-linear complex functions. A method is provided for a processor. One or more non-linear complex software instructions are obtained from a program. The non-linear complex software instructions have at least one complex number as an input. One or more non-linear complex functions are applied from a predefined instruction set to the at least one complex number. An output is generated comprised of one complex number or two real numbers. A functional unit can implement the one or more non-linear complex functions. In one embodiment, a vector-based digital signal processor is disclosed that processes a complex vector comprised of a plurality of complex numbers. The processor can process the plurality of complex numbers in parallel.

Claims (26)

1. A method performed by a vector-based processor, comprising:

obtaining one or more non-linear complex software instructions having at least one complex input vector, wherein said one or more non-linear complex software instructions implement one or more corresponding non-linear complex functions and wherein said at least one complex input vector comprises one or more of real and complex components; and

in response to a predefined software instruction keyword for at least one of said one or more non-linear complex software instructions, performing the following steps for each component of said at least one complex input vector, wherein said at least one complex input vector comprises a plurality of complex numbers and wherein said vector-based processor processes said plurality of complex numbers substantially simultaneously, wherein said predefined software instruction keyword for said at least one non-linear complex software instruction is part of an instruction set of said vector-based processor:

invoking at least one hardware non-linear functional unit that implements said one or more non-linear complex software instructions to apply one of the one or more corresponding non-linear complex functions to each component of said at least one complex input vector to generate a corresponding complex-valued component of an output vector.

2. The method of claim 1 , wherein said vector-based processor executes said one or more non-linear complex software instructions from program code.

3. The method of claim 1 , wherein said vector-based processor employs one or more of hardware and a look-up table to compute the complex-valued components of said output vector.

4. The method of claim 1 , wherein said at least one complex input vector comprises Inphase/Quadrature (I/Q) data and wherein said one or more corresponding non-linear complex functions compute one or more of a modulation of said I/Q data and a demodulation of said I/Q data.

5. The method of claim 1 , wherein said one or more corresponding non-linear complex functions comprise a non-linear complex modulation function that rotates said at least one complex input vector by a given angle, α.

6. The method of claim 1 , wherein said one or more corresponding non-linear complex functions comprise a non-linear complex function that computes one or more of a modulus and an angle of said at least one complex input vector.

7. A vector-based processor, comprising:

an input for receiving one or more non-linear complex software instructions that implement one or more corresponding non-linear complex functions, wherein said one or more non-linear complex software instructions have at least one complex input vector, wherein said at least one complex input vector comprises one or more of real and complex components, wherein said at least one complex input vector comprises a plurality of complex numbers and wherein said vector-based processor processes said plurality of complex numbers substantially simultaneously; and

at least one hardware functional unit for applying one of said one or more corresponding non-linear complex functions to each component of said at least one complex input vector to generate a corresponding complex-valued component of an output vector in response to a predefined software instruction keyword for at least one of said one or more non-linear complex software instructions, wherein said predefined software instruction keyword for said at least one non-linear complex software instruction is part of an instruction set of said vector-based processor.

8. The vector-based processor of claim 7 , wherein said vector-based processor executes said one or more non-linear complex software instructions from program code.

9. The vector-based processor of claim 7 , wherein said vector-based processor employs one or more of hardware and a look-up table to compute the complex-valued components of said output vector.

10. The vector-based processor of claim 7 , wherein said at least one complex input vector comprises Inphase/Quadrature (I/Q) data and wherein said one or more corresponding non-linear complex functions compute one or more of a modulation of said I/Q data and a demodulation of said I/Q data.

11. The vector-based processor of claim 7 , wherein said one or more corresponding non-linear complex functions comprise a non-linear complex modulation function that rotates said at least one complex input vector by a given angle, α.

12. The vector-based processor of claim 7 , wherein said one or more corresponding non-linear complex functions comprise a non-linear complex function that computes one or more of a modulus and an angle of said at least one complex input vector.

13. An integrated circuit, comprising:

a vector-based processor, comprising:

an input for receiving one or more non-linear complex software instructions that implement one or more corresponding non-linear complex functions, wherein said one or more non-linear complex software instructions have at least one complex input vector, wherein said at least one complex input vector comprises one or more of real and complex components, wherein said at least one complex input vector comprises a plurality of complex numbers and wherein said vector-based processor processes said plurality of complex numbers substantially simultaneously; and

at least one hardware functional unit for applying one of said one or more corresponding non-linear complex functions to each component of said at least one complex input vector to generate a corresponding complex-valued component of an output vector in response to a predefined software instruction keyword for at least one of said one or more non-linear complex software instructions, wherein said predefined software instruction keyword for said at least one non-linear complex software instruction is part of an instruction set of said vector-based processor.

14. The integrated circuit of claim 13 , wherein said vector-based processor executes said one or more non-linear complex software instructions from program code.

15. The integrated circuit of claim 13 , wherein said vector-based processor employs one or more of hardware and a look-up table to compute the complex-valued components of said output vector.

16. The integrated circuit of claim 13 , wherein said at least one complex input vector comprises Inphase/Quadrature (I/Q) data and wherein said one or more corresponding non-linear complex functions compute one or more of a modulation of said I/Q data and a demodulation of said I/Q data.

17. The integrated circuit of claim 13 , wherein said one or more corresponding non-linear complex functions comprise a non-linear complex modulation function that rotates said at least one complex input vector by a given angle, α.

18. The integrated circuit of claim 13 , wherein said one or more corresponding non-linear complex functions comprise a non-linear complex function that computes one or more of a modulus and an angle of said at least one complex input vector.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded Nov 18, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034286/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: AGERE SYSTEMS LLC
To: LSI CORPORATION
Reel/Frame 034245/0655 →
CERTIFICATE OF CONVERSION Recorded Oct 30, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 034113/0626 →
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 →