<< Chapter < Page Chapter >> Page >

The Winograd Structure can be described in this manner also. Suppose M ( s ) can be factored as M ( s ) = M 1 ( s ) M 2 ( s ) where M 1 and M 2 have no common roots, then C M C M 1 C M 2 where denotes the matrix direct sum. Using this similarity and recalling [link] , the original convolution is decomposed intodisjoint convolutions. This is, in fact, a statement of the Chinese Remainder Theoremfor polynomials expressed in matrix notation. In the case of circular convolution, s n - 1 = d | n Φ d ( s ) , so that S n can be transformed to a block diagonal matrix,

S n C Φ 1 C Φ d C Φ n = d | n C Φ d

where Φ d ( s ) is the d t h cyclotomic polynomial. In this case, each block represents a convolutionwith respect to a cyclotomic polynomial, or a `cyclotomic convolution'.Winograd's approach carries out these cyclotomic convolutions using the Toom-Cook algorithm.Note that for each divisor, d , of n there is a corresponding block on the diagonal of size φ ( d ) , for the degree of Φ d ( s ) is φ ( d ) where φ ( · ) is the Euler totient function. This method is good for short lengths, butas n increases the cyclotomic convolutions become cumbersome,for as the number of distinct prime divisors of d increases, the operation described by k h k C Φ d k becomes more difficult to implement.

The Agarwal-Cooley Algorithm utilizes the fact that

S n = P t S n 1 S n 2 P

where n = n 1 n 2 , ( n 1 , n 2 ) = 1 and P is an appropriate permutation [link] . This converts the one dimensional circular convolutionof length n to a two dimensional one of length n 1 along one dimension and length n 2 along the second.Then an n 1 -point and an n 2 -point circular convolution algorithm can be combined to obtain an n -point algorithm. In polynomial notation, the mapping accomplished bythis permutation P can be informally indicated by

Y ( s ) = X ( s ) H ( s ) s n - 1 P Y ( s , t ) = X ( s , t ) H ( s , t ) s n 1 - 1 , t n 2 - 1 .

It should be noted that [link] implies that a circulant matrix of size n 1 n 2 can be written as a block circulant matrix with circulantblocks.

The Split-Nesting algorithm [link] combines the structures of the Winograd and Agarwal-Cooley methods, so that S n is transformed to a block diagonalmatrix as in [link] ,

S n d | n Ψ ( d ) .

Here Ψ ( d ) = p | d , p P C Φ H d ( p ) where H d ( p ) is the highest power of p dividing d , and P is the set of primes.

S 45 1 C Φ 3 C Φ 9 C Φ 5 C Φ 3 C Φ 5 C Φ 9 C Φ 5

In this structure a multidimensional cyclotomic convolution, represented by Ψ ( d ) , replaces each cyclotomic convolution in Winograd's algorithm (represented by C Φ d in [link] . Indeed, if the product of b 1 , , b k is d and they are pairwise relatively prime, then C Φ d C Φ b 1 C Φ b k . This gives a method for combining cyclotomic convolutionsto compute a longer circular convolution. It is like the Agarwal-Cooley method but requires feweradditions [link] .

Prime factor permutations

One can obtain S n 1 S n 2 from S n 1 n 2 when ( n 1 , n 2 ) = 1 , for in this case, S n is similar to S n 1 S n 2 , n = n 1 n 2 . Moreover, they are related by a permutation.This permutation is that of the prime factor FFT algorithms and is employed in nesting algorithmsfor circular convolution [link] , [link] . The permutation is described by Zalcstein [link] , among others, and it is his description we draw on in the following.

Let n = n 1 n 2 where ( n 1 , n 2 ) = 1 . Define e k , ( 0 k n - 1 ), to be the standard basis vector, ( 0 , , 0 , 1 , 0 , , 0 ) t , where the 1 is in the k t h position. Then, the circular shift matrix, S n , can be described by

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Automatic generation of prime length fft programs. OpenStax CNX. Sep 09, 2009 Download for free at http://cnx.org/content/col10596/1.4
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Automatic generation of prime length fft programs' conversation and receive update notifications?

Ask