<< Chapter < Page Chapter >> Page >

First, consider n = p , a prime. Let

X ( s ) = x 0 + x 1 s + + x p - 1 s p - 1

and recall s p - 1 = ( s - 1 ) ( s p - 1 + s p - 2 + + s + 1 ) = Φ 1 ( s ) Φ p ( s ) . The residue X ( s ) Φ 1 ( s ) is found by summing the coefficients of X ( s ) .The residue X ( s ) Φ p ( s ) is given by k = 0 p - 2 ( x k - x p - 1 ) s k . Define R p to be the matrix that reduces X ( s ) modulo Φ 1 ( s ) and Φ p ( s ) , such thatif X 0 ( s ) = X ( s ) Φ 1 ( s ) and X 1 ( s ) = X ( s ) Φ p ( s ) then

X 0 X 1 = R p X

where X , X 0 and X 1 are vectors formed from the coefficients of X ( s ) , X 0 ( s ) and X 1 ( s ) . That is,

R p = 1 1 1 1 1 1 - 1 1 - 1 1 - 1 1 - 1

so that R p = 1 - 1 G p where G p is the Φ p ( s ) reduction matrix of size ( p - 1 ) × p . Similarly,let X ( s ) = x 0 + x 1 s + + x p e - 1 s p e - 1 and define R p e to be the matrix that reduces X ( s ) modulo Φ 1 ( s ) , Φ p ( s ) , ..., Φ p e ( s ) such that

X 0 X 1 X e = R p e X ,

where as above, X , X 0 , ..., X e are the coefficients of X ( s ) , X ( s ) Φ 1 ( s ) , ..., X ( s ) Φ p e ( s ) .

It turns out that R p e can be written in terms of R p . Consider the reduction of X ( s ) = x 0 + + x 8 s 8 by Φ 1 ( s ) = s - 1 , Φ 3 ( s ) = s 2 + s + 1 , and Φ 9 ( s ) = s 6 + s 3 + 1 . This is most efficiently performed by reducing X ( s ) in two steps. That is, calculate X ' ( s ) = X ( s ) s 3 - 1 and X 2 ( s ) = X ( s ) s 6 + s 3 + 1 . Then calculate X 0 ( s ) = X ' ( s ) s - 1 and X 1 ( s ) = X ' ( s ) s 2 + s + 1 . In matrix notation this becomes

X ' X 2 = I 3 I 3 I 3 I 3 - I 3 I 3 - I 3 X and X 0 X 1 = 1 1 1 1 - 1 1 - 1 X ' .

Together these become

X 0 X 1 X 2 = R 3 I 3 I 3 I 3 I 3 I 3 I 3 - I 3 I 3 - I 3 X

or

X 0 X 1 X 2 = ( R 3 I 6 ) ( R 3 I 3 ) X

so that R 9 = ( R 3 I 6 ) ( R 3 I 3 ) where denotes the matrix direct sum. Similarly, one finds that R 27 = ( R 3 I 24 ) ( ( R 3 I 3 ) I 18 ) ( R 3 I 9 ) . In general, one has the following.

Lemma

R p e is a p e × p e matrix given by R p e = k = 0 e - 1 ( ( R p I p k ) I p e - p k + 1 ) and can be implemented with 2 ( p e - 1 ) additions.

The following formula gives the decomposition of a circular convolution into disjoint non-circular convolutions whenthe number of points is a prime power.

R p e S p e R p e - 1 = 1 C Φ p C Φ p e = i = 0 e C Φ p i
R 9 S 9 R 9 - 1 = 1 C Φ 3 C Φ 9

It turns out that when n is not a prime power, the reduction of polynomials modulo the cyclotomic polynomial Φ n ( s ) becomes complicated, and with an increasing number of prime factors, the complication increases.Recall, however, that a circular convolution of length p 1 e 1 p k e k can be converted (by an appropriate permutation) into a k dimensional circular convolution of length p i e i along dimension i . By employing this one-dimensional to multi-dimensionalmapping technique, one can avoid having to perform polynomial reductions modulo Φ n ( s ) for non-prime-power n .

The prime factor permutation discussed previously is the permutation that converts a one-dimensional circularconvolution into a multi-dimensional one. Again, we can use the Kronecker product torepresent this. In this case,the reduction operations are applied to each matrix in the following way:

T S p 1 e 1 S p k e k T - 1 = i = 0 e 1 C Φ p 1 i i = 0 e k C Φ p k i

where

T = R p 1 e 1 R p k e k
T S 9 S 5 T - 1 = 1 C Φ 3 C Φ 9 1 C Φ 5

where T = R 9 R 5 .

The matrix R p 1 e 1 R p k e k can be factored using a property of the Kronecker product. Notice that ( A B ) = ( A I ) ( I B ) , and ( A B C ) = ( A I ) ( I B I ) ( I C ) (with appropriate dimensions) so that one gets

i = 1 k R p i e i = i = 1 k ( I m i R p i e i I n i ) ,

where m i = j = 1 i - 1 p j e j , n i = j = i + 1 k p j e j and where the empty product is taken to be 1. This factorization shows that T can be implemented basically by implementing copies of R p e . There are many variations on this factorizationas explained in [link] . That the various factorization can be interpreted as vectoror parallel implementations is also explained in [link] .

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