Methods and apparatus for efficient complex long multiplication and covariance matrix implementation
First Claim
1. An apparatus for the two cycle computation of a plurality of types of complex multiplication, the apparatus comprising:
- a first storage means for storing a first complex operand and a second complex operand, the first complex operand including real component Xr and imaginary component Xi, the second complex operand including real component Yr and imaginary component Yi;
multiplier means for simultaneously performing multiplications in a first cycle of operation to produce products Xr*Yr,Yr*Yi*Yr and Xi*Yi, the multiplier means comprising an input to receive a signal indicating a type of complex multiplication to be performed;
a second storage means for storing products Xr*Yr, Xr*Yi, Xi*Yr and Xi*Yi;
adder means for simultaneously performing additions and subtractions in a second cycle of operation to produce a conjugated or nonconjugated result depending on the type of complex multiplication to be performed, said multiplier means routing produced products to the second storage means in response to the received signal indicating the type of complex multiplication to be performed and aligning the produced products in the second storage means for subsequent addition or subtraction with each other, the adder means comprising an input to receive the signal indicating the type of complex multiplication to be performed, the adder means adding or subtracting the aligned produced products in response to the received signal;
a third storage means for storing the results of said adder means;
accumulator means for simultaneously performing accumulation in the second cycle of operation to accumulate the results of said adder means with the current contents of said third storage means, wherein said third storage means is further for storing the results of said accumulator means; and
extended precision storage means for storing an interim result, wherein said accumulator means is further for simultaneously performing accumulation in the second cycle of operation to accumulate the results of said adder means with both the current contents of said third storage means and the interim result stored in said extended precision storage means,wherein said extended precision storage means stores extended precision results of said accumulator means at the completion of the accumulation means.
4 Assignments
0 Petitions
Accused Products
Abstract
A digital signal processor for computing various types of complex multiplication is described. The digital signal processor operates in conjunction with registers, a multiplier, an adder, and a multiplexer The Registers store first and second complex operands. The multiplier simultaneously performs multiplications to produce each combination of products between the real and imaginary terms of the first and second complex operands. The multiplexer selects which produced products are added to or subtracted from each other based on the type of complex multiplication being performed. The adder simultaneously performs additions and subtractions, if necessary, to produce both real and imaginary results depending on whether the type of complex multiplication being performed is a conjugated operation. The registers store the results of the complex multiplication.
53 Citations
12 Claims
-
1. An apparatus for the two cycle computation of a plurality of types of complex multiplication, the apparatus comprising:
-
a first storage means for storing a first complex operand and a second complex operand, the first complex operand including real component Xr and imaginary component Xi, the second complex operand including real component Yr and imaginary component Yi; multiplier means for simultaneously performing multiplications in a first cycle of operation to produce products Xr*Yr,Yr*Yi*Yr and Xi*Yi, the multiplier means comprising an input to receive a signal indicating a type of complex multiplication to be performed; a second storage means for storing products Xr*Yr, Xr*Yi, Xi*Yr and Xi*Yi; adder means for simultaneously performing additions and subtractions in a second cycle of operation to produce a conjugated or nonconjugated result depending on the type of complex multiplication to be performed, said multiplier means routing produced products to the second storage means in response to the received signal indicating the type of complex multiplication to be performed and aligning the produced products in the second storage means for subsequent addition or subtraction with each other, the adder means comprising an input to receive the signal indicating the type of complex multiplication to be performed, the adder means adding or subtracting the aligned produced products in response to the received signal; a third storage means for storing the results of said adder means; accumulator means for simultaneously performing accumulation in the second cycle of operation to accumulate the results of said adder means with the current contents of said third storage means, wherein said third storage means is further for storing the results of said accumulator means; and extended precision storage means for storing an interim result, wherein said accumulator means is further for simultaneously performing accumulation in the second cycle of operation to accumulate the results of said adder means with both the current contents of said third storage means and the interim result stored in said extended precision storage means, wherein said extended precision storage means stores extended precision results of said accumulator means at the completion of the accumulation means. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus for the single cycle computation for a plurality of types of complex multiplication, the apparatus comprising:
-
a first storage means for storing a first complex operand and a second complex operand, the first complex operand including real component Xr and imaginary component Xi, the second complex operand including real component Yr and imaginary component Yi; multiplier means for simultaneously performing multiplications in a first cycle of operation to produce products Xr*Yr, Xr*Yi Xi*Yr and Xi*Yi, the multiplier means comprising an input to receive a signal indicating a type of complex multiplication to be performed; adder means for simultaneously performing additions and subtractions in the first cycle of operation to produce a conjugated or nonconjugated result depending on the type of complex multiplication to be performed, said multiplier means routing produced products to the second storage means in response to the received signal indicating the type of complex multiplication to be performed and aligning the produced products in the second storage means for subsequent addition or subtraction with each other, the adder means comprising an input to receive the signal indicating the type of complex multiplication to be performed, the adder means adding or subtracting the aligned produced products in response to the received signal; a third storage means for storing the results of said adder means; and accumulator means for simultaneously performing accumulation in the first cycle of operation to accumulate the results of said adder means with the current contents of said third storage means, wherein said third storage means is further for storing the results of said accumulator means extended precision storage means for storing an interim result, wherein said accumulator means is further for simultaneously performing accumulation in the first cycle of operation to accumulate the results of said adder means with both the current contents of said third storage means and the interim result stored in said extended precision storage means, wherein said extended precision storage means stores extended precision results of said accumulator means at the completion of the accumulation means. - View Dependent Claims (6, 7, 8, 9)
-
-
10. An apparatus for the two cycle computation of a plurality of complex multiplication, the apparatus comprising:
-
a first storage register for storing a first complex operand and a second complex operand, the first complex operand including real component Xr and imaginary component Xi, the second complex operand including real component Yr and imaginary component Yi; a multiplier for simultaneously performing multiplications in a first cycle of operation to produce products Xr*Yr, Xr*Yi, Xi*Yr and Xi*Yi, the multiplier means comprising an input to receive a signal indicating a type of complex multiplication to be performed; a second storage register for storing products Xr*Yr, Xr*Yi, Xi*Yr and Xi*Yi; an adder for simultaneously performing additions and subtractions in a second cycle of operation to produce a conjugated or nonconjugated result depending on the type of complex multiplication to be performed, said multiplier means routing produced products to the second storage means in response to the received signal indicating the type of complex multiplication to be performed and aligning the produced products in the second storage means for subsequent addition or subtraction with each other, the adder comprising an input to receive the signal indicating the type of complex multiplication to be performed, the adder means adding or subtracting the aligned produced products in response to the received signal; a third storage register for storing the results of said adder means; an accumulator for simultaneously performing accumulation in the second cycle of operation to accumulate the results of said achier with the current contents of said third storage register, wherein said third storage register is further for storing the results of said accumulator; and an extended precision storage register for storing an interim result, wherein said accumulator is further for simultaneously performing accumulation in the second cycle of operation to accumulate the results of said adder with both the current contents of said third storage register and the interim result stored in said extended precision storage means, wherein said extended precision storage register stores extended precision results of said accumulator at the completion of the accumulator. - View Dependent Claims (11, 12)
-
Specification