<< Chapter < Page Chapter >> Page >
This collection of modules is from a Rice University, ECE Department Technical Report written around September 1994. It grew out of the doctoral and post doctoral research of Ivan Selesnick working with Prof. C. Sidney Burrus at Rice. Earlier reports on this work were published in the ICASSP and ISCAS conference proceedings in 1992-94 and a fairly complete report was published in the IEEE Transaction on Signal Processing in January 1996.

Preliminaries

Because we compute prime point DFTs by converting them in to circular convolutions, most of this and the next section is devotedto an explanation of the split nesting convolution algorithm. In this section we introduce the various operations neededto carry out the split nesting algorithm. In particular, we describe the prime factor permutationthat is used to convert a one-dimensional circular convolution into a multi-dimensional one.We also discuss the reduction operations needed when the Chinese Remainder Theorem for polynomials is usedin the computation of convolution. The reduction operations needed for the split nesting algorithmare particularly well organized. We give an explicit matrix description of the reduction operationsand give a program that implements the action of these reduction operations.

The presentation relies upon the notions of similarity transformations, companion matrices and Kronecker products.With them, we describe the split nesting algorithm in a manner that brings out its structure.We find that when companion matrices are used to describe convolution, the reduction operations block diagonalizesthe circular shift matrix.

The companion matrix of a monic polynomial, M ( s ) = m 0 + m 1 s + + m n - 1 s n - 1 + s n is given by

C M = - m 0 1 1 - m 1 1 - m n - 1 .

Its usefulness in the following discussion comes from the following relation which permits a matrix formulationof convolution. Let

X ( s ) = x 0 + x 1 s + x n - 1 s n - 1 H ( s ) = h 0 + h 1 s + h n - 1 s n - 1 Y ( s ) = y 0 + y 1 s + y n - 1 s n - 1 M ( s ) = m 0 + m 1 s + m n - 1 s n - 1 + s n

Then

Y ( s ) = H ( s ) X ( s ) M ( s ) y = k = 0 n - 1 h k C M k x

where y = ( y 0 , , y n - 1 ) t , x = ( x 0 , , x n - 1 ) t , and C M is the companion matrix of M ( s ) . In [link] , we say y is the convolution of x and h with respect to M ( s ) . In the case of circular convolution, M ( s ) = s n - 1 and C s n - 1 is the circular shift matrixdenoted by S n ,

S n = 1 1 1

Notice that any circulant matrix can be written as k h k S n k .

Similarity transformations can be used to interpret the action of some convolution algorithms. If C M = T - 1 A T for some matrix T ( C M and A are similar, denoted C M A ), then [link] becomes

y = T - 1 k = 0 n - 1 h k A k T x .

That is, by employing the similarity transformation given by T in this way, the action of S n k is replaced by that of A k . Many circular convolution algorithms can be understood,in part, by understanding the manipulations made to S n and the resulting new matrix A . If the transformation T is to be useful, it must satisfy two requirements:(1) T x must be simple to compute, and (2) A must have some advantageous structure. For example, by the convolution property of the DFT,the DFT matrix F diagonalizes S n ,

S n = F - 1 w 0 w 1 w n - 1 F

so that it diagonalizes every circulant matrix. In this case, T x can be computed by using an FFT and the structure of A is the simplest possible. So the two above mentioned conditions are met.

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