<< Chapter < Page Chapter >> Page >

Corollary: If the modulus polynomial is P ( s ) = s N - 1 , then 2 N - t ( N ) multiplications are necessary to compute x ( s ) h ( s ) modulo P ( s ) , where t ( N ) is the number of positive divisors of N .

Theorem 5 is very general since it allows a general modulus polynomial. The proof of the upper boundinvolves reducing x ( s ) and h ( s ) modulo the k factors of P ( s ) . Each of the k irreducible residue polynomials is then multiplied using the method of Theorem 4 requiring 2 N i - 1 multiplies and the products are combined using the CRT. The total number of multiplies from the k parts is 2 N - k . The theorem also states the structure of these optimal algorithms is essentiallyunique. The special case of P ( s ) = s N - 1 is interesting since it corresponds to cyclic convolution and, as stated in the corollary, k is easily determined. The factors of s N - 1 are called cyclotomic polynomials and have interesting properties [link] , [link] , [link] .

Theorem 6 [link] , [link] Consider calculating the DFT of a prime length real-valued number sequence. If G is chosen as the field of rational numbers, the number of realmultiplications necessary to calculate a length-P DFT is u ( D F T ( N ) ) = 2 P - 3 - t ( P - 1 ) where t ( P - 1 ) is the number of divisors of P - 1 .

This theorem not only gives a lower limit on any practical prime length DFT algorithm, it also gives practicalalgorithms for N = 3 , 5 , and 7. Consider the operation counts in [link] to understand this theorem. In addition to the real multiplications counted by complexity theory, each optimalprime-length algorithm will have one multiplication by a rational constant. That constant corresponds to the residue modulo (s-1)which always exists for the modulus P ( s ) = s N - 1 - 1 . In a practical algorithm, this multiplication must be carried out, andthat accounts for the difference in the prediction of Theorem 6 and count in [link] . In addition, there is another operation that for certain applications must be counted as amultiplication. That is the calculation of the zero frequency term X ( 0 ) in the first row of the example in The DFT as Convolution or Filtering: Matrix 1 . For applications to the WFTA discussed in The Prime Factor and Winograd Fourier Transform Algorithms: The Winograd Fourier Transform Algorithm , that operation must be counted as a multiply. For lengths longer than 7,optimal algorithms require too many additions, so compromise structures are used.

Theorem 7 [link] , [link] If G is chosen as the field of rational numbers, the number of real multiplicationsnecessary to calculate a length-N DFT where N is a prime number raised to an integer power: N = P m , is given by

u ( D F T ( N ) ) = 2 N - ( ( m 2 + m ) / 2 ) t ( P - 1 ) - m - 1

where t ( P - 1 ) is the number of divisors of ( P - 1 ) .

This result seems to be practically achievable only for N = 9 , or perhaps 25. In the case of N = 9 , there are two rational multiplies that must be carried out and arecounted in [link] but are not predicted by Theorem 7 . Experience [link] indicates that even for N = 25 , an algorithm based on a Cooley-Tukey FFT using a type 2 index map givesan over-all more balanced result.

Theorem 8 [link] If G is chosen as the field of rational numbers, the number of real multiplications necessary tocalculate a length-N DFT where N = 2 m is given by

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