<< Chapter < Page Chapter >> Page >

The winograd fourier transform algorithm

The Winograd Fourier transform algorithm (WFTA) uses a very powerful property of the Type-1 index map and the DFT to give afurther reduction of the number of multiplications in the PFA. Using an operator notation where F 1 represents taking row DFT's and F 2 represents column DFT's, the two-factor PFA of [link] is represented by

X = F 2 F 1 x

It has been shown [link] , [link] that if each operator represents identical operations on each row or column,they commute. Since F 1 and F 2 represent length N 1 and N 2 DFT's, they commute and [link] can also be written

X = F 1 F 2 x

If each short DFT in F is expressed by three operators as in Winograd’s Short DFT Algorithms: Equation 8 and Winograd’s Short DFT Algorithms: Figure 2 , F can be factored as

F = A T D A

where A represents the set of additions done on each row or column that performs the residue reduction as Winograd’s Short DFT Algorithms: Equation 30 . Because of the appearance of the flow graph of A and because it is the first operator on x , it is called a preweave operator [link] . D is the set of M multiplications and A T (or B T or C T ) from Winograd’s Short DFT Algorithms: Equation 5 or Winograd’s Short DFT Algorithms: Equation 6 is the reconstruction operator called the postweave. Applying [link] to [link] gives

X = A 2 T D 2 A 2 A 1 T D 1 A 1 x

This is the PFA of [link] and [link] where A 1 D 1 A 1 represents the row DFT's on the array formed from x . Because these operators commute, [link] can also be written as

X = A 2 T A 1 T D 2 D 1 A 2 A 1 x

or

X = A 1 T A 2 T D 2 D 1 A 2 A 1 x

but the two adjacent multiplication operators can be premultiplied and the result represented by oneoperator D = D 2 D 1 which is no longer the same for each row or column. Equation [link] becomes

X = A 1 T A 2 T D A 2 A 1 x

This is the basic idea of the Winograd Fourier transform algorithm. The commuting of the multiplication operators together in the centerof the algorithm is called nesting and it results in a significant decrease in the number of multiplications that must be done at theexecution of the algorithm. Pictorially, the PFA of [link] becomes [link] the WFTA in [link] .

This is a three dimensional figure of six stacks of four-sided two dimensional shapes. Through the shapes are an assortment of horizontal, parallel lines, roughly the same length, and passing through completely from one side of the figure to the other. The stacked shapes will be described from left to right. The first stack is of a set of 5 rectangles each labeled with a +, oriented so that their + sign in the center of the rectangle is pointed up. The second stack is three four-sided shapes also labeled, +, with the label facing diagonally towards the forward and left side of the figure. The third stack is a series of six rectangles labeled X, with the label and shapes facing up. The fourth stack is three long rectangles labeled X facing directly forward. The fifth stack is three rectangles labeled, +, facing diagonally forward and towards the right. The sixth stack is five rectangles labeled + and facing up, identical in appearance to the first stack. This is a three dimensional figure of six stacks of four-sided two dimensional shapes. Through the shapes are an assortment of horizontal, parallel lines, roughly the same length, and passing through completely from one side of the figure to the other. The stacked shapes will be described from left to right. The first stack is of a set of 5 rectangles each labeled with a +, oriented so that their + sign in the center of the rectangle is pointed up. The second stack is three four-sided shapes also labeled, +, with the label facing diagonally towards the forward and left side of the figure. The third stack is a series of six rectangles labeled X, with the label and shapes facing up. The fourth stack is three long rectangles labeled X facing directly forward. The fifth stack is three rectangles labeled, +, facing diagonally forward and towards the right. The sixth stack is five rectangles labeled + and facing up, identical in appearance to the first stack.
A Length-15 WFTA with Nested Multiplications

The rectangular structure of the preweave addition operators causes an expansion of the data in the center of the algorithm. The15 data points in [link] become 18 intermediate values. This expansion is a major problem in programming the WFTA because itprevents a straightforward in-place calculation and causes an increase in the number of required additions and in the number ofmultiplier constants that must be precalculated and stored.

From [link] and the idea of premultiplying the individual multiplication operators, it can be seen why the multiplications byunity had to be considered in Winograd’s Short DFT Algorithms: Table 1 . Even if a multiplier in D 1 is unity, it may not be in D 2 D 1 . In [link] with factors of three and five, there appear to be 18 multiplications requiredbecause of the expansion of the length-5 preweave operator, A 2 , however, one of multipliers in each of the length three and fiveoperators is unity, so one of the 18 multipliers in the product is unity. This gives 17 required multiplications - a rather impressivereduction from the 15 2 = 225 multiplications required by direct calculation. This number of 17 complex multiplications will requireonly 34 real multiplications because, as mentioned earlier, the multiplier constants are purely real or imaginary while the 225complex multiplications are general and therefore will require four times as many real multiplications.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Fast fourier transforms. OpenStax CNX. Nov 18, 2012 Download for free at http://cnx.org/content/col10550/1.22
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Fast fourier transforms' conversation and receive update notifications?

Ask