Architecture for two dimensional fast fourier transform
First Claim
1. A pipelined and parallel system for implementing a two dimensional fast fourier transform on an array of input data values, with the transformation being performed by a plurality of serially arranged pass stages, with each pass stage comprising,a. shuffle means for receiving an ordered set of input data for that pass stage and for performing a shuffle operation thereon to produce a shuffled order of input data, with the first pass stage receiving an ordered set of input data from a row or column of a two dimensional matrix of such input data values, and pass stages subsequent to the first pass stage receiving an ordered set of input data from the preceding pass stage;
- andb. a plurality of identical switching circuit means coupled in parallel to receive the shuffled order of input data, each switching circuit means including an arithmetic logic unit with four inputs for receiving four input data values and including means for performing four data transformations of the four input data values to produce four output data values, said means for performing each of the four data transformations including a first means for performing a first operation of selective addition or subtraction of the four input data values, followed by a second means for performing a second operation of selective multiplication by an exponential multiplier.
3 Assignments
0 Petitions
Accused Products
Abstract
A novel architecture and circuitry for implementing a new fast fourier transform algorithm which does not require a very large core memory and also does not require a transpose of a matrix. A pipelined and parallel architecture implements the two dimensional fast fourier transform on an array of input data values, with the transformation being performed by a plurality of serially arranged pass stages. Each pass stage includes an input shuffle arrangement for receiving an ordered set of input data from a row or column of a two dimensional matrix of such input data values, and for performing a shuffle operation thereon to produce a shuffled order of the input data. Each pass stage further includes a plurality of identical switching circuits coupled in parallel to receive the shuffled order of input data. Each switching circuit includes an arithmetic logic unit which receives four input data values and performs four data transformations thereon to produce four output data values, with each of the four data transformations including a first operation of selective addition or subtraction of the four input data values, followed by a second operation of selective multiplication by an exponential multiplier.
43 Citations
14 Claims
-
1. A pipelined and parallel system for implementing a two dimensional fast fourier transform on an array of input data values, with the transformation being performed by a plurality of serially arranged pass stages, with each pass stage comprising,
a. shuffle means for receiving an ordered set of input data for that pass stage and for performing a shuffle operation thereon to produce a shuffled order of input data, with the first pass stage receiving an ordered set of input data from a row or column of a two dimensional matrix of such input data values, and pass stages subsequent to the first pass stage receiving an ordered set of input data from the preceding pass stage; - and
b. a plurality of identical switching circuit means coupled in parallel to receive the shuffled order of input data, each switching circuit means including an arithmetic logic unit with four inputs for receiving four input data values and including means for performing four data transformations of the four input data values to produce four output data values, said means for performing each of the four data transformations including a first means for performing a first operation of selective addition or subtraction of the four input data values, followed by a second means for performing a second operation of selective multiplication by an exponential multiplier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
3. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 2, wherein, for a two dimensional array of N by N data values, the first pass stage performs window data operations on sets of data values arranged in window sizes N/2 by N/2, and the second pass stage performs window data operations on sets of data values arranged in window sizes N/22 by N/22, and the ith pass stage performs window data operations on sets of data values arranged in window sizes N/2i by N/2i, and the last pass stage performing window data operations on sets of data values arranged in a 1 by 1 data window size, wherein the window data sizes in each pass stage are decreased in half in that pass stage, with the shuffle means in each pass stage decreasing the window data size in half in a first direction, and the switching circuit means in each pass stage decreasing the window data size in half in a second direction.
-
4. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 3, wherein each switching circuit means includes two input data lines, a set of two synchronous delay lines, and a set of two input synchronous switches for switching input data on the two input data lines into either the arithmetic logic unit of that switching circuit means or into the set of two synchronous delay lines in that switching circuit means, two output data lines, and a set of two output synchronous switches, coupled to the arithmetic logic unit of that switching circuit means and further coupled to the set of two synchronous delay lines, for switching input data from the delay lines and from the arithmetic logic unit either to the two data output lines or as data inputs to the arithmetic logic unit.
-
5. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 4, wherein for each switching circuit means in each ith pass, the two synchronous delay lines therein have delays of N/2i, and further including means for simultaneously and synchronously switching the two input synchronous switches and two output synchronous switches after each delay of N/2i.
-
6. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 1, wherein, for a two dimensional array of N by N data values, the first pass stage performs window data operations on sets of data values arranged in window sizes N/2 by N/2, and the second pass stage performs window data operations on sets of data values arranged in window sizes N/22 by N/22, and the ith pass stage performs window data operations on sets of data values arranged in window sizes N/2i by N/2i, and the last pass stage performing window data operations on sets of data values arranged in a 1 by 1 data window size, wherein the window data sizes in each pass stage are decreased in half in that pass stage, with the shuffle means in each pass stage decreasing the window data size in half in a first direction, and the switching circuit means in each pass stage decreasing the window data size in half in a second direction.
-
7. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 1, wherein each switching circuit means includes two input data lines, a set of two synchronous delay lines, and a set of two input synchronous switches for switching input data on the two input data lines into either the arithmetic logic unit of that switching circuit means or into the set of two synchronous delay lines in that switching circuit means, two output data lines, and a set of two output synchronous switches, coupled to the arithmetic logic unit of that switching circuit means and further coupled to the set of two synchronous delay lines, for switching input data from the delay lines and from the arithmetic logic unit either to the two data output lines or as data inputs to the arithmetic logic unit.
-
8. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 7, wherein for each switching circuit means in each ith pass, the two synchronous delay lines therein have delays of N/2i, and further including means for simultaneously and synchronously switching the two input synchronous switches and two output synchronous switches after each delay of N/2i.
-
9. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 1, wherein said plurality of identical switching circuit means are synchronous switching circuits controlled by a common clock.
- and
-
10. A circuit for implementing a two dimensional fast fourier transform on an array of N by N input data values, comprising:
-
a. a plurality of serially arranged pass stage circuits for performing the transformation, with each successive pass stage circuit performing window data operations on successively smaller data windows, in which the first pass stage circuit includes means for performing window data operations on sets of data values arranged in window sizes N/2 by N/2, and the second pass stage circuit includes means for performing window data operations on sets of data values arranged in window sizes N/22 by N/22, and the ith pass stage circuit includes means for performing window data operations on sets of data values arranged in window sizes N/2i by N/2i, and the last pass stage circuit includes means for performing window data operations on data values arranged in a 1 by 1 data window; and b. said means for performing in each pass stage circuit including a plurality of parallel arranged arithmetic logic units for performing data operations in parallel, each arithmetic logic unit having four input data lines for receiving four input data values for that pass stage circuit, with the first pass stage receiving an ordered set of input data from a row or column of a two dimensional matrix of such input data values, and pass stages subsequent to the first pass stage receiving an ordered set of input data from the preceding pass stage, and means for performing four data transformations on the four input data values to produce four output data values, said means for performing each of the four data transformations including a first means for performing a first operation of selective addition or subtraction of the four input data values, followed by a second means for performing a second operation of selective multiplication by an exponential multiplier. - View Dependent Claims (11, 12, 13, 14)
-
12. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 11, wherein each switching circuit means includes two input data lines, a set of two synchronous delay lines, and a set of two input synchronous switches for switching input data on the two input data lines into either the arithmetic logic unit of that switching circuit means or into the set of two synchronous delay lines in that switching circuit means, two output data lines, and set of two output synchronous switches, coupled to the arithmetic logic unit of that switching circuit means and further coupled to the set of two synchronous delay lines, for switching input data from the delay lines and from the arithmetic logic unit either to the two data output lines or as data inputs to the arithmetic logic unit.
-
13. A pipelined and parallel architecture for implementing a two dimensional fast fourier transform as claimed in claim 12, wherein for each switching circuit means in each ith pass, the two synchronous delay lines therein have delays of N/2i, and further including means for simultaneously and synchronously switching the two input synchronous switches and two output synchronous switches after each delay of N/2i.
-
14. A pipelined and parallel system for implementing a two dimensional fast fourier transform as claimed in claim 10, wherein each switching circuit means includes two input data lines, a set of two synchronous delay lines, and a set of two input synchronous switches for switching input data on the two input data lines into either the arithmetic logic unit of that switching circuit means or into the set of two synchronous delay lines in that switching circuit means, two output data lines, and a set of two output synchronous switches, coupled to the arithmetic logic unit of that switching circuit means and further coupled to the set of two synchronous delay lines, for switching input data from the delay lines and from the arithmetic logic unit either to the two data output lines or as data inputs to the arithmetic logic unit.
-
Specification