1. Field of the Invention
The invention relates to a Fast Fourier Transform (FFT) apparatus, and more particularly, to a variable length FFT apparatus based on a split-radix based FFT unit.
2. Description of the Prior Art
The Fast Fourier Transform (FFT), which recursively breaks a discrete Fourier transform (DFT) into many smaller DFTs of smaller sizes, is an efficient algorithm for computing the DFT. Therefore FFT is highly important in a wide variety of applications, from digital signal processing to orthogonal frequency division multiplexing (OFDM) systems,such as digital audio broadcasting (DAB), wireless LAN and ADSL.
There has always been a tendency to further decrease the complexity and shorten the calculating time of an FFT computation. It turns out that the lowest count can be achieved by using a modification of a split radix FFT algorithm, for example, a conventional radix-2/4/8 FFT as shown in
Although the radix-2/4/8 FFT unit 200 has the above-mentioned advantages, it can only perform 8n-point FFT, that is, the FFT length that the radix-2/4/8 FFT unit 200 can handle is fixed and limited. However, the FFT length required in a communication system always varies. For example, there are four modes in digital audio broadcasting systems, and each mode requires a different length of FFT computation, such as 2048, 512, 256 or 1024. These FFT lengths are not all powers of 8; therefore the radix-2/4/8 FFT unit 200 cannot be implemented directly in the digital audio broadcasting systems.
To solve this problem and extend the application field of the radix-2/4/8 FFT, a conventional variable length FFT apparatus 300 shown in
One objective of the claimed invention is therefore to provide a variable length FFT apparatus and a method thereof. The variable length FFT apparatus of the present invention has a simple structure and is flexible for any FFT size.
According to an exemplary embodiment of the invention, an FFT apparatus for performing an FFT computation on N input data comprises a split-radix based FFT unit and a multiplexing unit. The split-radix based FFT unit comprises a plurality of processing elements cascaded in a series. The multiplexing unit is coupled to the split-radix based FFT unit, and is for selectively bypassing at least one of the processing elements according to a value of N when the split-radix based FFT unit performs the FFT computation on the N input data.
According to another exemplary embodiment of the invention, an FFT apparatus for performing an FFT computation on N input data comprises a split-radix based FFT unit and a multiplexing unit. The split-radix based FFT unit comprises a plurality of processing elements cascaded in a series. The multiplexing unit is coupled to the split-radix based FFT unit, and is for selectively outputting the N input data or an output of a specific processing element as an input of a final processing element of the split-radix based FFT unit according to a value of N when the split-radix based FFT unit performs an FFT computation on the N input data, wherein the specific processing element precedes the specific processing element.
According to another exemplary embodiment of the invention, a method for performing an FFT computation on N input data by utilizing a split-radix based FFT unit comprising a plurality of processing elements is disclosed. The method comprises selectively bypassing at least one of the processing elements according to a value of N when the split-radix based FFT unit performs the FFT computation on the N input data.
According to another exemplary embodiment of the invention, a method for performing an FFT computation on N input data by utilizing a split-radix based FFT unit comprising a plurality of processing elements is disclosed. The method comprises selectively outputting the N input data or an output of a specific processing element as an input of a final processing element of the split-radix based FFT unit according to a value of N when the split-radix based FFT unit performs an FFT computation on the N input data, wherein the specific processing element precedes the specific processing element.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . ” The terms “couple” and “couples” are intended to mean either an indirect or a direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
The present invention is based on a split-radix based FFT unit and an observation that, by bypassing some processing elements in the split-radix based FFT unit, the remaining processing elements will recombine to become an FFT unit having specific characteristics that is able to perform an FFT computation on input data of a specific size. Taking radix-2/4/8 FFT shown in
This can be carried out by PE1210 and PE3230 of the radix-2/4/8 FFT unit 200 as shown in
Moreover, since PE3230 itself is a radix 2 FFT unit, when PE1210 and PE2220 are bypassed, the radix-2/4/8 FFT unit 200 will work as a radix 2 FFT unit which performs the FFT computation on input data with a size of two.
According to the operational principle disclosed above, a variable length FFT apparatus can be accomplished based on the split-radix based FFT unit.
The multiplexing unit is for selectively bypassing at least one of the processing elements (for example, PE1 or PE2 in this embodiment) according to the length of input data when the split-radix based FFT unit performs the FFT computation on the input data. In this embodiment, the multiplexing unit comprises a first multiplexer 510 and a second multiplexer 530. The first multiplexer (MUX1) 510 is for selectively bypassing the PE1520, and the second multiplexer (MUX2) 530 is for selectively bypassing the PE2540. Note that the number and the position of the multiplexers depends on the design requirements of the FFT apparatus 500, that is, the number of the multiplexers is not fixed but adjustable, and the configuration of the multiplexing unit shown in
For example, when the split-radix based FFT unit is a radix-2/4/8 FFT unit, the functions of PE1520, PE2540 and PE3550 are the same as those of PE1210, PE2220 and PE3230 mentioned above. Therefore, by selectively bypassing PE2540 or a combination of PE1520 and PE2540, the FFT apparatus 500 can perform the FFT computation on any input data having a size equal to a power of two. For example, when N input data is input to the FFT apparatus 500 and N is 2 to the power of (3k+1), where k is an integer (e.g. k=3 and N=2(3k+1)=1024), the N input data is first fed into the first multiplexer 510, and the first multiplexer 510 delivers the N input data to the second multiplexer 530. Then the second multiplexer 530 delivers the N input data to the PE3550 to perform the radix 2 FFT computation on the N input data. After being processed by the PE3550, the N input data is broken into two parts both having a size equal to 23k. Hence, the processed input data can be delivered to the input end of the FFT apparatus 500 from the output of the PE3550 for further FFT computation carried out by the radix-2/4/8 FFT unit composed of the PE1520, PE2540 and PE3550 sequentially (at this time, the first multiplexer 510 delivers the processed input data to the PE1520, and the second multiplexer 530 delivers the output of the PE1520 to the PE2540), until the process of FFT computation is finished.
In another case where N is 2 to the power of (3k+2), and k is an integer (e.g. k=3 and N=2(3k+2)=2048), the first multiplexer 510 delivers the N input data to the PE1520, while the second multiplexer 530 bypasses PE2540 and delivers the output of the PE1520 to the PE3550. As mentioned above, PE1520 together with PE3550 form a radix 2/4 FFT unit, therefore, the N input data is broken into two parts both having a length equal to 23k. Hence, the processed input data can be delivered to the input end of the FFT apparatus 500 for further FFT computation carried out by the PE1520, PE2540 and PE3550 sequentially until the process of FFT computation is finished. Similarly, if N is 2 to the power of 3k, and k is an integer (e.g. k=3 and N=23k=512), the first multiplexer 510 delivers the N input data to the PE1520, and the second multiplexer 530 delivers the output of the PE1520 to the PE2540 to let the N input data be processed by PE1520, PE2540 and PE3550 sequentially, which in fact is equivalent to a radix-2/4/8 FFT computation.
The multiplexing unit is for selectively outputting the N input data or an output of a specific processing element as an input of a final processing element (e.g. PE3650 in this embodiment) of the split-radix based FFT unit according to a value of N, wherein the specific processing element precedes the final processing element. In this embodiment, the multiplexing unit comprises a first multiplexer 620 and a second multiplexer 640. The first multiplexer 620 is for selectively outputting the N input data or an output of the PE1610 to the PE2630, and the second multiplexer 640 is for selectively outputting an output of the PE2630 or an output of the first multiplexer 620 to the PE3650. Note that the number and the position of the multiplexers depend on the design requirements of the FFT apparatus 600, that is, the number of the multiplexers is not fixed but adjustable, and the configuration of the multiplexing unit shown in
Different from the FFT apparatus 500 in
Similarly, if N is 2 to the power of (3k+2), and k is an integer, the first multiplexer 620 outputs the calculation result of the PE1610 (i.e. the N input data processed by the PE1610), and the second multiplexer 640 outputs the output of the first multiplexer 620 as the input of the PE3650. In this way, the calculation result of the PE2630 is omitted, and the objective of bypassing the PE2630 is accomplished. Furthermore, when N is 2 to the power of 3k, and k is an integer, the calculation results of PE1610 and PE2630 will not be omitted, which means that the first multiplexer 620 outputs the calculation result of the PE1610 to the PE2630 and the second multiplexer 640, and the second multiplexer 640 outputs the calculation result of the PE2630 as the input of the PE3650 to achieve a radix-2/4/8 FFT computation.
Compared to the conventional radix-2/4/8 FFT unit 200 which can only handle input data having a size equal to a power of eight, the FFT apparatus 500 and 600 are flexible for any FFT size. As for the FFT apparatus 300, the FFT apparatus 500 and 600 have simpler structures where more memory space is saved and the computation time of multiplying the output of a butterfly by the twiddling factor is reduced. Moreover, a coordinate rotation digital computer (Cordic) algorithm can be implemented in the above embodiments of the present invention to replace the multiplications of the twiddling factors with additions and subtractions in order to further reduce computation time spent on performing the FFT computation. Since the implementation of the Cordic algorithm in the FFT computation is familiar to those skilled in the art, further description is omitted here for brevity.
Please note that, although the above embodiments take the radix-2/4/8 FFT as an example to introduce the spirit of the invention, this is not meant to be a limitation of the implementation of the invention. Other split-radix based FFT unit may also be utilized in another embodiment of the invention. This still obeys the spirit of the present invention.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.