Abstract:
The present invention discloses a fast Fourier transform (FFT) processor using a high speed area-efficient algorithm. The FFT processor is embodied by using the algorithm including a radix-4 butterfly module for receiving four input signals, and performing a butterfly operation thereon, and a radix-2 butterfly module connected to the radix-4 butterfly module, for performing the butterfly operation on the output signals from the radix-4 butterfly module. As a result, a number of nontrivial complex multipliers is reduced, to perform the FFT in a high speed in a small area.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a fast Fourier transform (FFT) processor, and in particular to an improved high speed area-efficient FFT processor.  
           [0003]    2. Description of the Related Art  
           [0004]    In general, a fast Fourier transform (FFT) transforms a time variation signal into a frequency variation signal, and an inverse fast Fourier transform (IFFT) transforms the frequency variation signal into the time variation signal. hi order to perform the FFT operation on a high speed digital signal in a real time, software embodied by a programmable digital signal processor (DSP), or a private use FFT processor is employed.  
           [0005]    Exemplary FFT operations are implemented in wireless LAN, asymmetrical digital subscriber line (ADSL), digital audio broadcasting (DAB), and orthogonal frequency division multiplexing (OFDM) of multi-carrier modulation (MCM).  
           [0006]    A communication method using a multi-carrier has been suggested in the multimedia radio data communication so as to provide data in various services and transmission speed. Here, the OFDM has been popularly used as a modulation method of the high speed radio data communication system because of high band efficiency and multi-path fading resistance.  
           [0007]    Basically, the OFDM converts serially-inputted data rows into N parallel data rows, and transmits the resultant data rows with divided subcarriers, thereby improving data efficiency.  
           [0008]    Here, the subcarriers must be appropriately selected to maintain an orthogonal property. The subcarriers are generated in a transmission/reception terminal by using IFFT and FFT processors. Accordingly, in order to implement high speed radio data communication like the OFDM, it is required to form a high speed FFT module. In addition, a size of the FFT processor must be reduced for portability in the radio data communication. The size of the FFT processor is increased according to the number of hardware devices such as multipliers, adders and registers.  
           [0009]    The Fourier transform performed when signals are represented by consecutive signal rows in a constant time period is a discrete Fourier transform (DFT).  
           [0010]    An N point DFT is represented by the following formula 1: 
           X        (   k   )       =       ∑     n   =   0       N   -   1                         x        (   n   )            W   N   nk           ,   n   ,     k   =   0     ,   1   ,   …              ,     N   -   1                           
 
           [0011]    Here, a twiddle factor  
         is                   W   N   i       =              -   j            2      π     N        nk       .                           
 
           [0012]    A process for multiplying the twiddle factor by an input data x(n) is divided into trivial multiplication and nontrivial multiplication according to an index (i).  
           [0013]    In the case of W 2 , W 4 , W 8  out of the twiddle factors, the multiplication can be converted into a trivial operation, and thus defined as the trivial multiplication. Conversely, when N is greater than 8, the multiplication is defined as the nontrivial multiplication.  
           [0014]    With respect to hardware, the trivial multiplication is implemented by using an adder and a shifter, and thus efficient in area. On the other hand, radix-2 3  algorithm which connects three radix-2 butterflies in a pipe line structure is one of the generally-known FFT algorithms.  
           [0015]    The radix-2 3  algorithm has advantages in area and throughput, by decreasing a number of the nontrivial multipliers according to a general index decomposition method.  
           [0016]    [0016]FIG. 1 illustrates a signal flow of a 64 point radix-2 3  algorithm, wherein a diamond mark (⋄) denotes the trivial multiplication, and a triangle mark (         ) denotes the nontrivial multiplication.  
           [0017]    [0017]FIG. 2 is a structure diagram illustrating a 64 point radix-2 3  multi-path delay commutator (MDC) pipeline FFT processor. Referring to FIG. 2, BF 2  denotes a radix-2 butterfly, and SW denotes a switch for reordering data. Reference numerals  16 ,  8 ,  4 ,  2 ,  1  denote delay units between the radix-2 butterflies BF 2  and the switches SW.  
           [0018]    In addition, W 4   i , W 8   i  denote trivial complex multipliers, and W 64   i  denotes a nontrivial complex multiplier. In general, the multiplier is implemented in the butterfly. However, in order to achieve better understanding of the present invention, the multiplier is displayed outside the butterfly as shown in FIG. 2.  
           [0019]    As illustrated in FIG. 2, in the radix-2 3  MDC pipeline FFT processor, the nontrivial multiplication is performed after the three radix-2 butterflies BF 2 .  
           [0020]    The number of the complex multipliers is reduced by using the radix-2 3  algorithm, and thus the area of the processor is considerably decreased. For example, the 64 point radix-2 butterfly requires 68 nontrivial complex multiplications, while the radix-2 3  butterfly requires 43 nontrivial complex multiplications.  
           [0021]    As compared with the general radix-2 butterfly, the radix-2 3  algorithm can reduce the number of the nontrivial complex multipliers. However, the radix-2 3  butterfly is embodied on the basis of the radix-2 butterfly operator, and thus has lower throughput than the algorithm based on higher radix butterfly operator such as the radix-4 or radix-8 butterfly operator.  
           [0022]    As a result, there is an increasing demand for the high speed area-efficient FFT processor for the high speed radio communication OFDM system.  
         SUMMARY OF THE INVENTION  
         [0023]    Accordingly, it is an object of the present invention to provide a fast Fourier transform processor using high speed area-efficient radix-4/2 algorithm which can reduce an area of the processor by minimizing a number of nontrivial complex multipliers, and use the radix-4 butterflies and the radix-2 butterflies in order.  
           [0024]    In order to achieve the above-described object of the present invention, there is provided a fast Fourier transform processor using a high speed area-efficient algorithm including: a radix-4 butterfly module for receiving four input signals, and performing a butterfly operation thereon; and a radix-2 butterfly module connected to the radix-4 butterfly module, for performing the butterfly operation on the output signals from the radix-4 butterfly module. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0025]    A more complete appreciation of the invention, and many of the attendant advantages thereof, will be readily apparent as the same becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference symbols indicate the same or similar components, wherein:  
         [0026]    [0026]FIG. 1 illustrates a signal flow of a 64 point radix-2 3  algorithm;  
         [0027]    [0027]FIG. 2 is a structure diagram illustrating a 64 point radix-2 3  multi-path delay commutator (MDC) pipeline FFT processor;  
         [0028]    [0028]FIG. 3 illustrates a signal flow of a 64 point radix-4/2 algorithm; and  
         [0029]    [0029]FIG. 4 is a structure diagram illustrating a 64 point radix-4/2 MDC pipeline FFT processor.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0030]    A fast Fourier transform (FFT) processor using a high speed area-efficient algorithm in accordance with a preferred embodiment of the present invention will now be described in detail with reference to the accompanying drawings.  
         [0031]    A high speed area-efficient algorithm in of the present invention is hereinafter referred to as radix-4/2 algorithm for convenience of explanation.  
         [0032]    The process for forming the radix-4/2 algorithm will now be explained. Firstly, a radix-4 butterfly and a radix-2 butterfly are selected in order, and decomposed by a three dimensional index map through an index decomposition method, a general method for introducing FFT algorithm, thereby obtaining following formula 2: 
               k   =         N   4          k   1       +       N   8          k   2       +     k   3         ,     0   ≤     k   1     &lt;   3     ,     0   ≤     k   2     &lt;   1     ,     0   ≤     k   3     &lt;       N   8     -   1                     n   =       n   1     +     4        n   2       +     n   3         ,     0   ≤     n   1     &lt;   3     ,     0   ≤     n   2     &lt;   1     ,     0   ≤     n   3     &lt;       N   8     -   1                                   
 
         [0033]    When the decomposed index is introduced to formula 1, formula 1 is equal to following formula 3:  
               X        (   k   )       =     X        (       k   1     +     4        k   2       +     8        k   3         )                   =       ∑       n   3     =   0         N   8     -   1                         ∑       n   2     =   0     1                       ∑       n   1     =   0     3                       x        (         N   4          n   1       +       N   8          n   2       +     n   3       )            W   N       (         N   4          n   1       +       N   8          n   2       +     n   3       )          (       k   1     +     4        k   2       +     8        k   3         )                             =       ∑       n   3     =   0         N   8     -   1                         ∑       n   2     =   0     1            {       [     BF4        (           N   8          n   2       +     n   3       ,     k   1       )       ]          W   N       (         N   8          n   2       +     n   3       )        k1         }          W   N       (         N   8          n   2       +     n   3       )          (       4        k   2       +     8        k   3         )                           =       ∑       n   3     =   0         N   8     -   1                         ∑       n   2     =   0     1                       [     BF4        (           N   8          n   2       +     n   3       ,     k   1       )       ]          W   N       (         N   8          n   2       +     n   3       )          (       k   1     +     4        k   2       +     8        k   3         )                                           
 
         [0034]    Here, a twiddle factor is represented by following formula 4: 
               W   N       (         N   8          n   2       +     n   3       )          (       k   1     +     4        k   2       +     8        k   3         )         =       W   N       Nn   2          k   3              W   N       N   8            n   2          (       k   1     +     4        k   2         )                W   N       n   3          (       k   1     +     4        k   2         )              W   N     8        n   3          k   3                       =       W   8       n   2          (       k   1     +     4        k   2         )              W   N       n   3          (       k   1     +     4        k   2         )              W     N   8         n   3          k   3                                       
 
         [0035]    Here,  
       W   8       n   2          (       k   1     +     4        k   2         )                             
 
         [0036]    is a trivial multiplication coefficient.  
         [0037]    Formula 4 is introduced to formula 3, to obtain following formula 5: 
               X        (   k   )       =     X        (       k   1     +     4        k   2       +     8        k   3         )                       =       ∑       n   3     =   0         N   8     -   1              [                  ∑       n   2     =   0     1            [         BF4        N   8          n   2       +     n   3       ,     k   1         )       ]          W   8     (       n   2          (       k   1     +     4        k   2         )                 ]          W   N     (       n   3          (       k   1     +     4        k   2         )                W     N   8         n   3     ,     k   3                     =       ∑       n   3     =   0         N   8     -   1              [       H        (       n   3     ,     k   1     ,     k   2       )            W   N       n   3          (       k   1     +     4        k   2         )           ]          W     N   8         n   3          k   3                                         
 
         [0038]    Here, H(n 3 ,k 1 ,k 2 ) is represented by following formula 6: 
               H        (       n   3     ,     k   1     ,     k   2       )       =       ∑       n   2     =   0     1                       [     BF4        (           N   8          n   2       +     n   3       ,     k   1       )       ]          W   8     (       n   2          (       k   1     +     4        k   2         )                           =       BF4        (       n   3     ,     k   1       )       +       BF4        (         n   3     +     N   8       ,     k   1       )            W   8     (       k   1     +     4        k   2         )                                       
 
         [0039]    As shown in formula 6, the radix-4/2 algorithm is embodied by one radix-4 DIF butterfly operator and one radix-2 DIF butterfly operator, and includes the trivial multiplication of W 8 .  
         [0040]    Referring to FIG. 3 which illustrates a signal flow graph of the 64 point radix-4/2 algorithm, a diamond mark (⋄) denotes the trivial multiplication, and a triangle mark (         ) denotes the nontrivial multiplication. A nontrivial complex multiplication is performed after sequentially performing one radix-4 butterfly operation and one radix-2 butterfly operation. In addition, as compared with the 64 point radix-2 3  algorithm of FIG. 1, the number of the nontrivial multiplications (         ) is considerably reduced.  
         [0041]    The FFT processor using the radix-4/2 algorithm in accordance with the present invention will now be described. In general, the FFT processor is embodied as a hardware by using a single butterfly operator structure, a pipeline structure or a parallel structure. The parallel structure is advantageous in throughput, but very complicated in hardware. On the other hand, the single butterfly operator structure is less complicated, but has low throughput. The FFT processor for the wireless LAN system must have high throughput for a high speed operation and little complicity for portability. According to the preferred embodiments of the present invention, the FFT processor is embodied in the pipeline structure having satisfactory throughput and complicity.  
         [0042]    As the pipeline fast Fourier transform processor, there are a Multi-path Delay Commutator (MDC) fast Fourier transform processor, a Single-path Delay Feedback (SDF) fast Fourier transform processor and a Single-path Delay Commutator (SDC) fast Fourier transform processor. Among these, the MDC fast Fourier transform processor will be explained in the present embodiment.  
         [0043]    Referring to FIG. 4 which illustrates a 64 point radix-4/2 MDC pipeline FFT processor, BF 2  denotes a radix-2 butterfly, BF 4  denotes a radix-4 butterfly, and SW denotes a switch for reordering data. Delay units  1 ,  2 ,  3 ,  4 ,  8  and  12  are positioned respectively among the radix-4 butterflies BF 4 , the radix-2 butterflies BF 2  and the switches SW. In addition, W 8   i  denotes a trivial complex multiplier, and W 64   i  denotes a nontrivial complex multiplier.  
         [0044]    In general, the multiplier is implemented in the butterfly. However, in order to achieve better understanding of the present invention, the multiplier is displayed outside the butterfly as shown in FIG. 4. In the radix-4/2 MDC pipeline FFT processor, the nontrivial multiplication is performed after the radix-4 butterfly BF 4  and the radix-2 butterfly BF 2 . On the other hand, when the 64 point radix-4/2 MDC pipeline FFT processor in FIG. 4 is compared with the 64 point radix-2 3  MDC pipeline FFT processor in FIG. 2, the radix-4/2 FFT processor receives 4 point input data through an input terminal, and thus has higher speed than the radix-2 3  FFT processor receiving 2 point input data by two times.  
         [0045]    In this embodiment, the 64 point radix-4/2 algorithm is embodied in the MDC pipeline FFT processor. However, it is merely one example that the algorithm is applied to the FFT processor.  
         [0046]    Although the preferred embodiment of the present invention has been described, it is understood that the present invention should not be limited to this preferred embodiment but various changes and modifications can be made by one skilled in the art within the spirit and scope of the present invention as hereinafter claimed.  
         [0047]    As discussed earlier, the FFT processor using the high speed area-efficient algorithm has the following advantages. The 64 point radix-4/2 algorithm reduces the number of the nontrivial complex multipliers more than the general radix-4 or radix-2 algorithm by about 33%, and thus is efficient in area. In addition, the radix-4/2 algorithm is embodied on the basis of the radix-4, thereby operating four input data at a time. Accordingly, the radix-4/2 algorithm increases the throughput more than the general radix-2 3  algorithm operating two data at a time by two times. As a result, the radix-4/2 algorithm can perform a high speed operation. Moreover, the MDC pipeline FFT processor using the radix-4/2 algorithm is efficient in speed and area, and thus suitable for the high speed radio communication modulation such as the OFDM.