Claims
- 1. A method for providing a digital processor architecture for computing a discrete Fourier transform, said discrete Fourier transform wherein one or more matrices Z of frequency domain values are equal to one or matrices X of time domain values times one or more coefficient matrices, said method comprising:
providing that said one or more matrices Z of frequency domain values is determinable by a plurality of matrices multiplied together wherein at least two of said plurality of matrices have matrix products which involve only complex number additions; generating one or more systolic array designs wherein said one or more systolic arrays designs each comprise a plurality of processing elements, each of said plurality of processing elements being adjacent one or more neighboring processing elements, each of said plurality of processing elements being electrically interconnected to at least one of said one or more neighboring processing elements, said plurality of processing elements comprising one or more arrays of complex adder processors for determining said matrix products which involve said only said complex number additions.
- 2. The method of claim 1, wherein said one or more systolic array designs have a structure based on equations of the form
- 3. The method of claim 1, wherein said one or more array designs are compatible for use with any transform length which is an integer multiple of 16.
- 4. The method of claim 1, further comprising organizing said plurality of processing elements into regular blocks of sub matrices.
- 5. The method of claim 4, wherein said one or more array designs are scaleable for to different transform lengths by varying a number of said regular blocks of sub matrices.
- 6. The method of claim 5, wherein said one or more array designs comprises a pipelined linear array which is scaleable so that said number of said regular blocks of sub matrices are added only to one length dimension of said pipelined linear array to permit processing of an increased transform length.
- 7. The method of claim 1, wherein at least one matrix of said plurality of matrices contains elements that are found only in the set {i, −i, 1, −1} such that matrix multiplication with said at least one matrix requires no multiplication.
- 8. The method of claim 1, wherein said complex adder processing elements are not required to both add and multiply.
- 9. The method of claim 1, wherein said digital hardware discrete Fourier transform processor is operable for performing a two-dimensional discrete Fourier transform.
- 10. The method of claim 1, wherein said plurality of processing elements required include a maximum number of multiplier processing elements that is equal or less than a transform length divided by four.
- 11. A digital processor architecture for computing a discrete Fourier transform, said discrete Fourier transform having a transform length N, where N is an integer multiple of sixteen, said processor comprising:
at least one systolic array formed from a plurality of processing elements, said plurality of processing elements comprising a plurality of complex multiplier processing elements and a plurality of complex adder processing elements, said plurality of complex multiplier processing elements in said at least one systolic array being limited in number to no more than N/4.
- 12. The digital processor architecture of claim 11, wherein said plurality of complex adder processing elements are organized into one or more sub arrays such that said one or more sub arrays have a first dimension comprising four complex adder processing elements and a second dimension comprising N/4 complex adder processing elements.
- 13. The digital processor architecture of claim 11, wherein said plurality of complex adder processing elements are not operable for multiplying functions other than unity multiplication.
- 14. The digital processor architecture of claim 11, further comprising:
said at least one systolic array is operable to perform a discrete Fourier transform having a transform length of n1 and also operable to perform a discrete Fourier transform of length n2, whereby N=n1 *n2.
- 15. The digital processor architecture of claim 11, wherein a structure of said one or more arrays has a structure based on equations of the form:
- 16. The digital processor architecture of claim 11, wherein said plurality of complex adder processing elements in said at least one systolic array is limited in number to no more than 2N.
- 17. A digital processor architecture for computing a discrete Fourier transform, said discrete Fourier transform wherein one or more matrices Z comprise frequency domain values and is equal to one or more matrices X of time domain values times one or more coefficient matrices, said digital processor architecture comprising:
at least one systolic array formed from a plurality of processing elements for said at least one systolic array, said plurality of processing elements comprising a plurality of complex multiplier processing elements and a plurality of complex adder processing elements; and said at least one systolic array having a structure based on equations of the form: Y=WtM·CM1X Z=CM2Yt wherein Y, WtM, CM1, and CM2 comprise one or more matrices and the matrix products CM1X and CM2Yt involve only or primarily complex number additions.
- 18. The digital processor architecture of claim 17, wherein CM1 and CM2 consists only of elements defined by the set {i, −i, 1, −1}.
- 19. The digital processor architecture of claim 17, wherein CM1 and CM2 consists only of elements defined by the set {1/sqrt(2)*(i+1), 1/sqrt(2)*(−i+1), 1/sqrt(2)*(i−1), 1/sqrt(2)*(−i−1), i, −i, 1, −1}.
- 20. The digital processor architecture of claim 17, further comprising memory structures external to said at least one systolic array that contain input values for X and coefficients CM2.
- 21. The digital processor architecture of claim 17, wherein said plurality of complex multiplier processing elements comprise memory structures capable of storing data values from matrix WtM.
- 22. The digital processor architecture of claim 17, wherein said plurality of complex multiplier processing elements are organized into a one-dimensional array having a length of N/4 complex processing elements where N is a transform length of said discrete Fourier transform.
- 23. The digital processor architecture of claim 17, wherein said plurality of complex adder processing elements are organized into one or more sub arrays of said at least one systolic array such that said one or more sub arrays has a first dimension comprising four complex adder processing elements and a second dimension comprising N/4 complex adder processing elements.
- 24. The digital processor architecture of claim 17, wherein said CM1X and CM2Yt involve only complex number additions.
- 25. The digital processor architecture of claim 17, further comprising memory structures external to said at least one systolic array that contain output values for Z and input coefficients CM1.
- 26. A digital processor architecture for computing a discrete Fourier transform, said discrete Fourier transform having a transform length N, said processor comprising:
at least one first systolic array comprising a first plurality of processing elements, said at least one systolic array being organized into one or more first subarrays, each first subarray having a number of processing elements equal to N divided by a base.
- 27. The digital processor architecture of claim 26, further comprising at least one second systolic array comprising a second plurality of processing elements, said at least one systolic array being organized into one or more second subarrays, each second subarray having a number of processors equal to the product of N divided by a base b times b and wherein N is an integer multiple of b2 and said base being equal to a power of two.
- 28. The digital processor architecture of claim 26, further comprising said at least one first systolic array being operable to perform a discrete Fourier transform having a transform length of n1 and also being operable to perform a discrete Fourier transform of length n2, whereby N=n1*n2.
- 29. The digital processor architecture of claim 28, further comprising shifting circuitry operable to provide shifts or rotations of matrix elements to support on-the-fly permutations of data for use in performing 2D discreet Fourier transforms.
- 30. A digital processor architecture for computing a discrete Fourier transform, said discrete Fourier transform having a transform length N, wherein N is an integer, said processor comprising:
at least one systolic array comprising a first plurality of processing elements; at least one multiplier subarray forming a portion of said at least one systolic array, said at least one multiplier array consisting of N divided by a base b linearly aligned multiplier systolic elements whereby N must be divisible by b2; and at least two complex adder subarrays, each of said at least two complex adder arrays with a first dimension consisting of N/b adder systolic elements, and a second dimension consisting of b adder systolic elements.
- 31. The digital processor architecture of claim 30, wherein b=4 and N is an integer multiple of 16.
- 32. The digital processor architecture of claim 30, wherein said adder systolic elements comprise complex adder elements and said multiplier systolic elements comprise complex multiplier elements.
- 33. A digital processor architecture for computing a discrete Fourier transform, said discrete Fourier transform having a transform length N, wherein N is an integer, said processor comprising:
at least one systolic array comprising a first plurality of processing elements; at least one multiplier subarray forming a portion of said at least one systolic array, said at least one multiplier array having a first dimension consisting of N/b multiplier systolic elements whereby b is a base and N must be divisible by b2; said at least one multiplier array having a second dimension consisting of N/b multiplier systolic elements; and at least one adder subarray forming a portion of said at least one systolic array, said at least one adder array comprising systolic elements which are at least primarily adder systolic elements, said at least one adder subarray consisting of an order of N times an order of N systolic elements.
- 34. The digital processor architecture of claim 33, wherein b=4 and N is an integer multiple of 16.
- 35. The digital processor architecture of claim 33, wherein said adder systolic elements comprise complex adder elements and said multiplier systolic elements comprise complex multiplier elements.
- 36. The digital processor architecture of claim 33, wherein said at least one adder subarray is in surrounding relationship to said at least one multiplier array.
- 37. A method for designing a digital processor architecture for computing a discrete Fourier transform wherein one or more matrices Z comprise frequency domain values and is equal to one or more matrices X of time domain values times one or more coefficient matrices C such that Z=CX, where C is a coefficient matrix containing elements WNkn=e−2*j*π*(n−1)*(k−1)/N, said method comprising:
providing at least one systolic array formed from a plurality of processing elements, said plurality of processing elements comprising a plurality of complex multiplier processing elements and a plurality of complex adder processing elements; transforming C into a desired base-b format by providing a permutation matrix P that reorders X and Z according to 14Xb=P[X1X2X3X4X5⋮X13X14X15XN]=[X1X1+N/4X1+N/2X1+3N/4X2⋮XN/bX2N/bX3N/bXN],and Zb=P Z . whereby C can be transformed into Cb=PCPt, so that Zb=CbXb; said at least one systolic array having an architectural structure based on an equation of the form Cb=PCPt where b is said desired base-b format.
- 38. The method of claim 37 wherein b=4.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 60/380,494 filed May 14, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60380494 |
May 2002 |
US |